From 0a1789a532d047a91851f008999efbd08d187638 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 27 Mar 2025 14:50:22 -0400 Subject: [PATCH 1/5] 2025/03/27 CloudFormation schemas in us-east-1; Refresh existing schemas. --- .../schemas/AWS_Amplify_App.json | 6 + .../schemas/AWS_Amplify_Branch.json | 9 + .../AWS_AppIntegrations_EventIntegration.json | 2 +- .../schemas/AWS_Bedrock_Guardrail.json | 7 +- .../schemas/AWS_CloudFormation_Stack.json | 5 +- .../schemas/AWS_DataBrew_Dataset.json | 8 +- .../schemas/AWS_DataBrew_Job.json | 8 +- .../schemas/AWS_DataBrew_Project.json | 8 +- .../schemas/AWS_DataBrew_Recipe.json | 10 +- .../schemas/AWS_DataBrew_Ruleset.json | 10 +- .../schemas/AWS_DataBrew_Schedule.json | 10 +- .../schemas/AWS_DocDBElastic_Cluster.json | 7 +- .../schemas/AWS_ECS_Service.json | 2 +- .../schemas/AWS_EKS_Cluster.json | 8 +- .../AWS_ElasticLoadBalancingV2_Listener.json | 4 +- .../cloudformation/schemas/AWS_Glue_Job.json | 6 +- .../AWS_GuardDuty_PublishingDestination.json | 2 +- .../schemas/AWS_IoT_JobTemplate.json | 23 +- .../schemas/AWS_MediaConnect_FlowOutput.json | 11 +- .../schemas/AWS_NetworkFirewall_Firewall.json | 304 +++++++++--------- .../schemas/AWS_Omics_SequenceStore.json | 110 ++++++- .../schemas/AWS_PaymentCryptography_Key.json | 4 + .../schemas/AWS_QuickSight_DataSource.json | 14 +- .../schemas/AWS_QuickSight_VPCConnection.json | 7 +- .../schemas/AWS_RDS_DBCluster.json | 3 +- .../schemas/AWS_RDS_DBInstance.json | 12 +- .../schemas/AWS_RDS_DBProxy.json | 7 +- .../schemas/AWS_RDS_DBProxyEndpoint.json | 7 +- .../schemas/AWS_RUM_AppMonitor.json | 5 +- .../AWS_RedshiftServerless_Workgroup.json | 2 - .../AWS_Route53RecoveryControl_Cluster.json | 15 + .../AWS_SecurityHub_ConfigurationPolicy.json | 7 +- .../AWS_SystemsManagerSAP_Application.json | 41 ++- .../schemas/AWS_WAFv2_RuleGroup.json | 17 + .../schemas/AWS_WAFv2_WebACL.json | 39 ++- 35 files changed, 514 insertions(+), 226 deletions(-) diff --git a/internal/service/cloudformation/schemas/AWS_Amplify_App.json b/internal/service/cloudformation/schemas/AWS_Amplify_App.json index c433d8d950..095942ae5f 100644 --- a/internal/service/cloudformation/schemas/AWS_Amplify_App.json +++ b/internal/service/cloudformation/schemas/AWS_Amplify_App.json @@ -41,6 +41,12 @@ "CacheConfig": { "$ref": "#/definitions/CacheConfig" }, + "ComputeRoleArn": { + "type": "string", + "minLength": 0, + "maxLength": 1000, + "pattern": "(?s).*" + }, "CustomHeaders": { "type": "string", "minLength": 0, diff --git a/internal/service/cloudformation/schemas/AWS_Amplify_Branch.json b/internal/service/cloudformation/schemas/AWS_Amplify_Branch.json index 764fcbf2ea..2cc112592a 100644 --- a/internal/service/cloudformation/schemas/AWS_Amplify_Branch.json +++ b/internal/service/cloudformation/schemas/AWS_Amplify_Branch.json @@ -33,6 +33,12 @@ "maxLength": 25000, "pattern": "(?s).+" }, + "ComputeRoleArn": { + "type": "string", + "minLength": 0, + "maxLength": 1000, + "pattern": "(?s).*" + }, "Description": { "type": "string", "maxLength": 1000, @@ -47,6 +53,9 @@ "EnablePullRequestPreview": { "type": "boolean" }, + "EnableSkewProtection": { + "type": "boolean" + }, "EnvironmentVariables": { "type": "array", "uniqueItems": false, diff --git a/internal/service/cloudformation/schemas/AWS_AppIntegrations_EventIntegration.json b/internal/service/cloudformation/schemas/AWS_AppIntegrations_EventIntegration.json index af2466311c..c524d0ac00 100644 --- a/internal/service/cloudformation/schemas/AWS_AppIntegrations_EventIntegration.json +++ b/internal/service/cloudformation/schemas/AWS_AppIntegrations_EventIntegration.json @@ -9,7 +9,7 @@ "Source": { "description": "The source of the events.", "type": "string", - "pattern": "^aws\\.partner\\/.*$", + "pattern": "^aws\\.(partner\\/.*|cases)$", "minLength": 1, "maxLength": 256 } diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json b/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json index 5ad09cc926..fdc820910b 100644 --- a/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json +++ b/internal/service/cloudformation/schemas/AWS_Bedrock_Guardrail.json @@ -656,7 +656,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "bedrock:ListTagsForResource", + "bedrock:TagResource", + "bedrock:UntagResource" + ] }, "additionalProperties": false } diff --git a/internal/service/cloudformation/schemas/AWS_CloudFormation_Stack.json b/internal/service/cloudformation/schemas/AWS_CloudFormation_Stack.json index 6d81570695..fc42fd273b 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFormation_Stack.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFormation_Stack.json @@ -115,7 +115,10 @@ "maxItems": 50 }, "TemplateBody": { - "type": "object" + "type": [ + "object", + "string" + ] }, "TemplateURL": { "type": "string", diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Dataset.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Dataset.json index 50ca59c342..4b5c3200d4 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Dataset.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Dataset.json @@ -440,13 +440,12 @@ "/properties/Name" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -470,13 +469,14 @@ "read": { "permissions": [ "databrew:DescribeDataset", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, "update": { "permissions": [ "databrew:UpdateDataset", + "databrew:TagResource", + "databrew:UntagResource", "glue:GetConnection", "glue:GetTable" ] diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Job.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Job.json index 8d3ccf9e96..e5b8a5912f 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Job.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Job.json @@ -588,13 +588,12 @@ ], "createOnlyProperties": [ "/properties/Name", - "/properties/Type", - "/properties/Tags" + "/properties/Type" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -617,7 +616,6 @@ "read": { "permissions": [ "databrew:DescribeJob", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, @@ -625,6 +623,8 @@ "permissions": [ "databrew:UpdateProfileJob", "databrew:UpdateRecipeJob", + "databrew:TagResource", + "databrew:UntagResource", "iam:PassRole" ] }, diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Project.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Project.json index ab724b277f..c54b63ffaf 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Project.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Project.json @@ -95,13 +95,12 @@ "/properties/Name" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -123,13 +122,14 @@ "read": { "permissions": [ "databrew:DescribeProject", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, "update": { "permissions": [ "databrew:UpdateProject", + "databrew:TagResource", + "databrew:UntagResource", "iam:PassRole" ] }, diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Recipe.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Recipe.json index 345e2d8cf2..26de484bdd 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Recipe.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Recipe.json @@ -548,13 +548,12 @@ "/properties/Name" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -588,13 +587,14 @@ "list": { "permissions": [ "databrew:ListRecipes", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, "update": { "permissions": [ - "databrew:UpdateRecipe" + "databrew:UpdateRecipe", + "databrew:TagResource", + "databrew:UntagResource" ] } } diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Ruleset.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Ruleset.json index 3aaea28b94..7f50eccd2f 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Ruleset.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Ruleset.json @@ -210,13 +210,12 @@ ], "createOnlyProperties": [ "/properties/Name", - "/properties/TargetArn", - "/properties/Tags" + "/properties/TargetArn" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -238,13 +237,14 @@ "read": { "permissions": [ "databrew:DescribeRuleset", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, "update": { "permissions": [ - "databrew:UpdateRuleset" + "databrew:UpdateRuleset", + "databrew:TagResource", + "databrew:UntagResource" ] }, "delete": { diff --git a/internal/service/cloudformation/schemas/AWS_DataBrew_Schedule.json b/internal/service/cloudformation/schemas/AWS_DataBrew_Schedule.json index f8dd523926..244bc35f90 100644 --- a/internal/service/cloudformation/schemas/AWS_DataBrew_Schedule.json +++ b/internal/service/cloudformation/schemas/AWS_DataBrew_Schedule.json @@ -70,13 +70,12 @@ "/properties/Name" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ @@ -98,13 +97,14 @@ "read": { "permissions": [ "databrew:DescribeSchedule", - "databrew:ListTagsForResource", "iam:ListRoles" ] }, "update": { "permissions": [ - "databrew:UpdateSchedule" + "databrew:UpdateSchedule", + "databrew:TagResource", + "databrew:UntagResource" ] }, "delete": { diff --git a/internal/service/cloudformation/schemas/AWS_DocDBElastic_Cluster.json b/internal/service/cloudformation/schemas/AWS_DocDBElastic_Cluster.json index f90971024a..ef80c7da9c 100644 --- a/internal/service/cloudformation/schemas/AWS_DocDBElastic_Cluster.json +++ b/internal/service/cloudformation/schemas/AWS_DocDBElastic_Cluster.json @@ -123,7 +123,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "docdb-elastic:TagResource", + "docdb-elastic:UntagResource", + "docdb-elastic:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/internal/service/cloudformation/schemas/AWS_ECS_Service.json b/internal/service/cloudformation/schemas/AWS_ECS_Service.json index 126abf9ea6..4947c995af 100644 --- a/internal/service/cloudformation/schemas/AWS_ECS_Service.json +++ b/internal/service/cloudformation/schemas/AWS_ECS_Service.json @@ -356,7 +356,7 @@ } }, "AssignPublicIp": { - "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. \n + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``.", + "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``.", "type": "string", "enum": [ "DISABLED", diff --git a/internal/service/cloudformation/schemas/AWS_EKS_Cluster.json b/internal/service/cloudformation/schemas/AWS_EKS_Cluster.json index b4c23037f8..c9745efeb6 100644 --- a/internal/service/cloudformation/schemas/AWS_EKS_Cluster.json +++ b/internal/service/cloudformation/schemas/AWS_EKS_Cluster.json @@ -444,6 +444,11 @@ "type": "string", "pattern": "1\\.\\d\\d" }, + "Force": { + "description": "Force cluster version update", + "type": "boolean", + "default": false + }, "Tags": { "description": "An array of key-value pairs to apply to this resource.", "type": "array", @@ -527,7 +532,8 @@ ], "writeOnlyProperties": [ "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/BootstrapSelfManagedAddons" + "/properties/BootstrapSelfManagedAddons", + "/properties/Force" ], "handlers": { "create": { diff --git a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json index 93719a8ab2..64962e6a98 100644 --- a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json +++ b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json @@ -97,7 +97,7 @@ "type": "boolean" }, "Mode": { - "description": "The client certificate handling method. The possible values are ``off``, ``passthrough``, and ``verify``. The default value is ``off``.", + "description": "The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``.", "type": "string" }, "TrustStoreArn": { @@ -105,7 +105,7 @@ "type": "string" }, "AdvertiseTrustStoreCaNames": { - "description": "Indicates whether trust store CA certificate names are advertised. The default value is ``off``.", + "description": "Indicates whether trust store CA certificate names are advertised.", "type": "string" } } diff --git a/internal/service/cloudformation/schemas/AWS_Glue_Job.json b/internal/service/cloudformation/schemas/AWS_Glue_Job.json index 2b683575bc..94048a1701 100644 --- a/internal/service/cloudformation/schemas/AWS_Glue_Job.json +++ b/internal/service/cloudformation/schemas/AWS_Glue_Job.json @@ -89,7 +89,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "glue:TagResource", + "glue:UntagResource" + ] }, "properties": { "Connections": { diff --git a/internal/service/cloudformation/schemas/AWS_GuardDuty_PublishingDestination.json b/internal/service/cloudformation/schemas/AWS_GuardDuty_PublishingDestination.json index abc0e41f0e..b91823d831 100644 --- a/internal/service/cloudformation/schemas/AWS_GuardDuty_PublishingDestination.json +++ b/internal/service/cloudformation/schemas/AWS_GuardDuty_PublishingDestination.json @@ -1,6 +1,6 @@ { "typeName": "AWS::GuardDuty::PublishingDestination", - "description": "Resource Type definition for AWS::GuardDuty::PublishingDestination", + "description": "Resource Type definition for AWS::GuardDuty::PublishingDestination.", "additionalProperties": false, "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_IoT_JobTemplate.json b/internal/service/cloudformation/schemas/AWS_IoT_JobTemplate.json index 0630ca6939..2027a6949b 100644 --- a/internal/service/cloudformation/schemas/AWS_IoT_JobTemplate.json +++ b/internal/service/cloudformation/schemas/AWS_IoT_JobTemplate.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoT::JobTemplate", - "description": "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.", + "description": "Resource Type definition for AWS::IoT::JobTemplate. Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iot.git", "documentationUrl": "https://docs.aws.amazon.com/iot/latest/developerguide/job-templates.html", "definitions": { @@ -335,18 +335,28 @@ } } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iot:TagResource", + "iot:UntagResource", + "iot:ListTagsForResource" + ] + }, "required": [ "JobTemplateId", "Description" ], - "taggable": true, "additionalProperties": false, "readOnlyProperties": [ "/properties/Arn" ], "writeOnlyProperties": [ "/properties/JobArn", - "/properties/Tags", "/properties/Document", "/properties/DocumentSource", "/properties/TimeoutConfig", @@ -367,10 +377,10 @@ "/properties/JobExecutionsRolloutConfig", "/properties/AbortConfig", "/properties/PresignedUrlConfig", - "/properties/Tags", "/properties/DestinationPackageVersions", "/properties/JobExecutionsRetryConfig", - "/properties/MaintenanceWindows" + "/properties/MaintenanceWindows", + "/properties/Tags" ], "primaryIdentifier": [ "/properties/JobTemplateId" @@ -386,7 +396,8 @@ }, "read": { "permissions": [ - "iot:DescribeJobTemplate" + "iot:DescribeJobTemplate", + "iot:ListTagsForResource" ] }, "delete": { diff --git a/internal/service/cloudformation/schemas/AWS_MediaConnect_FlowOutput.json b/internal/service/cloudformation/schemas/AWS_MediaConnect_FlowOutput.json index d0cf1763b9..29a47624c7 100644 --- a/internal/service/cloudformation/schemas/AWS_MediaConnect_FlowOutput.json +++ b/internal/service/cloudformation/schemas/AWS_MediaConnect_FlowOutput.json @@ -204,7 +204,8 @@ "srt-listener", "srt-caller", "st2110-jpegxs", - "cdi" + "cdi", + "ndi-speed-hq" ], "description": "The protocol that is used by the source or output." }, @@ -238,6 +239,14 @@ "DISABLED" ], "description": "An indication of whether the output should transmit data or not." + }, + "NdiProgramName": { + "type": "string", + "description": "A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name." + }, + "NdiSpeedHqQuality": { + "type": "integer", + "description": "A quality setting for the NDI Speed HQ encoder." } }, "additionalProperties": false, diff --git a/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json b/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json index 13c119b43e..c12654cec7 100644 --- a/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json +++ b/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json @@ -1,215 +1,223 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "permissions": [ - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:ListTagsForResource" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "handlers": { - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall", - "network-firewall:UpdateFirewallAnalysisSettings" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, "typeName": "AWS::NetworkFirewall::Firewall", - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], "description": "Resource type definition for AWS::NetworkFirewall::Firewall", - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", "additionalProperties": false, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], "definitions": { "ResourceArn": { - "minLength": 1, - "pattern": "^arn:aws.*$", "description": "A resource ARN.", "type": "string", + "pattern": "^arn:aws.*$", + "minLength": 1, "maxLength": 256 }, - "EnabledAnalysisType": { - "description": "An analysis type.", - "type": "string", - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ] + "EndpointId": { + "description": "An endpoint Id.", + "type": "string" }, "SubnetMapping": { - "additionalProperties": false, "type": "object", "properties": { - "IPAddressType": { - "description": "A IPAddressType", - "type": "string" - }, "SubnetId": { "description": "A SubnetId.", "type": "string" + }, + "IPAddressType": { + "description": "A IPAddressType", + "type": "string" } }, "required": [ "SubnetId" - ] + ], + "additionalProperties": false }, - "EndpointId": { - "description": "An endpoint Id.", + "EnabledAnalysisType": { + "description": "An analysis type.", + "enum": [ + "TLS_SNI", + "HTTP_HOST" + ], "type": "string" }, "Tag": { - "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 0, - "type": "string", - "maxLength": 255 - }, "Key": { - "minLength": 1, "type": "string", + "minLength": 1, "maxLength": 128 + }, + "Value": { + "type": "string", + "minLength": 0, + "maxLength": 255 } }, "required": [ "Value", "Key" - ] + ], + "additionalProperties": false } }, - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], "properties": { - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "Description": { - "pattern": "^.*$", + "FirewallName": { "type": "string", - "maxLength": 512 + "minLength": 1, + "maxLength": 128, + "pattern": "^[a-zA-Z0-9-]+$" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" }, "FirewallId": { - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", "type": "string", - "maxLength": 36 - }, - "SubnetChangeProtection": { - "type": "boolean" + "minLength": 36, + "maxLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$" }, - "FirewallName": { - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string", - "maxLength": 128 + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" }, "VpcId": { - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", "type": "string", - "maxLength": 128 + "minLength": 1, + "maxLength": 128, + "pattern": "^vpc-[0-9a-f]+$" + }, + "SubnetMappings": { + "type": "array", + "minItems": 1, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/SubnetMapping" + } }, "DeleteProtection": { "type": "boolean" }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" + "SubnetChangeProtection": { + "type": "boolean" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "Description": { + "type": "string", + "maxLength": 512, + "pattern": "^.*$" }, "EndpointIds": { - "insertionOrder": false, "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/EndpointId" } }, - "FirewallPolicyChangeProtection": { - "type": "boolean" + "EnabledAnalysisTypes": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EnabledAnalysisType" + }, + "description": "The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both." }, "Tags": { - "uniqueItems": true, - "insertionOrder": false, "type": "array", + "insertionOrder": false, + "uniqueItems": true, "items": { "$ref": "#/definitions/Tag" } + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "network-firewall:TagResource", + "network-firewall:UntagResource", + "network-firewall:ListTagsForResource" + ] + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "iam:CreateServiceLinkedRole", + "network-firewall:CreateFirewall", + "network-firewall:DescribeFirewallPolicy", + "network-firewall:DescribeRuleGroup", + "network-firewall:TagResource", + "network-firewall:AssociateSubnets", + "network-firewall:AssociateFirewallPolicy", + "network-firewall:DescribeFirewall" + ] }, - "SubnetMappings": { - "minItems": 1, - "uniqueItems": true, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/SubnetMapping" - } + "read": { + "permissions": [ + "network-firewall:DescribeFirewall", + "network-firewall:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "network-firewall:AssociateSubnets", + "network-firewall:DisassociateSubnets", + "network-firewall:UpdateFirewallDescription", + "network-firewall:UpdateFirewallDeleteProtection", + "network-firewall:UpdateSubnetChangeProtection", + "network-firewall:UpdateFirewallPolicyChangeProtection", + "network-firewall:AssociateFirewallPolicy", + "network-firewall:TagResource", + "network-firewall:UntagResource", + "network-firewall:DescribeFirewall", + "network-firewall:UpdateFirewallAnalysisSettings" + ] + }, + "delete": { + "permissions": [ + "ec2:DeleteVpcEndpoints", + "ec2:DescribeRouteTables", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "network-firewall:DeleteFirewall", + "network-firewall:UntagResource", + "network-firewall:DescribeFirewall" + ] + }, + "list": { + "permissions": [ + "network-firewall:ListFirewalls" + ] } } } diff --git a/internal/service/cloudformation/schemas/AWS_Omics_SequenceStore.json b/internal/service/cloudformation/schemas/AWS_Omics_SequenceStore.json index 35f8b8abf4..cc77dbbac3 100644 --- a/internal/service/cloudformation/schemas/AWS_Omics_SequenceStore.json +++ b/internal/service/cloudformation/schemas/AWS_Omics_SequenceStore.json @@ -1,13 +1,31 @@ { "typeName": "AWS::Omics::SequenceStore", - "description": "Definition of AWS::Omics::SequenceStore Resource Type", + "description": "Resource Type definition for AWS::Omics::SequenceStore", "definitions": { + "ETagAlgorithmFamily": { + "type": "string", + "enum": [ + "MD5up", + "SHA256up", + "SHA512up" + ] + }, "EncryptionType": { "type": "string", "enum": [ "KMS" ] }, + "SequenceStoreStatus": { + "type": "string", + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "FAILED" + ] + }, "SseConfig": { "type": "object", "description": "Server-side encryption (SSE) settings for a store.", @@ -41,6 +59,11 @@ } }, "properties": { + "AccessLogLocation": { + "type": "string", + "pattern": "^$|^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/?((.{1,800})/)?$", + "description": "Location of the access logs." + }, "Arn": { "type": "string", "maxLength": 127, @@ -60,6 +83,15 @@ "pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$", "description": "A description for the store." }, + "ETagAlgorithmFamily": { + "$ref": "#/definitions/ETagAlgorithmFamily" + }, + "FallbackLocation": { + "type": "string", + "minLength": 0, + "pattern": "", + "description": "An S3 location that is used to store files that have failed a direct upload." + }, "Name": { "type": "string", "maxLength": 127, @@ -67,11 +99,32 @@ "pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$", "description": "A name for the store." }, - "FallbackLocation": { + "PropagatedSetLevelTags": { + "type": "array", + "items": { + "type": "string", + "maxLength": 128, + "minLength": 1 + }, + "maxItems": 50, + "minItems": 0, + "description": "The tags keys to propagate to the S3 objects associated with read sets in the sequence store." + }, + "S3AccessPointArn": { "type": "string", + "maxLength": 1024, "minLength": 1, + "pattern": "^arn:[^:]*:s3:[^:]*:[^:]*:accesspoint/.*$", + "description": "This is ARN of the access point associated with the S3 bucket storing read sets." + }, + "S3AccessPolicy": { + "description": "The resource policy that controls S3 access on the store", + "type": "object" + }, + "S3Uri": { + "type": "string", "pattern": "", - "description": "An S3 URI representing the bucket and folder to store failed read set uploads." + "description": "The S3 URI of the sequence store." }, "SequenceStoreId": { "type": "string", @@ -82,8 +135,23 @@ "SseConfig": { "$ref": "#/definitions/SseConfig" }, + "Status": { + "$ref": "#/definitions/SequenceStoreStatus" + }, + "StatusMessage": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$", + "description": "The status message of the sequence store." + }, "Tags": { "$ref": "#/definitions/TagMap" + }, + "UpdateTime": { + "type": "string", + "description": "The last-updated time of the sequence store.", + "format": "date-time" } }, "required": [ @@ -92,14 +160,16 @@ "readOnlyProperties": [ "/properties/Arn", "/properties/CreationTime", - "/properties/SequenceStoreId" + "/properties/S3AccessPointArn", + "/properties/S3Uri", + "/properties/SequenceStoreId", + "/properties/Status", + "/properties/StatusMessage", + "/properties/UpdateTime" ], "createOnlyProperties": [ - "/properties/Description", - "/properties/Name", - "/properties/FallbackLocation", - "/properties/SseConfig", - "/properties/Tags" + "/properties/ETagAlgorithmFamily", + "/properties/SseConfig" ], "primaryIdentifier": [ "/properties/SequenceStoreId" @@ -107,28 +177,46 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": true, "tagProperty": "/properties/Tags", "permissions": [ "omics:TagResource", - "omics:ListTagsForResource" + "omics:ListTagsForResource", + "omics:UntagResource" ] }, "handlers": { "create": { "permissions": [ "omics:CreateSequenceStore", + "omics:GetSequenceStore", + "omics:GetS3AccessPolicy", + "omics:PutS3AccessPolicy", + "omics:ListTagsForResource", "omics:TagResource", "kms:DescribeKey" ] }, "read": { "permissions": [ + "omics:GetS3AccessPolicy", "omics:GetSequenceStore", "omics:ListTagsForResource" ] }, + "update": { + "permissions": [ + "omics:UpdateSequenceStore", + "omics:GetSequenceStore", + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource", + "omics:GetS3AccessPolicy", + "omics:DeleteS3AccessPolicy", + "omics:PutS3AccessPolicy" + ] + }, "delete": { "permissions": [ "omics:DeleteSequenceStore" diff --git a/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json b/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json index 40ea96c330..1ba4849029 100644 --- a/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json +++ b/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json @@ -10,6 +10,10 @@ "AES_128", "AES_192", "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", diff --git a/internal/service/cloudformation/schemas/AWS_QuickSight_DataSource.json b/internal/service/cloudformation/schemas/AWS_QuickSight_DataSource.json index cce3dcff7b..6d9a25e8bc 100644 --- a/internal/service/cloudformation/schemas/AWS_QuickSight_DataSource.json +++ b/internal/service/cloudformation/schemas/AWS_QuickSight_DataSource.json @@ -1162,5 +1162,17 @@ } }, "additionalProperties": false, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight" + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] + } } diff --git a/internal/service/cloudformation/schemas/AWS_QuickSight_VPCConnection.json b/internal/service/cloudformation/schemas/AWS_QuickSight_VPCConnection.json index fab98580e2..50e57e3a16 100644 --- a/internal/service/cloudformation/schemas/AWS_QuickSight_VPCConnection.json +++ b/internal/service/cloudformation/schemas/AWS_QuickSight_VPCConnection.json @@ -256,6 +256,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] } } diff --git a/internal/service/cloudformation/schemas/AWS_RDS_DBCluster.json b/internal/service/cloudformation/schemas/AWS_RDS_DBCluster.json index e325eac08b..d4b13888ae 100644 --- a/internal/service/cloudformation/schemas/AWS_RDS_DBCluster.json +++ b/internal/service/cloudformation/schemas/AWS_RDS_DBCluster.json @@ -203,7 +203,7 @@ "type": "string" }, "PerformanceInsightsRetentionPeriod": { - "description": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + "description": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", "type": "integer" }, "Port": { @@ -445,6 +445,7 @@ "/properties/Endpoint", "/properties/Endpoint/Address", "/properties/Endpoint/Port", + "/properties/ReadEndpoint", "/properties/ReadEndpoint/Address", "/properties/MasterUserSecret/SecretArn", "/properties/StorageThroughput" diff --git a/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json b/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json index 354246316b..26448ca129 100644 --- a/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json +++ b/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json @@ -143,6 +143,12 @@ "type": "string", "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS-Region, for example, ``arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE``." }, + "AutomaticBackupReplicationRetentionPeriod": { + "type": "integer", + "minimum": 1, + "maximum": 35, + "description": "" + }, "AvailabilityZone": { "type": "string", "description": "The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region.\n Constraints:\n + The ``AvailabilityZone`` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n + The specified Availability Zone must be in the same AWS-Region as the current endpoint.\n \n Example: ``us-east-1d``" @@ -150,6 +156,7 @@ "BackupRetentionPeriod": { "type": "integer", "minimum": 0, + "maximum": 35, "description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas" }, "CACertificateIdentifier": { @@ -370,7 +377,7 @@ }, "PerformanceInsightsRetentionPeriod": { "type": "integer", - "description": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error." + "description": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error." }, "Port": { "type": "string", @@ -562,12 +569,14 @@ "/properties/ApplyImmediately" ], "readOnlyProperties": [ + "/properties/Endpoint", "/properties/Endpoint/Address", "/properties/Endpoint/Port", "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", "/properties/MasterUserSecret/SecretArn", + "/properties/CertificateDetails", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill", "/properties/DatabaseInsightsMode" @@ -644,6 +653,7 @@ "rds:DescribeDBEngineVersions", "rds:DescribeDBInstances", "rds:DescribeDBParameterGroups", + "rds:DescribeDBInstanceAutomatedBackups", "rds:DescribeEvents", "rds:ModifyDBInstance", "rds:PromoteReadReplica", diff --git a/internal/service/cloudformation/schemas/AWS_RDS_DBProxy.json b/internal/service/cloudformation/schemas/AWS_RDS_DBProxy.json index 6dd78f4705..6fb0725224 100644 --- a/internal/service/cloudformation/schemas/AWS_RDS_DBProxy.json +++ b/internal/service/cloudformation/schemas/AWS_RDS_DBProxy.json @@ -163,7 +163,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource", + "rds:ListTagsForResource" + ] }, "primaryIdentifier": [ "/properties/DBProxyName" diff --git a/internal/service/cloudformation/schemas/AWS_RDS_DBProxyEndpoint.json b/internal/service/cloudformation/schemas/AWS_RDS_DBProxyEndpoint.json index 089da49b1b..06e5a53f2c 100644 --- a/internal/service/cloudformation/schemas/AWS_RDS_DBProxyEndpoint.json +++ b/internal/service/cloudformation/schemas/AWS_RDS_DBProxyEndpoint.json @@ -108,7 +108,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource", + "rds:ListTagsForResource" + ] }, "primaryIdentifier": [ "/properties/DBProxyEndpointName" diff --git a/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json b/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json index dc2dc87fb6..79e2a81d08 100644 --- a/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json +++ b/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json @@ -330,7 +330,10 @@ "minItems": 1, "maxItems": 5, "items": { - "$ref": "#/properties/Domain" + "type": "string", + "pattern": "", + "minLength": 1, + "maxLength": 253 } }, "CwLogEnabled": { diff --git a/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json b/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json index 77cbcc5316..f13b8a2a17 100644 --- a/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json +++ b/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json @@ -351,8 +351,6 @@ "/properties/Workgroup/CreationDate" ], "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", "/properties/ConfigParameters", "/properties/SecurityGroupIds", "/properties/SubnetIds" diff --git a/internal/service/cloudformation/schemas/AWS_Route53RecoveryControl_Cluster.json b/internal/service/cloudformation/schemas/AWS_Route53RecoveryControl_Cluster.json index 266ba84214..9b7769468f 100644 --- a/internal/service/cloudformation/schemas/AWS_Route53RecoveryControl_Cluster.json +++ b/internal/service/cloudformation/schemas/AWS_Route53RecoveryControl_Cluster.json @@ -78,6 +78,14 @@ "maxItems": 20 }, "insertionOrder": false + }, + "NetworkType": { + "description": "Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK.", + "type": "string", + "enum": [ + "IPV4", + "DUALSTACK" + ] } }, "required": [ @@ -117,6 +125,13 @@ "route53-recovery-control-config:DeleteCluster" ] }, + "update": { + "permissions": [ + "route53-recovery-control-config:DescribeCluster", + "route53-recovery-control-config:ListTagsForResource", + "route53-recovery-control-config:UpdateCluster" + ] + }, "list": { "permissions": [ "route53-recovery-control-config:ListClusters" diff --git a/internal/service/cloudformation/schemas/AWS_SecurityHub_ConfigurationPolicy.json b/internal/service/cloudformation/schemas/AWS_SecurityHub_ConfigurationPolicy.json index fbb1af8014..6db843d76b 100644 --- a/internal/service/cloudformation/schemas/AWS_SecurityHub_ConfigurationPolicy.json +++ b/internal/service/cloudformation/schemas/AWS_SecurityHub_ConfigurationPolicy.json @@ -260,7 +260,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "securityhub:ListTagsForResource", + "securityhub:TagResource", + "securityhub:UntagResource" + ] }, "handlers": { "create": { diff --git a/internal/service/cloudformation/schemas/AWS_SystemsManagerSAP_Application.json b/internal/service/cloudformation/schemas/AWS_SystemsManagerSAP_Application.json index 254c14ac48..52ecb62637 100644 --- a/internal/service/cloudformation/schemas/AWS_SystemsManagerSAP_Application.json +++ b/internal/service/cloudformation/schemas/AWS_SystemsManagerSAP_Application.json @@ -54,6 +54,15 @@ "description": "The ARN of the SAP HANA database", "type": "string", "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$" + }, + "ComponentsInfo": { + "description": "This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher.", + "type": "array", + "items": { + "$ref": "#/definitions/ComponentInfo" + }, + "minItems": 1, + "insertionOrder": true } }, "required": [ @@ -71,14 +80,16 @@ "/properties/Instances", "/properties/SapInstanceNumber", "/properties/Sid", - "/properties/DatabaseArn" + "/properties/DatabaseArn", + "/properties/ComponentsInfo" ], "writeOnlyProperties": [ "/properties/Credentials", "/properties/Instances", "/properties/SapInstanceNumber", "/properties/Sid", - "/properties/DatabaseArn" + "/properties/DatabaseArn", + "/properties/ComponentsInfo" ], "additionalProperties": false, "definitions": { @@ -128,6 +139,32 @@ "Instance": { "type": "string", "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$" + }, + "ComponentInfo": { + "type": "object", + "properties": { + "ComponentType": { + "type": "string", + "enum": [ + "HANA", + "HANA_NODE", + "ABAP", + "ASCS", + "DIALOG", + "WEBDISP", + "WD", + "ERS" + ] + }, + "Ec2InstanceId": { + "type": "string", + "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$" + }, + "Sid": { + "type": "string", + "pattern": "[A-Z][A-Z0-9]{2}" + } + } } }, "handlers": { diff --git a/internal/service/cloudformation/schemas/AWS_WAFv2_RuleGroup.json b/internal/service/cloudformation/schemas/AWS_WAFv2_RuleGroup.json index e51d97905d..18a43c18fc 100644 --- a/internal/service/cloudformation/schemas/AWS_WAFv2_RuleGroup.json +++ b/internal/service/cloudformation/schemas/AWS_WAFv2_RuleGroup.json @@ -120,6 +120,9 @@ }, "JA4Fingerprint": { "$ref": "#/definitions/JA4Fingerprint" + }, + "UriFragment": { + "$ref": "#/definitions/UriFragment" } }, "additionalProperties": false @@ -1390,6 +1393,20 @@ "FallbackBehavior" ], "additionalProperties": false + }, + "UriFragment": { + "description": "The path component of the URI Fragment. This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction", + "type": "object", + "properties": { + "FallbackBehavior": { + "type": "string", + "enum": [ + "MATCH", + "NO_MATCH" + ] + } + }, + "additionalProperties": false } }, "properties": { diff --git a/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json b/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json index 9875f7f762..e1b540dca1 100644 --- a/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json +++ b/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json @@ -747,9 +747,6 @@ "additionalProperties": false, "type": "object", "properties": { - "JsonBody": { - "$ref": "#/definitions/JsonBody" - }, "AllQueryArguments": { "description": "All query arguments of a web request.", "type": "object" @@ -770,10 +767,6 @@ "Name" ] }, - "UriPath": { - "description": "The path component of the URI of a web request. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.", - "type": "object" - }, "QueryString": { "description": "The query string of a web request. This is the part of a URL that appears after a ? character, if any.", "type": "object" @@ -781,16 +774,26 @@ "Headers": { "$ref": "#/definitions/Headers" }, + "Method": { + "description": "The HTTP method of a web request. The method indicates the type of operation that the request is asking the origin to perform.", + "type": "object" + }, + "UriFragment": { + "$ref": "#/definitions/UriFragment" + }, + "JsonBody": { + "$ref": "#/definitions/JsonBody" + }, + "UriPath": { + "description": "The path component of the URI of a web request. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.", + "type": "object" + }, "Cookies": { "$ref": "#/definitions/Cookies" }, "JA4Fingerprint": { "$ref": "#/definitions/JA4Fingerprint" }, - "Method": { - "description": "The HTTP method of a web request. The method indicates the type of operation that the request is asking the origin to perform.", - "type": "object" - }, "Body": { "$ref": "#/definitions/Body" }, @@ -1111,6 +1114,20 @@ "DataProtections" ] }, + "UriFragment": { + "description": "The path component of the URI Fragment. This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction", + "additionalProperties": false, + "type": "object", + "properties": { + "FallbackBehavior": { + "type": "string", + "enum": [ + "MATCH", + "NO_MATCH" + ] + } + } + }, "ResponseInspectionJson": { "description": "Response JSON that indicate success or failure of a login request", "additionalProperties": false, From 15a063f94f3f9b20ac8cce8ac8bf860c9eb43db6 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 27 Mar 2025 15:14:30 -0400 Subject: [PATCH 2/5] 2025/03/27 CloudFormation schemas in us-east-1; New schemas. --- internal/provider/all_schemas.hcl | 11 +- .../available_schemas.2025-03-27.hcl | 4896 +++++++++++++++++ internal/provider/import_examples_gen.json | 5 + internal/provider/plural_data_sources.go | 1 + internal/provider/resources.go | 1 + internal/provider/singular_data_sources.go | 1 + .../schemas/AWS_IoTSiteWise_Dataset.json | 177 + 7 files changed, 5089 insertions(+), 3 deletions(-) create mode 100644 internal/provider/generators/allschemas/available_schemas.2025-03-27.hcl create mode 100644 internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json diff --git a/internal/provider/all_schemas.hcl b/internal/provider/all_schemas.hcl index b9c6784d09..af4e3d31b7 100644 --- a/internal/provider/all_schemas.hcl +++ b/internal/provider/all_schemas.hcl @@ -2856,6 +2856,10 @@ resource_schema "aws_iotsitewise_dashboard" { cloudformation_type_name = "AWS::IoTSiteWise::Dashboard" } +resource_schema "aws_iotsitewise_dataset" { + cloudformation_type_name = "AWS::IoTSiteWise::Dataset" +} + resource_schema "aws_iotsitewise_gateway" { cloudformation_type_name = "AWS::IoTSiteWise::Gateway" } @@ -3740,10 +3744,10 @@ resource_schema "aws_opensearchserverless_security_config" { } resource_schema "aws_opensearchserverless_index" { - cloudformation_type_name = "AWS::OpenSearchServerless::Index" + cloudformation_type_name = "AWS::OpenSearchServerless::Index" # Suppression Reason: -# Recursive Attribute Definitions https://github.com/hashicorp/terraform-provider-awscc/issues/95 + # Recursive Attribute Definitions https://github.com/hashicorp/terraform-provider-awscc/issues/95 suppress_resource_generation = true suppress_singular_data_source_generation = true suppress_plural_data_source_generation = true @@ -5205,4 +5209,5 @@ resource_schema "aws_xray_sampling_rule" { resource_schema "aws_xray_transaction_search_config" { cloudformation_type_name = "AWS::XRay::TransactionSearchConfig" -} \ No newline at end of file +} + diff --git a/internal/provider/generators/allschemas/available_schemas.2025-03-27.hcl b/internal/provider/generators/allschemas/available_schemas.2025-03-27.hcl new file mode 100644 index 0000000000..b1e9841911 --- /dev/null +++ b/internal/provider/generators/allschemas/available_schemas.2025-03-27.hcl @@ -0,0 +1,4896 @@ +# 1151 CloudFormation resource types schemas are available for use with the Cloud Control API. + +resource_schema "aws_acmpca_certificate" { + cloudformation_type_name = "AWS::ACMPCA::Certificate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_acmpca_certificate_authority" { + cloudformation_type_name = "AWS::ACMPCA::CertificateAuthority" +} + +resource_schema "aws_acmpca_certificate_authority_activation" { + cloudformation_type_name = "AWS::ACMPCA::CertificateAuthorityActivation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_acmpca_permission" { + cloudformation_type_name = "AWS::ACMPCA::Permission" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_aps_rule_groups_namespace" { + cloudformation_type_name = "AWS::APS::RuleGroupsNamespace" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_aps_scraper" { + cloudformation_type_name = "AWS::APS::Scraper" +} + +resource_schema "aws_aps_workspace" { + cloudformation_type_name = "AWS::APS::Workspace" +} + +resource_schema "aws_arczonalshift_autoshift_observer_notification_status" { + cloudformation_type_name = "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus" +} + +resource_schema "aws_arczonalshift_zonal_autoshift_configuration" { + cloudformation_type_name = "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" +} + +resource_schema "aws_accessanalyzer_analyzer" { + cloudformation_type_name = "AWS::AccessAnalyzer::Analyzer" +} + +resource_schema "aws_amazonmq_configuration" { + cloudformation_type_name = "AWS::AmazonMQ::Configuration" +} + +resource_schema "aws_amplify_app" { + cloudformation_type_name = "AWS::Amplify::App" +} + +resource_schema "aws_amplify_branch" { + cloudformation_type_name = "AWS::Amplify::Branch" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_amplify_domain" { + cloudformation_type_name = "AWS::Amplify::Domain" +} + +resource_schema "aws_amplifyuibuilder_component" { + cloudformation_type_name = "AWS::AmplifyUIBuilder::Component" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_amplifyuibuilder_form" { + cloudformation_type_name = "AWS::AmplifyUIBuilder::Form" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_amplifyuibuilder_theme" { + cloudformation_type_name = "AWS::AmplifyUIBuilder::Theme" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_account" { + cloudformation_type_name = "AWS::ApiGateway::Account" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_api_key" { + cloudformation_type_name = "AWS::ApiGateway::ApiKey" +} + +resource_schema "aws_apigateway_authorizer" { + cloudformation_type_name = "AWS::ApiGateway::Authorizer" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_base_path_mapping" { + cloudformation_type_name = "AWS::ApiGateway::BasePathMapping" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_base_path_mapping_v2" { + cloudformation_type_name = "AWS::ApiGateway::BasePathMappingV2" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_client_certificate" { + cloudformation_type_name = "AWS::ApiGateway::ClientCertificate" +} + +resource_schema "aws_apigateway_deployment" { + cloudformation_type_name = "AWS::ApiGateway::Deployment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_documentation_part" { + cloudformation_type_name = "AWS::ApiGateway::DocumentationPart" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_documentation_version" { + cloudformation_type_name = "AWS::ApiGateway::DocumentationVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_domain_name" { + cloudformation_type_name = "AWS::ApiGateway::DomainName" +} + +resource_schema "aws_apigateway_domain_name_access_association" { + cloudformation_type_name = "AWS::ApiGateway::DomainNameAccessAssociation" +} + +resource_schema "aws_apigateway_domain_name_v2" { + cloudformation_type_name = "AWS::ApiGateway::DomainNameV2" +} + +resource_schema "aws_apigateway_gateway_response" { + cloudformation_type_name = "AWS::ApiGateway::GatewayResponse" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_method" { + cloudformation_type_name = "AWS::ApiGateway::Method" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_model" { + cloudformation_type_name = "AWS::ApiGateway::Model" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_request_validator" { + cloudformation_type_name = "AWS::ApiGateway::RequestValidator" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_resource" { + cloudformation_type_name = "AWS::ApiGateway::Resource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_rest_api" { + cloudformation_type_name = "AWS::ApiGateway::RestApi" +} + +resource_schema "aws_apigateway_stage" { + cloudformation_type_name = "AWS::ApiGateway::Stage" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_usage_plan" { + cloudformation_type_name = "AWS::ApiGateway::UsagePlan" +} + +resource_schema "aws_apigateway_usage_plan_key" { + cloudformation_type_name = "AWS::ApiGateway::UsagePlanKey" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigateway_vpc_link" { + cloudformation_type_name = "AWS::ApiGateway::VpcLink" +} + +resource_schema "aws_apigatewayv2_api" { + cloudformation_type_name = "AWS::ApiGatewayV2::Api" +} + +resource_schema "aws_apigatewayv2_api_mapping" { + cloudformation_type_name = "AWS::ApiGatewayV2::ApiMapping" +} + +resource_schema "aws_apigatewayv2_authorizer" { + cloudformation_type_name = "AWS::ApiGatewayV2::Authorizer" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigatewayv2_deployment" { + cloudformation_type_name = "AWS::ApiGatewayV2::Deployment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigatewayv2_domain_name" { + cloudformation_type_name = "AWS::ApiGatewayV2::DomainName" +} + +resource_schema "aws_apigatewayv2_integration" { + cloudformation_type_name = "AWS::ApiGatewayV2::Integration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigatewayv2_integration_response" { + cloudformation_type_name = "AWS::ApiGatewayV2::IntegrationResponse" +} + +resource_schema "aws_apigatewayv2_model" { + cloudformation_type_name = "AWS::ApiGatewayV2::Model" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigatewayv2_route" { + cloudformation_type_name = "AWS::ApiGatewayV2::Route" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apigatewayv2_route_response" { + cloudformation_type_name = "AWS::ApiGatewayV2::RouteResponse" +} + +resource_schema "aws_apigatewayv2_vpc_link" { + cloudformation_type_name = "AWS::ApiGatewayV2::VpcLink" +} + +resource_schema "aws_appconfig_application" { + cloudformation_type_name = "AWS::AppConfig::Application" +} + +resource_schema "aws_appconfig_configuration_profile" { + cloudformation_type_name = "AWS::AppConfig::ConfigurationProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appconfig_deployment" { + cloudformation_type_name = "AWS::AppConfig::Deployment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appconfig_deployment_strategy" { + cloudformation_type_name = "AWS::AppConfig::DeploymentStrategy" +} + +resource_schema "aws_appconfig_environment" { + cloudformation_type_name = "AWS::AppConfig::Environment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appconfig_extension" { + cloudformation_type_name = "AWS::AppConfig::Extension" +} + +resource_schema "aws_appconfig_extension_association" { + cloudformation_type_name = "AWS::AppConfig::ExtensionAssociation" +} + +resource_schema "aws_appconfig_hosted_configuration_version" { + cloudformation_type_name = "AWS::AppConfig::HostedConfigurationVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appflow_connector" { + cloudformation_type_name = "AWS::AppFlow::Connector" +} + +resource_schema "aws_appflow_connector_profile" { + cloudformation_type_name = "AWS::AppFlow::ConnectorProfile" +} + +resource_schema "aws_appflow_flow" { + cloudformation_type_name = "AWS::AppFlow::Flow" +} + +resource_schema "aws_appintegrations_application" { + cloudformation_type_name = "AWS::AppIntegrations::Application" +} + +resource_schema "aws_appintegrations_data_integration" { + cloudformation_type_name = "AWS::AppIntegrations::DataIntegration" +} + +resource_schema "aws_appintegrations_event_integration" { + cloudformation_type_name = "AWS::AppIntegrations::EventIntegration" +} + +resource_schema "aws_apprunner_auto_scaling_configuration" { + cloudformation_type_name = "AWS::AppRunner::AutoScalingConfiguration" +} + +resource_schema "aws_apprunner_observability_configuration" { + cloudformation_type_name = "AWS::AppRunner::ObservabilityConfiguration" +} + +resource_schema "aws_apprunner_service" { + cloudformation_type_name = "AWS::AppRunner::Service" +} + +resource_schema "aws_apprunner_vpc_connector" { + cloudformation_type_name = "AWS::AppRunner::VpcConnector" +} + +resource_schema "aws_apprunner_vpc_ingress_connection" { + cloudformation_type_name = "AWS::AppRunner::VpcIngressConnection" +} + +resource_schema "aws_appstream_app_block" { + cloudformation_type_name = "AWS::AppStream::AppBlock" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appstream_app_block_builder" { + cloudformation_type_name = "AWS::AppStream::AppBlockBuilder" +} + +resource_schema "aws_appstream_application" { + cloudformation_type_name = "AWS::AppStream::Application" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appstream_application_entitlement_association" { + cloudformation_type_name = "AWS::AppStream::ApplicationEntitlementAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appstream_application_fleet_association" { + cloudformation_type_name = "AWS::AppStream::ApplicationFleetAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appstream_directory_config" { + cloudformation_type_name = "AWS::AppStream::DirectoryConfig" +} + +resource_schema "aws_appstream_entitlement" { + cloudformation_type_name = "AWS::AppStream::Entitlement" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appstream_image_builder" { + cloudformation_type_name = "AWS::AppStream::ImageBuilder" +} + +resource_schema "aws_appsync_api" { + cloudformation_type_name = "AWS::AppSync::Api" +} + +resource_schema "aws_appsync_channel_namespace" { + cloudformation_type_name = "AWS::AppSync::ChannelNamespace" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appsync_data_source" { + cloudformation_type_name = "AWS::AppSync::DataSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appsync_domain_name" { + cloudformation_type_name = "AWS::AppSync::DomainName" +} + +resource_schema "aws_appsync_domain_name_api_association" { + cloudformation_type_name = "AWS::AppSync::DomainNameApiAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appsync_function_configuration" { + cloudformation_type_name = "AWS::AppSync::FunctionConfiguration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appsync_graph_ql_api" { + cloudformation_type_name = "AWS::AppSync::GraphQLApi" +} + +resource_schema "aws_appsync_resolver" { + cloudformation_type_name = "AWS::AppSync::Resolver" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_appsync_source_api_association" { + cloudformation_type_name = "AWS::AppSync::SourceApiAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_apptest_test_case" { + cloudformation_type_name = "AWS::AppTest::TestCase" +} + +resource_schema "aws_applicationautoscaling_scalable_target" { + cloudformation_type_name = "AWS::ApplicationAutoScaling::ScalableTarget" +} + +resource_schema "aws_applicationautoscaling_scaling_policy" { + cloudformation_type_name = "AWS::ApplicationAutoScaling::ScalingPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_applicationinsights_application" { + cloudformation_type_name = "AWS::ApplicationInsights::Application" +} + +resource_schema "aws_applicationsignals_discovery" { + cloudformation_type_name = "AWS::ApplicationSignals::Discovery" +} + +resource_schema "aws_applicationsignals_service_level_objective" { + cloudformation_type_name = "AWS::ApplicationSignals::ServiceLevelObjective" +} + +resource_schema "aws_athena_capacity_reservation" { + cloudformation_type_name = "AWS::Athena::CapacityReservation" +} + +resource_schema "aws_athena_data_catalog" { + cloudformation_type_name = "AWS::Athena::DataCatalog" +} + +resource_schema "aws_athena_named_query" { + cloudformation_type_name = "AWS::Athena::NamedQuery" +} + +resource_schema "aws_athena_prepared_statement" { + cloudformation_type_name = "AWS::Athena::PreparedStatement" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_athena_work_group" { + cloudformation_type_name = "AWS::Athena::WorkGroup" +} + +resource_schema "aws_auditmanager_assessment" { + cloudformation_type_name = "AWS::AuditManager::Assessment" +} + +resource_schema "aws_autoscaling_auto_scaling_group" { + cloudformation_type_name = "AWS::AutoScaling::AutoScalingGroup" +} + +resource_schema "aws_autoscaling_launch_configuration" { + cloudformation_type_name = "AWS::AutoScaling::LaunchConfiguration" +} + +resource_schema "aws_autoscaling_lifecycle_hook" { + cloudformation_type_name = "AWS::AutoScaling::LifecycleHook" +} + +resource_schema "aws_autoscaling_scaling_policy" { + cloudformation_type_name = "AWS::AutoScaling::ScalingPolicy" +} + +resource_schema "aws_autoscaling_scheduled_action" { + cloudformation_type_name = "AWS::AutoScaling::ScheduledAction" +} + +resource_schema "aws_autoscaling_warm_pool" { + cloudformation_type_name = "AWS::AutoScaling::WarmPool" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_b2bi_capability" { + cloudformation_type_name = "AWS::B2BI::Capability" +} + +resource_schema "aws_b2bi_partnership" { + cloudformation_type_name = "AWS::B2BI::Partnership" +} + +resource_schema "aws_b2bi_profile" { + cloudformation_type_name = "AWS::B2BI::Profile" +} + +resource_schema "aws_b2bi_transformer" { + cloudformation_type_name = "AWS::B2BI::Transformer" +} + +resource_schema "aws_bcmdataexports_export" { + cloudformation_type_name = "AWS::BCMDataExports::Export" +} + +resource_schema "aws_backup_backup_plan" { + cloudformation_type_name = "AWS::Backup::BackupPlan" +} + +resource_schema "aws_backup_backup_selection" { + cloudformation_type_name = "AWS::Backup::BackupSelection" +} + +resource_schema "aws_backup_backup_vault" { + cloudformation_type_name = "AWS::Backup::BackupVault" +} + +resource_schema "aws_backup_framework" { + cloudformation_type_name = "AWS::Backup::Framework" +} + +resource_schema "aws_backup_logically_air_gapped_backup_vault" { + cloudformation_type_name = "AWS::Backup::LogicallyAirGappedBackupVault" +} + +resource_schema "aws_backup_report_plan" { + cloudformation_type_name = "AWS::Backup::ReportPlan" +} + +resource_schema "aws_backup_restore_testing_plan" { + cloudformation_type_name = "AWS::Backup::RestoreTestingPlan" +} + +resource_schema "aws_backup_restore_testing_selection" { + cloudformation_type_name = "AWS::Backup::RestoreTestingSelection" +} + +resource_schema "aws_backupgateway_hypervisor" { + cloudformation_type_name = "AWS::BackupGateway::Hypervisor" +} + +resource_schema "aws_batch_compute_environment" { + cloudformation_type_name = "AWS::Batch::ComputeEnvironment" +} + +resource_schema "aws_batch_consumable_resource" { + cloudformation_type_name = "AWS::Batch::ConsumableResource" +} + +resource_schema "aws_batch_job_definition" { + cloudformation_type_name = "AWS::Batch::JobDefinition" +} + +resource_schema "aws_batch_job_queue" { + cloudformation_type_name = "AWS::Batch::JobQueue" +} + +resource_schema "aws_batch_scheduling_policy" { + cloudformation_type_name = "AWS::Batch::SchedulingPolicy" +} + +resource_schema "aws_bedrock_agent" { + cloudformation_type_name = "AWS::Bedrock::Agent" +} + +resource_schema "aws_bedrock_agent_alias" { + cloudformation_type_name = "AWS::Bedrock::AgentAlias" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_bedrock_application_inference_profile" { + cloudformation_type_name = "AWS::Bedrock::ApplicationInferenceProfile" +} + +resource_schema "aws_bedrock_blueprint" { + cloudformation_type_name = "AWS::Bedrock::Blueprint" +} + +resource_schema "aws_bedrock_data_automation_project" { + cloudformation_type_name = "AWS::Bedrock::DataAutomationProject" +} + +resource_schema "aws_bedrock_data_source" { + cloudformation_type_name = "AWS::Bedrock::DataSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_bedrock_flow" { + cloudformation_type_name = "AWS::Bedrock::Flow" +} + +resource_schema "aws_bedrock_flow_alias" { + cloudformation_type_name = "AWS::Bedrock::FlowAlias" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_bedrock_flow_version" { + cloudformation_type_name = "AWS::Bedrock::FlowVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_bedrock_guardrail" { + cloudformation_type_name = "AWS::Bedrock::Guardrail" +} + +resource_schema "aws_bedrock_guardrail_version" { + cloudformation_type_name = "AWS::Bedrock::GuardrailVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_bedrock_knowledge_base" { + cloudformation_type_name = "AWS::Bedrock::KnowledgeBase" +} + +resource_schema "aws_bedrock_prompt" { + cloudformation_type_name = "AWS::Bedrock::Prompt" +} + +resource_schema "aws_bedrock_prompt_version" { + cloudformation_type_name = "AWS::Bedrock::PromptVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_billingconductor_billing_group" { + cloudformation_type_name = "AWS::BillingConductor::BillingGroup" +} + +resource_schema "aws_billingconductor_custom_line_item" { + cloudformation_type_name = "AWS::BillingConductor::CustomLineItem" +} + +resource_schema "aws_billingconductor_pricing_plan" { + cloudformation_type_name = "AWS::BillingConductor::PricingPlan" +} + +resource_schema "aws_billingconductor_pricing_rule" { + cloudformation_type_name = "AWS::BillingConductor::PricingRule" +} + +resource_schema "aws_budgets_budgets_action" { + cloudformation_type_name = "AWS::Budgets::BudgetsAction" +} + +resource_schema "aws_ce_anomaly_monitor" { + cloudformation_type_name = "AWS::CE::AnomalyMonitor" +} + +resource_schema "aws_ce_anomaly_subscription" { + cloudformation_type_name = "AWS::CE::AnomalySubscription" +} + +resource_schema "aws_ce_cost_category" { + cloudformation_type_name = "AWS::CE::CostCategory" +} + +resource_schema "aws_cur_report_definition" { + cloudformation_type_name = "AWS::CUR::ReportDefinition" +} + +resource_schema "aws_cassandra_keyspace" { + cloudformation_type_name = "AWS::Cassandra::Keyspace" +} + +resource_schema "aws_cassandra_table" { + cloudformation_type_name = "AWS::Cassandra::Table" +} + +resource_schema "aws_cassandra_type" { + cloudformation_type_name = "AWS::Cassandra::Type" +} + +resource_schema "aws_certificatemanager_account" { + cloudformation_type_name = "AWS::CertificateManager::Account" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_chatbot_custom_action" { + cloudformation_type_name = "AWS::Chatbot::CustomAction" +} + +resource_schema "aws_chatbot_microsoft_teams_channel_configuration" { + cloudformation_type_name = "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" +} + +resource_schema "aws_chatbot_slack_channel_configuration" { + cloudformation_type_name = "AWS::Chatbot::SlackChannelConfiguration" +} + +resource_schema "aws_cleanrooms_analysis_template" { + cloudformation_type_name = "AWS::CleanRooms::AnalysisTemplate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cleanrooms_collaboration" { + cloudformation_type_name = "AWS::CleanRooms::Collaboration" +} + +resource_schema "aws_cleanrooms_configured_table" { + cloudformation_type_name = "AWS::CleanRooms::ConfiguredTable" +} + +resource_schema "aws_cleanrooms_configured_table_association" { + cloudformation_type_name = "AWS::CleanRooms::ConfiguredTableAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cleanrooms_id_mapping_table" { + cloudformation_type_name = "AWS::CleanRooms::IdMappingTable" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cleanrooms_id_namespace_association" { + cloudformation_type_name = "AWS::CleanRooms::IdNamespaceAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cleanrooms_membership" { + cloudformation_type_name = "AWS::CleanRooms::Membership" +} + +resource_schema "aws_cleanrooms_privacy_budget_template" { + cloudformation_type_name = "AWS::CleanRooms::PrivacyBudgetTemplate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cleanroomsml_training_dataset" { + cloudformation_type_name = "AWS::CleanRoomsML::TrainingDataset" +} + +resource_schema "aws_cloudformation_guard_hook" { + cloudformation_type_name = "AWS::CloudFormation::GuardHook" +} + +resource_schema "aws_cloudformation_hook_default_version" { + cloudformation_type_name = "AWS::CloudFormation::HookDefaultVersion" +} + +resource_schema "aws_cloudformation_hook_type_config" { + cloudformation_type_name = "AWS::CloudFormation::HookTypeConfig" +} + +resource_schema "aws_cloudformation_hook_version" { + cloudformation_type_name = "AWS::CloudFormation::HookVersion" +} + +resource_schema "aws_cloudformation_lambda_hook" { + cloudformation_type_name = "AWS::CloudFormation::LambdaHook" +} + +resource_schema "aws_cloudformation_module_default_version" { + cloudformation_type_name = "AWS::CloudFormation::ModuleDefaultVersion" +} + +resource_schema "aws_cloudformation_module_version" { + cloudformation_type_name = "AWS::CloudFormation::ModuleVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cloudformation_public_type_version" { + cloudformation_type_name = "AWS::CloudFormation::PublicTypeVersion" +} + +resource_schema "aws_cloudformation_publisher" { + cloudformation_type_name = "AWS::CloudFormation::Publisher" +} + +resource_schema "aws_cloudformation_resource_default_version" { + cloudformation_type_name = "AWS::CloudFormation::ResourceDefaultVersion" +} + +resource_schema "aws_cloudformation_resource_version" { + cloudformation_type_name = "AWS::CloudFormation::ResourceVersion" +} + +resource_schema "aws_cloudformation_stack" { + cloudformation_type_name = "AWS::CloudFormation::Stack" +} + +resource_schema "aws_cloudformation_stack_set" { + cloudformation_type_name = "AWS::CloudFormation::StackSet" +} + +resource_schema "aws_cloudformation_type_activation" { + cloudformation_type_name = "AWS::CloudFormation::TypeActivation" +} + +resource_schema "aws_cloudfront_anycast_ip_list" { + cloudformation_type_name = "AWS::CloudFront::AnycastIpList" +} + +resource_schema "aws_cloudfront_cache_policy" { + cloudformation_type_name = "AWS::CloudFront::CachePolicy" +} + +resource_schema "aws_cloudfront_cloudfront_origin_access_identity" { + cloudformation_type_name = "AWS::CloudFront::CloudFrontOriginAccessIdentity" +} + +resource_schema "aws_cloudfront_continuous_deployment_policy" { + cloudformation_type_name = "AWS::CloudFront::ContinuousDeploymentPolicy" +} + +resource_schema "aws_cloudfront_distribution" { + cloudformation_type_name = "AWS::CloudFront::Distribution" +} + +resource_schema "aws_cloudfront_function" { + cloudformation_type_name = "AWS::CloudFront::Function" +} + +resource_schema "aws_cloudfront_key_group" { + cloudformation_type_name = "AWS::CloudFront::KeyGroup" +} + +resource_schema "aws_cloudfront_key_value_store" { + cloudformation_type_name = "AWS::CloudFront::KeyValueStore" +} + +resource_schema "aws_cloudfront_monitoring_subscription" { + cloudformation_type_name = "AWS::CloudFront::MonitoringSubscription" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cloudfront_origin_access_control" { + cloudformation_type_name = "AWS::CloudFront::OriginAccessControl" +} + +resource_schema "aws_cloudfront_origin_request_policy" { + cloudformation_type_name = "AWS::CloudFront::OriginRequestPolicy" +} + +resource_schema "aws_cloudfront_public_key" { + cloudformation_type_name = "AWS::CloudFront::PublicKey" +} + +resource_schema "aws_cloudfront_realtime_log_config" { + cloudformation_type_name = "AWS::CloudFront::RealtimeLogConfig" +} + +resource_schema "aws_cloudfront_response_headers_policy" { + cloudformation_type_name = "AWS::CloudFront::ResponseHeadersPolicy" +} + +resource_schema "aws_cloudfront_vpc_origin" { + cloudformation_type_name = "AWS::CloudFront::VpcOrigin" +} + +resource_schema "aws_cloudtrail_channel" { + cloudformation_type_name = "AWS::CloudTrail::Channel" +} + +resource_schema "aws_cloudtrail_dashboard" { + cloudformation_type_name = "AWS::CloudTrail::Dashboard" +} + +resource_schema "aws_cloudtrail_event_data_store" { + cloudformation_type_name = "AWS::CloudTrail::EventDataStore" +} + +resource_schema "aws_cloudtrail_resource_policy" { + cloudformation_type_name = "AWS::CloudTrail::ResourcePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cloudtrail_trail" { + cloudformation_type_name = "AWS::CloudTrail::Trail" +} + +resource_schema "aws_cloudwatch_alarm" { + cloudformation_type_name = "AWS::CloudWatch::Alarm" +} + +resource_schema "aws_cloudwatch_composite_alarm" { + cloudformation_type_name = "AWS::CloudWatch::CompositeAlarm" +} + +resource_schema "aws_cloudwatch_dashboard" { + cloudformation_type_name = "AWS::CloudWatch::Dashboard" +} + +resource_schema "aws_cloudwatch_metric_stream" { + cloudformation_type_name = "AWS::CloudWatch::MetricStream" +} + +resource_schema "aws_codeartifact_domain" { + cloudformation_type_name = "AWS::CodeArtifact::Domain" +} + +resource_schema "aws_codeartifact_package_group" { + cloudformation_type_name = "AWS::CodeArtifact::PackageGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_codeartifact_repository" { + cloudformation_type_name = "AWS::CodeArtifact::Repository" +} + +resource_schema "aws_codebuild_fleet" { + cloudformation_type_name = "AWS::CodeBuild::Fleet" +} + +resource_schema "aws_codeconnections_connection" { + cloudformation_type_name = "AWS::CodeConnections::Connection" +} + +resource_schema "aws_codedeploy_application" { + cloudformation_type_name = "AWS::CodeDeploy::Application" +} + +resource_schema "aws_codedeploy_deployment_config" { + cloudformation_type_name = "AWS::CodeDeploy::DeploymentConfig" +} + +resource_schema "aws_codeguruprofiler_profiling_group" { + cloudformation_type_name = "AWS::CodeGuruProfiler::ProfilingGroup" +} + +resource_schema "aws_codegurureviewer_repository_association" { + cloudformation_type_name = "AWS::CodeGuruReviewer::RepositoryAssociation" +} + +resource_schema "aws_codepipeline_custom_action_type" { + cloudformation_type_name = "AWS::CodePipeline::CustomActionType" +} + +resource_schema "aws_codepipeline_pipeline" { + cloudformation_type_name = "AWS::CodePipeline::Pipeline" +} + +resource_schema "aws_codestarconnections_connection" { + cloudformation_type_name = "AWS::CodeStarConnections::Connection" +} + +resource_schema "aws_codestarconnections_repository_link" { + cloudformation_type_name = "AWS::CodeStarConnections::RepositoryLink" +} + +resource_schema "aws_codestarconnections_sync_configuration" { + cloudformation_type_name = "AWS::CodeStarConnections::SyncConfiguration" +} + +resource_schema "aws_codestarnotifications_notification_rule" { + cloudformation_type_name = "AWS::CodeStarNotifications::NotificationRule" +} + +resource_schema "aws_cognito_identity_pool" { + cloudformation_type_name = "AWS::Cognito::IdentityPool" +} + +resource_schema "aws_cognito_identity_pool_principal_tag" { + cloudformation_type_name = "AWS::Cognito::IdentityPoolPrincipalTag" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_identity_pool_role_attachment" { + cloudformation_type_name = "AWS::Cognito::IdentityPoolRoleAttachment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_log_delivery_configuration" { + cloudformation_type_name = "AWS::Cognito::LogDeliveryConfiguration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_managed_login_branding" { + cloudformation_type_name = "AWS::Cognito::ManagedLoginBranding" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool" { + cloudformation_type_name = "AWS::Cognito::UserPool" +} + +resource_schema "aws_cognito_user_pool_client" { + cloudformation_type_name = "AWS::Cognito::UserPoolClient" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_domain" { + cloudformation_type_name = "AWS::Cognito::UserPoolDomain" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_group" { + cloudformation_type_name = "AWS::Cognito::UserPoolGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_identity_provider" { + cloudformation_type_name = "AWS::Cognito::UserPoolIdentityProvider" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_resource_server" { + cloudformation_type_name = "AWS::Cognito::UserPoolResourceServer" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_risk_configuration_attachment" { + cloudformation_type_name = "AWS::Cognito::UserPoolRiskConfigurationAttachment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_ui_customization_attachment" { + cloudformation_type_name = "AWS::Cognito::UserPoolUICustomizationAttachment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_user" { + cloudformation_type_name = "AWS::Cognito::UserPoolUser" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_cognito_user_pool_user_to_group_attachment" { + cloudformation_type_name = "AWS::Cognito::UserPoolUserToGroupAttachment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_comprehend_document_classifier" { + cloudformation_type_name = "AWS::Comprehend::DocumentClassifier" +} + +resource_schema "aws_comprehend_flywheel" { + cloudformation_type_name = "AWS::Comprehend::Flywheel" +} + +resource_schema "aws_config_aggregation_authorization" { + cloudformation_type_name = "AWS::Config::AggregationAuthorization" +} + +resource_schema "aws_config_config_rule" { + cloudformation_type_name = "AWS::Config::ConfigRule" +} + +resource_schema "aws_config_configuration_aggregator" { + cloudformation_type_name = "AWS::Config::ConfigurationAggregator" +} + +resource_schema "aws_config_conformance_pack" { + cloudformation_type_name = "AWS::Config::ConformancePack" +} + +resource_schema "aws_config_organization_conformance_pack" { + cloudformation_type_name = "AWS::Config::OrganizationConformancePack" +} + +resource_schema "aws_config_stored_query" { + cloudformation_type_name = "AWS::Config::StoredQuery" +} + +resource_schema "aws_connect_agent_status" { + cloudformation_type_name = "AWS::Connect::AgentStatus" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_approved_origin" { + cloudformation_type_name = "AWS::Connect::ApprovedOrigin" +} + +resource_schema "aws_connect_contact_flow" { + cloudformation_type_name = "AWS::Connect::ContactFlow" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_contact_flow_module" { + cloudformation_type_name = "AWS::Connect::ContactFlowModule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_contact_flow_version" { + cloudformation_type_name = "AWS::Connect::ContactFlowVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_email_address" { + cloudformation_type_name = "AWS::Connect::EmailAddress" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_evaluation_form" { + cloudformation_type_name = "AWS::Connect::EvaluationForm" +} + +resource_schema "aws_connect_hours_of_operation" { + cloudformation_type_name = "AWS::Connect::HoursOfOperation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_instance" { + cloudformation_type_name = "AWS::Connect::Instance" +} + +resource_schema "aws_connect_instance_storage_config" { + cloudformation_type_name = "AWS::Connect::InstanceStorageConfig" +} + +resource_schema "aws_connect_integration_association" { + cloudformation_type_name = "AWS::Connect::IntegrationAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_phone_number" { + cloudformation_type_name = "AWS::Connect::PhoneNumber" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_predefined_attribute" { + cloudformation_type_name = "AWS::Connect::PredefinedAttribute" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_prompt" { + cloudformation_type_name = "AWS::Connect::Prompt" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_queue" { + cloudformation_type_name = "AWS::Connect::Queue" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_quick_connect" { + cloudformation_type_name = "AWS::Connect::QuickConnect" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_routing_profile" { + cloudformation_type_name = "AWS::Connect::RoutingProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_rule" { + cloudformation_type_name = "AWS::Connect::Rule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_security_key" { + cloudformation_type_name = "AWS::Connect::SecurityKey" +} + +resource_schema "aws_connect_security_profile" { + cloudformation_type_name = "AWS::Connect::SecurityProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_task_template" { + cloudformation_type_name = "AWS::Connect::TaskTemplate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_traffic_distribution_group" { + cloudformation_type_name = "AWS::Connect::TrafficDistributionGroup" +} + +resource_schema "aws_connect_user" { + cloudformation_type_name = "AWS::Connect::User" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_user_hierarchy_group" { + cloudformation_type_name = "AWS::Connect::UserHierarchyGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_user_hierarchy_structure" { + cloudformation_type_name = "AWS::Connect::UserHierarchyStructure" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_view" { + cloudformation_type_name = "AWS::Connect::View" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connect_view_version" { + cloudformation_type_name = "AWS::Connect::ViewVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_connectcampaigns_campaign" { + cloudformation_type_name = "AWS::ConnectCampaigns::Campaign" +} + +resource_schema "aws_connectcampaignsv2_campaign" { + cloudformation_type_name = "AWS::ConnectCampaignsV2::Campaign" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_controltower_enabled_baseline" { + cloudformation_type_name = "AWS::ControlTower::EnabledBaseline" +} + +resource_schema "aws_controltower_enabled_control" { + cloudformation_type_name = "AWS::ControlTower::EnabledControl" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_controltower_landing_zone" { + cloudformation_type_name = "AWS::ControlTower::LandingZone" +} + +resource_schema "aws_customerprofiles_calculated_attribute_definition" { + cloudformation_type_name = "AWS::CustomerProfiles::CalculatedAttributeDefinition" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_domain" { + cloudformation_type_name = "AWS::CustomerProfiles::Domain" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_event_stream" { + cloudformation_type_name = "AWS::CustomerProfiles::EventStream" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_event_trigger" { + cloudformation_type_name = "AWS::CustomerProfiles::EventTrigger" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_integration" { + cloudformation_type_name = "AWS::CustomerProfiles::Integration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_object_type" { + cloudformation_type_name = "AWS::CustomerProfiles::ObjectType" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_customerprofiles_segment_definition" { + cloudformation_type_name = "AWS::CustomerProfiles::SegmentDefinition" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_dms_data_migration" { + cloudformation_type_name = "AWS::DMS::DataMigration" +} + +resource_schema "aws_dms_data_provider" { + cloudformation_type_name = "AWS::DMS::DataProvider" +} + +resource_schema "aws_dms_instance_profile" { + cloudformation_type_name = "AWS::DMS::InstanceProfile" +} + +resource_schema "aws_dms_migration_project" { + cloudformation_type_name = "AWS::DMS::MigrationProject" +} + +resource_schema "aws_dms_replication_config" { + cloudformation_type_name = "AWS::DMS::ReplicationConfig" +} + +resource_schema "aws_databrew_dataset" { + cloudformation_type_name = "AWS::DataBrew::Dataset" +} + +resource_schema "aws_databrew_job" { + cloudformation_type_name = "AWS::DataBrew::Job" +} + +resource_schema "aws_databrew_project" { + cloudformation_type_name = "AWS::DataBrew::Project" +} + +resource_schema "aws_databrew_recipe" { + cloudformation_type_name = "AWS::DataBrew::Recipe" +} + +resource_schema "aws_databrew_ruleset" { + cloudformation_type_name = "AWS::DataBrew::Ruleset" +} + +resource_schema "aws_databrew_schedule" { + cloudformation_type_name = "AWS::DataBrew::Schedule" +} + +resource_schema "aws_datapipeline_pipeline" { + cloudformation_type_name = "AWS::DataPipeline::Pipeline" +} + +resource_schema "aws_datasync_agent" { + cloudformation_type_name = "AWS::DataSync::Agent" +} + +resource_schema "aws_datasync_location_azure_blob" { + cloudformation_type_name = "AWS::DataSync::LocationAzureBlob" +} + +resource_schema "aws_datasync_location_efs" { + cloudformation_type_name = "AWS::DataSync::LocationEFS" +} + +resource_schema "aws_datasync_location_fsx_lustre" { + cloudformation_type_name = "AWS::DataSync::LocationFSxLustre" +} + +resource_schema "aws_datasync_location_fsx_ontap" { + cloudformation_type_name = "AWS::DataSync::LocationFSxONTAP" +} + +resource_schema "aws_datasync_location_fsx_open_zfs" { + cloudformation_type_name = "AWS::DataSync::LocationFSxOpenZFS" +} + +resource_schema "aws_datasync_location_fsx_windows" { + cloudformation_type_name = "AWS::DataSync::LocationFSxWindows" +} + +resource_schema "aws_datasync_location_hdfs" { + cloudformation_type_name = "AWS::DataSync::LocationHDFS" +} + +resource_schema "aws_datasync_location_nfs" { + cloudformation_type_name = "AWS::DataSync::LocationNFS" +} + +resource_schema "aws_datasync_location_object_storage" { + cloudformation_type_name = "AWS::DataSync::LocationObjectStorage" +} + +resource_schema "aws_datasync_location_s3" { + cloudformation_type_name = "AWS::DataSync::LocationS3" +} + +resource_schema "aws_datasync_location_smb" { + cloudformation_type_name = "AWS::DataSync::LocationSMB" +} + +resource_schema "aws_datasync_storage_system" { + cloudformation_type_name = "AWS::DataSync::StorageSystem" +} + +resource_schema "aws_datasync_task" { + cloudformation_type_name = "AWS::DataSync::Task" +} + +resource_schema "aws_datazone_connection" { + cloudformation_type_name = "AWS::DataZone::Connection" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_data_source" { + cloudformation_type_name = "AWS::DataZone::DataSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_domain" { + cloudformation_type_name = "AWS::DataZone::Domain" +} + +resource_schema "aws_datazone_environment" { + cloudformation_type_name = "AWS::DataZone::Environment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_environment_actions" { + cloudformation_type_name = "AWS::DataZone::EnvironmentActions" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_environment_blueprint_configuration" { + cloudformation_type_name = "AWS::DataZone::EnvironmentBlueprintConfiguration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_environment_profile" { + cloudformation_type_name = "AWS::DataZone::EnvironmentProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_group_profile" { + cloudformation_type_name = "AWS::DataZone::GroupProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_project" { + cloudformation_type_name = "AWS::DataZone::Project" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_project_membership" { + cloudformation_type_name = "AWS::DataZone::ProjectMembership" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_subscription_target" { + cloudformation_type_name = "AWS::DataZone::SubscriptionTarget" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_datazone_user_profile" { + cloudformation_type_name = "AWS::DataZone::UserProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_farm" { + cloudformation_type_name = "AWS::Deadline::Farm" +} + +resource_schema "aws_deadline_fleet" { + cloudformation_type_name = "AWS::Deadline::Fleet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_license_endpoint" { + cloudformation_type_name = "AWS::Deadline::LicenseEndpoint" +} + +resource_schema "aws_deadline_limit" { + cloudformation_type_name = "AWS::Deadline::Limit" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_metered_product" { + cloudformation_type_name = "AWS::Deadline::MeteredProduct" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_monitor" { + cloudformation_type_name = "AWS::Deadline::Monitor" +} + +resource_schema "aws_deadline_queue" { + cloudformation_type_name = "AWS::Deadline::Queue" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_queue_environment" { + cloudformation_type_name = "AWS::Deadline::QueueEnvironment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_queue_fleet_association" { + cloudformation_type_name = "AWS::Deadline::QueueFleetAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_queue_limit_association" { + cloudformation_type_name = "AWS::Deadline::QueueLimitAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_deadline_storage_profile" { + cloudformation_type_name = "AWS::Deadline::StorageProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_detective_graph" { + cloudformation_type_name = "AWS::Detective::Graph" +} + +resource_schema "aws_detective_member_invitation" { + cloudformation_type_name = "AWS::Detective::MemberInvitation" +} + +resource_schema "aws_detective_organization_admin" { + cloudformation_type_name = "AWS::Detective::OrganizationAdmin" +} + +resource_schema "aws_devopsguru_log_anomaly_detection_integration" { + cloudformation_type_name = "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" +} + +resource_schema "aws_devopsguru_notification_channel" { + cloudformation_type_name = "AWS::DevOpsGuru::NotificationChannel" +} + +resource_schema "aws_devopsguru_resource_collection" { + cloudformation_type_name = "AWS::DevOpsGuru::ResourceCollection" +} + +resource_schema "aws_directoryservice_simple_ad" { + cloudformation_type_name = "AWS::DirectoryService::SimpleAD" +} + +resource_schema "aws_docdbelastic_cluster" { + cloudformation_type_name = "AWS::DocDBElastic::Cluster" +} + +resource_schema "aws_dynamodb_global_table" { + cloudformation_type_name = "AWS::DynamoDB::GlobalTable" +} + +resource_schema "aws_dynamodb_table" { + cloudformation_type_name = "AWS::DynamoDB::Table" +} + +resource_schema "aws_ec2_capacity_reservation" { + cloudformation_type_name = "AWS::EC2::CapacityReservation" +} + +resource_schema "aws_ec2_capacity_reservation_fleet" { + cloudformation_type_name = "AWS::EC2::CapacityReservationFleet" +} + +resource_schema "aws_ec2_carrier_gateway" { + cloudformation_type_name = "AWS::EC2::CarrierGateway" +} + +resource_schema "aws_ec2_customer_gateway" { + cloudformation_type_name = "AWS::EC2::CustomerGateway" +} + +resource_schema "aws_ec2_dhcp_options" { + cloudformation_type_name = "AWS::EC2::DHCPOptions" +} + +resource_schema "aws_ec2_ec2_fleet" { + cloudformation_type_name = "AWS::EC2::EC2Fleet" +} + +resource_schema "aws_ec2_eip" { + cloudformation_type_name = "AWS::EC2::EIP" +} + +resource_schema "aws_ec2_eip_association" { + cloudformation_type_name = "AWS::EC2::EIPAssociation" +} + +resource_schema "aws_ec2_egress_only_internet_gateway" { + cloudformation_type_name = "AWS::EC2::EgressOnlyInternetGateway" +} + +resource_schema "aws_ec2_enclave_certificate_iam_role_association" { + cloudformation_type_name = "AWS::EC2::EnclaveCertificateIamRoleAssociation" +} + +resource_schema "aws_ec2_flow_log" { + cloudformation_type_name = "AWS::EC2::FlowLog" +} + +resource_schema "aws_ec2_gateway_route_table_association" { + cloudformation_type_name = "AWS::EC2::GatewayRouteTableAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_host" { + cloudformation_type_name = "AWS::EC2::Host" +} + +resource_schema "aws_ec2_ipam" { + cloudformation_type_name = "AWS::EC2::IPAM" +} + +resource_schema "aws_ec2_ipam_allocation" { + cloudformation_type_name = "AWS::EC2::IPAMAllocation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_ipam_pool" { + cloudformation_type_name = "AWS::EC2::IPAMPool" +} + +resource_schema "aws_ec2_ipam_pool_cidr" { + cloudformation_type_name = "AWS::EC2::IPAMPoolCidr" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_ipam_resource_discovery" { + cloudformation_type_name = "AWS::EC2::IPAMResourceDiscovery" +} + +resource_schema "aws_ec2_ipam_resource_discovery_association" { + cloudformation_type_name = "AWS::EC2::IPAMResourceDiscoveryAssociation" +} + +resource_schema "aws_ec2_ipam_scope" { + cloudformation_type_name = "AWS::EC2::IPAMScope" +} + +resource_schema "aws_ec2_instance" { + cloudformation_type_name = "AWS::EC2::Instance" +} + +resource_schema "aws_ec2_instance_connect_endpoint" { + cloudformation_type_name = "AWS::EC2::InstanceConnectEndpoint" +} + +resource_schema "aws_ec2_internet_gateway" { + cloudformation_type_name = "AWS::EC2::InternetGateway" +} + +resource_schema "aws_ec2_key_pair" { + cloudformation_type_name = "AWS::EC2::KeyPair" +} + +resource_schema "aws_ec2_launch_template" { + cloudformation_type_name = "AWS::EC2::LaunchTemplate" +} + +resource_schema "aws_ec2_local_gateway_route" { + cloudformation_type_name = "AWS::EC2::LocalGatewayRoute" +} + +resource_schema "aws_ec2_local_gateway_route_table" { + cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTable" +} + +resource_schema "aws_ec2_local_gateway_route_table_vpc_association" { + cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTableVPCAssociation" +} + +resource_schema "aws_ec2_local_gateway_route_table_virtual_interface_group_association" { + cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" +} + +resource_schema "aws_ec2_nat_gateway" { + cloudformation_type_name = "AWS::EC2::NatGateway" +} + +resource_schema "aws_ec2_network_acl" { + cloudformation_type_name = "AWS::EC2::NetworkAcl" +} + +resource_schema "aws_ec2_network_insights_access_scope" { + cloudformation_type_name = "AWS::EC2::NetworkInsightsAccessScope" +} + +resource_schema "aws_ec2_network_insights_access_scope_analysis" { + cloudformation_type_name = "AWS::EC2::NetworkInsightsAccessScopeAnalysis" +} + +resource_schema "aws_ec2_network_insights_analysis" { + cloudformation_type_name = "AWS::EC2::NetworkInsightsAnalysis" +} + +resource_schema "aws_ec2_network_insights_path" { + cloudformation_type_name = "AWS::EC2::NetworkInsightsPath" +} + +resource_schema "aws_ec2_network_interface" { + cloudformation_type_name = "AWS::EC2::NetworkInterface" +} + +resource_schema "aws_ec2_network_interface_attachment" { + cloudformation_type_name = "AWS::EC2::NetworkInterfaceAttachment" +} + +resource_schema "aws_ec2_network_performance_metric_subscription" { + cloudformation_type_name = "AWS::EC2::NetworkPerformanceMetricSubscription" +} + +resource_schema "aws_ec2_placement_group" { + cloudformation_type_name = "AWS::EC2::PlacementGroup" +} + +resource_schema "aws_ec2_prefix_list" { + cloudformation_type_name = "AWS::EC2::PrefixList" +} + +resource_schema "aws_ec2_route" { + cloudformation_type_name = "AWS::EC2::Route" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_route_table" { + cloudformation_type_name = "AWS::EC2::RouteTable" +} + +resource_schema "aws_ec2_security_group" { + cloudformation_type_name = "AWS::EC2::SecurityGroup" +} + +resource_schema "aws_ec2_security_group_egress" { + cloudformation_type_name = "AWS::EC2::SecurityGroupEgress" +} + +resource_schema "aws_ec2_security_group_ingress" { + cloudformation_type_name = "AWS::EC2::SecurityGroupIngress" +} + +resource_schema "aws_ec2_security_group_vpc_association" { + cloudformation_type_name = "AWS::EC2::SecurityGroupVpcAssociation" +} + +resource_schema "aws_ec2_snapshot_block_public_access" { + cloudformation_type_name = "AWS::EC2::SnapshotBlockPublicAccess" +} + +resource_schema "aws_ec2_spot_fleet" { + cloudformation_type_name = "AWS::EC2::SpotFleet" +} + +resource_schema "aws_ec2_subnet" { + cloudformation_type_name = "AWS::EC2::Subnet" +} + +resource_schema "aws_ec2_subnet_cidr_block" { + cloudformation_type_name = "AWS::EC2::SubnetCidrBlock" +} + +resource_schema "aws_ec2_subnet_network_acl_association" { + cloudformation_type_name = "AWS::EC2::SubnetNetworkAclAssociation" +} + +resource_schema "aws_ec2_subnet_route_table_association" { + cloudformation_type_name = "AWS::EC2::SubnetRouteTableAssociation" +} + +resource_schema "aws_ec2_transit_gateway" { + cloudformation_type_name = "AWS::EC2::TransitGateway" +} + +resource_schema "aws_ec2_transit_gateway_attachment" { + cloudformation_type_name = "AWS::EC2::TransitGatewayAttachment" +} + +resource_schema "aws_ec2_transit_gateway_connect" { + cloudformation_type_name = "AWS::EC2::TransitGatewayConnect" +} + +resource_schema "aws_ec2_transit_gateway_multicast_domain" { + cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastDomain" +} + +resource_schema "aws_ec2_transit_gateway_multicast_domain_association" { + cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastDomainAssociation" +} + +resource_schema "aws_ec2_transit_gateway_multicast_group_member" { + cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastGroupMember" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_transit_gateway_multicast_group_source" { + cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastGroupSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_transit_gateway_peering_attachment" { + cloudformation_type_name = "AWS::EC2::TransitGatewayPeeringAttachment" +} + +resource_schema "aws_ec2_transit_gateway_route" { + cloudformation_type_name = "AWS::EC2::TransitGatewayRoute" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_transit_gateway_route_table" { + cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTable" +} + +resource_schema "aws_ec2_transit_gateway_route_table_association" { + cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTableAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_transit_gateway_route_table_propagation" { + cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTablePropagation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_transit_gateway_vpc_attachment" { + cloudformation_type_name = "AWS::EC2::TransitGatewayVpcAttachment" +} + +resource_schema "aws_ec2_vpc" { + cloudformation_type_name = "AWS::EC2::VPC" +} + +resource_schema "aws_ec2_vpc_block_public_access_exclusion" { + cloudformation_type_name = "AWS::EC2::VPCBlockPublicAccessExclusion" +} + +resource_schema "aws_ec2_vpc_block_public_access_options" { + cloudformation_type_name = "AWS::EC2::VPCBlockPublicAccessOptions" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_vpc_cidr_block" { + cloudformation_type_name = "AWS::EC2::VPCCidrBlock" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ec2_vpcdhcp_options_association" { + cloudformation_type_name = "AWS::EC2::VPCDHCPOptionsAssociation" +} + +resource_schema "aws_ec2_vpc_endpoint" { + cloudformation_type_name = "AWS::EC2::VPCEndpoint" +} + +resource_schema "aws_ec2_vpc_endpoint_connection_notification" { + cloudformation_type_name = "AWS::EC2::VPCEndpointConnectionNotification" +} + +resource_schema "aws_ec2_vpc_endpoint_service" { + cloudformation_type_name = "AWS::EC2::VPCEndpointService" +} + +resource_schema "aws_ec2_vpc_endpoint_service_permissions" { + cloudformation_type_name = "AWS::EC2::VPCEndpointServicePermissions" +} + +resource_schema "aws_ec2_vpc_gateway_attachment" { + cloudformation_type_name = "AWS::EC2::VPCGatewayAttachment" +} + +resource_schema "aws_ec2_vpc_peering_connection" { + cloudformation_type_name = "AWS::EC2::VPCPeeringConnection" +} + +resource_schema "aws_ec2_vpn_connection" { + cloudformation_type_name = "AWS::EC2::VPNConnection" +} + +resource_schema "aws_ec2_vpn_connection_route" { + cloudformation_type_name = "AWS::EC2::VPNConnectionRoute" +} + +resource_schema "aws_ec2_vpn_gateway" { + cloudformation_type_name = "AWS::EC2::VPNGateway" +} + +resource_schema "aws_ec2_verified_access_endpoint" { + cloudformation_type_name = "AWS::EC2::VerifiedAccessEndpoint" +} + +resource_schema "aws_ec2_verified_access_group" { + cloudformation_type_name = "AWS::EC2::VerifiedAccessGroup" +} + +resource_schema "aws_ec2_verified_access_instance" { + cloudformation_type_name = "AWS::EC2::VerifiedAccessInstance" +} + +resource_schema "aws_ec2_verified_access_trust_provider" { + cloudformation_type_name = "AWS::EC2::VerifiedAccessTrustProvider" +} + +resource_schema "aws_ec2_volume" { + cloudformation_type_name = "AWS::EC2::Volume" +} + +resource_schema "aws_ec2_volume_attachment" { + cloudformation_type_name = "AWS::EC2::VolumeAttachment" +} + +resource_schema "aws_ecr_public_repository" { + cloudformation_type_name = "AWS::ECR::PublicRepository" +} + +resource_schema "aws_ecr_pull_through_cache_rule" { + cloudformation_type_name = "AWS::ECR::PullThroughCacheRule" +} + +resource_schema "aws_ecr_registry_policy" { + cloudformation_type_name = "AWS::ECR::RegistryPolicy" +} + +resource_schema "aws_ecr_replication_configuration" { + cloudformation_type_name = "AWS::ECR::ReplicationConfiguration" +} + +resource_schema "aws_ecr_repository" { + cloudformation_type_name = "AWS::ECR::Repository" +} + +resource_schema "aws_ecr_repository_creation_template" { + cloudformation_type_name = "AWS::ECR::RepositoryCreationTemplate" +} + +resource_schema "aws_ecs_capacity_provider" { + cloudformation_type_name = "AWS::ECS::CapacityProvider" +} + +resource_schema "aws_ecs_cluster" { + cloudformation_type_name = "AWS::ECS::Cluster" +} + +resource_schema "aws_ecs_cluster_capacity_provider_associations" { + cloudformation_type_name = "AWS::ECS::ClusterCapacityProviderAssociations" +} + +resource_schema "aws_ecs_primary_task_set" { + cloudformation_type_name = "AWS::ECS::PrimaryTaskSet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ecs_service" { + cloudformation_type_name = "AWS::ECS::Service" +} + +resource_schema "aws_ecs_task_definition" { + cloudformation_type_name = "AWS::ECS::TaskDefinition" +} + +resource_schema "aws_ecs_task_set" { + cloudformation_type_name = "AWS::ECS::TaskSet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_efs_access_point" { + cloudformation_type_name = "AWS::EFS::AccessPoint" +} + +resource_schema "aws_efs_file_system" { + cloudformation_type_name = "AWS::EFS::FileSystem" +} + +resource_schema "aws_efs_mount_target" { + cloudformation_type_name = "AWS::EFS::MountTarget" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_access_entry" { + cloudformation_type_name = "AWS::EKS::AccessEntry" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_addon" { + cloudformation_type_name = "AWS::EKS::Addon" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_cluster" { + cloudformation_type_name = "AWS::EKS::Cluster" +} + +resource_schema "aws_eks_fargate_profile" { + cloudformation_type_name = "AWS::EKS::FargateProfile" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_identity_provider_config" { + cloudformation_type_name = "AWS::EKS::IdentityProviderConfig" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_nodegroup" { + cloudformation_type_name = "AWS::EKS::Nodegroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eks_pod_identity_association" { + cloudformation_type_name = "AWS::EKS::PodIdentityAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_emr_security_configuration" { + cloudformation_type_name = "AWS::EMR::SecurityConfiguration" +} + +resource_schema "aws_emr_studio" { + cloudformation_type_name = "AWS::EMR::Studio" +} + +resource_schema "aws_emr_studio_session_mapping" { + cloudformation_type_name = "AWS::EMR::StudioSessionMapping" +} + +resource_schema "aws_emr_wal_workspace" { + cloudformation_type_name = "AWS::EMR::WALWorkspace" +} + +resource_schema "aws_emrcontainers_virtual_cluster" { + cloudformation_type_name = "AWS::EMRContainers::VirtualCluster" +} + +resource_schema "aws_emrserverless_application" { + cloudformation_type_name = "AWS::EMRServerless::Application" +} + +resource_schema "aws_elasticache_global_replication_group" { + cloudformation_type_name = "AWS::ElastiCache::GlobalReplicationGroup" +} + +resource_schema "aws_elasticache_parameter_group" { + cloudformation_type_name = "AWS::ElastiCache::ParameterGroup" +} + +resource_schema "aws_elasticache_serverless_cache" { + cloudformation_type_name = "AWS::ElastiCache::ServerlessCache" +} + +resource_schema "aws_elasticache_subnet_group" { + cloudformation_type_name = "AWS::ElastiCache::SubnetGroup" +} + +resource_schema "aws_elasticache_user" { + cloudformation_type_name = "AWS::ElastiCache::User" +} + +resource_schema "aws_elasticache_user_group" { + cloudformation_type_name = "AWS::ElastiCache::UserGroup" +} + +resource_schema "aws_elasticbeanstalk_application" { + cloudformation_type_name = "AWS::ElasticBeanstalk::Application" +} + +resource_schema "aws_elasticbeanstalk_application_version" { + cloudformation_type_name = "AWS::ElasticBeanstalk::ApplicationVersion" +} + +resource_schema "aws_elasticbeanstalk_configuration_template" { + cloudformation_type_name = "AWS::ElasticBeanstalk::ConfigurationTemplate" +} + +resource_schema "aws_elasticbeanstalk_environment" { + cloudformation_type_name = "AWS::ElasticBeanstalk::Environment" +} + +resource_schema "aws_elasticloadbalancingv2_listener" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::Listener" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_elasticloadbalancingv2_listener_rule" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::ListenerRule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_elasticloadbalancingv2_load_balancer" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::LoadBalancer" +} + +resource_schema "aws_elasticloadbalancingv2_target_group" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TargetGroup" +} + +resource_schema "aws_elasticloadbalancingv2_trust_store" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TrustStore" +} + +resource_schema "aws_elasticloadbalancingv2_trust_store_revocation" { + cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_entityresolution_id_mapping_workflow" { + cloudformation_type_name = "AWS::EntityResolution::IdMappingWorkflow" +} + +resource_schema "aws_entityresolution_id_namespace" { + cloudformation_type_name = "AWS::EntityResolution::IdNamespace" +} + +resource_schema "aws_entityresolution_matching_workflow" { + cloudformation_type_name = "AWS::EntityResolution::MatchingWorkflow" +} + +resource_schema "aws_entityresolution_policy_statement" { + cloudformation_type_name = "AWS::EntityResolution::PolicyStatement" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_entityresolution_schema_mapping" { + cloudformation_type_name = "AWS::EntityResolution::SchemaMapping" +} + +resource_schema "aws_eventschemas_discoverer" { + cloudformation_type_name = "AWS::EventSchemas::Discoverer" +} + +resource_schema "aws_eventschemas_registry" { + cloudformation_type_name = "AWS::EventSchemas::Registry" +} + +resource_schema "aws_eventschemas_registry_policy" { + cloudformation_type_name = "AWS::EventSchemas::RegistryPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_eventschemas_schema" { + cloudformation_type_name = "AWS::EventSchemas::Schema" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_events_api_destination" { + cloudformation_type_name = "AWS::Events::ApiDestination" +} + +resource_schema "aws_events_archive" { + cloudformation_type_name = "AWS::Events::Archive" +} + +resource_schema "aws_events_connection" { + cloudformation_type_name = "AWS::Events::Connection" +} + +resource_schema "aws_events_endpoint" { + cloudformation_type_name = "AWS::Events::Endpoint" +} + +resource_schema "aws_events_event_bus" { + cloudformation_type_name = "AWS::Events::EventBus" +} + +resource_schema "aws_events_rule" { + cloudformation_type_name = "AWS::Events::Rule" +} + +resource_schema "aws_evidently_experiment" { + cloudformation_type_name = "AWS::Evidently::Experiment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_evidently_feature" { + cloudformation_type_name = "AWS::Evidently::Feature" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_evidently_launch" { + cloudformation_type_name = "AWS::Evidently::Launch" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_evidently_project" { + cloudformation_type_name = "AWS::Evidently::Project" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_evidently_segment" { + cloudformation_type_name = "AWS::Evidently::Segment" +} + +resource_schema "aws_fis_experiment_template" { + cloudformation_type_name = "AWS::FIS::ExperimentTemplate" +} + +resource_schema "aws_fis_target_account_configuration" { + cloudformation_type_name = "AWS::FIS::TargetAccountConfiguration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_fms_notification_channel" { + cloudformation_type_name = "AWS::FMS::NotificationChannel" +} + +resource_schema "aws_fms_policy" { + cloudformation_type_name = "AWS::FMS::Policy" +} + +resource_schema "aws_fms_resource_set" { + cloudformation_type_name = "AWS::FMS::ResourceSet" +} + +resource_schema "aws_fsx_data_repository_association" { + cloudformation_type_name = "AWS::FSx::DataRepositoryAssociation" +} + +resource_schema "aws_finspace_environment" { + cloudformation_type_name = "AWS::FinSpace::Environment" +} + +resource_schema "aws_forecast_dataset" { + cloudformation_type_name = "AWS::Forecast::Dataset" +} + +resource_schema "aws_forecast_dataset_group" { + cloudformation_type_name = "AWS::Forecast::DatasetGroup" +} + +resource_schema "aws_frauddetector_detector" { + cloudformation_type_name = "AWS::FraudDetector::Detector" +} + +resource_schema "aws_frauddetector_entity_type" { + cloudformation_type_name = "AWS::FraudDetector::EntityType" +} + +resource_schema "aws_frauddetector_event_type" { + cloudformation_type_name = "AWS::FraudDetector::EventType" +} + +resource_schema "aws_frauddetector_label" { + cloudformation_type_name = "AWS::FraudDetector::Label" +} + +resource_schema "aws_frauddetector_list" { + cloudformation_type_name = "AWS::FraudDetector::List" +} + +resource_schema "aws_frauddetector_outcome" { + cloudformation_type_name = "AWS::FraudDetector::Outcome" +} + +resource_schema "aws_frauddetector_variable" { + cloudformation_type_name = "AWS::FraudDetector::Variable" +} + +resource_schema "aws_gamelift_alias" { + cloudformation_type_name = "AWS::GameLift::Alias" +} + +resource_schema "aws_gamelift_build" { + cloudformation_type_name = "AWS::GameLift::Build" +} + +resource_schema "aws_gamelift_container_fleet" { + cloudformation_type_name = "AWS::GameLift::ContainerFleet" +} + +resource_schema "aws_gamelift_container_group_definition" { + cloudformation_type_name = "AWS::GameLift::ContainerGroupDefinition" +} + +resource_schema "aws_gamelift_fleet" { + cloudformation_type_name = "AWS::GameLift::Fleet" +} + +resource_schema "aws_gamelift_game_server_group" { + cloudformation_type_name = "AWS::GameLift::GameServerGroup" +} + +resource_schema "aws_gamelift_game_session_queue" { + cloudformation_type_name = "AWS::GameLift::GameSessionQueue" +} + +resource_schema "aws_gamelift_location" { + cloudformation_type_name = "AWS::GameLift::Location" +} + +resource_schema "aws_gamelift_matchmaking_configuration" { + cloudformation_type_name = "AWS::GameLift::MatchmakingConfiguration" +} + +resource_schema "aws_gamelift_matchmaking_rule_set" { + cloudformation_type_name = "AWS::GameLift::MatchmakingRuleSet" +} + +resource_schema "aws_gamelift_script" { + cloudformation_type_name = "AWS::GameLift::Script" +} + +resource_schema "aws_globalaccelerator_accelerator" { + cloudformation_type_name = "AWS::GlobalAccelerator::Accelerator" +} + +resource_schema "aws_globalaccelerator_cross_account_attachment" { + cloudformation_type_name = "AWS::GlobalAccelerator::CrossAccountAttachment" +} + +resource_schema "aws_globalaccelerator_endpoint_group" { + cloudformation_type_name = "AWS::GlobalAccelerator::EndpointGroup" +} + +resource_schema "aws_globalaccelerator_listener" { + cloudformation_type_name = "AWS::GlobalAccelerator::Listener" +} + +resource_schema "aws_glue_crawler" { + cloudformation_type_name = "AWS::Glue::Crawler" +} + +resource_schema "aws_glue_database" { + cloudformation_type_name = "AWS::Glue::Database" +} + +resource_schema "aws_glue_job" { + cloudformation_type_name = "AWS::Glue::Job" +} + +resource_schema "aws_glue_registry" { + cloudformation_type_name = "AWS::Glue::Registry" +} + +resource_schema "aws_glue_schema" { + cloudformation_type_name = "AWS::Glue::Schema" +} + +resource_schema "aws_glue_schema_version" { + cloudformation_type_name = "AWS::Glue::SchemaVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_glue_schema_version_metadata" { + cloudformation_type_name = "AWS::Glue::SchemaVersionMetadata" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_glue_trigger" { + cloudformation_type_name = "AWS::Glue::Trigger" +} + +resource_schema "aws_glue_usage_profile" { + cloudformation_type_name = "AWS::Glue::UsageProfile" +} + +resource_schema "aws_grafana_workspace" { + cloudformation_type_name = "AWS::Grafana::Workspace" +} + +resource_schema "aws_greengrassv2_component_version" { + cloudformation_type_name = "AWS::GreengrassV2::ComponentVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_greengrassv2_deployment" { + cloudformation_type_name = "AWS::GreengrassV2::Deployment" +} + +resource_schema "aws_groundstation_config" { + cloudformation_type_name = "AWS::GroundStation::Config" +} + +resource_schema "aws_groundstation_dataflow_endpoint_group" { + cloudformation_type_name = "AWS::GroundStation::DataflowEndpointGroup" +} + +resource_schema "aws_groundstation_mission_profile" { + cloudformation_type_name = "AWS::GroundStation::MissionProfile" +} + +resource_schema "aws_guardduty_detector" { + cloudformation_type_name = "AWS::GuardDuty::Detector" +} + +resource_schema "aws_guardduty_filter" { + cloudformation_type_name = "AWS::GuardDuty::Filter" +} + +resource_schema "aws_guardduty_ip_set" { + cloudformation_type_name = "AWS::GuardDuty::IPSet" +} + +resource_schema "aws_guardduty_malware_protection_plan" { + cloudformation_type_name = "AWS::GuardDuty::MalwareProtectionPlan" +} + +resource_schema "aws_guardduty_master" { + cloudformation_type_name = "AWS::GuardDuty::Master" +} + +resource_schema "aws_guardduty_member" { + cloudformation_type_name = "AWS::GuardDuty::Member" +} + +resource_schema "aws_guardduty_publishing_destination" { + cloudformation_type_name = "AWS::GuardDuty::PublishingDestination" +} + +resource_schema "aws_guardduty_threat_intel_set" { + cloudformation_type_name = "AWS::GuardDuty::ThreatIntelSet" +} + +resource_schema "aws_healthimaging_datastore" { + cloudformation_type_name = "AWS::HealthImaging::Datastore" +} + +resource_schema "aws_healthlake_fhir_datastore" { + cloudformation_type_name = "AWS::HealthLake::FHIRDatastore" +} + +resource_schema "aws_iam_group" { + cloudformation_type_name = "AWS::IAM::Group" +} + +resource_schema "aws_iam_group_policy" { + cloudformation_type_name = "AWS::IAM::GroupPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iam_instance_profile" { + cloudformation_type_name = "AWS::IAM::InstanceProfile" +} + +resource_schema "aws_iam_managed_policy" { + cloudformation_type_name = "AWS::IAM::ManagedPolicy" +} + +resource_schema "aws_iam_oidc_provider" { + cloudformation_type_name = "AWS::IAM::OIDCProvider" +} + +resource_schema "aws_iam_role" { + cloudformation_type_name = "AWS::IAM::Role" +} + +resource_schema "aws_iam_role_policy" { + cloudformation_type_name = "AWS::IAM::RolePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iam_saml_provider" { + cloudformation_type_name = "AWS::IAM::SAMLProvider" +} + +resource_schema "aws_iam_server_certificate" { + cloudformation_type_name = "AWS::IAM::ServerCertificate" +} + +resource_schema "aws_iam_service_linked_role" { + cloudformation_type_name = "AWS::IAM::ServiceLinkedRole" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iam_user" { + cloudformation_type_name = "AWS::IAM::User" +} + +resource_schema "aws_iam_user_policy" { + cloudformation_type_name = "AWS::IAM::UserPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iam_virtual_mfa_device" { + cloudformation_type_name = "AWS::IAM::VirtualMFADevice" +} + +resource_schema "aws_ivs_channel" { + cloudformation_type_name = "AWS::IVS::Channel" +} + +resource_schema "aws_ivs_encoder_configuration" { + cloudformation_type_name = "AWS::IVS::EncoderConfiguration" +} + +resource_schema "aws_ivs_ingest_configuration" { + cloudformation_type_name = "AWS::IVS::IngestConfiguration" +} + +resource_schema "aws_ivs_playback_key_pair" { + cloudformation_type_name = "AWS::IVS::PlaybackKeyPair" +} + +resource_schema "aws_ivs_playback_restriction_policy" { + cloudformation_type_name = "AWS::IVS::PlaybackRestrictionPolicy" +} + +resource_schema "aws_ivs_public_key" { + cloudformation_type_name = "AWS::IVS::PublicKey" +} + +resource_schema "aws_ivs_recording_configuration" { + cloudformation_type_name = "AWS::IVS::RecordingConfiguration" +} + +resource_schema "aws_ivs_stage" { + cloudformation_type_name = "AWS::IVS::Stage" +} + +resource_schema "aws_ivs_storage_configuration" { + cloudformation_type_name = "AWS::IVS::StorageConfiguration" +} + +resource_schema "aws_ivs_stream_key" { + cloudformation_type_name = "AWS::IVS::StreamKey" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ivschat_logging_configuration" { + cloudformation_type_name = "AWS::IVSChat::LoggingConfiguration" +} + +resource_schema "aws_ivschat_room" { + cloudformation_type_name = "AWS::IVSChat::Room" +} + +resource_schema "aws_identitystore_group" { + cloudformation_type_name = "AWS::IdentityStore::Group" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_identitystore_group_membership" { + cloudformation_type_name = "AWS::IdentityStore::GroupMembership" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_imagebuilder_component" { + cloudformation_type_name = "AWS::ImageBuilder::Component" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_imagebuilder_container_recipe" { + cloudformation_type_name = "AWS::ImageBuilder::ContainerRecipe" +} + +resource_schema "aws_imagebuilder_distribution_configuration" { + cloudformation_type_name = "AWS::ImageBuilder::DistributionConfiguration" +} + +resource_schema "aws_imagebuilder_image" { + cloudformation_type_name = "AWS::ImageBuilder::Image" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_imagebuilder_image_pipeline" { + cloudformation_type_name = "AWS::ImageBuilder::ImagePipeline" +} + +resource_schema "aws_imagebuilder_image_recipe" { + cloudformation_type_name = "AWS::ImageBuilder::ImageRecipe" +} + +resource_schema "aws_imagebuilder_infrastructure_configuration" { + cloudformation_type_name = "AWS::ImageBuilder::InfrastructureConfiguration" +} + +resource_schema "aws_imagebuilder_lifecycle_policy" { + cloudformation_type_name = "AWS::ImageBuilder::LifecyclePolicy" +} + +resource_schema "aws_imagebuilder_workflow" { + cloudformation_type_name = "AWS::ImageBuilder::Workflow" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_inspector_assessment_target" { + cloudformation_type_name = "AWS::Inspector::AssessmentTarget" +} + +resource_schema "aws_inspector_assessment_template" { + cloudformation_type_name = "AWS::Inspector::AssessmentTemplate" +} + +resource_schema "aws_inspector_resource_group" { + cloudformation_type_name = "AWS::Inspector::ResourceGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_inspectorv2_cis_scan_configuration" { + cloudformation_type_name = "AWS::InspectorV2::CisScanConfiguration" +} + +resource_schema "aws_inspectorv2_filter" { + cloudformation_type_name = "AWS::InspectorV2::Filter" +} + +resource_schema "aws_internetmonitor_monitor" { + cloudformation_type_name = "AWS::InternetMonitor::Monitor" +} + +resource_schema "aws_invoicing_invoice_unit" { + cloudformation_type_name = "AWS::Invoicing::InvoiceUnit" +} + +resource_schema "aws_iot_account_audit_configuration" { + cloudformation_type_name = "AWS::IoT::AccountAuditConfiguration" +} + +resource_schema "aws_iot_authorizer" { + cloudformation_type_name = "AWS::IoT::Authorizer" +} + +resource_schema "aws_iot_billing_group" { + cloudformation_type_name = "AWS::IoT::BillingGroup" +} + +resource_schema "aws_iot_ca_certificate" { + cloudformation_type_name = "AWS::IoT::CACertificate" +} + +resource_schema "aws_iot_certificate" { + cloudformation_type_name = "AWS::IoT::Certificate" +} + +resource_schema "aws_iot_certificate_provider" { + cloudformation_type_name = "AWS::IoT::CertificateProvider" +} + +resource_schema "aws_iot_command" { + cloudformation_type_name = "AWS::IoT::Command" +} + +resource_schema "aws_iot_custom_metric" { + cloudformation_type_name = "AWS::IoT::CustomMetric" +} + +resource_schema "aws_iot_dimension" { + cloudformation_type_name = "AWS::IoT::Dimension" +} + +resource_schema "aws_iot_domain_configuration" { + cloudformation_type_name = "AWS::IoT::DomainConfiguration" +} + +resource_schema "aws_iot_fleet_metric" { + cloudformation_type_name = "AWS::IoT::FleetMetric" +} + +resource_schema "aws_iot_job_template" { + cloudformation_type_name = "AWS::IoT::JobTemplate" +} + +resource_schema "aws_iot_logging" { + cloudformation_type_name = "AWS::IoT::Logging" +} + +resource_schema "aws_iot_mitigation_action" { + cloudformation_type_name = "AWS::IoT::MitigationAction" +} + +resource_schema "aws_iot_policy" { + cloudformation_type_name = "AWS::IoT::Policy" +} + +resource_schema "aws_iot_provisioning_template" { + cloudformation_type_name = "AWS::IoT::ProvisioningTemplate" +} + +resource_schema "aws_iot_resource_specific_logging" { + cloudformation_type_name = "AWS::IoT::ResourceSpecificLogging" +} + +resource_schema "aws_iot_role_alias" { + cloudformation_type_name = "AWS::IoT::RoleAlias" +} + +resource_schema "aws_iot_scheduled_audit" { + cloudformation_type_name = "AWS::IoT::ScheduledAudit" +} + +resource_schema "aws_iot_security_profile" { + cloudformation_type_name = "AWS::IoT::SecurityProfile" +} + +resource_schema "aws_iot_software_package" { + cloudformation_type_name = "AWS::IoT::SoftwarePackage" +} + +resource_schema "aws_iot_software_package_version" { + cloudformation_type_name = "AWS::IoT::SoftwarePackageVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iot_thing" { + cloudformation_type_name = "AWS::IoT::Thing" +} + +resource_schema "aws_iot_thing_group" { + cloudformation_type_name = "AWS::IoT::ThingGroup" +} + +resource_schema "aws_iot_thing_type" { + cloudformation_type_name = "AWS::IoT::ThingType" +} + +resource_schema "aws_iot_topic_rule" { + cloudformation_type_name = "AWS::IoT::TopicRule" +} + +resource_schema "aws_iot_topic_rule_destination" { + cloudformation_type_name = "AWS::IoT::TopicRuleDestination" +} + +resource_schema "aws_iotanalytics_channel" { + cloudformation_type_name = "AWS::IoTAnalytics::Channel" +} + +resource_schema "aws_iotanalytics_dataset" { + cloudformation_type_name = "AWS::IoTAnalytics::Dataset" +} + +resource_schema "aws_iotanalytics_datastore" { + cloudformation_type_name = "AWS::IoTAnalytics::Datastore" +} + +resource_schema "aws_iotanalytics_pipeline" { + cloudformation_type_name = "AWS::IoTAnalytics::Pipeline" +} + +resource_schema "aws_iotcoredeviceadvisor_suite_definition" { + cloudformation_type_name = "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" +} + +resource_schema "aws_iotevents_alarm_model" { + cloudformation_type_name = "AWS::IoTEvents::AlarmModel" +} + +resource_schema "aws_iotevents_detector_model" { + cloudformation_type_name = "AWS::IoTEvents::DetectorModel" +} + +resource_schema "aws_iotevents_input" { + cloudformation_type_name = "AWS::IoTEvents::Input" +} + +resource_schema "aws_iotfleethub_application" { + cloudformation_type_name = "AWS::IoTFleetHub::Application" +} + +resource_schema "aws_iotfleetwise_campaign" { + cloudformation_type_name = "AWS::IoTFleetWise::Campaign" +} + +resource_schema "aws_iotfleetwise_decoder_manifest" { + cloudformation_type_name = "AWS::IoTFleetWise::DecoderManifest" +} + +resource_schema "aws_iotfleetwise_fleet" { + cloudformation_type_name = "AWS::IoTFleetWise::Fleet" +} + +resource_schema "aws_iotfleetwise_model_manifest" { + cloudformation_type_name = "AWS::IoTFleetWise::ModelManifest" +} + +resource_schema "aws_iotfleetwise_signal_catalog" { + cloudformation_type_name = "AWS::IoTFleetWise::SignalCatalog" +} + +resource_schema "aws_iotfleetwise_state_template" { + cloudformation_type_name = "AWS::IoTFleetWise::StateTemplate" +} + +resource_schema "aws_iotfleetwise_vehicle" { + cloudformation_type_name = "AWS::IoTFleetWise::Vehicle" +} + +resource_schema "aws_iotsitewise_access_policy" { + cloudformation_type_name = "AWS::IoTSiteWise::AccessPolicy" +} + +resource_schema "aws_iotsitewise_asset" { + cloudformation_type_name = "AWS::IoTSiteWise::Asset" +} + +resource_schema "aws_iotsitewise_asset_model" { + cloudformation_type_name = "AWS::IoTSiteWise::AssetModel" +} + +resource_schema "aws_iotsitewise_dashboard" { + cloudformation_type_name = "AWS::IoTSiteWise::Dashboard" +} + +resource_schema "aws_iotsitewise_dataset" { + cloudformation_type_name = "AWS::IoTSiteWise::Dataset" +} + +resource_schema "aws_iotsitewise_gateway" { + cloudformation_type_name = "AWS::IoTSiteWise::Gateway" +} + +resource_schema "aws_iotsitewise_portal" { + cloudformation_type_name = "AWS::IoTSiteWise::Portal" +} + +resource_schema "aws_iotsitewise_project" { + cloudformation_type_name = "AWS::IoTSiteWise::Project" +} + +resource_schema "aws_iottwinmaker_component_type" { + cloudformation_type_name = "AWS::IoTTwinMaker::ComponentType" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iottwinmaker_entity" { + cloudformation_type_name = "AWS::IoTTwinMaker::Entity" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iottwinmaker_scene" { + cloudformation_type_name = "AWS::IoTTwinMaker::Scene" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iottwinmaker_sync_job" { + cloudformation_type_name = "AWS::IoTTwinMaker::SyncJob" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_iottwinmaker_workspace" { + cloudformation_type_name = "AWS::IoTTwinMaker::Workspace" +} + +resource_schema "aws_iotwireless_destination" { + cloudformation_type_name = "AWS::IoTWireless::Destination" +} + +resource_schema "aws_iotwireless_device_profile" { + cloudformation_type_name = "AWS::IoTWireless::DeviceProfile" +} + +resource_schema "aws_iotwireless_fuota_task" { + cloudformation_type_name = "AWS::IoTWireless::FuotaTask" +} + +resource_schema "aws_iotwireless_multicast_group" { + cloudformation_type_name = "AWS::IoTWireless::MulticastGroup" +} + +resource_schema "aws_iotwireless_network_analyzer_configuration" { + cloudformation_type_name = "AWS::IoTWireless::NetworkAnalyzerConfiguration" +} + +resource_schema "aws_iotwireless_partner_account" { + cloudformation_type_name = "AWS::IoTWireless::PartnerAccount" +} + +resource_schema "aws_iotwireless_service_profile" { + cloudformation_type_name = "AWS::IoTWireless::ServiceProfile" +} + +resource_schema "aws_iotwireless_task_definition" { + cloudformation_type_name = "AWS::IoTWireless::TaskDefinition" +} + +resource_schema "aws_iotwireless_wireless_device" { + cloudformation_type_name = "AWS::IoTWireless::WirelessDevice" +} + +resource_schema "aws_iotwireless_wireless_device_import_task" { + cloudformation_type_name = "AWS::IoTWireless::WirelessDeviceImportTask" +} + +resource_schema "aws_iotwireless_wireless_gateway" { + cloudformation_type_name = "AWS::IoTWireless::WirelessGateway" +} + +resource_schema "aws_kms_alias" { + cloudformation_type_name = "AWS::KMS::Alias" +} + +resource_schema "aws_kms_key" { + cloudformation_type_name = "AWS::KMS::Key" +} + +resource_schema "aws_kms_replica_key" { + cloudformation_type_name = "AWS::KMS::ReplicaKey" +} + +resource_schema "aws_kafkaconnect_connector" { + cloudformation_type_name = "AWS::KafkaConnect::Connector" +} + +resource_schema "aws_kafkaconnect_custom_plugin" { + cloudformation_type_name = "AWS::KafkaConnect::CustomPlugin" +} + +resource_schema "aws_kafkaconnect_worker_configuration" { + cloudformation_type_name = "AWS::KafkaConnect::WorkerConfiguration" +} + +resource_schema "aws_kendra_data_source" { + cloudformation_type_name = "AWS::Kendra::DataSource" +} + +resource_schema "aws_kendra_faq" { + cloudformation_type_name = "AWS::Kendra::Faq" +} + +resource_schema "aws_kendra_index" { + cloudformation_type_name = "AWS::Kendra::Index" +} + +resource_schema "aws_kendraranking_execution_plan" { + cloudformation_type_name = "AWS::KendraRanking::ExecutionPlan" +} + +resource_schema "aws_kinesis_resource_policy" { + cloudformation_type_name = "AWS::Kinesis::ResourcePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_kinesis_stream" { + cloudformation_type_name = "AWS::Kinesis::Stream" +} + +resource_schema "aws_kinesisanalyticsv2_application" { + cloudformation_type_name = "AWS::KinesisAnalyticsV2::Application" +} + +resource_schema "aws_kinesisfirehose_delivery_stream" { + cloudformation_type_name = "AWS::KinesisFirehose::DeliveryStream" +} + +resource_schema "aws_kinesisvideo_signaling_channel" { + cloudformation_type_name = "AWS::KinesisVideo::SignalingChannel" +} + +resource_schema "aws_kinesisvideo_stream" { + cloudformation_type_name = "AWS::KinesisVideo::Stream" +} + +resource_schema "aws_lakeformation_data_cells_filter" { + cloudformation_type_name = "AWS::LakeFormation::DataCellsFilter" +} + +resource_schema "aws_lakeformation_principal_permissions" { + cloudformation_type_name = "AWS::LakeFormation::PrincipalPermissions" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lakeformation_tag" { + cloudformation_type_name = "AWS::LakeFormation::Tag" +} + +resource_schema "aws_lakeformation_tag_association" { + cloudformation_type_name = "AWS::LakeFormation::TagAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lambda_alias" { + cloudformation_type_name = "AWS::Lambda::Alias" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lambda_code_signing_config" { + cloudformation_type_name = "AWS::Lambda::CodeSigningConfig" +} + +resource_schema "aws_lambda_event_invoke_config" { + cloudformation_type_name = "AWS::Lambda::EventInvokeConfig" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lambda_event_source_mapping" { + cloudformation_type_name = "AWS::Lambda::EventSourceMapping" +} + +resource_schema "aws_lambda_function" { + cloudformation_type_name = "AWS::Lambda::Function" +} + +resource_schema "aws_lambda_layer_version" { + cloudformation_type_name = "AWS::Lambda::LayerVersion" +} + +resource_schema "aws_lambda_layer_version_permission" { + cloudformation_type_name = "AWS::Lambda::LayerVersionPermission" +} + +resource_schema "aws_lambda_permission" { + cloudformation_type_name = "AWS::Lambda::Permission" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lambda_url" { + cloudformation_type_name = "AWS::Lambda::Url" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_lambda_version" { + cloudformation_type_name = "AWS::Lambda::Version" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_launchwizard_deployment" { + cloudformation_type_name = "AWS::LaunchWizard::Deployment" +} + +resource_schema "aws_lex_bot" { + cloudformation_type_name = "AWS::Lex::Bot" +} + +resource_schema "aws_lex_bot_alias" { + cloudformation_type_name = "AWS::Lex::BotAlias" +} + +resource_schema "aws_lex_bot_version" { + cloudformation_type_name = "AWS::Lex::BotVersion" +} + +resource_schema "aws_lex_resource_policy" { + cloudformation_type_name = "AWS::Lex::ResourcePolicy" +} + +resource_schema "aws_licensemanager_grant" { + cloudformation_type_name = "AWS::LicenseManager::Grant" +} + +resource_schema "aws_licensemanager_license" { + cloudformation_type_name = "AWS::LicenseManager::License" +} + +resource_schema "aws_lightsail_alarm" { + cloudformation_type_name = "AWS::Lightsail::Alarm" +} + +resource_schema "aws_lightsail_bucket" { + cloudformation_type_name = "AWS::Lightsail::Bucket" +} + +resource_schema "aws_lightsail_certificate" { + cloudformation_type_name = "AWS::Lightsail::Certificate" +} + +resource_schema "aws_lightsail_container" { + cloudformation_type_name = "AWS::Lightsail::Container" +} + +resource_schema "aws_lightsail_database" { + cloudformation_type_name = "AWS::Lightsail::Database" +} + +resource_schema "aws_lightsail_disk" { + cloudformation_type_name = "AWS::Lightsail::Disk" +} + +resource_schema "aws_lightsail_distribution" { + cloudformation_type_name = "AWS::Lightsail::Distribution" +} + +resource_schema "aws_lightsail_instance" { + cloudformation_type_name = "AWS::Lightsail::Instance" +} + +resource_schema "aws_lightsail_load_balancer" { + cloudformation_type_name = "AWS::Lightsail::LoadBalancer" +} + +resource_schema "aws_lightsail_load_balancer_tls_certificate" { + cloudformation_type_name = "AWS::Lightsail::LoadBalancerTlsCertificate" +} + +resource_schema "aws_lightsail_static_ip" { + cloudformation_type_name = "AWS::Lightsail::StaticIp" +} + +resource_schema "aws_location_api_key" { + cloudformation_type_name = "AWS::Location::APIKey" +} + +resource_schema "aws_location_geofence_collection" { + cloudformation_type_name = "AWS::Location::GeofenceCollection" +} + +resource_schema "aws_location_map" { + cloudformation_type_name = "AWS::Location::Map" +} + +resource_schema "aws_location_place_index" { + cloudformation_type_name = "AWS::Location::PlaceIndex" +} + +resource_schema "aws_location_route_calculator" { + cloudformation_type_name = "AWS::Location::RouteCalculator" +} + +resource_schema "aws_location_tracker" { + cloudformation_type_name = "AWS::Location::Tracker" +} + +resource_schema "aws_location_tracker_consumer" { + cloudformation_type_name = "AWS::Location::TrackerConsumer" +} + +resource_schema "aws_logs_account_policy" { + cloudformation_type_name = "AWS::Logs::AccountPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_logs_delivery" { + cloudformation_type_name = "AWS::Logs::Delivery" +} + +resource_schema "aws_logs_delivery_destination" { + cloudformation_type_name = "AWS::Logs::DeliveryDestination" +} + +resource_schema "aws_logs_delivery_source" { + cloudformation_type_name = "AWS::Logs::DeliverySource" +} + +resource_schema "aws_logs_destination" { + cloudformation_type_name = "AWS::Logs::Destination" +} + +resource_schema "aws_logs_integration" { + cloudformation_type_name = "AWS::Logs::Integration" +} + +resource_schema "aws_logs_log_anomaly_detector" { + cloudformation_type_name = "AWS::Logs::LogAnomalyDetector" +} + +resource_schema "aws_logs_log_group" { + cloudformation_type_name = "AWS::Logs::LogGroup" +} + +resource_schema "aws_logs_log_stream" { + cloudformation_type_name = "AWS::Logs::LogStream" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_logs_metric_filter" { + cloudformation_type_name = "AWS::Logs::MetricFilter" +} + +resource_schema "aws_logs_query_definition" { + cloudformation_type_name = "AWS::Logs::QueryDefinition" +} + +resource_schema "aws_logs_resource_policy" { + cloudformation_type_name = "AWS::Logs::ResourcePolicy" +} + +resource_schema "aws_logs_subscription_filter" { + cloudformation_type_name = "AWS::Logs::SubscriptionFilter" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_logs_transformer" { + cloudformation_type_name = "AWS::Logs::Transformer" +} + +resource_schema "aws_lookoutequipment_inference_scheduler" { + cloudformation_type_name = "AWS::LookoutEquipment::InferenceScheduler" +} + +resource_schema "aws_lookoutmetrics_alert" { + cloudformation_type_name = "AWS::LookoutMetrics::Alert" +} + +resource_schema "aws_lookoutmetrics_anomaly_detector" { + cloudformation_type_name = "AWS::LookoutMetrics::AnomalyDetector" +} + +resource_schema "aws_lookoutvision_project" { + cloudformation_type_name = "AWS::LookoutVision::Project" +} + +resource_schema "aws_m2_application" { + cloudformation_type_name = "AWS::M2::Application" +} + +resource_schema "aws_m2_deployment" { + cloudformation_type_name = "AWS::M2::Deployment" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_m2_environment" { + cloudformation_type_name = "AWS::M2::Environment" +} + +resource_schema "aws_msk_batch_scram_secret" { + cloudformation_type_name = "AWS::MSK::BatchScramSecret" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_msk_cluster" { + cloudformation_type_name = "AWS::MSK::Cluster" +} + +resource_schema "aws_msk_cluster_policy" { + cloudformation_type_name = "AWS::MSK::ClusterPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_msk_configuration" { + cloudformation_type_name = "AWS::MSK::Configuration" +} + +resource_schema "aws_msk_replicator" { + cloudformation_type_name = "AWS::MSK::Replicator" +} + +resource_schema "aws_msk_serverless_cluster" { + cloudformation_type_name = "AWS::MSK::ServerlessCluster" +} + +resource_schema "aws_msk_vpc_connection" { + cloudformation_type_name = "AWS::MSK::VpcConnection" +} + +resource_schema "aws_mwaa_environment" { + cloudformation_type_name = "AWS::MWAA::Environment" +} + +resource_schema "aws_macie_allow_list" { + cloudformation_type_name = "AWS::Macie::AllowList" +} + +resource_schema "aws_macie_custom_data_identifier" { + cloudformation_type_name = "AWS::Macie::CustomDataIdentifier" +} + +resource_schema "aws_macie_findings_filter" { + cloudformation_type_name = "AWS::Macie::FindingsFilter" +} + +resource_schema "aws_macie_session" { + cloudformation_type_name = "AWS::Macie::Session" +} + +resource_schema "aws_managedblockchain_accessor" { + cloudformation_type_name = "AWS::ManagedBlockchain::Accessor" +} + +resource_schema "aws_mediaconnect_bridge" { + cloudformation_type_name = "AWS::MediaConnect::Bridge" +} + +resource_schema "aws_mediaconnect_bridge_output" { + cloudformation_type_name = "AWS::MediaConnect::BridgeOutput" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediaconnect_bridge_source" { + cloudformation_type_name = "AWS::MediaConnect::BridgeSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediaconnect_flow" { + cloudformation_type_name = "AWS::MediaConnect::Flow" +} + +resource_schema "aws_mediaconnect_flow_entitlement" { + cloudformation_type_name = "AWS::MediaConnect::FlowEntitlement" +} + +resource_schema "aws_mediaconnect_flow_output" { + cloudformation_type_name = "AWS::MediaConnect::FlowOutput" +} + +resource_schema "aws_mediaconnect_flow_source" { + cloudformation_type_name = "AWS::MediaConnect::FlowSource" +} + +resource_schema "aws_mediaconnect_flow_vpc_interface" { + cloudformation_type_name = "AWS::MediaConnect::FlowVpcInterface" +} + +resource_schema "aws_mediaconnect_gateway" { + cloudformation_type_name = "AWS::MediaConnect::Gateway" +} + +resource_schema "aws_medialive_channel_placement_group" { + cloudformation_type_name = "AWS::MediaLive::ChannelPlacementGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_medialive_cloudwatch_alarm_template" { + cloudformation_type_name = "AWS::MediaLive::CloudWatchAlarmTemplate" +} + +resource_schema "aws_medialive_cloudwatch_alarm_template_group" { + cloudformation_type_name = "AWS::MediaLive::CloudWatchAlarmTemplateGroup" +} + +resource_schema "aws_medialive_cluster" { + cloudformation_type_name = "AWS::MediaLive::Cluster" +} + +resource_schema "aws_medialive_event_bridge_rule_template" { + cloudformation_type_name = "AWS::MediaLive::EventBridgeRuleTemplate" +} + +resource_schema "aws_medialive_event_bridge_rule_template_group" { + cloudformation_type_name = "AWS::MediaLive::EventBridgeRuleTemplateGroup" +} + +resource_schema "aws_medialive_multiplex" { + cloudformation_type_name = "AWS::MediaLive::Multiplex" +} + +resource_schema "aws_medialive_multiplexprogram" { + cloudformation_type_name = "AWS::MediaLive::Multiplexprogram" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_medialive_network" { + cloudformation_type_name = "AWS::MediaLive::Network" +} + +resource_schema "aws_medialive_sdi_source" { + cloudformation_type_name = "AWS::MediaLive::SdiSource" +} + +resource_schema "aws_medialive_signal_map" { + cloudformation_type_name = "AWS::MediaLive::SignalMap" +} + +resource_schema "aws_mediapackage_asset" { + cloudformation_type_name = "AWS::MediaPackage::Asset" +} + +resource_schema "aws_mediapackage_channel" { + cloudformation_type_name = "AWS::MediaPackage::Channel" +} + +resource_schema "aws_mediapackage_origin_endpoint" { + cloudformation_type_name = "AWS::MediaPackage::OriginEndpoint" +} + +resource_schema "aws_mediapackage_packaging_configuration" { + cloudformation_type_name = "AWS::MediaPackage::PackagingConfiguration" +} + +resource_schema "aws_mediapackage_packaging_group" { + cloudformation_type_name = "AWS::MediaPackage::PackagingGroup" +} + +resource_schema "aws_mediapackagev2_channel" { + cloudformation_type_name = "AWS::MediaPackageV2::Channel" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediapackagev2_channel_group" { + cloudformation_type_name = "AWS::MediaPackageV2::ChannelGroup" +} + +resource_schema "aws_mediapackagev2_channel_policy" { + cloudformation_type_name = "AWS::MediaPackageV2::ChannelPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediapackagev2_origin_endpoint" { + cloudformation_type_name = "AWS::MediaPackageV2::OriginEndpoint" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediapackagev2_origin_endpoint_policy" { + cloudformation_type_name = "AWS::MediaPackageV2::OriginEndpointPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediatailor_channel" { + cloudformation_type_name = "AWS::MediaTailor::Channel" +} + +resource_schema "aws_mediatailor_channel_policy" { + cloudformation_type_name = "AWS::MediaTailor::ChannelPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediatailor_live_source" { + cloudformation_type_name = "AWS::MediaTailor::LiveSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_mediatailor_playback_configuration" { + cloudformation_type_name = "AWS::MediaTailor::PlaybackConfiguration" +} + +resource_schema "aws_mediatailor_source_location" { + cloudformation_type_name = "AWS::MediaTailor::SourceLocation" +} + +resource_schema "aws_mediatailor_vod_source" { + cloudformation_type_name = "AWS::MediaTailor::VodSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_memorydb_acl" { + cloudformation_type_name = "AWS::MemoryDB::ACL" +} + +resource_schema "aws_memorydb_cluster" { + cloudformation_type_name = "AWS::MemoryDB::Cluster" +} + +resource_schema "aws_memorydb_multi_region_cluster" { + cloudformation_type_name = "AWS::MemoryDB::MultiRegionCluster" +} + +resource_schema "aws_memorydb_parameter_group" { + cloudformation_type_name = "AWS::MemoryDB::ParameterGroup" +} + +resource_schema "aws_memorydb_subnet_group" { + cloudformation_type_name = "AWS::MemoryDB::SubnetGroup" +} + +resource_schema "aws_memorydb_user" { + cloudformation_type_name = "AWS::MemoryDB::User" +} + +resource_schema "aws_neptune_db_cluster" { + cloudformation_type_name = "AWS::Neptune::DBCluster" +} + +resource_schema "aws_neptunegraph_graph" { + cloudformation_type_name = "AWS::NeptuneGraph::Graph" +} + +resource_schema "aws_neptunegraph_private_graph_endpoint" { + cloudformation_type_name = "AWS::NeptuneGraph::PrivateGraphEndpoint" +} + +resource_schema "aws_networkfirewall_firewall" { + cloudformation_type_name = "AWS::NetworkFirewall::Firewall" +} + +resource_schema "aws_networkfirewall_firewall_policy" { + cloudformation_type_name = "AWS::NetworkFirewall::FirewallPolicy" +} + +resource_schema "aws_networkfirewall_logging_configuration" { + cloudformation_type_name = "AWS::NetworkFirewall::LoggingConfiguration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkfirewall_rule_group" { + cloudformation_type_name = "AWS::NetworkFirewall::RuleGroup" +} + +resource_schema "aws_networkfirewall_tls_inspection_configuration" { + cloudformation_type_name = "AWS::NetworkFirewall::TLSInspectionConfiguration" +} + +resource_schema "aws_networkmanager_connect_attachment" { + cloudformation_type_name = "AWS::NetworkManager::ConnectAttachment" +} + +resource_schema "aws_networkmanager_connect_peer" { + cloudformation_type_name = "AWS::NetworkManager::ConnectPeer" +} + +resource_schema "aws_networkmanager_core_network" { + cloudformation_type_name = "AWS::NetworkManager::CoreNetwork" +} + +resource_schema "aws_networkmanager_customer_gateway_association" { + cloudformation_type_name = "AWS::NetworkManager::CustomerGatewayAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_device" { + cloudformation_type_name = "AWS::NetworkManager::Device" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_direct_connect_gateway_attachment" { + cloudformation_type_name = "AWS::NetworkManager::DirectConnectGatewayAttachment" +} + +resource_schema "aws_networkmanager_global_network" { + cloudformation_type_name = "AWS::NetworkManager::GlobalNetwork" +} + +resource_schema "aws_networkmanager_link" { + cloudformation_type_name = "AWS::NetworkManager::Link" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_link_association" { + cloudformation_type_name = "AWS::NetworkManager::LinkAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_site" { + cloudformation_type_name = "AWS::NetworkManager::Site" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_site_to_site_vpn_attachment" { + cloudformation_type_name = "AWS::NetworkManager::SiteToSiteVpnAttachment" +} + +resource_schema "aws_networkmanager_transit_gateway_peering" { + cloudformation_type_name = "AWS::NetworkManager::TransitGatewayPeering" +} + +resource_schema "aws_networkmanager_transit_gateway_registration" { + cloudformation_type_name = "AWS::NetworkManager::TransitGatewayRegistration" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_networkmanager_transit_gateway_route_table_attachment" { + cloudformation_type_name = "AWS::NetworkManager::TransitGatewayRouteTableAttachment" +} + +resource_schema "aws_networkmanager_vpc_attachment" { + cloudformation_type_name = "AWS::NetworkManager::VpcAttachment" +} + +resource_schema "aws_notifications_channel_association" { + cloudformation_type_name = "AWS::Notifications::ChannelAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_notifications_event_rule" { + cloudformation_type_name = "AWS::Notifications::EventRule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_notifications_managed_notification_account_contact_association" { + cloudformation_type_name = "AWS::Notifications::ManagedNotificationAccountContactAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_notifications_managed_notification_additional_channel_association" { + cloudformation_type_name = "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_notifications_notification_configuration" { + cloudformation_type_name = "AWS::Notifications::NotificationConfiguration" +} + +resource_schema "aws_notifications_notification_hub" { + cloudformation_type_name = "AWS::Notifications::NotificationHub" +} + +resource_schema "aws_notificationscontacts_email_contact" { + cloudformation_type_name = "AWS::NotificationsContacts::EmailContact" +} + +resource_schema "aws_osis_pipeline" { + cloudformation_type_name = "AWS::OSIS::Pipeline" +} + +resource_schema "aws_oam_link" { + cloudformation_type_name = "AWS::Oam::Link" +} + +resource_schema "aws_oam_sink" { + cloudformation_type_name = "AWS::Oam::Sink" +} + +resource_schema "aws_omics_annotation_store" { + cloudformation_type_name = "AWS::Omics::AnnotationStore" +} + +resource_schema "aws_omics_reference_store" { + cloudformation_type_name = "AWS::Omics::ReferenceStore" +} + +resource_schema "aws_omics_run_group" { + cloudformation_type_name = "AWS::Omics::RunGroup" +} + +resource_schema "aws_omics_sequence_store" { + cloudformation_type_name = "AWS::Omics::SequenceStore" +} + +resource_schema "aws_omics_variant_store" { + cloudformation_type_name = "AWS::Omics::VariantStore" +} + +resource_schema "aws_omics_workflow" { + cloudformation_type_name = "AWS::Omics::Workflow" +} + +resource_schema "aws_opensearchserverless_access_policy" { + cloudformation_type_name = "AWS::OpenSearchServerless::AccessPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opensearchserverless_collection" { + cloudformation_type_name = "AWS::OpenSearchServerless::Collection" +} + +resource_schema "aws_opensearchserverless_index" { + cloudformation_type_name = "AWS::OpenSearchServerless::Index" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opensearchserverless_lifecycle_policy" { + cloudformation_type_name = "AWS::OpenSearchServerless::LifecyclePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opensearchserverless_security_config" { + cloudformation_type_name = "AWS::OpenSearchServerless::SecurityConfig" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opensearchserverless_security_policy" { + cloudformation_type_name = "AWS::OpenSearchServerless::SecurityPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opensearchserverless_vpc_endpoint" { + cloudformation_type_name = "AWS::OpenSearchServerless::VpcEndpoint" +} + +resource_schema "aws_opensearchservice_application" { + cloudformation_type_name = "AWS::OpenSearchService::Application" +} + +resource_schema "aws_opensearchservice_domain" { + cloudformation_type_name = "AWS::OpenSearchService::Domain" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_opsworkscm_server" { + cloudformation_type_name = "AWS::OpsWorksCM::Server" +} + +resource_schema "aws_organizations_account" { + cloudformation_type_name = "AWS::Organizations::Account" +} + +resource_schema "aws_organizations_organization" { + cloudformation_type_name = "AWS::Organizations::Organization" +} + +resource_schema "aws_organizations_organizational_unit" { + cloudformation_type_name = "AWS::Organizations::OrganizationalUnit" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_organizations_policy" { + cloudformation_type_name = "AWS::Organizations::Policy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_organizations_resource_policy" { + cloudformation_type_name = "AWS::Organizations::ResourcePolicy" +} + +resource_schema "aws_pcaconnectorad_connector" { + cloudformation_type_name = "AWS::PCAConnectorAD::Connector" +} + +resource_schema "aws_pcaconnectorad_directory_registration" { + cloudformation_type_name = "AWS::PCAConnectorAD::DirectoryRegistration" +} + +resource_schema "aws_pcaconnectorad_service_principal_name" { + cloudformation_type_name = "AWS::PCAConnectorAD::ServicePrincipalName" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_pcaconnectorad_template" { + cloudformation_type_name = "AWS::PCAConnectorAD::Template" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_pcaconnectorad_template_group_access_control_entry" { + cloudformation_type_name = "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_pcaconnectorscep_challenge" { + cloudformation_type_name = "AWS::PCAConnectorSCEP::Challenge" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_pcaconnectorscep_connector" { + cloudformation_type_name = "AWS::PCAConnectorSCEP::Connector" +} + +resource_schema "aws_pcs_cluster" { + cloudformation_type_name = "AWS::PCS::Cluster" +} + +resource_schema "aws_pcs_compute_node_group" { + cloudformation_type_name = "AWS::PCS::ComputeNodeGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_pcs_queue" { + cloudformation_type_name = "AWS::PCS::Queue" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_panorama_application_instance" { + cloudformation_type_name = "AWS::Panorama::ApplicationInstance" +} + +resource_schema "aws_panorama_package" { + cloudformation_type_name = "AWS::Panorama::Package" +} + +resource_schema "aws_panorama_package_version" { + cloudformation_type_name = "AWS::Panorama::PackageVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_paymentcryptography_alias" { + cloudformation_type_name = "AWS::PaymentCryptography::Alias" +} + +resource_schema "aws_paymentcryptography_key" { + cloudformation_type_name = "AWS::PaymentCryptography::Key" +} + +resource_schema "aws_personalize_dataset" { + cloudformation_type_name = "AWS::Personalize::Dataset" +} + +resource_schema "aws_personalize_dataset_group" { + cloudformation_type_name = "AWS::Personalize::DatasetGroup" +} + +resource_schema "aws_personalize_schema" { + cloudformation_type_name = "AWS::Personalize::Schema" +} + +resource_schema "aws_personalize_solution" { + cloudformation_type_name = "AWS::Personalize::Solution" +} + +resource_schema "aws_pinpoint_in_app_template" { + cloudformation_type_name = "AWS::Pinpoint::InAppTemplate" +} + +resource_schema "aws_pipes_pipe" { + cloudformation_type_name = "AWS::Pipes::Pipe" +} + +resource_schema "aws_proton_environment_account_connection" { + cloudformation_type_name = "AWS::Proton::EnvironmentAccountConnection" +} + +resource_schema "aws_proton_environment_template" { + cloudformation_type_name = "AWS::Proton::EnvironmentTemplate" +} + +resource_schema "aws_proton_service_template" { + cloudformation_type_name = "AWS::Proton::ServiceTemplate" +} + +resource_schema "aws_qbusiness_application" { + cloudformation_type_name = "AWS::QBusiness::Application" +} + +resource_schema "aws_qbusiness_data_accessor" { + cloudformation_type_name = "AWS::QBusiness::DataAccessor" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_data_source" { + cloudformation_type_name = "AWS::QBusiness::DataSource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_index" { + cloudformation_type_name = "AWS::QBusiness::Index" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_permission" { + cloudformation_type_name = "AWS::QBusiness::Permission" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_plugin" { + cloudformation_type_name = "AWS::QBusiness::Plugin" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_retriever" { + cloudformation_type_name = "AWS::QBusiness::Retriever" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qbusiness_web_experience" { + cloudformation_type_name = "AWS::QBusiness::WebExperience" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_qldb_stream" { + cloudformation_type_name = "AWS::QLDB::Stream" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_analysis" { + cloudformation_type_name = "AWS::QuickSight::Analysis" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_custom_permissions" { + cloudformation_type_name = "AWS::QuickSight::CustomPermissions" +} + +resource_schema "aws_quicksight_dashboard" { + cloudformation_type_name = "AWS::QuickSight::Dashboard" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_data_set" { + cloudformation_type_name = "AWS::QuickSight::DataSet" +} + +resource_schema "aws_quicksight_data_source" { + cloudformation_type_name = "AWS::QuickSight::DataSource" +} + +resource_schema "aws_quicksight_folder" { + cloudformation_type_name = "AWS::QuickSight::Folder" +} + +resource_schema "aws_quicksight_refresh_schedule" { + cloudformation_type_name = "AWS::QuickSight::RefreshSchedule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_template" { + cloudformation_type_name = "AWS::QuickSight::Template" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_theme" { + cloudformation_type_name = "AWS::QuickSight::Theme" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_quicksight_topic" { + cloudformation_type_name = "AWS::QuickSight::Topic" +} + +resource_schema "aws_quicksight_vpc_connection" { + cloudformation_type_name = "AWS::QuickSight::VPCConnection" +} + +resource_schema "aws_ram_permission" { + cloudformation_type_name = "AWS::RAM::Permission" +} + +resource_schema "aws_ram_resource_share" { + cloudformation_type_name = "AWS::RAM::ResourceShare" +} + +resource_schema "aws_rds_custom_db_engine_version" { + cloudformation_type_name = "AWS::RDS::CustomDBEngineVersion" +} + +resource_schema "aws_rds_db_cluster" { + cloudformation_type_name = "AWS::RDS::DBCluster" +} + +resource_schema "aws_rds_db_cluster_parameter_group" { + cloudformation_type_name = "AWS::RDS::DBClusterParameterGroup" +} + +resource_schema "aws_rds_db_instance" { + cloudformation_type_name = "AWS::RDS::DBInstance" +} + +resource_schema "aws_rds_db_parameter_group" { + cloudformation_type_name = "AWS::RDS::DBParameterGroup" +} + +resource_schema "aws_rds_db_proxy" { + cloudformation_type_name = "AWS::RDS::DBProxy" +} + +resource_schema "aws_rds_db_proxy_endpoint" { + cloudformation_type_name = "AWS::RDS::DBProxyEndpoint" +} + +resource_schema "aws_rds_db_proxy_target_group" { + cloudformation_type_name = "AWS::RDS::DBProxyTargetGroup" +} + +resource_schema "aws_rds_db_shard_group" { + cloudformation_type_name = "AWS::RDS::DBShardGroup" +} + +resource_schema "aws_rds_db_subnet_group" { + cloudformation_type_name = "AWS::RDS::DBSubnetGroup" +} + +resource_schema "aws_rds_event_subscription" { + cloudformation_type_name = "AWS::RDS::EventSubscription" +} + +resource_schema "aws_rds_global_cluster" { + cloudformation_type_name = "AWS::RDS::GlobalCluster" +} + +resource_schema "aws_rds_integration" { + cloudformation_type_name = "AWS::RDS::Integration" +} + +resource_schema "aws_rds_option_group" { + cloudformation_type_name = "AWS::RDS::OptionGroup" +} + +resource_schema "aws_rum_app_monitor" { + cloudformation_type_name = "AWS::RUM::AppMonitor" +} + +resource_schema "aws_rbin_rule" { + cloudformation_type_name = "AWS::Rbin::Rule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_redshift_cluster" { + cloudformation_type_name = "AWS::Redshift::Cluster" +} + +resource_schema "aws_redshift_cluster_parameter_group" { + cloudformation_type_name = "AWS::Redshift::ClusterParameterGroup" +} + +resource_schema "aws_redshift_cluster_subnet_group" { + cloudformation_type_name = "AWS::Redshift::ClusterSubnetGroup" +} + +resource_schema "aws_redshift_endpoint_access" { + cloudformation_type_name = "AWS::Redshift::EndpointAccess" +} + +resource_schema "aws_redshift_endpoint_authorization" { + cloudformation_type_name = "AWS::Redshift::EndpointAuthorization" +} + +resource_schema "aws_redshift_event_subscription" { + cloudformation_type_name = "AWS::Redshift::EventSubscription" +} + +resource_schema "aws_redshift_integration" { + cloudformation_type_name = "AWS::Redshift::Integration" +} + +resource_schema "aws_redshift_scheduled_action" { + cloudformation_type_name = "AWS::Redshift::ScheduledAction" +} + +resource_schema "aws_redshiftserverless_namespace" { + cloudformation_type_name = "AWS::RedshiftServerless::Namespace" +} + +resource_schema "aws_redshiftserverless_workgroup" { + cloudformation_type_name = "AWS::RedshiftServerless::Workgroup" +} + +resource_schema "aws_refactorspaces_application" { + cloudformation_type_name = "AWS::RefactorSpaces::Application" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_refactorspaces_environment" { + cloudformation_type_name = "AWS::RefactorSpaces::Environment" +} + +resource_schema "aws_refactorspaces_route" { + cloudformation_type_name = "AWS::RefactorSpaces::Route" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_refactorspaces_service" { + cloudformation_type_name = "AWS::RefactorSpaces::Service" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_rekognition_collection" { + cloudformation_type_name = "AWS::Rekognition::Collection" +} + +resource_schema "aws_rekognition_project" { + cloudformation_type_name = "AWS::Rekognition::Project" +} + +resource_schema "aws_rekognition_stream_processor" { + cloudformation_type_name = "AWS::Rekognition::StreamProcessor" +} + +resource_schema "aws_resiliencehub_app" { + cloudformation_type_name = "AWS::ResilienceHub::App" +} + +resource_schema "aws_resiliencehub_resiliency_policy" { + cloudformation_type_name = "AWS::ResilienceHub::ResiliencyPolicy" +} + +resource_schema "aws_resourceexplorer2_default_view_association" { + cloudformation_type_name = "AWS::ResourceExplorer2::DefaultViewAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_resourceexplorer2_index" { + cloudformation_type_name = "AWS::ResourceExplorer2::Index" +} + +resource_schema "aws_resourceexplorer2_view" { + cloudformation_type_name = "AWS::ResourceExplorer2::View" +} + +resource_schema "aws_resourcegroups_group" { + cloudformation_type_name = "AWS::ResourceGroups::Group" +} + +resource_schema "aws_resourcegroups_tag_sync_task" { + cloudformation_type_name = "AWS::ResourceGroups::TagSyncTask" +} + +resource_schema "aws_robomaker_fleet" { + cloudformation_type_name = "AWS::RoboMaker::Fleet" +} + +resource_schema "aws_robomaker_robot" { + cloudformation_type_name = "AWS::RoboMaker::Robot" +} + +resource_schema "aws_robomaker_robot_application" { + cloudformation_type_name = "AWS::RoboMaker::RobotApplication" +} + +resource_schema "aws_robomaker_robot_application_version" { + cloudformation_type_name = "AWS::RoboMaker::RobotApplicationVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_robomaker_simulation_application" { + cloudformation_type_name = "AWS::RoboMaker::SimulationApplication" +} + +resource_schema "aws_robomaker_simulation_application_version" { + cloudformation_type_name = "AWS::RoboMaker::SimulationApplicationVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_rolesanywhere_crl" { + cloudformation_type_name = "AWS::RolesAnywhere::CRL" +} + +resource_schema "aws_rolesanywhere_profile" { + cloudformation_type_name = "AWS::RolesAnywhere::Profile" +} + +resource_schema "aws_rolesanywhere_trust_anchor" { + cloudformation_type_name = "AWS::RolesAnywhere::TrustAnchor" +} + +resource_schema "aws_route53_cidr_collection" { + cloudformation_type_name = "AWS::Route53::CidrCollection" +} + +resource_schema "aws_route53_dnssec" { + cloudformation_type_name = "AWS::Route53::DNSSEC" +} + +resource_schema "aws_route53_health_check" { + cloudformation_type_name = "AWS::Route53::HealthCheck" +} + +resource_schema "aws_route53_hosted_zone" { + cloudformation_type_name = "AWS::Route53::HostedZone" +} + +resource_schema "aws_route53_key_signing_key" { + cloudformation_type_name = "AWS::Route53::KeySigningKey" +} + +resource_schema "aws_route53profiles_profile" { + cloudformation_type_name = "AWS::Route53Profiles::Profile" +} + +resource_schema "aws_route53profiles_profile_association" { + cloudformation_type_name = "AWS::Route53Profiles::ProfileAssociation" +} + +resource_schema "aws_route53profiles_profile_resource_association" { + cloudformation_type_name = "AWS::Route53Profiles::ProfileResourceAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_route53recoverycontrol_cluster" { + cloudformation_type_name = "AWS::Route53RecoveryControl::Cluster" +} + +resource_schema "aws_route53recoverycontrol_control_panel" { + cloudformation_type_name = "AWS::Route53RecoveryControl::ControlPanel" +} + +resource_schema "aws_route53recoverycontrol_routing_control" { + cloudformation_type_name = "AWS::Route53RecoveryControl::RoutingControl" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_route53recoverycontrol_safety_rule" { + cloudformation_type_name = "AWS::Route53RecoveryControl::SafetyRule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_route53recoveryreadiness_cell" { + cloudformation_type_name = "AWS::Route53RecoveryReadiness::Cell" +} + +resource_schema "aws_route53recoveryreadiness_readiness_check" { + cloudformation_type_name = "AWS::Route53RecoveryReadiness::ReadinessCheck" +} + +resource_schema "aws_route53recoveryreadiness_recovery_group" { + cloudformation_type_name = "AWS::Route53RecoveryReadiness::RecoveryGroup" +} + +resource_schema "aws_route53recoveryreadiness_resource_set" { + cloudformation_type_name = "AWS::Route53RecoveryReadiness::ResourceSet" +} + +resource_schema "aws_route53resolver_firewall_domain_list" { + cloudformation_type_name = "AWS::Route53Resolver::FirewallDomainList" +} + +resource_schema "aws_route53resolver_firewall_rule_group" { + cloudformation_type_name = "AWS::Route53Resolver::FirewallRuleGroup" +} + +resource_schema "aws_route53resolver_firewall_rule_group_association" { + cloudformation_type_name = "AWS::Route53Resolver::FirewallRuleGroupAssociation" +} + +resource_schema "aws_route53resolver_outpost_resolver" { + cloudformation_type_name = "AWS::Route53Resolver::OutpostResolver" +} + +resource_schema "aws_route53resolver_resolver_config" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverConfig" +} + +resource_schema "aws_route53resolver_resolver_dnssec_config" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverDNSSECConfig" +} + +resource_schema "aws_route53resolver_resolver_query_logging_config" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverQueryLoggingConfig" +} + +resource_schema "aws_route53resolver_resolver_query_logging_config_association" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" +} + +resource_schema "aws_route53resolver_resolver_rule" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverRule" +} + +resource_schema "aws_route53resolver_resolver_rule_association" { + cloudformation_type_name = "AWS::Route53Resolver::ResolverRuleAssociation" +} + +resource_schema "aws_s3_access_grant" { + cloudformation_type_name = "AWS::S3::AccessGrant" +} + +resource_schema "aws_s3_access_grants_instance" { + cloudformation_type_name = "AWS::S3::AccessGrantsInstance" +} + +resource_schema "aws_s3_access_grants_location" { + cloudformation_type_name = "AWS::S3::AccessGrantsLocation" +} + +resource_schema "aws_s3_access_point" { + cloudformation_type_name = "AWS::S3::AccessPoint" +} + +resource_schema "aws_s3_bucket" { + cloudformation_type_name = "AWS::S3::Bucket" +} + +resource_schema "aws_s3_bucket_policy" { + cloudformation_type_name = "AWS::S3::BucketPolicy" +} + +resource_schema "aws_s3_multi_region_access_point" { + cloudformation_type_name = "AWS::S3::MultiRegionAccessPoint" +} + +resource_schema "aws_s3_multi_region_access_point_policy" { + cloudformation_type_name = "AWS::S3::MultiRegionAccessPointPolicy" +} + +resource_schema "aws_s3_storage_lens" { + cloudformation_type_name = "AWS::S3::StorageLens" +} + +resource_schema "aws_s3_storage_lens_group" { + cloudformation_type_name = "AWS::S3::StorageLensGroup" +} + +resource_schema "aws_s3express_bucket_policy" { + cloudformation_type_name = "AWS::S3Express::BucketPolicy" +} + +resource_schema "aws_s3express_directory_bucket" { + cloudformation_type_name = "AWS::S3Express::DirectoryBucket" +} + +resource_schema "aws_s3objectlambda_access_point" { + cloudformation_type_name = "AWS::S3ObjectLambda::AccessPoint" +} + +resource_schema "aws_s3objectlambda_access_point_policy" { + cloudformation_type_name = "AWS::S3ObjectLambda::AccessPointPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_s3outposts_access_point" { + cloudformation_type_name = "AWS::S3Outposts::AccessPoint" +} + +resource_schema "aws_s3outposts_bucket" { + cloudformation_type_name = "AWS::S3Outposts::Bucket" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_s3outposts_bucket_policy" { + cloudformation_type_name = "AWS::S3Outposts::BucketPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_s3outposts_endpoint" { + cloudformation_type_name = "AWS::S3Outposts::Endpoint" +} + +resource_schema "aws_s3tables_table_bucket" { + cloudformation_type_name = "AWS::S3Tables::TableBucket" +} + +resource_schema "aws_s3tables_table_bucket_policy" { + cloudformation_type_name = "AWS::S3Tables::TableBucketPolicy" +} + +resource_schema "aws_ses_configuration_set" { + cloudformation_type_name = "AWS::SES::ConfigurationSet" +} + +resource_schema "aws_ses_configuration_set_event_destination" { + cloudformation_type_name = "AWS::SES::ConfigurationSetEventDestination" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ses_contact_list" { + cloudformation_type_name = "AWS::SES::ContactList" +} + +resource_schema "aws_ses_dedicated_ip_pool" { + cloudformation_type_name = "AWS::SES::DedicatedIpPool" +} + +resource_schema "aws_ses_email_identity" { + cloudformation_type_name = "AWS::SES::EmailIdentity" +} + +resource_schema "aws_ses_mail_manager_addon_instance" { + cloudformation_type_name = "AWS::SES::MailManagerAddonInstance" +} + +resource_schema "aws_ses_mail_manager_addon_subscription" { + cloudformation_type_name = "AWS::SES::MailManagerAddonSubscription" +} + +resource_schema "aws_ses_mail_manager_archive" { + cloudformation_type_name = "AWS::SES::MailManagerArchive" +} + +resource_schema "aws_ses_mail_manager_ingress_point" { + cloudformation_type_name = "AWS::SES::MailManagerIngressPoint" +} + +resource_schema "aws_ses_mail_manager_relay" { + cloudformation_type_name = "AWS::SES::MailManagerRelay" +} + +resource_schema "aws_ses_mail_manager_rule_set" { + cloudformation_type_name = "AWS::SES::MailManagerRuleSet" +} + +resource_schema "aws_ses_mail_manager_traffic_policy" { + cloudformation_type_name = "AWS::SES::MailManagerTrafficPolicy" +} + +resource_schema "aws_ses_template" { + cloudformation_type_name = "AWS::SES::Template" +} + +resource_schema "aws_ses_vdm_attributes" { + cloudformation_type_name = "AWS::SES::VdmAttributes" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sns_subscription" { + cloudformation_type_name = "AWS::SNS::Subscription" +} + +resource_schema "aws_sns_topic" { + cloudformation_type_name = "AWS::SNS::Topic" +} + +resource_schema "aws_sns_topic_inline_policy" { + cloudformation_type_name = "AWS::SNS::TopicInlinePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sqs_queue" { + cloudformation_type_name = "AWS::SQS::Queue" +} + +resource_schema "aws_sqs_queue_inline_policy" { + cloudformation_type_name = "AWS::SQS::QueueInlinePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ssm_association" { + cloudformation_type_name = "AWS::SSM::Association" +} + +resource_schema "aws_ssm_document" { + cloudformation_type_name = "AWS::SSM::Document" +} + +resource_schema "aws_ssm_parameter" { + cloudformation_type_name = "AWS::SSM::Parameter" +} + +resource_schema "aws_ssm_patch_baseline" { + cloudformation_type_name = "AWS::SSM::PatchBaseline" +} + +resource_schema "aws_ssm_resource_data_sync" { + cloudformation_type_name = "AWS::SSM::ResourceDataSync" +} + +resource_schema "aws_ssm_resource_policy" { + cloudformation_type_name = "AWS::SSM::ResourcePolicy" +} + +resource_schema "aws_ssmcontacts_contact" { + cloudformation_type_name = "AWS::SSMContacts::Contact" +} + +resource_schema "aws_ssmcontacts_contact_channel" { + cloudformation_type_name = "AWS::SSMContacts::ContactChannel" +} + +resource_schema "aws_ssmcontacts_plan" { + cloudformation_type_name = "AWS::SSMContacts::Plan" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_ssmcontacts_rotation" { + cloudformation_type_name = "AWS::SSMContacts::Rotation" +} + +resource_schema "aws_ssmincidents_replication_set" { + cloudformation_type_name = "AWS::SSMIncidents::ReplicationSet" +} + +resource_schema "aws_ssmincidents_response_plan" { + cloudformation_type_name = "AWS::SSMIncidents::ResponsePlan" +} + +resource_schema "aws_ssmquicksetup_configuration_manager" { + cloudformation_type_name = "AWS::SSMQuickSetup::ConfigurationManager" +} + +resource_schema "aws_sso_application" { + cloudformation_type_name = "AWS::SSO::Application" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sso_application_assignment" { + cloudformation_type_name = "AWS::SSO::ApplicationAssignment" +} + +resource_schema "aws_sso_assignment" { + cloudformation_type_name = "AWS::SSO::Assignment" +} + +resource_schema "aws_sso_instance" { + cloudformation_type_name = "AWS::SSO::Instance" +} + +resource_schema "aws_sso_instance_access_control_attribute_configuration" { + cloudformation_type_name = "AWS::SSO::InstanceAccessControlAttributeConfiguration" +} + +resource_schema "aws_sso_permission_set" { + cloudformation_type_name = "AWS::SSO::PermissionSet" +} + +resource_schema "aws_sagemaker_app" { + cloudformation_type_name = "AWS::SageMaker::App" +} + +resource_schema "aws_sagemaker_app_image_config" { + cloudformation_type_name = "AWS::SageMaker::AppImageConfig" +} + +resource_schema "aws_sagemaker_cluster" { + cloudformation_type_name = "AWS::SageMaker::Cluster" +} + +resource_schema "aws_sagemaker_data_quality_job_definition" { + cloudformation_type_name = "AWS::SageMaker::DataQualityJobDefinition" +} + +resource_schema "aws_sagemaker_device" { + cloudformation_type_name = "AWS::SageMaker::Device" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sagemaker_device_fleet" { + cloudformation_type_name = "AWS::SageMaker::DeviceFleet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sagemaker_domain" { + cloudformation_type_name = "AWS::SageMaker::Domain" +} + +resource_schema "aws_sagemaker_endpoint" { + cloudformation_type_name = "AWS::SageMaker::Endpoint" +} + +resource_schema "aws_sagemaker_feature_group" { + cloudformation_type_name = "AWS::SageMaker::FeatureGroup" +} + +resource_schema "aws_sagemaker_image" { + cloudformation_type_name = "AWS::SageMaker::Image" +} + +resource_schema "aws_sagemaker_image_version" { + cloudformation_type_name = "AWS::SageMaker::ImageVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_sagemaker_inference_component" { + cloudformation_type_name = "AWS::SageMaker::InferenceComponent" +} + +resource_schema "aws_sagemaker_inference_experiment" { + cloudformation_type_name = "AWS::SageMaker::InferenceExperiment" +} + +resource_schema "aws_sagemaker_mlflow_tracking_server" { + cloudformation_type_name = "AWS::SageMaker::MlflowTrackingServer" +} + +resource_schema "aws_sagemaker_model_bias_job_definition" { + cloudformation_type_name = "AWS::SageMaker::ModelBiasJobDefinition" +} + +resource_schema "aws_sagemaker_model_card" { + cloudformation_type_name = "AWS::SageMaker::ModelCard" +} + +resource_schema "aws_sagemaker_model_explainability_job_definition" { + cloudformation_type_name = "AWS::SageMaker::ModelExplainabilityJobDefinition" +} + +resource_schema "aws_sagemaker_model_package" { + cloudformation_type_name = "AWS::SageMaker::ModelPackage" +} + +resource_schema "aws_sagemaker_model_package_group" { + cloudformation_type_name = "AWS::SageMaker::ModelPackageGroup" +} + +resource_schema "aws_sagemaker_model_quality_job_definition" { + cloudformation_type_name = "AWS::SageMaker::ModelQualityJobDefinition" +} + +resource_schema "aws_sagemaker_monitoring_schedule" { + cloudformation_type_name = "AWS::SageMaker::MonitoringSchedule" +} + +resource_schema "aws_sagemaker_partner_app" { + cloudformation_type_name = "AWS::SageMaker::PartnerApp" +} + +resource_schema "aws_sagemaker_pipeline" { + cloudformation_type_name = "AWS::SageMaker::Pipeline" +} + +resource_schema "aws_sagemaker_project" { + cloudformation_type_name = "AWS::SageMaker::Project" +} + +resource_schema "aws_sagemaker_space" { + cloudformation_type_name = "AWS::SageMaker::Space" +} + +resource_schema "aws_sagemaker_studio_lifecycle_config" { + cloudformation_type_name = "AWS::SageMaker::StudioLifecycleConfig" +} + +resource_schema "aws_sagemaker_user_profile" { + cloudformation_type_name = "AWS::SageMaker::UserProfile" +} + +resource_schema "aws_scheduler_schedule" { + cloudformation_type_name = "AWS::Scheduler::Schedule" +} + +resource_schema "aws_scheduler_schedule_group" { + cloudformation_type_name = "AWS::Scheduler::ScheduleGroup" +} + +resource_schema "aws_secretsmanager_resource_policy" { + cloudformation_type_name = "AWS::SecretsManager::ResourcePolicy" +} + +resource_schema "aws_secretsmanager_rotation_schedule" { + cloudformation_type_name = "AWS::SecretsManager::RotationSchedule" +} + +resource_schema "aws_secretsmanager_secret" { + cloudformation_type_name = "AWS::SecretsManager::Secret" +} + +resource_schema "aws_secretsmanager_secret_target_attachment" { + cloudformation_type_name = "AWS::SecretsManager::SecretTargetAttachment" +} + +resource_schema "aws_securityhub_automation_rule" { + cloudformation_type_name = "AWS::SecurityHub::AutomationRule" +} + +resource_schema "aws_securityhub_configuration_policy" { + cloudformation_type_name = "AWS::SecurityHub::ConfigurationPolicy" +} + +resource_schema "aws_securityhub_delegated_admin" { + cloudformation_type_name = "AWS::SecurityHub::DelegatedAdmin" +} + +resource_schema "aws_securityhub_finding_aggregator" { + cloudformation_type_name = "AWS::SecurityHub::FindingAggregator" +} + +resource_schema "aws_securityhub_hub" { + cloudformation_type_name = "AWS::SecurityHub::Hub" +} + +resource_schema "aws_securityhub_insight" { + cloudformation_type_name = "AWS::SecurityHub::Insight" +} + +resource_schema "aws_securityhub_organization_configuration" { + cloudformation_type_name = "AWS::SecurityHub::OrganizationConfiguration" +} + +resource_schema "aws_securityhub_policy_association" { + cloudformation_type_name = "AWS::SecurityHub::PolicyAssociation" +} + +resource_schema "aws_securityhub_product_subscription" { + cloudformation_type_name = "AWS::SecurityHub::ProductSubscription" +} + +resource_schema "aws_securityhub_security_control" { + cloudformation_type_name = "AWS::SecurityHub::SecurityControl" +} + +resource_schema "aws_securityhub_standard" { + cloudformation_type_name = "AWS::SecurityHub::Standard" +} + +resource_schema "aws_securitylake_aws_log_source" { + cloudformation_type_name = "AWS::SecurityLake::AwsLogSource" +} + +resource_schema "aws_securitylake_data_lake" { + cloudformation_type_name = "AWS::SecurityLake::DataLake" +} + +resource_schema "aws_securitylake_subscriber" { + cloudformation_type_name = "AWS::SecurityLake::Subscriber" +} + +resource_schema "aws_securitylake_subscriber_notification" { + cloudformation_type_name = "AWS::SecurityLake::SubscriberNotification" +} + +resource_schema "aws_servicecatalog_cloudformation_provisioned_product" { + cloudformation_type_name = "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_servicecatalog_service_action" { + cloudformation_type_name = "AWS::ServiceCatalog::ServiceAction" +} + +resource_schema "aws_servicecatalog_service_action_association" { + cloudformation_type_name = "AWS::ServiceCatalog::ServiceActionAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_servicecatalogappregistry_application" { + cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::Application" +} + +resource_schema "aws_servicecatalogappregistry_attribute_group" { + cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::AttributeGroup" +} + +resource_schema "aws_servicecatalogappregistry_attribute_group_association" { + cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_servicecatalogappregistry_resource_association" { + cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_shield_drt_access" { + cloudformation_type_name = "AWS::Shield::DRTAccess" +} + +resource_schema "aws_shield_proactive_engagement" { + cloudformation_type_name = "AWS::Shield::ProactiveEngagement" +} + +resource_schema "aws_shield_protection" { + cloudformation_type_name = "AWS::Shield::Protection" +} + +resource_schema "aws_shield_protection_group" { + cloudformation_type_name = "AWS::Shield::ProtectionGroup" +} + +resource_schema "aws_signer_profile_permission" { + cloudformation_type_name = "AWS::Signer::ProfilePermission" +} + +resource_schema "aws_signer_signing_profile" { + cloudformation_type_name = "AWS::Signer::SigningProfile" +} + +resource_schema "aws_simspaceweaver_simulation" { + cloudformation_type_name = "AWS::SimSpaceWeaver::Simulation" +} + +resource_schema "aws_stepfunctions_activity" { + cloudformation_type_name = "AWS::StepFunctions::Activity" +} + +resource_schema "aws_stepfunctions_state_machine" { + cloudformation_type_name = "AWS::StepFunctions::StateMachine" +} + +resource_schema "aws_stepfunctions_state_machine_alias" { + cloudformation_type_name = "AWS::StepFunctions::StateMachineAlias" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_stepfunctions_state_machine_version" { + cloudformation_type_name = "AWS::StepFunctions::StateMachineVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_supportapp_account_alias" { + cloudformation_type_name = "AWS::SupportApp::AccountAlias" +} + +resource_schema "aws_supportapp_slack_channel_configuration" { + cloudformation_type_name = "AWS::SupportApp::SlackChannelConfiguration" +} + +resource_schema "aws_supportapp_slack_workspace_configuration" { + cloudformation_type_name = "AWS::SupportApp::SlackWorkspaceConfiguration" +} + +resource_schema "aws_synthetics_canary" { + cloudformation_type_name = "AWS::Synthetics::Canary" +} + +resource_schema "aws_synthetics_group" { + cloudformation_type_name = "AWS::Synthetics::Group" +} + +resource_schema "aws_systemsmanagersap_application" { + cloudformation_type_name = "AWS::SystemsManagerSAP::Application" +} + +resource_schema "aws_timestream_database" { + cloudformation_type_name = "AWS::Timestream::Database" +} + +resource_schema "aws_timestream_influx_db_instance" { + cloudformation_type_name = "AWS::Timestream::InfluxDBInstance" +} + +resource_schema "aws_timestream_scheduled_query" { + cloudformation_type_name = "AWS::Timestream::ScheduledQuery" +} + +resource_schema "aws_timestream_table" { + cloudformation_type_name = "AWS::Timestream::Table" +} + +resource_schema "aws_transfer_agreement" { + cloudformation_type_name = "AWS::Transfer::Agreement" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_transfer_certificate" { + cloudformation_type_name = "AWS::Transfer::Certificate" +} + +resource_schema "aws_transfer_connector" { + cloudformation_type_name = "AWS::Transfer::Connector" +} + +resource_schema "aws_transfer_profile" { + cloudformation_type_name = "AWS::Transfer::Profile" +} + +resource_schema "aws_transfer_server" { + cloudformation_type_name = "AWS::Transfer::Server" +} + +resource_schema "aws_transfer_user" { + cloudformation_type_name = "AWS::Transfer::User" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_transfer_web_app" { + cloudformation_type_name = "AWS::Transfer::WebApp" +} + +resource_schema "aws_transfer_workflow" { + cloudformation_type_name = "AWS::Transfer::Workflow" +} + +resource_schema "aws_verifiedpermissions_identity_source" { + cloudformation_type_name = "AWS::VerifiedPermissions::IdentitySource" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_verifiedpermissions_policy" { + cloudformation_type_name = "AWS::VerifiedPermissions::Policy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_verifiedpermissions_policy_store" { + cloudformation_type_name = "AWS::VerifiedPermissions::PolicyStore" +} + +resource_schema "aws_verifiedpermissions_policy_template" { + cloudformation_type_name = "AWS::VerifiedPermissions::PolicyTemplate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_voiceid_domain" { + cloudformation_type_name = "AWS::VoiceID::Domain" +} + +resource_schema "aws_vpclattice_access_log_subscription" { + cloudformation_type_name = "AWS::VpcLattice::AccessLogSubscription" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_vpclattice_auth_policy" { + cloudformation_type_name = "AWS::VpcLattice::AuthPolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_vpclattice_listener" { + cloudformation_type_name = "AWS::VpcLattice::Listener" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_vpclattice_resource_configuration" { + cloudformation_type_name = "AWS::VpcLattice::ResourceConfiguration" +} + +resource_schema "aws_vpclattice_resource_gateway" { + cloudformation_type_name = "AWS::VpcLattice::ResourceGateway" +} + +resource_schema "aws_vpclattice_resource_policy" { + cloudformation_type_name = "AWS::VpcLattice::ResourcePolicy" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_vpclattice_rule" { + cloudformation_type_name = "AWS::VpcLattice::Rule" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_vpclattice_service" { + cloudformation_type_name = "AWS::VpcLattice::Service" +} + +resource_schema "aws_vpclattice_service_network" { + cloudformation_type_name = "AWS::VpcLattice::ServiceNetwork" +} + +resource_schema "aws_vpclattice_service_network_resource_association" { + cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkResourceAssociation" +} + +resource_schema "aws_vpclattice_service_network_service_association" { + cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkServiceAssociation" +} + +resource_schema "aws_vpclattice_service_network_vpc_association" { + cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkVpcAssociation" +} + +resource_schema "aws_vpclattice_target_group" { + cloudformation_type_name = "AWS::VpcLattice::TargetGroup" +} + +resource_schema "aws_wafv2_ip_set" { + cloudformation_type_name = "AWS::WAFv2::IPSet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wafv2_logging_configuration" { + cloudformation_type_name = "AWS::WAFv2::LoggingConfiguration" +} + +resource_schema "aws_wafv2_regex_pattern_set" { + cloudformation_type_name = "AWS::WAFv2::RegexPatternSet" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wafv2_rule_group" { + cloudformation_type_name = "AWS::WAFv2::RuleGroup" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wafv2_web_acl" { + cloudformation_type_name = "AWS::WAFv2::WebACL" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wafv2_web_acl_association" { + cloudformation_type_name = "AWS::WAFv2::WebACLAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_agent" { + cloudformation_type_name = "AWS::Wisdom::AIAgent" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_agent_version" { + cloudformation_type_name = "AWS::Wisdom::AIAgentVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_guardrail" { + cloudformation_type_name = "AWS::Wisdom::AIGuardrail" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_guardrail_version" { + cloudformation_type_name = "AWS::Wisdom::AIGuardrailVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_prompt" { + cloudformation_type_name = "AWS::Wisdom::AIPrompt" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_ai_prompt_version" { + cloudformation_type_name = "AWS::Wisdom::AIPromptVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_assistant" { + cloudformation_type_name = "AWS::Wisdom::Assistant" +} + +resource_schema "aws_wisdom_assistant_association" { + cloudformation_type_name = "AWS::Wisdom::AssistantAssociation" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_knowledge_base" { + cloudformation_type_name = "AWS::Wisdom::KnowledgeBase" +} + +resource_schema "aws_wisdom_message_template" { + cloudformation_type_name = "AWS::Wisdom::MessageTemplate" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_wisdom_message_template_version" { + cloudformation_type_name = "AWS::Wisdom::MessageTemplateVersion" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_workspaces_connection_alias" { + cloudformation_type_name = "AWS::WorkSpaces::ConnectionAlias" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_workspaces_workspaces_pool" { + cloudformation_type_name = "AWS::WorkSpaces::WorkspacesPool" +} + +resource_schema "aws_workspacesthinclient_environment" { + cloudformation_type_name = "AWS::WorkSpacesThinClient::Environment" +} + +resource_schema "aws_workspacesweb_browser_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::BrowserSettings" +} + +resource_schema "aws_workspacesweb_data_protection_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::DataProtectionSettings" +} + +resource_schema "aws_workspacesweb_identity_provider" { + cloudformation_type_name = "AWS::WorkSpacesWeb::IdentityProvider" + suppress_plural_data_source_generation = true +} + +resource_schema "aws_workspacesweb_ip_access_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::IpAccessSettings" +} + +resource_schema "aws_workspacesweb_network_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::NetworkSettings" +} + +resource_schema "aws_workspacesweb_portal" { + cloudformation_type_name = "AWS::WorkSpacesWeb::Portal" +} + +resource_schema "aws_workspacesweb_trust_store" { + cloudformation_type_name = "AWS::WorkSpacesWeb::TrustStore" +} + +resource_schema "aws_workspacesweb_user_access_logging_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::UserAccessLoggingSettings" +} + +resource_schema "aws_workspacesweb_user_settings" { + cloudformation_type_name = "AWS::WorkSpacesWeb::UserSettings" +} + +resource_schema "aws_xray_group" { + cloudformation_type_name = "AWS::XRay::Group" +} + +resource_schema "aws_xray_resource_policy" { + cloudformation_type_name = "AWS::XRay::ResourcePolicy" +} + +resource_schema "aws_xray_sampling_rule" { + cloudformation_type_name = "AWS::XRay::SamplingRule" +} + +resource_schema "aws_xray_transaction_search_config" { + cloudformation_type_name = "AWS::XRay::TransactionSearchConfig" +} diff --git a/internal/provider/import_examples_gen.json b/internal/provider/import_examples_gen.json index f994f5e3f4..a58db29b6c 100644 --- a/internal/provider/import_examples_gen.json +++ b/internal/provider/import_examples_gen.json @@ -3069,6 +3069,11 @@ "identifier": ["DashboardId"], "path": "./examples/resources/awscc_iotsitewise_dashboard/import.sh" }, + { + "resource": "awscc_iotsitewise_dataset", + "identifier": ["DatasetId"], + "path": "./examples/resources/awscc_iotsitewise_dataset/import.sh" + }, { "resource": "awscc_iotsitewise_gateway", "identifier": ["GatewayId"], diff --git a/internal/provider/plural_data_sources.go b/internal/provider/plural_data_sources.go index fa79258180..9ca5ac67ed 100644 --- a/internal/provider/plural_data_sources.go +++ b/internal/provider/plural_data_sources.go @@ -458,6 +458,7 @@ //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_assets -cftype AWS::IoTSiteWise::Asset -package iotsitewise ../aws/iotsitewise/asset_plural_data_source_gen.go ../aws/iotsitewise/asset_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_asset_models -cftype AWS::IoTSiteWise::AssetModel -package iotsitewise ../aws/iotsitewise/asset_model_plural_data_source_gen.go ../aws/iotsitewise/asset_model_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_dashboards -cftype AWS::IoTSiteWise::Dashboard -package iotsitewise ../aws/iotsitewise/dashboard_plural_data_source_gen.go ../aws/iotsitewise/dashboard_plural_data_source_gen_test.go +//go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_datasets -cftype AWS::IoTSiteWise::Dataset -package iotsitewise ../aws/iotsitewise/dataset_plural_data_source_gen.go ../aws/iotsitewise/dataset_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_gateways -cftype AWS::IoTSiteWise::Gateway -package iotsitewise ../aws/iotsitewise/gateway_plural_data_source_gen.go ../aws/iotsitewise/gateway_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_portals -cftype AWS::IoTSiteWise::Portal -package iotsitewise ../aws/iotsitewise/portal_plural_data_source_gen.go ../aws/iotsitewise/portal_plural_data_source_gen_test.go //go:generate go run generators/plural-data-source/main.go -data-source awscc_iotsitewise_projects -cftype AWS::IoTSiteWise::Project -package iotsitewise ../aws/iotsitewise/project_plural_data_source_gen.go ../aws/iotsitewise/project_plural_data_source_gen_test.go diff --git a/internal/provider/resources.go b/internal/provider/resources.go index 6d4bcd5b14..560ffa8fc8 100644 --- a/internal/provider/resources.go +++ b/internal/provider/resources.go @@ -616,6 +616,7 @@ //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_asset -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Asset.json -package iotsitewise -- ../aws/iotsitewise/asset_resource_gen.go ../aws/iotsitewise/asset_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_asset_model -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_AssetModel.json -package iotsitewise -- ../aws/iotsitewise/asset_model_resource_gen.go ../aws/iotsitewise/asset_model_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_dashboard -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json -package iotsitewise -- ../aws/iotsitewise/dashboard_resource_gen.go ../aws/iotsitewise/dashboard_resource_gen_test.go +//go:generate go run generators/resource/main.go -resource awscc_iotsitewise_dataset -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json -package iotsitewise -- ../aws/iotsitewise/dataset_resource_gen.go ../aws/iotsitewise/dataset_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_gateway -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json -package iotsitewise -- ../aws/iotsitewise/gateway_resource_gen.go ../aws/iotsitewise/gateway_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_portal -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Portal.json -package iotsitewise -- ../aws/iotsitewise/portal_resource_gen.go ../aws/iotsitewise/portal_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_iotsitewise_project -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Project.json -package iotsitewise -- ../aws/iotsitewise/project_resource_gen.go ../aws/iotsitewise/project_resource_gen_test.go diff --git a/internal/provider/singular_data_sources.go b/internal/provider/singular_data_sources.go index 876c4174b9..d614139f5d 100644 --- a/internal/provider/singular_data_sources.go +++ b/internal/provider/singular_data_sources.go @@ -616,6 +616,7 @@ //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_asset -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Asset.json -package iotsitewise ../aws/iotsitewise/asset_singular_data_source_gen.go ../aws/iotsitewise/asset_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_asset_model -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_AssetModel.json -package iotsitewise ../aws/iotsitewise/asset_model_singular_data_source_gen.go ../aws/iotsitewise/asset_model_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_dashboard -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json -package iotsitewise ../aws/iotsitewise/dashboard_singular_data_source_gen.go ../aws/iotsitewise/dashboard_singular_data_source_gen_test.go +//go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_dataset -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json -package iotsitewise ../aws/iotsitewise/dataset_singular_data_source_gen.go ../aws/iotsitewise/dataset_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_gateway -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json -package iotsitewise ../aws/iotsitewise/gateway_singular_data_source_gen.go ../aws/iotsitewise/gateway_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_portal -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Portal.json -package iotsitewise ../aws/iotsitewise/portal_singular_data_source_gen.go ../aws/iotsitewise/portal_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_iotsitewise_project -cfschema ../service/cloudformation/schemas/AWS_IoTSiteWise_Project.json -package iotsitewise ../aws/iotsitewise/project_singular_data_source_gen.go ../aws/iotsitewise/project_singular_data_source_gen_test.go diff --git a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json new file mode 100644 index 0000000000..56f5126bf5 --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dataset.json @@ -0,0 +1,177 @@ +{ + "typeName": "AWS::IoTSiteWise::Dataset", + "description": "Resource schema for AWS::IoTSiteWise::Dataset.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", + "definitions": { + "DatasetSource": { + "type": "object", + "additionalProperties": false, + "required": [ + "SourceFormat", + "SourceType" + ], + "properties": { + "SourceFormat": { + "type": "string", + "description": "The format of the dataset source associated with the dataset.", + "enum": [ + "KNOWLEDGE_BASE" + ] + }, + "SourceType": { + "type": "string", + "description": "The type of data source for the dataset.", + "enum": [ + "KENDRA" + ] + }, + "SourceDetail": { + "description": "The details of the dataset source associated with the dataset.", + "$ref": "#/definitions/SourceDetail" + } + } + }, + "SourceDetail": { + "type": "object", + "additionalProperties": false, + "properties": { + "Kendra": { + "description": "Contains details about the Kendra dataset source.", + "$ref": "#/definitions/KendraSourceDetail" + } + } + }, + "KendraSourceDetail": { + "type": "object", + "additionalProperties": false, + "required": [ + "KnowledgeBaseArn", + "RoleArn" + ], + "properties": { + "KnowledgeBaseArn": { + "type": "string", + "description": "The knowledgeBaseArn details for the Kendra dataset source." + }, + "RoleArn": { + "type": "string", + "description": "The roleARN details for the Kendra dataset source." + } + } + }, + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ] + } + }, + "properties": { + "DatasetId": { + "description": "The ID of the dataset.", + "type": "string", + "minLength": 36, + "maxLength": 36, + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "DatasetArn": { + "description": "The ARN of the dataset.", + "type": "string" + }, + "DatasetName": { + "description": "The name of the dataset.", + "type": "string" + }, + "DatasetDescription": { + "description": "A description about the dataset, and its functionality.", + "type": "string" + }, + "DatasetSource": { + "description": "The data source for the dataset.", + "$ref": "#/definitions/DatasetSource" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + } + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, + "required": [ + "DatasetName", + "DatasetSource" + ], + "readOnlyProperties": [ + "/properties/DatasetArn", + "/properties/DatasetId" + ], + "primaryIdentifier": [ + "/properties/DatasetId" + ], + "handlers": { + "create": { + "permissions": [ + "iotsitewise:CreateDataset", + "iotsitewise:DescribeDataset", + "iam:PassRole", + "iotsitewise:ListTagsForResource", + "iotsitewise:TagResource" + ] + }, + "read": { + "permissions": [ + "iotsitewise:DescribeDataset", + "iotsitewise:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iotsitewise:UpdateDataset", + "iotsitewise:DescribeDataset", + "iam:PassRole", + "iotsitewise:ListTagsForResource", + "iotsitewise:TagResource", + "iotsitewise:UntagResource" + ] + }, + "delete": { + "permissions": [ + "iotsitewise:DeleteDataset", + "iotsitewise:DescribeDataset", + "iotsitewise:ListTagsForResource" + ] + }, + "list": { + "permissions": [ + "iotsitewise:ListDatasets", + "iotsitewise:ListTagsForResource" + ] + } + } +} From 1707d02b720052b99669252ad97678bf622dfbf9 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 27 Mar 2025 15:27:07 -0400 Subject: [PATCH 3/5] 2025/03/27 CloudFormation schemas in us-east-1; Generate Terraform resource schemas. --- internal/aws/amplify/app_resource_gen.go | 21 ++ internal/aws/amplify/branch_resource_gen.go | 35 ++ .../event_integration_resource_gen.go | 4 +- .../aws/cloudformation/stack_resource_gen.go | 7 +- internal/aws/databrew/dataset_resource_gen.go | 1 - internal/aws/databrew/job_resource_gen.go | 1 - internal/aws/databrew/project_resource_gen.go | 1 - internal/aws/databrew/ruleset_resource_gen.go | 1 - .../aws/databrew/schedule_resource_gen.go | 1 - internal/aws/ecs/service_resource_gen.go | 4 +- internal/aws/eks/cluster_resource_gen.go | 21 ++ .../publishing_destination_resource_gen.go | 2 +- internal/aws/iot/job_template_resource_gen.go | 4 +- .../aws/iotsitewise/dataset_resource_gen.go | 323 ++++++++++++++++++ .../iotsitewise/dataset_resource_gen_test.go | 25 ++ .../mediaconnect/flow_output_resource_gen.go | 36 +- .../networkfirewall/firewall_resource_gen.go | 36 ++ .../aws/omics/sequence_store_resource_gen.go | 216 +++++++++++- .../paymentcryptography/key_resource_gen.go | 8 + internal/aws/rds/db_cluster_resource_gen.go | 8 +- internal/aws/rds/db_instance_resource_gen.go | 231 +++++++------ .../workgroup_resource_gen.go | 4 - .../cluster_resource_gen.go | 26 ++ internal/aws/rum/app_monitor_resource_gen.go | 1 - .../application_resource_gen.go | 98 ++++++ 25 files changed, 955 insertions(+), 160 deletions(-) create mode 100644 internal/aws/iotsitewise/dataset_resource_gen.go create mode 100644 internal/aws/iotsitewise/dataset_resource_gen_test.go diff --git a/internal/aws/amplify/app_resource_gen.go b/internal/aws/amplify/app_resource_gen.go index 62320aa008..5e13d40fce 100644 --- a/internal/aws/amplify/app_resource_gen.go +++ b/internal/aws/amplify/app_resource_gen.go @@ -501,6 +501,26 @@ func appResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ComputeRoleArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 1000, + // "minLength": 0, + // "pattern": "(?s).*", + // "type": "string" + // } + "compute_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 1000), + stringvalidator.RegexMatches(regexp.MustCompile("(?s).*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: CustomHeaders // CloudFormation resource type schema: // @@ -926,6 +946,7 @@ func appResource(ctx context.Context) (resource.Resource, error) { "basic_auth_config": "BasicAuthConfig", "build_spec": "BuildSpec", "cache_config": "CacheConfig", + "compute_role_arn": "ComputeRoleArn", "condition": "Condition", "custom_headers": "CustomHeaders", "custom_rules": "CustomRules", diff --git a/internal/aws/amplify/branch_resource_gen.go b/internal/aws/amplify/branch_resource_gen.go index f33a9e43de..bf0d1c92f4 100644 --- a/internal/aws/amplify/branch_resource_gen.go +++ b/internal/aws/amplify/branch_resource_gen.go @@ -205,6 +205,26 @@ func branchResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ComputeRoleArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 1000, + // "minLength": 0, + // "pattern": "(?s).*", + // "type": "string" + // } + "compute_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 1000), + stringvalidator.RegexMatches(regexp.MustCompile("(?s).*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Description // CloudFormation resource type schema: // @@ -263,6 +283,19 @@ func branchResource(ctx context.Context) (resource.Resource, error) { boolplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: EnableSkewProtection + // CloudFormation resource type schema: + // + // { + // "type": "boolean" + // } + "enable_skew_protection": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: EnvironmentVariables // CloudFormation resource type schema: // @@ -488,11 +521,13 @@ func branchResource(ctx context.Context) (resource.Resource, error) { "basic_auth_config": "BasicAuthConfig", "branch_name": "BranchName", "build_spec": "BuildSpec", + "compute_role_arn": "ComputeRoleArn", "description": "Description", "enable_auto_build": "EnableAutoBuild", "enable_basic_auth": "EnableBasicAuth", "enable_performance_mode": "EnablePerformanceMode", "enable_pull_request_preview": "EnablePullRequestPreview", + "enable_skew_protection": "EnableSkewProtection", "environment_variables": "EnvironmentVariables", "framework": "Framework", "key": "Key", diff --git a/internal/aws/appintegrations/event_integration_resource_gen.go b/internal/aws/appintegrations/event_integration_resource_gen.go index 1a847c648b..5d37d22d17 100644 --- a/internal/aws/appintegrations/event_integration_resource_gen.go +++ b/internal/aws/appintegrations/event_integration_resource_gen.go @@ -83,7 +83,7 @@ func eventIntegrationResource(ctx context.Context) (resource.Resource, error) { // "description": "The source of the events.", // "maxLength": 256, // "minLength": 1, - // "pattern": "^aws\\.partner\\/.*$", + // "pattern": "^aws\\.(partner\\/.*|cases)$", // "type": "string" // } // }, @@ -100,7 +100,7 @@ func eventIntegrationResource(ctx context.Context) (resource.Resource, error) { Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 256), - stringvalidator.RegexMatches(regexp.MustCompile("^aws\\.partner\\/.*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^aws\\.(partner\\/.*|cases)$"), ""), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ diff --git a/internal/aws/cloudformation/stack_resource_gen.go b/internal/aws/cloudformation/stack_resource_gen.go index 43d420d9ab..c613be4b2a 100644 --- a/internal/aws/cloudformation/stack_resource_gen.go +++ b/internal/aws/cloudformation/stack_resource_gen.go @@ -446,12 +446,11 @@ func stackResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "type": "object" + // "type": "string" // } "template_body": schema.StringAttribute{ /*START ATTRIBUTE*/ - CustomType: jsontypes.NormalizedType{}, - Optional: true, - Computed: true, + Optional: true, + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ diff --git a/internal/aws/databrew/dataset_resource_gen.go b/internal/aws/databrew/dataset_resource_gen.go index af54712955..86c6f3a67b 100644 --- a/internal/aws/databrew/dataset_resource_gen.go +++ b/internal/aws/databrew/dataset_resource_gen.go @@ -1224,7 +1224,6 @@ func datasetResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), listplanmodifier.UseStateForUnknown(), - listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/databrew/job_resource_gen.go b/internal/aws/databrew/job_resource_gen.go index a8327cf86c..c432bf9d45 100644 --- a/internal/aws/databrew/job_resource_gen.go +++ b/internal/aws/databrew/job_resource_gen.go @@ -1626,7 +1626,6 @@ func jobResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), listplanmodifier.UseStateForUnknown(), - listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Timeout diff --git a/internal/aws/databrew/project_resource_gen.go b/internal/aws/databrew/project_resource_gen.go index e0f5b6130d..9a0365deba 100644 --- a/internal/aws/databrew/project_resource_gen.go +++ b/internal/aws/databrew/project_resource_gen.go @@ -222,7 +222,6 @@ func projectResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), listplanmodifier.UseStateForUnknown(), - listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/databrew/ruleset_resource_gen.go b/internal/aws/databrew/ruleset_resource_gen.go index 893823d0ba..95861c2e29 100644 --- a/internal/aws/databrew/ruleset_resource_gen.go +++ b/internal/aws/databrew/ruleset_resource_gen.go @@ -423,7 +423,6 @@ func rulesetResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), listplanmodifier.UseStateForUnknown(), - listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: TargetArn diff --git a/internal/aws/databrew/schedule_resource_gen.go b/internal/aws/databrew/schedule_resource_gen.go index 36fcd611df..d741b72611 100644 --- a/internal/aws/databrew/schedule_resource_gen.go +++ b/internal/aws/databrew/schedule_resource_gen.go @@ -156,7 +156,6 @@ func scheduleResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), listplanmodifier.UseStateForUnknown(), - listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/ecs/service_resource_gen.go b/internal/aws/ecs/service_resource_gen.go index bbf215c415..a033561094 100644 --- a/internal/aws/ecs/service_resource_gen.go +++ b/internal/aws/ecs/service_resource_gen.go @@ -555,7 +555,7 @@ func serviceResource(ctx context.Context) (resource.Resource, error) { // "description": "The VPC subnets and security groups that are associated with a task.\n All specified subnets and security groups must be from the same VPC.", // "properties": { // "AssignPublicIp": { - // "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. \n + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``.", + // "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``.", // "enum": [ // "DISABLED", // "ENABLED" @@ -589,7 +589,7 @@ func serviceResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: AssignPublicIp "assign_public_ip": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. \n + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``.", + Description: "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ diff --git a/internal/aws/eks/cluster_resource_gen.go b/internal/aws/eks/cluster_resource_gen.go index 52efac4f82..4ca67fe598 100644 --- a/internal/aws/eks/cluster_resource_gen.go +++ b/internal/aws/eks/cluster_resource_gen.go @@ -12,6 +12,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" @@ -322,6 +323,24 @@ func clusterResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: Force + // CloudFormation resource type schema: + // + // { + // "default": false, + // "description": "Force cluster version update", + // "type": "boolean" + // } + "force": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Description: "Force cluster version update", + Optional: true, + Computed: true, + Default: booldefault.StaticBool(false), + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + // Force is a write-only property. + }, /*END ATTRIBUTE*/ // Property: Id // CloudFormation resource type schema: // @@ -1170,6 +1189,7 @@ func clusterResource(ctx context.Context) (resource.Resource, error) { "endpoint": "Endpoint", "endpoint_private_access": "EndpointPrivateAccess", "endpoint_public_access": "EndpointPublicAccess", + "force": "Force", "group_name": "GroupName", "ip_family": "IpFamily", "key": "Key", @@ -1207,6 +1227,7 @@ func clusterResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/BootstrapSelfManagedAddons", + "/properties/Force", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/guardduty/publishing_destination_resource_gen.go b/internal/aws/guardduty/publishing_destination_resource_gen.go index bf007f194d..3a1718904a 100644 --- a/internal/aws/guardduty/publishing_destination_resource_gen.go +++ b/internal/aws/guardduty/publishing_destination_resource_gen.go @@ -215,7 +215,7 @@ func publishingDestinationResource(ctx context.Context) (resource.Resource, erro } schema := schema.Schema{ - Description: "Resource Type definition for AWS::GuardDuty::PublishingDestination", + Description: "Resource Type definition for AWS::GuardDuty::PublishingDestination.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/iot/job_template_resource_gen.go b/internal/aws/iot/job_template_resource_gen.go index 4d52ee3f66..9c9414b5a2 100644 --- a/internal/aws/iot/job_template_resource_gen.go +++ b/internal/aws/iot/job_template_resource_gen.go @@ -758,7 +758,6 @@ func jobTemplateResource(ctx context.Context) (resource.Resource, error) { setplanmodifier.UseStateForUnknown(), setplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ - // Tags is a write-only property. }, /*END ATTRIBUTE*/ // Property: TimeoutConfig // CloudFormation resource type schema: @@ -816,7 +815,7 @@ func jobTemplateResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.", + Description: "Resource Type definition for AWS::IoT::JobTemplate. Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.", Version: 1, Attributes: attributes, } @@ -865,7 +864,6 @@ func jobTemplateResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/JobArn", - "/properties/Tags", "/properties/Document", "/properties/DocumentSource", "/properties/TimeoutConfig", diff --git a/internal/aws/iotsitewise/dataset_resource_gen.go b/internal/aws/iotsitewise/dataset_resource_gen.go new file mode 100644 index 0000000000..2b9ee35a65 --- /dev/null +++ b/internal/aws/iotsitewise/dataset_resource_gen.go @@ -0,0 +1,323 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/resource/main.go; DO NOT EDIT. + +package iotsitewise + +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/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" + fwvalidators "github.com/hashicorp/terraform-provider-awscc/internal/validators" +) + +func init() { + registry.AddResourceFactory("awscc_iotsitewise_dataset", datasetResource) +} + +// datasetResource returns the Terraform awscc_iotsitewise_dataset resource. +// This Terraform resource corresponds to the CloudFormation AWS::IoTSiteWise::Dataset resource. +func datasetResource(ctx context.Context) (resource.Resource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DatasetArn + // CloudFormation resource type schema: + // + // { + // "description": "The ARN of the dataset.", + // "type": "string" + // } + "dataset_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ARN of the dataset.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DatasetDescription + // CloudFormation resource type schema: + // + // { + // "description": "A description about the dataset, and its functionality.", + // "type": "string" + // } + "dataset_description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A description about the dataset, and its functionality.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DatasetId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the dataset.", + // "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" + // } + "dataset_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the dataset.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DatasetName + // CloudFormation resource type schema: + // + // { + // "description": "The name of the dataset.", + // "type": "string" + // } + "dataset_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the dataset.", + Required: true, + }, /*END ATTRIBUTE*/ + // Property: DatasetSource + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "The data source for the dataset.", + // "properties": { + // "SourceDetail": { + // "additionalProperties": false, + // "description": "The details of the dataset source associated with the dataset.", + // "properties": { + // "Kendra": { + // "additionalProperties": false, + // "description": "Contains details about the Kendra dataset source.", + // "properties": { + // "KnowledgeBaseArn": { + // "description": "The knowledgeBaseArn details for the Kendra dataset source.", + // "type": "string" + // }, + // "RoleArn": { + // "description": "The roleARN details for the Kendra dataset source.", + // "type": "string" + // } + // }, + // "required": [ + // "KnowledgeBaseArn", + // "RoleArn" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SourceFormat": { + // "description": "The format of the dataset source associated with the dataset.", + // "enum": [ + // "KNOWLEDGE_BASE" + // ], + // "type": "string" + // }, + // "SourceType": { + // "description": "The type of data source for the dataset.", + // "enum": [ + // "KENDRA" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "SourceFormat", + // "SourceType" + // ], + // "type": "object" + // } + "dataset_source": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: SourceDetail + "source_detail": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Kendra + "kendra": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: KnowledgeBaseArn + "knowledge_base_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The knowledgeBaseArn details for the Kendra dataset source.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RoleArn + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The roleARN details for the Kendra dataset source.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contains details about the Kendra dataset source.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The details of the dataset source associated with the dataset.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SourceFormat + "source_format": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The format of the dataset source associated with the dataset.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "KNOWLEDGE_BASE", + ), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: SourceType + "source_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The type of data source for the dataset.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "KENDRA", + ), + }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The data source for the dataset.", + Required: true, + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "An array of key-value pairs to apply to this resource.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "type": "string" + // }, + // "Value": { + // "type": "string" + // } + // }, + // "required": [ + // "Value", + // "Key" + // ], + // "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*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Value + "value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "An array of key-value pairs to apply to this resource.", + 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: "Resource schema for AWS::IoTSiteWise::Dataset.", + Version: 1, + Attributes: attributes, + } + + var opts generic.ResourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::IoTSiteWise::Dataset").WithTerraformTypeName("awscc_iotsitewise_dataset") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "dataset_arn": "DatasetArn", + "dataset_description": "DatasetDescription", + "dataset_id": "DatasetId", + "dataset_name": "DatasetName", + "dataset_source": "DatasetSource", + "kendra": "Kendra", + "key": "Key", + "knowledge_base_arn": "KnowledgeBaseArn", + "role_arn": "RoleArn", + "source_detail": "SourceDetail", + "source_format": "SourceFormat", + "source_type": "SourceType", + "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/iotsitewise/dataset_resource_gen_test.go b/internal/aws/iotsitewise/dataset_resource_gen_test.go new file mode 100644 index 0000000000..a23c6210d2 --- /dev/null +++ b/internal/aws/iotsitewise/dataset_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 iotsitewise_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSIoTSiteWiseDataset_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::IoTSiteWise::Dataset", "awscc_iotsitewise_dataset", "test") + + td.ResourceTest(t, []resource.TestStep{ + { + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} diff --git a/internal/aws/mediaconnect/flow_output_resource_gen.go b/internal/aws/mediaconnect/flow_output_resource_gen.go index ab24652a9d..962a06c316 100644 --- a/internal/aws/mediaconnect/flow_output_resource_gen.go +++ b/internal/aws/mediaconnect/flow_output_resource_gen.go @@ -480,6 +480,36 @@ func flowOutputResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: NdiProgramName + // CloudFormation resource type schema: + // + // { + // "description": "A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.", + // "type": "string" + // } + "ndi_program_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: NdiSpeedHqQuality + // CloudFormation resource type schema: + // + // { + // "description": "A quality setting for the NDI Speed HQ encoder.", + // "type": "integer" + // } + "ndi_speed_hq_quality": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "A quality setting for the NDI Speed HQ encoder.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: OutputArn // CloudFormation resource type schema: // @@ -549,7 +579,8 @@ func flowOutputResource(ctx context.Context) (resource.Resource, error) { // "srt-listener", // "srt-caller", // "st2110-jpegxs", - // "cdi" + // "cdi", + // "ndi-speed-hq" // ], // "type": "string" // } @@ -568,6 +599,7 @@ func flowOutputResource(ctx context.Context) (resource.Resource, error) { "srt-caller", "st2110-jpegxs", "cdi", + "ndi-speed-hq", ), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ @@ -691,6 +723,8 @@ func flowOutputResource(ctx context.Context) (resource.Resource, error) { "media_stream_output_configurations": "MediaStreamOutputConfigurations", "min_latency": "MinLatency", "name": "Name", + "ndi_program_name": "NdiProgramName", + "ndi_speed_hq_quality": "NdiSpeedHqQuality", "output_arn": "OutputArn", "output_status": "OutputStatus", "port": "Port", diff --git a/internal/aws/networkfirewall/firewall_resource_gen.go b/internal/aws/networkfirewall/firewall_resource_gen.go index 202aacc93f..f76584b573 100644 --- a/internal/aws/networkfirewall/firewall_resource_gen.go +++ b/internal/aws/networkfirewall/firewall_resource_gen.go @@ -9,6 +9,7 @@ import ( "context" "regexp" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/setvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" @@ -65,6 +66,40 @@ func firewallResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: EnabledAnalysisTypes + // CloudFormation resource type schema: + // + // { + // "description": "The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both.", + // "insertionOrder": false, + // "items": { + // "description": "An analysis type.", + // "enum": [ + // "TLS_SNI", + // "HTTP_HOST" + // ], + // "type": "string" + // }, + // "type": "array" + // } + "enabled_analysis_types": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.ValueStringsAre( + stringvalidator.OneOf( + "TLS_SNI", + "HTTP_HOST", + ), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: EndpointIds // CloudFormation resource type schema: // @@ -335,6 +370,7 @@ func firewallResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithAttributeNameMap(map[string]string{ "delete_protection": "DeleteProtection", "description": "Description", + "enabled_analysis_types": "EnabledAnalysisTypes", "endpoint_ids": "EndpointIds", "firewall_arn": "FirewallArn", "firewall_id": "FirewallId", diff --git a/internal/aws/omics/sequence_store_resource_gen.go b/internal/aws/omics/sequence_store_resource_gen.go index eda22bddfa..ec77d23f9c 100644 --- a/internal/aws/omics/sequence_store_resource_gen.go +++ b/internal/aws/omics/sequence_store_resource_gen.go @@ -9,10 +9,13 @@ import ( "context" "regexp" + "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/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/mapplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" @@ -32,6 +35,25 @@ func init() { // This Terraform resource corresponds to the CloudFormation AWS::Omics::SequenceStore resource. func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessLogLocation + // CloudFormation resource type schema: + // + // { + // "description": "Location of the access logs.", + // "pattern": "^$|^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/?((.{1,800})/)?$", + // "type": "string" + // } + "access_log_location": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Location of the access logs.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^$|^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/?((.{1,800})/)?$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Arn // CloudFormation resource type schema: // @@ -83,6 +105,31 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { stringvalidator.LengthBetween(1, 255), stringvalidator.RegexMatches(regexp.MustCompile("^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$"), ""), }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ETagAlgorithmFamily + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "MD5up", + // "SHA256up", + // "SHA512up" + // ], + // "type": "string" + // } + "e_tag_algorithm_family": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "MD5up", + "SHA256up", + "SHA512up", + ), + }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), stringplanmodifier.RequiresReplaceIfConfigured(), @@ -92,21 +139,20 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "An S3 URI representing the bucket and folder to store failed read set uploads.", - // "minLength": 1, + // "description": "An S3 location that is used to store files that have failed a direct upload.", + // "minLength": 0, // "pattern": "", // "type": "string" // } "fallback_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "An S3 URI representing the bucket and folder to store failed read set uploads.", + Description: "An S3 location that is used to store files that have failed a direct upload.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ - stringvalidator.LengthAtLeast(1), + stringvalidator.LengthAtLeast(0), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Name @@ -126,8 +172,82 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { stringvalidator.LengthBetween(1, 127), stringvalidator.RegexMatches(regexp.MustCompile("^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$"), ""), }, /*END VALIDATORS*/ + }, /*END ATTRIBUTE*/ + // Property: PropagatedSetLevelTags + // CloudFormation resource type schema: + // + // { + // "description": "The tags keys to propagate to the S3 objects associated with read sets in the sequence store.", + // "items": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 0, + // "type": "array" + // } + "propagated_set_level_tags": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The tags keys to propagate to the S3 objects associated with read sets in the sequence store.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 50), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(1, 128), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: S3AccessPointArn + // CloudFormation resource type schema: + // + // { + // "description": "This is ARN of the access point associated with the S3 bucket storing read sets.", + // "maxLength": 1024, + // "minLength": 1, + // "pattern": "^arn:[^:]*:s3:[^:]*:[^:]*:accesspoint/.*$", + // "type": "string" + // } + "s3_access_point_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "This is ARN of the access point associated with the S3 bucket storing read sets.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: S3AccessPolicy + // CloudFormation resource type schema: + // + // { + // "description": "The resource policy that controls S3 access on the store", + // "type": "object" + // } + "s3_access_policy": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: jsontypes.NormalizedType{}, + Description: "The resource policy that controls S3 access on the store", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.RequiresReplace(), + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: S3Uri + // CloudFormation resource type schema: + // + // { + // "description": "The S3 URI of the sequence store.", + // "pattern": "", + // "type": "string" + // } + "s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The S3 URI of the sequence store.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: SequenceStoreId @@ -209,6 +329,42 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: Status + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "CREATING", + // "ACTIVE", + // "UPDATING", + // "DELETING", + // "FAILED" + // ], + // "type": "string" + // } + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StatusMessage + // CloudFormation resource type schema: + // + // { + // "description": "The status message of the sequence store.", + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$", + // "type": "string" + // } + "status_message": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The status message of the sequence store.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // @@ -230,7 +386,22 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { Computed: true, PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ mapplanmodifier.UseStateForUnknown(), - mapplanmodifier.RequiresReplaceIfConfigured(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UpdateTime + // CloudFormation resource type schema: + // + // { + // "description": "The last-updated time of the sequence store.", + // "format": "date-time", + // "type": "string" + // } + "update_time": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: timetypes.RFC3339Type{}, + Description: "The last-updated time of the sequence store.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -245,7 +416,7 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Definition of AWS::Omics::SequenceStore Resource Type", + Description: "Resource Type definition for AWS::Omics::SequenceStore", Version: 1, Attributes: attributes, } @@ -255,16 +426,25 @@ func sequenceStoreResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::Omics::SequenceStore").WithTerraformTypeName("awscc_omics_sequence_store") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "arn": "Arn", - "creation_time": "CreationTime", - "description": "Description", - "fallback_location": "FallbackLocation", - "key_arn": "KeyArn", - "name": "Name", - "sequence_store_id": "SequenceStoreId", - "sse_config": "SseConfig", - "tags": "Tags", - "type": "Type", + "access_log_location": "AccessLogLocation", + "arn": "Arn", + "creation_time": "CreationTime", + "description": "Description", + "e_tag_algorithm_family": "ETagAlgorithmFamily", + "fallback_location": "FallbackLocation", + "key_arn": "KeyArn", + "name": "Name", + "propagated_set_level_tags": "PropagatedSetLevelTags", + "s3_access_point_arn": "S3AccessPointArn", + "s3_access_policy": "S3AccessPolicy", + "s3_uri": "S3Uri", + "sequence_store_id": "SequenceStoreId", + "sse_config": "SseConfig", + "status": "Status", + "status_message": "StatusMessage", + "tags": "Tags", + "type": "Type", + "update_time": "UpdateTime", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/paymentcryptography/key_resource_gen.go b/internal/aws/paymentcryptography/key_resource_gen.go index 72b9fe0a7d..c1df276d76 100644 --- a/internal/aws/paymentcryptography/key_resource_gen.go +++ b/internal/aws/paymentcryptography/key_resource_gen.go @@ -66,6 +66,10 @@ func keyResource(ctx context.Context) (resource.Resource, error) { // "AES_128", // "AES_192", // "AES_256", + // "HMAC_SHA256", + // "HMAC_SHA384", + // "HMAC_SHA512", + // "HMAC_SHA224", // "RSA_2048", // "RSA_3072", // "RSA_4096", @@ -175,6 +179,10 @@ func keyResource(ctx context.Context) (resource.Resource, error) { "AES_128", "AES_192", "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", diff --git a/internal/aws/rds/db_cluster_resource_gen.go b/internal/aws/rds/db_cluster_resource_gen.go index 5b97e0f8b5..e2ba2a32bb 100644 --- a/internal/aws/rds/db_cluster_resource_gen.go +++ b/internal/aws/rds/db_cluster_resource_gen.go @@ -842,11 +842,11 @@ func dBClusterResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + // "description": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", // "type": "integer" // } "performance_insights_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + Description: "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ @@ -934,13 +934,9 @@ func dBClusterResource(ctx context.Context) (resource.Resource, error) { "address": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The host address of the reader endpoint.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.", - Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), diff --git a/internal/aws/rds/db_instance_resource_gen.go b/internal/aws/rds/db_instance_resource_gen.go index ce287bd722..50e7eb9d21 100644 --- a/internal/aws/rds/db_instance_resource_gen.go +++ b/internal/aws/rds/db_instance_resource_gen.go @@ -195,6 +195,26 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: AutomaticBackupReplicationRetentionPeriod + // CloudFormation resource type schema: + // + // { + // "description": "", + // "maximum": 35, + // "minimum": 1, + // "type": "integer" + // } + "automatic_backup_replication_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "", + Optional: true, + Computed: true, + Validators: []validator.Int64{ /*START VALIDATORS*/ + int64validator.Between(1, 35), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: AvailabilityZone // CloudFormation resource type schema: // @@ -215,6 +235,7 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { // // { // "description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas", + // "maximum": 35, // "minimum": 0, // "type": "integer" // } @@ -223,7 +244,7 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { Optional: true, Computed: true, Validators: []validator.Int64{ /*START VALIDATORS*/ - int64validator.AtLeast(0), + int64validator.Between(0, 35), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), @@ -269,22 +290,15 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { "ca_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "The CA identifier of the CA certificate used for the DB instance's server certificate.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: ValidTill "valid_till": schema.StringAttribute{ /*START ATTRIBUTE*/ CustomType: timetypes.RFC3339Type{}, Description: "The expiration date of the DB instance?s server certificate.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The details of the DB instance's server certificate.", - Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), @@ -783,29 +797,19 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { "address": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "Specifies the DNS address of the DB instance.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: HostedZoneId "hosted_zone_id": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Port "port": schema.StringAttribute{ /*START ATTRIBUTE*/ Description: "Specifies the port that the database engine is listening on.", Computed: true, - PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ - stringplanmodifier.UseStateForUnknown(), - }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "The connection endpoint for the DB instance.\n The endpoint might not be shown for instances with the status of ``creating``.", - Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), @@ -1126,11 +1130,11 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { - // "description": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", + // "description": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", // "type": "integer" // } "performance_insights_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", + Description: "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ @@ -1634,99 +1638,100 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::RDS::DBInstance").WithTerraformTypeName("awscc_rds_db_instance") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "address": "Address", - "allocated_storage": "AllocatedStorage", - "allow_major_version_upgrade": "AllowMajorVersionUpgrade", - "apply_immediately": "ApplyImmediately", - "associated_roles": "AssociatedRoles", - "auto_minor_version_upgrade": "AutoMinorVersionUpgrade", - "automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId", - "automatic_backup_replication_region": "AutomaticBackupReplicationRegion", - "availability_zone": "AvailabilityZone", - "backup_retention_period": "BackupRetentionPeriod", - "ca_certificate_identifier": "CACertificateIdentifier", - "ca_identifier": "CAIdentifier", - "certificate_details": "CertificateDetails", - "certificate_rotation_restart": "CertificateRotationRestart", - "character_set_name": "CharacterSetName", - "copy_tags_to_snapshot": "CopyTagsToSnapshot", - "custom_iam_instance_profile": "CustomIAMInstanceProfile", - "database_insights_mode": "DatabaseInsightsMode", - "db_cluster_identifier": "DBClusterIdentifier", - "db_cluster_snapshot_identifier": "DBClusterSnapshotIdentifier", - "db_instance_arn": "DBInstanceArn", - "db_instance_class": "DBInstanceClass", - "db_instance_identifier": "DBInstanceIdentifier", - "db_name": "DBName", - "db_parameter_group_name": "DBParameterGroupName", - "db_security_groups": "DBSecurityGroups", - "db_snapshot_identifier": "DBSnapshotIdentifier", - "db_subnet_group_name": "DBSubnetGroupName", - "db_system_id": "DBSystemId", - "dbi_resource_id": "DbiResourceId", - "dedicated_log_volume": "DedicatedLogVolume", - "delete_automated_backups": "DeleteAutomatedBackups", - "deletion_protection": "DeletionProtection", - "domain": "Domain", - "domain_auth_secret_arn": "DomainAuthSecretArn", - "domain_dns_ips": "DomainDnsIps", - "domain_fqdn": "DomainFqdn", - "domain_iam_role_name": "DomainIAMRoleName", - "domain_ou": "DomainOu", - "enable_cloudwatch_logs_exports": "EnableCloudwatchLogsExports", - "enable_iam_database_authentication": "EnableIAMDatabaseAuthentication", - "enable_performance_insights": "EnablePerformanceInsights", - "endpoint": "Endpoint", - "engine": "Engine", - "engine_lifecycle_support": "EngineLifecycleSupport", - "engine_version": "EngineVersion", - "feature_name": "FeatureName", - "hosted_zone_id": "HostedZoneId", - "iops": "Iops", - "key": "Key", - "kms_key_id": "KmsKeyId", - "license_model": "LicenseModel", - "manage_master_user_password": "ManageMasterUserPassword", - "master_user_password": "MasterUserPassword", - "master_user_secret": "MasterUserSecret", - "master_username": "MasterUsername", - "max_allocated_storage": "MaxAllocatedStorage", - "monitoring_interval": "MonitoringInterval", - "monitoring_role_arn": "MonitoringRoleArn", - "multi_az": "MultiAZ", - "name": "Name", - "nchar_character_set_name": "NcharCharacterSetName", - "network_type": "NetworkType", - "option_group_name": "OptionGroupName", - "performance_insights_kms_key_id": "PerformanceInsightsKMSKeyId", - "performance_insights_retention_period": "PerformanceInsightsRetentionPeriod", - "port": "Port", - "preferred_backup_window": "PreferredBackupWindow", - "preferred_maintenance_window": "PreferredMaintenanceWindow", - "processor_features": "ProcessorFeatures", - "promotion_tier": "PromotionTier", - "publicly_accessible": "PubliclyAccessible", - "replica_mode": "ReplicaMode", - "restore_time": "RestoreTime", - "role_arn": "RoleArn", - "secret_arn": "SecretArn", - "source_db_cluster_identifier": "SourceDBClusterIdentifier", - "source_db_instance_automated_backups_arn": "SourceDBInstanceAutomatedBackupsArn", - "source_db_instance_identifier": "SourceDBInstanceIdentifier", - "source_dbi_resource_id": "SourceDbiResourceId", - "source_region": "SourceRegion", - "storage_encrypted": "StorageEncrypted", - "storage_throughput": "StorageThroughput", - "storage_type": "StorageType", - "tags": "Tags", - "tde_credential_arn": "TdeCredentialArn", - "tde_credential_password": "TdeCredentialPassword", - "timezone": "Timezone", - "use_default_processor_features": "UseDefaultProcessorFeatures", - "use_latest_restorable_time": "UseLatestRestorableTime", - "valid_till": "ValidTill", - "value": "Value", - "vpc_security_groups": "VPCSecurityGroups", + "address": "Address", + "allocated_storage": "AllocatedStorage", + "allow_major_version_upgrade": "AllowMajorVersionUpgrade", + "apply_immediately": "ApplyImmediately", + "associated_roles": "AssociatedRoles", + "auto_minor_version_upgrade": "AutoMinorVersionUpgrade", + "automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId", + "automatic_backup_replication_region": "AutomaticBackupReplicationRegion", + "automatic_backup_replication_retention_period": "AutomaticBackupReplicationRetentionPeriod", + "availability_zone": "AvailabilityZone", + "backup_retention_period": "BackupRetentionPeriod", + "ca_certificate_identifier": "CACertificateIdentifier", + "ca_identifier": "CAIdentifier", + "certificate_details": "CertificateDetails", + "certificate_rotation_restart": "CertificateRotationRestart", + "character_set_name": "CharacterSetName", + "copy_tags_to_snapshot": "CopyTagsToSnapshot", + "custom_iam_instance_profile": "CustomIAMInstanceProfile", + "database_insights_mode": "DatabaseInsightsMode", + "db_cluster_identifier": "DBClusterIdentifier", + "db_cluster_snapshot_identifier": "DBClusterSnapshotIdentifier", + "db_instance_arn": "DBInstanceArn", + "db_instance_class": "DBInstanceClass", + "db_instance_identifier": "DBInstanceIdentifier", + "db_name": "DBName", + "db_parameter_group_name": "DBParameterGroupName", + "db_security_groups": "DBSecurityGroups", + "db_snapshot_identifier": "DBSnapshotIdentifier", + "db_subnet_group_name": "DBSubnetGroupName", + "db_system_id": "DBSystemId", + "dbi_resource_id": "DbiResourceId", + "dedicated_log_volume": "DedicatedLogVolume", + "delete_automated_backups": "DeleteAutomatedBackups", + "deletion_protection": "DeletionProtection", + "domain": "Domain", + "domain_auth_secret_arn": "DomainAuthSecretArn", + "domain_dns_ips": "DomainDnsIps", + "domain_fqdn": "DomainFqdn", + "domain_iam_role_name": "DomainIAMRoleName", + "domain_ou": "DomainOu", + "enable_cloudwatch_logs_exports": "EnableCloudwatchLogsExports", + "enable_iam_database_authentication": "EnableIAMDatabaseAuthentication", + "enable_performance_insights": "EnablePerformanceInsights", + "endpoint": "Endpoint", + "engine": "Engine", + "engine_lifecycle_support": "EngineLifecycleSupport", + "engine_version": "EngineVersion", + "feature_name": "FeatureName", + "hosted_zone_id": "HostedZoneId", + "iops": "Iops", + "key": "Key", + "kms_key_id": "KmsKeyId", + "license_model": "LicenseModel", + "manage_master_user_password": "ManageMasterUserPassword", + "master_user_password": "MasterUserPassword", + "master_user_secret": "MasterUserSecret", + "master_username": "MasterUsername", + "max_allocated_storage": "MaxAllocatedStorage", + "monitoring_interval": "MonitoringInterval", + "monitoring_role_arn": "MonitoringRoleArn", + "multi_az": "MultiAZ", + "name": "Name", + "nchar_character_set_name": "NcharCharacterSetName", + "network_type": "NetworkType", + "option_group_name": "OptionGroupName", + "performance_insights_kms_key_id": "PerformanceInsightsKMSKeyId", + "performance_insights_retention_period": "PerformanceInsightsRetentionPeriod", + "port": "Port", + "preferred_backup_window": "PreferredBackupWindow", + "preferred_maintenance_window": "PreferredMaintenanceWindow", + "processor_features": "ProcessorFeatures", + "promotion_tier": "PromotionTier", + "publicly_accessible": "PubliclyAccessible", + "replica_mode": "ReplicaMode", + "restore_time": "RestoreTime", + "role_arn": "RoleArn", + "secret_arn": "SecretArn", + "source_db_cluster_identifier": "SourceDBClusterIdentifier", + "source_db_instance_automated_backups_arn": "SourceDBInstanceAutomatedBackupsArn", + "source_db_instance_identifier": "SourceDBInstanceIdentifier", + "source_dbi_resource_id": "SourceDbiResourceId", + "source_region": "SourceRegion", + "storage_encrypted": "StorageEncrypted", + "storage_throughput": "StorageThroughput", + "storage_type": "StorageType", + "tags": "Tags", + "tde_credential_arn": "TdeCredentialArn", + "tde_credential_password": "TdeCredentialPassword", + "timezone": "Timezone", + "use_default_processor_features": "UseDefaultProcessorFeatures", + "use_latest_restorable_time": "UseLatestRestorableTime", + "valid_till": "ValidTill", + "value": "Value", + "vpc_security_groups": "VPCSecurityGroups", }) opts = opts.WithWriteOnlyPropertyPaths([]string{ diff --git a/internal/aws/redshiftserverless/workgroup_resource_gen.go b/internal/aws/redshiftserverless/workgroup_resource_gen.go index 1866047957..a36eb4b631 100644 --- a/internal/aws/redshiftserverless/workgroup_resource_gen.go +++ b/internal/aws/redshiftserverless/workgroup_resource_gen.go @@ -52,7 +52,6 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ - // BaseCapacity is a write-only property. }, /*END ATTRIBUTE*/ // Property: ConfigParameters // CloudFormation resource type schema: @@ -149,7 +148,6 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ - // MaxCapacity is a write-only property. }, /*END ATTRIBUTE*/ // Property: NamespaceName // CloudFormation resource type schema: @@ -939,8 +937,6 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { }) opts = opts.WithWriteOnlyPropertyPaths([]string{ - "/properties/BaseCapacity", - "/properties/MaxCapacity", "/properties/ConfigParameters", "/properties/SecurityGroupIds", "/properties/SubnetIds", diff --git a/internal/aws/route53recoverycontrol/cluster_resource_gen.go b/internal/aws/route53recoverycontrol/cluster_resource_gen.go index 6e982a15b0..b5e81b462f 100644 --- a/internal/aws/route53recoverycontrol/cluster_resource_gen.go +++ b/internal/aws/route53recoverycontrol/cluster_resource_gen.go @@ -108,6 +108,31 @@ func clusterResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: NetworkType + // CloudFormation resource type schema: + // + // { + // "description": "Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK.", + // "enum": [ + // "IPV4", + // "DUALSTACK" + // ], + // "type": "string" + // } + "network_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "IPV4", + "DUALSTACK", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Status // CloudFormation resource type schema: // @@ -219,6 +244,7 @@ func clusterResource(ctx context.Context) (resource.Resource, error) { "endpoint": "Endpoint", "key": "Key", "name": "Name", + "network_type": "NetworkType", "region": "Region", "status": "Status", "tags": "Tags", diff --git a/internal/aws/rum/app_monitor_resource_gen.go b/internal/aws/rum/app_monitor_resource_gen.go index 81909f9486..436f5bd451 100644 --- a/internal/aws/rum/app_monitor_resource_gen.go +++ b/internal/aws/rum/app_monitor_resource_gen.go @@ -672,7 +672,6 @@ func appMonitorResource(ctx context.Context) (resource.Resource, error) { // { // "description": "The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", // "items": { - // "description": "The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", // "maxLength": 253, // "minLength": 1, // "pattern": "", diff --git a/internal/aws/systemsmanagersap/application_resource_gen.go b/internal/aws/systemsmanagersap/application_resource_gen.go index 602805cbe2..c615e5c8f3 100644 --- a/internal/aws/systemsmanagersap/application_resource_gen.go +++ b/internal/aws/systemsmanagersap/application_resource_gen.go @@ -78,6 +78,100 @@ func applicationResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ComponentsInfo + // CloudFormation resource type schema: + // + // { + // "description": "This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher.", + // "insertionOrder": true, + // "items": { + // "properties": { + // "ComponentType": { + // "enum": [ + // "HANA", + // "HANA_NODE", + // "ABAP", + // "ASCS", + // "DIALOG", + // "WEBDISP", + // "WD", + // "ERS" + // ], + // "type": "string" + // }, + // "Ec2InstanceId": { + // "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$", + // "type": "string" + // }, + // "Sid": { + // "pattern": "[A-Z][A-Z0-9]{2}", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "minItems": 1, + // "type": "array" + // } + "components_info": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ComponentType + "component_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "HANA", + "HANA_NODE", + "ABAP", + "ASCS", + "DIALOG", + "WEBDISP", + "WD", + "ERS", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Ec2InstanceId + "ec_2_instance_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Sid + "sid": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("[A-Z][A-Z0-9]{2}"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeAtLeast(1), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + listplanmodifier.RequiresReplaceIfConfigured(), + }, /*END PLAN MODIFIERS*/ + // ComponentsInfo is a write-only property. + }, /*END ATTRIBUTE*/ // Property: Credentials // CloudFormation resource type schema: // @@ -332,10 +426,13 @@ func applicationResource(ctx context.Context) (resource.Resource, error) { "application_id": "ApplicationId", "application_type": "ApplicationType", "arn": "Arn", + "component_type": "ComponentType", + "components_info": "ComponentsInfo", "credential_type": "CredentialType", "credentials": "Credentials", "database_arn": "DatabaseArn", "database_name": "DatabaseName", + "ec_2_instance_id": "Ec2InstanceId", "instances": "Instances", "key": "Key", "sap_instance_number": "SapInstanceNumber", @@ -351,6 +448,7 @@ func applicationResource(ctx context.Context) (resource.Resource, error) { "/properties/SapInstanceNumber", "/properties/Sid", "/properties/DatabaseArn", + "/properties/ComponentsInfo", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) From 725e05a2e70877d17f84cea299b2f8398e967273 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 27 Mar 2025 15:51:10 -0400 Subject: [PATCH 4/5] 2025/03/27 CloudFormation schemas in us-east-1; Generate Terraform data source schemas. --- .../amplify/app_singular_data_source_gen.go | 13 + .../branch_singular_data_source_gen.go | 23 ++ ...nt_integration_singular_data_source_gen.go | 2 +- .../stack_singular_data_source_gen.go | 5 +- .../ecs/service_singular_data_source_gen.go | 4 +- .../eks/cluster_singular_data_source_gen.go | 13 + .../dataset_plural_data_source_gen.go | 54 ++++ .../dataset_plural_data_source_gen_test.go | 27 ++ .../dataset_singular_data_source_gen.go | 247 ++++++++++++++++++ .../dataset_singular_data_source_gen_test.go | 36 +++ .../flow_output_singular_data_source_gen.go | 27 +- .../firewall_singular_data_source_gen.go | 22 ++ ...sequence_store_singular_data_source_gen.go | 162 +++++++++++- .../key_singular_data_source_gen.go | 4 + .../db_cluster_singular_data_source_gen.go | 4 +- .../db_instance_singular_data_source_gen.go | 205 ++++++++------- .../cluster_singular_data_source_gen.go | 16 ++ .../app_monitor_singular_data_source_gen.go | 1 - .../application_singular_data_source_gen.go | 58 ++++ 19 files changed, 805 insertions(+), 118 deletions(-) create mode 100644 internal/aws/iotsitewise/dataset_plural_data_source_gen.go create mode 100644 internal/aws/iotsitewise/dataset_plural_data_source_gen_test.go create mode 100644 internal/aws/iotsitewise/dataset_singular_data_source_gen.go create mode 100644 internal/aws/iotsitewise/dataset_singular_data_source_gen_test.go diff --git a/internal/aws/amplify/app_singular_data_source_gen.go b/internal/aws/amplify/app_singular_data_source_gen.go index e263e8b541..6859f9510f 100644 --- a/internal/aws/amplify/app_singular_data_source_gen.go +++ b/internal/aws/amplify/app_singular_data_source_gen.go @@ -319,6 +319,18 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) { }, /*END SCHEMA*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: ComputeRoleArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 1000, + // "minLength": 0, + // "pattern": "(?s).*", + // "type": "string" + // } + "compute_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: CustomHeaders // CloudFormation resource type schema: // @@ -597,6 +609,7 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) { "basic_auth_config": "BasicAuthConfig", "build_spec": "BuildSpec", "cache_config": "CacheConfig", + "compute_role_arn": "ComputeRoleArn", "condition": "Condition", "custom_headers": "CustomHeaders", "custom_rules": "CustomRules", diff --git a/internal/aws/amplify/branch_singular_data_source_gen.go b/internal/aws/amplify/branch_singular_data_source_gen.go index d342cf735d..a1d7e9ed50 100644 --- a/internal/aws/amplify/branch_singular_data_source_gen.go +++ b/internal/aws/amplify/branch_singular_data_source_gen.go @@ -135,6 +135,18 @@ func branchDataSource(ctx context.Context) (datasource.DataSource, error) { "build_spec": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: ComputeRoleArn + // CloudFormation resource type schema: + // + // { + // "maxLength": 1000, + // "minLength": 0, + // "pattern": "(?s).*", + // "type": "string" + // } + "compute_role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Description // CloudFormation resource type schema: // @@ -173,6 +185,15 @@ func branchDataSource(ctx context.Context) (datasource.DataSource, error) { "enable_pull_request_preview": schema.BoolAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: EnableSkewProtection + // CloudFormation resource type schema: + // + // { + // "type": "boolean" + // } + "enable_skew_protection": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: EnvironmentVariables // CloudFormation resource type schema: // @@ -321,11 +342,13 @@ func branchDataSource(ctx context.Context) (datasource.DataSource, error) { "basic_auth_config": "BasicAuthConfig", "branch_name": "BranchName", "build_spec": "BuildSpec", + "compute_role_arn": "ComputeRoleArn", "description": "Description", "enable_auto_build": "EnableAutoBuild", "enable_basic_auth": "EnableBasicAuth", "enable_performance_mode": "EnablePerformanceMode", "enable_pull_request_preview": "EnablePullRequestPreview", + "enable_skew_protection": "EnableSkewProtection", "environment_variables": "EnvironmentVariables", "framework": "Framework", "key": "Key", diff --git a/internal/aws/appintegrations/event_integration_singular_data_source_gen.go b/internal/aws/appintegrations/event_integration_singular_data_source_gen.go index 553e75294b..7493216486 100644 --- a/internal/aws/appintegrations/event_integration_singular_data_source_gen.go +++ b/internal/aws/appintegrations/event_integration_singular_data_source_gen.go @@ -60,7 +60,7 @@ func eventIntegrationDataSource(ctx context.Context) (datasource.DataSource, err // "description": "The source of the events.", // "maxLength": 256, // "minLength": 1, - // "pattern": "^aws\\.partner\\/.*$", + // "pattern": "^aws\\.(partner\\/.*|cases)$", // "type": "string" // } // }, diff --git a/internal/aws/cloudformation/stack_singular_data_source_gen.go b/internal/aws/cloudformation/stack_singular_data_source_gen.go index 1de615b810..71e2d06c13 100644 --- a/internal/aws/cloudformation/stack_singular_data_source_gen.go +++ b/internal/aws/cloudformation/stack_singular_data_source_gen.go @@ -330,11 +330,10 @@ func stackDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { - // "type": "object" + // "type": "string" // } "template_body": schema.StringAttribute{ /*START ATTRIBUTE*/ - CustomType: jsontypes.NormalizedType{}, - Computed: true, + Computed: true, }, /*END ATTRIBUTE*/ // Property: TemplateURL // CloudFormation resource type schema: diff --git a/internal/aws/ecs/service_singular_data_source_gen.go b/internal/aws/ecs/service_singular_data_source_gen.go index c89da4b491..56fd652e63 100644 --- a/internal/aws/ecs/service_singular_data_source_gen.go +++ b/internal/aws/ecs/service_singular_data_source_gen.go @@ -390,7 +390,7 @@ func serviceDataSource(ctx context.Context) (datasource.DataSource, error) { // "description": "The VPC subnets and security groups that are associated with a task.\n All specified subnets and security groups must be from the same VPC.", // "properties": { // "AssignPublicIp": { - // "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. \n + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``.", + // "description": "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``.", // "enum": [ // "DISABLED", // "ENABLED" @@ -424,7 +424,7 @@ func serviceDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: AssignPublicIp "assign_public_ip": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. \n + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``.", + Description: "Whether the task's elastic network interface receives a public IP address. \n Consider the following when you set this value:\n + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. \n + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``.", Computed: true, }, /*END ATTRIBUTE*/ // Property: SecurityGroups diff --git a/internal/aws/eks/cluster_singular_data_source_gen.go b/internal/aws/eks/cluster_singular_data_source_gen.go index 6287cf35c8..c921be826d 100644 --- a/internal/aws/eks/cluster_singular_data_source_gen.go +++ b/internal/aws/eks/cluster_singular_data_source_gen.go @@ -234,6 +234,18 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: Force + // CloudFormation resource type schema: + // + // { + // "default": false, + // "description": "Force cluster version update", + // "type": "boolean" + // } + "force": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Description: "Force cluster version update", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Id // CloudFormation resource type schema: // @@ -858,6 +870,7 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) { "endpoint": "Endpoint", "endpoint_private_access": "EndpointPrivateAccess", "endpoint_public_access": "EndpointPublicAccess", + "force": "Force", "group_name": "GroupName", "ip_family": "IpFamily", "key": "Key", diff --git a/internal/aws/iotsitewise/dataset_plural_data_source_gen.go b/internal/aws/iotsitewise/dataset_plural_data_source_gen.go new file mode 100644 index 0000000000..038dae0d87 --- /dev/null +++ b/internal/aws/iotsitewise/dataset_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 iotsitewise + +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_iotsitewise_datasets", datasetsDataSource) +} + +// datasetsDataSource returns the Terraform awscc_iotsitewise_datasets data source. +// This Terraform data source corresponds to the CloudFormation AWS::IoTSiteWise::Dataset resource. +func datasetsDataSource(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::IoTSiteWise::Dataset", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::IoTSiteWise::Dataset").WithTerraformTypeName("awscc_iotsitewise_datasets") + opts = opts.WithTerraformSchema(schema) + + v, err := generic.NewPluralDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/iotsitewise/dataset_plural_data_source_gen_test.go b/internal/aws/iotsitewise/dataset_plural_data_source_gen_test.go new file mode 100644 index 0000000000..5a1b7c9b53 --- /dev/null +++ b/internal/aws/iotsitewise/dataset_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 iotsitewise_test + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSIoTSiteWiseDatasetsDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::IoTSiteWise::Dataset", "awscc_iotsitewise_datasets", "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/iotsitewise/dataset_singular_data_source_gen.go b/internal/aws/iotsitewise/dataset_singular_data_source_gen.go new file mode 100644 index 0000000000..7fa3396c7f --- /dev/null +++ b/internal/aws/iotsitewise/dataset_singular_data_source_gen.go @@ -0,0 +1,247 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. + +package iotsitewise + +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_iotsitewise_dataset", datasetDataSource) +} + +// datasetDataSource returns the Terraform awscc_iotsitewise_dataset data source. +// This Terraform data source corresponds to the CloudFormation AWS::IoTSiteWise::Dataset resource. +func datasetDataSource(ctx context.Context) (datasource.DataSource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: DatasetArn + // CloudFormation resource type schema: + // + // { + // "description": "The ARN of the dataset.", + // "type": "string" + // } + "dataset_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ARN of the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DatasetDescription + // CloudFormation resource type schema: + // + // { + // "description": "A description about the dataset, and its functionality.", + // "type": "string" + // } + "dataset_description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A description about the dataset, and its functionality.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DatasetId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the dataset.", + // "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" + // } + "dataset_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DatasetName + // CloudFormation resource type schema: + // + // { + // "description": "The name of the dataset.", + // "type": "string" + // } + "dataset_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DatasetSource + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "The data source for the dataset.", + // "properties": { + // "SourceDetail": { + // "additionalProperties": false, + // "description": "The details of the dataset source associated with the dataset.", + // "properties": { + // "Kendra": { + // "additionalProperties": false, + // "description": "Contains details about the Kendra dataset source.", + // "properties": { + // "KnowledgeBaseArn": { + // "description": "The knowledgeBaseArn details for the Kendra dataset source.", + // "type": "string" + // }, + // "RoleArn": { + // "description": "The roleARN details for the Kendra dataset source.", + // "type": "string" + // } + // }, + // "required": [ + // "KnowledgeBaseArn", + // "RoleArn" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SourceFormat": { + // "description": "The format of the dataset source associated with the dataset.", + // "enum": [ + // "KNOWLEDGE_BASE" + // ], + // "type": "string" + // }, + // "SourceType": { + // "description": "The type of data source for the dataset.", + // "enum": [ + // "KENDRA" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "SourceFormat", + // "SourceType" + // ], + // "type": "object" + // } + "dataset_source": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: SourceDetail + "source_detail": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Kendra + "kendra": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: KnowledgeBaseArn + "knowledge_base_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The knowledgeBaseArn details for the Kendra dataset source.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RoleArn + "role_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The roleARN details for the Kendra dataset source.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contains details about the Kendra dataset source.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The details of the dataset source associated with the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SourceFormat + "source_format": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The format of the dataset source associated with the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SourceType + "source_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The type of data source for the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The data source for the dataset.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "An array of key-value pairs to apply to this resource.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "Key": { + // "type": "string" + // }, + // "Value": { + // "type": "string" + // } + // }, + // "required": [ + // "Value", + // "Key" + // ], + // "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*/ + Description: "An array of key-value pairs to apply to this resource.", + 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::IoTSiteWise::Dataset", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::IoTSiteWise::Dataset").WithTerraformTypeName("awscc_iotsitewise_dataset") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "dataset_arn": "DatasetArn", + "dataset_description": "DatasetDescription", + "dataset_id": "DatasetId", + "dataset_name": "DatasetName", + "dataset_source": "DatasetSource", + "kendra": "Kendra", + "key": "Key", + "knowledge_base_arn": "KnowledgeBaseArn", + "role_arn": "RoleArn", + "source_detail": "SourceDetail", + "source_format": "SourceFormat", + "source_type": "SourceType", + "tags": "Tags", + "value": "Value", + }) + + v, err := generic.NewSingularDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/iotsitewise/dataset_singular_data_source_gen_test.go b/internal/aws/iotsitewise/dataset_singular_data_source_gen_test.go new file mode 100644 index 0000000000..6b20d3ca62 --- /dev/null +++ b/internal/aws/iotsitewise/dataset_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 iotsitewise_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSIoTSiteWiseDatasetDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::IoTSiteWise::Dataset", "awscc_iotsitewise_dataset", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} + +func TestAccAWSIoTSiteWiseDatasetDataSource_NonExistent(t *testing.T) { + td := acctest.NewTestData(t, "AWS::IoTSiteWise::Dataset", "awscc_iotsitewise_dataset", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.DataSourceWithNonExistentIDConfig(), + ExpectError: regexp.MustCompile("Not Found"), + }, + }) +} diff --git a/internal/aws/mediaconnect/flow_output_singular_data_source_gen.go b/internal/aws/mediaconnect/flow_output_singular_data_source_gen.go index f93c727bdc..ec0f6d2217 100644 --- a/internal/aws/mediaconnect/flow_output_singular_data_source_gen.go +++ b/internal/aws/mediaconnect/flow_output_singular_data_source_gen.go @@ -328,6 +328,28 @@ func flowOutputDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The name of the output. This value must be unique within the current flow.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: NdiProgramName + // CloudFormation resource type schema: + // + // { + // "description": "A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.", + // "type": "string" + // } + "ndi_program_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: NdiSpeedHqQuality + // CloudFormation resource type schema: + // + // { + // "description": "A quality setting for the NDI Speed HQ encoder.", + // "type": "integer" + // } + "ndi_speed_hq_quality": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "A quality setting for the NDI Speed HQ encoder.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: OutputArn // CloudFormation resource type schema: // @@ -380,7 +402,8 @@ func flowOutputDataSource(ctx context.Context) (datasource.DataSource, error) { // "srt-listener", // "srt-caller", // "st2110-jpegxs", - // "cdi" + // "cdi", + // "ndi-speed-hq" // ], // "type": "string" // } @@ -483,6 +506,8 @@ func flowOutputDataSource(ctx context.Context) (datasource.DataSource, error) { "media_stream_output_configurations": "MediaStreamOutputConfigurations", "min_latency": "MinLatency", "name": "Name", + "ndi_program_name": "NdiProgramName", + "ndi_speed_hq_quality": "NdiSpeedHqQuality", "output_arn": "OutputArn", "output_status": "OutputStatus", "port": "Port", diff --git a/internal/aws/networkfirewall/firewall_singular_data_source_gen.go b/internal/aws/networkfirewall/firewall_singular_data_source_gen.go index 8acd85a8b1..e9d17e28a5 100644 --- a/internal/aws/networkfirewall/firewall_singular_data_source_gen.go +++ b/internal/aws/networkfirewall/firewall_singular_data_source_gen.go @@ -43,6 +43,27 @@ func firewallDataSource(ctx context.Context) (datasource.DataSource, error) { "description": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: EnabledAnalysisTypes + // CloudFormation resource type schema: + // + // { + // "description": "The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both.", + // "insertionOrder": false, + // "items": { + // "description": "An analysis type.", + // "enum": [ + // "TLS_SNI", + // "HTTP_HOST" + // ], + // "type": "string" + // }, + // "type": "array" + // } + "enabled_analysis_types": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: EndpointIds // CloudFormation resource type schema: // @@ -245,6 +266,7 @@ func firewallDataSource(ctx context.Context) (datasource.DataSource, error) { opts = opts.WithAttributeNameMap(map[string]string{ "delete_protection": "DeleteProtection", "description": "Description", + "enabled_analysis_types": "EnabledAnalysisTypes", "endpoint_ids": "EndpointIds", "firewall_arn": "FirewallArn", "firewall_id": "FirewallId", diff --git a/internal/aws/omics/sequence_store_singular_data_source_gen.go b/internal/aws/omics/sequence_store_singular_data_source_gen.go index a1b182035f..311a29b995 100644 --- a/internal/aws/omics/sequence_store_singular_data_source_gen.go +++ b/internal/aws/omics/sequence_store_singular_data_source_gen.go @@ -8,6 +8,7 @@ package omics import ( "context" + "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" @@ -24,6 +25,18 @@ func init() { // This Terraform data source corresponds to the CloudFormation AWS::Omics::SequenceStore resource. func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) { attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessLogLocation + // CloudFormation resource type schema: + // + // { + // "description": "Location of the access logs.", + // "pattern": "^$|^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/?((.{1,800})/)?$", + // "type": "string" + // } + "access_log_location": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Location of the access logs.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Arn // CloudFormation resource type schema: // @@ -65,17 +78,31 @@ func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) Description: "A description for the store.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: ETagAlgorithmFamily + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "MD5up", + // "SHA256up", + // "SHA512up" + // ], + // "type": "string" + // } + "e_tag_algorithm_family": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: FallbackLocation // CloudFormation resource type schema: // // { - // "description": "An S3 URI representing the bucket and folder to store failed read set uploads.", - // "minLength": 1, + // "description": "An S3 location that is used to store files that have failed a direct upload.", + // "minLength": 0, // "pattern": "", // "type": "string" // } "fallback_location": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "An S3 URI representing the bucket and folder to store failed read set uploads.", + Description: "An S3 location that is used to store files that have failed a direct upload.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Name @@ -92,6 +119,63 @@ func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) Description: "A name for the store.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: PropagatedSetLevelTags + // CloudFormation resource type schema: + // + // { + // "description": "The tags keys to propagate to the S3 objects associated with read sets in the sequence store.", + // "items": { + // "maxLength": 128, + // "minLength": 1, + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 0, + // "type": "array" + // } + "propagated_set_level_tags": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The tags keys to propagate to the S3 objects associated with read sets in the sequence store.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: S3AccessPointArn + // CloudFormation resource type schema: + // + // { + // "description": "This is ARN of the access point associated with the S3 bucket storing read sets.", + // "maxLength": 1024, + // "minLength": 1, + // "pattern": "^arn:[^:]*:s3:[^:]*:[^:]*:accesspoint/.*$", + // "type": "string" + // } + "s3_access_point_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "This is ARN of the access point associated with the S3 bucket storing read sets.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: S3AccessPolicy + // CloudFormation resource type schema: + // + // { + // "description": "The resource policy that controls S3 access on the store", + // "type": "object" + // } + "s3_access_policy": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: jsontypes.NormalizedType{}, + Description: "The resource policy that controls S3 access on the store", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: S3Uri + // CloudFormation resource type schema: + // + // { + // "description": "The S3 URI of the sequence store.", + // "pattern": "", + // "type": "string" + // } + "s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The S3 URI of the sequence store.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: SequenceStoreId // CloudFormation resource type schema: // @@ -145,6 +229,36 @@ func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) Description: "Server-side encryption (SSE) settings for a store.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: Status + // CloudFormation resource type schema: + // + // { + // "enum": [ + // "CREATING", + // "ACTIVE", + // "UPDATING", + // "DELETING", + // "FAILED" + // ], + // "type": "string" + // } + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StatusMessage + // CloudFormation resource type schema: + // + // { + // "description": "The status message of the sequence store.", + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$", + // "type": "string" + // } + "status_message": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The status message of the sequence store.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // @@ -164,6 +278,19 @@ func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) ElementType: types.StringType, Computed: true, }, /*END ATTRIBUTE*/ + // Property: UpdateTime + // CloudFormation resource type schema: + // + // { + // "description": "The last-updated time of the sequence store.", + // "format": "date-time", + // "type": "string" + // } + "update_time": schema.StringAttribute{ /*START ATTRIBUTE*/ + CustomType: timetypes.RFC3339Type{}, + Description: "The last-updated time of the sequence store.", + Computed: true, + }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ attributes["id"] = schema.StringAttribute{ @@ -181,16 +308,25 @@ func sequenceStoreDataSource(ctx context.Context) (datasource.DataSource, error) opts = opts.WithCloudFormationTypeName("AWS::Omics::SequenceStore").WithTerraformTypeName("awscc_omics_sequence_store") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "arn": "Arn", - "creation_time": "CreationTime", - "description": "Description", - "fallback_location": "FallbackLocation", - "key_arn": "KeyArn", - "name": "Name", - "sequence_store_id": "SequenceStoreId", - "sse_config": "SseConfig", - "tags": "Tags", - "type": "Type", + "access_log_location": "AccessLogLocation", + "arn": "Arn", + "creation_time": "CreationTime", + "description": "Description", + "e_tag_algorithm_family": "ETagAlgorithmFamily", + "fallback_location": "FallbackLocation", + "key_arn": "KeyArn", + "name": "Name", + "propagated_set_level_tags": "PropagatedSetLevelTags", + "s3_access_point_arn": "S3AccessPointArn", + "s3_access_policy": "S3AccessPolicy", + "s3_uri": "S3Uri", + "sequence_store_id": "SequenceStoreId", + "sse_config": "SseConfig", + "status": "Status", + "status_message": "StatusMessage", + "tags": "Tags", + "type": "Type", + "update_time": "UpdateTime", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/paymentcryptography/key_singular_data_source_gen.go b/internal/aws/paymentcryptography/key_singular_data_source_gen.go index 7bb73de9e9..21156185d2 100644 --- a/internal/aws/paymentcryptography/key_singular_data_source_gen.go +++ b/internal/aws/paymentcryptography/key_singular_data_source_gen.go @@ -53,6 +53,10 @@ func keyDataSource(ctx context.Context) (datasource.DataSource, error) { // "AES_128", // "AES_192", // "AES_256", + // "HMAC_SHA256", + // "HMAC_SHA384", + // "HMAC_SHA512", + // "HMAC_SHA224", // "RSA_2048", // "RSA_3072", // "RSA_4096", diff --git a/internal/aws/rds/db_cluster_singular_data_source_gen.go b/internal/aws/rds/db_cluster_singular_data_source_gen.go index 1a54b7df50..a02ae955ba 100644 --- a/internal/aws/rds/db_cluster_singular_data_source_gen.go +++ b/internal/aws/rds/db_cluster_singular_data_source_gen.go @@ -600,11 +600,11 @@ func dBClusterDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { - // "description": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + // "description": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", // "type": "integer" // } "performance_insights_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + Description: "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Port diff --git a/internal/aws/rds/db_instance_singular_data_source_gen.go b/internal/aws/rds/db_instance_singular_data_source_gen.go index bbfb4e132c..13efdd9c35 100644 --- a/internal/aws/rds/db_instance_singular_data_source_gen.go +++ b/internal/aws/rds/db_instance_singular_data_source_gen.go @@ -135,6 +135,19 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The AWS-Region associated with the automated backup.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: AutomaticBackupReplicationRetentionPeriod + // CloudFormation resource type schema: + // + // { + // "description": "", + // "maximum": 35, + // "minimum": 1, + // "type": "integer" + // } + "automatic_backup_replication_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: AvailabilityZone // CloudFormation resource type schema: // @@ -151,6 +164,7 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) { // // { // "description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas", + // "maximum": 35, // "minimum": 0, // "type": "integer" // } @@ -811,11 +825,11 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { - // "description": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", + // "description": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", // "type": "integer" // } "performance_insights_retention_period": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", + Description: "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS returns an error.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Port @@ -1168,99 +1182,100 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) { opts = opts.WithCloudFormationTypeName("AWS::RDS::DBInstance").WithTerraformTypeName("awscc_rds_db_instance") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "address": "Address", - "allocated_storage": "AllocatedStorage", - "allow_major_version_upgrade": "AllowMajorVersionUpgrade", - "apply_immediately": "ApplyImmediately", - "associated_roles": "AssociatedRoles", - "auto_minor_version_upgrade": "AutoMinorVersionUpgrade", - "automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId", - "automatic_backup_replication_region": "AutomaticBackupReplicationRegion", - "availability_zone": "AvailabilityZone", - "backup_retention_period": "BackupRetentionPeriod", - "ca_certificate_identifier": "CACertificateIdentifier", - "ca_identifier": "CAIdentifier", - "certificate_details": "CertificateDetails", - "certificate_rotation_restart": "CertificateRotationRestart", - "character_set_name": "CharacterSetName", - "copy_tags_to_snapshot": "CopyTagsToSnapshot", - "custom_iam_instance_profile": "CustomIAMInstanceProfile", - "database_insights_mode": "DatabaseInsightsMode", - "db_cluster_identifier": "DBClusterIdentifier", - "db_cluster_snapshot_identifier": "DBClusterSnapshotIdentifier", - "db_instance_arn": "DBInstanceArn", - "db_instance_class": "DBInstanceClass", - "db_instance_identifier": "DBInstanceIdentifier", - "db_name": "DBName", - "db_parameter_group_name": "DBParameterGroupName", - "db_security_groups": "DBSecurityGroups", - "db_snapshot_identifier": "DBSnapshotIdentifier", - "db_subnet_group_name": "DBSubnetGroupName", - "db_system_id": "DBSystemId", - "dbi_resource_id": "DbiResourceId", - "dedicated_log_volume": "DedicatedLogVolume", - "delete_automated_backups": "DeleteAutomatedBackups", - "deletion_protection": "DeletionProtection", - "domain": "Domain", - "domain_auth_secret_arn": "DomainAuthSecretArn", - "domain_dns_ips": "DomainDnsIps", - "domain_fqdn": "DomainFqdn", - "domain_iam_role_name": "DomainIAMRoleName", - "domain_ou": "DomainOu", - "enable_cloudwatch_logs_exports": "EnableCloudwatchLogsExports", - "enable_iam_database_authentication": "EnableIAMDatabaseAuthentication", - "enable_performance_insights": "EnablePerformanceInsights", - "endpoint": "Endpoint", - "engine": "Engine", - "engine_lifecycle_support": "EngineLifecycleSupport", - "engine_version": "EngineVersion", - "feature_name": "FeatureName", - "hosted_zone_id": "HostedZoneId", - "iops": "Iops", - "key": "Key", - "kms_key_id": "KmsKeyId", - "license_model": "LicenseModel", - "manage_master_user_password": "ManageMasterUserPassword", - "master_user_password": "MasterUserPassword", - "master_user_secret": "MasterUserSecret", - "master_username": "MasterUsername", - "max_allocated_storage": "MaxAllocatedStorage", - "monitoring_interval": "MonitoringInterval", - "monitoring_role_arn": "MonitoringRoleArn", - "multi_az": "MultiAZ", - "name": "Name", - "nchar_character_set_name": "NcharCharacterSetName", - "network_type": "NetworkType", - "option_group_name": "OptionGroupName", - "performance_insights_kms_key_id": "PerformanceInsightsKMSKeyId", - "performance_insights_retention_period": "PerformanceInsightsRetentionPeriod", - "port": "Port", - "preferred_backup_window": "PreferredBackupWindow", - "preferred_maintenance_window": "PreferredMaintenanceWindow", - "processor_features": "ProcessorFeatures", - "promotion_tier": "PromotionTier", - "publicly_accessible": "PubliclyAccessible", - "replica_mode": "ReplicaMode", - "restore_time": "RestoreTime", - "role_arn": "RoleArn", - "secret_arn": "SecretArn", - "source_db_cluster_identifier": "SourceDBClusterIdentifier", - "source_db_instance_automated_backups_arn": "SourceDBInstanceAutomatedBackupsArn", - "source_db_instance_identifier": "SourceDBInstanceIdentifier", - "source_dbi_resource_id": "SourceDbiResourceId", - "source_region": "SourceRegion", - "storage_encrypted": "StorageEncrypted", - "storage_throughput": "StorageThroughput", - "storage_type": "StorageType", - "tags": "Tags", - "tde_credential_arn": "TdeCredentialArn", - "tde_credential_password": "TdeCredentialPassword", - "timezone": "Timezone", - "use_default_processor_features": "UseDefaultProcessorFeatures", - "use_latest_restorable_time": "UseLatestRestorableTime", - "valid_till": "ValidTill", - "value": "Value", - "vpc_security_groups": "VPCSecurityGroups", + "address": "Address", + "allocated_storage": "AllocatedStorage", + "allow_major_version_upgrade": "AllowMajorVersionUpgrade", + "apply_immediately": "ApplyImmediately", + "associated_roles": "AssociatedRoles", + "auto_minor_version_upgrade": "AutoMinorVersionUpgrade", + "automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId", + "automatic_backup_replication_region": "AutomaticBackupReplicationRegion", + "automatic_backup_replication_retention_period": "AutomaticBackupReplicationRetentionPeriod", + "availability_zone": "AvailabilityZone", + "backup_retention_period": "BackupRetentionPeriod", + "ca_certificate_identifier": "CACertificateIdentifier", + "ca_identifier": "CAIdentifier", + "certificate_details": "CertificateDetails", + "certificate_rotation_restart": "CertificateRotationRestart", + "character_set_name": "CharacterSetName", + "copy_tags_to_snapshot": "CopyTagsToSnapshot", + "custom_iam_instance_profile": "CustomIAMInstanceProfile", + "database_insights_mode": "DatabaseInsightsMode", + "db_cluster_identifier": "DBClusterIdentifier", + "db_cluster_snapshot_identifier": "DBClusterSnapshotIdentifier", + "db_instance_arn": "DBInstanceArn", + "db_instance_class": "DBInstanceClass", + "db_instance_identifier": "DBInstanceIdentifier", + "db_name": "DBName", + "db_parameter_group_name": "DBParameterGroupName", + "db_security_groups": "DBSecurityGroups", + "db_snapshot_identifier": "DBSnapshotIdentifier", + "db_subnet_group_name": "DBSubnetGroupName", + "db_system_id": "DBSystemId", + "dbi_resource_id": "DbiResourceId", + "dedicated_log_volume": "DedicatedLogVolume", + "delete_automated_backups": "DeleteAutomatedBackups", + "deletion_protection": "DeletionProtection", + "domain": "Domain", + "domain_auth_secret_arn": "DomainAuthSecretArn", + "domain_dns_ips": "DomainDnsIps", + "domain_fqdn": "DomainFqdn", + "domain_iam_role_name": "DomainIAMRoleName", + "domain_ou": "DomainOu", + "enable_cloudwatch_logs_exports": "EnableCloudwatchLogsExports", + "enable_iam_database_authentication": "EnableIAMDatabaseAuthentication", + "enable_performance_insights": "EnablePerformanceInsights", + "endpoint": "Endpoint", + "engine": "Engine", + "engine_lifecycle_support": "EngineLifecycleSupport", + "engine_version": "EngineVersion", + "feature_name": "FeatureName", + "hosted_zone_id": "HostedZoneId", + "iops": "Iops", + "key": "Key", + "kms_key_id": "KmsKeyId", + "license_model": "LicenseModel", + "manage_master_user_password": "ManageMasterUserPassword", + "master_user_password": "MasterUserPassword", + "master_user_secret": "MasterUserSecret", + "master_username": "MasterUsername", + "max_allocated_storage": "MaxAllocatedStorage", + "monitoring_interval": "MonitoringInterval", + "monitoring_role_arn": "MonitoringRoleArn", + "multi_az": "MultiAZ", + "name": "Name", + "nchar_character_set_name": "NcharCharacterSetName", + "network_type": "NetworkType", + "option_group_name": "OptionGroupName", + "performance_insights_kms_key_id": "PerformanceInsightsKMSKeyId", + "performance_insights_retention_period": "PerformanceInsightsRetentionPeriod", + "port": "Port", + "preferred_backup_window": "PreferredBackupWindow", + "preferred_maintenance_window": "PreferredMaintenanceWindow", + "processor_features": "ProcessorFeatures", + "promotion_tier": "PromotionTier", + "publicly_accessible": "PubliclyAccessible", + "replica_mode": "ReplicaMode", + "restore_time": "RestoreTime", + "role_arn": "RoleArn", + "secret_arn": "SecretArn", + "source_db_cluster_identifier": "SourceDBClusterIdentifier", + "source_db_instance_automated_backups_arn": "SourceDBInstanceAutomatedBackupsArn", + "source_db_instance_identifier": "SourceDBInstanceIdentifier", + "source_dbi_resource_id": "SourceDbiResourceId", + "source_region": "SourceRegion", + "storage_encrypted": "StorageEncrypted", + "storage_throughput": "StorageThroughput", + "storage_type": "StorageType", + "tags": "Tags", + "tde_credential_arn": "TdeCredentialArn", + "tde_credential_password": "TdeCredentialPassword", + "timezone": "Timezone", + "use_default_processor_features": "UseDefaultProcessorFeatures", + "use_latest_restorable_time": "UseLatestRestorableTime", + "valid_till": "ValidTill", + "value": "Value", + "vpc_security_groups": "VPCSecurityGroups", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/route53recoverycontrol/cluster_singular_data_source_gen.go b/internal/aws/route53recoverycontrol/cluster_singular_data_source_gen.go index c6868d92d3..d2fd6f39ae 100644 --- a/internal/aws/route53recoverycontrol/cluster_singular_data_source_gen.go +++ b/internal/aws/route53recoverycontrol/cluster_singular_data_source_gen.go @@ -89,6 +89,21 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "Name of a Cluster. You can use any non-white space character in the name", Computed: true, }, /*END ATTRIBUTE*/ + // Property: NetworkType + // CloudFormation resource type schema: + // + // { + // "description": "Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK.", + // "enum": [ + // "IPV4", + // "DUALSTACK" + // ], + // "type": "string" + // } + "network_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Status // CloudFormation resource type schema: // @@ -170,6 +185,7 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) { "endpoint": "Endpoint", "key": "Key", "name": "Name", + "network_type": "NetworkType", "region": "Region", "status": "Status", "tags": "Tags", diff --git a/internal/aws/rum/app_monitor_singular_data_source_gen.go b/internal/aws/rum/app_monitor_singular_data_source_gen.go index afc322afe6..d966118ec4 100644 --- a/internal/aws/rum/app_monitor_singular_data_source_gen.go +++ b/internal/aws/rum/app_monitor_singular_data_source_gen.go @@ -445,7 +445,6 @@ func appMonitorDataSource(ctx context.Context) (datasource.DataSource, error) { // { // "description": "The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", // "items": { - // "description": "The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", // "maxLength": 253, // "minLength": 1, // "pattern": "", diff --git a/internal/aws/systemsmanagersap/application_singular_data_source_gen.go b/internal/aws/systemsmanagersap/application_singular_data_source_gen.go index 80d2ef3e11..b08dc0bf0f 100644 --- a/internal/aws/systemsmanagersap/application_singular_data_source_gen.go +++ b/internal/aws/systemsmanagersap/application_singular_data_source_gen.go @@ -58,6 +58,61 @@ func applicationDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The ARN of the SSM-SAP application", Computed: true, }, /*END ATTRIBUTE*/ + // Property: ComponentsInfo + // CloudFormation resource type schema: + // + // { + // "description": "This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher.", + // "insertionOrder": true, + // "items": { + // "properties": { + // "ComponentType": { + // "enum": [ + // "HANA", + // "HANA_NODE", + // "ABAP", + // "ASCS", + // "DIALOG", + // "WEBDISP", + // "WD", + // "ERS" + // ], + // "type": "string" + // }, + // "Ec2InstanceId": { + // "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$", + // "type": "string" + // }, + // "Sid": { + // "pattern": "[A-Z][A-Z0-9]{2}", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "minItems": 1, + // "type": "array" + // } + "components_info": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ComponentType + "component_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Ec2InstanceId + "ec_2_instance_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Sid + "sid": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Credentials // CloudFormation resource type schema: // @@ -222,10 +277,13 @@ func applicationDataSource(ctx context.Context) (datasource.DataSource, error) { "application_id": "ApplicationId", "application_type": "ApplicationType", "arn": "Arn", + "component_type": "ComponentType", + "components_info": "ComponentsInfo", "credential_type": "CredentialType", "credentials": "Credentials", "database_arn": "DatabaseArn", "database_name": "DatabaseName", + "ec_2_instance_id": "Ec2InstanceId", "instances": "Instances", "key": "Key", "sap_instance_number": "SapInstanceNumber", From 55e9f68ad517ab298cef77793d2c320f63eb4e85 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 27 Mar 2025 16:01:50 -0400 Subject: [PATCH 5/5] 2025/03/27 Run 'make docs-all'. --- CHANGELOG.md | 7 ++ docs/data-sources/amplify_app.md | 1 + docs/data-sources/amplify_branch.md | 2 + docs/data-sources/ecs_service.md | 3 +- docs/data-sources/eks_cluster.md | 1 + docs/data-sources/iotsitewise_dataset.md | 64 +++++++++++++++ docs/data-sources/iotsitewise_datasets.md | 21 +++++ docs/data-sources/mediaconnect_flow_output.md | 2 + docs/data-sources/networkfirewall_firewall.md | 1 + docs/data-sources/omics_sequence_store.md | 11 ++- docs/data-sources/rds_db_cluster.md | 2 +- docs/data-sources/rds_db_instance.md | 3 +- .../route53recoverycontrol_cluster.md | 1 + .../systemsmanagersap_application.md | 11 +++ docs/resources/amplify_app.md | 1 + docs/resources/amplify_branch.md | 2 + docs/resources/ecs_service.md | 3 +- docs/resources/eks_cluster.md | 1 + .../guardduty_publishing_destination.md | 4 +- docs/resources/iot_job_template.md | 4 +- docs/resources/iotsitewise_dataset.md | 78 +++++++++++++++++++ docs/resources/mediaconnect_flow_output.md | 2 + docs/resources/networkfirewall_firewall.md | 1 + docs/resources/omics_sequence_store.md | 15 +++- docs/resources/rds_db_cluster.md | 30 +++---- docs/resources/rds_db_instance.md | 47 +++++------ .../route53recoverycontrol_cluster.md | 1 + .../systemsmanagersap_application.md | 11 +++ .../awscc_iotsitewise_dataset/import.sh | 1 + 29 files changed, 279 insertions(+), 52 deletions(-) create mode 100644 docs/data-sources/iotsitewise_dataset.md create mode 100644 docs/data-sources/iotsitewise_datasets.md create mode 100644 docs/resources/iotsitewise_dataset.md create mode 100644 examples/resources/awscc_iotsitewise_dataset/import.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 74393b7103..b0c16ca72a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ ## 1.35.0 (Unreleased) + +FEATURES: + +* **New Resource:** `awscc_iotsitewise_dataset` +* **New Data Source:** `awscc_iotsitewise_dataset` +* **New Data Source:** `awscc_iotsitewise_datasets` + ## 1.34.0 (March 20, 2025) FEATURES: diff --git a/docs/data-sources/amplify_app.md b/docs/data-sources/amplify_app.md index 6a848af2f7..04ca3db5b8 100644 --- a/docs/data-sources/amplify_app.md +++ b/docs/data-sources/amplify_app.md @@ -29,6 +29,7 @@ Data Source schema for AWS::Amplify::App - `basic_auth_config` (Attributes) (see [below for nested schema](#nestedatt--basic_auth_config)) - `build_spec` (String) - `cache_config` (Attributes) (see [below for nested schema](#nestedatt--cache_config)) +- `compute_role_arn` (String) - `custom_headers` (String) - `custom_rules` (Attributes List) (see [below for nested schema](#nestedatt--custom_rules)) - `default_domain` (String) diff --git a/docs/data-sources/amplify_branch.md b/docs/data-sources/amplify_branch.md index a7adc2e99e..b5293b225e 100644 --- a/docs/data-sources/amplify_branch.md +++ b/docs/data-sources/amplify_branch.md @@ -27,10 +27,12 @@ Data Source schema for AWS::Amplify::Branch - `basic_auth_config` (Attributes) (see [below for nested schema](#nestedatt--basic_auth_config)) - `branch_name` (String) - `build_spec` (String) +- `compute_role_arn` (String) - `description` (String) - `enable_auto_build` (Boolean) - `enable_performance_mode` (Boolean) - `enable_pull_request_preview` (Boolean) +- `enable_skew_protection` (Boolean) - `environment_variables` (Attributes List) (see [below for nested schema](#nestedatt--environment_variables)) - `framework` (String) - `pull_request_environment_name` (String) diff --git a/docs/data-sources/ecs_service.md b/docs/data-sources/ecs_service.md index 4265d5e990..b23655c167 100644 --- a/docs/data-sources/ecs_service.md +++ b/docs/data-sources/ecs_service.md @@ -187,8 +187,7 @@ Read-Only: - `assign_public_ip` (String) Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. - + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. - + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``. + + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. - `security_groups` (List of String) The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC. - `subnets` (List of String) The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. diff --git a/docs/data-sources/eks_cluster.md b/docs/data-sources/eks_cluster.md index d6e8b2a895..78e117eac2 100644 --- a/docs/data-sources/eks_cluster.md +++ b/docs/data-sources/eks_cluster.md @@ -31,6 +31,7 @@ Data Source schema for AWS::EKS::Cluster - `encryption_config` (Attributes List) (see [below for nested schema](#nestedatt--encryption_config)) - `encryption_config_key_arn` (String) Amazon Resource Name (ARN) or alias of the customer master key (CMK). - `endpoint` (String) The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com. +- `force` (Boolean) Force cluster version update - `kubernetes_network_config` (Attributes) The Kubernetes network configuration for the cluster. (see [below for nested schema](#nestedatt--kubernetes_network_config)) - `logging` (Attributes) Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs. (see [below for nested schema](#nestedatt--logging)) - `name` (String) The unique name to give to your cluster. diff --git a/docs/data-sources/iotsitewise_dataset.md b/docs/data-sources/iotsitewise_dataset.md new file mode 100644 index 0000000000..0a1ce113f4 --- /dev/null +++ b/docs/data-sources/iotsitewise_dataset.md @@ -0,0 +1,64 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_iotsitewise_dataset Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Data Source schema for AWS::IoTSiteWise::Dataset +--- + +# awscc_iotsitewise_dataset (Data Source) + +Data Source schema for AWS::IoTSiteWise::Dataset + + + + +## Schema + +### Required + +- `id` (String) Uniquely identifies the resource. + +### Read-Only + +- `dataset_arn` (String) The ARN of the dataset. +- `dataset_description` (String) A description about the dataset, and its functionality. +- `dataset_id` (String) The ID of the dataset. +- `dataset_name` (String) The name of the dataset. +- `dataset_source` (Attributes) The data source for the dataset. (see [below for nested schema](#nestedatt--dataset_source)) +- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags)) + + +### Nested Schema for `dataset_source` + +Read-Only: + +- `source_detail` (Attributes) The details of the dataset source associated with the dataset. (see [below for nested schema](#nestedatt--dataset_source--source_detail)) +- `source_format` (String) The format of the dataset source associated with the dataset. +- `source_type` (String) The type of data source for the dataset. + + +### Nested Schema for `dataset_source.source_detail` + +Read-Only: + +- `kendra` (Attributes) Contains details about the Kendra dataset source. (see [below for nested schema](#nestedatt--dataset_source--source_detail--kendra)) + + +### Nested Schema for `dataset_source.source_detail.kendra` + +Read-Only: + +- `knowledge_base_arn` (String) The knowledgeBaseArn details for the Kendra dataset source. +- `role_arn` (String) The roleARN details for the Kendra dataset source. + + + + + +### Nested Schema for `tags` + +Read-Only: + +- `key` (String) +- `value` (String) diff --git a/docs/data-sources/iotsitewise_datasets.md b/docs/data-sources/iotsitewise_datasets.md new file mode 100644 index 0000000000..d9c9780349 --- /dev/null +++ b/docs/data-sources/iotsitewise_datasets.md @@ -0,0 +1,21 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_iotsitewise_datasets Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Plural Data Source schema for AWS::IoTSiteWise::Dataset +--- + +# awscc_iotsitewise_datasets (Data Source) + +Plural Data Source schema for AWS::IoTSiteWise::Dataset + + + + +## Schema + +### Read-Only + +- `id` (String) Uniquely identifies the data source. +- `ids` (Set of String) Set of Resource Identifiers. diff --git a/docs/data-sources/mediaconnect_flow_output.md b/docs/data-sources/mediaconnect_flow_output.md index e4f277833d..fd3ea28c80 100644 --- a/docs/data-sources/mediaconnect_flow_output.md +++ b/docs/data-sources/mediaconnect_flow_output.md @@ -30,6 +30,8 @@ Data Source schema for AWS::MediaConnect::FlowOutput - `media_stream_output_configurations` (Attributes List) The definition for each media stream that is associated with the output. (see [below for nested schema](#nestedatt--media_stream_output_configurations)) - `min_latency` (Number) The minimum latency in milliseconds. - `name` (String) The name of the output. This value must be unique within the current flow. +- `ndi_program_name` (String) A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name. +- `ndi_speed_hq_quality` (Number) A quality setting for the NDI Speed HQ encoder. - `output_arn` (String) The ARN of the output. - `output_status` (String) An indication of whether the output should transmit data or not. - `port` (Number) The port to use when content is distributed to this output. diff --git a/docs/data-sources/networkfirewall_firewall.md b/docs/data-sources/networkfirewall_firewall.md index ae858b3f0f..65efee77e1 100644 --- a/docs/data-sources/networkfirewall_firewall.md +++ b/docs/data-sources/networkfirewall_firewall.md @@ -23,6 +23,7 @@ Data Source schema for AWS::NetworkFirewall::Firewall - `delete_protection` (Boolean) - `description` (String) +- `enabled_analysis_types` (List of String) The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both. - `endpoint_ids` (List of String) - `firewall_arn` (String) A resource ARN. - `firewall_id` (String) diff --git a/docs/data-sources/omics_sequence_store.md b/docs/data-sources/omics_sequence_store.md index c9277b7395..3f148d354e 100644 --- a/docs/data-sources/omics_sequence_store.md +++ b/docs/data-sources/omics_sequence_store.md @@ -21,14 +21,23 @@ Data Source schema for AWS::Omics::SequenceStore ### Read-Only +- `access_log_location` (String) Location of the access logs. - `arn` (String) The store's ARN. - `creation_time` (String) When the store was created. - `description` (String) A description for the store. -- `fallback_location` (String) An S3 URI representing the bucket and folder to store failed read set uploads. +- `e_tag_algorithm_family` (String) +- `fallback_location` (String) An S3 location that is used to store files that have failed a direct upload. - `name` (String) A name for the store. +- `propagated_set_level_tags` (List of String) The tags keys to propagate to the S3 objects associated with read sets in the sequence store. +- `s3_access_point_arn` (String) This is ARN of the access point associated with the S3 bucket storing read sets. +- `s3_access_policy` (String) The resource policy that controls S3 access on the store +- `s3_uri` (String) The S3 URI of the sequence store. - `sequence_store_id` (String) - `sse_config` (Attributes) Server-side encryption (SSE) settings for a store. (see [below for nested schema](#nestedatt--sse_config)) +- `status` (String) +- `status_message` (String) The status message of the sequence store. - `tags` (Map of String) +- `update_time` (String) The last-updated time of the sequence store. ### Nested Schema for `sse_config` diff --git a/docs/data-sources/rds_db_cluster.md b/docs/data-sources/rds_db_cluster.md index 220c733732..0c247df883 100644 --- a/docs/data-sources/rds_db_cluster.md +++ b/docs/data-sources/rds_db_cluster.md @@ -202,7 +202,7 @@ Data Source schema for AWS::RDS::DBCluster The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters -- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. +- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters Valid Values: + ``7`` diff --git a/docs/data-sources/rds_db_instance.md b/docs/data-sources/rds_db_instance.md index 1f51c94a2e..da7b1e24b7 100644 --- a/docs/data-sources/rds_db_instance.md +++ b/docs/data-sources/rds_db_instance.md @@ -78,6 +78,7 @@ Data Source schema for AWS::RDS::DBInstance - `auto_minor_version_upgrade` (Boolean) A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically. - `automatic_backup_replication_kms_key_id` (String) The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS-Region, for example, ``arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE``. - `automatic_backup_replication_region` (String) The AWS-Region associated with the automated backup. +- `automatic_backup_replication_retention_period` (Number) - `availability_zone` (String) The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html). For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one. Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region. @@ -444,7 +445,7 @@ Data Source schema for AWS::RDS::DBInstance The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region. For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights). -- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. +- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``. This setting doesn't apply to RDS Custom DB instances. Valid Values: + ``7`` diff --git a/docs/data-sources/route53recoverycontrol_cluster.md b/docs/data-sources/route53recoverycontrol_cluster.md index 234d152e2f..aa8de9831a 100644 --- a/docs/data-sources/route53recoverycontrol_cluster.md +++ b/docs/data-sources/route53recoverycontrol_cluster.md @@ -24,6 +24,7 @@ Data Source schema for AWS::Route53RecoveryControl::Cluster - `cluster_arn` (String) The Amazon Resource Name (ARN) of the cluster. - `cluster_endpoints` (Attributes List) Endpoints for the cluster. (see [below for nested schema](#nestedatt--cluster_endpoints)) - `name` (String) Name of a Cluster. You can use any non-white space character in the name +- `network_type` (String) Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK. - `status` (String) Deployment status of a resource. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION. - `tags` (Attributes List) A collection of tags associated with a resource (see [below for nested schema](#nestedatt--tags)) diff --git a/docs/data-sources/systemsmanagersap_application.md b/docs/data-sources/systemsmanagersap_application.md index 1c4f1ffbc8..95345ea922 100644 --- a/docs/data-sources/systemsmanagersap_application.md +++ b/docs/data-sources/systemsmanagersap_application.md @@ -24,6 +24,7 @@ Data Source schema for AWS::SystemsManagerSAP::Application - `application_id` (String) - `application_type` (String) - `arn` (String) The ARN of the SSM-SAP application +- `components_info` (Attributes List) This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher. (see [below for nested schema](#nestedatt--components_info)) - `credentials` (Attributes List) (see [below for nested schema](#nestedatt--credentials)) - `database_arn` (String) The ARN of the SAP HANA database - `instances` (List of String) @@ -31,6 +32,16 @@ Data Source schema for AWS::SystemsManagerSAP::Application - `sid` (String) - `tags` (Attributes List) The tags of a SystemsManagerSAP application. (see [below for nested schema](#nestedatt--tags)) + +### Nested Schema for `components_info` + +Read-Only: + +- `component_type` (String) +- `ec_2_instance_id` (String) +- `sid` (String) + + ### Nested Schema for `credentials` diff --git a/docs/resources/amplify_app.md b/docs/resources/amplify_app.md index 938786eece..9441d95964 100644 --- a/docs/resources/amplify_app.md +++ b/docs/resources/amplify_app.md @@ -177,6 +177,7 @@ resource "awscc_amplify_app" "example" { - `basic_auth_config` (Attributes) (see [below for nested schema](#nestedatt--basic_auth_config)) - `build_spec` (String) - `cache_config` (Attributes) (see [below for nested schema](#nestedatt--cache_config)) +- `compute_role_arn` (String) - `custom_headers` (String) - `custom_rules` (Attributes List) (see [below for nested schema](#nestedatt--custom_rules)) - `description` (String) diff --git a/docs/resources/amplify_branch.md b/docs/resources/amplify_branch.md index fb71021021..0922ed24e5 100644 --- a/docs/resources/amplify_branch.md +++ b/docs/resources/amplify_branch.md @@ -116,10 +116,12 @@ resource "awscc_amplify_branch" "main" { - `backend` (Attributes) (see [below for nested schema](#nestedatt--backend)) - `basic_auth_config` (Attributes) (see [below for nested schema](#nestedatt--basic_auth_config)) - `build_spec` (String) +- `compute_role_arn` (String) - `description` (String) - `enable_auto_build` (Boolean) - `enable_performance_mode` (Boolean) - `enable_pull_request_preview` (Boolean) +- `enable_skew_protection` (Boolean) - `environment_variables` (Attributes List) (see [below for nested schema](#nestedatt--environment_variables)) - `framework` (String) - `pull_request_environment_name` (String) diff --git a/docs/resources/ecs_service.md b/docs/resources/ecs_service.md index 9f5c242261..db88fc5e9e 100644 --- a/docs/resources/ecs_service.md +++ b/docs/resources/ecs_service.md @@ -239,8 +239,7 @@ Optional: - `assign_public_ip` (String) Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: + When you use ``create-service`` or ``update-service``, the default is ``DISABLED``. - + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. - + When you use ``create-service`` or ``update-service``, the default is ``ENABLED``. + + When the service ``deploymentController`` is ``ECS``, the value must be ``DISABLED``. - `security_groups` (List of String) The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC. - `subnets` (List of String) The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. diff --git a/docs/resources/eks_cluster.md b/docs/resources/eks_cluster.md index 2c49e9de23..ca18f5c42c 100644 --- a/docs/resources/eks_cluster.md +++ b/docs/resources/eks_cluster.md @@ -217,6 +217,7 @@ resource "awscc_kms_key" "main" { - `bootstrap_self_managed_addons` (Boolean) Set this value to false to avoid creating the default networking add-ons when the cluster is created. - `compute_config` (Attributes) Todo: add description (see [below for nested schema](#nestedatt--compute_config)) - `encryption_config` (Attributes List) (see [below for nested schema](#nestedatt--encryption_config)) +- `force` (Boolean) Force cluster version update - `kubernetes_network_config` (Attributes) The Kubernetes network configuration for the cluster. (see [below for nested schema](#nestedatt--kubernetes_network_config)) - `logging` (Attributes) Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs. (see [below for nested schema](#nestedatt--logging)) - `name` (String) The unique name to give to your cluster. diff --git a/docs/resources/guardduty_publishing_destination.md b/docs/resources/guardduty_publishing_destination.md index 4b6f8e31f4..c2050cf747 100644 --- a/docs/resources/guardduty_publishing_destination.md +++ b/docs/resources/guardduty_publishing_destination.md @@ -3,12 +3,12 @@ page_title: "awscc_guardduty_publishing_destination Resource - terraform-provider-awscc" subcategory: "" description: |- - Resource Type definition for AWS::GuardDuty::PublishingDestination + Resource Type definition for AWS::GuardDuty::PublishingDestination. --- # awscc_guardduty_publishing_destination (Resource) -Resource Type definition for AWS::GuardDuty::PublishingDestination +Resource Type definition for AWS::GuardDuty::PublishingDestination. diff --git a/docs/resources/iot_job_template.md b/docs/resources/iot_job_template.md index 567d4a85ff..fdf1337052 100644 --- a/docs/resources/iot_job_template.md +++ b/docs/resources/iot_job_template.md @@ -3,12 +3,12 @@ page_title: "awscc_iot_job_template Resource - terraform-provider-awscc" subcategory: "" description: |- - Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. + Resource Type definition for AWS::IoT::JobTemplate. Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. --- # awscc_iot_job_template (Resource) -Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. +Resource Type definition for AWS::IoT::JobTemplate. Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. ## Example Usage diff --git a/docs/resources/iotsitewise_dataset.md b/docs/resources/iotsitewise_dataset.md new file mode 100644 index 0000000000..dd2f3c4b34 --- /dev/null +++ b/docs/resources/iotsitewise_dataset.md @@ -0,0 +1,78 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_iotsitewise_dataset Resource - terraform-provider-awscc" +subcategory: "" +description: |- + Resource schema for AWS::IoTSiteWise::Dataset. +--- + +# awscc_iotsitewise_dataset (Resource) + +Resource schema for AWS::IoTSiteWise::Dataset. + + + + +## Schema + +### Required + +- `dataset_name` (String) The name of the dataset. +- `dataset_source` (Attributes) The data source for the dataset. (see [below for nested schema](#nestedatt--dataset_source)) + +### Optional + +- `dataset_description` (String) A description about the dataset, and its functionality. +- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags)) + +### Read-Only + +- `dataset_arn` (String) The ARN of the dataset. +- `dataset_id` (String) The ID of the dataset. +- `id` (String) Uniquely identifies the resource. + + +### Nested Schema for `dataset_source` + +Required: + +- `source_format` (String) The format of the dataset source associated with the dataset. +- `source_type` (String) The type of data source for the dataset. + +Optional: + +- `source_detail` (Attributes) The details of the dataset source associated with the dataset. (see [below for nested schema](#nestedatt--dataset_source--source_detail)) + + +### Nested Schema for `dataset_source.source_detail` + +Optional: + +- `kendra` (Attributes) Contains details about the Kendra dataset source. (see [below for nested schema](#nestedatt--dataset_source--source_detail--kendra)) + + +### Nested Schema for `dataset_source.source_detail.kendra` + +Optional: + +- `knowledge_base_arn` (String) The knowledgeBaseArn details for the Kendra dataset source. +- `role_arn` (String) The roleARN details for the Kendra dataset source. + + + + + +### Nested Schema for `tags` + +Optional: + +- `key` (String) +- `value` (String) + +## Import + +Import is supported using the following syntax: + +```shell +$ terraform import awscc_iotsitewise_dataset.example "dataset_id" +``` diff --git a/docs/resources/mediaconnect_flow_output.md b/docs/resources/mediaconnect_flow_output.md index 18313c100e..d42db92581 100644 --- a/docs/resources/mediaconnect_flow_output.md +++ b/docs/resources/mediaconnect_flow_output.md @@ -30,6 +30,8 @@ Resource schema for AWS::MediaConnect::FlowOutput - `media_stream_output_configurations` (Attributes List) The definition for each media stream that is associated with the output. (see [below for nested schema](#nestedatt--media_stream_output_configurations)) - `min_latency` (Number) The minimum latency in milliseconds. - `name` (String) The name of the output. This value must be unique within the current flow. +- `ndi_program_name` (String) A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name. +- `ndi_speed_hq_quality` (Number) A quality setting for the NDI Speed HQ encoder. - `output_status` (String) An indication of whether the output should transmit data or not. - `port` (Number) The port to use when content is distributed to this output. - `remote_id` (String) The remote ID for the Zixi-pull stream. diff --git a/docs/resources/networkfirewall_firewall.md b/docs/resources/networkfirewall_firewall.md index f8ae00518a..cc9bd48ef1 100644 --- a/docs/resources/networkfirewall_firewall.md +++ b/docs/resources/networkfirewall_firewall.md @@ -26,6 +26,7 @@ Resource type definition for AWS::NetworkFirewall::Firewall - `delete_protection` (Boolean) - `description` (String) +- `enabled_analysis_types` (List of String) The types of analysis to enable for the firewall. Can be TLS_SNI, HTTP_HOST, or both. - `firewall_policy_change_protection` (Boolean) - `subnet_change_protection` (Boolean) - `tags` (Attributes Set) (see [below for nested schema](#nestedatt--tags)) diff --git a/docs/resources/omics_sequence_store.md b/docs/resources/omics_sequence_store.md index 994da32c8e..04cffd5cc8 100644 --- a/docs/resources/omics_sequence_store.md +++ b/docs/resources/omics_sequence_store.md @@ -2,12 +2,12 @@ page_title: "awscc_omics_sequence_store Resource - terraform-provider-awscc" subcategory: "" description: |- - Definition of AWS::Omics::SequenceStore Resource Type + Resource Type definition for AWS::Omics::SequenceStore --- # awscc_omics_sequence_store (Resource) -Definition of AWS::Omics::SequenceStore Resource Type +Resource Type definition for AWS::Omics::SequenceStore ## Example Usage @@ -58,8 +58,12 @@ resource "awscc_omics_sequence_store" "example" { ### Optional +- `access_log_location` (String) Location of the access logs. - `description` (String) A description for the store. -- `fallback_location` (String) An S3 URI representing the bucket and folder to store failed read set uploads. +- `e_tag_algorithm_family` (String) +- `fallback_location` (String) An S3 location that is used to store files that have failed a direct upload. +- `propagated_set_level_tags` (List of String) The tags keys to propagate to the S3 objects associated with read sets in the sequence store. +- `s3_access_policy` (String) The resource policy that controls S3 access on the store - `sse_config` (Attributes) Server-side encryption (SSE) settings for a store. (see [below for nested schema](#nestedatt--sse_config)) - `tags` (Map of String) @@ -68,7 +72,12 @@ resource "awscc_omics_sequence_store" "example" { - `arn` (String) The store's ARN. - `creation_time` (String) When the store was created. - `id` (String) Uniquely identifies the resource. +- `s3_access_point_arn` (String) This is ARN of the access point associated with the S3 bucket storing read sets. +- `s3_uri` (String) The S3 URI of the sequence store. - `sequence_store_id` (String) +- `status` (String) +- `status_message` (String) The status message of the sequence store. +- `update_time` (String) The last-updated time of the sequence store. ### Nested Schema for `sse_config` diff --git a/docs/resources/rds_db_cluster.md b/docs/resources/rds_db_cluster.md index a3fc80cb9b..eba6dfbbfc 100644 --- a/docs/resources/rds_db_cluster.md +++ b/docs/resources/rds_db_cluster.md @@ -234,7 +234,7 @@ resource "awscc_rds_db_cluster" "example_db_cluster" { The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters -- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. +- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters Valid Values: + ``7`` @@ -279,12 +279,6 @@ resource "awscc_rds_db_cluster" "example_db_cluster" { If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies: + If the subnets are part of a VPC that doesn?t have an internet gateway attached to it, the DB cluster is private. + If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public. -- `read_endpoint` (Attributes) This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions: - + ``CreateDBInstance`` - + ``DescribeDBInstances`` - + ``DeleteDBInstance`` - - For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``. (see [below for nested schema](#nestedatt--read_endpoint)) - `replication_source_identifier` (String) The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica. Valid for: Aurora DB clusters only - `restore_to_time` (String) The date and time to restore the DB cluster to. @@ -370,6 +364,12 @@ resource "awscc_rds_db_cluster" "example_db_cluster" { - `db_cluster_resource_id` (String) - `endpoint` (Attributes) The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster. (see [below for nested schema](#nestedatt--endpoint)) - `id` (String) Uniquely identifies the resource. +- `read_endpoint` (Attributes) This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions: + + ``CreateDBInstance`` + + ``DescribeDBInstances`` + + ``DeleteDBInstance`` + + For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``. (see [below for nested schema](#nestedatt--read_endpoint)) - `storage_throughput` (Number) @@ -393,14 +393,6 @@ Read-Only: - `secret_arn` (String) The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the ``Fn::GetAtt`` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values). - -### Nested Schema for `read_endpoint` - -Read-Only: - -- `address` (String) The host address of the reader endpoint. - - ### Nested Schema for `scaling_configuration` @@ -457,6 +449,14 @@ Read-Only: - `address` (String) Specifies the connection endpoint for the primary instance of the DB cluster. - `port` (String) Specifies the port that the database engine is listening on. + + +### Nested Schema for `read_endpoint` + +Read-Only: + +- `address` (String) The host address of the reader endpoint. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/rds_db_instance.md b/docs/resources/rds_db_instance.md index 81795d8662..b5d534118b 100644 --- a/docs/resources/rds_db_instance.md +++ b/docs/resources/rds_db_instance.md @@ -202,6 +202,7 @@ resource "awscc_rds_db_instance" "this" { - `auto_minor_version_upgrade` (Boolean) A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically. - `automatic_backup_replication_kms_key_id` (String) The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS-Region, for example, ``arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE``. - `automatic_backup_replication_region` (String) The AWS-Region associated with the automated backup. +- `automatic_backup_replication_retention_period` (Number) - `availability_zone` (String) The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html). For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one. Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region. @@ -219,7 +220,6 @@ resource "awscc_rds_db_instance" "this" { + Can't be set to 0 if the DB instance is a source to read replicas - `ca_certificate_identifier` (String) The identifier of the CA certificate for this DB instance. For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*. -- `certificate_details` (Attributes) The details of the DB instance's server certificate. (see [below for nested schema](#nestedatt--certificate_details)) - `certificate_rotation_restart` (Boolean) Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted. Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. @@ -398,8 +398,6 @@ resource "awscc_rds_db_instance" "this" { Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. - `enable_performance_insights` (Boolean) Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*. This setting doesn't apply to RDS Custom DB instances. -- `endpoint` (Attributes) The connection endpoint for the DB instance. - The endpoint might not be shown for instances with the status of ``creating``. (see [below for nested schema](#nestedatt--endpoint)) - `engine` (String) The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region. This property is required when creating a DB instance. You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the ``Engine`` value in your templates from ``oracle-ee`` to ``oracle-ee-cdb`` or from ``oracle-se2`` to ``oracle-se2-cdb``. Converting to the CDB architecture requires an interruption. @@ -565,7 +563,7 @@ resource "awscc_rds_db_instance" "this" { The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region. For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights). -- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. +- `performance_insights_retention_period` (Number) The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter ``PerformanceInsightsRetentionPeriod``. This setting doesn't apply to RDS Custom DB instances. Valid Values: + ``7`` @@ -677,9 +675,12 @@ resource "awscc_rds_db_instance" "this" { ### Read-Only +- `certificate_details` (Attributes) The details of the DB instance's server certificate. (see [below for nested schema](#nestedatt--certificate_details)) - `database_insights_mode` (String) - `db_instance_arn` (String) - `dbi_resource_id` (String) +- `endpoint` (Attributes) The connection endpoint for the DB instance. + The endpoint might not be shown for instances with the status of ``creating``. (see [below for nested schema](#nestedatt--endpoint)) - `id` (String) Uniquely identifies the resource. @@ -691,25 +692,6 @@ Optional: - `role_arn` (String) The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance. - -### Nested Schema for `certificate_details` - -Read-Only: - -- `ca_identifier` (String) The CA identifier of the CA certificate used for the DB instance's server certificate. -- `valid_till` (String) The expiration date of the DB instance?s server certificate. - - - -### Nested Schema for `endpoint` - -Read-Only: - -- `address` (String) Specifies the DNS address of the DB instance. -- `hosted_zone_id` (String) Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. -- `port` (String) Specifies the port that the database engine is listening on. - - ### Nested Schema for `master_user_secret` @@ -739,6 +721,25 @@ Optional: - `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}_.:/=+\\-@]*)$"). + + +### Nested Schema for `certificate_details` + +Read-Only: + +- `ca_identifier` (String) The CA identifier of the CA certificate used for the DB instance's server certificate. +- `valid_till` (String) The expiration date of the DB instance?s server certificate. + + + +### Nested Schema for `endpoint` + +Read-Only: + +- `address` (String) Specifies the DNS address of the DB instance. +- `hosted_zone_id` (String) Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. +- `port` (String) Specifies the port that the database engine is listening on. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/route53recoverycontrol_cluster.md b/docs/resources/route53recoverycontrol_cluster.md index 876ae7397c..7da65f07fc 100644 --- a/docs/resources/route53recoverycontrol_cluster.md +++ b/docs/resources/route53recoverycontrol_cluster.md @@ -49,6 +49,7 @@ output "cluster_endpoints" { ### Optional +- `network_type` (String) Cluster supports IPv4 endpoints and Dual-stack IPv4 and IPv6 endpoints. NetworkType can be IPV4 or DUALSTACK. - `tags` (Attributes List) A collection of tags associated with a resource (see [below for nested schema](#nestedatt--tags)) ### Read-Only diff --git a/docs/resources/systemsmanagersap_application.md b/docs/resources/systemsmanagersap_application.md index 910322b2a9..1e49a9aa48 100644 --- a/docs/resources/systemsmanagersap_application.md +++ b/docs/resources/systemsmanagersap_application.md @@ -22,6 +22,7 @@ Resource schema for AWS::SystemsManagerSAP::Application ### Optional +- `components_info` (Attributes List) This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher. (see [below for nested schema](#nestedatt--components_info)) - `credentials` (Attributes List) (see [below for nested schema](#nestedatt--credentials)) - `database_arn` (String) The ARN of the SAP HANA database - `instances` (List of String) @@ -34,6 +35,16 @@ Resource schema for AWS::SystemsManagerSAP::Application - `arn` (String) The ARN of the SSM-SAP application - `id` (String) Uniquely identifies the resource. + +### Nested Schema for `components_info` + +Optional: + +- `component_type` (String) +- `ec_2_instance_id` (String) +- `sid` (String) + + ### Nested Schema for `credentials` diff --git a/examples/resources/awscc_iotsitewise_dataset/import.sh b/examples/resources/awscc_iotsitewise_dataset/import.sh new file mode 100644 index 0000000000..26d0700db4 --- /dev/null +++ b/examples/resources/awscc_iotsitewise_dataset/import.sh @@ -0,0 +1 @@ +$ terraform import awscc_iotsitewise_dataset.example "dataset_id" \ No newline at end of file