From 3900596304f31e64bfbd64798e38a299feb6886a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 5 Sep 2024 11:42:56 -0400 Subject: [PATCH] 09/04/2024 CloudFormation schemas in us-east-1; Generate Terraform resource schemas. --- .../batch/compute_environment_resource_gen.go | 14 + .../aws/bedrock/flow_alias_resource_gen.go | 4 +- .../aws/bedrock/flow_version_resource_gen.go | 296 +++++++++++++++--- .../bedrock/prompt_version_resource_gen.go | 89 ++++-- internal/aws/cloudwatch/alarm_resource_gen.go | 14 +- internal/aws/ec2/nat_gateway_resource_gen.go | 2 +- internal/aws/ecr/repository_resource_gen.go | 4 +- .../load_balancer_resource_gen.go | 4 +- .../origin_endpoint_resource_gen.go | 10 +- .../opensearchservice/domain_resource_gen.go | 78 +++++ internal/aws/pipes/pipe_resource_gen.go | 6 + internal/aws/sagemaker/domain_resource_gen.go | 4 +- .../sagemaker/user_profile_resource_gen.go | 4 +- .../delegated_admin_resource_gen.go | 14 +- .../finding_aggregator_resource_gen.go | 18 +- .../aws/securityhub/standard_resource_gen.go | 4 +- 16 files changed, 454 insertions(+), 111 deletions(-) diff --git a/internal/aws/batch/compute_environment_resource_gen.go b/internal/aws/batch/compute_environment_resource_gen.go index 9e1ad9c0c3..f266e87920 100644 --- a/internal/aws/batch/compute_environment_resource_gen.go +++ b/internal/aws/batch/compute_environment_resource_gen.go @@ -388,6 +388,19 @@ func computeEnvironmentResource(ctx context.Context) (resource.Resource, error) objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: Context + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "context": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: EksConfiguration // CloudFormation resource type schema: // @@ -600,6 +613,7 @@ func computeEnvironmentResource(ctx context.Context) (resource.Resource, error) "compute_environment_arn": "ComputeEnvironmentArn", "compute_environment_name": "ComputeEnvironmentName", "compute_resources": "ComputeResources", + "context": "Context", "desiredv_cpus": "DesiredvCpus", "ec_2_configuration": "Ec2Configuration", "ec_2_key_pair": "Ec2KeyPair", diff --git a/internal/aws/bedrock/flow_alias_resource_gen.go b/internal/aws/bedrock/flow_alias_resource_gen.go index bacdb13cbf..708bdfc447 100644 --- a/internal/aws/bedrock/flow_alias_resource_gen.go +++ b/internal/aws/bedrock/flow_alias_resource_gen.go @@ -162,7 +162,7 @@ func flowAliasResource(ctx context.Context) (resource.Resource, error) { // "properties": { // "FlowVersion": { // "description": "Version.", - // "maxLength": 1, + // "maxLength": 5, // "minLength": 1, // "pattern": "^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$", // "type": "string" @@ -183,7 +183,7 @@ func flowAliasResource(ctx context.Context) (resource.Resource, error) { Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ - stringvalidator.LengthBetween(1, 1), + stringvalidator.LengthBetween(1, 5), stringvalidator.RegexMatches(regexp.MustCompile("^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$"), ""), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/bedrock/flow_version_resource_gen.go b/internal/aws/bedrock/flow_version_resource_gen.go index 4ac7628db5..e90cde3767 100644 --- a/internal/aws/bedrock/flow_version_resource_gen.go +++ b/internal/aws/bedrock/flow_version_resource_gen.go @@ -47,6 +47,23 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: CustomerEncryptionKeyArn + // CloudFormation resource type schema: + // + // { + // "description": "A KMS key ARN", + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + // "type": "string" + // } + "customer_encryption_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A KMS key ARN", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Definition // CloudFormation resource type schema: // @@ -148,6 +165,27 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { // "Configuration": { // "description": "Node configuration in a flow", // "properties": { + // "Agent": { + // "additionalProperties": false, + // "description": "Agent flow node configuration", + // "properties": { + // "AgentAliasArn": { + // "description": "Arn representation of the Agent Alias.", + // "maxLength": 2048, + // "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$", + // "type": "string" + // } + // }, + // "required": [ + // "AgentAliasArn" + // ], + // "type": "object" + // }, + // "Collector": { + // "additionalProperties": false, + // "description": "Collector flow node configuration", + // "type": "object" + // }, // "Condition": { // "additionalProperties": false, // "description": "Condition flow node configuration", @@ -191,6 +229,11 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { // "description": "Input flow node configuration", // "type": "object" // }, + // "Iterator": { + // "additionalProperties": false, + // "description": "Iterator flow node configuration", + // "type": "object" + // }, // "KnowledgeBase": { // "additionalProperties": false, // "description": "Knowledge base flow node configuration", @@ -402,6 +445,68 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { // "SourceConfiguration" // ], // "type": "object" + // }, + // "Retrieval": { + // "additionalProperties": false, + // "description": "Retrieval flow node configuration", + // "properties": { + // "ServiceConfiguration": { + // "description": "Retrieval service configuration for Retrieval node", + // "properties": { + // "S3": { + // "additionalProperties": false, + // "description": "s3 Retrieval configuration for Retrieval node", + // "properties": { + // "BucketName": { + // "description": "bucket name of an s3 that will be used for Retrieval flow node configuration", + // "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + // "type": "string" + // } + // }, + // "required": [ + // "BucketName" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // } + // }, + // "required": [ + // "ServiceConfiguration" + // ], + // "type": "object" + // }, + // "Storage": { + // "additionalProperties": false, + // "description": "Storage flow node configuration", + // "properties": { + // "ServiceConfiguration": { + // "description": "storage service configuration for storage node", + // "properties": { + // "S3": { + // "additionalProperties": false, + // "description": "s3 storage configuration for storage node", + // "properties": { + // "BucketName": { + // "description": "bucket name of an s3 that will be used for storage flow node configuration", + // "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + // "type": "string" + // } + // }, + // "required": [ + // "BucketName" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // } + // }, + // "required": [ + // "ServiceConfiguration" + // ], + // "type": "object" // } // }, // "type": "object" @@ -493,7 +598,12 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { // "Condition", // "Lex", // "Prompt", - // "LambdaFunction" + // "LambdaFunction", + // "Agent", + // "Iterator", + // "Collector", + // "Storage", + // "Retrieval" // ], // "type": "string" // } @@ -584,6 +694,24 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { // Property: Configuration "configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Agent + "agent": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AgentAliasArn + "agent_alias_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Arn representation of the Agent Alias.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Agent flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Collector + "collector": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: jsontypes.NormalizedType{}, + Description: "Collector flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Condition "condition": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -616,6 +744,12 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { Description: "Input flow node configuration", Computed: true, }, /*END ATTRIBUTE*/ + // Property: Iterator + "iterator": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: jsontypes.NormalizedType{}, + Description: "Iterator flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: KnowledgeBase "knowledge_base": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -784,6 +918,58 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { Description: "Prompt flow node configuration", Computed: true, }, /*END ATTRIBUTE*/ + // Property: Retrieval + "retrieval": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ServiceConfiguration + "service_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: S3 + "s3": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BucketName + "bucket_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "bucket name of an s3 that will be used for Retrieval flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "s3 Retrieval configuration for Retrieval node", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Retrieval service configuration for Retrieval node", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Retrieval flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Storage + "storage": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ServiceConfiguration + "service_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: S3 + "s3": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BucketName + "bucket_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "bucket name of an s3 that will be used for storage flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "s3 storage configuration for storage node", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "storage service configuration for storage node", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Storage flow node configuration", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "Node configuration in a flow", Computed: true, @@ -995,55 +1181,65 @@ func flowVersionResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::Bedrock::FlowVersion").WithTerraformTypeName("awscc_bedrock_flow_version") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "bot_alias_arn": "BotAliasArn", - "condition": "Condition", - "conditional": "Conditional", - "conditions": "Conditions", - "configuration": "Configuration", - "connections": "Connections", - "created_at": "CreatedAt", - "data": "Data", - "definition": "Definition", - "description": "Description", - "execution_role_arn": "ExecutionRoleArn", - "expression": "Expression", - "flow_arn": "FlowArn", - "flow_id": "FlowId", - "inference_configuration": "InferenceConfiguration", - "inline": "Inline", - "input": "Input", - "input_variables": "InputVariables", - "inputs": "Inputs", - "knowledge_base": "KnowledgeBase", - "knowledge_base_id": "KnowledgeBaseId", - "lambda_arn": "LambdaArn", - "lambda_function": "LambdaFunction", - "lex": "Lex", - "locale_id": "LocaleId", - "max_tokens": "MaxTokens", - "model_id": "ModelId", - "name": "Name", - "nodes": "Nodes", - "output": "Output", - "outputs": "Outputs", - "prompt": "Prompt", - "prompt_arn": "PromptArn", - "resource": "Resource", - "source": "Source", - "source_configuration": "SourceConfiguration", - "source_output": "SourceOutput", - "status": "Status", - "stop_sequences": "StopSequences", - "target": "Target", - "target_input": "TargetInput", - "temperature": "Temperature", - "template_configuration": "TemplateConfiguration", - "template_type": "TemplateType", - "text": "Text", - "top_k": "TopK", - "top_p": "TopP", - "type": "Type", - "version": "Version", + "agent": "Agent", + "agent_alias_arn": "AgentAliasArn", + "bot_alias_arn": "BotAliasArn", + "bucket_name": "BucketName", + "collector": "Collector", + "condition": "Condition", + "conditional": "Conditional", + "conditions": "Conditions", + "configuration": "Configuration", + "connections": "Connections", + "created_at": "CreatedAt", + "customer_encryption_key_arn": "CustomerEncryptionKeyArn", + "data": "Data", + "definition": "Definition", + "description": "Description", + "execution_role_arn": "ExecutionRoleArn", + "expression": "Expression", + "flow_arn": "FlowArn", + "flow_id": "FlowId", + "inference_configuration": "InferenceConfiguration", + "inline": "Inline", + "input": "Input", + "input_variables": "InputVariables", + "inputs": "Inputs", + "iterator": "Iterator", + "knowledge_base": "KnowledgeBase", + "knowledge_base_id": "KnowledgeBaseId", + "lambda_arn": "LambdaArn", + "lambda_function": "LambdaFunction", + "lex": "Lex", + "locale_id": "LocaleId", + "max_tokens": "MaxTokens", + "model_id": "ModelId", + "name": "Name", + "nodes": "Nodes", + "output": "Output", + "outputs": "Outputs", + "prompt": "Prompt", + "prompt_arn": "PromptArn", + "resource": "Resource", + "retrieval": "Retrieval", + "s3": "S3", + "service_configuration": "ServiceConfiguration", + "source": "Source", + "source_configuration": "SourceConfiguration", + "source_output": "SourceOutput", + "status": "Status", + "stop_sequences": "StopSequences", + "storage": "Storage", + "target": "Target", + "target_input": "TargetInput", + "temperature": "Temperature", + "template_configuration": "TemplateConfiguration", + "template_type": "TemplateType", + "text": "Text", + "top_k": "TopK", + "top_p": "TopP", + "type": "Type", + "version": "Version", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/bedrock/prompt_version_resource_gen.go b/internal/aws/bedrock/prompt_version_resource_gen.go index e87951cf35..7a02f7ff4f 100644 --- a/internal/aws/bedrock/prompt_version_resource_gen.go +++ b/internal/aws/bedrock/prompt_version_resource_gen.go @@ -14,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" "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" @@ -63,6 +64,23 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: CustomerEncryptionKeyArn + // CloudFormation resource type schema: + // + // { + // "description": "A KMS key ARN", + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + // "type": "string" + // } + "customer_encryption_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A KMS key ARN", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: DefaultVariant // CloudFormation resource type schema: // @@ -150,6 +168,33 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "A map of tag keys and values", + // "patternProperties": { + // "": { + // "description": "Value of a tag", + // "maxLength": 256, + // "minLength": 0, + // "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + // "type": "string" + // } + // }, + // "type": "object" + // } + "tags": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "A map of tag keys and values", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: UpdatedAt // CloudFormation resource type schema: // @@ -432,27 +477,29 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::Bedrock::PromptVersion").WithTerraformTypeName("awscc_bedrock_prompt_version") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "arn": "Arn", - "created_at": "CreatedAt", - "default_variant": "DefaultVariant", - "description": "Description", - "inference_configuration": "InferenceConfiguration", - "input_variables": "InputVariables", - "max_tokens": "MaxTokens", - "model_id": "ModelId", - "name": "Name", - "prompt_arn": "PromptArn", - "prompt_id": "PromptId", - "stop_sequences": "StopSequences", - "temperature": "Temperature", - "template_configuration": "TemplateConfiguration", - "template_type": "TemplateType", - "text": "Text", - "top_k": "TopK", - "top_p": "TopP", - "updated_at": "UpdatedAt", - "variants": "Variants", - "version": "Version", + "arn": "Arn", + "created_at": "CreatedAt", + "customer_encryption_key_arn": "CustomerEncryptionKeyArn", + "default_variant": "DefaultVariant", + "description": "Description", + "inference_configuration": "InferenceConfiguration", + "input_variables": "InputVariables", + "max_tokens": "MaxTokens", + "model_id": "ModelId", + "name": "Name", + "prompt_arn": "PromptArn", + "prompt_id": "PromptId", + "stop_sequences": "StopSequences", + "tags": "Tags", + "temperature": "Temperature", + "template_configuration": "TemplateConfiguration", + "template_type": "TemplateType", + "text": "Text", + "top_k": "TopK", + "top_p": "TopP", + "updated_at": "UpdatedAt", + "variants": "Variants", + "version": "Version", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/cloudwatch/alarm_resource_gen.go b/internal/aws/cloudwatch/alarm_resource_gen.go index 1f5c83c381..fa1ba42fde 100644 --- a/internal/aws/cloudwatch/alarm_resource_gen.go +++ b/internal/aws/cloudwatch/alarm_resource_gen.go @@ -558,11 +558,11 @@ func alarmResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.\n For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter.\n *Minimum:* 10", + // "description": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.\n For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter.\n *Minimum:* 10", // "type": "integer" // } "period": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.\n For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter.\n *Minimum:* 10", + Description: "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.\n For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter.\n *Minimum:* 10", Optional: true, Computed: true, PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ @@ -588,13 +588,13 @@ func alarmResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "", + // "description": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the ``cloudwatch:TagResource`` permission.\n Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", // "items": { // "additionalProperties": false, - // "description": "", + // "description": "One of the key-value pairs associated with the alarm. Tags can help you organize and categorize your resources.", // "properties": { // "Key": { - // "description": "A unique identifier for the tag. The combination of tag keys and values can help you organize and categorize your resources.", + // "description": "A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.", // "maxLength": 128, // "minLength": 1, // "type": "string" @@ -621,7 +621,7 @@ func alarmResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "A unique identifier for the tag. The combination of tag keys and values can help you organize and categorize your resources.", + Description: "A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), @@ -637,7 +637,7 @@ func alarmResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "", + Description: "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the ``cloudwatch:TagResource`` permission.\n Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", Optional: true, Computed: true, Validators: []validator.List{ /*START VALIDATORS*/ diff --git a/internal/aws/ec2/nat_gateway_resource_gen.go b/internal/aws/ec2/nat_gateway_resource_gen.go index 58fe1a8833..502bf6e2e8 100644 --- a/internal/aws/ec2/nat_gateway_resource_gen.go +++ b/internal/aws/ec2/nat_gateway_resource_gen.go @@ -197,7 +197,7 @@ func natGatewayResource(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).", + // "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", // "properties": { // "Key": { // "description": "The tag key.", diff --git a/internal/aws/ecr/repository_resource_gen.go b/internal/aws/ecr/repository_resource_gen.go index df367ea8fa..e05d6c5239 100644 --- a/internal/aws/ecr/repository_resource_gen.go +++ b/internal/aws/ecr/repository_resource_gen.go @@ -72,7 +72,8 @@ func repositoryResource(ctx context.Context) (resource.Resource, error) { // "description": "The encryption type to use.\n If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with KMSlong key stored in KMS. When you use KMS to encrypt your data, you can either use the default AWS managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. For more information, see [Protecting data using server-side encryption with an key stored in (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Console Developer Guide*.\n If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES-256 encryption algorithm. For more information, see [Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) in the *Amazon Simple Storage Service Console Developer Guide*.", // "enum": [ // "AES256", - // "KMS" + // "KMS", + // "KMS_DSSE" // ], // "type": "string" // }, @@ -98,6 +99,7 @@ func repositoryResource(ctx context.Context) (resource.Resource, error) { stringvalidator.OneOf( "AES256", "KMS", + "KMS_DSSE", ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go b/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go index 95be791b2e..0552aa0434 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 Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\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 Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\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/mediapackagev2/origin_endpoint_resource_gen.go b/internal/aws/mediapackagev2/origin_endpoint_resource_gen.go index f3826ab7eb..e7e542e322 100644 --- a/internal/aws/mediapackagev2/origin_endpoint_resource_gen.go +++ b/internal/aws/mediapackagev2/origin_endpoint_resource_gen.go @@ -98,17 +98,13 @@ func originEndpointResource(ctx context.Context) (resource.Resource, error) { // "type": "string" // } "container_type": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( "TS", "CMAF", ), }, /*END VALIDATORS*/ - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: CreatedAt // CloudFormation resource type schema: @@ -1147,7 +1143,8 @@ func originEndpointResource(ctx context.Context) (resource.Resource, error) { // "CLEAR_KEY_AES_128", // "FAIRPLAY", // "PLAYREADY", - // "WIDEVINE" + // "WIDEVINE", + // "IRDETO" // ], // "type": "string" // }, @@ -1363,6 +1360,7 @@ func originEndpointResource(ctx context.Context) (resource.Resource, error) { "FAIRPLAY", "PLAYREADY", "WIDEVINE", + "IRDETO", ), ), }, /*END VALIDATORS*/ diff --git a/internal/aws/opensearchservice/domain_resource_gen.go b/internal/aws/opensearchservice/domain_resource_gen.go index 033fd9024c..ae5f6e3f19 100644 --- a/internal/aws/opensearchservice/domain_resource_gen.go +++ b/internal/aws/opensearchservice/domain_resource_gen.go @@ -88,6 +88,24 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // "InternalUserDatabaseEnabled": { // "type": "boolean" // }, + // "JWTOptions": { + // "additionalProperties": false, + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "PublicKey": { + // "type": "string" + // }, + // "RolesKey": { + // "type": "string" + // }, + // "SubjectKey": { + // "type": "string" + // } + // }, + // "type": "object" + // }, // "MasterUserOptions": { // "additionalProperties": false, // "properties": { @@ -181,6 +199,49 @@ func domainResource(ctx context.Context) (resource.Resource, error) { boolplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: JWTOptions + "jwt_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: PublicKey + "public_key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + // PublicKey is a write-only property. + }, /*END ATTRIBUTE*/ + // Property: RolesKey + "roles_key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SubjectKey + "subject_key": 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: MasterUserOptions "master_user_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -1094,6 +1155,19 @@ func domainResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: SkipShardMigrationWait + // CloudFormation resource type schema: + // + // { + // "type": "boolean" + // } + "skip_shard_migration_wait": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: SnapshotOptions // CloudFormation resource type schema: // @@ -1336,6 +1410,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "internal_user_database_enabled": "InternalUserDatabaseEnabled", "iops": "Iops", "ip_address_type": "IPAddressType", + "jwt_options": "JWTOptions", "key": "Key", "kms_key_id": "KmsKeyId", "log_publishing_options": "LogPublishingOptions", @@ -1352,12 +1427,14 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "off_peak_window": "OffPeakWindow", "off_peak_window_options": "OffPeakWindowOptions", "optional_deployment": "OptionalDeployment", + "public_key": "PublicKey", "role_arn": "RoleArn", "roles_key": "RolesKey", "saml_options": "SAMLOptions", "security_group_ids": "SecurityGroupIds", "service_software_options": "ServiceSoftwareOptions", "session_timeout_minutes": "SessionTimeoutMinutes", + "skip_shard_migration_wait": "SkipShardMigrationWait", "snapshot_options": "SnapshotOptions", "software_update_options": "SoftwareUpdateOptions", "subject_key": "SubjectKey", @@ -1384,6 +1461,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "/properties/AdvancedSecurityOptions/MasterUserOptions", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/pipes/pipe_resource_gen.go b/internal/aws/pipes/pipe_resource_gen.go index 1189491455..12fabd6005 100644 --- a/internal/aws/pipes/pipe_resource_gen.go +++ b/internal/aws/pipes/pipe_resource_gen.go @@ -1513,6 +1513,7 @@ func pipeResource(ctx context.Context) (resource.Resource, error) { }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ listplanmodifier.UseStateForUnknown(), + listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: BatchSize @@ -1536,6 +1537,7 @@ func pipeResource(ctx context.Context) (resource.Resource, error) { }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Credentials @@ -1636,6 +1638,7 @@ func pipeResource(ctx context.Context) (resource.Resource, error) { }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: TopicName @@ -1645,6 +1648,9 @@ func pipeResource(ctx context.Context) (resource.Resource, error) { stringvalidator.LengthBetween(1, 249), stringvalidator.RegexMatches(regexp.MustCompile("^[^.]([a-zA-Z0-9\\-_.]+)$"), ""), }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Vpc "vpc": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ diff --git a/internal/aws/sagemaker/domain_resource_gen.go b/internal/aws/sagemaker/domain_resource_gen.go index df4d92bb8a..307235daf8 100644 --- a/internal/aws/sagemaker/domain_resource_gen.go +++ b/internal/aws/sagemaker/domain_resource_gen.go @@ -2316,7 +2316,8 @@ func domainResource(ctx context.Context) (resource.Resource, error) { // "JumpStart", // "InferenceRecommender", // "Endpoints", - // "Projects" + // "Projects", + // "InferenceOptimization" // ], // "type": "string" // }, @@ -3601,6 +3602,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "InferenceRecommender", "Endpoints", "Projects", + "InferenceOptimization", ), ), }, /*END VALIDATORS*/ diff --git a/internal/aws/sagemaker/user_profile_resource_gen.go b/internal/aws/sagemaker/user_profile_resource_gen.go index 93f0797841..68b8e553d5 100644 --- a/internal/aws/sagemaker/user_profile_resource_gen.go +++ b/internal/aws/sagemaker/user_profile_resource_gen.go @@ -985,7 +985,8 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { // "JumpStart", // "InferenceRecommender", // "Endpoints", - // "Projects" + // "Projects", + // "InferenceOptimization" // ], // "type": "string" // }, @@ -2088,6 +2089,7 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) { "InferenceRecommender", "Endpoints", "Projects", + "InferenceOptimization", ), ), }, /*END VALIDATORS*/ diff --git a/internal/aws/securityhub/delegated_admin_resource_gen.go b/internal/aws/securityhub/delegated_admin_resource_gen.go index aee92edc60..413574453d 100644 --- a/internal/aws/securityhub/delegated_admin_resource_gen.go +++ b/internal/aws/securityhub/delegated_admin_resource_gen.go @@ -31,12 +31,12 @@ func delegatedAdminResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account", + // "description": "The AWS-account identifier of the account to designate as the Security Hub administrator account.", // "pattern": "^[0-9]{12}$", // "type": "string" // } "admin_account_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account", + Description: "The AWS-account identifier of the account to designate as the Security Hub administrator account.", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.RegexMatches(regexp.MustCompile("^[0-9]{12}$"), ""), @@ -49,12 +49,12 @@ func delegatedAdminResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The identifier of the DelegatedAdmin being created and assigned as the unique identifier", + // "description": "", // "pattern": "^[0-9]{12}/[a-zA-Z0-9-]{1,32}$", // "type": "string" // } "delegated_admin_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The identifier of the DelegatedAdmin being created and assigned as the unique identifier", + Description: "", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -64,7 +64,7 @@ func delegatedAdminResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The current status of the Security Hub administrator account. Indicates whether the account is currently enabled as a Security Hub administrator", + // "description": "", // "enum": [ // "ENABLED", // "DISABLE_IN_PROGRESS" @@ -72,7 +72,7 @@ func delegatedAdminResource(ctx context.Context) (resource.Resource, error) { // "type": "string" // } "status": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The current status of the Security Hub administrator account. Indicates whether the account is currently enabled as a Security Hub administrator", + Description: "", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -90,7 +90,7 @@ func delegatedAdminResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "The AWS::SecurityHub::DelegatedAdmin resource represents the AWS Security Hub delegated admin account in your organization. One delegated admin resource is allowed to create for the organization in each region in which you configure the AdminAccountId.", + Description: "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/securityhub/finding_aggregator_resource_gen.go b/internal/aws/securityhub/finding_aggregator_resource_gen.go index 8250d249dc..02df3b12a0 100644 --- a/internal/aws/securityhub/finding_aggregator_resource_gen.go +++ b/internal/aws/securityhub/finding_aggregator_resource_gen.go @@ -34,13 +34,11 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The aggregation Region of the FindingAggregator", // "pattern": "^[a-zA-Z0-9-]{1,32}$", // "type": "string" // } "finding_aggregation_region": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The aggregation Region of the FindingAggregator", - Computed: true, + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -49,12 +47,12 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The ARN of the FindingAggregator being created and assigned as the unique identifier", + // "description": "", // "pattern": "arn:aws\\S*:securityhub:\\S*", // "type": "string" // } "finding_aggregator_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The ARN of the FindingAggregator being created and assigned as the unique identifier", + Description: "", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -64,7 +62,7 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions", + // "description": "Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.\n The selected option also determines how to use the Regions provided in the Regions list.\n The options are as follows:\n + ``ALL_REGIONS`` - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``ALL_REGIONS_EXCEPT_SPECIFIED`` - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the ``Regions`` parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``SPECIFIED_REGIONS`` - Aggregates findings only from the Regions listed in the ``Regions`` parameter. Security Hub does not automatically aggregate findings from new Regions. \n + ``NO_REGIONS`` - Aggregates no data because no Regions are selected as linked Regions.", // "enum": [ // "ALL_REGIONS", // "ALL_REGIONS_EXCEPT_SPECIFIED", @@ -73,7 +71,7 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // "type": "string" // } "region_linking_mode": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions", + Description: "Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.\n The selected option also determines how to use the Regions provided in the Regions list.\n The options are as follows:\n + ``ALL_REGIONS`` - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``ALL_REGIONS_EXCEPT_SPECIFIED`` - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the ``Regions`` parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``SPECIFIED_REGIONS`` - Aggregates findings only from the Regions listed in the ``Regions`` parameter. Security Hub does not automatically aggregate findings from new Regions. \n + ``NO_REGIONS`` - Aggregates no data because no Regions are selected as linked Regions.", Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( @@ -87,7 +85,7 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The list of excluded Regions or included Regions", + // "description": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", // "insertionOrder": false, // "items": { // "pattern": "^[a-zA-Z0-9-]{1,32}$", @@ -100,7 +98,7 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { // } "regions": schema.SetAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, - Description: "The list of excluded Regions or included Regions", + Description: "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", Optional: true, Computed: true, Validators: []validator.Set{ /*START VALIDATORS*/ @@ -125,7 +123,7 @@ func findingAggregatorResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "The AWS::SecurityHub::FindingAggregator resource represents the AWS Security Hub Finding Aggregator in your account. One finding aggregator resource is created for each account in non opt-in region in which you configure region linking mode.", + Description: "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/securityhub/standard_resource_gen.go b/internal/aws/securityhub/standard_resource_gen.go index cde0268fae..157cb2b145 100644 --- a/internal/aws/securityhub/standard_resource_gen.go +++ b/internal/aws/securityhub/standard_resource_gen.go @@ -33,7 +33,7 @@ func standardResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "Specifies which controls are to be disabled in a standard. \n *Maximum*: ``100``", + // "description": "Specifies which controls are to be disabled in a standard. \n *Maximum*: ``100``", // "insertionOrder": true, // "items": { // "additionalProperties": false, @@ -81,7 +81,7 @@ func standardResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Description: "Specifies which controls are to be disabled in a standard. \n *Maximum*: ``100``", + Description: "Specifies which controls are to be disabled in a standard. \n *Maximum*: ``100``", Optional: true, Computed: true, Validators: []validator.List{ /*START VALIDATORS*/