diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fb366d3d..881744619 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ FEATURES: * provider: Add `endpoints` argument +* **New Data Source:** `awscc_arczonalshift_autoshift_observer_notification_status` +* **New Data Source:** `awscc_arczonalshift_autoshift_observer_notification_statuses` +* **New Data Source:** `awscc_cleanrooms_id_mapping_table` +* **New Data Source:** `awscc_sagemaker_studio_lifecycle_config` +* **New Data Source:** `awscc_sagemaker_studio_lifecycle_configs` +* **New Resource:** `awscc_arczonalshift_autoshift_observer_notification_status` +* **New Resource:** `awscc_cleanrooms_id_mapping_table` +* **New Resource:** `awscc_sagemaker_studio_lifecycle_config` ## 1.7.0 (July 25, 2024) diff --git a/docs/data-sources/arczonalshift_autoshift_observer_notification_status.md b/docs/data-sources/arczonalshift_autoshift_observer_notification_status.md new file mode 100644 index 000000000..2dffa8ea4 --- /dev/null +++ b/docs/data-sources/arczonalshift_autoshift_observer_notification_status.md @@ -0,0 +1,26 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_arczonalshift_autoshift_observer_notification_status Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Data Source schema for AWS::ARCZonalShift::AutoshiftObserverNotificationStatus +--- + +# awscc_arczonalshift_autoshift_observer_notification_status (Data Source) + +Data Source schema for AWS::ARCZonalShift::AutoshiftObserverNotificationStatus + + + + +## Schema + +### Required + +- `id` (String) Uniquely identifies the resource. + +### Read-Only + +- `account_id` (String) User account id, used as part of the primary identifier for the resource +- `region` (String) Region, used as part of the primary identifier for the resource +- `status` (String) diff --git a/docs/data-sources/arczonalshift_autoshift_observer_notification_statuses.md b/docs/data-sources/arczonalshift_autoshift_observer_notification_statuses.md new file mode 100644 index 000000000..e9522bbd0 --- /dev/null +++ b/docs/data-sources/arczonalshift_autoshift_observer_notification_statuses.md @@ -0,0 +1,21 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_arczonalshift_autoshift_observer_notification_statuses Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Plural Data Source schema for AWS::ARCZonalShift::AutoshiftObserverNotificationStatus +--- + +# awscc_arczonalshift_autoshift_observer_notification_statuses (Data Source) + +Plural Data Source schema for AWS::ARCZonalShift::AutoshiftObserverNotificationStatus + + + + +## Schema + +### Read-Only + +- `id` (String) Uniquely identifies the data source. +- `ids` (Set of String) Set of Resource Identifiers. diff --git a/docs/data-sources/bedrock_guardrail.md b/docs/data-sources/bedrock_guardrail.md index fe3ea22e8..22d3ee05b 100644 --- a/docs/data-sources/bedrock_guardrail.md +++ b/docs/data-sources/bedrock_guardrail.md @@ -24,6 +24,7 @@ Data Source schema for AWS::Bedrock::Guardrail - `blocked_input_messaging` (String) Messaging for when violations are detected in text - `blocked_outputs_messaging` (String) Messaging for when violations are detected in text - `content_policy_config` (Attributes) Content policy config for a guardrail. (see [below for nested schema](#nestedatt--content_policy_config)) +- `contextual_grounding_policy_config` (Attributes) Contextual grounding policy config for a guardrail. (see [below for nested schema](#nestedatt--contextual_grounding_policy_config)) - `created_at` (String) Time Stamp - `description` (String) Description of the guardrail or its version - `failure_recommendations` (List of String) List of failure recommendations @@ -58,6 +59,23 @@ Read-Only: + +### Nested Schema for `contextual_grounding_policy_config` + +Read-Only: + +- `filters_config` (Attributes List) List of contextual grounding filter configs. (see [below for nested schema](#nestedatt--contextual_grounding_policy_config--filters_config)) + + +### Nested Schema for `contextual_grounding_policy_config.filters_config` + +Read-Only: + +- `threshold` (Number) The threshold for this filter. +- `type` (String) Type of contextual grounding filter + + + ### Nested Schema for `sensitive_information_policy_config` diff --git a/docs/data-sources/cleanrooms_configured_table.md b/docs/data-sources/cleanrooms_configured_table.md index e42bde063..4071ce8b1 100644 --- a/docs/data-sources/cleanrooms_configured_table.md +++ b/docs/data-sources/cleanrooms_configured_table.md @@ -60,6 +60,7 @@ Read-Only: Read-Only: +- `additional_analyses` (String) - `aggregate_columns` (Attributes List) (see [below for nested schema](#nestedatt--analysis_rules--policy--v1--aggregation--aggregate_columns)) - `allowed_join_operators` (List of String) - `dimension_columns` (List of String) @@ -93,9 +94,11 @@ Read-Only: Read-Only: +- `additional_analyses` (String) - `allowed_analyses` (List of String) - `allowed_analysis_providers` (List of String) - `differential_privacy` (Attributes) (see [below for nested schema](#nestedatt--analysis_rules--policy--v1--custom--differential_privacy)) +- `disallowed_output_columns` (List of String) ### Nested Schema for `analysis_rules.policy.v1.custom.differential_privacy` @@ -119,6 +122,7 @@ Read-Only: Read-Only: +- `additional_analyses` (String) - `allowed_join_operators` (List of String) - `join_columns` (List of String) - `list_columns` (List of String) diff --git a/docs/data-sources/cleanrooms_configured_table_association.md b/docs/data-sources/cleanrooms_configured_table_association.md index 2ee57e79f..dac1bddbe 100644 --- a/docs/data-sources/cleanrooms_configured_table_association.md +++ b/docs/data-sources/cleanrooms_configured_table_association.md @@ -22,6 +22,7 @@ Data Source schema for AWS::CleanRooms::ConfiguredTableAssociation ### Read-Only - `arn` (String) +- `configured_table_association_analysis_rules` (Attributes List) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules)) - `configured_table_association_identifier` (String) - `configured_table_identifier` (String) - `description` (String) @@ -30,6 +31,60 @@ Data Source schema for AWS::CleanRooms::ConfiguredTableAssociation - `role_arn` (String) - `tags` (Attributes List) An arbitrary set of tags (key-value pairs) for this cleanrooms collaboration. (see [below for nested schema](#nestedatt--tags)) + +### Nested Schema for `configured_table_association_analysis_rules` + +Read-Only: + +- `policy` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy)) +- `type` (String) + + +### Nested Schema for `configured_table_association_analysis_rules.policy` + +Read-Only: + +- `v1` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1)) + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1` + +Read-Only: + +- `aggregation` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--aggregation)) +- `custom` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--custom)) +- `list` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--list)) + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.aggregation` + +Read-Only: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.custom` + +Read-Only: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.list` + +Read-Only: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + + + ### Nested Schema for `tags` diff --git a/docs/data-sources/cleanrooms_id_mapping_table.md b/docs/data-sources/cleanrooms_id_mapping_table.md new file mode 100644 index 000000000..6f709bf8d --- /dev/null +++ b/docs/data-sources/cleanrooms_id_mapping_table.md @@ -0,0 +1,69 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_cleanrooms_id_mapping_table Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Data Source schema for AWS::CleanRooms::IdMappingTable +--- + +# awscc_cleanrooms_id_mapping_table (Data Source) + +Data Source schema for AWS::CleanRooms::IdMappingTable + + + + +## Schema + +### Required + +- `id` (String) Uniquely identifies the resource. + +### Read-Only + +- `arn` (String) +- `collaboration_arn` (String) +- `collaboration_identifier` (String) +- `description` (String) +- `id_mapping_table_identifier` (String) +- `input_reference_config` (Attributes) (see [below for nested schema](#nestedatt--input_reference_config)) +- `input_reference_properties` (Attributes) (see [below for nested schema](#nestedatt--input_reference_properties)) +- `kms_key_arn` (String) +- `membership_arn` (String) +- `membership_identifier` (String) +- `name` (String) +- `tags` (Attributes Set) (see [below for nested schema](#nestedatt--tags)) + + +### Nested Schema for `input_reference_config` + +Read-Only: + +- `input_reference_arn` (String) +- `manage_resource_policies` (Boolean) + + + +### Nested Schema for `input_reference_properties` + +Read-Only: + +- `id_mapping_table_input_source` (Attributes List) (see [below for nested schema](#nestedatt--input_reference_properties--id_mapping_table_input_source)) + + +### Nested Schema for `input_reference_properties.id_mapping_table_input_source` + +Read-Only: + +- `id_namespace_association_id` (String) +- `type` (String) + + + + +### Nested Schema for `tags` + +Read-Only: + +- `key` (String) +- `value` (String) diff --git a/docs/data-sources/ec2_vpn_connection.md b/docs/data-sources/ec2_vpn_connection.md index 2f093ef50..7750eb9c2 100644 --- a/docs/data-sources/ec2_vpn_connection.md +++ b/docs/data-sources/ec2_vpn_connection.md @@ -22,12 +22,16 @@ Data Source schema for AWS::EC2::VPNConnection ### Read-Only - `customer_gateway_id` (String) The ID of the customer gateway at your end of the VPN connection. -- `static_routes_only` (Boolean) Indicates whether the VPN connection uses static routes only. +- `enable_acceleration` (Boolean) +- `static_routes_only` (Boolean) Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP. + If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``. - `tags` (Attributes List) Any tags assigned to the VPN connection. (see [below for nested schema](#nestedatt--tags)) - `transit_gateway_id` (String) The ID of the transit gateway associated with the VPN connection. + You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both. - `type` (String) The type of VPN connection. -- `vpn_connection_id` (String) The provider-assigned unique ID for this managed resource +- `vpn_connection_id` (String) - `vpn_gateway_id` (String) The ID of the virtual private gateway at the AWS side of the VPN connection. + You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both. - `vpn_tunnel_options_specifications` (Attributes List) The tunnel options for the VPN connection. (see [below for nested schema](#nestedatt--vpn_tunnel_options_specifications)) @@ -35,8 +39,8 @@ Data Source schema for AWS::EC2::VPNConnection Read-Only: -- `key` (String) -- `value` (String) +- `key` (String) The tag key. +- `value` (String) The tag value. @@ -44,5 +48,14 @@ Read-Only: Read-Only: -- `pre_shared_key` (String) -- `tunnel_inside_cidr` (String) +- `pre_shared_key` (String) The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. + Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). +- `tunnel_inside_cidr` (String) The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. + Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + + ``169.254.0.0/30`` + + ``169.254.1.0/30`` + + ``169.254.2.0/30`` + + ``169.254.3.0/30`` + + ``169.254.4.0/30`` + + ``169.254.5.0/30`` + + ``169.254.169.252/30`` diff --git a/docs/data-sources/elasticloadbalancingv2_load_balancer.md b/docs/data-sources/elasticloadbalancingv2_load_balancer.md index 84eb874b8..77d6f472f 100644 --- a/docs/data-sources/elasticloadbalancingv2_load_balancer.md +++ b/docs/data-sources/elasticloadbalancingv2_load_balancer.md @@ -26,7 +26,7 @@ Data Source schema for AWS::ElasticLoadBalancingV2::LoadBalancer - `enforce_security_group_inbound_rules_on_private_link_traffic` (String) Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. - `ip_address_type` (String) Note: Internal load balancers must use the ``ipv4`` IP address type. [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). - [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener. + [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener. [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). - `load_balancer_arn` (String) - `load_balancer_attributes` (Attributes Set) The load balancer attributes. (see [below for nested schema](#nestedatt--load_balancer_attributes)) diff --git a/docs/data-sources/entityresolution_id_mapping_workflow.md b/docs/data-sources/entityresolution_id_mapping_workflow.md index 80551595f..d1645084c 100644 --- a/docs/data-sources/entityresolution_id_mapping_workflow.md +++ b/docs/data-sources/entityresolution_id_mapping_workflow.md @@ -38,7 +38,6 @@ Data Source schema for AWS::EntityResolution::IdMappingWorkflow Read-Only: - `id_mapping_type` (String) -- `normalization_version` (String) - `provider_properties` (Attributes) (see [below for nested schema](#nestedatt--id_mapping_techniques--provider_properties)) - `rule_based_properties` (Attributes) (see [below for nested schema](#nestedatt--id_mapping_techniques--rule_based_properties)) diff --git a/docs/data-sources/kinesisfirehose_delivery_stream.md b/docs/data-sources/kinesisfirehose_delivery_stream.md index d16ce9550..c9ac40f19 100644 --- a/docs/data-sources/kinesisfirehose_delivery_stream.md +++ b/docs/data-sources/kinesisfirehose_delivery_stream.md @@ -30,6 +30,7 @@ Data Source schema for AWS::KinesisFirehose::DeliveryStream - `elasticsearch_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--elasticsearch_destination_configuration)) - `extended_s3_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--extended_s3_destination_configuration)) - `http_endpoint_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--http_endpoint_destination_configuration)) +- `iceberg_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration)) - `kinesis_stream_source_configuration` (Attributes) (see [below for nested schema](#nestedatt--kinesis_stream_source_configuration)) - `msk_source_configuration` (Attributes) (see [below for nested schema](#nestedatt--msk_source_configuration)) - `redshift_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--redshift_destination_configuration)) @@ -886,6 +887,146 @@ Read-Only: + +### Nested Schema for `iceberg_destination_configuration` + +Read-Only: + +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--buffering_hints)) +- `catalog_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--catalog_configuration)) +- `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--cloudwatch_logging_options)) +- `destination_table_configuration_list` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--destination_table_configuration_list)) +- `processing_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration)) +- `retry_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--retry_options)) +- `role_arn` (String) +- `s3_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration)) +- `s_3_backup_mode` (String) + + +### Nested Schema for `iceberg_destination_configuration.buffering_hints` + +Read-Only: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + + +### Nested Schema for `iceberg_destination_configuration.catalog_configuration` + +Read-Only: + +- `catalog_arn` (String) + + + +### Nested Schema for `iceberg_destination_configuration.cloudwatch_logging_options` + +Read-Only: + +- `enabled` (Boolean) +- `log_group_name` (String) +- `log_stream_name` (String) + + + +### Nested Schema for `iceberg_destination_configuration.destination_table_configuration_list` + +Read-Only: + +- `destination_database_name` (String) +- `destination_table_name` (String) +- `s3_error_output_prefix` (String) +- `unique_keys` (List of String) + + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration` + +Read-Only: + +- `enabled` (Boolean) +- `processors` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration--processors)) + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration.processors` + +Read-Only: + +- `parameters` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration--processors--parameters)) +- `type` (String) + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration.processors.parameters` + +Read-Only: + +- `parameter_name` (String) +- `parameter_value` (String) + + + + + +### Nested Schema for `iceberg_destination_configuration.retry_options` + +Read-Only: + +- `duration_in_seconds` (Number) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration` + +Read-Only: + +- `bucket_arn` (String) +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--buffering_hints)) +- `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--cloudwatch_logging_options)) +- `compression_format` (String) +- `encryption_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--encryption_configuration)) +- `error_output_prefix` (String) +- `prefix` (String) +- `role_arn` (String) + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.buffering_hints` + +Read-Only: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.cloudwatch_logging_options` + +Read-Only: + +- `enabled` (Boolean) +- `log_group_name` (String) +- `log_stream_name` (String) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.encryption_configuration` + +Read-Only: + +- `kms_encryption_config` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--encryption_configuration--kms_encryption_config)) +- `no_encryption_config` (String) + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.encryption_configuration.kms_encryption_config` + +Read-Only: + +- `awskms_key_arn` (String) + + + + + ### Nested Schema for `kinesis_stream_source_configuration` @@ -1157,6 +1298,7 @@ Read-Only: Read-Only: - `account_url` (String) +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--snowflake_destination_configuration--buffering_hints)) - `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--snowflake_destination_configuration--cloudwatch_logging_options)) - `content_column_name` (String) - `data_loading_option` (String) @@ -1176,6 +1318,15 @@ Read-Only: - `table` (String) - `user` (String) + +### Nested Schema for `snowflake_destination_configuration.buffering_hints` + +Read-Only: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + ### Nested Schema for `snowflake_destination_configuration.cloudwatch_logging_options` diff --git a/docs/data-sources/panorama_application_instance.md b/docs/data-sources/panorama_application_instance.md index 6dab8936e..9f28f3fbf 100644 --- a/docs/data-sources/panorama_application_instance.md +++ b/docs/data-sources/panorama_application_instance.md @@ -22,28 +22,28 @@ Data Source schema for AWS::Panorama::ApplicationInstance ### Read-Only - `application_instance_id` (String) -- `application_instance_id_to_replace` (String) +- `application_instance_id_to_replace` (String) The ID of an application instance to replace with the new instance. - `arn` (String) - `created_time` (Number) -- `default_runtime_context_device` (String) +- `default_runtime_context_device` (String) The device's ID. - `default_runtime_context_device_name` (String) -- `description` (String) +- `description` (String) A description for the application instance. - `health_status` (String) - `last_updated_time` (Number) -- `manifest_overrides_payload` (Attributes) (see [below for nested schema](#nestedatt--manifest_overrides_payload)) -- `manifest_payload` (Attributes) (see [below for nested schema](#nestedatt--manifest_payload)) -- `name` (String) -- `runtime_role_arn` (String) +- `manifest_overrides_payload` (Attributes) Setting overrides for the application manifest. (see [below for nested schema](#nestedatt--manifest_overrides_payload)) +- `manifest_payload` (Attributes) The application's manifest document. (see [below for nested schema](#nestedatt--manifest_payload)) +- `name` (String) A name for the application instance. +- `runtime_role_arn` (String) The ARN of a runtime role for the application instance. - `status` (String) - `status_description` (String) -- `tags` (Attributes Set) List of tags (see [below for nested schema](#nestedatt--tags)) +- `tags` (Attributes Set) Tags for the application instance. (see [below for nested schema](#nestedatt--tags)) ### Nested Schema for `manifest_overrides_payload` Read-Only: -- `payload_data` (String) +- `payload_data` (String) The overrides document. @@ -51,7 +51,7 @@ Read-Only: Read-Only: -- `payload_data` (String) +- `payload_data` (String) The application manifest. @@ -59,5 +59,5 @@ Read-Only: Read-Only: -- `key` (String) A string used to identify this tag -- `value` (String) A string containing the value for the tag +- `key` (String) +- `value` (String) diff --git a/docs/data-sources/panorama_package.md b/docs/data-sources/panorama_package.md index 420d73fbb..9cea830a8 100644 --- a/docs/data-sources/panorama_package.md +++ b/docs/data-sources/panorama_package.md @@ -24,20 +24,20 @@ Data Source schema for AWS::Panorama::Package - `arn` (String) - `created_time` (Number) - `package_id` (String) -- `package_name` (String) -- `storage_location` (Attributes) (see [below for nested schema](#nestedatt--storage_location)) -- `tags` (Attributes Set) (see [below for nested schema](#nestedatt--tags)) +- `package_name` (String) A name for the package. +- `storage_location` (Attributes) A storage location. (see [below for nested schema](#nestedatt--storage_location)) +- `tags` (Attributes Set) Tags for the package. (see [below for nested schema](#nestedatt--tags)) ### Nested Schema for `storage_location` Read-Only: -- `binary_prefix_location` (String) -- `bucket` (String) -- `generated_prefix_location` (String) -- `manifest_prefix_location` (String) -- `repo_prefix_location` (String) +- `binary_prefix_location` (String) The location's binary prefix. +- `bucket` (String) The location's bucket. +- `generated_prefix_location` (String) The location's generated prefix. +- `manifest_prefix_location` (String) The location's manifest prefix. +- `repo_prefix_location` (String) The location's repo prefix. diff --git a/docs/data-sources/panorama_package_version.md b/docs/data-sources/panorama_package_version.md index 3ed49a805..8ac5c1bba 100644 --- a/docs/data-sources/panorama_package_version.md +++ b/docs/data-sources/panorama_package_version.md @@ -22,14 +22,14 @@ Data Source schema for AWS::Panorama::PackageVersion ### Read-Only - `is_latest_patch` (Boolean) -- `mark_latest` (Boolean) -- `owner_account` (String) +- `mark_latest` (Boolean) Whether to mark the new version as the latest version. +- `owner_account` (String) An owner account. - `package_arn` (String) -- `package_id` (String) +- `package_id` (String) A package ID. - `package_name` (String) -- `package_version` (String) -- `patch_version` (String) +- `package_version` (String) A package version. +- `patch_version` (String) A patch version. - `registered_time` (Number) - `status` (String) - `status_description` (String) -- `updated_latest_patch_version` (String) +- `updated_latest_patch_version` (String) If the version was marked latest, the new version to maker as latest. diff --git a/docs/data-sources/rds_integration.md b/docs/data-sources/rds_integration.md index 620429c37..74a8052cd 100644 --- a/docs/data-sources/rds_integration.md +++ b/docs/data-sources/rds_integration.md @@ -21,15 +21,16 @@ Data Source schema for AWS::RDS::Integration ### Read-Only -- `additional_encryption_context` (Map of String) An optional set of non-secret key–value pairs that contains additional contextual information about the data. +- `additional_encryption_context` (Map of String) An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*. + You can only include this parameter if you specify the ``KMSKeyId`` parameter. - `create_time` (String) -- `data_filter` (String) The data filter for the integration. -- `description` (String) The description of the integration. -- `integration_arn` (String) The ARN of the integration. +- `data_filter` (String) Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse. +- `description` (String) A description of the integration. +- `integration_arn` (String) - `integration_name` (String) The name of the integration. -- `kms_key_id` (String) An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource. -- `source_arn` (String) The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication. -- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags)) +- `kms_key_id` (String) The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key. +- `source_arn` (String) The Amazon Resource Name (ARN) of the database to use as the source for replication. +- `tags` (Attributes Set) A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*. (see [below for nested schema](#nestedatt--tags)) - `target_arn` (String) The ARN of the Redshift data warehouse to use as the target for replication. @@ -37,5 +38,5 @@ Data Source schema for AWS::RDS::Integration 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 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 -. +- `key` (String) A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). +- `value` (String) A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). diff --git a/docs/data-sources/sagemaker_app.md b/docs/data-sources/sagemaker_app.md index 770206379..c4d3fb2a0 100644 --- a/docs/data-sources/sagemaker_app.md +++ b/docs/data-sources/sagemaker_app.md @@ -35,6 +35,7 @@ Data Source schema for AWS::SageMaker::App Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/data-sources/sagemaker_domain.md b/docs/data-sources/sagemaker_domain.md index 59c5a4946..e34f17dfc 100644 --- a/docs/data-sources/sagemaker_domain.md +++ b/docs/data-sources/sagemaker_domain.md @@ -126,6 +126,7 @@ Read-Only: Read-Only: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--default_space_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `default_space_settings.jupyter_server_app_settings.default_resource_spec` @@ -146,6 +147,7 @@ Read-Only: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--default_space_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--default_space_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `default_space_settings.kernel_gateway_app_settings.custom_images` @@ -311,6 +313,7 @@ Read-Only: Read-Only: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--default_user_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `default_user_settings.jupyter_server_app_settings.default_resource_spec` @@ -331,6 +334,7 @@ Read-Only: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--default_user_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--default_user_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `default_user_settings.kernel_gateway_app_settings.custom_images` diff --git a/docs/data-sources/sagemaker_space.md b/docs/data-sources/sagemaker_space.md index 1c895ef6e..29b867bf1 100644 --- a/docs/data-sources/sagemaker_space.md +++ b/docs/data-sources/sagemaker_space.md @@ -65,6 +65,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -108,6 +109,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -119,6 +121,7 @@ Read-Only: Read-Only: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--space_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `space_settings.jupyter_server_app_settings.default_resource_spec` @@ -126,6 +129,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -138,6 +142,7 @@ Read-Only: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--space_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--space_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `space_settings.kernel_gateway_app_settings.custom_images` @@ -155,6 +160,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/data-sources/sagemaker_studio_lifecycle_config.md b/docs/data-sources/sagemaker_studio_lifecycle_config.md new file mode 100644 index 000000000..299a28157 --- /dev/null +++ b/docs/data-sources/sagemaker_studio_lifecycle_config.md @@ -0,0 +1,36 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_sagemaker_studio_lifecycle_config Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Data Source schema for AWS::SageMaker::StudioLifecycleConfig +--- + +# awscc_sagemaker_studio_lifecycle_config (Data Source) + +Data Source schema for AWS::SageMaker::StudioLifecycleConfig + + + + +## Schema + +### Required + +- `id` (String) Uniquely identifies the resource. + +### Read-Only + +- `studio_lifecycle_config_app_type` (String) The App type that the Lifecycle Configuration is attached to. +- `studio_lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration. +- `studio_lifecycle_config_content` (String) The content of your Amazon SageMaker Studio Lifecycle Configuration script. +- `studio_lifecycle_config_name` (String) The name of the Amazon SageMaker Studio Lifecycle Configuration. +- `tags` (Attributes List) Tags to be associated with the Lifecycle Configuration. (see [below for nested schema](#nestedatt--tags)) + + +### Nested Schema for `tags` + +Read-Only: + +- `key` (String) +- `value` (String) diff --git a/docs/data-sources/sagemaker_studio_lifecycle_configs.md b/docs/data-sources/sagemaker_studio_lifecycle_configs.md new file mode 100644 index 000000000..92aa55fb2 --- /dev/null +++ b/docs/data-sources/sagemaker_studio_lifecycle_configs.md @@ -0,0 +1,21 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_sagemaker_studio_lifecycle_configs Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Plural Data Source schema for AWS::SageMaker::StudioLifecycleConfig +--- + +# awscc_sagemaker_studio_lifecycle_configs (Data Source) + +Plural Data Source schema for AWS::SageMaker::StudioLifecycleConfig + + + + +## Schema + +### Read-Only + +- `id` (String) Uniquely identifies the data source. +- `ids` (Set of String) Set of Resource Identifiers. diff --git a/docs/data-sources/sagemaker_user_profile.md b/docs/data-sources/sagemaker_user_profile.md index e55086f4a..25440f1d9 100644 --- a/docs/data-sources/sagemaker_user_profile.md +++ b/docs/data-sources/sagemaker_user_profile.md @@ -83,6 +83,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -148,6 +149,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -159,6 +161,7 @@ Read-Only: Read-Only: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--user_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `user_settings.jupyter_server_app_settings.default_resource_spec` @@ -166,6 +169,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -178,6 +182,7 @@ Read-Only: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--user_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--user_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `user_settings.kernel_gateway_app_settings.custom_images` @@ -195,6 +200,7 @@ Read-Only: Read-Only: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/data-sources/sns_topic.md b/docs/data-sources/sns_topic.md index 09a378422..bd9bdb23e 100644 --- a/docs/data-sources/sns_topic.md +++ b/docs/data-sources/sns_topic.md @@ -30,7 +30,14 @@ Data Source schema for AWS::SNS::Topic You can only add one policy per topic. The policy must be in JSON string format. Length Constraints: Maximum length of 30,720. -- `delivery_status_logging` (Attributes Set) (see [below for nested schema](#nestedatt--delivery_status_logging)) +- `delivery_status_logging` (Attributes Set) The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols: + + HTTP + + Amazon Kinesis Data Firehose + + AWS Lambda + + Platform application endpoint + + Amazon Simple Queue Service + + Once configured, log entries are sent to Amazon CloudWatch Logs. (see [below for nested schema](#nestedatt--delivery_status_logging)) - `display_name` (String) The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs. - `fifo_topic` (Boolean) Set to true to create a FIFO topic. - `kms_master_key_id` (String) The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*. @@ -51,10 +58,11 @@ Data Source schema for AWS::SNS::Topic Read-Only: -- `failure_feedback_role_arn` (String) -- `protocol` (String) -- `success_feedback_role_arn` (String) -- `success_feedback_sample_rate` (String) +- `failure_feedback_role_arn` (String) The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch. +- `protocol` (String) Indicates one of the supported protocols for the Amazon SNS topic. + At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``. +- `success_feedback_role_arn` (String) The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch. +- `success_feedback_sample_rate` (String) The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100. diff --git a/docs/resources/arczonalshift_autoshift_observer_notification_status.md b/docs/resources/arczonalshift_autoshift_observer_notification_status.md new file mode 100644 index 000000000..569b9be3a --- /dev/null +++ b/docs/resources/arczonalshift_autoshift_observer_notification_status.md @@ -0,0 +1,34 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_arczonalshift_autoshift_observer_notification_status Resource - terraform-provider-awscc" +subcategory: "" +description: |- + Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type +--- + +# awscc_arczonalshift_autoshift_observer_notification_status (Resource) + +Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type + + + + +## Schema + +### Required + +- `status` (String) + +### Read-Only + +- `account_id` (String) User account id, used as part of the primary identifier for the resource +- `id` (String) Uniquely identifies the resource. +- `region` (String) Region, used as part of the primary identifier for the resource + +## Import + +Import is supported using the following syntax: + +```shell +$ terraform import awscc_arczonalshift_autoshift_observer_notification_status.example +``` diff --git a/docs/resources/bedrock_guardrail.md b/docs/resources/bedrock_guardrail.md index 164fa3200..c88274820 100644 --- a/docs/resources/bedrock_guardrail.md +++ b/docs/resources/bedrock_guardrail.md @@ -228,6 +228,7 @@ variable "kms_key_arn" { ### Optional - `content_policy_config` (Attributes) Content policy config for a guardrail. (see [below for nested schema](#nestedatt--content_policy_config)) +- `contextual_grounding_policy_config` (Attributes) Contextual grounding policy config for a guardrail. (see [below for nested schema](#nestedatt--contextual_grounding_policy_config)) - `description` (String) Description of the guardrail or its version - `kms_key_arn` (String) The KMS key with which the guardrail was encrypted at rest - `sensitive_information_policy_config` (Attributes) Sensitive information policy config for a guardrail. (see [below for nested schema](#nestedatt--sensitive_information_policy_config)) @@ -265,6 +266,23 @@ Required: + +### Nested Schema for `contextual_grounding_policy_config` + +Required: + +- `filters_config` (Attributes List) List of contextual grounding filter configs. (see [below for nested schema](#nestedatt--contextual_grounding_policy_config--filters_config)) + + +### Nested Schema for `contextual_grounding_policy_config.filters_config` + +Required: + +- `threshold` (Number) The threshold for this filter. +- `type` (String) Type of contextual grounding filter + + + ### Nested Schema for `sensitive_information_policy_config` diff --git a/docs/resources/cleanrooms_configured_table.md b/docs/resources/cleanrooms_configured_table.md index 30ac1c4f8..240e2c652 100644 --- a/docs/resources/cleanrooms_configured_table.md +++ b/docs/resources/cleanrooms_configured_table.md @@ -88,6 +88,7 @@ Required: Optional: +- `additional_analyses` (String) - `allowed_join_operators` (List of String) - `join_required` (String) @@ -120,8 +121,10 @@ Required: Optional: +- `additional_analyses` (String) - `allowed_analysis_providers` (List of String) - `differential_privacy` (Attributes) (see [below for nested schema](#nestedatt--analysis_rules--policy--v1--custom--differential_privacy)) +- `disallowed_output_columns` (List of String) ### Nested Schema for `analysis_rules.policy.v1.custom.differential_privacy` @@ -150,6 +153,7 @@ Required: Optional: +- `additional_analyses` (String) - `allowed_join_operators` (List of String) diff --git a/docs/resources/cleanrooms_configured_table_association.md b/docs/resources/cleanrooms_configured_table_association.md index f5bc84677..2f865aa70 100644 --- a/docs/resources/cleanrooms_configured_table_association.md +++ b/docs/resources/cleanrooms_configured_table_association.md @@ -24,6 +24,7 @@ Represents a table that can be queried within a collaboration ### Optional +- `configured_table_association_analysis_rules` (Attributes List) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules)) - `description` (String) - `tags` (Attributes List) An arbitrary set of tags (key-value pairs) for this cleanrooms collaboration. (see [below for nested schema](#nestedatt--tags)) @@ -33,6 +34,60 @@ Represents a table that can be queried within a collaboration - `configured_table_association_identifier` (String) - `id` (String) Uniquely identifies the resource. + +### Nested Schema for `configured_table_association_analysis_rules` + +Required: + +- `policy` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy)) +- `type` (String) + + +### Nested Schema for `configured_table_association_analysis_rules.policy` + +Required: + +- `v1` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1)) + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1` + +Optional: + +- `aggregation` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--aggregation)) +- `custom` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--custom)) +- `list` (Attributes) (see [below for nested schema](#nestedatt--configured_table_association_analysis_rules--policy--v1--list)) + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.aggregation` + +Optional: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.custom` + +Optional: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + +### Nested Schema for `configured_table_association_analysis_rules.policy.v1.list` + +Optional: + +- `allowed_additional_analyses` (List of String) +- `allowed_result_receivers` (List of String) + + + + + ### Nested Schema for `tags` diff --git a/docs/resources/cleanrooms_id_mapping_table.md b/docs/resources/cleanrooms_id_mapping_table.md new file mode 100644 index 000000000..657f5f7c2 --- /dev/null +++ b/docs/resources/cleanrooms_id_mapping_table.md @@ -0,0 +1,79 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_cleanrooms_id_mapping_table Resource - terraform-provider-awscc" +subcategory: "" +description: |- + Represents an association between an ID mapping workflow and a collaboration +--- + +# awscc_cleanrooms_id_mapping_table (Resource) + +Represents an association between an ID mapping workflow and a collaboration + + + + +## Schema + +### Required + +- `input_reference_config` (Attributes) (see [below for nested schema](#nestedatt--input_reference_config)) +- `membership_identifier` (String) +- `name` (String) + +### Optional + +- `description` (String) +- `kms_key_arn` (String) +- `tags` (Attributes Set) (see [below for nested schema](#nestedatt--tags)) + +### Read-Only + +- `arn` (String) +- `collaboration_arn` (String) +- `collaboration_identifier` (String) +- `id` (String) Uniquely identifies the resource. +- `id_mapping_table_identifier` (String) +- `input_reference_properties` (Attributes) (see [below for nested schema](#nestedatt--input_reference_properties)) +- `membership_arn` (String) + + +### Nested Schema for `input_reference_config` + +Required: + +- `input_reference_arn` (String) +- `manage_resource_policies` (Boolean) + + + +### Nested Schema for `tags` + +Required: + +- `key` (String) +- `value` (String) + + + +### Nested Schema for `input_reference_properties` + +Read-Only: + +- `id_mapping_table_input_source` (Attributes List) (see [below for nested schema](#nestedatt--input_reference_properties--id_mapping_table_input_source)) + + +### Nested Schema for `input_reference_properties.id_mapping_table_input_source` + +Read-Only: + +- `id_namespace_association_id` (String) +- `type` (String) + +## Import + +Import is supported using the following syntax: + +```shell +$ terraform import awscc_cleanrooms_id_mapping_table.example +``` diff --git a/docs/resources/ec2_vpn_connection.md b/docs/resources/ec2_vpn_connection.md index 52be7e971..14c076db0 100644 --- a/docs/resources/ec2_vpn_connection.md +++ b/docs/resources/ec2_vpn_connection.md @@ -3,12 +3,18 @@ page_title: "awscc_ec2_vpn_connection Resource - terraform-provider-awscc" subcategory: "" description: |- - Resource Type definition for AWS::EC2::VPNConnection + Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway. + To specify a VPN connection between a transit gateway and customer gateway, use the TransitGatewayId and CustomerGatewayId properties. + To specify a VPN connection between a virtual private gateway and customer gateway, use the VpnGatewayId and CustomerGatewayId properties. + For more information, see https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html in the User Guide. --- # awscc_ec2_vpn_connection (Resource) -Resource Type definition for AWS::EC2::VPNConnection +Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway. + To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties. + To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties. + For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. @@ -22,24 +28,28 @@ Resource Type definition for AWS::EC2::VPNConnection ### Optional -- `static_routes_only` (Boolean) Indicates whether the VPN connection uses static routes only. +- `enable_acceleration` (Boolean) +- `static_routes_only` (Boolean) Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP. + If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``. - `tags` (Attributes List) Any tags assigned to the VPN connection. (see [below for nested schema](#nestedatt--tags)) - `transit_gateway_id` (String) The ID of the transit gateway associated with the VPN connection. + You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both. - `vpn_gateway_id` (String) The ID of the virtual private gateway at the AWS side of the VPN connection. + You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both. - `vpn_tunnel_options_specifications` (Attributes List) The tunnel options for the VPN connection. (see [below for nested schema](#nestedatt--vpn_tunnel_options_specifications)) ### Read-Only - `id` (String) Uniquely identifies the resource. -- `vpn_connection_id` (String) The provider-assigned unique ID for this managed resource +- `vpn_connection_id` (String) ### Nested Schema for `tags` Required: -- `key` (String) -- `value` (String) +- `key` (String) The tag key. +- `value` (String) The tag value. @@ -47,8 +57,17 @@ Required: Optional: -- `pre_shared_key` (String) -- `tunnel_inside_cidr` (String) +- `pre_shared_key` (String) The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. + Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). +- `tunnel_inside_cidr` (String) The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. + Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + + ``169.254.0.0/30`` + + ``169.254.1.0/30`` + + ``169.254.2.0/30`` + + ``169.254.3.0/30`` + + ``169.254.4.0/30`` + + ``169.254.5.0/30`` + + ``169.254.169.252/30`` ## Import diff --git a/docs/resources/ec2_vpn_connection_route.md b/docs/resources/ec2_vpn_connection_route.md index 3a95a152c..6080fc32c 100644 --- a/docs/resources/ec2_vpn_connection_route.md +++ b/docs/resources/ec2_vpn_connection_route.md @@ -3,12 +3,14 @@ page_title: "awscc_ec2_vpn_connection_route Resource - terraform-provider-awscc" subcategory: "" description: |- - Resource Type definition for AWS::EC2::VPNConnectionRoute + Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway. + For more information, see https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html in the User Guide. --- # awscc_ec2_vpn_connection_route (Resource) -Resource Type definition for AWS::EC2::VPNConnectionRoute +Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway. + For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. diff --git a/docs/resources/elasticloadbalancingv2_load_balancer.md b/docs/resources/elasticloadbalancingv2_load_balancer.md index 4c66702ba..1ccf57510 100644 --- a/docs/resources/elasticloadbalancingv2_load_balancer.md +++ b/docs/resources/elasticloadbalancingv2_load_balancer.md @@ -156,7 +156,7 @@ resource "awscc_elasticloadbalancingv2_load_balancer" "example" { - `enforce_security_group_inbound_rules_on_private_link_traffic` (String) Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. - `ip_address_type` (String) Note: Internal load balancers must use the ``ipv4`` IP address type. [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). - [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener. + [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener. [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). - `load_balancer_attributes` (Attributes Set) The load balancer attributes. (see [below for nested schema](#nestedatt--load_balancer_attributes)) - `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-". diff --git a/docs/resources/entityresolution_id_mapping_workflow.md b/docs/resources/entityresolution_id_mapping_workflow.md index d03da9d2a..856012c09 100644 --- a/docs/resources/entityresolution_id_mapping_workflow.md +++ b/docs/resources/entityresolution_id_mapping_workflow.md @@ -41,7 +41,6 @@ IdMappingWorkflow defined in AWS Entity Resolution service Optional: - `id_mapping_type` (String) -- `normalization_version` (String) - `provider_properties` (Attributes) (see [below for nested schema](#nestedatt--id_mapping_techniques--provider_properties)) - `rule_based_properties` (Attributes) (see [below for nested schema](#nestedatt--id_mapping_techniques--rule_based_properties)) diff --git a/docs/resources/inspectorv2_cis_scan_configuration.md b/docs/resources/inspectorv2_cis_scan_configuration.md index 081fd99ec..4b7f46bc2 100644 --- a/docs/resources/inspectorv2_cis_scan_configuration.md +++ b/docs/resources/inspectorv2_cis_scan_configuration.md @@ -43,14 +43,17 @@ resource "awscc_inspectorv2_cis_scan_configuration" "example" { ## Schema -### Optional +### Required - `scan_name` (String) Name of the scan - `schedule` (Attributes) Choose a Schedule cadence (see [below for nested schema](#nestedatt--schedule)) - `security_level` (String) -- `tags` (Map of String) - `targets` (Attributes) (see [below for nested schema](#nestedatt--targets)) +### Optional + +- `tags` (Map of String) + ### Read-Only - `arn` (String) CIS Scan configuration unique identifier diff --git a/docs/resources/kinesisfirehose_delivery_stream.md b/docs/resources/kinesisfirehose_delivery_stream.md index 64cb4ec61..dd30a9c35 100644 --- a/docs/resources/kinesisfirehose_delivery_stream.md +++ b/docs/resources/kinesisfirehose_delivery_stream.md @@ -25,6 +25,7 @@ Resource Type definition for AWS::KinesisFirehose::DeliveryStream - `elasticsearch_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--elasticsearch_destination_configuration)) - `extended_s3_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--extended_s3_destination_configuration)) - `http_endpoint_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--http_endpoint_destination_configuration)) +- `iceberg_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration)) - `kinesis_stream_source_configuration` (Attributes) (see [below for nested schema](#nestedatt--kinesis_stream_source_configuration)) - `msk_source_configuration` (Attributes) (see [below for nested schema](#nestedatt--msk_source_configuration)) - `redshift_destination_configuration` (Attributes) (see [below for nested schema](#nestedatt--redshift_destination_configuration)) @@ -940,6 +941,158 @@ Optional: + +### Nested Schema for `iceberg_destination_configuration` + +Required: + +- `catalog_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--catalog_configuration)) +- `role_arn` (String) +- `s3_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration)) + +Optional: + +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--buffering_hints)) +- `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--cloudwatch_logging_options)) +- `destination_table_configuration_list` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--destination_table_configuration_list)) +- `processing_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration)) +- `retry_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--retry_options)) +- `s_3_backup_mode` (String) + + +### Nested Schema for `iceberg_destination_configuration.catalog_configuration` + +Optional: + +- `catalog_arn` (String) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration` + +Required: + +- `bucket_arn` (String) +- `role_arn` (String) + +Optional: + +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--buffering_hints)) +- `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--cloudwatch_logging_options)) +- `compression_format` (String) +- `encryption_configuration` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--encryption_configuration)) +- `error_output_prefix` (String) +- `prefix` (String) + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.buffering_hints` + +Optional: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.cloudwatch_logging_options` + +Optional: + +- `enabled` (Boolean) +- `log_group_name` (String) +- `log_stream_name` (String) + + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.encryption_configuration` + +Optional: + +- `kms_encryption_config` (Attributes) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--s3_configuration--encryption_configuration--kms_encryption_config)) +- `no_encryption_config` (String) + + +### Nested Schema for `iceberg_destination_configuration.s3_configuration.encryption_configuration.kms_encryption_config` + +Required: + +- `awskms_key_arn` (String) + + + + + +### Nested Schema for `iceberg_destination_configuration.buffering_hints` + +Optional: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + + +### Nested Schema for `iceberg_destination_configuration.cloudwatch_logging_options` + +Optional: + +- `enabled` (Boolean) +- `log_group_name` (String) +- `log_stream_name` (String) + + + +### Nested Schema for `iceberg_destination_configuration.destination_table_configuration_list` + +Required: + +- `destination_database_name` (String) +- `destination_table_name` (String) + +Optional: + +- `s3_error_output_prefix` (String) +- `unique_keys` (List of String) + + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration` + +Optional: + +- `enabled` (Boolean) +- `processors` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration--processors)) + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration.processors` + +Required: + +- `type` (String) + +Optional: + +- `parameters` (Attributes List) (see [below for nested schema](#nestedatt--iceberg_destination_configuration--processing_configuration--processors--parameters)) + + +### Nested Schema for `iceberg_destination_configuration.processing_configuration.processors.parameters` + +Required: + +- `parameter_name` (String) +- `parameter_value` (String) + + + + + +### Nested Schema for `iceberg_destination_configuration.retry_options` + +Optional: + +- `duration_in_seconds` (Number) + + + ### Nested Schema for `kinesis_stream_source_configuration` @@ -1240,6 +1393,7 @@ Required: Optional: +- `buffering_hints` (Attributes) (see [below for nested schema](#nestedatt--snowflake_destination_configuration--buffering_hints)) - `cloudwatch_logging_options` (Attributes) (see [below for nested schema](#nestedatt--snowflake_destination_configuration--cloudwatch_logging_options)) - `content_column_name` (String) - `data_loading_option` (String) @@ -1308,6 +1462,15 @@ Required: + +### Nested Schema for `snowflake_destination_configuration.buffering_hints` + +Optional: + +- `interval_in_seconds` (Number) +- `size_in_m_bs` (Number) + + ### Nested Schema for `snowflake_destination_configuration.cloudwatch_logging_options` diff --git a/docs/resources/panorama_application_instance.md b/docs/resources/panorama_application_instance.md index 2bd8e8bfa..ee69efa3c 100644 --- a/docs/resources/panorama_application_instance.md +++ b/docs/resources/panorama_application_instance.md @@ -3,12 +3,12 @@ page_title: "awscc_panorama_application_instance Resource - terraform-provider-awscc" subcategory: "" description: |- - Schema for ApplicationInstance CloudFormation Resource + Creates an application instance and deploys it to a device. --- # awscc_panorama_application_instance (Resource) -Schema for ApplicationInstance CloudFormation Resource +Creates an application instance and deploys it to a device. @@ -17,17 +17,17 @@ Schema for ApplicationInstance CloudFormation Resource ### Required -- `default_runtime_context_device` (String) -- `manifest_payload` (Attributes) (see [below for nested schema](#nestedatt--manifest_payload)) +- `default_runtime_context_device` (String) The device's ID. +- `manifest_payload` (Attributes) The application's manifest document. (see [below for nested schema](#nestedatt--manifest_payload)) ### Optional -- `application_instance_id_to_replace` (String) -- `description` (String) -- `manifest_overrides_payload` (Attributes) (see [below for nested schema](#nestedatt--manifest_overrides_payload)) -- `name` (String) -- `runtime_role_arn` (String) -- `tags` (Attributes Set) List of tags (see [below for nested schema](#nestedatt--tags)) +- `application_instance_id_to_replace` (String) The ID of an application instance to replace with the new instance. +- `description` (String) A description for the application instance. +- `manifest_overrides_payload` (Attributes) Setting overrides for the application manifest. (see [below for nested schema](#nestedatt--manifest_overrides_payload)) +- `name` (String) A name for the application instance. +- `runtime_role_arn` (String) The ARN of a runtime role for the application instance. +- `tags` (Attributes Set) Tags for the application instance. (see [below for nested schema](#nestedatt--tags)) ### Read-Only @@ -46,7 +46,7 @@ Schema for ApplicationInstance CloudFormation Resource Optional: -- `payload_data` (String) +- `payload_data` (String) The application manifest. @@ -54,7 +54,7 @@ Optional: Optional: -- `payload_data` (String) +- `payload_data` (String) The overrides document. @@ -62,8 +62,8 @@ Optional: Required: -- `key` (String) A string used to identify this tag -- `value` (String) A string containing the value for the tag +- `key` (String) +- `value` (String) ## Import diff --git a/docs/resources/panorama_package.md b/docs/resources/panorama_package.md index 7eddd8c4a..2c661cdd8 100644 --- a/docs/resources/panorama_package.md +++ b/docs/resources/panorama_package.md @@ -3,12 +3,12 @@ page_title: "awscc_panorama_package Resource - terraform-provider-awscc" subcategory: "" description: |- - Schema for Package CloudFormation Resource + Creates a package and storage location in an Amazon S3 access point. --- # awscc_panorama_package (Resource) -Schema for Package CloudFormation Resource +Creates a package and storage location in an Amazon S3 access point. @@ -17,12 +17,12 @@ Schema for Package CloudFormation Resource ### Required -- `package_name` (String) +- `package_name` (String) A name for the package. ### Optional -- `storage_location` (Attributes) (see [below for nested schema](#nestedatt--storage_location)) -- `tags` (Attributes Set) (see [below for nested schema](#nestedatt--tags)) +- `storage_location` (Attributes) A storage location. (see [below for nested schema](#nestedatt--storage_location)) +- `tags` (Attributes Set) Tags for the package. (see [below for nested schema](#nestedatt--tags)) ### Read-Only @@ -36,11 +36,11 @@ Schema for Package CloudFormation Resource Read-Only: -- `binary_prefix_location` (String) -- `bucket` (String) -- `generated_prefix_location` (String) -- `manifest_prefix_location` (String) -- `repo_prefix_location` (String) +- `binary_prefix_location` (String) The location's binary prefix. +- `bucket` (String) The location's bucket. +- `generated_prefix_location` (String) The location's generated prefix. +- `manifest_prefix_location` (String) The location's manifest prefix. +- `repo_prefix_location` (String) The location's repo prefix. diff --git a/docs/resources/panorama_package_version.md b/docs/resources/panorama_package_version.md index 70febc4e2..0b2ff40d2 100644 --- a/docs/resources/panorama_package_version.md +++ b/docs/resources/panorama_package_version.md @@ -3,12 +3,12 @@ page_title: "awscc_panorama_package_version Resource - terraform-provider-awscc" subcategory: "" description: |- - Schema for PackageVersion Resource Type + Registers a package version. --- # awscc_panorama_package_version (Resource) -Schema for PackageVersion Resource Type +Registers a package version. @@ -17,15 +17,15 @@ Schema for PackageVersion Resource Type ### Required -- `package_id` (String) -- `package_version` (String) -- `patch_version` (String) +- `package_id` (String) A package ID. +- `package_version` (String) A package version. +- `patch_version` (String) A patch version. ### Optional -- `mark_latest` (Boolean) -- `owner_account` (String) -- `updated_latest_patch_version` (String) +- `mark_latest` (Boolean) Whether to mark the new version as the latest version. +- `owner_account` (String) An owner account. +- `updated_latest_patch_version` (String) If the version was marked latest, the new version to maker as latest. ### Read-Only diff --git a/docs/resources/rds_integration.md b/docs/resources/rds_integration.md index b0295bf78..71f7ea1d2 100644 --- a/docs/resources/rds_integration.md +++ b/docs/resources/rds_integration.md @@ -3,12 +3,12 @@ page_title: "awscc_rds_integration Resource - terraform-provider-awscc" subcategory: "" description: |- - Creates a zero-ETL integration with Amazon Redshift. + A zero-ETL integration with Amazon Redshift. --- # awscc_rds_integration (Resource) -Creates a zero-ETL integration with Amazon Redshift. +A zero-ETL integration with Amazon Redshift. @@ -17,34 +17,35 @@ Creates a zero-ETL integration with Amazon Redshift. ### Required -- `source_arn` (String) The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication. +- `source_arn` (String) The Amazon Resource Name (ARN) of the database to use as the source for replication. - `target_arn` (String) The ARN of the Redshift data warehouse to use as the target for replication. ### Optional -- `additional_encryption_context` (Map of String) An optional set of non-secret key–value pairs that contains additional contextual information about the data. -- `data_filter` (String) The data filter for the integration. -- `description` (String) The description of the integration. +- `additional_encryption_context` (Map of String) An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*. + You can only include this parameter if you specify the ``KMSKeyId`` parameter. +- `data_filter` (String) Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse. +- `description` (String) A description of the integration. - `integration_name` (String) The name of the integration. -- `kms_key_id` (String) An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource. -- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags)) +- `kms_key_id` (String) The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key. +- `tags` (Attributes Set) A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*. (see [below for nested schema](#nestedatt--tags)) ### Read-Only - `create_time` (String) - `id` (String) Uniquely identifies the resource. -- `integration_arn` (String) The ARN of the integration. +- `integration_arn` (String) ### Nested Schema for `tags` Required: -- `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 -. +- `key` (String) A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). Optional: -- `value` (String) 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 -. +- `value` (String) A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). ## Import diff --git a/docs/resources/sagemaker_app.md b/docs/resources/sagemaker_app.md index a5e32ac43..d1618a79c 100644 --- a/docs/resources/sagemaker_app.md +++ b/docs/resources/sagemaker_app.md @@ -38,6 +38,7 @@ Resource Type definition for AWS::SageMaker::App Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/resources/sagemaker_domain.md b/docs/resources/sagemaker_domain.md index 3eb0b8ca8..2e93f47d0 100644 --- a/docs/resources/sagemaker_domain.md +++ b/docs/resources/sagemaker_domain.md @@ -179,6 +179,7 @@ Optional: Optional: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--default_user_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `default_user_settings.jupyter_server_app_settings.default_resource_spec` @@ -199,6 +200,7 @@ Optional: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--default_user_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--default_user_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `default_user_settings.kernel_gateway_app_settings.custom_images` @@ -399,6 +401,7 @@ Optional: Optional: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--default_space_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `default_space_settings.jupyter_server_app_settings.default_resource_spec` @@ -419,6 +422,7 @@ Optional: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--default_space_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--default_space_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `default_space_settings.kernel_gateway_app_settings.custom_images` diff --git a/docs/resources/sagemaker_space.md b/docs/resources/sagemaker_space.md index 8d5b6b2a3..1598f381e 100644 --- a/docs/resources/sagemaker_space.md +++ b/docs/resources/sagemaker_space.md @@ -68,6 +68,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -111,6 +112,7 @@ Required: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -122,6 +124,7 @@ Optional: Optional: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--space_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `space_settings.jupyter_server_app_settings.default_resource_spec` @@ -129,6 +132,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -141,6 +145,7 @@ Optional: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--space_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--space_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `space_settings.kernel_gateway_app_settings.custom_images` @@ -161,6 +166,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/resources/sagemaker_studio_lifecycle_config.md b/docs/resources/sagemaker_studio_lifecycle_config.md new file mode 100644 index 000000000..288a36b44 --- /dev/null +++ b/docs/resources/sagemaker_studio_lifecycle_config.md @@ -0,0 +1,47 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_sagemaker_studio_lifecycle_config Resource - terraform-provider-awscc" +subcategory: "" +description: |- + Resource Type definition for AWS::SageMaker::StudioLifecycleConfig +--- + +# awscc_sagemaker_studio_lifecycle_config (Resource) + +Resource Type definition for AWS::SageMaker::StudioLifecycleConfig + + + + +## Schema + +### Required + +- `studio_lifecycle_config_app_type` (String) The App type that the Lifecycle Configuration is attached to. +- `studio_lifecycle_config_content` (String) The content of your Amazon SageMaker Studio Lifecycle Configuration script. +- `studio_lifecycle_config_name` (String) The name of the Amazon SageMaker Studio Lifecycle Configuration. + +### Optional + +- `tags` (Attributes List) Tags to be associated with the Lifecycle Configuration. (see [below for nested schema](#nestedatt--tags)) + +### Read-Only + +- `id` (String) Uniquely identifies the resource. +- `studio_lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration. + + +### Nested Schema for `tags` + +Required: + +- `key` (String) +- `value` (String) + +## Import + +Import is supported using the following syntax: + +```shell +$ terraform import awscc_sagemaker_studio_lifecycle_config.example +``` diff --git a/docs/resources/sagemaker_user_profile.md b/docs/resources/sagemaker_user_profile.md index b617633ef..ee1ef15df 100644 --- a/docs/resources/sagemaker_user_profile.md +++ b/docs/resources/sagemaker_user_profile.md @@ -100,6 +100,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -171,6 +172,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -182,6 +184,7 @@ Optional: Optional: - `default_resource_spec` (Attributes) (see [below for nested schema](#nestedatt--user_settings--jupyter_server_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with JupyterServer apps. ### Nested Schema for `user_settings.jupyter_server_app_settings.default_resource_spec` @@ -189,6 +192,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. @@ -201,6 +205,7 @@ Optional: - `custom_images` (Attributes List) A list of custom SageMaker images that are configured to run as a KernelGateway app. (see [below for nested schema](#nestedatt--user_settings--kernel_gateway_app_settings--custom_images)) - `default_resource_spec` (Attributes) The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. (see [below for nested schema](#nestedatt--user_settings--kernel_gateway_app_settings--default_resource_spec)) +- `lifecycle_config_arns` (List of String) A list of LifecycleConfigArns available for use with KernelGateway apps. ### Nested Schema for `user_settings.kernel_gateway_app_settings.custom_images` @@ -221,6 +226,7 @@ Optional: Optional: - `instance_type` (String) The instance type that the image version runs on. +- `lifecycle_config_arn` (String) The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. - `sage_maker_image_arn` (String) The ARN of the SageMaker image that the image version belongs to. - `sage_maker_image_version_arn` (String) The ARN of the image version created on the instance. diff --git a/docs/resources/sns_topic.md b/docs/resources/sns_topic.md index bbc05b85a..a9d82c24c 100644 --- a/docs/resources/sns_topic.md +++ b/docs/resources/sns_topic.md @@ -60,7 +60,14 @@ resource "awscc_sns_topic" "sns_fifo_example" { You can only add one policy per topic. The policy must be in JSON string format. Length Constraints: Maximum length of 30,720. -- `delivery_status_logging` (Attributes Set) (see [below for nested schema](#nestedatt--delivery_status_logging)) +- `delivery_status_logging` (Attributes Set) The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols: + + HTTP + + Amazon Kinesis Data Firehose + + AWS Lambda + + Platform application endpoint + + Amazon Simple Queue Service + + Once configured, log entries are sent to Amazon CloudWatch Logs. (see [below for nested schema](#nestedatt--delivery_status_logging)) - `display_name` (String) The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs. - `fifo_topic` (Boolean) Set to true to create a FIFO topic. - `kms_master_key_id` (String) The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*. @@ -85,13 +92,14 @@ resource "awscc_sns_topic" "sns_fifo_example" { Required: -- `protocol` (String) +- `protocol` (String) Indicates one of the supported protocols for the Amazon SNS topic. + At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``. Optional: -- `failure_feedback_role_arn` (String) -- `success_feedback_role_arn` (String) -- `success_feedback_sample_rate` (String) +- `failure_feedback_role_arn` (String) The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch. +- `success_feedback_role_arn` (String) The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch. +- `success_feedback_sample_rate` (String) The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100. diff --git a/examples/resources/awscc_arczonalshift_autoshift_observer_notification_status/import.sh b/examples/resources/awscc_arczonalshift_autoshift_observer_notification_status/import.sh new file mode 100644 index 000000000..556cb41e8 --- /dev/null +++ b/examples/resources/awscc_arczonalshift_autoshift_observer_notification_status/import.sh @@ -0,0 +1 @@ +$ terraform import awscc_arczonalshift_autoshift_observer_notification_status.example \ No newline at end of file diff --git a/examples/resources/awscc_cleanrooms_id_mapping_table/import.sh b/examples/resources/awscc_cleanrooms_id_mapping_table/import.sh new file mode 100644 index 000000000..584e2d75c --- /dev/null +++ b/examples/resources/awscc_cleanrooms_id_mapping_table/import.sh @@ -0,0 +1 @@ +$ terraform import awscc_cleanrooms_id_mapping_table.example \ No newline at end of file diff --git a/examples/resources/awscc_sagemaker_studio_lifecycle_config/import.sh b/examples/resources/awscc_sagemaker_studio_lifecycle_config/import.sh new file mode 100644 index 000000000..b75a2c06b --- /dev/null +++ b/examples/resources/awscc_sagemaker_studio_lifecycle_config/import.sh @@ -0,0 +1 @@ +$ terraform import awscc_sagemaker_studio_lifecycle_config.example \ No newline at end of file diff --git a/internal/aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen.go new file mode 100644 index 000000000..61d3d0c56 --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_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 arczonalshift + +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_arczonalshift_autoshift_observer_notification_statuses", autoshiftObserverNotificationStatusesDataSource) +} + +// autoshiftObserverNotificationStatusesDataSource returns the Terraform awscc_arczonalshift_autoshift_observer_notification_statuses data source. +// This Terraform data source corresponds to the CloudFormation AWS::ARCZonalShift::AutoshiftObserverNotificationStatus resource. +func autoshiftObserverNotificationStatusesDataSource(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::ARCZonalShift::AutoshiftObserverNotificationStatus", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::ARCZonalShift::AutoshiftObserverNotificationStatus").WithTerraformTypeName("awscc_arczonalshift_autoshift_observer_notification_statuses") + opts = opts.WithTerraformSchema(schema) + + v, err := generic.NewPluralDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen_test.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen_test.go new file mode 100644 index 000000000..f11b4a256 --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_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 arczonalshift_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSARCZonalShiftAutoshiftObserverNotificationStatusesDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", "awscc_arczonalshift_autoshift_observer_notification_statuses", "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/arczonalshift/autoshift_observer_notification_status_resource_gen.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_resource_gen.go new file mode 100644 index 000000000..016de4f43 --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_resource_gen.go @@ -0,0 +1,119 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/resource/main.go; DO NOT EDIT. + +package arczonalshift + +import ( + "context" + + "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_arczonalshift_autoshift_observer_notification_status", autoshiftObserverNotificationStatusResource) +} + +// autoshiftObserverNotificationStatusResource returns the Terraform awscc_arczonalshift_autoshift_observer_notification_status resource. +// This Terraform resource corresponds to the CloudFormation AWS::ARCZonalShift::AutoshiftObserverNotificationStatus resource. +func autoshiftObserverNotificationStatusResource(ctx context.Context) (resource.Resource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccountId + // CloudFormation resource type schema: + // + // { + // "description": "User account id, used as part of the primary identifier for the resource", + // "pattern": "^\\d{12}$", + // "type": "string" + // } + "account_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "User account id, used as part of the primary identifier for the resource", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Region + // CloudFormation resource type schema: + // + // { + // "description": "Region, used as part of the primary identifier for the resource", + // "maxLength": 30, + // "minLength": 5, + // "pattern": "^[a-z0-9-]*$", + // "type": "string" + // } + "region": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Region, used as part of the primary identifier for the resource", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Status + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "ENABLED" + // ], + // "type": "string" + // } + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ENABLED", + ), + }, /*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::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type", + Version: 1, + Attributes: attributes, + } + + var opts generic.ResourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::ARCZonalShift::AutoshiftObserverNotificationStatus").WithTerraformTypeName("awscc_arczonalshift_autoshift_observer_notification_status") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "account_id": "AccountId", + "region": "Region", + "status": "Status", + }) + + 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/arczonalshift/autoshift_observer_notification_status_resource_gen_test.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_resource_gen_test.go new file mode 100644 index 000000000..c2709bf87 --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_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 arczonalshift_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSARCZonalShiftAutoshiftObserverNotificationStatus_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", "awscc_arczonalshift_autoshift_observer_notification_status", "test") + + td.ResourceTest(t, []resource.TestStep{ + { + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} diff --git a/internal/aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen.go new file mode 100644 index 000000000..e79cf6018 --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen.go @@ -0,0 +1,92 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. + +package arczonalshift + +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_arczonalshift_autoshift_observer_notification_status", autoshiftObserverNotificationStatusDataSource) +} + +// autoshiftObserverNotificationStatusDataSource returns the Terraform awscc_arczonalshift_autoshift_observer_notification_status data source. +// This Terraform data source corresponds to the CloudFormation AWS::ARCZonalShift::AutoshiftObserverNotificationStatus resource. +func autoshiftObserverNotificationStatusDataSource(ctx context.Context) (datasource.DataSource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccountId + // CloudFormation resource type schema: + // + // { + // "description": "User account id, used as part of the primary identifier for the resource", + // "pattern": "^\\d{12}$", + // "type": "string" + // } + "account_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "User account id, used as part of the primary identifier for the resource", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Region + // CloudFormation resource type schema: + // + // { + // "description": "Region, used as part of the primary identifier for the resource", + // "maxLength": 30, + // "minLength": 5, + // "pattern": "^[a-z0-9-]*$", + // "type": "string" + // } + "region": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Region, used as part of the primary identifier for the resource", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Status + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "ENABLED" + // ], + // "type": "string" + // } + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + } /*END SCHEMA*/ + + attributes["id"] = schema.StringAttribute{ + Description: "Uniquely identifies the resource.", + Required: true, + } + + schema := schema.Schema{ + Description: "Data Source schema for AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::ARCZonalShift::AutoshiftObserverNotificationStatus").WithTerraformTypeName("awscc_arczonalshift_autoshift_observer_notification_status") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "account_id": "AccountId", + "region": "Region", + "status": "Status", + }) + + v, err := generic.NewSingularDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen_test.go b/internal/aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen_test.go new file mode 100644 index 000000000..29711a71e --- /dev/null +++ b/internal/aws/arczonalshift/autoshift_observer_notification_status_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 arczonalshift_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSARCZonalShiftAutoshiftObserverNotificationStatusDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", "awscc_arczonalshift_autoshift_observer_notification_status", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} + +func TestAccAWSARCZonalShiftAutoshiftObserverNotificationStatusDataSource_NonExistent(t *testing.T) { + td := acctest.NewTestData(t, "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", "awscc_arczonalshift_autoshift_observer_notification_status", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.DataSourceWithNonExistentIDConfig(), + ExpectError: regexp.MustCompile("Not Found"), + }, + }) +} diff --git a/internal/aws/arczonalshift/zonal_autoshift_configuration_resource_gen.go b/internal/aws/arczonalshift/zonal_autoshift_configuration_resource_gen.go index 4d0ec1ff6..a0b4a0b1b 100644 --- a/internal/aws/arczonalshift/zonal_autoshift_configuration_resource_gen.go +++ b/internal/aws/arczonalshift/zonal_autoshift_configuration_resource_gen.go @@ -69,13 +69,13 @@ func zonalAutoshiftConfigurationResource(ctx context.Context) (resource.Resource // "AlarmIdentifier": { // "maxLength": 1024, // "minLength": 8, - // "pattern": "^arn:.*$", + // "pattern": "^.*$", // "type": "string" // }, // "Type": { - // "enum": [ - // "CLOUDWATCH" - // ], + // "maxLength": 10, + // "minLength": 8, + // "pattern": "^[a-zA-Z]*$", // "type": "string" // } // }, @@ -97,13 +97,13 @@ func zonalAutoshiftConfigurationResource(ctx context.Context) (resource.Resource // "AlarmIdentifier": { // "maxLength": 1024, // "minLength": 8, - // "pattern": "^arn:.*$", + // "pattern": "^.*$", // "type": "string" // }, // "Type": { - // "enum": [ - // "CLOUDWATCH" - // ], + // "maxLength": 10, + // "minLength": 8, + // "pattern": "^[a-zA-Z]*$", // "type": "string" // } // }, @@ -168,16 +168,15 @@ func zonalAutoshiftConfigurationResource(ctx context.Context) (resource.Resource Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(8, 1024), - stringvalidator.RegexMatches(regexp.MustCompile("^arn:.*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ // Property: Type "type": schema.StringAttribute{ /*START ATTRIBUTE*/ Required: true, Validators: []validator.String{ /*START VALIDATORS*/ - stringvalidator.OneOf( - "CLOUDWATCH", - ), + stringvalidator.LengthBetween(8, 10), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z]*$"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ @@ -201,16 +200,15 @@ func zonalAutoshiftConfigurationResource(ctx context.Context) (resource.Resource Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(8, 1024), - stringvalidator.RegexMatches(regexp.MustCompile("^arn:.*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ // Property: Type "type": schema.StringAttribute{ /*START ATTRIBUTE*/ Required: true, Validators: []validator.String{ /*START VALIDATORS*/ - stringvalidator.OneOf( - "CLOUDWATCH", - ), + stringvalidator.LengthBetween(8, 10), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z]*$"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ diff --git a/internal/aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen.go b/internal/aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen.go index 27c917b24..76bb523d8 100644 --- a/internal/aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen.go +++ b/internal/aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen.go @@ -61,13 +61,13 @@ func zonalAutoshiftConfigurationDataSource(ctx context.Context) (datasource.Data // "AlarmIdentifier": { // "maxLength": 1024, // "minLength": 8, - // "pattern": "^arn:.*$", + // "pattern": "^.*$", // "type": "string" // }, // "Type": { - // "enum": [ - // "CLOUDWATCH" - // ], + // "maxLength": 10, + // "minLength": 8, + // "pattern": "^[a-zA-Z]*$", // "type": "string" // } // }, @@ -89,13 +89,13 @@ func zonalAutoshiftConfigurationDataSource(ctx context.Context) (datasource.Data // "AlarmIdentifier": { // "maxLength": 1024, // "minLength": 8, - // "pattern": "^arn:.*$", + // "pattern": "^.*$", // "type": "string" // }, // "Type": { - // "enum": [ - // "CLOUDWATCH" - // ], + // "maxLength": 10, + // "minLength": 8, + // "pattern": "^[a-zA-Z]*$", // "type": "string" // } // }, diff --git a/internal/aws/bedrock/guardrail_resource_gen.go b/internal/aws/bedrock/guardrail_resource_gen.go index 09280c4bc..f283ba0f3 100644 --- a/internal/aws/bedrock/guardrail_resource_gen.go +++ b/internal/aws/bedrock/guardrail_resource_gen.go @@ -10,6 +10,7 @@ import ( "regexp" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/float64validator" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" @@ -190,6 +191,89 @@ func guardrailResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ContextualGroundingPolicyConfig + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "Contextual grounding policy config for a guardrail.", + // "properties": { + // "FiltersConfig": { + // "description": "List of contextual grounding filter configs.", + // "items": { + // "additionalProperties": false, + // "description": "A config for grounding filter.", + // "properties": { + // "Threshold": { + // "description": "The threshold for this filter.", + // "minimum": 0, + // "type": "number" + // }, + // "Type": { + // "description": "Type of contextual grounding filter", + // "enum": [ + // "GROUNDING", + // "RELEVANCE" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Threshold", + // "Type" + // ], + // "type": "object" + // }, + // "minItems": 1, + // "type": "array" + // } + // }, + // "required": [ + // "FiltersConfig" + // ], + // "type": "object" + // } + "contextual_grounding_policy_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: FiltersConfig + "filters_config": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Threshold + "threshold": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Description: "The threshold for this filter.", + Required: true, + Validators: []validator.Float64{ /*START VALIDATORS*/ + float64validator.AtLeast(0.000000), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Type of contextual grounding filter", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "GROUNDING", + "RELEVANCE", + ), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "List of contextual grounding filter configs.", + Required: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(1), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contextual grounding policy config for a guardrail.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: CreatedAt // CloudFormation resource type schema: // @@ -969,6 +1053,7 @@ func guardrailResource(ctx context.Context) (resource.Resource, error) { "blocked_input_messaging": "BlockedInputMessaging", "blocked_outputs_messaging": "BlockedOutputsMessaging", "content_policy_config": "ContentPolicyConfig", + "contextual_grounding_policy_config": "ContextualGroundingPolicyConfig", "created_at": "CreatedAt", "definition": "Definition", "description": "Description", @@ -991,6 +1076,7 @@ func guardrailResource(ctx context.Context) (resource.Resource, error) { "status_reasons": "StatusReasons", "tags": "Tags", "text": "Text", + "threshold": "Threshold", "topic_policy_config": "TopicPolicyConfig", "topics_config": "TopicsConfig", "type": "Type", diff --git a/internal/aws/bedrock/guardrail_singular_data_source_gen.go b/internal/aws/bedrock/guardrail_singular_data_source_gen.go index 3b348ed60..1640b15e1 100644 --- a/internal/aws/bedrock/guardrail_singular_data_source_gen.go +++ b/internal/aws/bedrock/guardrail_singular_data_source_gen.go @@ -143,6 +143,73 @@ func guardrailDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "Content policy config for a guardrail.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: ContextualGroundingPolicyConfig + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "Contextual grounding policy config for a guardrail.", + // "properties": { + // "FiltersConfig": { + // "description": "List of contextual grounding filter configs.", + // "items": { + // "additionalProperties": false, + // "description": "A config for grounding filter.", + // "properties": { + // "Threshold": { + // "description": "The threshold for this filter.", + // "minimum": 0, + // "type": "number" + // }, + // "Type": { + // "description": "Type of contextual grounding filter", + // "enum": [ + // "GROUNDING", + // "RELEVANCE" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Threshold", + // "Type" + // ], + // "type": "object" + // }, + // "minItems": 1, + // "type": "array" + // } + // }, + // "required": [ + // "FiltersConfig" + // ], + // "type": "object" + // } + "contextual_grounding_policy_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: FiltersConfig + "filters_config": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Threshold + "threshold": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Description: "The threshold for this filter.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Type of contextual grounding filter", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "List of contextual grounding filter configs.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contextual grounding policy config for a guardrail.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: CreatedAt // CloudFormation resource type schema: // @@ -728,6 +795,7 @@ func guardrailDataSource(ctx context.Context) (datasource.DataSource, error) { "blocked_input_messaging": "BlockedInputMessaging", "blocked_outputs_messaging": "BlockedOutputsMessaging", "content_policy_config": "ContentPolicyConfig", + "contextual_grounding_policy_config": "ContextualGroundingPolicyConfig", "created_at": "CreatedAt", "definition": "Definition", "description": "Description", @@ -750,6 +818,7 @@ func guardrailDataSource(ctx context.Context) (datasource.DataSource, error) { "status_reasons": "StatusReasons", "tags": "Tags", "text": "Text", + "threshold": "Threshold", "topic_policy_config": "TopicPolicyConfig", "topics_config": "TopicsConfig", "type": "Type", diff --git a/internal/aws/cleanrooms/configured_table_association_resource_gen.go b/internal/aws/cleanrooms/configured_table_association_resource_gen.go index 4c16ff911..217f950b8 100644 --- a/internal/aws/cleanrooms/configured_table_association_resource_gen.go +++ b/internal/aws/cleanrooms/configured_table_association_resource_gen.go @@ -9,13 +9,16 @@ import ( "context" "regexp" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" ) @@ -41,6 +44,301 @@ func configuredTableAssociationResource(ctx context.Context) (resource.Resource, stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ConfiguredTableAssociationAnalysisRules + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Policy": { + // "additionalProperties": false, + // "properties": { + // "V1": { + // "properties": { + // "Aggregation": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "Custom": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "List": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // } + // }, + // "required": [ + // "V1" + // ], + // "type": "object" + // }, + // "Type": { + // "enum": [ + // "AGGREGATION", + // "LIST", + // "CUSTOM" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type", + // "Policy" + // ], + // "type": "object" + // }, + // "maxItems": 1, + // "minItems": 1, + // "type": "array" + // } + "configured_table_association_analysis_rules": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Policy + "policy": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: V1 + "v1": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Aggregation + "aggregation": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 25), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(0), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(12, 12), + stringvalidator.RegexMatches(regexp.MustCompile("\\d+"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.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: Custom + "custom": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 25), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(0), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(12, 12), + stringvalidator.RegexMatches(regexp.MustCompile("\\d+"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.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: List + "list": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 25), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(0), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(12, 12), + stringvalidator.RegexMatches(regexp.MustCompile("\\d+"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Required: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Required: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "AGGREGATION", + "LIST", + "CUSTOM", + ), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(1, 1), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: ConfiguredTableAssociationIdentifier // CloudFormation resource type schema: // @@ -221,16 +519,25 @@ func configuredTableAssociationResource(ctx context.Context) (resource.Resource, opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::ConfiguredTableAssociation").WithTerraformTypeName("awscc_cleanrooms_configured_table_association") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "arn": "Arn", - "configured_table_association_identifier": "ConfiguredTableAssociationIdentifier", - "configured_table_identifier": "ConfiguredTableIdentifier", - "description": "Description", - "key": "Key", - "membership_identifier": "MembershipIdentifier", - "name": "Name", - "role_arn": "RoleArn", - "tags": "Tags", - "value": "Value", + "aggregation": "Aggregation", + "allowed_additional_analyses": "AllowedAdditionalAnalyses", + "allowed_result_receivers": "AllowedResultReceivers", + "arn": "Arn", + "configured_table_association_analysis_rules": "ConfiguredTableAssociationAnalysisRules", + "configured_table_association_identifier": "ConfiguredTableAssociationIdentifier", + "configured_table_identifier": "ConfiguredTableIdentifier", + "custom": "Custom", + "description": "Description", + "key": "Key", + "list": "List", + "membership_identifier": "MembershipIdentifier", + "name": "Name", + "policy": "Policy", + "role_arn": "RoleArn", + "tags": "Tags", + "type": "Type", + "v1": "V1", + "value": "Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/cleanrooms/configured_table_association_singular_data_source_gen.go b/internal/aws/cleanrooms/configured_table_association_singular_data_source_gen.go index bdde3c5d4..4172c1480 100644 --- a/internal/aws/cleanrooms/configured_table_association_singular_data_source_gen.go +++ b/internal/aws/cleanrooms/configured_table_association_singular_data_source_gen.go @@ -10,6 +10,7 @@ import ( "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" ) @@ -32,6 +33,202 @@ func configuredTableAssociationDataSource(ctx context.Context) (datasource.DataS "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: ConfiguredTableAssociationAnalysisRules + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Policy": { + // "additionalProperties": false, + // "properties": { + // "V1": { + // "properties": { + // "Aggregation": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "Custom": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "List": { + // "additionalProperties": false, + // "properties": { + // "AllowedAdditionalAnalyses": { + // "insertionOrder": false, + // "items": { + // "maxLength": 256, + // "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$", + // "type": "string" + // }, + // "maxItems": 25, + // "minItems": 0, + // "type": "array" + // }, + // "AllowedResultReceivers": { + // "insertionOrder": false, + // "items": { + // "maxLength": 12, + // "minLength": 12, + // "pattern": "\\d+", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // } + // }, + // "required": [ + // "V1" + // ], + // "type": "object" + // }, + // "Type": { + // "enum": [ + // "AGGREGATION", + // "LIST", + // "CUSTOM" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type", + // "Policy" + // ], + // "type": "object" + // }, + // "maxItems": 1, + // "minItems": 1, + // "type": "array" + // } + "configured_table_association_analysis_rules": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Policy + "policy": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: V1 + "v1": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Aggregation + "aggregation": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Custom + "custom": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: List + "list": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllowedAdditionalAnalyses + "allowed_additional_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AllowedResultReceivers + "allowed_result_receivers": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: ConfiguredTableAssociationIdentifier // CloudFormation resource type schema: // @@ -162,16 +359,25 @@ func configuredTableAssociationDataSource(ctx context.Context) (datasource.DataS opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::ConfiguredTableAssociation").WithTerraformTypeName("awscc_cleanrooms_configured_table_association") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "arn": "Arn", - "configured_table_association_identifier": "ConfiguredTableAssociationIdentifier", - "configured_table_identifier": "ConfiguredTableIdentifier", - "description": "Description", - "key": "Key", - "membership_identifier": "MembershipIdentifier", - "name": "Name", - "role_arn": "RoleArn", - "tags": "Tags", - "value": "Value", + "aggregation": "Aggregation", + "allowed_additional_analyses": "AllowedAdditionalAnalyses", + "allowed_result_receivers": "AllowedResultReceivers", + "arn": "Arn", + "configured_table_association_analysis_rules": "ConfiguredTableAssociationAnalysisRules", + "configured_table_association_identifier": "ConfiguredTableAssociationIdentifier", + "configured_table_identifier": "ConfiguredTableIdentifier", + "custom": "Custom", + "description": "Description", + "key": "Key", + "list": "List", + "membership_identifier": "MembershipIdentifier", + "name": "Name", + "policy": "Policy", + "role_arn": "RoleArn", + "tags": "Tags", + "type": "Type", + "v1": "V1", + "value": "Value", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/cleanrooms/configured_table_resource_gen.go b/internal/aws/cleanrooms/configured_table_resource_gen.go index 690f44574..7a50fa491 100644 --- a/internal/aws/cleanrooms/configured_table_resource_gen.go +++ b/internal/aws/cleanrooms/configured_table_resource_gen.go @@ -98,6 +98,14 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // "Aggregation": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AggregateColumns": { // "insertionOrder": false, // "items": { @@ -251,6 +259,14 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // "Custom": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AllowedAnalyses": { // "insertionOrder": false, // "items": { @@ -298,6 +314,17 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // "Columns" // ], // "type": "object" + // }, + // "DisallowedOutputColumns": { + // "insertionOrder": false, + // "items": { + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" // } // }, // "required": [ @@ -308,6 +335,14 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // "List": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AllowedJoinOperators": { // "insertionOrder": false, // "items": { @@ -388,6 +423,21 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // Property: Aggregation "aggregation": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ALLOWED", + "REQUIRED", + "NOT_ALLOWED", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: AggregateColumns "aggregate_columns": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ @@ -576,6 +626,21 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // Property: Custom "custom": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ALLOWED", + "REQUIRED", + "NOT_ALLOWED", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: AllowedAnalyses "allowed_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, @@ -636,6 +701,23 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: DisallowedOutputColumns + "disallowed_output_columns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(0), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(1, 127), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Optional: true, Computed: true, @@ -646,6 +728,21 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { // Property: List "list": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ALLOWED", + "REQUIRED", + "NOT_ALLOWED", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: AllowedJoinOperators "allowed_join_operators": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, @@ -930,6 +1027,7 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::ConfiguredTable").WithTerraformTypeName("awscc_cleanrooms_configured_table") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ + "additional_analyses": "AdditionalAnalyses", "aggregate_columns": "AggregateColumns", "aggregation": "Aggregation", "allowed_analyses": "AllowedAnalyses", @@ -948,6 +1046,7 @@ func configuredTableResource(ctx context.Context) (resource.Resource, error) { "description": "Description", "differential_privacy": "DifferentialPrivacy", "dimension_columns": "DimensionColumns", + "disallowed_output_columns": "DisallowedOutputColumns", "function": "Function", "glue": "Glue", "join_columns": "JoinColumns", diff --git a/internal/aws/cleanrooms/configured_table_singular_data_source_gen.go b/internal/aws/cleanrooms/configured_table_singular_data_source_gen.go index bc8fe304b..a480a0c46 100644 --- a/internal/aws/cleanrooms/configured_table_singular_data_source_gen.go +++ b/internal/aws/cleanrooms/configured_table_singular_data_source_gen.go @@ -69,6 +69,14 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // "Aggregation": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AggregateColumns": { // "insertionOrder": false, // "items": { @@ -222,6 +230,14 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // "Custom": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AllowedAnalyses": { // "insertionOrder": false, // "items": { @@ -269,6 +285,17 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // "Columns" // ], // "type": "object" + // }, + // "DisallowedOutputColumns": { + // "insertionOrder": false, + // "items": { + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$", + // "type": "string" + // }, + // "minItems": 0, + // "type": "array" // } // }, // "required": [ @@ -279,6 +306,14 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // "List": { // "additionalProperties": false, // "properties": { + // "AdditionalAnalyses": { + // "enum": [ + // "ALLOWED", + // "REQUIRED", + // "NOT_ALLOWED" + // ], + // "type": "string" + // }, // "AllowedJoinOperators": { // "insertionOrder": false, // "items": { @@ -359,6 +394,10 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // Property: Aggregation "aggregation": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: AggregateColumns "aggregate_columns": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ @@ -426,6 +465,10 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro // Property: Custom "custom": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: AllowedAnalyses "allowed_analyses": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, @@ -454,12 +497,21 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: DisallowedOutputColumns + "disallowed_output_columns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ // Property: List "list": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalAnalyses + "additional_analyses": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: AllowedJoinOperators "allowed_join_operators": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, @@ -650,6 +702,7 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::ConfiguredTable").WithTerraformTypeName("awscc_cleanrooms_configured_table") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ + "additional_analyses": "AdditionalAnalyses", "aggregate_columns": "AggregateColumns", "aggregation": "Aggregation", "allowed_analyses": "AllowedAnalyses", @@ -668,6 +721,7 @@ func configuredTableDataSource(ctx context.Context) (datasource.DataSource, erro "description": "Description", "differential_privacy": "DifferentialPrivacy", "dimension_columns": "DimensionColumns", + "disallowed_output_columns": "DisallowedOutputColumns", "function": "Function", "glue": "Glue", "join_columns": "JoinColumns", diff --git a/internal/aws/cleanrooms/id_mapping_table_resource_gen.go b/internal/aws/cleanrooms/id_mapping_table_resource_gen.go new file mode 100644 index 000000000..772d073eb --- /dev/null +++ b/internal/aws/cleanrooms/id_mapping_table_resource_gen.go @@ -0,0 +1,386 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/resource/main.go; DO NOT EDIT. + +package cleanrooms + +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/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-provider-awscc/internal/generic" + "github.com/hashicorp/terraform-provider-awscc/internal/registry" +) + +func init() { + registry.AddResourceFactory("awscc_cleanrooms_id_mapping_table", idMappingTableResource) +} + +// idMappingTableResource returns the Terraform awscc_cleanrooms_id_mapping_table resource. +// This Terraform resource corresponds to the CloudFormation AWS::CleanRooms::IdMappingTable resource. +func idMappingTableResource(ctx context.Context) (resource.Resource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Arn + // CloudFormation resource type schema: + // + // { + // "maxLength": 200, + // "type": "string" + // } + "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CollaborationArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 100, + // "type": "string" + // } + "collaboration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CollaborationIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "collaboration_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Description + // CloudFormation resource type schema: + // + // { + // "maxLength": 255, + // "pattern": "", + // "type": "string" + // } + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(255), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: IdMappingTableIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "id_mapping_table_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: InputReferenceConfig + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "InputReferenceArn": { + // "maxLength": 2048, + // "minLength": 20, + // "type": "string" + // }, + // "ManageResourcePolicies": { + // "type": "boolean" + // } + // }, + // "required": [ + // "InputReferenceArn", + // "ManageResourcePolicies" + // ], + // "type": "object" + // } + "input_reference_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: InputReferenceArn + "input_reference_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(20, 2048), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: ManageResourcePolicies + "manage_resource_policies": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Required: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Required: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: InputReferenceProperties + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "IdMappingTableInputSource": { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "IdNamespaceAssociationId": { + // "type": "string" + // }, + // "Type": { + // "enum": [ + // "SOURCE", + // "TARGET" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "IdNamespaceAssociationId", + // "Type" + // ], + // "type": "object" + // }, + // "maxItems": 2, + // "minItems": 2, + // "type": "array" + // } + // }, + // "required": [ + // "IdMappingTableInputSource" + // ], + // "type": "object" + // } + "input_reference_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IdMappingTableInputSource + "id_mapping_table_input_source": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IdNamespaceAssociationId + "id_namespace_association_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: KmsKeyArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 2048, + // "minLength": 4, + // "type": "string" + // } + "kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(4, 2048), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: MembershipArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 100, + // "type": "string" + // } + "membership_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: MembershipIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "membership_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(36, 36), + stringvalidator.RegexMatches(regexp.MustCompile("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Name + // CloudFormation resource type schema: + // + // { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", + // "type": "string" + // } + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(128), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "Value": { + // "maxLength": 256, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + "tags": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Key + "key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 128), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: Value + "value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 256), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ + setplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + } /*END SCHEMA*/ + + // Corresponds to CloudFormation primaryIdentifier. + attributes["id"] = schema.StringAttribute{ + Description: "Uniquely identifies the resource.", + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + } + + schema := schema.Schema{ + Description: "Represents an association between an ID mapping workflow and a collaboration", + Version: 1, + Attributes: attributes, + } + + var opts generic.ResourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::IdMappingTable").WithTerraformTypeName("awscc_cleanrooms_id_mapping_table") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "arn": "Arn", + "collaboration_arn": "CollaborationArn", + "collaboration_identifier": "CollaborationIdentifier", + "description": "Description", + "id_mapping_table_identifier": "IdMappingTableIdentifier", + "id_mapping_table_input_source": "IdMappingTableInputSource", + "id_namespace_association_id": "IdNamespaceAssociationId", + "input_reference_arn": "InputReferenceArn", + "input_reference_config": "InputReferenceConfig", + "input_reference_properties": "InputReferenceProperties", + "key": "Key", + "kms_key_arn": "KmsKeyArn", + "manage_resource_policies": "ManageResourcePolicies", + "membership_arn": "MembershipArn", + "membership_identifier": "MembershipIdentifier", + "name": "Name", + "tags": "Tags", + "type": "Type", + "value": "Value", + }) + + 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/cleanrooms/id_mapping_table_resource_gen_test.go b/internal/aws/cleanrooms/id_mapping_table_resource_gen_test.go new file mode 100644 index 000000000..27d14bbc0 --- /dev/null +++ b/internal/aws/cleanrooms/id_mapping_table_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 cleanrooms_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSCleanRoomsIdMappingTable_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::CleanRooms::IdMappingTable", "awscc_cleanrooms_id_mapping_table", "test") + + td.ResourceTest(t, []resource.TestStep{ + { + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} diff --git a/internal/aws/cleanrooms/id_mapping_table_singular_data_source_gen.go b/internal/aws/cleanrooms/id_mapping_table_singular_data_source_gen.go new file mode 100644 index 000000000..8c5603274 --- /dev/null +++ b/internal/aws/cleanrooms/id_mapping_table_singular_data_source_gen.go @@ -0,0 +1,305 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. + +package cleanrooms + +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_cleanrooms_id_mapping_table", idMappingTableDataSource) +} + +// idMappingTableDataSource returns the Terraform awscc_cleanrooms_id_mapping_table data source. +// This Terraform data source corresponds to the CloudFormation AWS::CleanRooms::IdMappingTable resource. +func idMappingTableDataSource(ctx context.Context) (datasource.DataSource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Arn + // CloudFormation resource type schema: + // + // { + // "maxLength": 200, + // "type": "string" + // } + "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CollaborationArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 100, + // "type": "string" + // } + "collaboration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CollaborationIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "collaboration_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Description + // CloudFormation resource type schema: + // + // { + // "maxLength": 255, + // "pattern": "", + // "type": "string" + // } + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: IdMappingTableIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "id_mapping_table_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: InputReferenceConfig + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "InputReferenceArn": { + // "maxLength": 2048, + // "minLength": 20, + // "type": "string" + // }, + // "ManageResourcePolicies": { + // "type": "boolean" + // } + // }, + // "required": [ + // "InputReferenceArn", + // "ManageResourcePolicies" + // ], + // "type": "object" + // } + "input_reference_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: InputReferenceArn + "input_reference_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ManageResourcePolicies + "manage_resource_policies": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: InputReferenceProperties + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "IdMappingTableInputSource": { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "IdNamespaceAssociationId": { + // "type": "string" + // }, + // "Type": { + // "enum": [ + // "SOURCE", + // "TARGET" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "IdNamespaceAssociationId", + // "Type" + // ], + // "type": "object" + // }, + // "maxItems": 2, + // "minItems": 2, + // "type": "array" + // } + // }, + // "required": [ + // "IdMappingTableInputSource" + // ], + // "type": "object" + // } + "input_reference_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IdMappingTableInputSource + "id_mapping_table_input_source": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IdNamespaceAssociationId + "id_namespace_association_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: KmsKeyArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 2048, + // "minLength": 4, + // "type": "string" + // } + "kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: MembershipArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 100, + // "type": "string" + // } + "membership_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: MembershipIdentifier + // CloudFormation resource type schema: + // + // { + // "maxLength": 36, + // "minLength": 36, + // "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + // "type": "string" + // } + "membership_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Name + // CloudFormation resource type schema: + // + // { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", + // "type": "string" + // } + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "Value": { + // "maxLength": 256, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + "tags": schema.SetNestedAttribute{ /*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*/ + } /*END SCHEMA*/ + + attributes["id"] = schema.StringAttribute{ + Description: "Uniquely identifies the resource.", + Required: true, + } + + schema := schema.Schema{ + Description: "Data Source schema for AWS::CleanRooms::IdMappingTable", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::CleanRooms::IdMappingTable").WithTerraformTypeName("awscc_cleanrooms_id_mapping_table") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "arn": "Arn", + "collaboration_arn": "CollaborationArn", + "collaboration_identifier": "CollaborationIdentifier", + "description": "Description", + "id_mapping_table_identifier": "IdMappingTableIdentifier", + "id_mapping_table_input_source": "IdMappingTableInputSource", + "id_namespace_association_id": "IdNamespaceAssociationId", + "input_reference_arn": "InputReferenceArn", + "input_reference_config": "InputReferenceConfig", + "input_reference_properties": "InputReferenceProperties", + "key": "Key", + "kms_key_arn": "KmsKeyArn", + "manage_resource_policies": "ManageResourcePolicies", + "membership_arn": "MembershipArn", + "membership_identifier": "MembershipIdentifier", + "name": "Name", + "tags": "Tags", + "type": "Type", + "value": "Value", + }) + + v, err := generic.NewSingularDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/cleanrooms/id_mapping_table_singular_data_source_gen_test.go b/internal/aws/cleanrooms/id_mapping_table_singular_data_source_gen_test.go new file mode 100644 index 000000000..e9add79ef --- /dev/null +++ b/internal/aws/cleanrooms/id_mapping_table_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 cleanrooms_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSCleanRoomsIdMappingTableDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::CleanRooms::IdMappingTable", "awscc_cleanrooms_id_mapping_table", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} + +func TestAccAWSCleanRoomsIdMappingTableDataSource_NonExistent(t *testing.T) { + td := acctest.NewTestData(t, "AWS::CleanRooms::IdMappingTable", "awscc_cleanrooms_id_mapping_table", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.DataSourceWithNonExistentIDConfig(), + ExpectError: regexp.MustCompile("Not Found"), + }, + }) +} diff --git a/internal/aws/ec2/capacity_reservation_resource_gen.go b/internal/aws/ec2/capacity_reservation_resource_gen.go index 812e16b76..b1289996c 100644 --- a/internal/aws/ec2/capacity_reservation_resource_gen.go +++ b/internal/aws/ec2/capacity_reservation_resource_gen.go @@ -137,7 +137,6 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: InstancePlatform diff --git a/internal/aws/ec2/vpn_connection_resource_gen.go b/internal/aws/ec2/vpn_connection_resource_gen.go index b987c9e3f..7ceb200d4 100644 --- a/internal/aws/ec2/vpn_connection_resource_gen.go +++ b/internal/aws/ec2/vpn_connection_resource_gen.go @@ -40,15 +40,31 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: EnableAcceleration + // CloudFormation resource type schema: + // + // { + // "description": "", + // "type": "boolean" + // } + "enable_acceleration": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Description: "", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + boolplanmodifier.RequiresReplaceIfConfigured(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: StaticRoutesOnly // CloudFormation resource type schema: // // { - // "description": "Indicates whether the VPN connection uses static routes only.", + // "description": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", // "type": "boolean" // } "static_routes_only": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Description: "Indicates whether the VPN connection uses static routes only.", + Description: "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ @@ -64,11 +80,14 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", // "properties": { // "Key": { + // "description": "The tag key.", // "type": "string" // }, // "Value": { + // "description": "The tag value.", // "type": "string" // } // }, @@ -86,11 +105,13 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The tag key.", + Required: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The tag value.", + Required: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ @@ -106,11 +127,11 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The ID of the transit gateway associated with the VPN connection.", + // "description": "The ID of the transit gateway associated with the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", // "type": "string" // } "transit_gateway_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ID of the transit gateway associated with the VPN connection.", + Description: "The ID of the transit gateway associated with the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -136,11 +157,11 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The provider-assigned unique ID for this managed resource", + // "description": "", // "type": "string" // } "vpn_connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The provider-assigned unique ID for this managed resource", + Description: "", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -150,11 +171,11 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.", + // "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", // "type": "string" // } "vpn_gateway_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ID of the virtual private gateway at the AWS side of the VPN connection.", + Description: "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -170,11 +191,14 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "The tunnel options for a single VPN tunnel.", // "properties": { // "PreSharedKey": { + // "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", // "type": "string" // }, // "TunnelInsideCidr": { + // "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", // "type": "string" // } // }, @@ -188,16 +212,18 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PreSharedKey "pre_shared_key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: TunnelInsideCidr "tunnel_inside_cidr": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -225,7 +251,7 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Resource Type definition for AWS::EC2::VPNConnection", + 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*.", Version: 1, Attributes: attributes, } @@ -236,6 +262,7 @@ func vPNConnectionResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "customer_gateway_id": "CustomerGatewayId", + "enable_acceleration": "EnableAcceleration", "key": "Key", "pre_shared_key": "PreSharedKey", "static_routes_only": "StaticRoutesOnly", diff --git a/internal/aws/ec2/vpn_connection_route_resource_gen.go b/internal/aws/ec2/vpn_connection_route_resource_gen.go index 37cfd5576..f1e1f6cf1 100644 --- a/internal/aws/ec2/vpn_connection_route_resource_gen.go +++ b/internal/aws/ec2/vpn_connection_route_resource_gen.go @@ -64,7 +64,7 @@ func vPNConnectionRouteResource(ctx context.Context) (resource.Resource, error) } schema := schema.Schema{ - Description: "Resource Type definition for AWS::EC2::VPNConnectionRoute", + Description: "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/ec2/vpn_connection_singular_data_source_gen.go b/internal/aws/ec2/vpn_connection_singular_data_source_gen.go index 4c85ec505..85906a411 100644 --- a/internal/aws/ec2/vpn_connection_singular_data_source_gen.go +++ b/internal/aws/ec2/vpn_connection_singular_data_source_gen.go @@ -33,15 +33,26 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) Description: "The ID of the customer gateway at your end of the VPN connection.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: EnableAcceleration + // CloudFormation resource type schema: + // + // { + // "description": "", + // "type": "boolean" + // } + "enable_acceleration": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Description: "", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: StaticRoutesOnly // CloudFormation resource type schema: // // { - // "description": "Indicates whether the VPN connection uses static routes only.", + // "description": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", // "type": "boolean" // } "static_routes_only": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Description: "Indicates whether the VPN connection uses static routes only.", + Description: "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Tags @@ -52,11 +63,14 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", // "properties": { // "Key": { + // "description": "The tag key.", // "type": "string" // }, // "Value": { + // "description": "The tag value.", // "type": "string" // } // }, @@ -74,11 +88,13 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The tag key.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The tag value.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ @@ -89,11 +105,11 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) // CloudFormation resource type schema: // // { - // "description": "The ID of the transit gateway associated with the VPN connection.", + // "description": "The ID of the transit gateway associated with the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", // "type": "string" // } "transit_gateway_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ID of the transit gateway associated with the VPN connection.", + Description: "The ID of the transit gateway associated with the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Type @@ -111,22 +127,22 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) // CloudFormation resource type schema: // // { - // "description": "The provider-assigned unique ID for this managed resource", + // "description": "", // "type": "string" // } "vpn_connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The provider-assigned unique ID for this managed resource", + Description: "", Computed: true, }, /*END ATTRIBUTE*/ // Property: VpnGatewayId // CloudFormation resource type schema: // // { - // "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.", + // "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", // "type": "string" // } "vpn_gateway_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ID of the virtual private gateway at the AWS side of the VPN connection.", + Description: "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", Computed: true, }, /*END ATTRIBUTE*/ // Property: VpnTunnelOptionsSpecifications @@ -137,11 +153,14 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "The tunnel options for a single VPN tunnel.", // "properties": { // "PreSharedKey": { + // "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", // "type": "string" // }, // "TunnelInsideCidr": { + // "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", // "type": "string" // } // }, @@ -155,11 +174,13 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PreSharedKey "pre_shared_key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + Computed: true, }, /*END ATTRIBUTE*/ // Property: TunnelInsideCidr "tunnel_inside_cidr": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ @@ -184,6 +205,7 @@ func vPNConnectionDataSource(ctx context.Context) (datasource.DataSource, error) opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "customer_gateway_id": "CustomerGatewayId", + "enable_acceleration": "EnableAcceleration", "key": "Key", "pre_shared_key": "PreSharedKey", "static_routes_only": "StaticRoutesOnly", diff --git a/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go b/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go index 07200e36b..95be791b2 100644 --- a/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go +++ b/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go @@ -74,11 +74,11 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", + // "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", // "type": "string" // } "ip_address_type": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", + Description: "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*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 499e80c2b..0bdad9e42 100644 --- a/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go +++ b/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go @@ -60,11 +60,11 @@ func loadBalancerDataSource(ctx context.Context) (datasource.DataSource, error) // CloudFormation resource type schema: // // { - // "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", + // "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", // "type": "string" // } "ip_address_type": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", + Description: "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", Computed: true, }, /*END ATTRIBUTE*/ // Property: LoadBalancerArn diff --git a/internal/aws/entityresolution/id_mapping_workflow_resource_gen.go b/internal/aws/entityresolution/id_mapping_workflow_resource_gen.go index f3de29c99..057a195c9 100644 --- a/internal/aws/entityresolution/id_mapping_workflow_resource_gen.go +++ b/internal/aws/entityresolution/id_mapping_workflow_resource_gen.go @@ -81,9 +81,6 @@ func idMappingWorkflowResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, - // "NormalizationVersion": { - // "type": "string" - // }, // "ProviderProperties": { // "additionalProperties": false, // "properties": { @@ -205,14 +202,6 @@ func idMappingWorkflowResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ - // Property: NormalizationVersion - "normalization_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ - }, /*END ATTRIBUTE*/ // Property: ProviderProperties "provider_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -646,7 +635,6 @@ func idMappingWorkflowResource(ctx context.Context) (resource.Resource, error) { "key": "Key", "kms_arn": "KMSArn", "matching_keys": "MatchingKeys", - "normalization_version": "NormalizationVersion", "output_s3_path": "OutputS3Path", "output_source_config": "OutputSourceConfig", "provider_configuration": "ProviderConfiguration", @@ -667,6 +655,9 @@ func idMappingWorkflowResource(ctx context.Context) (resource.Resource, error) { "workflow_name": "WorkflowName", }) + opts = opts.WithWriteOnlyPropertyPaths([]string{ + "/properties/IdMappingTechniques/NormalizationVersion", + }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) opts = opts.WithUpdateTimeoutInMinutes(0) diff --git a/internal/aws/entityresolution/id_mapping_workflow_singular_data_source_gen.go b/internal/aws/entityresolution/id_mapping_workflow_singular_data_source_gen.go index 17f753518..1367a35e0 100644 --- a/internal/aws/entityresolution/id_mapping_workflow_singular_data_source_gen.go +++ b/internal/aws/entityresolution/id_mapping_workflow_singular_data_source_gen.go @@ -60,9 +60,6 @@ func idMappingWorkflowDataSource(ctx context.Context) (datasource.DataSource, er // ], // "type": "string" // }, - // "NormalizationVersion": { - // "type": "string" - // }, // "ProviderProperties": { // "additionalProperties": false, // "properties": { @@ -174,10 +171,6 @@ func idMappingWorkflowDataSource(ctx context.Context) (datasource.DataSource, er "id_mapping_type": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ - // Property: NormalizationVersion - "normalization_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, - }, /*END ATTRIBUTE*/ // Property: ProviderProperties "provider_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -470,7 +463,6 @@ func idMappingWorkflowDataSource(ctx context.Context) (datasource.DataSource, er "key": "Key", "kms_arn": "KMSArn", "matching_keys": "MatchingKeys", - "normalization_version": "NormalizationVersion", "output_s3_path": "OutputS3Path", "output_source_config": "OutputSourceConfig", "provider_configuration": "ProviderConfiguration", diff --git a/internal/aws/inspectorv2/cis_scan_configuration_resource_gen.go b/internal/aws/inspectorv2/cis_scan_configuration_resource_gen.go index 1c2ecb5e6..971ae94fb 100644 --- a/internal/aws/inspectorv2/cis_scan_configuration_resource_gen.go +++ b/internal/aws/inspectorv2/cis_scan_configuration_resource_gen.go @@ -56,14 +56,10 @@ func cisScanConfigurationResource(ctx context.Context) (resource.Resource, error // } "scan_name": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "Name of the scan", - Optional: true, - Computed: true, + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthAtLeast(1), }, /*END VALIDATORS*/ - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Schedule // CloudFormation resource type schema: @@ -315,11 +311,7 @@ func cisScanConfigurationResource(ctx context.Context) (resource.Resource, error }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "Choose a Schedule cadence", - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ - objectplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ + Required: true, }, /*END ATTRIBUTE*/ // Property: SecurityLevel // CloudFormation resource type schema: @@ -332,17 +324,13 @@ func cisScanConfigurationResource(ctx context.Context) (resource.Resource, error // "type": "string" // } "security_level": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( "LEVEL_1", "LEVEL_2", ), }, /*END VALIDATORS*/ - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: @@ -426,11 +414,7 @@ func cisScanConfigurationResource(ctx context.Context) (resource.Resource, error }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ - objectplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ + Required: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/inspectorv2/cis_scan_configuration_resource_gen_test.go b/internal/aws/inspectorv2/cis_scan_configuration_resource_gen_test.go index 7dce4d0ba..0b3976b4f 100644 --- a/internal/aws/inspectorv2/cis_scan_configuration_resource_gen_test.go +++ b/internal/aws/inspectorv2/cis_scan_configuration_resource_gen_test.go @@ -6,6 +6,7 @@ package inspectorv2_test import ( + "regexp" "testing" "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -17,30 +18,8 @@ func TestAccAWSInspectorV2CisScanConfiguration_basic(t *testing.T) { td.ResourceTest(t, []resource.TestStep{ { - Config: td.EmptyConfig(), - Check: resource.ComposeTestCheckFunc( - td.CheckExistsInAWS(), - ), - }, - { - ResourceName: td.ResourceName, - ImportState: true, - ImportStateVerify: true, - }, - }) -} - -func TestAccAWSInspectorV2CisScanConfiguration_disappears(t *testing.T) { - td := acctest.NewTestData(t, "AWS::InspectorV2::CisScanConfiguration", "awscc_inspectorv2_cis_scan_configuration", "test") - - td.ResourceTest(t, []resource.TestStep{ - { - Config: td.EmptyConfig(), - Check: resource.ComposeTestCheckFunc( - td.CheckExistsInAWS(), - td.DeleteResource(), - ), - ExpectNonEmptyPlan: true, + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), }, }) } diff --git a/internal/aws/inspectorv2/cis_scan_configuration_singular_data_source_gen_test.go b/internal/aws/inspectorv2/cis_scan_configuration_singular_data_source_gen_test.go index d8a35cf72..9a43e10ca 100644 --- a/internal/aws/inspectorv2/cis_scan_configuration_singular_data_source_gen_test.go +++ b/internal/aws/inspectorv2/cis_scan_configuration_singular_data_source_gen_test.go @@ -6,7 +6,6 @@ package inspectorv2_test import ( - "fmt" "regexp" "testing" @@ -19,11 +18,8 @@ func TestAccAWSInspectorV2CisScanConfigurationDataSource_basic(t *testing.T) { td.DataSourceTest(t, []resource.TestStep{ { - Config: td.DataSourceWithEmptyResourceConfig(), - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrPair(fmt.Sprintf("data.%s", td.ResourceName), "id", td.ResourceName, "id"), - resource.TestCheckResourceAttrPair(fmt.Sprintf("data.%s", td.ResourceName), "arn", td.ResourceName, "arn"), - ), + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), }, }) } diff --git a/internal/aws/kinesisfirehose/delivery_stream_resource_gen.go b/internal/aws/kinesisfirehose/delivery_stream_resource_gen.go index 1952129ba..10581130f 100644 --- a/internal/aws/kinesisfirehose/delivery_stream_resource_gen.go +++ b/internal/aws/kinesisfirehose/delivery_stream_resource_gen.go @@ -4565,6 +4565,709 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: IcebergDestinationConfiguration + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "CatalogConfiguration": { + // "additionalProperties": false, + // "properties": { + // "CatalogArn": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CloudWatchLoggingOptions": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "LogGroupName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogGroupName", + // "typeName": "AWS::Logs::LogGroup" + // }, + // "type": "string" + // }, + // "LogStreamName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogStreamName", + // "typeName": "AWS::Logs::LogStream" + // }, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "DestinationTableConfigurationList": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "DestinationDatabaseName": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "DestinationTableName": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "S3ErrorOutputPrefix": { + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // }, + // "UniqueKeys": { + // "items": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "type": "array", + // "uniqueItems": true + // } + // }, + // "required": [ + // "DestinationDatabaseName", + // "DestinationTableName" + // ], + // "type": "object" + // }, + // "type": "array" + // }, + // "ProcessingConfiguration": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "Processors": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "Parameters": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "ParameterName": { + // "type": "string" + // }, + // "ParameterValue": { + // "anyOf": [ + // {}, + // {}, + // {} + // ], + // "type": "string" + // } + // }, + // "required": [ + // "ParameterValue", + // "ParameterName" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // }, + // "Type": { + // "enum": [ + // "RecordDeAggregation", + // "Decompression", + // "CloudWatchLogProcessing", + // "Lambda", + // "MetadataExtraction", + // "AppendDelimiterToRecord" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + // }, + // "type": "object" + // }, + // "RetryOptions": { + // "additionalProperties": false, + // "properties": { + // "DurationInSeconds": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "RoleARN": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::IAM::Role" + // }, + // "type": "string" + // }, + // "S3Configuration": { + // "additionalProperties": false, + // "properties": { + // "BucketARN": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::S3::Bucket" + // }, + // "type": "string" + // }, + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "CloudWatchLoggingOptions": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "LogGroupName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogGroupName", + // "typeName": "AWS::Logs::LogGroup" + // }, + // "type": "string" + // }, + // "LogStreamName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogStreamName", + // "typeName": "AWS::Logs::LogStream" + // }, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CompressionFormat": { + // "enum": [ + // "UNCOMPRESSED", + // "GZIP", + // "ZIP", + // "Snappy", + // "HADOOP_SNAPPY" + // ], + // "type": "string" + // }, + // "EncryptionConfiguration": { + // "additionalProperties": false, + // "properties": { + // "KMSEncryptionConfig": { + // "additionalProperties": false, + // "properties": { + // "AWSKMSKeyARN": { + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::KMS::Key" + // }, + // "type": "string" + // } + // }, + // "required": [ + // "AWSKMSKeyARN" + // ], + // "type": "object" + // }, + // "NoEncryptionConfig": { + // "enum": [ + // "NoEncryption" + // ], + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ErrorOutputPrefix": { + // "maxLength": 1024, + // "minLength": 0, + // "type": "string" + // }, + // "Prefix": { + // "maxLength": 1024, + // "minLength": 0, + // "type": "string" + // }, + // "RoleARN": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::IAM::Role" + // }, + // "type": "string" + // } + // }, + // "required": [ + // "BucketARN", + // "RoleARN" + // ], + // "type": "object" + // }, + // "s3BackupMode": { + // "enum": [ + // "AllData", + // "FailedDataOnly" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "RoleARN", + // "CatalogConfiguration", + // "S3Configuration" + // ], + // "type": "object" + // } + "iceberg_destination_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CatalogConfiguration + "catalog_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: CatalogArn + "catalog_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 512), + stringvalidator.RegexMatches(regexp.MustCompile("arn:.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Required: true, + }, /*END ATTRIBUTE*/ + // Property: CloudWatchLoggingOptions + "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LogGroupName + "log_group_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LogStreamName + "log_stream_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DestinationTableConfigurationList + "destination_table_configuration_list": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DestinationDatabaseName + "destination_database_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 512), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: DestinationTableName + "destination_table_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 512), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: S3ErrorOutputPrefix + "s3_error_output_prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 1024), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UniqueKeys + "unique_keys": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.UniqueValues(), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(1, 512), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ProcessingConfiguration + "processing_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Processors + "processors": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Parameters + "parameters": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ParameterName + "parameter_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + }, /*END ATTRIBUTE*/ + // Property: ParameterValue + "parameter_value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.UniqueValues(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "RecordDeAggregation", + "Decompression", + "CloudWatchLogProcessing", + "Lambda", + "MetadataExtraction", + "AppendDelimiterToRecord", + ), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.UniqueValues(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RetryOptions + "retry_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DurationInSeconds + "duration_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RoleARN + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 512), + stringvalidator.RegexMatches(regexp.MustCompile("arn:.*"), ""), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: S3Configuration + "s3_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BucketARN + "bucket_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 2048), + stringvalidator.RegexMatches(regexp.MustCompile("arn:.*"), ""), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CloudWatchLoggingOptions + "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LogGroupName + "log_group_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LogStreamName + "log_stream_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CompressionFormat + "compression_format": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "UNCOMPRESSED", + "GZIP", + "ZIP", + "Snappy", + "HADOOP_SNAPPY", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: EncryptionConfiguration + "encryption_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: KMSEncryptionConfig + "kms_encryption_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AWSKMSKeyARN + "awskms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: NoEncryptionConfig + "no_encryption_config": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "NoEncryption", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ErrorOutputPrefix + "error_output_prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 1024), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Prefix + "prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 1024), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RoleARN + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 512), + stringvalidator.RegexMatches(regexp.MustCompile("arn:.*"), ""), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Required: true, + }, /*END ATTRIBUTE*/ + // Property: s3BackupMode + "s_3_backup_mode": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "AllData", + "FailedDataOnly", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + objectplanmodifier.RequiresReplaceIfConfigured(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: KinesisStreamSourceConfiguration // CloudFormation resource type schema: // @@ -6014,6 +6717,18 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { // "pattern": ".+?\\.snowflakecomputing\\.com", // "type": "string" // }, + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, // "CloudWatchLoggingOptions": { // "additionalProperties": false, // "properties": { @@ -6365,6 +7080,32 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { stringvalidator.RegexMatches(regexp.MustCompile(".+?\\.snowflakecomputing\\.com"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: CloudWatchLoggingOptions "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -7637,6 +8378,8 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { "bucket_arn": "BucketARN", "buffering_hints": "BufferingHints", "case_insensitive": "CaseInsensitive", + "catalog_arn": "CatalogArn", + "catalog_configuration": "CatalogConfiguration", "catalog_id": "CatalogId", "cloudwatch_logging_options": "CloudWatchLoggingOptions", "cluster_endpoint": "ClusterEndpoint", @@ -7664,6 +8407,9 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { "delivery_stream_name": "DeliveryStreamName", "delivery_stream_type": "DeliveryStreamType", "deserializer": "Deserializer", + "destination_database_name": "DestinationDatabaseName", + "destination_table_configuration_list": "DestinationTableConfigurationList", + "destination_table_name": "DestinationTableName", "dictionary_key_threshold": "DictionaryKeyThreshold", "document_id_options": "DocumentIdOptions", "domain_arn": "DomainARN", @@ -7685,6 +8431,7 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { "hec_token": "HECToken", "hive_json_ser_de": "HiveJsonSerDe", "http_endpoint_destination_configuration": "HttpEndpointDestinationConfiguration", + "iceberg_destination_configuration": "IcebergDestinationConfiguration", "index_name": "IndexName", "index_rotation_period": "IndexRotationPeriod", "input_format_configuration": "InputFormatConfiguration", @@ -7729,6 +8476,8 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { "s3_backup_mode": "S3BackupMode", "s3_configuration": "S3Configuration", "s3_destination_configuration": "S3DestinationConfiguration", + "s3_error_output_prefix": "S3ErrorOutputPrefix", + "s_3_backup_mode": "s3BackupMode", "schema": "Schema", "schema_configuration": "SchemaConfiguration", "secret_arn": "SecretARN", @@ -7750,6 +8499,7 @@ func deliveryStreamResource(ctx context.Context) (resource.Resource, error) { "topic_name": "TopicName", "type": "Type", "type_name": "TypeName", + "unique_keys": "UniqueKeys", "url": "Url", "user": "User", "username": "Username", diff --git a/internal/aws/kinesisfirehose/delivery_stream_singular_data_source_gen.go b/internal/aws/kinesisfirehose/delivery_stream_singular_data_source_gen.go index 2faa8511a..268d873d9 100644 --- a/internal/aws/kinesisfirehose/delivery_stream_singular_data_source_gen.go +++ b/internal/aws/kinesisfirehose/delivery_stream_singular_data_source_gen.go @@ -3206,6 +3206,507 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: IcebergDestinationConfiguration + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "CatalogConfiguration": { + // "additionalProperties": false, + // "properties": { + // "CatalogArn": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CloudWatchLoggingOptions": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "LogGroupName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogGroupName", + // "typeName": "AWS::Logs::LogGroup" + // }, + // "type": "string" + // }, + // "LogStreamName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogStreamName", + // "typeName": "AWS::Logs::LogStream" + // }, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "DestinationTableConfigurationList": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "DestinationDatabaseName": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "DestinationTableName": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "S3ErrorOutputPrefix": { + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // }, + // "UniqueKeys": { + // "items": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // }, + // "type": "array", + // "uniqueItems": true + // } + // }, + // "required": [ + // "DestinationDatabaseName", + // "DestinationTableName" + // ], + // "type": "object" + // }, + // "type": "array" + // }, + // "ProcessingConfiguration": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "Processors": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "Parameters": { + // "items": { + // "additionalProperties": false, + // "properties": { + // "ParameterName": { + // "type": "string" + // }, + // "ParameterValue": { + // "anyOf": [ + // {}, + // {}, + // {} + // ], + // "type": "string" + // } + // }, + // "required": [ + // "ParameterValue", + // "ParameterName" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // }, + // "Type": { + // "enum": [ + // "RecordDeAggregation", + // "Decompression", + // "CloudWatchLogProcessing", + // "Lambda", + // "MetadataExtraction", + // "AppendDelimiterToRecord" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + // }, + // "type": "object" + // }, + // "RetryOptions": { + // "additionalProperties": false, + // "properties": { + // "DurationInSeconds": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "RoleARN": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::IAM::Role" + // }, + // "type": "string" + // }, + // "S3Configuration": { + // "additionalProperties": false, + // "properties": { + // "BucketARN": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::S3::Bucket" + // }, + // "type": "string" + // }, + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "CloudWatchLoggingOptions": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "LogGroupName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogGroupName", + // "typeName": "AWS::Logs::LogGroup" + // }, + // "type": "string" + // }, + // "LogStreamName": { + // "relationshipRef": { + // "propertyPath": "/properties/LogStreamName", + // "typeName": "AWS::Logs::LogStream" + // }, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CompressionFormat": { + // "enum": [ + // "UNCOMPRESSED", + // "GZIP", + // "ZIP", + // "Snappy", + // "HADOOP_SNAPPY" + // ], + // "type": "string" + // }, + // "EncryptionConfiguration": { + // "additionalProperties": false, + // "properties": { + // "KMSEncryptionConfig": { + // "additionalProperties": false, + // "properties": { + // "AWSKMSKeyARN": { + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::KMS::Key" + // }, + // "type": "string" + // } + // }, + // "required": [ + // "AWSKMSKeyARN" + // ], + // "type": "object" + // }, + // "NoEncryptionConfig": { + // "enum": [ + // "NoEncryption" + // ], + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ErrorOutputPrefix": { + // "maxLength": 1024, + // "minLength": 0, + // "type": "string" + // }, + // "Prefix": { + // "maxLength": 1024, + // "minLength": 0, + // "type": "string" + // }, + // "RoleARN": { + // "maxLength": 512, + // "minLength": 1, + // "pattern": "arn:.*", + // "relationshipRef": { + // "propertyPath": "/properties/Arn", + // "typeName": "AWS::IAM::Role" + // }, + // "type": "string" + // } + // }, + // "required": [ + // "BucketARN", + // "RoleARN" + // ], + // "type": "object" + // }, + // "s3BackupMode": { + // "enum": [ + // "AllData", + // "FailedDataOnly" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "RoleARN", + // "CatalogConfiguration", + // "S3Configuration" + // ], + // "type": "object" + // } + "iceberg_destination_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CatalogConfiguration + "catalog_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: CatalogArn + "catalog_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CloudWatchLoggingOptions + "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LogGroupName + "log_group_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LogStreamName + "log_stream_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DestinationTableConfigurationList + "destination_table_configuration_list": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DestinationDatabaseName + "destination_database_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DestinationTableName + "destination_table_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: S3ErrorOutputPrefix + "s3_error_output_prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UniqueKeys + "unique_keys": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ProcessingConfiguration + "processing_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Processors + "processors": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Parameters + "parameters": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ParameterName + "parameter_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ParameterValue + "parameter_value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RetryOptions + "retry_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DurationInSeconds + "duration_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RoleARN + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: S3Configuration + "s3_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BucketARN + "bucket_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CloudWatchLoggingOptions + "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LogGroupName + "log_group_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LogStreamName + "log_stream_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CompressionFormat + "compression_format": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: EncryptionConfiguration + "encryption_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: KMSEncryptionConfig + "kms_encryption_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AWSKMSKeyARN + "awskms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: NoEncryptionConfig + "no_encryption_config": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ErrorOutputPrefix + "error_output_prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Prefix + "prefix": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RoleARN + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: s3BackupMode + "s_3_backup_mode": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: KinesisStreamSourceConfiguration // CloudFormation resource type schema: // @@ -4243,6 +4744,18 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error // "pattern": ".+?\\.snowflakecomputing\\.com", // "type": "string" // }, + // "BufferingHints": { + // "additionalProperties": false, + // "properties": { + // "IntervalInSeconds": { + // "type": "integer" + // }, + // "SizeInMBs": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, // "CloudWatchLoggingOptions": { // "additionalProperties": false, // "properties": { @@ -4590,6 +5103,20 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "account_url": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: BufferingHints + "buffering_hints": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: IntervalInSeconds + "interval_in_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SizeInMBs + "size_in_m_bs": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: CloudWatchLoggingOptions "cloudwatch_logging_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -5386,6 +5913,8 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "bucket_arn": "BucketARN", "buffering_hints": "BufferingHints", "case_insensitive": "CaseInsensitive", + "catalog_arn": "CatalogArn", + "catalog_configuration": "CatalogConfiguration", "catalog_id": "CatalogId", "cloudwatch_logging_options": "CloudWatchLoggingOptions", "cluster_endpoint": "ClusterEndpoint", @@ -5413,6 +5942,9 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "delivery_stream_name": "DeliveryStreamName", "delivery_stream_type": "DeliveryStreamType", "deserializer": "Deserializer", + "destination_database_name": "DestinationDatabaseName", + "destination_table_configuration_list": "DestinationTableConfigurationList", + "destination_table_name": "DestinationTableName", "dictionary_key_threshold": "DictionaryKeyThreshold", "document_id_options": "DocumentIdOptions", "domain_arn": "DomainARN", @@ -5434,6 +5966,7 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "hec_token": "HECToken", "hive_json_ser_de": "HiveJsonSerDe", "http_endpoint_destination_configuration": "HttpEndpointDestinationConfiguration", + "iceberg_destination_configuration": "IcebergDestinationConfiguration", "index_name": "IndexName", "index_rotation_period": "IndexRotationPeriod", "input_format_configuration": "InputFormatConfiguration", @@ -5478,6 +6011,8 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "s3_backup_mode": "S3BackupMode", "s3_configuration": "S3Configuration", "s3_destination_configuration": "S3DestinationConfiguration", + "s3_error_output_prefix": "S3ErrorOutputPrefix", + "s_3_backup_mode": "s3BackupMode", "schema": "Schema", "schema_configuration": "SchemaConfiguration", "secret_arn": "SecretARN", @@ -5499,6 +6034,7 @@ func deliveryStreamDataSource(ctx context.Context) (datasource.DataSource, error "topic_name": "TopicName", "type": "Type", "type_name": "TypeName", + "unique_keys": "UniqueKeys", "url": "Url", "user": "User", "username": "Username", diff --git a/internal/aws/panorama/application_instance_resource_gen.go b/internal/aws/panorama/application_instance_resource_gen.go index 0baea18e4..1d1725c76 100644 --- a/internal/aws/panorama/application_instance_resource_gen.go +++ b/internal/aws/panorama/application_instance_resource_gen.go @@ -49,14 +49,16 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { + // "description": "The ID of an application instance to replace with the new instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "application_instance_id_to_replace": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The ID of an application instance to replace with the new instance.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9\\-\\_]+$"), ""), @@ -97,13 +99,15 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { + // "description": "The device's ID.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "default_runtime_context_device": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The device's ID.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9\\-\\_]+$"), ""), @@ -131,14 +135,16 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { + // "description": "A description for the application instance.", // "maxLength": 255, // "minLength": 0, // "pattern": "^.*$", // "type": "string" // } "description": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A description for the application instance.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(0, 255), stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), @@ -182,8 +188,10 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // // { // "additionalProperties": false, + // "description": "Setting overrides for the application manifest.", // "properties": { // "PayloadData": { + // "description": "The overrides document.", // "maxLength": 51200, // "minLength": 0, // "pattern": "^.+$", @@ -196,8 +204,9 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PayloadData "payload_data": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The overrides document.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(0, 51200), stringvalidator.RegexMatches(regexp.MustCompile("^.+$"), ""), @@ -207,8 +216,9 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Optional: true, - Computed: true, + Description: "Setting overrides for the application manifest.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), objectplanmodifier.RequiresReplaceIfConfigured(), @@ -219,8 +229,10 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // // { // "additionalProperties": false, + // "description": "The application's manifest document.", // "properties": { // "PayloadData": { + // "description": "The application manifest.", // "maxLength": 51200, // "minLength": 1, // "pattern": "^.+$", @@ -233,8 +245,9 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PayloadData "payload_data": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The application manifest.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 51200), stringvalidator.RegexMatches(regexp.MustCompile("^.+$"), ""), @@ -244,7 +257,8 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Required: true, + Description: "The application's manifest document.", + Required: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ @@ -253,14 +267,16 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { + // "description": "A name for the application instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A name for the application instance.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9\\-\\_]+$"), ""), @@ -274,14 +290,16 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { + // "description": "The ARN of a runtime role for the application instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:iam::[0-9]{12}:role/.+$", // "type": "string" // } "runtime_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The ARN of a runtime role for the application instance.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^arn:[a-z0-9][-.a-z0-9]{0,62}:iam::[0-9]{12}:role/.+$"), ""), @@ -333,20 +351,21 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) // CloudFormation resource type schema: // // { - // "description": "List of tags", + // "description": "Tags for the application instance.", // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "", // "properties": { // "Key": { - // "description": "A string used to identify this tag", + // "description": "", // "maxLength": 128, // "minLength": 1, // "pattern": "^.+$", // "type": "string" // }, // "Value": { - // "description": "A string containing the value for the tag", + // "description": "", // "maxLength": 256, // "minLength": 0, // "pattern": "^.+$", @@ -367,7 +386,7 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "A string used to identify this tag", + Description: "", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), @@ -376,7 +395,7 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "A string containing the value for the tag", + Description: "", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(0, 256), @@ -385,7 +404,7 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "List of tags", + Description: "Tags for the application instance.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -404,7 +423,7 @@ func applicationInstanceResource(ctx context.Context) (resource.Resource, error) } schema := schema.Schema{ - Description: "Schema for ApplicationInstance CloudFormation Resource", + Description: "Creates an application instance and deploys it to a device.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/panorama/application_instance_singular_data_source_gen.go b/internal/aws/panorama/application_instance_singular_data_source_gen.go index 207551787..fa9617feb 100644 --- a/internal/aws/panorama/application_instance_singular_data_source_gen.go +++ b/internal/aws/panorama/application_instance_singular_data_source_gen.go @@ -38,13 +38,15 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, // CloudFormation resource type schema: // // { + // "description": "The ID of an application instance to replace with the new instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "application_instance_id_to_replace": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The ID of an application instance to replace with the new instance.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Arn // CloudFormation resource type schema: @@ -70,13 +72,15 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, // CloudFormation resource type schema: // // { + // "description": "The device's ID.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "default_runtime_context_device": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The device's ID.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: DefaultRuntimeContextDeviceName // CloudFormation resource type schema: @@ -94,13 +98,15 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, // CloudFormation resource type schema: // // { + // "description": "A description for the application instance.", // "maxLength": 255, // "minLength": 0, // "pattern": "^.*$", // "type": "string" // } "description": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A description for the application instance.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: HealthStatus // CloudFormation resource type schema: @@ -130,8 +136,10 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, // // { // "additionalProperties": false, + // "description": "Setting overrides for the application manifest.", // "properties": { // "PayloadData": { + // "description": "The overrides document.", // "maxLength": 51200, // "minLength": 0, // "pattern": "^.+$", @@ -144,18 +152,22 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PayloadData "payload_data": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The overrides document.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "Setting overrides for the application manifest.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: ManifestPayload // CloudFormation resource type schema: // // { // "additionalProperties": false, + // "description": "The application's manifest document.", // "properties": { // "PayloadData": { + // "description": "The application manifest.", // "maxLength": 51200, // "minLength": 1, // "pattern": "^.+$", @@ -168,34 +180,40 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: PayloadData "payload_data": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The application manifest.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "The application's manifest document.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Name // CloudFormation resource type schema: // // { + // "description": "A name for the application instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A name for the application instance.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: RuntimeRoleArn // CloudFormation resource type schema: // // { + // "description": "The ARN of a runtime role for the application instance.", // "maxLength": 255, // "minLength": 1, // "pattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:iam::[0-9]{12}:role/.+$", // "type": "string" // } "runtime_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The ARN of a runtime role for the application instance.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Status // CloudFormation resource type schema: @@ -233,20 +251,21 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, // CloudFormation resource type schema: // // { - // "description": "List of tags", + // "description": "Tags for the application instance.", // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "", // "properties": { // "Key": { - // "description": "A string used to identify this tag", + // "description": "", // "maxLength": 128, // "minLength": 1, // "pattern": "^.+$", // "type": "string" // }, // "Value": { - // "description": "A string containing the value for the tag", + // "description": "", // "maxLength": 256, // "minLength": 0, // "pattern": "^.+$", @@ -267,17 +286,17 @@ func applicationInstanceDataSource(ctx context.Context) (datasource.DataSource, Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "A string used to identify this tag", + Description: "", Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "A string containing the value for the tag", + Description: "", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "List of tags", + Description: "Tags for the application instance.", Computed: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/panorama/package_resource_gen.go b/internal/aws/panorama/package_resource_gen.go index 7f1748b2e..d0a84c9a1 100644 --- a/internal/aws/panorama/package_resource_gen.go +++ b/internal/aws/panorama/package_resource_gen.go @@ -75,13 +75,15 @@ func packageResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "A name for the package.", // "maxLength": 128, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "package_name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "A name for the package.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9\\-\\_]+$"), ""), @@ -95,20 +97,26 @@ func packageResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, + // "description": "A storage location.", // "properties": { // "BinaryPrefixLocation": { + // "description": "The location's binary prefix.", // "type": "string" // }, // "Bucket": { + // "description": "The location's bucket.", // "type": "string" // }, // "GeneratedPrefixLocation": { + // "description": "The location's generated prefix.", // "type": "string" // }, // "ManifestPrefixLocation": { + // "description": "The location's manifest prefix.", // "type": "string" // }, // "RepoPrefixLocation": { + // "description": "The location's repo prefix.", // "type": "string" // } // }, @@ -118,42 +126,48 @@ func packageResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: BinaryPrefixLocation "binary_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's binary prefix.", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Bucket "bucket": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's bucket.", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: GeneratedPrefixLocation "generated_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's generated prefix.", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: ManifestPrefixLocation "manifest_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's manifest prefix.", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: RepoPrefixLocation "repo_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's repo prefix.", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Optional: true, - Computed: true, + Description: "A storage location.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -162,17 +176,21 @@ func packageResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "Tags for the package.", // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "", // "properties": { // "Key": { + // "description": "", // "maxLength": 128, // "minLength": 1, // "pattern": "^.+$", // "type": "string" // }, // "Value": { + // "description": "", // "maxLength": 256, // "minLength": 0, // "pattern": "^.+$", @@ -193,7 +211,8 @@ func packageResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), stringvalidator.RegexMatches(regexp.MustCompile("^.+$"), ""), @@ -201,7 +220,8 @@ func packageResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(0, 256), stringvalidator.RegexMatches(regexp.MustCompile("^.+$"), ""), @@ -209,8 +229,9 @@ func packageResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Optional: true, - Computed: true, + Description: "Tags for the package.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ setplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -227,7 +248,7 @@ func packageResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Schema for Package CloudFormation Resource", + Description: "Creates a package and storage location in an Amazon S3 access point.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/panorama/package_singular_data_source_gen.go b/internal/aws/panorama/package_singular_data_source_gen.go index a27a338e4..8497d891a 100644 --- a/internal/aws/panorama/package_singular_data_source_gen.go +++ b/internal/aws/panorama/package_singular_data_source_gen.go @@ -58,33 +58,41 @@ func packageDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { + // "description": "A name for the package.", // "maxLength": 128, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_]+$", // "type": "string" // } "package_name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A name for the package.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: StorageLocation // CloudFormation resource type schema: // // { // "additionalProperties": false, + // "description": "A storage location.", // "properties": { // "BinaryPrefixLocation": { + // "description": "The location's binary prefix.", // "type": "string" // }, // "Bucket": { + // "description": "The location's bucket.", // "type": "string" // }, // "GeneratedPrefixLocation": { + // "description": "The location's generated prefix.", // "type": "string" // }, // "ManifestPrefixLocation": { + // "description": "The location's manifest prefix.", // "type": "string" // }, // "RepoPrefixLocation": { + // "description": "The location's repo prefix.", // "type": "string" // } // }, @@ -94,42 +102,52 @@ func packageDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: BinaryPrefixLocation "binary_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's binary prefix.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Bucket "bucket": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's bucket.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: GeneratedPrefixLocation "generated_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's generated prefix.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: ManifestPrefixLocation "manifest_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's manifest prefix.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: RepoPrefixLocation "repo_prefix_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The location's repo prefix.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "A storage location.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // // { + // "description": "Tags for the package.", // "insertionOrder": false, // "items": { // "additionalProperties": false, + // "description": "", // "properties": { // "Key": { + // "description": "", // "maxLength": 128, // "minLength": 1, // "pattern": "^.+$", // "type": "string" // }, // "Value": { + // "description": "", // "maxLength": 256, // "minLength": 0, // "pattern": "^.+$", @@ -150,15 +168,18 @@ func packageDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Computed: true, + Description: "Tags for the package.", + Computed: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/panorama/package_version_resource_gen.go b/internal/aws/panorama/package_version_resource_gen.go index 1d8a00217..894a46042 100644 --- a/internal/aws/panorama/package_version_resource_gen.go +++ b/internal/aws/panorama/package_version_resource_gen.go @@ -33,10 +33,12 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "boolean" // } "is_latest_patch": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ boolplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -45,11 +47,13 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "Whether to mark the new version as the latest version.", // "type": "boolean" // } "mark_latest": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "Whether to mark the new version as the latest version.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ boolplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -58,14 +62,16 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "An owner account.", // "maxLength": 12, // "minLength": 1, // "pattern": "^[0-9a-z\\_]+$", // "type": "string" // } "owner_account": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "An owner account.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 12), stringvalidator.RegexMatches(regexp.MustCompile("^[0-9a-z\\_]+$"), ""), @@ -93,13 +99,15 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "A package ID.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_\\/]+$", // "type": "string" // } "package_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "A package ID.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9\\-\\_\\/]+$"), ""), @@ -127,13 +135,15 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "A package version.", // "maxLength": 255, // "minLength": 1, // "pattern": "^([0-9]+)\\.([0-9]+)$", // "type": "string" // } "package_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "A package version.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^([0-9]+)\\.([0-9]+)$"), ""), @@ -146,13 +156,15 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "A patch version.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-z0-9]+$", // "type": "string" // } "patch_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "A patch version.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9]+$"), ""), @@ -209,14 +221,16 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "If the version was marked latest, the new version to maker as latest.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-z0-9]+$", // "type": "string" // } "updated_latest_patch_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "If the version was marked latest, the new version to maker as latest.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9]+$"), ""), @@ -238,7 +252,7 @@ func packageVersionResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Schema for PackageVersion Resource Type", + Description: "Registers a package version.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/panorama/package_version_singular_data_source_gen.go b/internal/aws/panorama/package_version_singular_data_source_gen.go index 4f832a961..9c9e96af4 100644 --- a/internal/aws/panorama/package_version_singular_data_source_gen.go +++ b/internal/aws/panorama/package_version_singular_data_source_gen.go @@ -26,31 +26,37 @@ func packageVersionDataSource(ctx context.Context) (datasource.DataSource, error // CloudFormation resource type schema: // // { + // "description": "", // "type": "boolean" // } "is_latest_patch": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: MarkLatest // CloudFormation resource type schema: // // { + // "description": "Whether to mark the new version as the latest version.", // "type": "boolean" // } "mark_latest": schema.BoolAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "Whether to mark the new version as the latest version.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: OwnerAccount // CloudFormation resource type schema: // // { + // "description": "An owner account.", // "maxLength": 12, // "minLength": 1, // "pattern": "^[0-9a-z\\_]+$", // "type": "string" // } "owner_account": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "An owner account.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: PackageArn // CloudFormation resource type schema: @@ -67,13 +73,15 @@ func packageVersionDataSource(ctx context.Context) (datasource.DataSource, error // CloudFormation resource type schema: // // { + // "description": "A package ID.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-zA-Z0-9\\-\\_\\/]+$", // "type": "string" // } "package_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A package ID.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: PackageName // CloudFormation resource type schema: @@ -91,25 +99,29 @@ func packageVersionDataSource(ctx context.Context) (datasource.DataSource, error // CloudFormation resource type schema: // // { + // "description": "A package version.", // "maxLength": 255, // "minLength": 1, // "pattern": "^([0-9]+)\\.([0-9]+)$", // "type": "string" // } "package_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A package version.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: PatchVersion // CloudFormation resource type schema: // // { + // "description": "A patch version.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-z0-9]+$", // "type": "string" // } "patch_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A patch version.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: RegisteredTime // CloudFormation resource type schema: @@ -150,13 +162,15 @@ func packageVersionDataSource(ctx context.Context) (datasource.DataSource, error // CloudFormation resource type schema: // // { + // "description": "If the version was marked latest, the new version to maker as latest.", // "maxLength": 255, // "minLength": 1, // "pattern": "^[a-z0-9]+$", // "type": "string" // } "updated_latest_patch_version": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "If the version was marked latest, the new version to maker as latest.", + Computed: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/rds/integration_resource_gen.go b/internal/aws/rds/integration_resource_gen.go index 9bbbaa410..1d0f3dc39 100644 --- a/internal/aws/rds/integration_resource_gen.go +++ b/internal/aws/rds/integration_resource_gen.go @@ -36,7 +36,7 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, - // "description": "An optional set of non-secret key–value pairs that contains additional contextual information about the data.", + // "description": "An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*.\n You can only include this parameter if you specify the ``KMSKeyId`` parameter.", // "patternProperties": { // "": { // "maxLength": 131072, @@ -49,7 +49,7 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { "additional_encryption_context": // Pattern: "" schema.MapAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, - Description: "An optional set of non-secret key–value pairs that contains additional contextual information about the data.", + Description: "An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*.\n You can only include this parameter if you specify the ``KMSKeyId`` parameter.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ @@ -61,10 +61,12 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "create_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -73,14 +75,14 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The data filter for the integration.", + // "description": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", // "maxLength": 25600, // "minLength": 1, // "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*", // "type": "string" // } "data_filter": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The data filter for the integration.", + Description: "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ @@ -95,13 +97,13 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The description of the integration.", + // "description": "A description of the integration.", // "maxLength": 1000, // "minLength": 1, // "type": "string" // } "description": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The description of the integration.", + Description: "A description of the integration.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ @@ -115,11 +117,11 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The ARN of the integration.", + // "description": "", // "type": "string" // } "integration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ARN of the integration.", + Description: "", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -149,11 +151,11 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource.", + // "description": "The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", // "type": "string" // } "kms_key_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource.", + Description: "The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -165,11 +167,11 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication.", + // "description": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", // "type": "string" // } "source_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication.", + Description: "The Amazon Resource Name (ARN) of the database to use as the source for replication.", Required: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.RequiresReplace(), @@ -179,20 +181,20 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "An array of key-value pairs to apply to this resource.", + // "description": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*.", // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "A key-value pair to associate with a resource.", + // "description": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", // "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": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", // "maxLength": 128, // "minLength": 1, // "type": "string" // }, // "Value": { - // "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 -. ", + // "description": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", // "maxLength": 256, // "minLength": 0, // "type": "string" @@ -212,7 +214,7 @@ func integrationResource(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: "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), @@ -220,7 +222,7 @@ func integrationResource(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 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 -. ", + Description: "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ @@ -232,7 +234,7 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "An array of key-value pairs to apply to this resource.", + Description: "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*.", Optional: true, Computed: true, Validators: []validator.Set{ /*START VALIDATORS*/ @@ -268,7 +270,7 @@ func integrationResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Creates a zero-ETL integration with Amazon Redshift.", + Description: "A zero-ETL integration with Amazon Redshift.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/rds/integration_singular_data_source_gen.go b/internal/aws/rds/integration_singular_data_source_gen.go index 9b3c4c93c..04a1924e1 100644 --- a/internal/aws/rds/integration_singular_data_source_gen.go +++ b/internal/aws/rds/integration_singular_data_source_gen.go @@ -28,7 +28,7 @@ func integrationDataSource(ctx context.Context) (datasource.DataSource, error) { // // { // "additionalProperties": false, - // "description": "An optional set of non-secret key–value pairs that contains additional contextual information about the data.", + // "description": "An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*.\n You can only include this parameter if you specify the ``KMSKeyId`` parameter.", // "patternProperties": { // "": { // "maxLength": 131072, @@ -41,54 +41,56 @@ func integrationDataSource(ctx context.Context) (datasource.DataSource, error) { "additional_encryption_context": // Pattern: "" schema.MapAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, - Description: "An optional set of non-secret key–value pairs that contains additional contextual information about the data.", + Description: "An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*.\n You can only include this parameter if you specify the ``KMSKeyId`` parameter.", Computed: true, }, /*END ATTRIBUTE*/ // Property: CreateTime // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "create_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: DataFilter // CloudFormation resource type schema: // // { - // "description": "The data filter for the integration.", + // "description": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", // "maxLength": 25600, // "minLength": 1, // "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*", // "type": "string" // } "data_filter": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The data filter for the integration.", + Description: "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Description // CloudFormation resource type schema: // // { - // "description": "The description of the integration.", + // "description": "A description of the integration.", // "maxLength": 1000, // "minLength": 1, // "type": "string" // } "description": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The description of the integration.", + Description: "A description of the integration.", Computed: true, }, /*END ATTRIBUTE*/ // Property: IntegrationArn // CloudFormation resource type schema: // // { - // "description": "The ARN of the integration.", + // "description": "", // "type": "string" // } "integration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ARN of the integration.", + Description: "", Computed: true, }, /*END ATTRIBUTE*/ // Property: IntegrationName @@ -108,42 +110,42 @@ func integrationDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { - // "description": "An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource.", + // "description": "The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", // "type": "string" // } "kms_key_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource.", + Description: "The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", Computed: true, }, /*END ATTRIBUTE*/ // Property: SourceArn // CloudFormation resource type schema: // // { - // "description": "The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication.", + // "description": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", // "type": "string" // } "source_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication.", + Description: "The Amazon Resource Name (ARN) of the database to use as the source for replication.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // // { - // "description": "An array of key-value pairs to apply to this resource.", + // "description": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*.", // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "A key-value pair to associate with a resource.", + // "description": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", // "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": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", // "maxLength": 128, // "minLength": 1, // "type": "string" // }, // "Value": { - // "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 -. ", + // "description": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", // "maxLength": 256, // "minLength": 0, // "type": "string" @@ -163,17 +165,17 @@ func integrationDataSource(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: "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - 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 -. ", + Description: "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "An array of key-value pairs to apply to this resource.", + Description: "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*.", Computed: true, }, /*END ATTRIBUTE*/ // Property: TargetArn diff --git a/internal/aws/sagemaker/app_resource_gen.go b/internal/aws/sagemaker/app_resource_gen.go index 2a218d819..c9df6c9ca 100644 --- a/internal/aws/sagemaker/app_resource_gen.go +++ b/internal/aws/sagemaker/app_resource_gen.go @@ -193,6 +193,12 @@ func appResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -288,6 +294,19 @@ func appResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -433,6 +452,7 @@ func appResource(ctx context.Context) (resource.Resource, error) { "domain_id": "DomainId", "instance_type": "InstanceType", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", "resource_spec": "ResourceSpec", "sage_maker_image_arn": "SageMakerImageArn", "sage_maker_image_version_arn": "SageMakerImageVersionArn", diff --git a/internal/aws/sagemaker/app_singular_data_source_gen.go b/internal/aws/sagemaker/app_singular_data_source_gen.go index f0a8ba936..ad7ca36c1 100644 --- a/internal/aws/sagemaker/app_singular_data_source_gen.go +++ b/internal/aws/sagemaker/app_singular_data_source_gen.go @@ -157,6 +157,12 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -181,6 +187,11 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -278,6 +289,7 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) { "domain_id": "DomainId", "instance_type": "InstanceType", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", "resource_spec": "ResourceSpec", "sage_maker_image_arn": "SageMakerImageArn", "sage_maker_image_version_arn": "SageMakerImageVersionArn", diff --git a/internal/aws/sagemaker/domain_resource_gen.go b/internal/aws/sagemaker/domain_resource_gen.go index b3e583d70..df4d92bb8 100644 --- a/internal/aws/sagemaker/domain_resource_gen.go +++ b/internal/aws/sagemaker/domain_resource_gen.go @@ -444,6 +444,19 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -581,6 +594,19 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -1068,6 +1094,23 @@ func domainResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Optional: true, @@ -1252,6 +1295,23 @@ func domainResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Optional: true, @@ -1812,6 +1872,19 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -1949,6 +2022,19 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -2221,7 +2307,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // "DataWrangler", // "FeatureStore", // "EmrClusters", - // "AutoML", + // "AutoMl", // "Experiments", // "Training", // "ModelEvaluation", @@ -2892,6 +2978,23 @@ func domainResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Optional: true, @@ -3076,6 +3179,23 @@ func domainResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Optional: true, @@ -3471,7 +3591,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "DataWrangler", "FeatureStore", "EmrClusters", - "AutoML", + "AutoMl", "Experiments", "Training", "ModelEvaluation", diff --git a/internal/aws/sagemaker/domain_singular_data_source_gen.go b/internal/aws/sagemaker/domain_singular_data_source_gen.go index 9ea4f6e5b..5a2f2a120 100644 --- a/internal/aws/sagemaker/domain_singular_data_source_gen.go +++ b/internal/aws/sagemaker/domain_singular_data_source_gen.go @@ -403,6 +403,19 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -540,6 +553,19 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -744,6 +770,12 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Computed: true, @@ -802,6 +834,12 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Computed: true, @@ -1328,6 +1366,19 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -1465,6 +1516,19 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -1737,7 +1801,7 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { // "DataWrangler", // "FeatureStore", // "EmrClusters", - // "AutoML", + // "AutoMl", // "Experiments", // "Training", // "ModelEvaluation", @@ -1982,6 +2046,12 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Computed: true, @@ -2040,6 +2110,12 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Computed: true, diff --git a/internal/aws/sagemaker/space_resource_gen.go b/internal/aws/sagemaker/space_resource_gen.go index 256db8538..e597245d9 100644 --- a/internal/aws/sagemaker/space_resource_gen.go +++ b/internal/aws/sagemaker/space_resource_gen.go @@ -20,6 +20,7 @@ import ( "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-plugin-framework/types" "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" ) @@ -234,6 +235,12 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -377,6 +384,12 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -471,6 +484,12 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -485,6 +504,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -601,6 +633,12 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -615,6 +653,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -748,6 +799,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -929,6 +993,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1052,6 +1129,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1085,6 +1175,23 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Optional: true, @@ -1221,6 +1328,19 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1255,6 +1375,23 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Optional: true, @@ -1455,6 +1592,8 @@ func spaceResource(ctx context.Context) (resource.Resource, error) { "jupyter_server_app_settings": "JupyterServerAppSettings", "kernel_gateway_app_settings": "KernelGatewayAppSettings", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", + "lifecycle_config_arns": "LifecycleConfigArns", "owner_user_profile_name": "OwnerUserProfileName", "ownership_settings": "OwnershipSettings", "repository_url": "RepositoryUrl", diff --git a/internal/aws/sagemaker/space_singular_data_source_gen.go b/internal/aws/sagemaker/space_singular_data_source_gen.go index 8a23bdfd2..04eba3422 100644 --- a/internal/aws/sagemaker/space_singular_data_source_gen.go +++ b/internal/aws/sagemaker/space_singular_data_source_gen.go @@ -10,6 +10,7 @@ import ( "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" ) @@ -193,6 +194,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -336,6 +343,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -430,6 +443,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -444,6 +463,19 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -560,6 +592,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -574,6 +612,19 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -621,6 +672,11 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -681,6 +737,11 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -709,6 +770,11 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -722,6 +788,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Computed: true, @@ -761,6 +833,11 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -775,6 +852,12 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Computed: true, @@ -922,6 +1005,8 @@ func spaceDataSource(ctx context.Context) (datasource.DataSource, error) { "jupyter_server_app_settings": "JupyterServerAppSettings", "kernel_gateway_app_settings": "KernelGatewayAppSettings", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", + "lifecycle_config_arns": "LifecycleConfigArns", "owner_user_profile_name": "OwnerUserProfileName", "ownership_settings": "OwnershipSettings", "repository_url": "RepositoryUrl", diff --git a/internal/aws/sagemaker/studio_lifecycle_config_plural_data_source_gen.go b/internal/aws/sagemaker/studio_lifecycle_config_plural_data_source_gen.go new file mode 100644 index 000000000..60a0454db --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_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 sagemaker + +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_sagemaker_studio_lifecycle_configs", studioLifecycleConfigsDataSource) +} + +// studioLifecycleConfigsDataSource returns the Terraform awscc_sagemaker_studio_lifecycle_configs data source. +// This Terraform data source corresponds to the CloudFormation AWS::SageMaker::StudioLifecycleConfig resource. +func studioLifecycleConfigsDataSource(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::SageMaker::StudioLifecycleConfig", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::SageMaker::StudioLifecycleConfig").WithTerraformTypeName("awscc_sagemaker_studio_lifecycle_configs") + opts = opts.WithTerraformSchema(schema) + + v, err := generic.NewPluralDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/sagemaker/studio_lifecycle_config_plural_data_source_gen_test.go b/internal/aws/sagemaker/studio_lifecycle_config_plural_data_source_gen_test.go new file mode 100644 index 000000000..3ba15533b --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_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 sagemaker_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSSageMakerStudioLifecycleConfigsDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::SageMaker::StudioLifecycleConfig", "awscc_sagemaker_studio_lifecycle_configs", "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/sagemaker/studio_lifecycle_config_resource_gen.go b/internal/aws/sagemaker/studio_lifecycle_config_resource_gen.go new file mode 100644 index 000000000..092a0f338 --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_resource_gen.go @@ -0,0 +1,223 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/resource/main.go; DO NOT EDIT. + +package sagemaker + +import ( + "context" + "regexp" + + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "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_sagemaker_studio_lifecycle_config", studioLifecycleConfigResource) +} + +// studioLifecycleConfigResource returns the Terraform awscc_sagemaker_studio_lifecycle_config resource. +// This Terraform resource corresponds to the CloudFormation AWS::SageMaker::StudioLifecycleConfig resource. +func studioLifecycleConfigResource(ctx context.Context) (resource.Resource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: StudioLifecycleConfigAppType + // CloudFormation resource type schema: + // + // { + // "description": "The App type that the Lifecycle Configuration is attached to.", + // "enum": [ + // "JupyterServer", + // "KernelGateway", + // "CodeEditor", + // "JupyterLab" + // ], + // "type": "string" + // } + "studio_lifecycle_config_app_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The App type that the Lifecycle Configuration is attached to.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "JupyterServer", + "KernelGateway", + "CodeEditor", + "JupyterLab", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigArn + // CloudFormation resource type schema: + // + // { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // } + "studio_lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigContent + // CloudFormation resource type schema: + // + // { + // "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + // "maxLength": 16384, + // "minLength": 1, + // "pattern": "[\\S\\s]+", + // "type": "string" + // } + "studio_lifecycle_config_content": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 16384), + stringvalidator.RegexMatches(regexp.MustCompile("[\\S\\s]+"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigName + // CloudFormation resource type schema: + // + // { + // "description": "The name of the Amazon SageMaker Studio Lifecycle Configuration.", + // "maxLength": 63, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + // "type": "string" + // } + "studio_lifecycle_config_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the Amazon SageMaker Studio Lifecycle Configuration.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 63), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "Tags to be associated with the Lifecycle Configuration.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "Value": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "maxItems": 50, + // "minItems": 0, + // "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*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 128), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: Value + "value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 128), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "Tags to be associated with the Lifecycle Configuration.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 50), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + listplanmodifier.RequiresReplaceIfConfigured(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + } /*END SCHEMA*/ + + // Corresponds to CloudFormation primaryIdentifier. + attributes["id"] = schema.StringAttribute{ + Description: "Uniquely identifies the resource.", + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + } + + schema := schema.Schema{ + Description: "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig", + Version: 1, + Attributes: attributes, + } + + var opts generic.ResourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::SageMaker::StudioLifecycleConfig").WithTerraformTypeName("awscc_sagemaker_studio_lifecycle_config") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "key": "Key", + "studio_lifecycle_config_app_type": "StudioLifecycleConfigAppType", + "studio_lifecycle_config_arn": "StudioLifecycleConfigArn", + "studio_lifecycle_config_content": "StudioLifecycleConfigContent", + "studio_lifecycle_config_name": "StudioLifecycleConfigName", + "tags": "Tags", + "value": "Value", + }) + + 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/sagemaker/studio_lifecycle_config_resource_gen_test.go b/internal/aws/sagemaker/studio_lifecycle_config_resource_gen_test.go new file mode 100644 index 000000000..cc8983c4a --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_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 sagemaker_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSSageMakerStudioLifecycleConfig_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::SageMaker::StudioLifecycleConfig", "awscc_sagemaker_studio_lifecycle_config", "test") + + td.ResourceTest(t, []resource.TestStep{ + { + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} diff --git a/internal/aws/sagemaker/studio_lifecycle_config_singular_data_source_gen.go b/internal/aws/sagemaker/studio_lifecycle_config_singular_data_source_gen.go new file mode 100644 index 000000000..7b968b587 --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_singular_data_source_gen.go @@ -0,0 +1,164 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. + +package sagemaker + +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_sagemaker_studio_lifecycle_config", studioLifecycleConfigDataSource) +} + +// studioLifecycleConfigDataSource returns the Terraform awscc_sagemaker_studio_lifecycle_config data source. +// This Terraform data source corresponds to the CloudFormation AWS::SageMaker::StudioLifecycleConfig resource. +func studioLifecycleConfigDataSource(ctx context.Context) (datasource.DataSource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: StudioLifecycleConfigAppType + // CloudFormation resource type schema: + // + // { + // "description": "The App type that the Lifecycle Configuration is attached to.", + // "enum": [ + // "JupyterServer", + // "KernelGateway", + // "CodeEditor", + // "JupyterLab" + // ], + // "type": "string" + // } + "studio_lifecycle_config_app_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The App type that the Lifecycle Configuration is attached to.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigArn + // CloudFormation resource type schema: + // + // { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // } + "studio_lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigContent + // CloudFormation resource type schema: + // + // { + // "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + // "maxLength": 16384, + // "minLength": 1, + // "pattern": "[\\S\\s]+", + // "type": "string" + // } + "studio_lifecycle_config_content": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StudioLifecycleConfigName + // CloudFormation resource type schema: + // + // { + // "description": "The name of the Amazon SageMaker Studio Lifecycle Configuration.", + // "maxLength": 63, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + // "type": "string" + // } + "studio_lifecycle_config_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the Amazon SageMaker Studio Lifecycle Configuration.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "Tags to be associated with the Lifecycle Configuration.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "Value": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "maxItems": 50, + // "minItems": 0, + // "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*/ + Description: "Tags to be associated with the Lifecycle Configuration.", + 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::SageMaker::StudioLifecycleConfig", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::SageMaker::StudioLifecycleConfig").WithTerraformTypeName("awscc_sagemaker_studio_lifecycle_config") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "key": "Key", + "studio_lifecycle_config_app_type": "StudioLifecycleConfigAppType", + "studio_lifecycle_config_arn": "StudioLifecycleConfigArn", + "studio_lifecycle_config_content": "StudioLifecycleConfigContent", + "studio_lifecycle_config_name": "StudioLifecycleConfigName", + "tags": "Tags", + "value": "Value", + }) + + v, err := generic.NewSingularDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/sagemaker/studio_lifecycle_config_singular_data_source_gen_test.go b/internal/aws/sagemaker/studio_lifecycle_config_singular_data_source_gen_test.go new file mode 100644 index 000000000..392a68b73 --- /dev/null +++ b/internal/aws/sagemaker/studio_lifecycle_config_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 sagemaker_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSSageMakerStudioLifecycleConfigDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::SageMaker::StudioLifecycleConfig", "awscc_sagemaker_studio_lifecycle_config", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} + +func TestAccAWSSageMakerStudioLifecycleConfigDataSource_NonExistent(t *testing.T) { + td := acctest.NewTestData(t, "AWS::SageMaker::StudioLifecycleConfig", "awscc_sagemaker_studio_lifecycle_config", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.DataSourceWithNonExistentIDConfig(), + ExpectError: regexp.MustCompile("Not Found"), + }, + }) +} diff --git a/internal/aws/sagemaker/user_profile_resource_gen.go b/internal/aws/sagemaker/user_profile_resource_gen.go index c550e1b19..93f079784 100644 --- a/internal/aws/sagemaker/user_profile_resource_gen.go +++ b/internal/aws/sagemaker/user_profile_resource_gen.go @@ -310,6 +310,12 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -540,6 +546,12 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -647,6 +659,12 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -661,6 +679,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -777,6 +808,12 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -791,6 +828,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -926,7 +976,7 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // "DataWrangler", // "FeatureStore", // "EmrClusters", - // "AutoML", + // "AutoMl", // "Experiments", // "Training", // "ModelEvaluation", @@ -1079,6 +1129,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1385,6 +1448,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1526,6 +1602,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1559,6 +1648,23 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Optional: true, @@ -1695,6 +1801,19 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1729,6 +1848,23 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 30), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Optional: true, @@ -1942,7 +2078,7 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { "DataWrangler", "FeatureStore", "EmrClusters", - "AutoML", + "AutoMl", "Experiments", "Training", "ModelEvaluation", @@ -2023,6 +2159,7 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { "jupyter_server_app_settings": "JupyterServerAppSettings", "kernel_gateway_app_settings": "KernelGatewayAppSettings", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", "lifecycle_config_arns": "LifecycleConfigArns", "maximum_ebs_volume_size_in_gb": "MaximumEbsVolumeSizeInGb", "notebook_output_option": "NotebookOutputOption", 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 3df1df780..c7c4e22c8 100644 --- a/internal/aws/sagemaker/user_profile_singular_data_source_gen.go +++ b/internal/aws/sagemaker/user_profile_singular_data_source_gen.go @@ -252,6 +252,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -482,6 +488,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -589,6 +601,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -603,6 +621,19 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -719,6 +750,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "string" // }, + // "LifecycleConfigArn": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, // "SageMakerImageArn": { // "description": "The ARN of the SageMaker image that the image version belongs to.", // "maxLength": 256, @@ -733,6 +770,19 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // } // }, // "type": "object" + // }, + // "LifecycleConfigArns": { + // "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + // "items": { + // "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + // "maxLength": 256, + // "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + // "type": "string" + // }, + // "maxItems": 30, + // "minItems": 0, + // "type": "array", + // "uniqueItems": false // } // }, // "type": "object" @@ -868,7 +918,7 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { // "DataWrangler", // "FeatureStore", // "EmrClusters", - // "AutoML", + // "AutoMl", // "Experiments", // "Training", // "ModelEvaluation", @@ -928,6 +978,11 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1047,6 +1102,11 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1082,6 +1142,11 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1095,6 +1160,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with JupyterServer apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The Jupyter server's app settings.", Computed: true, @@ -1134,6 +1205,11 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The instance type that the image version runs on.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArn + "lifecycle_config_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SageMakerImageArn "sage_maker_image_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The ARN of the SageMaker image that the image version belongs to.", @@ -1148,6 +1224,12 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: LifecycleConfigArns + "lifecycle_config_arns": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A list of LifecycleConfigArns available for use with KernelGateway apps.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The kernel gateway app settings.", Computed: true, @@ -1292,6 +1374,7 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) { "jupyter_server_app_settings": "JupyterServerAppSettings", "kernel_gateway_app_settings": "KernelGatewayAppSettings", "key": "Key", + "lifecycle_config_arn": "LifecycleConfigArn", "lifecycle_config_arns": "LifecycleConfigArns", "maximum_ebs_volume_size_in_gb": "MaximumEbsVolumeSizeInGb", "notebook_output_option": "NotebookOutputOption", diff --git a/internal/aws/securityhub/security_control_resource_gen.go b/internal/aws/securityhub/security_control_resource_gen.go index 5279eebde..797026237 100644 --- a/internal/aws/securityhub/security_control_resource_gen.go +++ b/internal/aws/securityhub/security_control_resource_gen.go @@ -332,6 +332,7 @@ func securityControlResource(ctx context.Context) (resource.Resource, error) { }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/sns/topic_resource_gen.go b/internal/aws/sns/topic_resource_gen.go index b18d8d2bf..f7956764e 100644 --- a/internal/aws/sns/topic_resource_gen.go +++ b/internal/aws/sns/topic_resource_gen.go @@ -81,18 +81,18 @@ func topicResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "", + // "description": "The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n + HTTP \n + Amazon Kinesis Data Firehose\n + AWS Lambda\n + Platform application endpoint\n + Amazon Simple Queue Service\n \n Once configured, log entries are sent to Amazon CloudWatch Logs.", // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "", + // "description": "The ``LoggingConfig`` property type specifies the ``Delivery`` status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).", // "properties": { // "FailureFeedbackRoleArn": { - // "description": "", + // "description": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", // "type": "string" // }, // "Protocol": { - // "description": "", + // "description": "Indicates one of the supported protocols for the Amazon SNS topic.\n At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.", // "enum": [ // "http/s", // "sqs", @@ -103,11 +103,11 @@ func topicResource(ctx context.Context) (resource.Resource, error) { // "type": "string" // }, // "SuccessFeedbackRoleArn": { - // "description": "", + // "description": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", // "type": "string" // }, // "SuccessFeedbackSampleRate": { - // "description": "", + // "description": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", // "type": "string" // } // }, @@ -124,7 +124,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: FailureFeedbackRoleArn "failure_feedback_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -133,7 +133,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: Protocol "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "Indicates one of the supported protocols for the Amazon SNS topic.\n At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( @@ -147,7 +147,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: SuccessFeedbackRoleArn "success_feedback_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -156,7 +156,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: SuccessFeedbackSampleRate "success_feedback_sample_rate": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -165,7 +165,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "", + Description: "The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n + HTTP \n + Amazon Kinesis Data Firehose\n + AWS Lambda\n + Platform application endpoint\n + Amazon Simple Queue Service\n \n Once configured, log entries are sent to Amazon CloudWatch Logs.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/sns/topic_singular_data_source_gen.go b/internal/aws/sns/topic_singular_data_source_gen.go index 84c2ac569..294cd9129 100644 --- a/internal/aws/sns/topic_singular_data_source_gen.go +++ b/internal/aws/sns/topic_singular_data_source_gen.go @@ -62,18 +62,18 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { - // "description": "", + // "description": "The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n + HTTP \n + Amazon Kinesis Data Firehose\n + AWS Lambda\n + Platform application endpoint\n + Amazon Simple Queue Service\n \n Once configured, log entries are sent to Amazon CloudWatch Logs.", // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "", + // "description": "The ``LoggingConfig`` property type specifies the ``Delivery`` status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).", // "properties": { // "FailureFeedbackRoleArn": { - // "description": "", + // "description": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", // "type": "string" // }, // "Protocol": { - // "description": "", + // "description": "Indicates one of the supported protocols for the Amazon SNS topic.\n At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.", // "enum": [ // "http/s", // "sqs", @@ -84,11 +84,11 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) { // "type": "string" // }, // "SuccessFeedbackRoleArn": { - // "description": "", + // "description": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", // "type": "string" // }, // "SuccessFeedbackSampleRate": { - // "description": "", + // "description": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", // "type": "string" // } // }, @@ -105,27 +105,27 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: FailureFeedbackRoleArn "failure_feedback_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Protocol "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "Indicates one of the supported protocols for the Amazon SNS topic.\n At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.", Computed: true, }, /*END ATTRIBUTE*/ // Property: SuccessFeedbackRoleArn "success_feedback_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", Computed: true, }, /*END ATTRIBUTE*/ // Property: SuccessFeedbackSampleRate "success_feedback_sample_rate": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "", + Description: "The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n + HTTP \n + Amazon Kinesis Data Firehose\n + AWS Lambda\n + Platform application endpoint\n + Amazon Simple Queue Service\n \n Once configured, log entries are sent to Amazon CloudWatch Logs.", Computed: true, }, /*END ATTRIBUTE*/ // Property: DisplayName diff --git a/internal/provider/all_schemas.hcl b/internal/provider/all_schemas.hcl index cddf7ca15..58045e5d9 100644 --- a/internal/provider/all_schemas.hcl +++ b/internal/provider/all_schemas.hcl @@ -10,7 +10,7 @@ meta_schema { path = "../service/cloudformation/meta-schemas/provider.definition.schema.v1.json" } -# 1033 CloudFormation resource types schemas are available for use with the Cloud Control API. +# 1037 CloudFormation resource types schemas are available for use with the Cloud Control API. resource_schema "aws_acmpca_certificate" { cloudformation_type_name = "AWS::ACMPCA::Certificate" @@ -44,6 +44,10 @@ 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" } @@ -649,6 +653,21 @@ resource_schema "aws_cleanrooms_configured_table_association" { 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 + + # Suppression Reason: InputReferenceProperties/IdMappingWorkflowsSupported is of unsupported type: list of undefined schema + # https://github.com/hashicorp/terraform-provider-awscc/issues/1933 + suppress_resource_generation = true + suppress_singular_data_source_generation = true +} + resource_schema "aws_cleanrooms_membership" { cloudformation_type_name = "AWS::CleanRooms::Membership" } @@ -4181,6 +4200,10 @@ 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" } diff --git a/internal/provider/generators/allschemas/available_schemas.2024-07-31.hcl b/internal/provider/generators/allschemas/available_schemas.2024-07-31.hcl new file mode 100644 index 000000000..7505ddce2 --- /dev/null +++ b/internal/provider/generators/allschemas/available_schemas.2024-07-31.hcl @@ -0,0 +1,4398 @@ +# 1037 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_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_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_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_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_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_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_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_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_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_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_certificatemanager_account" { + cloudformation_type_name = "AWS::CertificateManager::Account" + suppress_plural_data_source_generation = true +} + +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_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_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_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_cloudtrail_channel" { + cloudformation_type_name = "AWS::CloudTrail::Channel" +} + +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_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_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_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_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_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_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_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_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_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_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" +} + +resource_schema "aws_ec2_transit_gateway_multicast_group_source" { + cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastGroupSource" +} + +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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_nimblestudio_launch_profile" { + cloudformation_type_name = "AWS::NimbleStudio::LaunchProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_nimblestudio_streaming_image" { + cloudformation_type_name = "AWS::NimbleStudio::StreamingImage" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_nimblestudio_studio" { + cloudformation_type_name = "AWS::NimbleStudio::Studio" +} + +resource_schema "aws_nimblestudio_studio_component" { + cloudformation_type_name = "AWS::NimbleStudio::StudioComponent" + suppress_plural_data_source_generation = true +} + +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_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_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_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_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" +} + +resource_schema "aws_quicksight_analysis" { + cloudformation_type_name = "AWS::QuickSight::Analysis" + suppress_plural_data_source_generation = true +} + +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_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_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_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_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_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_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_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_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_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_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_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_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_secret" { + cloudformation_type_name = "AWS::SecretsManager::Secret" +} + +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_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_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_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_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_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_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/plural_data_sources.go b/internal/provider/plural_data_sources.go index 7ec5c3fa3..613583541 100644 --- a/internal/provider/plural_data_sources.go +++ b/internal/provider/plural_data_sources.go @@ -5,6 +5,7 @@ //go:generate go run generators/plural-data-source/main.go -data-source awscc_acmpca_certificate_authorities -cftype AWS::ACMPCA::CertificateAuthority -package acmpca ../aws/acmpca/certificate_authority_plural_data_source_gen.go ../aws/acmpca/certificate_authority_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_aps_scrapers -cftype AWS::APS::Scraper -package aps ../aws/aps/scraper_plural_data_source_gen.go ../aws/aps/scraper_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_aps_workspaces -cftype AWS::APS::Workspace -package aps ../aws/aps/workspace_plural_data_source_gen.go ../aws/aps/workspace_plural_data_source_gen_test.go +//go:generate go run generators/plural-data-source/main.go -data-source awscc_arczonalshift_autoshift_observer_notification_statuses -cftype AWS::ARCZonalShift::AutoshiftObserverNotificationStatus -package arczonalshift ../aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen.go ../aws/arczonalshift/autoshift_observer_notification_status_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_arczonalshift_zonal_autoshift_configurations -cftype AWS::ARCZonalShift::ZonalAutoshiftConfiguration -package arczonalshift ../aws/arczonalshift/zonal_autoshift_configuration_plural_data_source_gen.go ../aws/arczonalshift/zonal_autoshift_configuration_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_accessanalyzer_analyzers -cftype AWS::AccessAnalyzer::Analyzer -package accessanalyzer ../aws/accessanalyzer/analyzer_plural_data_source_gen.go ../aws/accessanalyzer/analyzer_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_amplify_apps -cftype AWS::Amplify::App -package amplify ../aws/amplify/app_plural_data_source_gen.go ../aws/amplify/app_plural_data_source_gen_test.go @@ -710,6 +711,7 @@ //go:generate go run generators/plural-data-source/main.go -data-source awscc_sagemaker_pipelines -cftype AWS::SageMaker::Pipeline -package sagemaker ../aws/sagemaker/pipeline_plural_data_source_gen.go ../aws/sagemaker/pipeline_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_sagemaker_projects -cftype AWS::SageMaker::Project -package sagemaker ../aws/sagemaker/project_plural_data_source_gen.go ../aws/sagemaker/project_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_sagemaker_spaces -cftype AWS::SageMaker::Space -package sagemaker ../aws/sagemaker/space_plural_data_source_gen.go ../aws/sagemaker/space_plural_data_source_gen_test.go +//go:generate go run generators/plural-data-source/main.go -data-source awscc_sagemaker_studio_lifecycle_configs -cftype AWS::SageMaker::StudioLifecycleConfig -package sagemaker ../aws/sagemaker/studio_lifecycle_config_plural_data_source_gen.go ../aws/sagemaker/studio_lifecycle_config_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_sagemaker_user_profiles -cftype AWS::SageMaker::UserProfile -package sagemaker ../aws/sagemaker/user_profile_plural_data_source_gen.go ../aws/sagemaker/user_profile_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_scheduler_schedule_groups -cftype AWS::Scheduler::ScheduleGroup -package scheduler ../aws/scheduler/schedule_group_plural_data_source_gen.go ../aws/scheduler/schedule_group_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_secretsmanager_resource_policies -cftype AWS::SecretsManager::ResourcePolicy -package secretsmanager ../aws/secretsmanager/resource_policy_plural_data_source_gen.go ../aws/secretsmanager/resource_policy_plural_data_source_gen_test.go diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 6950b0783..acbe72440 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -525,13 +525,13 @@ func newProviderData(ctx context.Context, c *config) (*providerData, diag.Diagno awsbaseConfig.EC2MetadataServiceEnableState = imds.ClientEnabled } - if !c.Endpoints.IAM.IsNull() { + if c.Endpoints != nil && !c.Endpoints.IAM.IsNull() { awsbaseConfig.IamEndpoint = c.Endpoints.IAM.ValueString() } - if !c.Endpoints.SSO.IsNull() { + if c.Endpoints != nil && !c.Endpoints.SSO.IsNull() { awsbaseConfig.SsoEndpoint = c.Endpoints.SSO.ValueString() } - if !c.Endpoints.STS.IsNull() { + if c.Endpoints != nil && !c.Endpoints.STS.IsNull() { awsbaseConfig.StsEndpoint = c.Endpoints.STS.ValueString() } @@ -551,7 +551,7 @@ func newProviderData(ctx context.Context, c *config) (*providerData, diag.Diagno } ccAPIClient := cloudcontrol.NewFromConfig(cfg, func(o *cloudcontrol.Options) { - if !c.Endpoints.CloudControlAPI.IsNull() { + if c.Endpoints != nil { o.BaseEndpoint = flex.StringFromFramework(ctx, c.Endpoints.CloudControlAPI) } }) diff --git a/internal/provider/resources.go b/internal/provider/resources.go index 173d6f96c..76c11ab05 100644 --- a/internal/provider/resources.go +++ b/internal/provider/resources.go @@ -9,6 +9,7 @@ //go:generate go run generators/resource/main.go -resource awscc_aps_rule_groups_namespace -cfschema ../service/cloudformation/schemas/AWS_APS_RuleGroupsNamespace.json -package aps -- ../aws/aps/rule_groups_namespace_resource_gen.go ../aws/aps/rule_groups_namespace_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_aps_scraper -cfschema ../service/cloudformation/schemas/AWS_APS_Scraper.json -package aps -- ../aws/aps/scraper_resource_gen.go ../aws/aps/scraper_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_aps_workspace -cfschema ../service/cloudformation/schemas/AWS_APS_Workspace.json -package aps -- ../aws/aps/workspace_resource_gen.go ../aws/aps/workspace_resource_gen_test.go +//go:generate go run generators/resource/main.go -resource awscc_arczonalshift_autoshift_observer_notification_status -cfschema ../service/cloudformation/schemas/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus.json -package arczonalshift -- ../aws/arczonalshift/autoshift_observer_notification_status_resource_gen.go ../aws/arczonalshift/autoshift_observer_notification_status_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_arczonalshift_zonal_autoshift_configuration -cfschema ../service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json -package arczonalshift -- ../aws/arczonalshift/zonal_autoshift_configuration_resource_gen.go ../aws/arczonalshift/zonal_autoshift_configuration_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_accessanalyzer_analyzer -cfschema ../service/cloudformation/schemas/AWS_AccessAnalyzer_Analyzer.json -package accessanalyzer -- ../aws/accessanalyzer/analyzer_resource_gen.go ../aws/accessanalyzer/analyzer_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_amplify_app -cfschema ../service/cloudformation/schemas/AWS_Amplify_App.json -package amplify -- ../aws/amplify/app_resource_gen.go ../aws/amplify/app_resource_gen_test.go @@ -131,6 +132,7 @@ //go:generate go run generators/resource/main.go -resource awscc_cleanrooms_collaboration -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json -package cleanrooms -- ../aws/cleanrooms/collaboration_resource_gen.go ../aws/cleanrooms/collaboration_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_cleanrooms_configured_table -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json -package cleanrooms -- ../aws/cleanrooms/configured_table_resource_gen.go ../aws/cleanrooms/configured_table_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_cleanrooms_configured_table_association -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json -package cleanrooms -- ../aws/cleanrooms/configured_table_association_resource_gen.go ../aws/cleanrooms/configured_table_association_resource_gen_test.go +//go:generate go run generators/resource/main.go -resource awscc_cleanrooms_id_mapping_table -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_IdMappingTable.json -package cleanrooms -- ../aws/cleanrooms/id_mapping_table_resource_gen.go ../aws/cleanrooms/id_mapping_table_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_cleanrooms_membership -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_Membership.json -package cleanrooms -- ../aws/cleanrooms/membership_resource_gen.go ../aws/cleanrooms/membership_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_cleanrooms_privacy_budget_template -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json -package cleanrooms -- ../aws/cleanrooms/privacy_budget_template_resource_gen.go ../aws/cleanrooms/privacy_budget_template_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_cleanroomsml_training_dataset -cfschema ../service/cloudformation/schemas/AWS_CleanRoomsML_TrainingDataset.json -package cleanroomsml -- ../aws/cleanroomsml/training_dataset_resource_gen.go ../aws/cleanroomsml/training_dataset_resource_gen_test.go @@ -921,6 +923,7 @@ //go:generate go run generators/resource/main.go -resource awscc_sagemaker_pipeline -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Pipeline.json -package sagemaker -- ../aws/sagemaker/pipeline_resource_gen.go ../aws/sagemaker/pipeline_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_sagemaker_project -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Project.json -package sagemaker -- ../aws/sagemaker/project_resource_gen.go ../aws/sagemaker/project_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_sagemaker_space -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Space.json -package sagemaker -- ../aws/sagemaker/space_resource_gen.go ../aws/sagemaker/space_resource_gen_test.go +//go:generate go run generators/resource/main.go -resource awscc_sagemaker_studio_lifecycle_config -cfschema ../service/cloudformation/schemas/AWS_SageMaker_StudioLifecycleConfig.json -package sagemaker -- ../aws/sagemaker/studio_lifecycle_config_resource_gen.go ../aws/sagemaker/studio_lifecycle_config_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_sagemaker_user_profile -cfschema ../service/cloudformation/schemas/AWS_SageMaker_UserProfile.json -package sagemaker -- ../aws/sagemaker/user_profile_resource_gen.go ../aws/sagemaker/user_profile_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_scheduler_schedule_group -cfschema ../service/cloudformation/schemas/AWS_Scheduler_ScheduleGroup.json -package scheduler -- ../aws/scheduler/schedule_group_resource_gen.go ../aws/scheduler/schedule_group_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_secretsmanager_resource_policy -cfschema ../service/cloudformation/schemas/AWS_SecretsManager_ResourcePolicy.json -package secretsmanager -- ../aws/secretsmanager/resource_policy_resource_gen.go ../aws/secretsmanager/resource_policy_resource_gen_test.go diff --git a/internal/provider/singular_data_sources.go b/internal/provider/singular_data_sources.go index ecdbd935d..690fd2da3 100644 --- a/internal/provider/singular_data_sources.go +++ b/internal/provider/singular_data_sources.go @@ -9,6 +9,7 @@ //go:generate go run generators/singular-data-source/main.go -data-source awscc_aps_rule_groups_namespace -cfschema ../service/cloudformation/schemas/AWS_APS_RuleGroupsNamespace.json -package aps ../aws/aps/rule_groups_namespace_singular_data_source_gen.go ../aws/aps/rule_groups_namespace_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_aps_scraper -cfschema ../service/cloudformation/schemas/AWS_APS_Scraper.json -package aps ../aws/aps/scraper_singular_data_source_gen.go ../aws/aps/scraper_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_aps_workspace -cfschema ../service/cloudformation/schemas/AWS_APS_Workspace.json -package aps ../aws/aps/workspace_singular_data_source_gen.go ../aws/aps/workspace_singular_data_source_gen_test.go +//go:generate go run generators/singular-data-source/main.go -data-source awscc_arczonalshift_autoshift_observer_notification_status -cfschema ../service/cloudformation/schemas/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus.json -package arczonalshift ../aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen.go ../aws/arczonalshift/autoshift_observer_notification_status_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_arczonalshift_zonal_autoshift_configuration -cfschema ../service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json -package arczonalshift ../aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen.go ../aws/arczonalshift/zonal_autoshift_configuration_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_accessanalyzer_analyzer -cfschema ../service/cloudformation/schemas/AWS_AccessAnalyzer_Analyzer.json -package accessanalyzer ../aws/accessanalyzer/analyzer_singular_data_source_gen.go ../aws/accessanalyzer/analyzer_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_amplify_app -cfschema ../service/cloudformation/schemas/AWS_Amplify_App.json -package amplify ../aws/amplify/app_singular_data_source_gen.go ../aws/amplify/app_singular_data_source_gen_test.go @@ -131,6 +132,7 @@ //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_collaboration -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json -package cleanrooms ../aws/cleanrooms/collaboration_singular_data_source_gen.go ../aws/cleanrooms/collaboration_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_configured_table -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json -package cleanrooms ../aws/cleanrooms/configured_table_singular_data_source_gen.go ../aws/cleanrooms/configured_table_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_configured_table_association -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json -package cleanrooms ../aws/cleanrooms/configured_table_association_singular_data_source_gen.go ../aws/cleanrooms/configured_table_association_singular_data_source_gen_test.go +//go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_id_mapping_table -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_IdMappingTable.json -package cleanrooms ../aws/cleanrooms/id_mapping_table_singular_data_source_gen.go ../aws/cleanrooms/id_mapping_table_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_membership -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_Membership.json -package cleanrooms ../aws/cleanrooms/membership_singular_data_source_gen.go ../aws/cleanrooms/membership_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanrooms_privacy_budget_template -cfschema ../service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json -package cleanrooms ../aws/cleanrooms/privacy_budget_template_singular_data_source_gen.go ../aws/cleanrooms/privacy_budget_template_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_cleanroomsml_training_dataset -cfschema ../service/cloudformation/schemas/AWS_CleanRoomsML_TrainingDataset.json -package cleanroomsml ../aws/cleanroomsml/training_dataset_singular_data_source_gen.go ../aws/cleanroomsml/training_dataset_singular_data_source_gen_test.go @@ -921,6 +923,7 @@ //go:generate go run generators/singular-data-source/main.go -data-source awscc_sagemaker_pipeline -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Pipeline.json -package sagemaker ../aws/sagemaker/pipeline_singular_data_source_gen.go ../aws/sagemaker/pipeline_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_sagemaker_project -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Project.json -package sagemaker ../aws/sagemaker/project_singular_data_source_gen.go ../aws/sagemaker/project_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_sagemaker_space -cfschema ../service/cloudformation/schemas/AWS_SageMaker_Space.json -package sagemaker ../aws/sagemaker/space_singular_data_source_gen.go ../aws/sagemaker/space_singular_data_source_gen_test.go +//go:generate go run generators/singular-data-source/main.go -data-source awscc_sagemaker_studio_lifecycle_config -cfschema ../service/cloudformation/schemas/AWS_SageMaker_StudioLifecycleConfig.json -package sagemaker ../aws/sagemaker/studio_lifecycle_config_singular_data_source_gen.go ../aws/sagemaker/studio_lifecycle_config_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_sagemaker_user_profile -cfschema ../service/cloudformation/schemas/AWS_SageMaker_UserProfile.json -package sagemaker ../aws/sagemaker/user_profile_singular_data_source_gen.go ../aws/sagemaker/user_profile_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_scheduler_schedule_group -cfschema ../service/cloudformation/schemas/AWS_Scheduler_ScheduleGroup.json -package scheduler ../aws/scheduler/schedule_group_singular_data_source_gen.go ../aws/scheduler/schedule_group_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_secretsmanager_resource_policy -cfschema ../service/cloudformation/schemas/AWS_SecretsManager_ResourcePolicy.json -package secretsmanager ../aws/secretsmanager/resource_policy_singular_data_source_gen.go ../aws/secretsmanager/resource_policy_singular_data_source_gen_test.go diff --git a/internal/service/cloudformation/schemas/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus.json b/internal/service/cloudformation/schemas/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus.json new file mode 100644 index 000000000..408902ca2 --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus.json @@ -0,0 +1,80 @@ +{ + "typeName": "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus", + "description": "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type", + "definitions": { + "AccountId": { + "description": "User account id, used as part of the primary identifier for the resource", + "type": "string", + "pattern": "^\\d{12}$" + }, + "Region": { + "description": "Region, used as part of the primary identifier for the resource", + "type": "string", + "pattern": "^[a-z0-9-]*$", + "maxLength": 30, + "minLength": 5 + }, + "AutoshiftObserverNotificationStatus": { + "type": "string", + "enum": [ + "ENABLED" + ] + } + }, + "properties": { + "Status": { + "$ref": "#/definitions/AutoshiftObserverNotificationStatus" + }, + "AccountId": { + "$ref": "#/definitions/AccountId" + }, + "Region": { + "$ref": "#/definitions/Region" + } + }, + "readOnlyProperties": [ + "/properties/AccountId", + "/properties/Region" + ], + "primaryIdentifier": [ + "/properties/AccountId", + "/properties/Region" + ], + "createOnlyProperties": [ + "/properties/Status" + ], + "required": [ + "Status" + ], + "handlers": { + "create": { + "permissions": [ + "arc-zonal-shift:UpdateAutoshiftObserverNotificationStatus" + ] + }, + "read": { + "permissions": [ + "arc-zonal-shift:GetAutoshiftObserverNotificationStatus" + ] + }, + "delete": { + "permissions": [ + "arc-zonal-shift:UpdateAutoshiftObserverNotificationStatus", + "arc-zonal-shift:GetAutoshiftObserverNotificationStatus" + ] + }, + "list": { + "permissions": [ + "arc-zonal-shift:GetAutoshiftObserverNotificationStatus" + ] + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false + } +} + + + + diff --git a/internal/service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json b/internal/service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json index 9aaca0789..3a51d1b93 100644 --- a/internal/service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json +++ b/internal/service/cloudformation/schemas/AWS_ARCZonalShift_ZonalAutoshiftConfiguration.json @@ -18,7 +18,7 @@ "type": "string", "maxLength": 1024, "minLength": 8, - "pattern": "^arn:.*$" + "pattern": "^.*$" } }, "required": [ @@ -29,9 +29,9 @@ }, "ControlConditionType": { "type": "string", - "enum": [ - "CLOUDWATCH" - ] + "minLength": 8, + "maxLength": 10, + "pattern": "^[a-zA-Z]*$" }, "PracticeRunConfiguration": { "type": "object", diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json b/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json index 496cd8a80..5ad09cc92 100644 --- a/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json +++ b/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json @@ -75,6 +75,51 @@ ], "additionalProperties": false }, + "ContextualGroundingFilterConfig": { + "type": "object", + "description": "A config for grounding filter.", + "properties": { + "Type": { + "$ref": "#/definitions/ContextualGroundingFilterType" + }, + "Threshold": { + "type": "number", + "minimum": 0, + "description": "The threshold for this filter." + } + }, + "required": [ + "Threshold", + "Type" + ], + "additionalProperties": false + }, + "ContextualGroundingFilterType": { + "type": "string", + "description": "Type of contextual grounding filter", + "enum": [ + "GROUNDING", + "RELEVANCE" + ] + }, + "ContextualGroundingPolicyConfig": { + "type": "object", + "description": "Contextual grounding policy config for a guardrail.", + "properties": { + "FiltersConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/ContextualGroundingFilterConfig" + }, + "minItems": 1, + "description": "List of contextual grounding filter configs." + } + }, + "required": [ + "FiltersConfig" + ], + "additionalProperties": false + }, "FilterStrength": { "type": "string", "description": "Strength for filters", @@ -447,6 +492,9 @@ "ContentPolicyConfig": { "$ref": "#/definitions/ContentPolicyConfig" }, + "ContextualGroundingPolicyConfig": { + "$ref": "#/definitions/ContextualGroundingPolicyConfig" + }, "CreatedAt": { "type": "string", "description": "Time Stamp", diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_AnalysisTemplate.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_AnalysisTemplate.json index 0188c7b0c..2b54e84f4 100644 --- a/internal/service/cloudformation/schemas/AWS_CleanRooms_AnalysisTemplate.json +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_AnalysisTemplate.json @@ -210,7 +210,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", "handlers": { diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json index 1f60691e8..ed960a221 100644 --- a/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTable.json @@ -165,6 +165,9 @@ "$ref": "#/definitions/AggregationConstraint" }, "minItems": 1 + }, + "AdditionalAnalyses": { + "$ref": "#/definitions/AdditionalAnalyses" } }, "required": [ @@ -201,6 +204,9 @@ "items": { "$ref": "#/definitions/AnalysisRuleColumnName" } + }, + "AdditionalAnalyses": { + "$ref": "#/definitions/AdditionalAnalyses" } }, "required": [ @@ -237,6 +243,22 @@ "$ref": "#/definitions/AllowedAnalysisProvider" } }, + "DisallowedOutputColumns": { + "type": "array", + "insertionOrder": false, + "minItems": 0, + "items": { + "$ref": "#/definitions/AnalysisRuleColumnName" + } + }, + "AdditionalAnalyses": { + "type": "string", + "enum": [ + "ALLOWED", + "REQUIRED", + "NOT_ALLOWED" + ] + }, "DifferentialPrivacyColumn": { "type": "object", "properties": { @@ -277,6 +299,12 @@ }, "DifferentialPrivacy": { "$ref": "#/definitions/DifferentialPrivacy" + }, + "DisallowedOutputColumns": { + "$ref": "#/definitions/DisallowedOutputColumns" + }, + "AdditionalAnalyses": { + "$ref": "#/definitions/AdditionalAnalyses" } }, "required": [ @@ -499,7 +527,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] }, "handlers": { "create": { diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json index 4197eee60..304cb8082 100644 --- a/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_ConfiguredTableAssociation.json @@ -21,6 +21,150 @@ "Value", "Key" ] + }, + "ConfiguredTableAssociationAnalysisRuleType": { + "type": "string", + "enum": [ + "AGGREGATION", + "LIST", + "CUSTOM" + ] + }, + "AllowedResultReceiver": { + "type": "string", + "minLength": 12, + "maxLength": 12, + "pattern": "\\d+" + }, + "AllowedResultReceivers": { + "type": "array", + "insertionOrder": false, + "minItems": 0, + "items": { + "$ref": "#/definitions/AllowedResultReceiver" + } + }, + "AllowedAdditionalAnalysis": { + "type": "string", + "maxLength": 256, + "pattern": "^arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:([\\d]{12}|\\*):membership\\/[\\*\\d\\w-]+\\/configuredaudiencemodelassociation\\/[\\*\\d\\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\\*):configured-model-algorithm-association\\/([-a-zA-Z0-9_\\/.]+|\\*)$" + }, + "AllowedAdditionalAnalyses": { + "type": "array", + "insertionOrder": false, + "minItems": 0, + "maxItems": 25, + "items": { + "$ref": "#/definitions/AllowedAdditionalAnalysis" + } + }, + "ConfiguredTableAssociationAnalysisRuleCustom": { + "type": "object", + "properties": { + "AllowedResultReceivers": { + "$ref": "#/definitions/AllowedResultReceivers" + }, + "AllowedAdditionalAnalyses": { + "$ref": "#/definitions/AllowedAdditionalAnalyses" + } + }, + "additionalProperties": false + }, + "ConfiguredTableAssociationAnalysisRuleAggregation": { + "type": "object", + "properties": { + "AllowedResultReceivers": { + "$ref": "#/definitions/AllowedResultReceivers" + }, + "AllowedAdditionalAnalyses": { + "$ref": "#/definitions/AllowedAdditionalAnalyses" + } + }, + "additionalProperties": false + }, + "ConfiguredTableAssociationAnalysisRuleList": { + "type": "object", + "properties": { + "AllowedResultReceivers": { + "$ref": "#/definitions/AllowedResultReceivers" + }, + "AllowedAdditionalAnalyses": { + "$ref": "#/definitions/AllowedAdditionalAnalyses" + } + }, + "additionalProperties": false + }, + "ConfiguredTableAssociationAnalysisRulePolicyV1": { + "oneOf": [ + { + "type": "object", + "title": "List", + "properties": { + "List": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleList" + } + }, + "required": [ + "List" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Aggregation", + "properties": { + "Aggregation": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleAggregation" + } + }, + "required": [ + "Aggregation" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Custom", + "properties": { + "Custom": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleCustom" + } + }, + "required": [ + "Custom" + ], + "additionalProperties": false + } + ] + }, + "ConfiguredTableAssociationAnalysisRulePolicy": { + "type": "object", + "title": "V1", + "properties": { + "V1": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "additionalProperties": false + }, + "ConfiguredTableAssociationAnalysisRule": { + "type": "object", + "properties": { + "Type": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleType" + }, + "Policy": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicy" + } + }, + "required": [ + "Type", + "Policy" + ], + "additionalProperties": false } }, "properties": { @@ -68,6 +212,15 @@ "type": "string", "maxLength": 512, "minLength": 32 + }, + "ConfiguredTableAssociationAnalysisRules": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRule" + }, + "maxItems": 1, + "minItems": 1 } }, "required": [ @@ -94,7 +247,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", "handlers": { @@ -105,13 +263,18 @@ "cleanrooms:ListTagsForResource", "cleanrooms:TagResource", "cleanrooms:GetConfiguredTableAssociation", - "cleanrooms:ListConfiguredTableAssociations" + "cleanrooms:ListConfiguredTableAssociations", + "cleanrooms:DeleteConfiguredTableAssociation", + "cleanrooms:DeleteConfiguredTableAssociationAnalysisRule", + "cleanrooms:CreateConfiguredTableAssociationAnalysisRule", + "cleanrooms:GetConfiguredTableAssociationAnalysisRule" ] }, "read": { "permissions": [ "cleanrooms:GetConfiguredTableAssociation", - "cleanrooms:ListTagsForResource" + "cleanrooms:ListTagsForResource", + "cleanrooms:GetConfiguredTableAssociationAnalysisRule" ] }, "update": { @@ -121,7 +284,11 @@ "iam:PassRole", "cleanrooms:ListTagsForResource", "cleanrooms:TagResource", - "cleanrooms:UntagResource" + "cleanrooms:UntagResource", + "cleanrooms:DeleteConfiguredTableAssociationAnalysisRule", + "cleanrooms:CreateConfiguredTableAssociationAnalysisRule", + "cleanrooms:GetConfiguredTableAssociationAnalysisRule", + "cleanrooms:UpdateConfiguredTableAssociationAnalysisRule" ] }, "delete": { @@ -130,7 +297,9 @@ "cleanrooms:GetConfiguredTableAssociation", "cleanrooms:ListConfiguredTableAssociations", "cleanrooms:ListTagsForResource", - "cleanrooms:UntagResource" + "cleanrooms:UntagResource", + "cleanrooms:DeleteConfiguredTableAssociationAnalysisRule", + "cleanrooms:GetConfiguredTableAssociationAnalysisRule" ] }, "list": { diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_IdMappingTable.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_IdMappingTable.json new file mode 100644 index 000000000..fa04f2d7f --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_IdMappingTable.json @@ -0,0 +1,241 @@ +{ + "typeName": "AWS::CleanRooms::IdMappingTable", + "description": "Represents an association between an ID mapping workflow and a collaboration", + "definitions": { + "UUID": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "IdMappingTableInputReferenceConfig": { + "type": "object", + "properties": { + "InputReferenceArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20 + }, + "ManageResourcePolicies": { + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "additionalProperties": false + }, + "IdMappingTableInputSource": { + "type": "object", + "properties": { + "IdNamespaceAssociationId": { + "type": "string" + }, + "Type": { + "type": "string", + "enum": [ + "SOURCE", + "TARGET" + ] + } + }, + "required": [ + "IdNamespaceAssociationId", + "Type" + ], + "additionalProperties": false + }, + "IdMappingTableInputReferenceProperties": { + "type": "object", + "properties": { + "IdMappingTableInputSource": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/IdMappingTableInputSource" + }, + "maxItems": 2, + "minItems": 2 + } + }, + "required": [ + "IdMappingTableInputSource" + ], + "additionalProperties": false + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1 + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1 + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false + } + }, + "properties": { + "IdMappingTableIdentifier": { + "$ref": "#/definitions/UUID" + }, + "Arn": { + "type": "string", + "maxLength": 200 + }, + "InputReferenceConfig": { + "$ref": "#/definitions/IdMappingTableInputReferenceConfig" + }, + "MembershipIdentifier": { + "$ref": "#/definitions/UUID" + }, + "MembershipArn": { + "type": "string", + "maxLength": 100 + }, + "CollaborationIdentifier": { + "$ref": "#/definitions/UUID" + }, + "CollaborationArn": { + "type": "string", + "maxLength": 100 + }, + "Description": { + "type": "string", + "maxLength": 255, + "pattern": "" + }, + "Name": { + "type": "string", + "maxLength": 128, + "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + }, + "InputReferenceProperties": { + "$ref": "#/definitions/IdMappingTableInputReferenceProperties" + }, + "KmsKeyArn": { + "type": "string", + "maxLength": 2048, + "minLength": 4 + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "uniqueItems": true + } + }, + "required": [ + "MembershipIdentifier", + "Name", + "InputReferenceConfig" + ], + "readOnlyProperties": [ + "/properties/IdMappingTableIdentifier", + "/properties/Arn", + "/properties/MembershipArn", + "/properties/CollaborationIdentifier", + "/properties/CollaborationArn", + "/properties/InputReferenceProperties" + ], + "createOnlyProperties": [ + "/properties/MembershipIdentifier", + "/properties/Name", + "/properties/InputReferenceConfig" + ], + "primaryIdentifier": [ + "/properties/IdMappingTableIdentifier", + "/properties/MembershipIdentifier" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", + "handlers": { + "create": { + "permissions": [ + "cleanrooms:CreateIdMappingTable", + "cleanrooms:GetIdMappingTable", + "cleanrooms:ListIdMappingTables", + "cleanrooms:ListTagsForResource", + "cleanrooms:TagResource", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration", + "entityresolution:GetIdMappingWorkflow", + "entityresolution:AddPolicyStatement" + ] + }, + "read": { + "permissions": [ + "cleanrooms:GetIdMappingTable", + "cleanrooms:ListTagsForResource", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration" + ] + }, + "update": { + "permissions": [ + "cleanrooms:UpdateIdMappingTable", + "cleanrooms:GetIdMappingTable", + "cleanrooms:GetMembership", + "cleanrooms:ListTagsForResource", + "cleanrooms:TagResource", + "cleanrooms:UntagResource", + "entityresolution:GetIdMappingWorkflow", + "entityresolution:AddPolicyStatement" + ] + }, + "delete": { + "permissions": [ + "cleanrooms:DeleteIdMappingTable", + "cleanrooms:GetIdMappingTable", + "cleanrooms:ListIdMappingTables", + "cleanrooms:GetMembership", + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "entityresolution:GetIdMappingWorkflow", + "entityresolution:AddPolicyStatement", + "entityresolution:DeletePolicyStatement" + ] + }, + "list": { + "permissions": [ + "cleanrooms:ListIdMappingTables", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration" + ], + "handlerSchema": { + "properties": { + "MembershipIdentifier": { + "$ref": "resource-schema.json#/properties/MembershipIdentifier" + } + }, + "required": [ + "MembershipIdentifier" + ] + } + } + }, + "additionalProperties": false +} diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_IdNamespaceAssociation.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_IdNamespaceAssociation.json new file mode 100644 index 000000000..cf27fa673 --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_IdNamespaceAssociation.json @@ -0,0 +1,238 @@ +{ + "typeName": "AWS::CleanRooms::IdNamespaceAssociation", + "description": "Represents an association between an ID namespace and a collaboration", + "definitions": { + "UUID": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "Document": { + "type": "object" + }, + "IdNamespaceAssociationInputReferenceConfig": { + "type": "object", + "properties": { + "InputReferenceArn": { + "type": "string", + "maxLength": 256 + }, + "ManageResourcePolicies": { + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "additionalProperties": false + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1 + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1 + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false + }, + "IdMappingConfig": { + "type": "object", + "properties": { + "AllowUseAsDimensionColumn": { + "type": "boolean" + } + }, + "required": [ + "AllowUseAsDimensionColumn" + ], + "additionalProperties": false + }, + "IdNamespaceAssociationInputReferenceProperties": { + "type": "object", + "properties": { + "IdNamespaceType": { + "type": "string", + "enum": [ + "SOURCE", + "TARGET" + ] + }, + "IdMappingWorkflowsSupported": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Document" + } + } + }, + "required": [], + "additionalProperties": false + } + }, + "properties": { + "IdNamespaceAssociationIdentifier": { + "$ref": "#/definitions/UUID" + }, + "Arn": { + "type": "string", + "maxLength": 256 + }, + "MembershipIdentifier": { + "$ref": "#/definitions/UUID" + }, + "MembershipArn": { + "type": "string", + "maxLength": 100 + }, + "CollaborationIdentifier": { + "$ref": "#/definitions/UUID" + }, + "CollaborationArn": { + "type": "string", + "maxLength": 100 + }, + "InputReferenceConfig": { + "$ref": "#/definitions/IdNamespaceAssociationInputReferenceConfig" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "uniqueItems": true + }, + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "pattern": "" + }, + "Description": { + "type": "string", + "maxLength": 255, + "pattern": "" + }, + "IdMappingConfig": { + "$ref": "#/definitions/IdMappingConfig" + }, + "InputReferenceProperties": { + "$ref": "#/definitions/IdNamespaceAssociationInputReferenceProperties" + } + }, + "required": [ + "MembershipIdentifier", + "InputReferenceConfig", + "Name" + ], + "readOnlyProperties": [ + "/properties/IdNamespaceAssociationIdentifier", + "/properties/Arn", + "/properties/MembershipArn", + "/properties/CollaborationIdentifier", + "/properties/CollaborationArn", + "/properties/InputReferenceProperties" + ], + "createOnlyProperties": [ + "/properties/MembershipIdentifier", + "/properties/InputReferenceConfig" + ], + "primaryIdentifier": [ + "/properties/IdNamespaceAssociationIdentifier", + "/properties/MembershipIdentifier" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", + "handlers": { + "create": { + "permissions": [ + "cleanrooms:CreateIdNamespaceAssociation", + "cleanrooms:GetIdNamespaceAssociation", + "cleanrooms:ListIdNamespaceAssociations", + "cleanrooms:ListTagsForResource", + "cleanrooms:TagResource", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration", + "entityresolution:GetIdNamespace", + "entityresolution:AddPolicyStatement" + ] + }, + "read": { + "permissions": [ + "cleanrooms:GetIdNamespaceAssociation", + "cleanrooms:ListTagsForResource", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration", + "entityresolution:GetIdNamespace" + ] + }, + "update": { + "permissions": [ + "cleanrooms:UpdateIdNamespaceAssociation", + "cleanrooms:GetIdNamespaceAssociation", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration", + "cleanrooms:ListTagsForResource", + "cleanrooms:TagResource", + "cleanrooms:UntagResource", + "entityresolution:GetIdNamespace", + "entityresolution:AddPolicyStatement" + ] + }, + "delete": { + "permissions": [ + "cleanrooms:DeleteIdNamespaceAssociation", + "cleanrooms:GetIdNamespaceAssociation", + "cleanrooms:ListIdNamespaceAssociations", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration", + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "entityresolution:GetIdNamespace", + "entityresolution:DeletePolicyStatement" + ] + }, + "list": { + "permissions": [ + "cleanrooms:ListIdNamespaceAssociations", + "cleanrooms:GetMembership", + "cleanrooms:GetCollaboration" + ], + "handlerSchema": { + "properties": { + "MembershipIdentifier": { + "$ref": "resource-schema.json#/properties/MembershipIdentifier" + } + }, + "required": [ + "MembershipIdentifier" + ] + } + } + }, + "additionalProperties": false +} diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_Membership.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_Membership.json index be8b11f44..b489e4788 100644 --- a/internal/service/cloudformation/schemas/AWS_CleanRooms_Membership.json +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_Membership.json @@ -186,7 +186,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] }, "handlers": { "create": { diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json index 79206bf6a..f5ef68d7d 100644 --- a/internal/service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json +++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_PrivacyBudgetTemplate.json @@ -124,7 +124,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cleanrooms:ListTagsForResource", + "cleanrooms:UntagResource", + "cleanrooms:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", "handlers": { diff --git a/internal/service/cloudformation/schemas/AWS_CodeArtifact_PackageGroup.json b/internal/service/cloudformation/schemas/AWS_CodeArtifact_PackageGroup.json index 39240eef9..ea7eb3912 100644 --- a/internal/service/cloudformation/schemas/AWS_CodeArtifact_PackageGroup.json +++ b/internal/service/cloudformation/schemas/AWS_CodeArtifact_PackageGroup.json @@ -206,6 +206,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "codeartifact:ListTagsForResource", + "codeartifact:UntagResource", + "codeartifact:TagResource" + ] } } diff --git a/internal/service/cloudformation/schemas/AWS_DynamoDB_Table.json b/internal/service/cloudformation/schemas/AWS_DynamoDB_Table.json index e3a0a536b..c76ccbdbc 100644 --- a/internal/service/cloudformation/schemas/AWS_DynamoDB_Table.json +++ b/internal/service/cloudformation/schemas/AWS_DynamoDB_Table.json @@ -23,7 +23,7 @@ "KeySchema" ], "propertyTransform": { - "/properties/SSESpecification/KMSMasterKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,4}[-]{1}[1-4]{1}:[0-9]{12}[:]{1}key\\/\", SSESpecification.KMSMasterKeyId]) $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,4}[-]{1}[1-4]{1}:[0-9]{12}[:]{1}key\\/\", KMSMasterKeyId])" + "/properties/SSESpecification/KMSMasterKeyId": "$join([\"arn:aws(-[a-z]{1,4}){0,2}:kms:[a-z]{2,4}(-[a-z]{1,4})?-[a-z]{1,10}-[0-9]:[0-9]{12}:key\\/\", SSESpecification.KMSMasterKeyId]) $OR $join([\"arn:aws(-[a-z]{1,4}){0,2}:kms:[a-z]{2,4}(-[a-z]{1,4})?-[a-z]{1,10}-[0-9]:[0-9]{12}:key\\/\", KMSMasterKeyId])" }, "handlers": { "read": { diff --git a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json index 1dfe2997a..7411ff165 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json @@ -100,7 +100,6 @@ ], "createOnlyProperties": [ "/properties/Tenancy", - "/properties/InstanceMatchCriteria", "/properties/InstancePlatform", "/properties/InstanceType", "/properties/AvailabilityZone", diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayRouteTablePropagation.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayRouteTablePropagation.json index 863c7df7f..f4052d232 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayRouteTablePropagation.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayRouteTablePropagation.json @@ -1,56 +1,27 @@ { - "typeName": "AWS::EC2::TransitGatewayRouteTablePropagation", - "description": "AWS::EC2::TransitGatewayRouteTablePropagation Type", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway/aws-ec2-transitgatewayroutetablepropagation", - "properties": { - "TransitGatewayRouteTableId": { - "description": "The ID of transit gateway route table.", - "type": "string" - }, - "TransitGatewayAttachmentId": { - "description": "The ID of transit gateway attachment.", - "type": "string" - } - }, "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, - "definitions": {}, - "additionalProperties": false, - "required": [ - "TransitGatewayRouteTableId", - "TransitGatewayAttachmentId" - ], - "createOnlyProperties": [ - "/properties/TransitGatewayAttachmentId", - "/properties/TransitGatewayRouteTableId" - ], - "primaryIdentifier": [ - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId" - ], "handlers": { - "create": { - "permissions": [ - "ec2:GetTransitGatewayRouteTablePropagations", - "ec2:EnableTransitGatewayRouteTablePropagation" - ] - }, "read": { "permissions": [ "ec2:GetTransitGatewayRouteTablePropagations" ] }, - "delete": { + "create": { "permissions": [ "ec2:GetTransitGatewayRouteTablePropagations", - "ec2:DisableTransitGatewayRouteTablePropagation" + "ec2:EnableTransitGatewayRouteTablePropagation" ] }, "list": { + "permissions": [ + "ec2:GetTransitGatewayRouteTablePropagations" + ], "handlerSchema": { "properties": { "TransitGatewayRouteTableId": { @@ -60,10 +31,39 @@ "required": [ "TransitGatewayRouteTableId" ] - }, + } + }, + "delete": { "permissions": [ - "ec2:GetTransitGatewayRouteTablePropagations" + "ec2:GetTransitGatewayRouteTablePropagations", + "ec2:DisableTransitGatewayRouteTablePropagation" ] } + }, + "typeName": "AWS::EC2::TransitGatewayRouteTablePropagation", + "description": "AWS::EC2::TransitGatewayRouteTablePropagation Type", + "createOnlyProperties": [ + "/properties/TransitGatewayAttachmentId", + "/properties/TransitGatewayRouteTableId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/TransitGatewayRouteTableId", + "/properties/TransitGatewayAttachmentId" + ], + "definitions": {}, + "required": [ + "TransitGatewayRouteTableId", + "TransitGatewayAttachmentId" + ], + "properties": { + "TransitGatewayRouteTableId": { + "description": "The ID of transit gateway route table.", + "type": "string" + }, + "TransitGatewayAttachmentId": { + "description": "The ID of transit gateway attachment.", + "type": "string" + } } } diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json index 000c5c76a..e53c0b80f 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json @@ -1,73 +1,89 @@ { - "typeName": "AWS::EC2::VPNConnection", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "description": "Resource Type definition for AWS::EC2::VPNConnection", - "additionalProperties": false, - "properties": { - "VpnConnectionId": { - "description": "The provider-assigned unique ID for this managed resource", - "type": "string" - }, - "CustomerGatewayId": { - "description": "The ID of the customer gateway at your end of the VPN connection.", - "type": "string" - }, - "StaticRoutesOnly": { - "description": "Indicates whether the VPN connection uses static routes only.", - "type": "boolean" - }, - "Tags": { - "description": "Any tags assigned to the VPN connection.", - "type": "array", - "uniqueItems": false, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - } + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeVpnConnections" + ] }, - "TransitGatewayId": { - "description": "The ID of the transit gateway associated with the VPN connection.", - "type": "string" + "create": { + "permissions": [ + "ec2:DescribeVpnConnections", + "ec2:CreateVpnConnection", + "ec2:CreateTags" + ] }, - "Type": { - "description": "The type of VPN connection.", - "type": "string" + "update": { + "permissions": [ + "ec2:DescribeVpnConnections", + "ec2:CreateTags", + "ec2:DeleteTags" + ] }, - "VpnGatewayId": { - "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.", - "type": "string" + "list": { + "permissions": [ + "ec2:DescribeVpnConnections" + ] }, - "VpnTunnelOptionsSpecifications": { - "description": "The tunnel options for the VPN connection.", - "type": "array", - "uniqueItems": false, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - } + "delete": { + "permissions": [ + "ec2:DescribeVpnConnections", + "ec2:DeleteVpnConnection" + ] } }, + "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/VpnTunnelOptionsSpecifications", + "/properties/StaticRoutesOnly" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/VpnConnectionId" + ], "definitions": { "VpnTunnelOptionsSpecification": { - "type": "object", + "description": "The tunnel options for a single VPN tunnel.", "additionalProperties": false, + "type": "object", "properties": { "PreSharedKey": { + "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", "type": "string" }, "TunnelInsideCidr": { + "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", "type": "string" } } }, "Tag": { - "type": "object", + "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", "additionalProperties": false, + "type": "object", "properties": { - "Key": { + "Value": { + "description": "The tag value.", "type": "string" }, - "Value": { + "Key": { + "description": "The tag key.", "type": "string" } }, @@ -77,62 +93,56 @@ ] } }, - "required": [ - "Type", - "CustomerGatewayId" - ], - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/VpnTunnelOptionsSpecifications", - "/properties/StaticRoutesOnly" - ], - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" - }, - "handlers": { - "create": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateVpnConnection", - "ec2:CreateTags" - ] + "properties": { + "EnableAcceleration": { + "description": "", + "type": "boolean" }, - "delete": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:DeleteVpnConnection", - "ec2:DeleteTags" - ] + "TransitGatewayId": { + "description": "The ID of the transit gateway associated with the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", + "type": "string" }, - "update": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateTags", - "ec2:DeleteTags" - ] + "Type": { + "description": "The type of VPN connection.", + "type": "string" }, - "read": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] + "VpnTunnelOptionsSpecifications": { + "uniqueItems": false, + "description": "The tunnel options for the VPN connection.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/VpnTunnelOptionsSpecification" + } }, - "list": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] + "CustomerGatewayId": { + "description": "The ID of the customer gateway at your end of the VPN connection.", + "type": "string" + }, + "VpnGatewayId": { + "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", + "type": "string" + }, + "VpnConnectionId": { + "description": "", + "type": "string" + }, + "StaticRoutesOnly": { + "description": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", + "type": "boolean" + }, + "Tags": { + "uniqueItems": false, + "description": "Any tags assigned to the VPN connection.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } } - } + }, + "required": [ + "Type", + "CustomerGatewayId" + ] } diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VPNConnectionRoute.json b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnectionRoute.json index f15951819..545efb99b 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_VPNConnectionRoute.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnectionRoute.json @@ -1,41 +1,21 @@ { - "typeName": "AWS::EC2::VPNConnectionRoute", - "description": "Resource Type definition for AWS::EC2::VPNConnectionRoute", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", - "properties": { - "DestinationCidrBlock": { - "description": "The CIDR block associated with the local subnet of the customer network.", - "type": "string" - }, - "VpnConnectionId": { - "description": "The ID of the VPN connection.", - "type": "string" - } - }, - "additionalProperties": false, "tagging": { "taggable": false }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "createOnlyProperties": [ - "/properties/DestinationCidrBlock", - "/properties/VpnConnectionId" - ], - "primaryIdentifier": [ - "/properties/DestinationCidrBlock", - "/properties/VpnConnectionId" - ], "handlers": { + "read": { + "permissions": [ + "ec2:DescribeVpnConnections" + ] + }, "create": { "permissions": [ "ec2:CreateVpnConnectionRoute", "ec2:DescribeVpnConnections" ] }, - "read": { + "list": { "permissions": [ "ec2:DescribeVpnConnections" ] @@ -45,11 +25,31 @@ "ec2:DeleteVpnConnectionRoute", "ec2:DescribeVpnConnections" ] + } + }, + "typeName": "AWS::EC2::VPNConnectionRoute", + "description": "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.", + "createOnlyProperties": [ + "/properties/DestinationCidrBlock", + "/properties/VpnConnectionId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/DestinationCidrBlock", + "/properties/VpnConnectionId" + ], + "properties": { + "DestinationCidrBlock": { + "description": "The CIDR block associated with the local subnet of the customer network.", + "type": "string" }, - "list": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] + "VpnConnectionId": { + "description": "The ID of the VPN connection.", + "type": "string" } - } + }, + "required": [ + "DestinationCidrBlock", + "VpnConnectionId" + ] } diff --git a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json index 4e3a748dd..1792dacd1 100644 --- a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json +++ b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json @@ -1,217 +1,217 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", - "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false - }, - "handlers": { - "read": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DescribeLoadBalancerAttributes", - "elasticloadbalancing:DescribeTags" - ] - }, - "create": { - "permissions": [ - "elasticloadbalancing:CreateLoadBalancer", - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:AddTags" - ], - "timeoutInMinutes": 30 - }, - "update": { - "permissions": [ - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:SetSubnets", - "elasticloadbalancing:SetIpAddressType", - "elasticloadbalancing:SetSecurityGroups", - "elasticloadbalancing:AddTags", - "elasticloadbalancing:RemoveTags" - ] - }, - "list": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers" - ] - }, - "delete": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DeleteLoadBalancer" - ] - } - }, "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", - "readOnlyProperties": [ - "/properties/LoadBalancerName", - "/properties/LoadBalancerFullName", - "/properties/CanonicalHostedZoneID", - "/properties/LoadBalancerArn", - "/properties/DNSName" - ], "description": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/Scheme" - ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", + "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", "additionalProperties": false, - "primaryIdentifier": [ - "/properties/LoadBalancerArn" - ], - "definitions": { - "SubnetMapping": { - "description": "Specifies a subnet for a load balancer.", - "additionalProperties": false, - "type": "object", - "properties": { - "AllocationId": { - "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", - "type": "string" - }, - "IPv6Address": { - "description": "[Network Load Balancers] The IPv6 address.", - "type": "string" - }, - "SubnetId": { - "description": "The ID of the subnet.", - "type": "string" - }, - "PrivateIPv4Address": { - "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", - "type": "string" - } - }, - "required": [ - "SubnetId" - ] - }, - "LoadBalancerAttribute": { - "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "additionalProperties": false, - "type": "object", - "properties": { - "Value": { - "description": "The value of the attribute.", - "type": "string" - }, - "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 cannot 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.", - "type": "string" - } - } - }, - "Tag": { - "description": "Information about a tag.", - "additionalProperties": false, - "type": "object", - "properties": { - "Value": { - "description": "The value of the tag.", - "type": "string" - }, - "Key": { - "description": "The key of the tag.", - "type": "string" - } - }, - "required": [ - "Key" - ] - } - }, "properties": { "IpAddressType": { - "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", - "type": "string" + "type": "string", + "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can?t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses)." }, "SecurityGroups": { - "uniqueItems": true, + "type": "array", "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", + "uniqueItems": true, "insertionOrder": false, - "type": "array", "items": { "type": "string" } }, "LoadBalancerAttributes": { - "arrayType": "AttributeList", - "uniqueItems": true, + "type": "array", "description": "The load balancer attributes.", + "uniqueItems": true, "insertionOrder": false, - "type": "array", + "arrayType": "AttributeList", "items": { "$ref": "#/definitions/LoadBalancerAttribute" } }, "Scheme": { - "description": "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.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.", - "type": "string" + "type": "string", + "description": "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.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer." }, "DNSName": { - "description": "", - "type": "string" + "type": "string", + "description": "" }, "Name": { - "description": "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-\".\n 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.", - "type": "string" + "type": "string", + "description": "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-\".\n 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." }, "LoadBalancerName": { - "description": "", - "type": "string" + "type": "string", + "description": "" + }, + "LoadBalancerFullName": { + "type": "string", + "description": "" }, "Subnets": { - "uniqueItems": true, + "type": "array", "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", + "uniqueItems": true, "insertionOrder": false, - "type": "array", "items": { "type": "string" } }, "Type": { - "description": "The type of load balancer. The default is ``application``.", - "type": "string" + "type": "string", + "description": "The type of load balancer. The default is ``application``." }, "CanonicalHostedZoneID": { - "description": "", - "type": "string" - }, - "LoadBalancerArn": { - "description": "", - "type": "string" - }, - "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { - "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", - "type": "string" + "type": "string", + "description": "" }, "Tags": { - "uniqueItems": false, + "type": "array", "description": "The tags to assign to the load balancer.", + "uniqueItems": false, "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/Tag" } }, - "LoadBalancerFullName": { - "description": "", - "type": "string" + "LoadBalancerArn": { + "type": "string", + "description": "" }, "SubnetMappings": { - "uniqueItems": true, + "type": "array", "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.", + "uniqueItems": true, "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/SubnetMapping" } + }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { + "type": "string", + "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." + } + }, + "definitions": { + "SubnetMapping": { + "type": "object", + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string", + "description": "The ID of the subnet." + }, + "AllocationId": { + "type": "string", + "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer." + }, + "PrivateIPv4Address": { + "type": "string", + "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer." + }, + "IPv6Address": { + "type": "string", + "description": "[Network Load Balancers] The IPv6 address." + } + }, + "required": [ + "SubnetId" + ], + "description": "Specifies a subnet for a load balancer." + }, + "LoadBalancerAttribute": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "description": "The value of the attribute." + }, + "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 cannot 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." + } + }, + "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer." + }, + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "description": "The value of the tag." + }, + "Key": { + "type": "string", + "description": "The key of the tag." + } + }, + "required": [ + "Key" + ], + "description": "Information about a tag." + } + }, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Type", + "/properties/Scheme" + ], + "primaryIdentifier": [ + "/properties/LoadBalancerArn" + ], + "readOnlyProperties": [ + "/properties/LoadBalancerName", + "/properties/LoadBalancerFullName", + "/properties/CanonicalHostedZoneID", + "/properties/LoadBalancerArn", + "/properties/DNSName" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, + "handlers": { + "create": { + "permissions": [ + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:AddTags" + ], + "timeoutInMinutes": 30 + }, + "delete": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DeleteLoadBalancer" + ] + }, + "list": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers" + ] + }, + "read": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DescribeLoadBalancerAttributes", + "elasticloadbalancing:DescribeTags" + ] + }, + "update": { + "permissions": [ + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:SetSubnets", + "elasticloadbalancing:SetIpAddressType", + "elasticloadbalancing:SetSecurityGroups", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RemoveTags" + ] } } } diff --git a/internal/service/cloudformation/schemas/AWS_EntityResolution_IdMappingWorkflow.json b/internal/service/cloudformation/schemas/AWS_EntityResolution_IdMappingWorkflow.json index 06ef2632c..8ed84d89c 100644 --- a/internal/service/cloudformation/schemas/AWS_EntityResolution_IdMappingWorkflow.json +++ b/internal/service/cloudformation/schemas/AWS_EntityResolution_IdMappingWorkflow.json @@ -1,122 +1,173 @@ { + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, "typeName": "AWS::EntityResolution::IdMappingWorkflow", + "readOnlyProperties": [ + "/properties/WorkflowArn", + "/properties/UpdatedAt", + "/properties/CreatedAt" + ], "description": "IdMappingWorkflow defined in AWS Entity Resolution service", + "createOnlyProperties": [ + "/properties/WorkflowName" + ], + "primaryIdentifier": [ + "/properties/WorkflowName" + ], + "required": [ + "WorkflowName", + "InputSourceConfig", + "IdMappingTechniques", + "RoleArn" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-entity-resolution.git", - "definitions": { - "EntityName": { - "type": "string", - "pattern": "^[a-zA-Z_0-9-]*$", - "minLength": 0, - "maxLength": 255 + "handlers": { + "read": { + "permissions": [ + "entityresolution:GetIdMappingWorkflow", + "entityresolution:ListTagsForResource" + ] }, - "Description": { - "type": "string", - "minLength": 0, - "maxLength": 255 + "create": { + "permissions": [ + "entityresolution:CreateIdMappingWorkflow", + "entityresolution:GetIdMappingWorkflow", + "entityresolution:TagResource", + "kms:CreateGrant", + "kms:DescribeKey", + "iam:PassRole" + ] }, - "AttributeName": { - "type": "string", - "pattern": "^[a-zA-Z_0-9- \\t]*$", - "minLength": 0, - "maxLength": 255 + "update": { + "permissions": [ + "entityresolution:GetIdMappingWorkflow", + "entityresolution:UpdateIdMappingWorkflow", + "entityresolution:ListTagsForResource", + "entityresolution:TagResource", + "entityresolution:UntagResource", + "iam:PassRole", + "kms:CreateGrant", + "kms:DescribeKey" + ] }, - "SchemaMappingArn": { - "description": "The SchemaMapping arn associated with the Schema", - "type": "string", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(schemamapping/.*)$" + "list": { + "permissions": [ + "entityresolution:ListIdMappingWorkflows" + ] }, - "KMSArn": { - "type": "string", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):kms:.*:[0-9]+:.*$" + "delete": { + "permissions": [ + "entityresolution:DeleteIdMappingWorkflow", + "entityresolution:GetIdMappingWorkflow", + "entityresolution:UntagResource" + ] + } + }, + "writeOnlyProperties": [ + "/properties/IdMappingTechniques/NormalizationVersion" + ], + "additionalProperties": false, + "definitions": { + "IdMappingWorkflowOutputSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "KMSArn": { + "$ref": "#/definitions/KMSArn" + }, + "OutputS3Path": { + "pattern": "^s3://([^/]+)/?(.*?([^/]+)/?)$", + "description": "The S3 path to which Entity Resolution will write the output table", + "type": "string" + } + }, + "required": [ + "OutputS3Path" + ] }, - "IdMappingWorkflowArn": { - "description": "The default IdMappingWorkflow arn", + "Description": { + "minLength": 0, "type": "string", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(idmappingworkflow/.*)$" - }, - "CreatedAt": { - "description": "The time of this IdMappingWorkflow got created", - "type": "string" - }, - "UpdatedAt": { - "description": "The time of this IdMappingWorkflow got last updated at", - "type": "string" + "maxLength": 255 }, "IdMappingWorkflowInputSource": { + "additionalProperties": false, "type": "object", "properties": { - "InputSourceARN": { - "description": "An Glue table ARN for the input source table, MatchingWorkflow arn or IdNamespace ARN", - "type": "string", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$" - }, - "SchemaArn": { - "type": "string", - "$ref": "#/definitions/SchemaMappingArn" - }, "Type": { "type": "string", "enum": [ "SOURCE", "TARGET" ] + }, + "InputSourceARN": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$", + "description": "An Glue table ARN for the input source table, MatchingWorkflow arn or IdNamespace ARN", + "type": "string" + }, + "SchemaArn": { + "type": "string", + "$ref": "#/definitions/SchemaMappingArn" } }, "required": [ "InputSourceARN" - ], - "additionalProperties": false + ] }, - "IdMappingWorkflowOutputSource": { - "type": "object", - "properties": { - "OutputS3Path": { - "description": "The S3 path to which Entity Resolution will write the output table", - "type": "string", - "pattern": "^s3://([^/]+)/?(.*?([^/]+)/?)$" - }, - "KMSArn": { - "$ref": "#/definitions/KMSArn" - } - }, - "required": [ - "OutputS3Path" - ], - "additionalProperties": false + "EntityName": { + "minLength": 0, + "pattern": "^[a-zA-Z_0-9-]*$", + "type": "string", + "maxLength": 255 }, "IdMappingTechniques": { + "additionalProperties": false, "type": "object", "properties": { + "RuleBasedProperties": { + "$ref": "#/definitions/IdMappingRuleBasedProperties" + }, + "ProviderProperties": { + "$ref": "#/definitions/ProviderProperties" + }, "IdMappingType": { "type": "string", "enum": [ "PROVIDER", "RULE_BASED" ] - }, - "NormalizationVersion": { - "type": "string" - }, - "RuleBasedProperties": { - "$ref": "#/definitions/IdMappingRuleBasedProperties" - }, - "ProviderProperties": { - "$ref": "#/definitions/ProviderProperties" } - }, - "additionalProperties": false + } + }, + "CreatedAt": { + "description": "The time of this IdMappingWorkflow got created", + "type": "string" + }, + "IdMappingWorkflowArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(idmappingworkflow/.*)$", + "description": "The default IdMappingWorkflow arn", + "type": "string" + }, + "UpdatedAt": { + "description": "The time of this IdMappingWorkflow got last updated at", + "type": "string" }, "IdMappingRuleBasedProperties": { + "additionalProperties": false, "type": "object", "properties": { - "Rules": { - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 25, - "items": { - "$ref": "#/definitions/Rule" - } + "AttributeMatchingModel": { + "type": "string", + "enum": [ + "ONE_TO_ONE", + "MANY_TO_MANY" + ] }, "RuleDefinitionType": { "type": "string", @@ -125,12 +176,14 @@ "TARGET" ] }, - "AttributeMatchingModel": { - "type": "string", - "enum": [ - "ONE_TO_ONE", - "MANY_TO_MANY" - ] + "Rules": { + "minItems": 1, + "maxItems": 25, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Rule" + } }, "RecordMatchingModel": { "type": "string", @@ -143,217 +196,164 @@ "required": [ "AttributeMatchingModel", "RecordMatchingModel" - ], - "additionalProperties": false + ] }, - "Rule": { - "type": "object", - "properties": { - "RuleName": { - "type": "string", - "pattern": "^[a-zA-Z_0-9- \\t]*$", - "minLength": 0, - "maxLength": 255 - }, - "MatchingKeys": { - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 15, - "items": { - "$ref": "#/definitions/AttributeName" - } - } - }, - "required": [ - "RuleName", - "MatchingKeys" - ], - "additionalProperties": false + "KMSArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):kms:.*:[0-9]+:.*$", + "type": "string" }, "ProviderProperties": { + "additionalProperties": false, "type": "object", "properties": { + "IntermediateSourceConfiguration": { + "$ref": "#/definitions/IntermediateSourceConfiguration" + }, "ProviderServiceArn": { - "type": "string", + "pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z]{1,10}-[0-9])::providerservice/([a-zA-Z0-9_-]{1,255})/([a-zA-Z0-9_-]{1,255})$", "description": "Arn of the Provider Service being used.", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z]{1,10}-[0-9])::providerservice/([a-zA-Z0-9_-]{1,255})/([a-zA-Z0-9_-]{1,255})$" + "type": "string" }, "ProviderConfiguration": { - "type": "object", - "additionalProperties": false, "patternProperties": { "": { "type": "string" } }, - "description": "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format" - }, - "IntermediateSourceConfiguration": { - "$ref": "#/definitions/IntermediateSourceConfiguration" + "description": "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format", + "additionalProperties": false, + "type": "object" } }, "required": [ "ProviderServiceArn" - ], - "additionalProperties": false + ] }, "IntermediateSourceConfiguration": { + "additionalProperties": false, "type": "object", "properties": { "IntermediateS3Path": { - "type": "string", - "description": "The s3 path that would be used to stage the intermediate data being generated during workflow execution." + "description": "The s3 path that would be used to stage the intermediate data being generated during workflow execution.", + "type": "string" } }, "required": [ "IntermediateS3Path" - ], - "additionalProperties": false + ] + }, + "SchemaMappingArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(schemamapping/.*)$", + "description": "The SchemaMapping arn associated with the Schema", + "type": "string" + }, + "AttributeName": { + "minLength": 0, + "pattern": "^[a-zA-Z_0-9- \\t]*$", + "type": "string", + "maxLength": 255 + }, + "Rule": { + "additionalProperties": false, + "type": "object", + "properties": { + "MatchingKeys": { + "minItems": 1, + "maxItems": 15, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/AttributeName" + } + }, + "RuleName": { + "minLength": 0, + "pattern": "^[a-zA-Z_0-9- \\t]*$", + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "RuleName", + "MatchingKeys" + ] }, "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 + ] } }, "properties": { - "WorkflowName": { - "description": "The name of the IdMappingWorkflow", - "$ref": "#/definitions/EntityName" - }, "Description": { "description": "The description of the IdMappingWorkflow", "$ref": "#/definitions/Description" }, "InputSourceConfig": { - "type": "array", - "insertionOrder": false, "minItems": 1, "maxItems": 20, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/IdMappingWorkflowInputSource" } }, + "IdMappingTechniques": { + "$ref": "#/definitions/IdMappingTechniques" + }, + "WorkflowName": { + "description": "The name of the IdMappingWorkflow", + "$ref": "#/definitions/EntityName" + }, + "CreatedAt": { + "$ref": "#/definitions/CreatedAt" + }, "OutputSourceConfig": { - "type": "array", - "insertionOrder": false, "minItems": 1, "maxItems": 1, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/IdMappingWorkflowOutputSource" } }, - "IdMappingTechniques": { - "$ref": "#/definitions/IdMappingTechniques" + "WorkflowArn": { + "$ref": "#/definitions/IdMappingWorkflowArn" + }, + "UpdatedAt": { + "$ref": "#/definitions/UpdatedAt" }, "RoleArn": { - "type": "string", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" + "pattern": "^arn:(aws|aws-us-gov|aws-cn):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" }, "Tags": { - "type": "array", - "uniqueItems": true, - "insertionOrder": false, "minItems": 0, "maxItems": 200, + "uniqueItems": true, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" } - }, - "WorkflowArn": { - "$ref": "#/definitions/IdMappingWorkflowArn" - }, - "CreatedAt": { - "$ref": "#/definitions/CreatedAt" - }, - "UpdatedAt": { - "$ref": "#/definitions/UpdatedAt" - } - }, - "createOnlyProperties": [ - "/properties/WorkflowName" - ], - "readOnlyProperties": [ - "/properties/WorkflowArn", - "/properties/UpdatedAt", - "/properties/CreatedAt" - ], - "primaryIdentifier": [ - "/properties/WorkflowName" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, - "handlers": { - "create": { - "permissions": [ - "entityresolution:CreateIdMappingWorkflow", - "entityresolution:GetIdMappingWorkflow", - "entityresolution:TagResource", - "kms:CreateGrant", - "kms:DescribeKey", - "iam:PassRole" - ] - }, - "update": { - "permissions": [ - "entityresolution:GetIdMappingWorkflow", - "entityresolution:UpdateIdMappingWorkflow", - "entityresolution:ListTagsForResource", - "entityresolution:TagResource", - "entityresolution:UntagResource", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey" - ] - }, - "read": { - "permissions": [ - "entityresolution:GetIdMappingWorkflow", - "entityresolution:ListTagsForResource" - ] - }, - "delete": { - "permissions": [ - "entityresolution:DeleteIdMappingWorkflow", - "entityresolution:GetIdMappingWorkflow", - "entityresolution:UntagResource" - ] - }, - "list": { - "permissions": [ - "entityresolution:ListIdMappingWorkflows" - ] } - }, - "required": [ - "WorkflowName", - "InputSourceConfig", - "IdMappingTechniques", - "RoleArn" - ], - "additionalProperties": false + } } diff --git a/internal/service/cloudformation/schemas/AWS_IVSChat_Room.json b/internal/service/cloudformation/schemas/AWS_IVSChat_Room.json index 65141bf2f..93122bd74 100644 --- a/internal/service/cloudformation/schemas/AWS_IVSChat_Room.json +++ b/internal/service/cloudformation/schemas/AWS_IVSChat_Room.json @@ -120,7 +120,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ivschat:TagResource", + "ivschat:ListTagsForResource", + "ivschat:UntagResource" + ] }, "required": [], "readOnlyProperties": [ diff --git a/internal/service/cloudformation/schemas/AWS_InspectorV2_CisScanConfiguration.json b/internal/service/cloudformation/schemas/AWS_InspectorV2_CisScanConfiguration.json index b58fe4e1e..958bc044d 100644 --- a/internal/service/cloudformation/schemas/AWS_InspectorV2_CisScanConfiguration.json +++ b/internal/service/cloudformation/schemas/AWS_InspectorV2_CisScanConfiguration.json @@ -185,6 +185,12 @@ "$ref": "#/definitions/CisTagMap" } }, + "required": [ + "ScanName", + "SecurityLevel", + "Schedule", + "Targets" + ], "additionalProperties": false, "readOnlyProperties": [ "/properties/Arn" diff --git a/internal/service/cloudformation/schemas/AWS_KinesisFirehose_DeliveryStream.json b/internal/service/cloudformation/schemas/AWS_KinesisFirehose_DeliveryStream.json index e6457d2f2..464f1612a 100644 --- a/internal/service/cloudformation/schemas/AWS_KinesisFirehose_DeliveryStream.json +++ b/internal/service/cloudformation/schemas/AWS_KinesisFirehose_DeliveryStream.json @@ -56,6 +56,9 @@ "SnowflakeDestinationConfiguration": { "$ref": "#/definitions/SnowflakeDestinationConfiguration" }, + "IcebergDestinationConfiguration": { + "$ref": "#/definitions/IcebergDestinationConfiguration" + }, "Tags": { "type": "array", "items": { @@ -893,6 +896,9 @@ }, "SecretsManagerConfiguration": { "$ref": "#/definitions/SecretsManagerConfiguration" + }, + "BufferingHints": { + "$ref": "#/definitions/SnowflakeBufferingHints" } }, "required": [ @@ -904,6 +910,104 @@ "S3Configuration" ] }, + "IcebergDestinationConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "DestinationTableConfigurationList": { + "$ref": "#/definitions/DestinationTableConfigurationList" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "CatalogConfiguration": { + "$ref": "#/definitions/CatalogConfiguration" + }, + "RoleARN": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "pattern": "arn:.*", + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + } + }, + "RetryOptions": { + "$ref": "#/definitions/RetryOptions" + }, + "s3BackupMode": { + "type": "string", + "enum": [ + "AllData", + "FailedDataOnly" + ] + }, + "BufferingHints": { + "$ref": "#/definitions/BufferingHints" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + } + }, + "required": [ + "RoleARN", + "CatalogConfiguration", + "S3Configuration" + ] + }, + "CatalogConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "CatalogArn": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "pattern": "arn:.*" + } + } + }, + "DestinationTableConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "DestinationTableName": { + "type": "string", + "minLength": 1, + "maxLength": 512 + }, + "DestinationDatabaseName": { + "type": "string", + "minLength": 1, + "maxLength": 512 + }, + "S3ErrorOutputPrefix": { + "type": "string", + "minLength": 1, + "maxLength": 1024 + }, + "UniqueKeys": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + }, + "required": [ + "DestinationDatabaseName", + "DestinationTableName" + ] + }, + "UniqueKey": { + "type": "string", + "minLength": 1, + "maxLength": 512 + }, "BufferingHints": { "type": "object", "additionalProperties": false, @@ -932,6 +1036,12 @@ } } }, + "DestinationTableConfigurationList": { + "type": "array", + "items": { + "$ref": "#/definitions/DestinationTableConfiguration" + } + }, "SplunkRetryOptions": { "type": "object", "additionalProperties": false, @@ -1112,6 +1222,18 @@ } } }, + "SnowflakeBufferingHints": { + "type": "object", + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + } + }, "CloudWatchLoggingOptions": { "type": "object", "additionalProperties": false, @@ -1598,6 +1720,7 @@ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", "/properties/KinesisStreamSourceConfiguration", "/properties/MSKSourceConfiguration", + "/properties/IcebergDestinationConfiguration", "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration" ], "primaryIdentifier": [ diff --git a/internal/service/cloudformation/schemas/AWS_MWAA_Environment.json b/internal/service/cloudformation/schemas/AWS_MWAA_Environment.json index 0c15df154..3a589ebf6 100644 --- a/internal/service/cloudformation/schemas/AWS_MWAA_Environment.json +++ b/internal/service/cloudformation/schemas/AWS_MWAA_Environment.json @@ -476,7 +476,6 @@ "/properties/LoggingConfiguration/WorkerLogs/CloudWatchLogGroupArn", "/properties/LoggingConfiguration/TaskLogs/CloudWatchLogGroupArn" ], - "taggable": true, "primaryIdentifier": [ "/properties/Name" ], @@ -510,5 +509,16 @@ "airflow:ListEnvironments" ] } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "airflow:UntagResource", + "airflow:TagResource" + ] } } diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json b/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json index 3bb71214a..7ec508835 100644 --- a/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json +++ b/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json @@ -11,7 +11,7 @@ "/properties/CreatedTime", "/properties/LastUpdatedTime" ], - "description": "Schema for ApplicationInstance CloudFormation Resource", + "description": "Creates an application instance and deploys it to a device.", "createOnlyProperties": [ "/properties/Name", "/properties/Description", @@ -127,10 +127,12 @@ ] }, "ManifestOverridesPayload": { + "description": "Parameter overrides for an application instance. This is a JSON document that has a single key (``PayloadData``) where the value is an escaped string representation of the overrides document.", "additionalProperties": false, "type": "object", "properties": { "PayloadData": { + "description": "The overrides document.", "$ref": "#/definitions/ManifestOverridesPayloadData" } } @@ -191,10 +193,12 @@ } }, "ManifestPayload": { + "description": "A application verion's manifest file. This is a JSON document that has a single key (``PayloadData``) where the value is an escaped string representation of the application manifest (``graph.json``). This file is located in the ``graphs`` folder in your application source.", "additionalProperties": false, "type": "object", "properties": { "PayloadData": { + "description": "The application manifest.", "$ref": "#/definitions/ManifestPayloadData" } } @@ -216,20 +220,21 @@ "maxLength": 255 }, "Tag": { + "description": "", "additionalProperties": false, "type": "object", "properties": { "Value": { "minLength": 0, "pattern": "^.+$", - "description": "A string containing the value for the tag", + "description": "", "type": "string", "maxLength": 256 }, "Key": { "minLength": 1, "pattern": "^.+$", - "description": "A string used to identify this tag", + "description": "", "type": "string", "maxLength": 128 } @@ -248,51 +253,67 @@ }, "properties": { "DefaultRuntimeContextDeviceName": { + "description": "", "$ref": "#/definitions/DeviceName" }, "Status": { + "description": "", "$ref": "#/definitions/ApplicationInstanceStatus" }, "DefaultRuntimeContextDevice": { + "description": "The device's ID.", "$ref": "#/definitions/DefaultRuntimeContextDevice" }, "Description": { + "description": "A description for the application instance.", "$ref": "#/definitions/Description" }, "ApplicationInstanceIdToReplace": { + "description": "The ID of an application instance to replace with the new instance.", "$ref": "#/definitions/ApplicationInstanceId" }, "CreatedTime": { + "description": "", "$ref": "#/definitions/Timestamp" }, "HealthStatus": { + "description": "", "$ref": "#/definitions/ApplicationInstanceHealthStatus" }, "ManifestOverridesPayload": { + "description": "Setting overrides for the application manifest.", "$ref": "#/definitions/ManifestOverridesPayload" }, "LastUpdatedTime": { + "description": "", "$ref": "#/definitions/Timestamp" }, "RuntimeRoleArn": { + "description": "The ARN of a runtime role for the application instance.", "$ref": "#/definitions/RuntimeRoleArn" }, "Name": { + "description": "A name for the application instance.", "$ref": "#/definitions/Name" }, "ApplicationInstanceId": { + "description": "", "$ref": "#/definitions/ApplicationInstanceId" }, "StatusDescription": { + "description": "", "$ref": "#/definitions/ApplicationInstanceStatusDescription" }, "ManifestPayload": { + "description": "The application's manifest document.", "$ref": "#/definitions/ManifestPayload" }, "Arn": { + "description": "", "$ref": "#/definitions/ApplicationInstanceArn" }, "Tags": { + "description": "Tags for the application instance.", "$ref": "#/definitions/TagList" } } diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_Package.json b/internal/service/cloudformation/schemas/AWS_Panorama_Package.json index 0d7657d14..46ac46246 100644 --- a/internal/service/cloudformation/schemas/AWS_Panorama_Package.json +++ b/internal/service/cloudformation/schemas/AWS_Panorama_Package.json @@ -1,6 +1,6 @@ { "typeName": "AWS::Panorama::Package", - "description": "Schema for Package CloudFormation Resource", + "description": "Creates a package and storage location in an Amazon S3 access point.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "NodePackageName": { @@ -27,22 +27,28 @@ "type": "object", "properties": { "Bucket": { - "type": "string" + "type": "string", + "description": "The location's bucket." }, "RepoPrefixLocation": { - "type": "string" + "type": "string", + "description": "The location's repo prefix." }, "GeneratedPrefixLocation": { - "type": "string" + "type": "string", + "description": "The location's generated prefix." }, "BinaryPrefixLocation": { - "type": "string" + "type": "string", + "description": "The location's binary prefix." }, "ManifestPrefixLocation": { - "type": "string" + "type": "string", + "description": "The location's manifest prefix." } }, - "additionalProperties": false + "additionalProperties": false, + "description": "A storage location." }, "Tag": { "type": "object", @@ -51,20 +57,23 @@ "type": "string", "minLength": 1, "maxLength": 128, - "pattern": "^.+$" + "pattern": "^.+$", + "description": "" }, "Value": { "type": "string", "minLength": 0, "maxLength": 256, - "pattern": "^.+$" + "pattern": "^.+$", + "description": "" } }, "required": [ "Key", "Value" ], - "additionalProperties": false + "additionalProperties": false, + "description": "" }, "TagList": { "type": "array", @@ -77,22 +86,28 @@ }, "properties": { "PackageName": { - "$ref": "#/definitions/NodePackageName" + "$ref": "#/definitions/NodePackageName", + "description": "A name for the package." }, "PackageId": { - "$ref": "#/definitions/NodePackageId" + "$ref": "#/definitions/NodePackageId", + "description": "" }, "Arn": { - "$ref": "#/definitions/NodePackageArn" + "$ref": "#/definitions/NodePackageArn", + "description": "" }, "StorageLocation": { - "$ref": "#/definitions/StorageLocation" + "$ref": "#/definitions/StorageLocation", + "description": "A storage location." }, "CreatedTime": { - "$ref": "#/definitions/Timestamp" + "$ref": "#/definitions/Timestamp", + "description": "" }, "Tags": { - "$ref": "#/definitions/TagList" + "$ref": "#/definitions/TagList", + "description": "Tags for the package." } }, "additionalProperties": false, diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json b/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json index 51cb34f27..a8b5caf96 100644 --- a/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json +++ b/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json @@ -1,6 +1,6 @@ { "typeName": "AWS::Panorama::PackageVersion", - "description": "Schema for PackageVersion Resource Type", + "description": "Registers a package version.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-panorama.git", "definitions": { "PackageOwnerAccount": { @@ -58,40 +58,52 @@ }, "properties": { "OwnerAccount": { - "$ref": "#/definitions/PackageOwnerAccount" + "$ref": "#/definitions/PackageOwnerAccount", + "description": "An owner account." }, "PackageId": { - "$ref": "#/definitions/NodePackageId" + "$ref": "#/definitions/NodePackageId", + "description": "A package ID." }, "PackageArn": { - "$ref": "#/definitions/NodePackageArn" + "$ref": "#/definitions/NodePackageArn", + "description": "" }, "PackageVersion": { - "$ref": "#/definitions/NodePackageVersion" + "$ref": "#/definitions/NodePackageVersion", + "description": "A package version." }, "PatchVersion": { - "$ref": "#/definitions/NodePackagePatchVersion" + "$ref": "#/definitions/NodePackagePatchVersion", + "description": "A patch version." }, "MarkLatest": { - "type": "boolean" + "type": "boolean", + "description": "Whether to mark the new version as the latest version." }, "IsLatestPatch": { - "type": "boolean" + "type": "boolean", + "description": "" }, "PackageName": { - "$ref": "#/definitions/NodePackageName" + "$ref": "#/definitions/NodePackageName", + "description": "" }, "Status": { - "$ref": "#/definitions/PackageVersionStatus" + "$ref": "#/definitions/PackageVersionStatus", + "description": "" }, "StatusDescription": { - "$ref": "#/definitions/PackageVersionStatusDescription" + "$ref": "#/definitions/PackageVersionStatusDescription", + "description": "" }, "RegisteredTime": { - "$ref": "#/definitions/TimeStamp" + "$ref": "#/definitions/TimeStamp", + "description": "" }, "UpdatedLatestPatchVersion": { - "$ref": "#/definitions/NodePackagePatchVersion" + "$ref": "#/definitions/NodePackagePatchVersion", + "description": "If the version was marked latest, the new version to maker as latest." } }, "additionalProperties": false, diff --git a/internal/service/cloudformation/schemas/AWS_RDS_Integration.json b/internal/service/cloudformation/schemas/AWS_RDS_Integration.json index 5a3181788..bf88d1021 100644 --- a/internal/service/cloudformation/schemas/AWS_RDS_Integration.json +++ b/internal/service/cloudformation/schemas/AWS_RDS_Integration.json @@ -1,6 +1,6 @@ { "typeName": "AWS::RDS::Integration", - "description": "Creates a zero-ETL integration with Amazon Redshift.", + "description": "A zero-ETL integration with Amazon Redshift.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties": { "IntegrationName": { @@ -11,7 +11,7 @@ }, "Description": { "type": "string", - "description": "The description of the integration.", + "description": "A description of the integration.", "minLength": 1, "maxLength": 1000 }, @@ -20,21 +20,21 @@ "maxItems": 50, "uniqueItems": true, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.", + "description": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*.", "items": { "$ref": "#/definitions/Tag" } }, "DataFilter": { "type": "string", - "description": "The data filter for the integration.", + "description": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", "minLength": 1, "maxLength": 25600, "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*" }, "SourceArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication." + "description": "The Amazon Resource Name (ARN) of the database to use as the source for replication." }, "TargetArn": { "type": "string", @@ -42,17 +42,19 @@ }, "IntegrationArn": { "type": "string", - "description": "The ARN of the integration." + "description": "" }, "KMSKeyId": { "type": "string", - "description": "An optional AWS Key Management System (AWS KMS) key ARN for the key used to to encrypt the integration. The resource accepts the key ID and the key ARN forms. The key ID form can be used if the KMS key is owned by te same account. If the KMS key belongs to a different account than the calling account, the full key ARN must be specified. Do not use the key alias or the key alias ARN as this will cause a false drift of the resource." + "description": "The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key." }, "AdditionalEncryptionContext": { - "$ref": "#/definitions/EncryptionContextMap" + "$ref": "#/definitions/EncryptionContextMap", + "description": "An optional set of non-secret key?value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *Key Management Service Developer Guide*.\n You can only include this parameter if you specify the ``KMSKeyId`` parameter." }, "CreateTime": { - "type": "string" + "type": "string", + "description": "" } }, "required": [ @@ -71,19 +73,19 @@ } }, "Tag": { - "description": "A key-value pair to associate with a resource.", + "description": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", "type": "object", "additionalProperties": false, "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": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", "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 -. ", + "description": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", "minLength": 0, "maxLength": 256 } @@ -101,7 +103,7 @@ "minLength": 0 } }, - "description": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data.", + "description": "An optional set of non-secret key?value pairs that contains additional contextual information about the data.", "additionalProperties": false } }, @@ -162,7 +164,11 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] }, "additionalProperties": false } diff --git a/internal/service/cloudformation/schemas/AWS_Route53_CidrCollection.json b/internal/service/cloudformation/schemas/AWS_Route53_CidrCollection.json index 4ccd24fd5..037bb16dc 100644 --- a/internal/service/cloudformation/schemas/AWS_Route53_CidrCollection.json +++ b/internal/service/cloudformation/schemas/AWS_Route53_CidrCollection.json @@ -90,7 +90,8 @@ "delete": { "permissions": [ "route53:DeleteCidrCollection", - "route53:ChangeCidrCollection" + "route53:ChangeCidrCollection", + "route53:ListCidrBlocks" ] }, "list": { diff --git a/internal/service/cloudformation/schemas/AWS_S3_BucketPolicy.json b/internal/service/cloudformation/schemas/AWS_S3_BucketPolicy.json index c375c6793..6d091d165 100644 --- a/internal/service/cloudformation/schemas/AWS_S3_BucketPolicy.json +++ b/internal/service/cloudformation/schemas/AWS_S3_BucketPolicy.json @@ -1,32 +1,52 @@ { + "typeName": "AWS::S3::BucketPolicy", + "description": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)", + "additionalProperties": false, "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, - "handlers": { - "read": { - "permissions": [ - "s3:GetBucketPolicy" - ] + "properties": { + "Bucket": { + "description": "The name of the Amazon S3 bucket to which the policy applies.", + "type": "string" }, + "PolicyDocument": { + "description": "A policy document containing permissions to add to the specified bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide*.", + "type": [ + "object", + "string" + ] + } + }, + "primaryIdentifier": [ + "/properties/Bucket" + ], + "createOnlyProperties": [ + "/properties/Bucket" + ], + "required": [ + "Bucket", + "PolicyDocument" + ], + "handlers": { "create": { "permissions": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ] }, - "update": { + "read": { "permissions": [ - "s3:GetBucketPolicy", - "s3:PutBucketPolicy" + "s3:GetBucketPolicy" ] }, - "list": { + "update": { "permissions": [ "s3:GetBucketPolicy", - "s3:ListAllMyBuckets" + "s3:PutBucketPolicy" ] }, "delete": { @@ -34,32 +54,12 @@ "s3:GetBucketPolicy", "s3:DeleteBucketPolicy" ] - } - }, - "typeName": "AWS::S3::BucketPolicy", - "description": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)", - "createOnlyProperties": [ - "/properties/Bucket" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Bucket" - ], - "properties": { - "Bucket": { - "description": "The name of the Amazon S3 bucket to which the policy applies.", - "type": "string" }, - "PolicyDocument": { - "description": "A policy document containing permissions to add to the specified bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide*.", - "type": [ - "object", - "string" + "list": { + "permissions": [ + "s3:GetBucketPolicy", + "s3:ListAllMyBuckets" ] } - }, - "required": [ - "Bucket", - "PolicyDocument" - ] + } } diff --git a/internal/service/cloudformation/schemas/AWS_SNS_Topic.json b/internal/service/cloudformation/schemas/AWS_SNS_Topic.json index c3087d2e5..6936b0168 100644 --- a/internal/service/cloudformation/schemas/AWS_SNS_Topic.json +++ b/internal/service/cloudformation/schemas/AWS_SNS_Topic.json @@ -83,7 +83,7 @@ "type": "string" }, "DeliveryStatusLogging": { - "description": "", + "description": "The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n + HTTP \n + Amazon Kinesis Data Firehose\n + AWS Lambda\n + Platform application endpoint\n + Amazon Simple Queue Service\n \n Once configured, log entries are sent to Amazon CloudWatch Logs.", "type": "array", "uniqueItems": true, "insertionOrder": false, @@ -151,7 +151,7 @@ "properties": { "Protocol": { "type": "string", - "description": "", + "description": "Indicates one of the supported protocols for the Amazon SNS topic.\n At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.", "enum": [ "http/s", "sqs", @@ -162,21 +162,21 @@ }, "SuccessFeedbackRoleArn": { "type": "string", - "description": "" + "description": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch." }, "SuccessFeedbackSampleRate": { "type": "string", - "description": "" + "description": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100." }, "FailureFeedbackRoleArn": { "type": "string", - "description": "" + "description": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch." } }, "required": [ "Protocol" ], - "description": "" + "description": "The ``LoggingConfig`` property type specifies the ``Delivery`` status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)." } }, "tagging": { diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_App.json b/internal/service/cloudformation/schemas/AWS_SageMaker_App.json index 3db2ffe5d..f541cb827 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_App.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_App.json @@ -143,6 +143,12 @@ "minLength": 1, "maxLength": 256, "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$" + }, + "LifecycleConfigArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" } } }, diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json b/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json index e175ceb8b..47cc5c2e5 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json @@ -271,6 +271,16 @@ "properties": { "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, @@ -386,6 +396,16 @@ "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec", "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app." + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, @@ -803,7 +823,7 @@ "DataWrangler", "FeatureStore", "EmrClusters", - "AutoML", + "AutoMl", "Experiments", "Training", "ModelEvaluation", diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_Space.json b/internal/service/cloudformation/schemas/AWS_SageMaker_Space.json index f3927203a..63a1c14ed 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_Space.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_Space.json @@ -215,6 +215,16 @@ "properties": { "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, @@ -330,6 +340,12 @@ "description": "The ARN of the image version created on the instance.", "maxLength": 256, "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$" + }, + "LifecycleConfigArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" } } }, @@ -351,9 +367,25 @@ "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec", "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app." + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, + "StudioLifecycleConfigArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, "CustomImage": { "type": "object", "description": "A custom SageMaker image.", diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_StudioLifecycleConfig.json b/internal/service/cloudformation/schemas/AWS_SageMaker_StudioLifecycleConfig.json new file mode 100644 index 000000000..b87b6524d --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_StudioLifecycleConfig.json @@ -0,0 +1,130 @@ +{ + "typeName": "AWS::SageMaker::StudioLifecycleConfig", + "description": "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig", + "additionalProperties": false, + "properties": { + "StudioLifecycleConfigArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration.", + "minLength": 1, + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, + "StudioLifecycleConfigAppType": { + "type": "string", + "description": "The App type that the Lifecycle Configuration is attached to.", + "enum": [ + "JupyterServer", + "KernelGateway", + "CodeEditor", + "JupyterLab" + ] + }, + "StudioLifecycleConfigContent": { + "type": "string", + "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + "minLength": 1, + "maxLength": 16384, + "pattern": "[\\S\\s]+" + }, + "StudioLifecycleConfigName": { + "type": "string", + "description": "The name of the Amazon SageMaker Studio Lifecycle Configuration.", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}" + }, + "Tags": { + "type": "array", + "description": "Tags to be associated with the Lifecycle Configuration.", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "minItems": 0, + "maxItems": 50 + } + }, + "definitions": { + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 128 + }, + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128 + } + }, + "required": [ + "Key", + "Value" + ] + } + }, + "required": [ + "StudioLifecycleConfigAppType", + "StudioLifecycleConfigContent", + "StudioLifecycleConfigName" + ], + "createOnlyProperties": [ + "/properties/StudioLifecycleConfigAppType", + "/properties/StudioLifecycleConfigContent", + "/properties/StudioLifecycleConfigName", + "/properties/Tags" + ], + "readOnlyProperties": [ + "/properties/StudioLifecycleConfigArn" + ], + "primaryIdentifier": [ + "/properties/StudioLifecycleConfigName" + ], + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreateStudioLifecycleConfig", + "sagemaker:DescribeStudioLifecycleConfig", + "sagemaker:AddTags", + "sagemaker:ListTags" + ] + }, + "read": { + "permissions": [ + "sagemaker:DescribeStudioLifecycleConfig", + "sagemaker:ListTags" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteStudioLifecycleConfig", + "sagemaker:DescribeStudioLifecycleConfig", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] + }, + "list": { + "permissions": [ + "sagemaker:ListStudioLifecycleConfigs", + "sagemaker:ListTags" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "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 5e50e120c..f04f367bc 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json @@ -136,6 +136,16 @@ "properties": { "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with JupyterServer apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, @@ -223,6 +233,12 @@ "description": "The ARN of the image version created on the instance.", "maxLength": 256, "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$" + }, + "LifecycleConfigArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" } } }, @@ -244,6 +260,16 @@ "DefaultResourceSpec": { "$ref": "#/definitions/ResourceSpec", "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app." + }, + "LifecycleConfigArns": { + "type": "array", + "description": "A list of LifecycleConfigArns available for use with KernelGateway apps.", + "uniqueItems": false, + "minItems": 0, + "maxItems": 30, + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + } } } }, @@ -555,7 +581,7 @@ "DataWrangler", "FeatureStore", "EmrClusters", - "AutoML", + "AutoMl", "Experiments", "Training", "ModelEvaluation", diff --git a/internal/service/cloudformation/schemas/AWS_SecurityHub_SecurityControl.json b/internal/service/cloudformation/schemas/AWS_SecurityHub_SecurityControl.json index ebd941af4..60d21a511 100644 --- a/internal/service/cloudformation/schemas/AWS_SecurityHub_SecurityControl.json +++ b/internal/service/cloudformation/schemas/AWS_SecurityHub_SecurityControl.json @@ -163,6 +163,9 @@ "required": [ "Parameters" ], + "createOnlyProperties": [ + "/properties/SecurityControlId" + ], "primaryIdentifier": [ "/properties/SecurityControlId" ],