From 3cf01734f7935493b76da3ea0386189db797af40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 20 Mar 2025 12:19:12 -0400 Subject: [PATCH 1/5] 2025/03/19 CloudFormation schemas in us-east-1; Refresh existing schemas. --- .../schemas/AWS_ApiGatewayV2_DomainName.json | 7 +- .../schemas/AWS_AppSync_DomainName.json | 70 ++- ...licationSignals_ServiceLevelObjective.json | 94 +++- .../schemas/AWS_Bedrock_DataSource.json | 105 ++++- .../schemas/AWS_Bedrock_KnowledgeBase.json | 62 ++- .../schemas/AWS_CloudFormation_GuardHook.json | 19 +- .../AWS_CloudFormation_LambdaHook.json | 19 +- .../schemas/AWS_CloudFormation_StackSet.json | 7 + .../schemas/AWS_CloudFront_AnycastIpList.json | 59 ++- .../schemas/AWS_CloudFront_Distribution.json | 17 +- .../schemas/AWS_CloudFront_VpcOrigin.json | 53 ++- .../AWS_CloudTrail_EventDataStore.json | 14 +- .../schemas/AWS_DataZone_Domain.json | 8 + .../schemas/AWS_EC2_CapacityReservation.json | 68 ++- .../schemas/AWS_EC2_VPCEndpointService.json | 16 +- ...mageBuilder_DistributionConfiguration.json | 432 +++++++++--------- .../schemas/AWS_Kendra_DataSource.json | 12 + .../schemas/AWS_Kendra_Faq.json | 12 + .../schemas/AWS_Kendra_Index.json | 12 + .../schemas/AWS_Lambda_LayerVersion.json | 3 + .../schemas/AWS_MediaConnect_Bridge.json | 8 +- .../schemas/AWS_PaymentCryptography_Key.json | 3 +- .../schemas/AWS_RUM_AppMonitor.json | 59 ++- .../AWS_RedshiftServerless_Workgroup.json | 16 +- .../cloudformation/schemas/AWS_S3_Bucket.json | 17 +- ...WS_SageMaker_DataQualityJobDefinition.json | 9 +- .../AWS_SageMaker_ModelBiasJobDefinition.json | 11 +- ...aker_ModelExplainabilityJobDefinition.json | 11 +- ...S_SageMaker_ModelQualityJobDefinition.json | 9 +- .../schemas/AWS_WAFv2_WebACL.json | 86 ++++ .../AWS_WorkSpaces_WorkspacesPool.json | 27 +- 31 files changed, 1002 insertions(+), 343 deletions(-) diff --git a/internal/service/cloudformation/schemas/AWS_ApiGatewayV2_DomainName.json b/internal/service/cloudformation/schemas/AWS_ApiGatewayV2_DomainName.json index debbeab78d..bf39fb7fc6 100644 --- a/internal/service/cloudformation/schemas/AWS_ApiGatewayV2_DomainName.json +++ b/internal/service/cloudformation/schemas/AWS_ApiGatewayV2_DomainName.json @@ -42,7 +42,8 @@ "typeName": "AWS::ApiGatewayV2::DomainName", "readOnlyProperties": [ "/properties/RegionalDomainName", - "/properties/RegionalHostedZoneId" + "/properties/RegionalHostedZoneId", + "/properties/DomainNameArn" ], "description": "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*.", "createOnlyProperties": [ @@ -116,6 +117,10 @@ "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.", "type": "string" }, + "DomainNameArn": { + "description": "", + "type": "string" + }, "DomainNameConfigurations": { "uniqueItems": false, "description": "The domain name configurations.", diff --git a/internal/service/cloudformation/schemas/AWS_AppSync_DomainName.json b/internal/service/cloudformation/schemas/AWS_AppSync_DomainName.json index e247d2b76e..e1b58c33c4 100644 --- a/internal/service/cloudformation/schemas/AWS_AppSync_DomainName.json +++ b/internal/service/cloudformation/schemas/AWS_AppSync_DomainName.json @@ -2,6 +2,42 @@ "typeName": "AWS::AppSync::DomainName", "description": "Resource Type definition for AWS::AppSync::DomainName", "additionalProperties": false, + "definitions": { + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + "type": "object", + "properties": { + "Key": { + "description": "A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "" + }, + "Value": { + "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "pattern": "^[\\s\\w+-=\\.:/@]*$" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + } + } + }, "properties": { "DomainName": { "type": "string", @@ -25,13 +61,25 @@ }, "HostedZoneId": { "type": "string" + }, + "DomainNameArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Domain Name." + }, + "Tags": { + "$ref": "#/definitions/Tags" } }, "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource" + ] }, "required": [ "DomainName", @@ -42,7 +90,8 @@ ], "readOnlyProperties": [ "/properties/AppSyncDomainName", - "/properties/HostedZoneId" + "/properties/HostedZoneId", + "/properties/DomainNameArn" ], "createOnlyProperties": [ "/properties/DomainName", @@ -54,18 +103,23 @@ "appsync:CreateDomainName", "appsync:GetDomainName", "acm:DescribeCertificate", - "cloudfront:UpdateDistribution" + "cloudfront:UpdateDistribution", + "appsync:TagResource" ] }, "delete": { "permissions": [ "appsync:GetDomainName", - "appsync:DeleteDomainName" + "appsync:DeleteDomainName", + "appsync:UntagResource" ] }, "update": { "permissions": [ - "appsync:UpdateDomainName" + "appsync:UpdateDomainName", + "appsync:TagResource", + "appsync:UntagResource", + "appsync:GetDomainName" ] }, "read": { diff --git a/internal/service/cloudformation/schemas/AWS_ApplicationSignals_ServiceLevelObjective.json b/internal/service/cloudformation/schemas/AWS_ApplicationSignals_ServiceLevelObjective.json index 4b2670ff66..aaf5172626 100644 --- a/internal/service/cloudformation/schemas/AWS_ApplicationSignals_ServiceLevelObjective.json +++ b/internal/service/cloudformation/schemas/AWS_ApplicationSignals_ServiceLevelObjective.json @@ -53,6 +53,9 @@ }, "BurnRateConfigurations": { "$ref": "#/definitions/BurnRateConfigurations" + }, + "ExclusionWindows": { + "$ref": "#/definitions/ExclusionWindows" } }, "required": [ @@ -293,15 +296,17 @@ ] }, "DurationUnit": { - "description": "Specifies the calendar interval unit.", + "description": "Specifies the interval unit.", "type": "string", "enum": [ + "MINUTE", + "HOUR", "DAY", "MONTH" ] }, "Duration": { - "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", "type": "integer", "minimum": 1 }, @@ -474,6 +479,77 @@ "required": [ "LookBackWindowMinutes" ] + }, + "ExclusionWindows": { + "description": "Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ExclusionWindow" + }, + "minItems": 0, + "maxItems": 10 + }, + "ExclusionWindow": { + "description": "This object defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + "type": "object", + "additionalProperties": false, + "properties": { + "Window": { + "$ref": "#/definitions/Window" + }, + "StartTime": { + "type": "string", + "description": "The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past." + }, + "RecurrenceRule": { + "$ref": "#/definitions/RecurrenceRule" + }, + "Reason": { + "description": "An optional reason for scheduling this time exclusion window. Default is 'No reason'.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "default": "No reason" + } + }, + "required": [ + "Window" + ] + }, + "Window": { + "description": "This object defines the length of time an exclusion window should span.", + "type": "object", + "additionalProperties": false, + "properties": { + "DurationUnit": { + "$ref": "#/definitions/DurationUnit" + }, + "Duration": { + "$ref": "#/definitions/Duration" + } + }, + "required": [ + "DurationUnit", + "Duration" + ] + }, + "RecurrenceRule": { + "description": "This object defines how often to repeat a time exclusion window.", + "type": "object", + "additionalProperties": false, + "properties": { + "Expression": { + "description": "A cron or rate expression denoting how often to repeat this exclusion window.", + "type": "string", + "minLength": 1, + "maxLength": 1024 + } + }, + "required": [ + "Expression" + ] } }, "handlers": { @@ -485,13 +561,16 @@ "application-signals:GetServiceLevelObjective", "application-signals:ListTagsForResource", "iam:GetRole", - "iam:CreateServiceLinkedRole" + "iam:CreateServiceLinkedRole", + "application-signals:ListServiceLevelObjectiveExclusionWindows", + "application-signals:BatchUpdateExclusionWindows" ] }, "read": { "permissions": [ "application-signals:GetServiceLevelObjective", - "application-signals:ListTagsForResource" + "application-signals:ListTagsForResource", + "application-signals:ListServiceLevelObjectiveExclusionWindows" ] }, "update": { @@ -501,7 +580,9 @@ "application-signals:TagResource", "application-signals:UntagResource", "application-signals:GetServiceLevelObjective", - "application-signals:ListTagsForResource" + "application-signals:ListTagsForResource", + "application-signals:ListServiceLevelObjectiveExclusionWindows", + "application-signals:BatchUpdateExclusionWindows" ] }, "delete": { @@ -514,7 +595,8 @@ "list": { "permissions": [ "application-signals:ListServiceLevelObjectives", - "application-signals:ListTagsForResource" + "application-signals:ListTagsForResource", + "application-signals:ListServiceLevelObjectiveExclusionWindows" ] } }, diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_DataSource.json b/internal/service/cloudformation/schemas/AWS_Bedrock_DataSource.json index c7ddc59153..65b7bae000 100644 --- a/internal/service/cloudformation/schemas/AWS_Bedrock_DataSource.json +++ b/internal/service/cloudformation/schemas/AWS_Bedrock_DataSource.json @@ -3,16 +3,72 @@ "description": "Definition of AWS::Bedrock::DataSource Resource Type", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-aps", "definitions": { + "ContextEnrichmentConfiguration": { + "type": "object", + "description": "Additional Enrichment Configuration for example when using GraphRag.", + "properties": { + "Type": { + "$ref": "#/definitions/ContextEnrichmentType" + }, + "BedrockFoundationModelConfiguration": { + "$ref": "#/definitions/BedrockFoundationModelContextEnrichmentConfiguration" + } + }, + "required": [ + "Type" + ], + "additionalProperties": false + }, + "ContextEnrichmentType": { + "type": "string", + "description": "Enrichment type to be used for the vector database.", + "enum": [ + "BEDROCK_FOUNDATION_MODEL" + ] + }, + "BedrockFoundationModelContextEnrichmentConfiguration": { + "type": "object", + "description": "Bedrock Foundation Model configuration to be used for Context Enrichment.", + "properties": { + "EnrichmentStrategyConfiguration": { + "$ref": "#/definitions/EnrichmentStrategyConfiguration" + }, + "ModelArn": { + "$ref": "#/definitions/ModelArn" + } + }, + "required": [ + "EnrichmentStrategyConfiguration", + "ModelArn" + ], + "additionalProperties": false + }, + "EnrichmentStrategyConfiguration": { + "type": "object", + "description": "Strategy to be used when using Bedrock Foundation Model for Context Enrichment.", + "properties": { + "Method": { + "$ref": "#/definitions/EnrichmentStrategyMethod" + } + }, + "required": [ + "Method" + ], + "additionalProperties": false + }, + "EnrichmentStrategyMethod": { + "type": "string", + "description": "Enrichment Strategy method.", + "enum": [ + "CHUNK_ENTITY_EXTRACTION" + ] + }, "BedrockFoundationModelConfiguration": { "type": "object", "description": "Settings for a foundation model used to parse documents for a data source.", "properties": { "ModelArn": { - "type": "string", - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", - "description": "The model's ARN." + "$ref": "#/definitions/ModelArn" }, "ParsingPrompt": { "$ref": "#/definitions/ParsingPrompt" @@ -26,6 +82,13 @@ ], "additionalProperties": false }, + "ModelArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", + "description": "The model's ARN." + }, "ChunkingConfiguration": { "type": "object", "description": "Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.", @@ -501,6 +564,9 @@ }, "ParsingConfiguration": { "$ref": "#/definitions/ParsingConfiguration" + }, + "ContextEnrichmentConfiguration": { + "$ref": "#/definitions/ContextEnrichmentConfiguration" } }, "additionalProperties": false @@ -623,7 +689,8 @@ "type": "string", "description": "The supported authentication type to authenticate and connect to your SharePoint site/sites.", "enum": [ - "OAUTH2_CLIENT_CREDENTIALS" + "OAUTH2_CLIENT_CREDENTIALS", + "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS" ] }, "CredentialsSecretArn": { @@ -728,6 +795,18 @@ }, "Scope": { "$ref": "#/definitions/WebScopeType" + }, + "UserAgent": { + "type": "string", + "description": "The suffix that will be included in the user agent header.", + "maxLength": 40, + "minLength": 15 + }, + "UserAgentHeader": { + "type": "string", + "description": "The full user agent header, including UUID and suffix.", + "maxLength": 86, + "minLength": 61 } }, "additionalProperties": false @@ -741,6 +820,11 @@ "minimum": 1, "maximum": 300, "description": "Rate of web URLs retrieved per minute." + }, + "MaxPages": { + "type": "integer", + "minimum": 1, + "description": "Maximum number of pages the crawler can crawl." } }, "additionalProperties": false @@ -897,7 +981,8 @@ "/properties/DataSourceStatus", "/properties/CreatedAt", "/properties/UpdatedAt", - "/properties/FailureReasons" + "/properties/FailureReasons", + "/properties/DataSourceConfiguration/WebConfiguration/CrawlerConfiguration/UserAgentHeader" ], "createOnlyProperties": [ "/properties/KnowledgeBaseId", @@ -918,7 +1003,8 @@ "permissions": [ "bedrock:CreateDataSource", "bedrock:GetDataSource", - "bedrock:GetKnowledgeBase" + "bedrock:GetKnowledgeBase", + "kms:GenerateDataKey" ] }, "read": { @@ -929,7 +1015,8 @@ "update": { "permissions": [ "bedrock:GetDataSource", - "bedrock:UpdateDataSource" + "bedrock:UpdateDataSource", + "kms:GenerateDataKey" ] }, "delete": { diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json b/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json index 39755d8fc9..ab05919512 100644 --- a/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json +++ b/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json @@ -43,7 +43,8 @@ "OPENSEARCH_SERVERLESS", "PINECONE", "RDS", - "MONGO_DB_ATLAS" + "MONGO_DB_ATLAS", + "NEPTUNE_ANALYTICS" ] }, "KnowledgeBaseType": { @@ -389,6 +390,50 @@ ], "additionalProperties": false }, + "NeptuneAnalyticsFieldMapping": { + "type": "object", + "description": "A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields.", + "properties": { + "TextField": { + "type": "string", + "maxLength": 2048, + "pattern": "^.*$", + "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose." + }, + "MetadataField": { + "type": "string", + "maxLength": 2048, + "pattern": "^.*$", + "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store." + } + }, + "required": [ + "TextField", + "MetadataField" + ], + "additionalProperties": false + }, + "NeptuneAnalyticsConfiguration": { + "type": "object", + "description": "Contains the configurations to use Neptune Analytics as Vector Store.", + "properties": { + "GraphArn": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": "^arn:aws(|-cn|-us-gov):neptune-graph:[a-zA-Z0-9-]*:[0-9]{12}:graph\\/g-[a-zA-Z0-9]{10}$", + "description": "ARN for Neptune Analytics graph database." + }, + "FieldMapping": { + "$ref": "#/definitions/NeptuneAnalyticsFieldMapping" + } + }, + "required": [ + "GraphArn", + "FieldMapping" + ], + "additionalProperties": false + }, "StorageConfiguration": { "type": "object", "description": "The vector store service in which the knowledge base is stored.", @@ -407,6 +452,9 @@ }, "MongoDbAtlasConfiguration": { "$ref": "#/definitions/MongoDbAtlasConfiguration" + }, + "NeptuneAnalyticsConfiguration": { + "$ref": "#/definitions/NeptuneAnalyticsConfiguration" } }, "required": [ @@ -428,6 +476,11 @@ "RdsConfiguration" ] }, + { + "required": [ + "NeptuneAnalyticsConfiguration" + ] + }, { "required": [ "MongoDbAtlasConfiguration" @@ -1128,7 +1181,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "bedrock:TagResource", + "bedrock:UntagResource", + "bedrock:ListTagsForResource" + ] }, "additionalProperties": false } diff --git a/internal/service/cloudformation/schemas/AWS_CloudFormation_GuardHook.json b/internal/service/cloudformation/schemas/AWS_CloudFormation_GuardHook.json index ec16fa9340..431392fd02 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFormation_GuardHook.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFormation_GuardHook.json @@ -27,8 +27,21 @@ "type": "string", "maxLength": 256 }, + "StackRole": { + "description": "IAM Stack Role ARN filter", + "type": "string", + "maxLength": 256, + "anyOf": [ + { + "pattern": "arn:.+:iam::[0-9]{12}:role/.+" + }, + { + "pattern": "" + } + ] + }, "StackName": { - "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", "description": "CloudFormation Stack name", "type": "string", "maxLength": 128 @@ -244,7 +257,7 @@ "uniqueItems": true, "insertionOrder": false, "items": { - "$ref": "#/definitions/Role" + "$ref": "#/definitions/StackRole" } }, "Exclude": { @@ -255,7 +268,7 @@ "uniqueItems": true, "insertionOrder": false, "items": { - "$ref": "#/definitions/Role" + "$ref": "#/definitions/StackRole" } } } diff --git a/internal/service/cloudformation/schemas/AWS_CloudFormation_LambdaHook.json b/internal/service/cloudformation/schemas/AWS_CloudFormation_LambdaHook.json index 0108698f53..04fba9b6b4 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFormation_LambdaHook.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFormation_LambdaHook.json @@ -9,8 +9,21 @@ "type": "string", "maxLength": 256 }, + "StackRole": { + "description": "IAM Stack Role ARN filter", + "type": "string", + "maxLength": 256, + "anyOf": [ + { + "pattern": "arn:.+:iam::[0-9]{12}:role/.+" + }, + { + "pattern": "" + } + ] + }, "StackName": { - "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", "description": "CloudFormation Stack name", "type": "string", "maxLength": 128 @@ -225,7 +238,7 @@ "uniqueItems": true, "insertionOrder": false, "items": { - "$ref": "#/definitions/Role" + "$ref": "#/definitions/StackRole" } }, "Exclude": { @@ -236,7 +249,7 @@ "uniqueItems": true, "insertionOrder": false, "items": { - "$ref": "#/definitions/Role" + "$ref": "#/definitions/StackRole" } } } diff --git a/internal/service/cloudformation/schemas/AWS_CloudFormation_StackSet.json b/internal/service/cloudformation/schemas/AWS_CloudFormation_StackSet.json index 7b820dbb18..abd69fe649 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFormation_StackSet.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFormation_StackSet.json @@ -371,6 +371,13 @@ "/properties/StackSetName" ] ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "handlers": { "create": { "permissions": [ diff --git a/internal/service/cloudformation/schemas/AWS_CloudFront_AnycastIpList.json b/internal/service/cloudformation/schemas/AWS_CloudFront_AnycastIpList.json index eceb244656..e052411081 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFront_AnycastIpList.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFront_AnycastIpList.json @@ -13,29 +13,36 @@ "items": { "type": "string" }, - "type": "array" + "type": "array", + "description": "The static IP addresses that are allocated to the Anycast static IP list." }, "Arn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Anycast static IP list." }, "Id": { - "type": "string" + "type": "string", + "description": "The ID of the Anycast static IP list." }, "IpCount": { - "type": "integer" + "type": "integer", + "description": "The number of IP addresses in the Anycast static IP list." }, "LastModifiedTime": { "format": "date-time", - "type": "string" + "type": "string", + "description": "The last time the Anycast static IP list was modified." }, "Name": { "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]{1,64}$", - "type": "string" + "type": "string", + "description": "The name of the Anycast static IP list." }, "Status": { - "type": "string" + "type": "string", + "description": "The status of the Anycast static IP list. Valid values: ``Deployed``, ``Deploying``, or ``Failed``." } }, "required": [ @@ -47,7 +54,8 @@ "Name", "Status" ], - "type": "object" + "type": "object", + "description": "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*." }, "Tag": { "additionalProperties": false, @@ -56,19 +64,22 @@ "maxLength": 128, "minLength": 1, "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" + "type": "string", + "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``." }, "Value": { "maxLength": 256, "minLength": 0, "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" + "type": "string", + "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``." } }, "required": [ "Key" ], - "type": "object" + "type": "object", + "description": "A complex type that contains ``Tag`` key and ``Tag`` value." }, "Tags": { "additionalProperties": false, @@ -77,13 +88,15 @@ "items": { "$ref": "#/definitions/Tag" }, - "type": "array" + "type": "array", + "description": "A complex type that contains ``Tag`` elements." } }, - "type": "object" + "type": "object", + "description": "A complex type that contains zero or more ``Tag`` elements." } }, - "description": "Definition of AWS::CloudFront::AnycastIpList Resource Type", + "description": "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", "handlers": { "create": { "permissions": [ @@ -114,25 +127,31 @@ ], "properties": { "AnycastIpList": { - "$ref": "#/definitions/AnycastIpList" + "$ref": "#/definitions/AnycastIpList", + "description": "" }, "ETag": { - "type": "string" + "type": "string", + "description": "" }, "Id": { - "type": "string" + "type": "string", + "description": "" }, "IpCount": { - "type": "integer" + "type": "integer", + "description": "The number of IP addresses in the Anycast static IP list." }, "Name": { "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9-_]{1,64}$", - "type": "string" + "type": "string", + "description": "The name of the Anycast static IP list." }, "Tags": { - "$ref": "#/definitions/Tags" + "$ref": "#/definitions/Tags", + "description": "A complex type that contains zero or more ``Tag`` elements." } }, "readOnlyProperties": [ diff --git a/internal/service/cloudformation/schemas/AWS_CloudFront_Distribution.json b/internal/service/cloudformation/schemas/AWS_CloudFront_Distribution.json index 75329b1fcb..09c66b3220 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFront_Distribution.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFront_Distribution.json @@ -376,7 +376,7 @@ }, "AnycastIpListId": { "type": "string", - "description": "" + "description": "ID of the Anycast static IP list that is associated with the distribution." }, "CNAMEs": { "items": { @@ -731,7 +731,7 @@ }, "VpcOriginConfig": { "$ref": "#/definitions/VpcOriginConfig", - "description": "" + "description": "The VPC origin configuration." } }, "required": [ @@ -739,7 +739,7 @@ "Id" ], "type": "object", - "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits)." + "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``VpcOriginConfig`` to specify a VPC origin.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits)." }, "OriginCustomHeader": { "additionalProperties": false, @@ -983,21 +983,24 @@ "properties": { "OriginKeepaliveTimeout": { "default": 5, - "type": "integer" + "type": "integer", + "description": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*." }, "OriginReadTimeout": { "default": 30, - "type": "integer" + "type": "integer", + "description": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*." }, "VpcOriginId": { - "type": "string" + "type": "string", + "description": "The VPC origin ID." } }, "required": [ "VpcOriginId" ], "type": "object", - "description": "" + "description": "An Amazon CloudFront VPC origin configuration." } }, "deprecatedProperties": [ diff --git a/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json b/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json index 354c3be641..a33293868e 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json +++ b/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json @@ -5,38 +5,46 @@ "additionalProperties": false, "properties": { "Key": { - "type": "string" + "type": "string", + "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``." }, "Value": { - "type": "string" + "type": "string", + "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``." } }, "required": [ "Value", "Key" ], - "type": "object" + "type": "object", + "description": "A complex type that contains ``Tag`` key and ``Tag`` value." }, "VpcOriginEndpointConfig": { "additionalProperties": false, "properties": { "Arn": { - "type": "string" + "type": "string", + "description": "The ARN of the CloudFront VPC origin endpoint configuration." }, "HTTPPort": { "default": 80, - "type": "integer" + "type": "integer", + "description": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``." }, "HTTPSPort": { "default": 443, - "type": "integer" + "type": "integer", + "description": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``." }, "Name": { - "type": "string" + "type": "string", + "description": "The name of the CloudFront VPC origin endpoint configuration." }, "OriginProtocolPolicy": { "default": "match-viewer", - "type": "string" + "type": "string", + "description": "The origin protocol policy for the CloudFront VPC origin endpoint configuration." }, "OriginSSLProtocols": { "default": [ @@ -47,17 +55,19 @@ "type": "string" }, "type": "array", - "uniqueItems": false + "uniqueItems": false, + "description": "" } }, "required": [ "Name", "Arn" ], - "type": "object" + "type": "object", + "description": "An Amazon CloudFront VPC origin endpoint configuration." } }, - "description": "Resource Type definition for AWS::CloudFront::VpcOrigin", + "description": "An Amazon CloudFront VPC origin.", "handlers": { "create": { "permissions": [ @@ -113,29 +123,36 @@ ], "properties": { "Arn": { - "type": "string" + "type": "string", + "description": "" }, "CreatedTime": { - "type": "string" + "type": "string", + "description": "" }, "Id": { - "type": "string" + "type": "string", + "description": "" }, "LastModifiedTime": { - "type": "string" + "type": "string", + "description": "" }, "Status": { - "type": "string" + "type": "string", + "description": "" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array", - "uniqueItems": false + "uniqueItems": false, + "description": "A complex type that contains zero or more ``Tag`` elements." }, "VpcOriginEndpointConfig": { - "$ref": "#/definitions/VpcOriginEndpointConfig" + "$ref": "#/definitions/VpcOriginEndpointConfig", + "description": "The VPC origin endpoint configuration." } }, "readOnlyProperties": [ diff --git a/internal/service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json b/internal/service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json index 02d38143c9..15f8201c04 100644 --- a/internal/service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json +++ b/internal/service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json @@ -334,5 +334,17 @@ ] } }, - "additionalProperties": false + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:ListTags" + ] + } } diff --git a/internal/service/cloudformation/schemas/AWS_DataZone_Domain.json b/internal/service/cloudformation/schemas/AWS_DataZone_Domain.json index 5aacd0be0b..9f7efba394 100644 --- a/internal/service/cloudformation/schemas/AWS_DataZone_Domain.json +++ b/internal/service/cloudformation/schemas/AWS_DataZone_Domain.json @@ -68,6 +68,13 @@ } }, "properties": { + "RootDomainUnitId": { + "type": "string", + "description": "The ID of the root domain in Amazon Datazone.", + "pattern": "^[a-z0-9_\\-]+$", + "minLength": 1, + "maxLength": 256 + }, "Arn": { "type": "string", "description": "The ARN of the Amazon DataZone domain.", @@ -152,6 +159,7 @@ "Name" ], "readOnlyProperties": [ + "/properties/RootDomainUnitId", "/properties/Arn", "/properties/CreatedAt", "/properties/Id", diff --git a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json index bfdf176ac0..138ebdfb44 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json @@ -61,6 +61,50 @@ }, "AvailabilityZoneId": { "type": "string" + }, + "StartDate": { + "type": "string" + }, + "CapacityReservationArn": { + "type": "string" + }, + "CreateDate": { + "type": "string" + }, + "State": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "DeliveryPreference": { + "type": "string" + }, + "CapacityReservationFleetId": { + "type": "string" + }, + "ReservationType": { + "type": "string" + }, + "CapacityAllocationSet": { + "type": "array", + "insertionOrder": false, + "uniqueItems": false, + "items": { + "$ref": "#/definitions/CapacityAllocation" + } + }, + "CommitmentInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "CommitmentEndDate": { + "type": "string" + }, + "CommittedInstanceCount": { + "type": "integer" + } + } } }, "definitions": { @@ -96,6 +140,18 @@ } } } + }, + "CapacityAllocation": { + "type": "object", + "additionalProperties": false, + "properties": { + "AllocationType": { + "type": "string" + }, + "Count": { + "type": "integer" + } + } } }, "required": [ @@ -121,7 +177,17 @@ "readOnlyProperties": [ "/properties/Id", "/properties/AvailableInstanceCount", - "/properties/TotalInstanceCount" + "/properties/TotalInstanceCount", + "/properties/StartDate", + "/properties/CapacityReservationArn", + "/properties/CreateDate", + "/properties/State", + "/properties/OwnerId", + "/properties/ReservationType", + "/properties/CapacityAllocationSet", + "/properties/CommitmentInfo", + "/properties/DeliveryPreference", + "/properties/CapacityReservationFleetId" ], "writeOnlyProperties": [ "/properties/UnusedReservationBillingOwnerId" diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VPCEndpointService.json b/internal/service/cloudformation/schemas/AWS_EC2_VPCEndpointService.json index 7e10f4b01f..ed4fe1e4a9 100644 --- a/internal/service/cloudformation/schemas/AWS_EC2_VPCEndpointService.json +++ b/internal/service/cloudformation/schemas/AWS_EC2_VPCEndpointService.json @@ -75,6 +75,15 @@ "items": { "$ref": "#/definitions/IpAddressType" } + }, + "SupportedRegions": { + "type": "array", + "description": "The Regions from which service consumers can access the service.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string" + } } }, "primaryIdentifier": [ @@ -106,6 +115,7 @@ "cloudwatch:DeleteInsightRules", "cloudwatch:PutManagedInsightRules", "ec2:DescribeVpcEndpointServiceConfigurations", + "vpce:AllowMultiRegion", "ec2:CreateTags" ] }, @@ -118,7 +128,8 @@ "cloudwatch:DeleteInsightRules", "cloudwatch:PutManagedInsightRules", "ec2:CreateTags", - "ec2:DeleteTags" + "ec2:DeleteTags", + "vpce:AllowMultiRegion" ] }, "read": { @@ -133,7 +144,8 @@ "ec2:DescribeVpcEndpointServiceConfigurations", "cloudwatch:ListManagedInsightRules", "cloudwatch:DeleteInsightRules", - "ec2:DeleteTags" + "ec2:DeleteTags", + "vpce:AllowMultiRegion" ] }, "list": { diff --git a/internal/service/cloudformation/schemas/AWS_ImageBuilder_DistributionConfiguration.json b/internal/service/cloudformation/schemas/AWS_ImageBuilder_DistributionConfiguration.json index 81bffbbe77..f563c78035 100644 --- a/internal/service/cloudformation/schemas/AWS_ImageBuilder_DistributionConfiguration.json +++ b/internal/service/cloudformation/schemas/AWS_ImageBuilder_DistributionConfiguration.json @@ -1,240 +1,182 @@ { - "typeName": "AWS::ImageBuilder::DistributionConfiguration", - "description": "Resource schema for AWS::ImageBuilder::DistributionConfiguration", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder.git", - "properties": { - "Arn": { - "description": "The Amazon Resource Name (ARN) of the distribution configuration.", - "type": "string" + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "handlers": { + "read": { + "permissions": [ + "imagebuilder:GetDistributionConfiguration" + ] }, - "Name": { - "description": "The name of the distribution configuration.", - "type": "string" + "create": { + "permissions": [ + "iam:GetRole", + "iam:CreateServiceLinkedRole", + "ec2:DescribeLaunchTemplates", + "ec2:CreateLaunchTemplateVersion", + "ec2:ModifyLaunchTemplate", + "imagebuilder:TagResource", + "imagebuilder:GetDistributionConfiguration", + "imagebuilder:CreateDistributionConfiguration" + ] }, - "Description": { - "description": "The description of the distribution configuration.", - "type": "string" + "update": { + "permissions": [ + "ec2:DescribeLaunchTemplates", + "ec2:CreateLaunchTemplateVersion", + "ec2:ModifyLaunchTemplate", + "imagebuilder:GetDistributionConfiguration", + "imagebuilder:UpdateDistributionConfiguration" + ] }, - "Distributions": { - "description": "The distributions of the distribution configuration.", - "type": "array", - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Distribution" - } + "list": { + "permissions": [ + "imagebuilder:ListDistributionConfigurations" + ] }, - "Tags": { - "description": "The tags associated with the component.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "": { - "type": "string" - } - } + "delete": { + "permissions": [ + "imagebuilder:GetDistributionConfiguration", + "imagebuilder:UnTagResource", + "imagebuilder:DeleteDistributionConfiguration" + ] } }, + "typeName": "AWS::ImageBuilder::DistributionConfiguration", + "readOnlyProperties": [ + "/properties/Arn" + ], + "description": "Resource schema for AWS::ImageBuilder::DistributionConfiguration", + "createOnlyProperties": [ + "/properties/Name" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], "definitions": { - "Distribution": { - "description": "The distributions of the distribution configuration.", - "type": "object", - "additionalProperties": false, - "properties": { - "Region": { - "description": "region", - "type": "string" - }, - "AmiDistributionConfiguration": { - "$ref": "#/definitions/AmiDistributionConfiguration" - }, - "ContainerDistributionConfiguration": { - "$ref": "#/definitions/ContainerDistributionConfiguration" - }, - "LicenseConfigurationArns": { - "description": "The License Manager Configuration to associate with the AMI in the specified Region.", - "type": "array", - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LicenseConfigurationArn" - } - }, - "LaunchTemplateConfigurations": { - "description": "A group of launchTemplateConfiguration settings that apply to image distribution.", - "type": "array", - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LaunchTemplateConfiguration" - } - }, - "FastLaunchConfigurations": { - "description": "The Windows faster-launching configurations to use for AMI distribution.", - "type": "array", - "insertionOrder": true, - "items": { - "$ref": "#/definitions/FastLaunchConfiguration" - } - } - }, - "required": [ - "Region" - ] - }, "AmiDistributionConfiguration": { "description": "The specific AMI settings (for example, launch permissions, AMI tags).", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "Name": { - "description": "The name of the AMI distribution configuration.", + "AmiTags": { + "patternProperties": { + "": { + "type": "string" + } + }, + "description": "The tags to apply to AMIs distributed to this Region.", + "additionalProperties": false, + "type": "object" + }, + "Description": { + "description": "The description of the AMI distribution configuration.", "type": "string" }, "KmsKeyId": { "description": "The KMS key identifier used to encrypt the distributed image.", "type": "string" }, - "Description": { - "description": "The description of the AMI distribution configuration.", - "type": "string" - }, - "AmiTags": { - "description": "The tags to apply to AMIs distributed to this Region.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "": { - "type": "string" - } - } + "LaunchPermissionConfiguration": { + "$ref": "#/definitions/LaunchPermissionConfiguration" }, "TargetAccountIds": { "description": "The ID of accounts to which you want to distribute an image.", - "type": "array", "insertionOrder": true, + "type": "array", "items": { "type": "string" } }, - "LaunchPermissionConfiguration": { - "$ref": "#/definitions/LaunchPermissionConfiguration" + "Name": { + "description": "The name of the AMI distribution configuration.", + "type": "string" } } }, "ContainerDistributionConfiguration": { "description": "Container distribution settings for encryption, licensing, and sharing in a specific Region.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "Description": { - "description": "The description of the container distribution configuration.", - "type": "string" + "TargetRepository": { + "description": "The destination repository for the container distribution configuration.", + "$ref": "#/definitions/TargetContainerRepository" }, "ContainerTags": { "description": "Tags that are attached to the container distribution configuration.", - "type": "array", "insertionOrder": true, + "type": "array", "items": { "type": "string" } }, - "TargetRepository": { - "description": "The destination repository for the container distribution configuration.", - "$ref": "#/definitions/TargetContainerRepository" - } - } - }, - "LaunchTemplateConfiguration": { - "description": "launchTemplateConfiguration settings that apply to image distribution.", - "type": "object", - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "description": "Identifies the EC2 launch template to use.", - "type": "string" - }, - "AccountId": { - "description": "The account ID that this configuration applies to.", + "Description": { + "description": "The description of the container distribution configuration.", "type": "string" - }, - "SetDefaultVersion": { - "description": "Set the specified EC2 launch template as the default launch template for the specified account.", - "type": "boolean" } } }, - "FastLaunchConfiguration": { - "description": "The Windows faster-launching configuration to use for AMI distribution.", - "type": "object", + "FastLaunchSnapshotConfiguration": { + "description": "Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.", "additionalProperties": false, + "type": "object", "properties": { - "AccountId": { - "description": "The owner account ID for the fast-launch enabled Windows AMI.", - "type": "string" - }, - "Enabled": { - "description": "A Boolean that represents the current state of faster launching for the Windows AMI. Set to true to start using Windows faster launching, or false to stop using it.", - "type": "boolean" - }, - "LaunchTemplate": { - "description": "The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.", - "$ref": "#/definitions/FastLaunchLaunchTemplateSpecification" - }, - "MaxParallelLaunches": { - "description": "The maximum number of parallel instances that are launched for creating resources.", + "TargetResourceCount": { + "description": "The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.", "type": "integer" - }, - "SnapshotConfiguration": { - "description": "Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.", - "$ref": "#/definitions/FastLaunchSnapshotConfiguration" } } }, "LaunchPermissionConfiguration": { "description": "Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "UserIds": { - "description": "The AWS account ID.", - "type": "array", + "OrganizationArns": { + "description": "The ARN for an Amazon Web Services Organization that you want to share your AMI with.", "insertionOrder": false, + "type": "array", "items": { "type": "string" } }, - "UserGroups": { - "description": "The name of the group.", - "type": "array", + "OrganizationalUnitArns": { + "description": "The ARN for an Organizations organizational unit (OU) that you want to share your AMI with.", "insertionOrder": false, + "type": "array", "items": { "type": "string" } }, - "OrganizationArns": { - "description": "The ARN for an Amazon Web Services Organization that you want to share your AMI with.", - "type": "array", + "UserIds": { + "description": "The AWS account ID.", "insertionOrder": false, + "type": "array", "items": { "type": "string" } }, - "OrganizationalUnitArns": { - "description": "The ARN for an Organizations organizational unit (OU) that you want to share your AMI with.", - "type": "array", + "UserGroups": { + "description": "The name of the group.", "insertionOrder": false, + "type": "array", "items": { "type": "string" } } } }, - "LicenseConfigurationArn": { - "description": "The Amazon Resource Name (ARN) of the License Manager configuration.", - "type": "string" - }, "TargetContainerRepository": { "description": "The destination repository for the container image.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Service": { "description": "The service of target container repository.", @@ -249,15 +191,78 @@ } } }, - "FastLaunchLaunchTemplateSpecification": { - "description": "The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.", + "Distribution": { + "description": "The distributions of the distribution configuration.", + "additionalProperties": false, "type": "object", + "properties": { + "AmiDistributionConfiguration": { + "$ref": "#/definitions/AmiDistributionConfiguration" + }, + "ContainerDistributionConfiguration": { + "$ref": "#/definitions/ContainerDistributionConfiguration" + }, + "FastLaunchConfigurations": { + "description": "The Windows faster-launching configurations to use for AMI distribution.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/FastLaunchConfiguration" + } + }, + "LaunchTemplateConfigurations": { + "description": "A group of launchTemplateConfiguration settings that apply to image distribution.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/LaunchTemplateConfiguration" + } + }, + "LicenseConfigurationArns": { + "description": "The License Manager Configuration to associate with the AMI in the specified Region.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/LicenseConfigurationArn" + } + }, + "Region": { + "description": "region", + "type": "string" + } + }, + "required": [ + "Region" + ] + }, + "LaunchTemplateConfiguration": { + "description": "launchTemplateConfiguration settings that apply to image distribution.", "additionalProperties": false, + "type": "object", "properties": { - "LaunchTemplateId": { - "description": "The ID of the launch template to use for faster launching for a Windows AMI.", + "SetDefaultVersion": { + "description": "Set the specified EC2 launch template as the default launch template for the specified account.", + "type": "boolean" + }, + "AccountId": { + "description": "The account ID that this configuration applies to.", "type": "string" }, + "LaunchTemplateId": { + "description": "Identifies the EC2 launch template to use.", + "type": "string" + } + } + }, + "LicenseConfigurationArn": { + "description": "The Amazon Resource Name (ARN) of the License Manager configuration.", + "type": "string" + }, + "FastLaunchLaunchTemplateSpecification": { + "description": "The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.", + "additionalProperties": false, + "type": "object", + "properties": { "LaunchTemplateName": { "description": "The name of the launch template to use for faster launching for a Windows AMI.", "type": "string" @@ -265,80 +270,75 @@ "LaunchTemplateVersion": { "description": "The version of the launch template to use for faster launching for a Windows AMI.", "type": "string" + }, + "LaunchTemplateId": { + "description": "The ID of the launch template to use for faster launching for a Windows AMI.", + "type": "string" } } }, - "FastLaunchSnapshotConfiguration": { - "description": "Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.", - "type": "object", + "FastLaunchConfiguration": { + "description": "The Windows faster-launching configuration to use for AMI distribution.", "additionalProperties": false, + "type": "object", "properties": { - "TargetResourceCount": { - "description": "The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.", + "AccountId": { + "description": "The owner account ID for the fast-launch enabled Windows AMI.", + "type": "string" + }, + "LaunchTemplate": { + "description": "The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.", + "$ref": "#/definitions/FastLaunchLaunchTemplateSpecification" + }, + "Enabled": { + "description": "A Boolean that represents the current state of faster launching for the Windows AMI. Set to true to start using Windows faster launching, or false to stop using it.", + "type": "boolean" + }, + "MaxParallelLaunches": { + "description": "The maximum number of parallel instances that are launched for creating resources.", "type": "integer" + }, + "SnapshotConfiguration": { + "description": "Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.", + "$ref": "#/definitions/FastLaunchSnapshotConfiguration" } } } }, - "additionalProperties": false, "required": [ "Name", "Distributions" ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "readOnlyProperties": [ - "/properties/Arn" - ], - "createOnlyProperties": [ - "/properties/Name" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "iam:CreateServiceLinkedRole", - "ec2:DescribeLaunchTemplates", - "ec2:CreateLaunchTemplateVersion", - "ec2:ModifyLaunchTemplate", - "imagebuilder:TagResource", - "imagebuilder:GetDistributionConfiguration", - "imagebuilder:CreateDistributionConfiguration" - ] + "properties": { + "Description": { + "description": "The description of the distribution configuration.", + "type": "string" }, - "update": { - "permissions": [ - "ec2:DescribeLaunchTemplates", - "ec2:CreateLaunchTemplateVersion", - "ec2:ModifyLaunchTemplate", - "imagebuilder:GetDistributionConfiguration", - "imagebuilder:UpdateDistributionConfiguration" - ] + "Arn": { + "description": "The Amazon Resource Name (ARN) of the distribution configuration.", + "type": "string" }, - "read": { - "permissions": [ - "imagebuilder:GetDistributionConfiguration" - ] + "Tags": { + "patternProperties": { + "": { + "type": "string" + } + }, + "description": "The tags associated with the component.", + "additionalProperties": false, + "type": "object" }, - "delete": { - "permissions": [ - "imagebuilder:GetDistributionConfiguration", - "imagebuilder:UnTagResource", - "imagebuilder:DeleteDistributionConfiguration" - ] + "Name": { + "description": "The name of the distribution configuration.", + "type": "string" }, - "list": { - "permissions": [ - "imagebuilder:ListDistributionConfigurations" - ] + "Distributions": { + "description": "The distributions of the distribution configuration.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/Distribution" + } } } } diff --git a/internal/service/cloudformation/schemas/AWS_Kendra_DataSource.json b/internal/service/cloudformation/schemas/AWS_Kendra_DataSource.json index db31b4a540..53493d7243 100644 --- a/internal/service/cloudformation/schemas/AWS_Kendra_DataSource.json +++ b/internal/service/cloudformation/schemas/AWS_Kendra_DataSource.json @@ -1768,6 +1768,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "kendra:UntagResource", + "kendra:TagResource", + "kendra:ListTagsForResource" + ] + }, "additionalProperties": false, "primaryIdentifier": [ "/properties/Id", diff --git a/internal/service/cloudformation/schemas/AWS_Kendra_Faq.json b/internal/service/cloudformation/schemas/AWS_Kendra_Faq.json index aeecb7d30d..84ac271754 100644 --- a/internal/service/cloudformation/schemas/AWS_Kendra_Faq.json +++ b/internal/service/cloudformation/schemas/AWS_Kendra_Faq.json @@ -188,6 +188,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "kendra:UntagResource", + "kendra:TagResource", + "kendra:ListTagsForResource" + ] + }, "additionalProperties": false, "readOnlyProperties": [ "/properties/Id", diff --git a/internal/service/cloudformation/schemas/AWS_Kendra_Index.json b/internal/service/cloudformation/schemas/AWS_Kendra_Index.json index bfd324291a..9f9ffe32d4 100644 --- a/internal/service/cloudformation/schemas/AWS_Kendra_Index.json +++ b/internal/service/cloudformation/schemas/AWS_Kendra_Index.json @@ -430,6 +430,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "kendra:UntagResource", + "kendra:TagResource", + "kendra:ListTagsForResource" + ] + }, "additionalProperties": false, "primaryIdentifier": [ "/properties/Id" diff --git a/internal/service/cloudformation/schemas/AWS_Lambda_LayerVersion.json b/internal/service/cloudformation/schemas/AWS_Lambda_LayerVersion.json index 7bc8e494ec..3875bdec48 100644 --- a/internal/service/cloudformation/schemas/AWS_Lambda_LayerVersion.json +++ b/internal/service/cloudformation/schemas/AWS_Lambda_LayerVersion.json @@ -86,6 +86,9 @@ "primaryIdentifier": [ "/properties/LayerVersionArn" ], + "propertyTransform": { + "/properties/LayerName": "$split(LayerName, \":\")[-1] $OR LayerName" + }, "tagging": { "taggable": false, "tagOnCreate": false, diff --git a/internal/service/cloudformation/schemas/AWS_MediaConnect_Bridge.json b/internal/service/cloudformation/schemas/AWS_MediaConnect_Bridge.json index c113ff7d92..d244c87f4a 100644 --- a/internal/service/cloudformation/schemas/AWS_MediaConnect_Bridge.json +++ b/internal/service/cloudformation/schemas/AWS_MediaConnect_Bridge.json @@ -314,7 +314,9 @@ "create": { "permissions": [ "mediaconnect:CreateBridge", - "mediaconnect:DescribeBridge" + "mediaconnect:DescribeBridge", + "mediaconnect:AddBridgeOutputs", + "mediaconnect:AddBridgeSources" ] }, "read": { @@ -331,7 +333,9 @@ "delete": { "permissions": [ "mediaconnect:DescribeBridge", - "mediaconnect:DeleteBridge" + "mediaconnect:DeleteBridge", + "mediaconnect:RemoveBridgeOutput", + "mediaconnect:RemoveBridgeSource" ] }, "list": { diff --git a/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json b/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json index 84d9685e88..40ea96c330 100644 --- a/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json +++ b/internal/service/cloudformation/schemas/AWS_PaymentCryptography_Key.json @@ -14,7 +14,8 @@ "RSA_3072", "RSA_4096", "ECC_NIST_P256", - "ECC_NIST_P384" + "ECC_NIST_P384", + "ECC_NIST_P521" ] }, "KeyAttributes": { diff --git a/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json b/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json index 788dafe273..dc2dc87fb6 100644 --- a/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json +++ b/internal/service/cloudformation/schemas/AWS_RUM_AppMonitor.json @@ -270,6 +270,36 @@ "$ref": "#/definitions/CustomEventsStatus" } } + }, + "DeobfuscationConfiguration": { + "description": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + "additionalProperties": false, + "type": "object", + "properties": { + "JavaScriptSourceMaps": { + "description": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "description": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "S3Uri": { + "description": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + "type": "string", + "pattern": "^s3://[a-z0-9][-.a-z0-9]{1,61}(?:/[-!_*'().a-z0-9A-Z]+(?:/[-!_*'().a-z0-9A-Z]+)*)?/?$" + } + }, + "required": [ + "Status" + ] + } + } } }, "properties": { @@ -288,12 +318,21 @@ "maxLength": 255 }, "Domain": { - "description": "The top-level internet domain name for which your application has administrative authority.", + "description": "The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", "type": "string", "pattern": "", "minLength": 1, "maxLength": 253 }, + "DomainList": { + "description": "The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", + "type": "array", + "minItems": 1, + "maxItems": 5, + "items": { + "$ref": "#/properties/Domain" + } + }, "CwLogEnabled": { "description": "Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false", "type": "boolean" @@ -309,6 +348,9 @@ }, "ResourcePolicy": { "$ref": "#/definitions/ResourcePolicy" + }, + "DeobfuscationConfiguration": { + "$ref": "#/definitions/DeobfuscationConfiguration" } }, "additionalProperties": false, @@ -327,8 +369,19 @@ ] ], "required": [ - "Name", - "Domain" + "Name" + ], + "oneOf": [ + { + "required": [ + "Domain" + ] + }, + { + "required": [ + "DomainList" + ] + } ], "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json b/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json index e64243ee66..77cbcc5316 100644 --- a/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json +++ b/internal/service/cloudformation/schemas/AWS_RedshiftServerless_Workgroup.json @@ -161,6 +161,12 @@ }, "PricePerformanceTarget": { "$ref": "#/definitions/PerformanceTarget" + }, + "TrackName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_]+$" } }, "additionalProperties": false @@ -290,6 +296,12 @@ "maxItems": 200, "minItems": 0 }, + "TrackName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_]+$" + }, "Workgroup": { "description": "Definition for workgroup resource", "$ref": "#/definitions/Workgroup" @@ -316,18 +328,16 @@ "/properties/NamespaceName" ], "readOnlyProperties": [ - "/properties/Workgroup", "/properties/Workgroup/WorkgroupId", "/properties/Workgroup/WorkgroupArn", "/properties/Workgroup/WorkgroupName", "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", "/properties/Workgroup/EnhancedVpcRouting", "/properties/Workgroup/ConfigParameters/*/ParameterKey", "/properties/Workgroup/ConfigParameters/*/ParameterValue", "/properties/Workgroup/SecurityGroupIds", "/properties/Workgroup/SubnetIds", + "/properties/Workgroup/TrackName", "/properties/Workgroup/Status", "/properties/Workgroup/Endpoint/Address", "/properties/Workgroup/Endpoint/Port", diff --git a/internal/service/cloudformation/schemas/AWS_S3_Bucket.json b/internal/service/cloudformation/schemas/AWS_S3_Bucket.json index 768b69382e..4710e52639 100644 --- a/internal/service/cloudformation/schemas/AWS_S3_Bucket.json +++ b/internal/service/cloudformation/schemas/AWS_S3_Bucket.json @@ -79,7 +79,7 @@ }, "MetadataTableConfiguration": { "$ref": "#/definitions/MetadataTableConfiguration", - "description": "" + "description": "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html)." }, "NotificationConfiguration": { "$ref": "#/definitions/NotificationConfiguration", @@ -1657,13 +1657,14 @@ "additionalProperties": false, "properties": { "S3TablesDestination": { - "$ref": "#/definitions/S3TablesDestination" + "$ref": "#/definitions/S3TablesDestination", + "description": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket." } }, "required": [ "S3TablesDestination" ], - "description": "" + "description": "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html)." }, "S3TablesDestination": { "type": "object", @@ -1671,26 +1672,26 @@ "properties": { "TableBucketArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket." + "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket." }, "TableName": { "type": "string", - "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket." + "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket." }, "TableNamespace": { "type": "string", - "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata." + "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``." }, "TableArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket." + "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket." } }, "required": [ "TableBucketArn", "TableName" ], - "description": "" + "description": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket." } }, "tagging": { diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_DataQualityJobDefinition.json b/internal/service/cloudformation/schemas/AWS_SageMaker_DataQualityJobDefinition.json index af1fea3426..0747b7aa19 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_DataQualityJobDefinition.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_DataQualityJobDefinition.json @@ -545,6 +545,7 @@ "sagemaker:CreateDataQualityJobDefinition", "sagemaker:DescribeDataQualityJobDefinition", "sagemaker:AddTags", + "sagemaker:ListTags", "iam:PassRole" ] }, @@ -555,7 +556,8 @@ }, "read": { "permissions": [ - "sagemaker:DescribeDataQualityJobDefinition" + "sagemaker:DescribeDataQualityJobDefinition", + "sagemaker:ListTags" ] }, "list": { @@ -583,10 +585,7 @@ "/properties/EndpointName" ], "writeOnlyProperties": [ - "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/EndpointName" ], "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelBiasJobDefinition.json b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelBiasJobDefinition.json index 18dfaaca0d..9002184ebb 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelBiasJobDefinition.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelBiasJobDefinition.json @@ -581,7 +581,8 @@ "sagemaker:CreateModelBiasJobDefinition", "sagemaker:DescribeModelBiasJobDefinition", "iam:PassRole", - "sagemaker:AddTags" + "sagemaker:AddTags", + "sagemaker:ListTags" ] }, "delete": { @@ -591,7 +592,8 @@ }, "read": { "permissions": [ - "sagemaker:DescribeModelBiasJobDefinition" + "sagemaker:DescribeModelBiasJobDefinition", + "sagemaker:ListTags" ] }, "list": { @@ -619,10 +621,7 @@ "/properties/EndpointName" ], "writeOnlyProperties": [ - "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/EndpointName" ], "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelExplainabilityJobDefinition.json b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelExplainabilityJobDefinition.json index 98ae1a5513..4554ce2f10 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelExplainabilityJobDefinition.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelExplainabilityJobDefinition.json @@ -535,7 +535,8 @@ "sagemaker:CreateModelExplainabilityJobDefinition", "sagemaker:DescribeModelExplainabilityJobDefinition", "iam:PassRole", - "sagemaker:AddTags" + "sagemaker:AddTags", + "sagemaker:ListTags" ] }, "delete": { @@ -545,7 +546,8 @@ }, "read": { "permissions": [ - "sagemaker:DescribeModelExplainabilityJobDefinition" + "sagemaker:DescribeModelExplainabilityJobDefinition", + "sagemaker:ListTags" ] }, "list": { @@ -573,10 +575,7 @@ "/properties/EndpointName" ], "writeOnlyProperties": [ - "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/EndpointName" ], "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelQualityJobDefinition.json b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelQualityJobDefinition.json index 1ac1a969dd..820342f16b 100644 --- a/internal/service/cloudformation/schemas/AWS_SageMaker_ModelQualityJobDefinition.json +++ b/internal/service/cloudformation/schemas/AWS_SageMaker_ModelQualityJobDefinition.json @@ -607,6 +607,7 @@ "sagemaker:CreateModelQualityJobDefinition", "sagemaker:DescribeModelQualityJobDefinition", "sagemaker:AddTags", + "sagemaker:ListTags", "iam:PassRole" ] }, @@ -617,7 +618,8 @@ }, "read": { "permissions": [ - "sagemaker:DescribeModelQualityJobDefinition" + "sagemaker:DescribeModelQualityJobDefinition", + "sagemaker:ListTags" ] }, "list": { @@ -645,10 +647,7 @@ "/properties/EndpointName" ], "writeOnlyProperties": [ - "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/EndpointName" ], "tagging": { "taggable": true, diff --git a/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json b/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json index 58f6f01ff4..9875f7f762 100644 --- a/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json +++ b/internal/service/cloudformation/schemas/AWS_WAFv2_WebACL.json @@ -90,6 +90,28 @@ "EVALUATE_AS_STRING" ] }, + "DataProtect": { + "additionalProperties": false, + "type": "object", + "properties": { + "Field": { + "$ref": "#/definitions/FieldToProtect" + }, + "Action": { + "$ref": "#/definitions/DataProtectionAction" + }, + "ExcludeRateBasedDetails": { + "type": "boolean" + }, + "ExcludeRuleMatchDetails": { + "type": "boolean" + } + }, + "required": [ + "Field", + "Action" + ] + }, "ResponseStatusCode": { "description": "Custom response code.", "maximum": 599, @@ -1058,6 +1080,13 @@ } } }, + "DataProtectionAction": { + "type": "string", + "enum": [ + "SUBSTITUTION", + "HASH" + ] + }, "Label": { "additionalProperties": false, "type": "object", @@ -1070,6 +1099,18 @@ "Name" ] }, + "DataProtectionConfig": { + "additionalProperties": false, + "type": "object", + "properties": { + "DataProtections": { + "$ref": "#/definitions/DataProtections" + } + }, + "required": [ + "DataProtections" + ] + }, "ResponseInspectionJson": { "description": "Response JSON that indicate success or failure of a login request", "additionalProperties": false, @@ -1110,6 +1151,34 @@ "FailureValues" ] }, + "FieldToProtect": { + "description": "Field in log to protect.", + "additionalProperties": false, + "type": "object", + "properties": { + "FieldKeys": { + "description": "List of field keys to protect", + "type": "array", + "items": { + "$ref": "#/definitions/FieldToProtectKeyName" + } + }, + "FieldType": { + "description": "Field type to protect", + "type": "string", + "enum": [ + "SINGLE_HEADER", + "SINGLE_COOKIE", + "SINGLE_QUERY_ARGUMENT", + "QUERY_STRING", + "BODY" + ] + } + }, + "required": [ + "FieldType" + ] + }, "ManagedRuleGroupConfig": { "description": "ManagedRuleGroupConfig.", "additionalProperties": false, @@ -1332,6 +1401,12 @@ } } }, + "FieldToProtectKeyName": { + "minLength": 1, + "description": "Key of the field to protect.", + "type": "string", + "maxLength": 64 + }, "CountAction": { "description": "Allow traffic towards application.", "additionalProperties": false, @@ -1399,6 +1474,13 @@ "InsertHeaders" ] }, + "DataProtections": { + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/DataProtect" + } + }, "OverrideAction": { "description": "Override a RuleGroup or ManagedRuleGroup behavior. This can only be applied to Rule that has RuleGroupReferenceStatement or ManagedRuleGroupReferenceStatement.", "additionalProperties": false, @@ -2013,6 +2095,10 @@ "ChallengeConfig": { "$ref": "#/definitions/ChallengeConfig" }, + "DataProtectionConfig": { + "description": "Collection of dataProtects.", + "$ref": "#/definitions/DataProtectionConfig" + }, "Rules": { "description": "Collection of Rules.", "type": "array", diff --git a/internal/service/cloudformation/schemas/AWS_WorkSpaces_WorkspacesPool.json b/internal/service/cloudformation/schemas/AWS_WorkSpaces_WorkspacesPool.json index b3a534539a..2b56aae573 100644 --- a/internal/service/cloudformation/schemas/AWS_WorkSpaces_WorkspacesPool.json +++ b/internal/service/cloudformation/schemas/AWS_WorkSpaces_WorkspacesPool.json @@ -139,8 +139,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": false, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "workspaces:CreateTags", + "workspaces:DescribeTags", + "workspaces:DeleteTags" + ] }, "primaryIdentifier": [ "/properties/PoolId" @@ -162,28 +167,36 @@ "create": { "permissions": [ "workspaces:CreateWorkspacesPool", - "workspaces:DescribeWorkspacesPools" + "workspaces:DescribeWorkspacesPools", + "workspaces:CreateTags" ] }, "read": { "permissions": [ - "workspaces:DescribeWorkspacesPools" + "workspaces:DescribeWorkspacesPools", + "workspaces:DescribeTags" ] }, "update": { "permissions": [ - "workspaces:UpdateWorkspacesPool" + "workspaces:UpdateWorkspacesPool", + "workspaces:CreateTags", + "workspaces:DeleteTags", + "workspaces:DescribeWorkspacesPools", + "workspaces:DescribeTags" ] }, "delete": { "permissions": [ "workspaces:DescribeWorkspacesPools", - "workspaces:TerminateWorkspacesPool" + "workspaces:TerminateWorkspacesPool", + "workspaces:DeleteTags" ] }, "list": { "permissions": [ - "workspaces:DescribeWorkspacesPools" + "workspaces:DescribeWorkspacesPools", + "workspaces:DescribeTags" ] } } From 6a9ca0d08f16536ad01cef666824c1d667295e77 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 20 Mar 2025 12:47:08 -0400 Subject: [PATCH 2/5] 2025/03/19 CloudFormation schemas in us-east-1; New schemas. --- internal/provider/all_schemas.hcl | 7 +- .../available_schemas.2025-03-19.hcl | 4892 +++++++++++++++++ internal/provider/import_examples_gen.json | 5 + internal/provider/resources.go | 1 + internal/provider/singular_data_sources.go | 1 + .../schemas/AWS_DataZone_Connection.json | 888 +++ 6 files changed, 5793 insertions(+), 1 deletion(-) create mode 100644 internal/provider/generators/allschemas/available_schemas.2025-03-19.hcl create mode 100644 internal/service/cloudformation/schemas/AWS_DataZone_Connection.json diff --git a/internal/provider/all_schemas.hcl b/internal/provider/all_schemas.hcl index ca6335120a..b9c6784d09 100644 --- a/internal/provider/all_schemas.hcl +++ b/internal/provider/all_schemas.hcl @@ -10,7 +10,7 @@ meta_schema { path = "../service/cloudformation/meta-schemas/provider.definition.schema.v1.json" } -# 1149 CloudFormation resource types schemas are available for use with the Cloud Control API. +# 1150 CloudFormation resource types schemas are available for use with the Cloud Control API. resource_schema "aws_acmpca_certificate" { cloudformation_type_name = "AWS::ACMPCA::Certificate" @@ -1435,6 +1435,11 @@ 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 diff --git a/internal/provider/generators/allschemas/available_schemas.2025-03-19.hcl b/internal/provider/generators/allschemas/available_schemas.2025-03-19.hcl new file mode 100644 index 0000000000..d4e845da45 --- /dev/null +++ b/internal/provider/generators/allschemas/available_schemas.2025-03-19.hcl @@ -0,0 +1,4892 @@ +# 1150 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_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 e319992420..f994f5e3f4 100644 --- a/internal/provider/import_examples_gen.json +++ b/internal/provider/import_examples_gen.json @@ -1444,6 +1444,11 @@ "identifier": ["TaskArn"], "path": "./examples/resources/awscc_datasync_task/import.sh" }, + { + "resource": "awscc_datazone_connection", + "identifier": ["DomainId","ConnectionId"], + "path": "./examples/resources/awscc_datazone_connection/import.sh" + }, { "resource": "awscc_datazone_data_source", "identifier": ["DomainId","Id"], diff --git a/internal/provider/resources.go b/internal/provider/resources.go index c10f5403da..6d4bcd5b14 100644 --- a/internal/provider/resources.go +++ b/internal/provider/resources.go @@ -291,6 +291,7 @@ //go:generate go run generators/resource/main.go -resource awscc_datasync_location_smb -cfschema ../service/cloudformation/schemas/AWS_DataSync_LocationSMB.json -package datasync -- ../aws/datasync/location_smb_resource_gen.go ../aws/datasync/location_smb_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_datasync_storage_system -cfschema ../service/cloudformation/schemas/AWS_DataSync_StorageSystem.json -package datasync -- ../aws/datasync/storage_system_resource_gen.go ../aws/datasync/storage_system_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_datasync_task -cfschema ../service/cloudformation/schemas/AWS_DataSync_Task.json -package datasync -- ../aws/datasync/task_resource_gen.go ../aws/datasync/task_resource_gen_test.go +//go:generate go run generators/resource/main.go -resource awscc_datazone_connection -cfschema ../service/cloudformation/schemas/AWS_DataZone_Connection.json -package datazone -- ../aws/datazone/connection_resource_gen.go ../aws/datazone/connection_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_datazone_data_source -cfschema ../service/cloudformation/schemas/AWS_DataZone_DataSource.json -package datazone -- ../aws/datazone/data_source_resource_gen.go ../aws/datazone/data_source_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_datazone_domain -cfschema ../service/cloudformation/schemas/AWS_DataZone_Domain.json -package datazone -- ../aws/datazone/domain_resource_gen.go ../aws/datazone/domain_resource_gen_test.go //go:generate go run generators/resource/main.go -resource awscc_datazone_environment -cfschema ../service/cloudformation/schemas/AWS_DataZone_Environment.json -package datazone -- ../aws/datazone/environment_resource_gen.go ../aws/datazone/environment_resource_gen_test.go diff --git a/internal/provider/singular_data_sources.go b/internal/provider/singular_data_sources.go index 5ea79be02a..876c4174b9 100644 --- a/internal/provider/singular_data_sources.go +++ b/internal/provider/singular_data_sources.go @@ -291,6 +291,7 @@ //go:generate go run generators/singular-data-source/main.go -data-source awscc_datasync_location_smb -cfschema ../service/cloudformation/schemas/AWS_DataSync_LocationSMB.json -package datasync ../aws/datasync/location_smb_singular_data_source_gen.go ../aws/datasync/location_smb_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_datasync_storage_system -cfschema ../service/cloudformation/schemas/AWS_DataSync_StorageSystem.json -package datasync ../aws/datasync/storage_system_singular_data_source_gen.go ../aws/datasync/storage_system_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_datasync_task -cfschema ../service/cloudformation/schemas/AWS_DataSync_Task.json -package datasync ../aws/datasync/task_singular_data_source_gen.go ../aws/datasync/task_singular_data_source_gen_test.go +//go:generate go run generators/singular-data-source/main.go -data-source awscc_datazone_connection -cfschema ../service/cloudformation/schemas/AWS_DataZone_Connection.json -package datazone ../aws/datazone/connection_singular_data_source_gen.go ../aws/datazone/connection_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_datazone_data_source -cfschema ../service/cloudformation/schemas/AWS_DataZone_DataSource.json -package datazone ../aws/datazone/data_source_singular_data_source_gen.go ../aws/datazone/data_source_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_datazone_domain -cfschema ../service/cloudformation/schemas/AWS_DataZone_Domain.json -package datazone ../aws/datazone/domain_singular_data_source_gen.go ../aws/datazone/domain_singular_data_source_gen_test.go //go:generate go run generators/singular-data-source/main.go -data-source awscc_datazone_environment -cfschema ../service/cloudformation/schemas/AWS_DataZone_Environment.json -package datazone ../aws/datazone/environment_singular_data_source_gen.go ../aws/datazone/environment_singular_data_source_gen_test.go diff --git a/internal/service/cloudformation/schemas/AWS_DataZone_Connection.json b/internal/service/cloudformation/schemas/AWS_DataZone_Connection.json new file mode 100644 index 0000000000..c48792a002 --- /dev/null +++ b/internal/service/cloudformation/schemas/AWS_DataZone_Connection.json @@ -0,0 +1,888 @@ +{ + "typeName": "AWS::DataZone::Connection", + "description": "Connections enables users to connect their DataZone resources (domains, projects, and environments) to external resources/services (data, compute, etc)", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "definitions": { + "AthenaPropertiesInput": { + "type": "object", + "description": "Athena Properties Input", + "properties": { + "WorkgroupName": { + "type": "string", + "maxLength": 128, + "pattern": "^[a-zA-Z0-9._-]+$" + } + }, + "required": [ + "WorkgroupName" + ], + "additionalProperties": false + }, + "AuthenticationConfigurationInput": { + "type": "object", + "description": "Authentication Configuration Input", + "properties": { + "AuthenticationType": { + "$ref": "#/definitions/AuthenticationType" + }, + "OAuth2Properties": { + "$ref": "#/definitions/OAuth2Properties" + }, + "SecretArn": { + "type": "string", + "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$" + }, + "KmsKeyArn": { + "type": "string", + "pattern": "^$|arn:aws[a-z0-9-]*:kms:.*$" + }, + "BasicAuthenticationCredentials": { + "$ref": "#/definitions/BasicAuthenticationCredentials" + }, + "CustomAuthenticationCredentials": { + "$ref": "#/definitions/CredentialMap" + } + }, + "additionalProperties": false + }, + "AuthenticationType": { + "type": "string", + "description": "Authentication Type", + "enum": [ + "BASIC", + "OAUTH2", + "CUSTOM" + ] + }, + "AuthorizationCodeProperties": { + "type": "object", + "description": "Authorization Code Properties", + "properties": { + "AuthorizationCode": { + "type": "string", + "maxLength": 4096, + "minLength": 1 + }, + "RedirectUri": { + "type": "string", + "maxLength": 512 + } + }, + "additionalProperties": false + }, + "AwsLocation": { + "type": "object", + "description": "AWS Location of project", + "properties": { + "AccessRole": { + "type": "string", + "maxLength": 2048, + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "AwsAccountId": { + "type": "string", + "pattern": "^\\d{12}$" + }, + "AwsRegion": { + "type": "string", + "pattern": "^[a-z]{2}-[a-z]{4,10}-\\d$" + }, + "IamConnectionId": { + "type": "string", + "maxLength": 128, + "pattern": "^[a-zA-Z0-9]+$" + } + }, + "additionalProperties": false + }, + "BasicAuthenticationCredentials": { + "type": "object", + "description": "Basic Authentication Credentials", + "properties": { + "UserName": { + "type": "string", + "maxLength": 512, + "pattern": "^\\S+$" + }, + "Password": { + "type": "string", + "maxLength": 512, + "pattern": "^.*$" + } + }, + "additionalProperties": false + }, + "ComputeEnvironments": { + "type": "string", + "description": "Compute Environments" + }, + "ConnectionProperties": { + "type": "object", + "description": "Connection Properties", + "patternProperties": { + "": { + "type": "string", + "maxLength": 2048, + "minLength": 1 + } + }, + "additionalProperties": false + }, + "ConnectionPropertiesInput": { + "oneOf": [ + { + "type": "object", + "title": "AthenaProperties", + "properties": { + "AthenaProperties": { + "$ref": "#/definitions/AthenaPropertiesInput" + } + }, + "required": [ + "AthenaProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "GlueProperties", + "properties": { + "GlueProperties": { + "$ref": "#/definitions/GluePropertiesInput" + } + }, + "required": [ + "GlueProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "HyperPodProperties", + "properties": { + "HyperPodProperties": { + "$ref": "#/definitions/HyperPodPropertiesInput" + } + }, + "required": [ + "HyperPodProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "IamProperties", + "properties": { + "IamProperties": { + "$ref": "#/definitions/IamPropertiesInput" + } + }, + "required": [ + "IamProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "RedshiftProperties", + "properties": { + "RedshiftProperties": { + "$ref": "#/definitions/RedshiftPropertiesInput" + } + }, + "required": [ + "RedshiftProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "SparkEmrProperties", + "properties": { + "SparkEmrProperties": { + "$ref": "#/definitions/SparkEmrPropertiesInput" + } + }, + "required": [ + "SparkEmrProperties" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "SparkGlueProperties", + "properties": { + "SparkGlueProperties": { + "$ref": "#/definitions/SparkGluePropertiesInput" + } + }, + "required": [ + "SparkGlueProperties" + ], + "additionalProperties": false + } + ] + }, + "ConnectionStatus": { + "type": "string", + "description": "Connection Status", + "enum": [ + "CREATING", + "CREATE_FAILED", + "DELETING", + "DELETE_FAILED", + "READY", + "UPDATING", + "UPDATE_FAILED", + "DELETED" + ] + }, + "ConnectionType": { + "type": "string", + "description": "Connection Type" + }, + "CredentialMap": { + "type": "object", + "description": "Credential Map", + "patternProperties": { + "": { + "type": "string", + "maxLength": 2048, + "minLength": 1 + } + }, + "additionalProperties": false + }, + "GlueConnectionInput": { + "type": "object", + "description": "Glue Connection Input", + "properties": { + "ConnectionProperties": { + "$ref": "#/definitions/ConnectionProperties" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/PhysicalConnectionRequirements" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "pattern": "" + }, + "Description": { + "type": "string", + "maxLength": 2048, + "pattern": "" + }, + "ConnectionType": { + "$ref": "#/definitions/GlueConnectionType" + }, + "MatchCriteria": { + "type": "string", + "maxLength": 10, + "minLength": 0 + }, + "ValidateCredentials": { + "type": "boolean" + }, + "ValidateForComputeEnvironments": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ComputeEnvironments" + }, + "maxItems": 50, + "minItems": 1 + }, + "SparkProperties": { + "$ref": "#/definitions/PropertyMap" + }, + "AthenaProperties": { + "$ref": "#/definitions/PropertyMap" + }, + "PythonProperties": { + "$ref": "#/definitions/PropertyMap" + }, + "AuthenticationConfiguration": { + "$ref": "#/definitions/AuthenticationConfigurationInput" + } + }, + "additionalProperties": false + }, + "GlueConnectionType": { + "type": "string", + "description": "Glue Connection Type" + }, + "GlueOAuth2Credentials": { + "type": "object", + "description": "Glue OAuth2 Credentials", + "properties": { + "UserManagedClientApplicationClientSecret": { + "type": "string", + "maxLength": 512, + "pattern": "^[\\x20-\\x7E]*$" + }, + "AccessToken": { + "type": "string", + "maxLength": 4096, + "pattern": "^[\\x20-\\x7E]*$" + }, + "RefreshToken": { + "type": "string", + "maxLength": 4096, + "pattern": "^[\\x20-\\x7E]*$" + }, + "JwtToken": { + "type": "string", + "maxLength": 8000, + "pattern": "^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)$" + } + }, + "additionalProperties": false + }, + "GluePropertiesInput": { + "type": "object", + "description": "Glue Properties Input", + "properties": { + "GlueConnectionInput": { + "$ref": "#/definitions/GlueConnectionInput" + } + }, + "additionalProperties": false + }, + "HyperPodPropertiesInput": { + "type": "object", + "description": "HyperPod Properties Input", + "properties": { + "ClusterName": { + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + } + }, + "required": [ + "ClusterName" + ], + "additionalProperties": false + }, + "IamPropertiesInput": { + "type": "object", + "description": "IAM Properties Input", + "properties": { + "GlueLineageSyncEnabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "LineageSyncSchedule": { + "type": "object", + "description": "Lineage Sync Schedule", + "properties": { + "Schedule": { + "type": "string", + "pattern": "^cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)$" + } + }, + "additionalProperties": false + }, + "OAuth2ClientApplication": { + "type": "object", + "description": "OAuth2 Client Application", + "properties": { + "UserManagedClientApplicationClientId": { + "type": "string", + "maxLength": 2048, + "pattern": "^\\S+$" + }, + "AWSManagedClientApplicationReference": { + "type": "string", + "maxLength": 2048, + "pattern": "^\\S+$" + } + }, + "additionalProperties": false + }, + "OAuth2GrantType": { + "type": "string", + "description": "OAuth2 Grant Type", + "enum": [ + "AUTHORIZATION_CODE", + "CLIENT_CREDENTIALS", + "JWT_BEARER" + ] + }, + "OAuth2Properties": { + "type": "object", + "description": "OAuth2 Properties", + "properties": { + "OAuth2GrantType": { + "$ref": "#/definitions/OAuth2GrantType" + }, + "OAuth2ClientApplication": { + "$ref": "#/definitions/OAuth2ClientApplication" + }, + "TokenUrl": { + "type": "string", + "maxLength": 256, + "pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + }, + "TokenUrlParametersMap": { + "$ref": "#/definitions/TokenUrlParametersMap" + }, + "AuthorizationCodeProperties": { + "$ref": "#/definitions/AuthorizationCodeProperties" + }, + "OAuth2Credentials": { + "$ref": "#/definitions/GlueOAuth2Credentials" + } + }, + "additionalProperties": false + }, + "PhysicalConnectionRequirements": { + "type": "object", + "description": "Physical Connection Requirements", + "properties": { + "SubnetId": { + "type": "string", + "maxLength": 32, + "pattern": "^subnet-[a-z0-9]+$" + }, + "SubnetIdList": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 32, + "pattern": "^subnet-[a-z0-9]+$" + }, + "maxItems": 50, + "minItems": 1 + }, + "SecurityGroupIdList": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "maxItems": 50, + "minItems": 0 + }, + "AvailabilityZone": { + "type": "string", + "maxLength": 255, + "minLength": 1 + } + }, + "additionalProperties": false + }, + "PropertyMap": { + "type": "object", + "description": "Property Map", + "patternProperties": { + "": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "pattern": "" + } + }, + "additionalProperties": false + }, + "RedshiftCredentials": { + "oneOf": [ + { + "type": "object", + "title": "SecretArn", + "properties": { + "SecretArn": { + "type": "string", + "maxLength": 2048, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$" + } + }, + "required": [ + "SecretArn" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "UsernamePassword", + "properties": { + "UsernamePassword": { + "$ref": "#/definitions/UsernamePassword" + } + }, + "required": [ + "UsernamePassword" + ], + "additionalProperties": false + } + ] + }, + "RedshiftLineageSyncConfigurationInput": { + "type": "object", + "description": "Redshift Lineage Sync Configuration Input", + "properties": { + "Enabled": { + "type": "boolean" + }, + "Schedule": { + "$ref": "#/definitions/LineageSyncSchedule" + } + }, + "additionalProperties": false + }, + "RedshiftPropertiesInput": { + "type": "object", + "description": "Redshift Properties Input", + "properties": { + "Storage": { + "$ref": "#/definitions/RedshiftStorageProperties" + }, + "DatabaseName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-z0-9]+$" + }, + "Host": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\S]*$" + }, + "Port": { + "type": "number", + "maximum": 65535, + "minimum": 0 + }, + "Credentials": { + "$ref": "#/definitions/RedshiftCredentials" + }, + "LineageSync": { + "$ref": "#/definitions/RedshiftLineageSyncConfigurationInput" + } + }, + "additionalProperties": false + }, + "RedshiftStorageProperties": { + "oneOf": [ + { + "type": "object", + "title": "ClusterName", + "properties": { + "ClusterName": { + "type": "string", + "maxLength": 63, + "minLength": 0, + "pattern": "^[a-z0-9-]+$" + } + }, + "required": [ + "ClusterName" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "WorkgroupName", + "properties": { + "WorkgroupName": { + "type": "string", + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$" + } + }, + "required": [ + "WorkgroupName" + ], + "additionalProperties": false + } + ] + }, + "SparkEmrPropertiesInput": { + "type": "object", + "description": "Spark EMR Properties Input.", + "properties": { + "ComputeArn": { + "type": "string", + "maxLength": 2048, + "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:(elasticmapreduce|emr-serverless):.*" + }, + "InstanceProfileArn": { + "type": "string", + "maxLength": 2048, + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "JavaVirtualEnv": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\S]*$" + }, + "LogUri": { + "type": "string", + "maxLength": 2048, + "pattern": "^s3://.+$" + }, + "PythonVirtualEnv": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\S]*$" + }, + "RuntimeRole": { + "type": "string", + "maxLength": 2048, + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "TrustedCertificatesS3Uri": { + "type": "string", + "maxLength": 2048, + "pattern": "^s3://.+$" + } + }, + "additionalProperties": false + }, + "SparkGlueArgs": { + "type": "object", + "description": "Spark Glue Args.", + "properties": { + "Connection": { + "type": "string", + "maxLength": 128, + "pattern": "^[a-zA-Z0-9]+$" + } + }, + "additionalProperties": false + }, + "SparkGluePropertiesInput": { + "type": "object", + "description": "Spark Glue Properties Input.", + "properties": { + "AdditionalArgs": { + "$ref": "#/definitions/SparkGlueArgs" + }, + "GlueConnectionName": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "pattern": "^[\\S]*$" + }, + "GlueVersion": { + "type": "string", + "maxLength": 256, + "pattern": "^\\w+\\.\\w+$" + }, + "IdleTimeout": { + "type": "number", + "maximum": 3000, + "minimum": 1 + }, + "JavaVirtualEnv": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\S]*$" + }, + "NumberOfWorkers": { + "type": "number", + "maximum": 1000, + "minimum": 1 + }, + "PythonVirtualEnv": { + "type": "string", + "maxLength": 256, + "pattern": "^[\\S]*$" + }, + "WorkerType": { + "type": "string", + "maxLength": 256, + "pattern": "^[G|Z].*$" + } + }, + "additionalProperties": false + }, + "TokenUrlParametersMap": { + "type": "object", + "description": "The token URL parameters.", + "patternProperties": { + "": { + "type": "string", + "maxLength": 512, + "minLength": 1 + } + }, + "additionalProperties": false + }, + "UsernamePassword": { + "type": "object", + "description": "The username and password to be used for authentication.", + "properties": { + "Password": { + "type": "string", + "maxLength": 64, + "pattern": "^[\\S]*$" + }, + "Username": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "pattern": "^[\\S]*$" + } + }, + "required": [ + "Password", + "Username" + ], + "additionalProperties": false + } + }, + "properties": { + "AwsLocation": { + "$ref": "#/definitions/AwsLocation" + }, + "ConnectionId": { + "type": "string", + "description": "The ID of the connection.", + "maxLength": 128, + "pattern": "^[a-zA-Z0-9]+$" + }, + "Description": { + "type": "string", + "description": "The description of the connection.", + "maxLength": 128, + "pattern": "^[\\S\\s]*$" + }, + "DomainId": { + "type": "string", + "description": "The ID of the domain in which the connection is created.", + "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$" + }, + "DomainIdentifier": { + "type": "string", + "description": "The identifier of the domain in which the connection is created.", + "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$" + }, + "DomainUnitId": { + "type": "string", + "description": "The ID of the domain unit in which the connection is created.", + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-z0-9_\\-]+$" + }, + "EnvironmentId": { + "type": "string", + "description": "The ID of the environment in which the connection is created.", + "pattern": "^[a-zA-Z0-9_-]{1,36}$" + }, + "EnvironmentIdentifier": { + "type": "string", + "description": "The identifier of the environment in which the connection is created." + }, + "EnvironmentUserRole": { + "type": "string", + "description": "The role of the user in the environment." + }, + "Name": { + "type": "string", + "description": "The name of the connection.", + "maxLength": 64, + "pattern": "^[\\w][\\w\\.\\-\\_]*$" + }, + "ProjectId": { + "type": "string", + "description": "The ID of the project in which the connection is created.", + "pattern": "^[a-zA-Z0-9_-]{1,36}$" + }, + "Props": { + "$ref": "#/definitions/ConnectionPropertiesInput" + }, + "Type": { + "$ref": "#/definitions/ConnectionType" + } + }, + "required": [ + "DomainIdentifier", + "EnvironmentIdentifier", + "Name" + ], + "readOnlyProperties": [ + "/properties/ConnectionId", + "/properties/DomainId", + "/properties/DomainUnitId", + "/properties/EnvironmentId", + "/properties/EnvironmentUserRole", + "/properties/ProjectId", + "/properties/Type" + ], + "writeOnlyProperties": [ + "/properties/AwsLocation", + "/properties/DomainIdentifier", + "/properties/EnvironmentIdentifier", + "/properties/Props" + ], + "createOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/EnvironmentIdentifier", + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/ConnectionId" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateConnection", + "datazone:GetConnection", + "datazone:DeleteConnection" + ] + }, + "read": { + "permissions": [ + "datazone:GetConnection" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateConnection", + "datazone:GetConnection", + "datazone:DeleteConnection" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteConnection", + "datazone:GetConnection" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainIdentifier": { + "$ref": "resource-schema.json#/properties/DomainIdentifier" + }, + "ProjectIdentifier": { + "$ref": "resource-schema.json#/properties/ProjectId" + } + }, + "required": [ + "DomainIdentifier" + ] + }, + "permissions": [ + "datazone:ListConnections" + ] + } + }, + "additionalProperties": false +} From 78e6c6b9ec7d816123f35c64c11c9d9a6856c2c2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 20 Mar 2025 13:13:44 -0400 Subject: [PATCH 3/5] 2025/03/19 CloudFormation schemas in us-east-1; Generate Terraform resource schemas. --- .../apigatewayv2/domain_name_resource_gen.go | 15 + .../service_level_objective_resource_gen.go | 208 +- .../aws/appsync/domain_name_resource_gen.go | 93 + .../aws/bedrock/data_source_resource_gen.go | 191 +- .../bedrock/knowledge_base_resource_gen.go | 119 +- .../cloudformation/guard_hook_resource_gen.go | 24 +- .../lambda_hook_resource_gen.go | 24 +- .../anycast_ip_list_resource_gen.go | 75 +- .../cloudfront/distribution_resource_gen.go | 32 +- .../aws/cloudfront/vpc_origin_resource_gen.go | 79 +- .../aws/datazone/connection_resource_gen.go | 1891 +++++++++++++++++ .../datazone/connection_resource_gen_test.go | 25 + internal/aws/datazone/domain_resource_gen.go | 18 + .../ec2/capacity_reservation_resource_gen.go | 181 ++ .../ec2/vpc_endpoint_service_resource_gen.go | 23 + .../paymentcryptography/key_resource_gen.go | 4 +- .../workgroup_resource_gen.go | 146 ++ internal/aws/rum/app_monitor_resource_gen.go | 191 +- internal/aws/s3/bucket_resource_gen.go | 24 +- ...ata_quality_job_definition_resource_gen.go | 4 - .../model_bias_job_definition_resource_gen.go | 4 - ...lainability_job_definition_resource_gen.go | 4 - ...del_quality_job_definition_resource_gen.go | 4 - 23 files changed, 3227 insertions(+), 152 deletions(-) create mode 100644 internal/aws/datazone/connection_resource_gen.go create mode 100644 internal/aws/datazone/connection_resource_gen_test.go diff --git a/internal/aws/apigatewayv2/domain_name_resource_gen.go b/internal/aws/apigatewayv2/domain_name_resource_gen.go index d1d8c410ed..df84766219 100644 --- a/internal/aws/apigatewayv2/domain_name_resource_gen.go +++ b/internal/aws/apigatewayv2/domain_name_resource_gen.go @@ -42,6 +42,20 @@ func domainNameResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: DomainNameArn + // CloudFormation resource type schema: + // + // { + // "description": "", + // "type": "string" + // } + "domain_name_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: DomainNameConfigurations // CloudFormation resource type schema: // @@ -256,6 +270,7 @@ func domainNameResource(ctx context.Context) (resource.Resource, error) { "certificate_arn": "CertificateArn", "certificate_name": "CertificateName", "domain_name": "DomainName", + "domain_name_arn": "DomainNameArn", "domain_name_configurations": "DomainNameConfigurations", "endpoint_type": "EndpointType", "mutual_tls_authentication": "MutualTlsAuthentication", diff --git a/internal/aws/applicationsignals/service_level_objective_resource_gen.go b/internal/aws/applicationsignals/service_level_objective_resource_gen.go index b3ae715a97..26b1d93171 100644 --- a/internal/aws/applicationsignals/service_level_objective_resource_gen.go +++ b/internal/aws/applicationsignals/service_level_objective_resource_gen.go @@ -164,6 +164,186 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ExclusionWindows + // CloudFormation resource type schema: + // + // { + // "description": "Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "description": "This object defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + // "properties": { + // "Reason": { + // "default": "No reason", + // "description": "An optional reason for scheduling this time exclusion window. Default is 'No reason'.", + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // }, + // "RecurrenceRule": { + // "additionalProperties": false, + // "description": "This object defines how often to repeat a time exclusion window.", + // "properties": { + // "Expression": { + // "description": "A cron or rate expression denoting how often to repeat this exclusion window.", + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Expression" + // ], + // "type": "object" + // }, + // "StartTime": { + // "description": "The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past.", + // "type": "string" + // }, + // "Window": { + // "additionalProperties": false, + // "description": "This object defines the length of time an exclusion window should span.", + // "properties": { + // "Duration": { + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "minimum": 1, + // "type": "integer" + // }, + // "DurationUnit": { + // "description": "Specifies the interval unit.", + // "enum": [ + // "MINUTE", + // "HOUR", + // "DAY", + // "MONTH" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "DurationUnit", + // "Duration" + // ], + // "type": "object" + // } + // }, + // "required": [ + // "Window" + // ], + // "type": "object" + // }, + // "maxItems": 10, + // "minItems": 0, + // "type": "array", + // "uniqueItems": true + // } + "exclusion_windows": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Reason + "reason": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "An optional reason for scheduling this time exclusion window. Default is 'No reason'.", + Optional: true, + Computed: true, + Default: stringdefault.StaticString("No reason"), + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 1024), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RecurrenceRule + "recurrence_rule": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Expression + "expression": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A cron or rate expression denoting how often to repeat this exclusion window.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 1024), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "This object defines how often to repeat a time exclusion window.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StartTime + "start_time": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Window + "window": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Duration + "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Optional: true, + Computed: true, + Validators: []validator.Int64{ /*START VALIDATORS*/ + int64validator.AtLeast(1), + fwvalidators.NotNullInt64(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DurationUnit + "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Specifies the interval unit.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "MINUTE", + "HOUR", + "DAY", + "MONTH", + ), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "This object defines the length of time an exclusion window should span.", + Optional: true, + Computed: true, + Validators: []validator.Object{ /*START VALIDATORS*/ + fwvalidators.NotNullObject(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + Optional: true, + Computed: true, + Validators: []validator.Set{ /*START VALIDATORS*/ + setvalidator.SizeBetween(0, 10), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ + setplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Goal // CloudFormation resource type schema: // @@ -184,13 +364,15 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro // "description": "If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.", // "properties": { // "Duration": { - // "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", // "minimum": 1, // "type": "integer" // }, // "DurationUnit": { - // "description": "Specifies the calendar interval unit.", + // "description": "Specifies the interval unit.", // "enum": [ + // "MINUTE", + // "HOUR", // "DAY", // "MONTH" // ], @@ -214,13 +396,15 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro // "description": "If the interval is a calendar interval, this structure contains the interval specifications.", // "properties": { // "Duration": { - // "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", // "minimum": 1, // "type": "integer" // }, // "DurationUnit": { - // "description": "Specifies the calendar interval unit.", + // "description": "Specifies the interval unit.", // "enum": [ + // "MINUTE", + // "HOUR", // "DAY", // "MONTH" // ], @@ -262,7 +446,7 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Duration "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", Optional: true, Computed: true, Validators: []validator.Int64{ /*START VALIDATORS*/ @@ -275,11 +459,13 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro }, /*END ATTRIBUTE*/ // Property: DurationUnit "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Specifies the calendar interval unit.", + Description: "Specifies the interval unit.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( + "MINUTE", + "HOUR", "DAY", "MONTH", ), @@ -315,7 +501,7 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Duration "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", Optional: true, Computed: true, Validators: []validator.Int64{ /*START VALIDATORS*/ @@ -328,11 +514,13 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro }, /*END ATTRIBUTE*/ // Property: DurationUnit "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Specifies the calendar interval unit.", + Description: "Specifies the interval unit.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( + "MINUTE", + "HOUR", "DAY", "MONTH", ), @@ -1916,6 +2104,7 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro "duration": "Duration", "duration_unit": "DurationUnit", "evaluation_type": "EvaluationType", + "exclusion_windows": "ExclusionWindows", "expression": "Expression", "goal": "Goal", "good_count_metric": "GoodCountMetric", @@ -1937,6 +2126,8 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro "operation_name": "OperationName", "period": "Period", "period_seconds": "PeriodSeconds", + "reason": "Reason", + "recurrence_rule": "RecurrenceRule", "request_based_sli": "RequestBasedSli", "request_based_sli_metric": "RequestBasedSliMetric", "return_data": "ReturnData", @@ -1951,6 +2142,7 @@ func serviceLevelObjectiveResource(ctx context.Context) (resource.Resource, erro "unit": "Unit", "value": "Value", "warning_threshold": "WarningThreshold", + "window": "Window", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/appsync/domain_name_resource_gen.go b/internal/aws/appsync/domain_name_resource_gen.go index 7a0d0cdc80..b7899feb5d 100644 --- a/internal/aws/appsync/domain_name_resource_gen.go +++ b/internal/aws/appsync/domain_name_resource_gen.go @@ -13,10 +13,12 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/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() { @@ -95,6 +97,20 @@ func domainNameResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: DomainNameArn + // CloudFormation resource type schema: + // + // { + // "description": "The Amazon Resource Name (ARN) for the Domain Name.", + // "type": "string" + // } + "domain_name_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) for the Domain Name.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: HostedZoneId // CloudFormation resource type schema: // @@ -107,6 +123,79 @@ func domainNameResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + // "properties": { + // "Key": { + // "description": "A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + // "maxLength": 128, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // }, + // "Value": { + // "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + // "maxLength": 256, + // "minLength": 0, + // "pattern": "^[\\s\\w+-=\\.:/@]*$", + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + "tags": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Key + "key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 128), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Value + "value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\s\\w+-=\\.:/@]*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "An arbitrary set of tags (key-value pairs) for this Domain Name.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ + setplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ // Corresponds to CloudFormation primaryIdentifier. @@ -133,7 +222,11 @@ func domainNameResource(ctx context.Context) (resource.Resource, error) { "certificate_arn": "CertificateArn", "description": "Description", "domain_name": "DomainName", + "domain_name_arn": "DomainNameArn", "hosted_zone_id": "HostedZoneId", + "key": "Key", + "tags": "Tags", + "value": "Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/bedrock/data_source_resource_gen.go b/internal/aws/bedrock/data_source_resource_gen.go index d9cbc6ae86..e8b6084ad8 100644 --- a/internal/aws/bedrock/data_source_resource_gen.go +++ b/internal/aws/bedrock/data_source_resource_gen.go @@ -459,7 +459,8 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { // "AuthType": { // "description": "The supported authentication type to authenticate and connect to your SharePoint site/sites.", // "enum": [ - // "OAUTH2_CLIENT_CREDENTIALS" + // "OAUTH2_CLIENT_CREDENTIALS", + // "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS" // ], // "type": "string" // }, @@ -539,6 +540,11 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { // "additionalProperties": false, // "description": "Limit settings for the web crawler.", // "properties": { + // "MaxPages": { + // "description": "Maximum number of pages the crawler can crawl.", + // "minimum": 1, + // "type": "integer" + // }, // "RateLimit": { // "description": "Rate of web URLs retrieved per minute.", // "maximum": 300, @@ -579,6 +585,18 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { // "SUBDOMAINS" // ], // "type": "string" + // }, + // "UserAgent": { + // "description": "The suffix that will be included in the user agent header.", + // "maxLength": 40, + // "minLength": 15, + // "type": "string" + // }, + // "UserAgentHeader": { + // "description": "The full user agent header, including UUID and suffix.", + // "maxLength": 86, + // "minLength": 61, + // "type": "string" // } // }, // "type": "object" @@ -1194,6 +1212,7 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.OneOf( "OAUTH2_CLIENT_CREDENTIALS", + "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS", ), fwvalidators.NotNullString(), }, /*END VALIDATORS*/ @@ -1319,6 +1338,18 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { // Property: CrawlerLimits "crawler_limits": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: MaxPages + "max_pages": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "Maximum number of pages the crawler can crawl.", + Optional: true, + Computed: true, + Validators: []validator.Int64{ /*START VALIDATORS*/ + int64validator.AtLeast(1), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: RateLimit "rate_limit": schema.Int64Attribute{ /*START ATTRIBUTE*/ Description: "Rate of web URLs retrieved per minute.", @@ -1388,6 +1419,26 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: UserAgent + "user_agent": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The suffix that will be included in the user agent header.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(15, 40), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UserAgentHeader + "user_agent_header": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The full user agent header, including UUID and suffix.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "Configuration for the web crawler.", Optional: true, @@ -1748,6 +1799,58 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "object" // }, + // "ContextEnrichmentConfiguration": { + // "additionalProperties": false, + // "description": "Additional Enrichment Configuration for example when using GraphRag.", + // "properties": { + // "BedrockFoundationModelConfiguration": { + // "additionalProperties": false, + // "description": "Bedrock Foundation Model configuration to be used for Context Enrichment.", + // "properties": { + // "EnrichmentStrategyConfiguration": { + // "additionalProperties": false, + // "description": "Strategy to be used when using Bedrock Foundation Model for Context Enrichment.", + // "properties": { + // "Method": { + // "description": "Enrichment Strategy method.", + // "enum": [ + // "CHUNK_ENTITY_EXTRACTION" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Method" + // ], + // "type": "object" + // }, + // "ModelArn": { + // "description": "The model's ARN.", + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", + // "type": "string" + // } + // }, + // "required": [ + // "EnrichmentStrategyConfiguration", + // "ModelArn" + // ], + // "type": "object" + // }, + // "Type": { + // "description": "Enrichment type to be used for the vector database.", + // "enum": [ + // "BEDROCK_FOUNDATION_MODEL" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type" + // ], + // "type": "object" + // }, // "CustomTransformationConfiguration": { // "additionalProperties": false, // "description": "Settings for customizing steps in the data source content ingestion pipeline.", @@ -2087,6 +2190,86 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ContextEnrichmentConfiguration + "context_enrichment_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BedrockFoundationModelConfiguration + "bedrock_foundation_model_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: EnrichmentStrategyConfiguration + "enrichment_strategy_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Method + "method": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Enrichment Strategy method.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "CHUNK_ENTITY_EXTRACTION", + ), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Strategy to be used when using Bedrock Foundation Model for Context Enrichment.", + Optional: true, + Computed: true, + Validators: []validator.Object{ /*START VALIDATORS*/ + fwvalidators.NotNullObject(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ModelArn + "model_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The model's ARN.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Bedrock Foundation Model configuration to be used for Context Enrichment.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Enrichment type to be used for the vector database.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "BEDROCK_FOUNDATION_MODEL", + ), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Additional Enrichment Configuration for example when using GraphRag.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: CustomTransformationConfiguration "custom_transformation_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -2371,6 +2554,7 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { "chunking_configuration": "ChunkingConfiguration", "chunking_strategy": "ChunkingStrategy", "confluence_configuration": "ConfluenceConfiguration", + "context_enrichment_configuration": "ContextEnrichmentConfiguration", "crawler_configuration": "CrawlerConfiguration", "crawler_limits": "CrawlerLimits", "created_at": "CreatedAt", @@ -2382,6 +2566,7 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { "data_source_status": "DataSourceStatus", "description": "Description", "domain": "Domain", + "enrichment_strategy_configuration": "EnrichmentStrategyConfiguration", "exclusion_filters": "ExclusionFilters", "failure_reasons": "FailureReasons", "filter_configuration": "FilterConfiguration", @@ -2397,7 +2582,9 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { "knowledge_base_id": "KnowledgeBaseId", "lambda_arn": "LambdaArn", "level_configurations": "LevelConfigurations", + "max_pages": "MaxPages", "max_tokens": "MaxTokens", + "method": "Method", "model_arn": "ModelArn", "name": "Name", "object_type": "ObjectType", @@ -2430,6 +2617,8 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) { "uri": "URI", "url": "Url", "url_configuration": "UrlConfiguration", + "user_agent": "UserAgent", + "user_agent_header": "UserAgentHeader", "vector_ingestion_configuration": "VectorIngestionConfiguration", "web_configuration": "WebConfiguration", }) diff --git a/internal/aws/bedrock/knowledge_base_resource_gen.go b/internal/aws/bedrock/knowledge_base_resource_gen.go index 31ebaa0015..4f7936c1eb 100644 --- a/internal/aws/bedrock/knowledge_base_resource_gen.go +++ b/internal/aws/bedrock/knowledge_base_resource_gen.go @@ -1323,6 +1323,11 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { // }, // { // "required": [ + // "NeptuneAnalyticsConfiguration" + // ] + // }, + // { + // "required": [ // "MongoDbAtlasConfiguration" // ] // } @@ -1408,6 +1413,47 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { // ], // "type": "object" // }, + // "NeptuneAnalyticsConfiguration": { + // "additionalProperties": false, + // "description": "Contains the configurations to use Neptune Analytics as Vector Store.", + // "properties": { + // "FieldMapping": { + // "additionalProperties": false, + // "description": "A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields.", + // "properties": { + // "MetadataField": { + // "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.", + // "maxLength": 2048, + // "pattern": "^.*$", + // "type": "string" + // }, + // "TextField": { + // "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.", + // "maxLength": 2048, + // "pattern": "^.*$", + // "type": "string" + // } + // }, + // "required": [ + // "TextField", + // "MetadataField" + // ], + // "type": "object" + // }, + // "GraphArn": { + // "description": "ARN for Neptune Analytics graph database.", + // "maxLength": 255, + // "minLength": 1, + // "pattern": "^arn:aws(|-cn|-us-gov):neptune-graph:[a-zA-Z0-9-]*:[0-9]{12}:graph\\/g-[a-zA-Z0-9]{10}$", + // "type": "string" + // } + // }, + // "required": [ + // "GraphArn", + // "FieldMapping" + // ], + // "type": "object" + // }, // "OpensearchServerlessConfiguration": { // "additionalProperties": false, // "description": "Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.", @@ -1593,7 +1639,8 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { // "OPENSEARCH_SERVERLESS", // "PINECONE", // "RDS", - // "MONGO_DB_ATLAS" + // "MONGO_DB_ATLAS", + // "NEPTUNE_ANALYTICS" // ], // "type": "string" // } @@ -1754,6 +1801,73 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: NeptuneAnalyticsConfiguration + "neptune_analytics_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: FieldMapping + "field_mapping": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: MetadataField + "metadata_field": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the field in which Amazon Bedrock stores metadata about the vector store.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: TextField + "text_field": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields.", + Optional: true, + Computed: true, + Validators: []validator.Object{ /*START VALIDATORS*/ + fwvalidators.NotNullObject(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: GraphArn + "graph_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "ARN for Neptune Analytics graph database.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 255), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws(|-cn|-us-gov):neptune-graph:[a-zA-Z0-9-]*:[0-9]{12}:graph\\/g-[a-zA-Z0-9]{10}$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contains the configurations to use Neptune Analytics as Vector Store.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: OpensearchServerlessConfiguration "opensearch_serverless_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -2088,6 +2202,7 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { "PINECONE", "RDS", "MONGO_DB_ATLAS", + "NEPTUNE_ANALYTICS", ), fwvalidators.NotNullString(), }, /*END VALIDATORS*/ @@ -2191,6 +2306,7 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { "failure_reasons": "FailureReasons", "field_mapping": "FieldMapping", "generation_context": "GenerationContext", + "graph_arn": "GraphArn", "inclusion": "Inclusion", "kendra_index_arn": "KendraIndexArn", "kendra_knowledge_base_configuration": "KendraKnowledgeBaseConfiguration", @@ -2202,6 +2318,7 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) { "name": "Name", "namespace": "Namespace", "natural_language": "NaturalLanguage", + "neptune_analytics_configuration": "NeptuneAnalyticsConfiguration", "opensearch_serverless_configuration": "OpensearchServerlessConfiguration", "pinecone_configuration": "PineconeConfiguration", "primary_key_field": "PrimaryKeyField", diff --git a/internal/aws/cloudformation/guard_hook_resource_gen.go b/internal/aws/cloudformation/guard_hook_resource_gen.go index 9560fad9fc..455f4cc1bc 100644 --- a/internal/aws/cloudformation/guard_hook_resource_gen.go +++ b/internal/aws/cloudformation/guard_hook_resource_gen.go @@ -288,7 +288,7 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -302,7 +302,7 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -321,9 +321,12 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { // "description": "List of stack roles that the hook is going to be excluded from", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -335,9 +338,12 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { // "description": "List of stack roles that the hook is going to target", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -385,7 +391,7 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(128), - stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z][-a-zA-Z0-9]*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z*?][-a-zA-Z0-9*?]*$"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -402,7 +408,7 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(128), - stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z][-a-zA-Z0-9]*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z*?][-a-zA-Z0-9*?]*$"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -430,7 +436,6 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(256), - stringvalidator.RegexMatches(regexp.MustCompile("arn:.+:iam::[0-9]{12}:role/.+"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -447,7 +452,6 @@ func guardHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(256), - stringvalidator.RegexMatches(regexp.MustCompile("arn:.+:iam::[0-9]{12}:role/.+"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/cloudformation/lambda_hook_resource_gen.go b/internal/aws/cloudformation/lambda_hook_resource_gen.go index 5e8b12460a..dca7cc4403 100644 --- a/internal/aws/cloudformation/lambda_hook_resource_gen.go +++ b/internal/aws/cloudformation/lambda_hook_resource_gen.go @@ -174,7 +174,7 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -188,7 +188,7 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -207,9 +207,12 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { // "description": "List of stack roles that the hook is going to be excluded from", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -221,9 +224,12 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { // "description": "List of stack roles that the hook is going to target", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -271,7 +277,7 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(128), - stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z][-a-zA-Z0-9]*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z*?][-a-zA-Z0-9*?]*$"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -288,7 +294,7 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(128), - stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z][-a-zA-Z0-9]*$"), ""), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z*?][-a-zA-Z0-9*?]*$"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -316,7 +322,6 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(256), - stringvalidator.RegexMatches(regexp.MustCompile("arn:.+:iam::[0-9]{12}:role/.+"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ @@ -333,7 +338,6 @@ func lambdaHookResource(ctx context.Context) (resource.Resource, error) { setvalidator.SizeBetween(1, 50), setvalidator.ValueStringsAre( stringvalidator.LengthAtMost(256), - stringvalidator.RegexMatches(regexp.MustCompile("arn:.+:iam::[0-9]{12}:role/.+"), ""), ), }, /*END VALIDATORS*/ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/cloudfront/anycast_ip_list_resource_gen.go b/internal/aws/cloudfront/anycast_ip_list_resource_gen.go index 7548201880..37f72aff86 100644 --- a/internal/aws/cloudfront/anycast_ip_list_resource_gen.go +++ b/internal/aws/cloudfront/anycast_ip_list_resource_gen.go @@ -38,33 +38,41 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, + // "description": "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", // "properties": { // "AnycastIps": { + // "description": "The static IP addresses that are allocated to the Anycast static IP list.", // "items": { // "type": "string" // }, // "type": "array" // }, // "Arn": { + // "description": "The Amazon Resource Name (ARN) of the Anycast static IP list.", // "type": "string" // }, // "Id": { + // "description": "The ID of the Anycast static IP list.", // "type": "string" // }, // "IpCount": { + // "description": "The number of IP addresses in the Anycast static IP list.", // "type": "integer" // }, // "LastModifiedTime": { + // "description": "The last time the Anycast static IP list was modified.", // "format": "date-time", // "type": "string" // }, // "Name": { + // "description": "The name of the Anycast static IP list.", // "maxLength": 64, // "minLength": 1, // "pattern": "^[a-zA-Z0-9-_]{1,64}$", // "type": "string" // }, // "Status": { + // "description": "The status of the Anycast static IP list. Valid values: ``Deployed``, ``Deploying``, or ``Failed``.", // "type": "string" // } // }, @@ -84,35 +92,43 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // Property: AnycastIps "anycast_ips": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, + Description: "The static IP addresses that are allocated to the Anycast static IP list.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Arn "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The Amazon Resource Name (ARN) of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Id "id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The ID of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: IpCount "ip_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The number of IP addresses in the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: LastModifiedTime "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - CustomType: timetypes.RFC3339Type{}, - Computed: true, + CustomType: timetypes.RFC3339Type{}, + Description: "The last time the Anycast static IP list was modified.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Name "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The name of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Status "status": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The status of the Anycast static IP list. Valid values: ``Deployed``, ``Deploying``, or ``Failed``.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", + Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -121,10 +137,12 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "e_tag": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -133,10 +151,12 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "anycast_ip_list_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -145,10 +165,12 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "The number of IP addresses in the Anycast static IP list.", // "type": "integer" // } "ip_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The number of IP addresses in the Anycast static IP list.", + Required: true, PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.RequiresReplace(), }, /*END PLAN MODIFIERS*/ @@ -157,13 +179,15 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "The name of the Anycast static IP list.", // "maxLength": 64, // "minLength": 1, // "pattern": "^[a-zA-Z0-9-_]{1,64}$", // "type": "string" // } "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The name of the Anycast static IP list.", + Required: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 64), stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9-_]{1,64}$"), ""), @@ -177,18 +201,23 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, + // "description": "A complex type that contains zero or more ``Tag`` elements.", // "properties": { // "Items": { + // "description": "A complex type that contains ``Tag`` elements.", // "items": { // "additionalProperties": false, + // "description": "A complex type that contains ``Tag`` key and ``Tag`` value.", // "properties": { // "Key": { + // "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "maxLength": 128, // "minLength": 1, // "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", // "type": "string" // }, // "Value": { + // "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "maxLength": 256, // "minLength": 0, // "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", @@ -213,8 +242,9 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 128), stringvalidator.RegexMatches(regexp.MustCompile("^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"), ""), @@ -226,8 +256,9 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(0, 256), stringvalidator.RegexMatches(regexp.MustCompile("^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"), ""), @@ -238,15 +269,17 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Optional: true, - Computed: true, + Description: "A complex type that contains ``Tag`` elements.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Optional: true, - Computed: true, + Description: "A complex type that contains zero or more ``Tag`` elements.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), objectplanmodifier.RequiresReplaceIfConfigured(), @@ -264,7 +297,7 @@ func anycastIpListResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Definition of AWS::CloudFront::AnycastIpList Resource Type", + Description: "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/cloudfront/distribution_resource_gen.go b/internal/aws/cloudfront/distribution_resource_gen.go index 0acd2acf4d..2fcb24d122 100644 --- a/internal/aws/cloudfront/distribution_resource_gen.go +++ b/internal/aws/cloudfront/distribution_resource_gen.go @@ -54,7 +54,7 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { // "uniqueItems": false // }, // "AnycastIpListId": { - // "description": "", + // "description": "ID of the Anycast static IP list that is associated with the distribution.", // "type": "string" // }, // "CNAMEs": { @@ -748,7 +748,7 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits).", + // "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``VpcOriginConfig`` to specify a VPC origin.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits).", // "properties": { // "ConnectionAttempts": { // "description": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n For a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout).\n For more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide*.", @@ -874,17 +874,20 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { // }, // "VpcOriginConfig": { // "additionalProperties": false, - // "description": "", + // "description": "The VPC origin configuration.", // "properties": { // "OriginKeepaliveTimeout": { // "default": 5, + // "description": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", // "type": "integer" // }, // "OriginReadTimeout": { // "default": 30, + // "description": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", // "type": "integer" // }, // "VpcOriginId": { + // "description": "The VPC origin ID.", // "type": "string" // } // }, @@ -1024,7 +1027,7 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: AnycastIpListId "anycast_ip_list_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "ID of the Anycast static IP list that is associated with the distribution.", Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ @@ -2363,26 +2366,29 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: OriginKeepaliveTimeout "origin_keepalive_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - Default: int64default.StaticInt64(5), + Description: "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", + Optional: true, + Computed: true, + Default: int64default.StaticInt64(5), PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: OriginReadTimeout "origin_read_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - Default: int64default.StaticInt64(30), + Description: "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", + Optional: true, + Computed: true, + Default: int64default.StaticInt64(30), PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: VpcOriginId "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "The VPC origin ID.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ fwvalidators.NotNullString(), }, /*END VALIDATORS*/ @@ -2391,7 +2397,7 @@ func distributionResource(ctx context.Context) (resource.Resource, error) { }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The VPC origin configuration.", Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/cloudfront/vpc_origin_resource_gen.go b/internal/aws/cloudfront/vpc_origin_resource_gen.go index 5ad1d6cbf1..9a20ea7acf 100644 --- a/internal/aws/cloudfront/vpc_origin_resource_gen.go +++ b/internal/aws/cloudfront/vpc_origin_resource_gen.go @@ -36,10 +36,12 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -48,10 +50,12 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "created_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -60,10 +64,12 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -72,10 +78,12 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -84,10 +92,12 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "status": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -96,13 +106,17 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // CloudFormation resource type schema: // // { + // "description": "A complex type that contains zero or more ``Tag`` elements.", // "items": { // "additionalProperties": false, + // "description": "A complex type that contains ``Tag`` key and ``Tag`` value.", // "properties": { // "Key": { + // "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "type": "string" // }, // "Value": { + // "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "type": "string" // } // }, @@ -120,8 +134,9 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ fwvalidators.NotNullString(), }, /*END VALIDATORS*/ @@ -131,8 +146,9 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, + Description: "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ fwvalidators.NotNullString(), }, /*END VALIDATORS*/ @@ -142,8 +158,9 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Optional: true, - Computed: true, + Description: "A complex type that contains zero or more ``Tag`` elements.", + Optional: true, + Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -153,23 +170,29 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, + // "description": "The VPC origin endpoint configuration.", // "properties": { // "Arn": { + // "description": "The ARN of the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "HTTPPort": { // "default": 80, + // "description": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``.", // "type": "integer" // }, // "HTTPSPort": { // "default": 443, + // "description": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``.", // "type": "integer" // }, // "Name": { + // "description": "The name of the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "OriginProtocolPolicy": { // "default": "match-viewer", + // "description": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "OriginSSLProtocols": { @@ -177,6 +200,7 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // "TLSv1", // "SSLv3" // ], + // "description": "", // "items": { // "type": "string" // }, @@ -194,35 +218,40 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Arn "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The ARN of the CloudFront VPC origin endpoint configuration.", + Required: true, }, /*END ATTRIBUTE*/ // Property: HTTPPort "http_port": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - Default: int64default.StaticInt64(80), + Description: "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``.", + Optional: true, + Computed: true, + Default: int64default.StaticInt64(80), PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: HTTPSPort "https_port": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - Default: int64default.StaticInt64(443), + Description: "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``.", + Optional: true, + Computed: true, + Default: int64default.StaticInt64(443), PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Name "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Required: true, + Description: "The name of the CloudFront VPC origin endpoint configuration.", + Required: true, }, /*END ATTRIBUTE*/ // Property: OriginProtocolPolicy "origin_protocol_policy": schema.StringAttribute{ /*START ATTRIBUTE*/ - Optional: true, - Computed: true, - Default: stringdefault.StaticString("match-viewer"), + Description: "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + Optional: true, + Computed: true, + Default: stringdefault.StaticString("match-viewer"), PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ @@ -230,6 +259,7 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { // Property: OriginSSLProtocols "origin_ssl_protocols": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, + Description: "", Optional: true, Computed: true, Default: defaults.StaticListOfString( @@ -241,7 +271,8 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Required: true, + Description: "The VPC origin endpoint configuration.", + Required: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -255,7 +286,7 @@ func vpcOriginResource(ctx context.Context) (resource.Resource, error) { } schema := schema.Schema{ - Description: "Resource Type definition for AWS::CloudFront::VpcOrigin", + Description: "An Amazon CloudFront VPC origin.", Version: 1, Attributes: attributes, } diff --git a/internal/aws/datazone/connection_resource_gen.go b/internal/aws/datazone/connection_resource_gen.go new file mode 100644 index 0000000000..e10a9e3094 --- /dev/null +++ b/internal/aws/datazone/connection_resource_gen.go @@ -0,0 +1,1891 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/resource/main.go; DO NOT EDIT. + +package datazone + +import ( + "context" + "regexp" + + "github.com/hashicorp/terraform-plugin-framework-validators/float64validator" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/float64planmodifier" + "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" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-provider-awscc/internal/generic" + "github.com/hashicorp/terraform-provider-awscc/internal/registry" + fwvalidators "github.com/hashicorp/terraform-provider-awscc/internal/validators" +) + +func init() { + registry.AddResourceFactory("awscc_datazone_connection", connectionResource) +} + +// connectionResource returns the Terraform awscc_datazone_connection resource. +// This Terraform resource corresponds to the CloudFormation AWS::DataZone::Connection resource. +func connectionResource(ctx context.Context) (resource.Resource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AwsLocation + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "AWS Location of project", + // "properties": { + // "AccessRole": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "AwsAccountId": { + // "pattern": "^\\d{12}$", + // "type": "string" + // }, + // "AwsRegion": { + // "pattern": "^[a-z]{2}-[a-z]{4,10}-\\d$", + // "type": "string" + // }, + // "IamConnectionId": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + // }, + // "type": "object" + // } + "aws_location": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessRole + "access_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AwsAccountId + "aws_account_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^\\d{12}$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AwsRegion + "aws_region": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^[a-z]{2}-[a-z]{4,10}-\\d$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: IamConnectionId + "iam_connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(128), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "AWS Location of project", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + // AwsLocation is a write-only property. + }, /*END ATTRIBUTE*/ + // Property: ConnectionId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the connection.", + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + "connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the connection.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Description + // CloudFormation resource type schema: + // + // { + // "description": "The description of the connection.", + // "maxLength": 128, + // "pattern": "^[\\S\\s]*$", + // "type": "string" + // } + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The description of the connection.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(128), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S\\s]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DomainId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the domain in which the connection is created.", + // "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "domain_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the domain in which the connection is created.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DomainIdentifier + // CloudFormation resource type schema: + // + // { + // "description": "The identifier of the domain in which the connection is created.", + // "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "domain_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The identifier of the domain in which the connection is created.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^dzd[_][a-zA-Z0-9_-]{1,36}$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + // DomainIdentifier is a write-only property. + }, /*END ATTRIBUTE*/ + // Property: DomainUnitId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the domain unit in which the connection is created.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-z0-9_\\-]+$", + // "type": "string" + // } + "domain_unit_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the domain unit in which the connection is created.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: EnvironmentId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the environment in which the connection is created.", + // "pattern": "^[a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "environment_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the environment in which the connection is created.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: EnvironmentIdentifier + // CloudFormation resource type schema: + // + // { + // "description": "The identifier of the environment in which the connection is created.", + // "type": "string" + // } + "environment_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The identifier of the environment in which the connection is created.", + Required: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + // EnvironmentIdentifier is a write-only property. + }, /*END ATTRIBUTE*/ + // Property: EnvironmentUserRole + // CloudFormation resource type schema: + // + // { + // "description": "The role of the user in the environment.", + // "type": "string" + // } + "environment_user_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The role of the user in the environment.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Name + // CloudFormation resource type schema: + // + // { + // "description": "The name of the connection.", + // "maxLength": 64, + // "pattern": "^[\\w][\\w\\.\\-\\_]*$", + // "type": "string" + // } + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the connection.", + Required: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(64), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\w][\\w\\.\\-\\_]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.RequiresReplace(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ProjectId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the project in which the connection is created.", + // "pattern": "^[a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "project_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the project in which the connection is created.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Props + // CloudFormation resource type schema: + // + // { + // "properties": { + // "AthenaProperties": { + // "additionalProperties": false, + // "description": "Athena Properties Input", + // "properties": { + // "WorkgroupName": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9._-]+$", + // "type": "string" + // } + // }, + // "required": [ + // "WorkgroupName" + // ], + // "type": "object" + // }, + // "GlueProperties": { + // "additionalProperties": false, + // "description": "Glue Properties Input", + // "properties": { + // "GlueConnectionInput": { + // "additionalProperties": false, + // "description": "Glue Connection Input", + // "properties": { + // "AthenaProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "AuthenticationConfiguration": { + // "additionalProperties": false, + // "description": "Authentication Configuration Input", + // "properties": { + // "AuthenticationType": { + // "description": "Authentication Type", + // "enum": [ + // "BASIC", + // "OAUTH2", + // "CUSTOM" + // ], + // "type": "string" + // }, + // "BasicAuthenticationCredentials": { + // "additionalProperties": false, + // "description": "Basic Authentication Credentials", + // "properties": { + // "Password": { + // "maxLength": 512, + // "pattern": "^.*$", + // "type": "string" + // }, + // "UserName": { + // "maxLength": 512, + // "pattern": "^\\S+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CustomAuthenticationCredentials": { + // "additionalProperties": false, + // "description": "Credential Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "KmsKeyArn": { + // "pattern": "^$|arn:aws[a-z0-9-]*:kms:.*$", + // "type": "string" + // }, + // "OAuth2Properties": { + // "additionalProperties": false, + // "description": "OAuth2 Properties", + // "properties": { + // "AuthorizationCodeProperties": { + // "additionalProperties": false, + // "description": "Authorization Code Properties", + // "properties": { + // "AuthorizationCode": { + // "maxLength": 4096, + // "minLength": 1, + // "type": "string" + // }, + // "RedirectUri": { + // "maxLength": 512, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2ClientApplication": { + // "additionalProperties": false, + // "description": "OAuth2 Client Application", + // "properties": { + // "AWSManagedClientApplicationReference": { + // "maxLength": 2048, + // "pattern": "^\\S+$", + // "type": "string" + // }, + // "UserManagedClientApplicationClientId": { + // "maxLength": 2048, + // "pattern": "^\\S+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2Credentials": { + // "additionalProperties": false, + // "description": "Glue OAuth2 Credentials", + // "properties": { + // "AccessToken": { + // "maxLength": 4096, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // }, + // "JwtToken": { + // "maxLength": 8000, + // "pattern": "^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)$", + // "type": "string" + // }, + // "RefreshToken": { + // "maxLength": 4096, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // }, + // "UserManagedClientApplicationClientSecret": { + // "maxLength": 512, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2GrantType": { + // "description": "OAuth2 Grant Type", + // "enum": [ + // "AUTHORIZATION_CODE", + // "CLIENT_CREDENTIALS", + // "JWT_BEARER" + // ], + // "type": "string" + // }, + // "TokenUrl": { + // "maxLength": 256, + // "pattern": "^(https?)://[-a-zA-Z0-9+\u0026@#/%?=~_|!:,.;]*[-a-zA-Z0-9+\u0026@#/%=~_|]$", + // "type": "string" + // }, + // "TokenUrlParametersMap": { + // "additionalProperties": false, + // "description": "The token URL parameters.", + // "patternProperties": { + // "": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SecretArn": { + // "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ConnectionProperties": { + // "additionalProperties": false, + // "description": "Connection Properties", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ConnectionType": { + // "description": "Glue Connection Type", + // "type": "string" + // }, + // "Description": { + // "maxLength": 2048, + // "pattern": "", + // "type": "string" + // }, + // "MatchCriteria": { + // "maxLength": 10, + // "minLength": 0, + // "type": "string" + // }, + // "Name": { + // "maxLength": 255, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // }, + // "PhysicalConnectionRequirements": { + // "additionalProperties": false, + // "description": "Physical Connection Requirements", + // "properties": { + // "AvailabilityZone": { + // "maxLength": 255, + // "minLength": 1, + // "type": "string" + // }, + // "SecurityGroupIdList": { + // "insertionOrder": false, + // "items": { + // "maxLength": 255, + // "minLength": 1, + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 0, + // "type": "array" + // }, + // "SubnetId": { + // "maxLength": 32, + // "pattern": "^subnet-[a-z0-9]+$", + // "type": "string" + // }, + // "SubnetIdList": { + // "insertionOrder": false, + // "items": { + // "maxLength": 32, + // "pattern": "^subnet-[a-z0-9]+$", + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 1, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "PythonProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "SparkProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ValidateCredentials": { + // "type": "boolean" + // }, + // "ValidateForComputeEnvironments": { + // "insertionOrder": false, + // "items": { + // "description": "Compute Environments", + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 1, + // "type": "array" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "HyperPodProperties": { + // "additionalProperties": false, + // "description": "HyperPod Properties Input", + // "properties": { + // "ClusterName": { + // "maxLength": 63, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$", + // "type": "string" + // } + // }, + // "required": [ + // "ClusterName" + // ], + // "type": "object" + // }, + // "IamProperties": { + // "additionalProperties": false, + // "description": "IAM Properties Input", + // "properties": { + // "GlueLineageSyncEnabled": { + // "type": "boolean" + // } + // }, + // "type": "object" + // }, + // "RedshiftProperties": { + // "additionalProperties": false, + // "description": "Redshift Properties Input", + // "properties": { + // "Credentials": { + // "properties": { + // "SecretArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + // "type": "string" + // }, + // "UsernamePassword": { + // "additionalProperties": false, + // "description": "The username and password to be used for authentication.", + // "properties": { + // "Password": { + // "maxLength": 64, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "Username": { + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[\\S]*$", + // "type": "string" + // } + // }, + // "required": [ + // "Password", + // "Username" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "DatabaseName": { + // "maxLength": 64, + // "minLength": 1, + // "pattern": "^[a-z0-9]+$", + // "type": "string" + // }, + // "Host": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "LineageSync": { + // "additionalProperties": false, + // "description": "Redshift Lineage Sync Configuration Input", + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "Schedule": { + // "additionalProperties": false, + // "description": "Lineage Sync Schedule", + // "properties": { + // "Schedule": { + // "pattern": "^cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "Port": { + // "maximum": 65535, + // "minimum": 0, + // "type": "number" + // }, + // "Storage": { + // "properties": { + // "ClusterName": { + // "maxLength": 63, + // "minLength": 0, + // "pattern": "^[a-z0-9-]+$", + // "type": "string" + // }, + // "WorkgroupName": { + // "maxLength": 64, + // "minLength": 3, + // "pattern": "^[a-z0-9-]+$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SparkEmrProperties": { + // "additionalProperties": false, + // "description": "Spark EMR Properties Input.", + // "properties": { + // "ComputeArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:(elasticmapreduce|emr-serverless):.*", + // "type": "string" + // }, + // "InstanceProfileArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "JavaVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "LogUri": { + // "maxLength": 2048, + // "pattern": "^s3://.+$", + // "type": "string" + // }, + // "PythonVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "RuntimeRole": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "TrustedCertificatesS3Uri": { + // "maxLength": 2048, + // "pattern": "^s3://.+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "SparkGlueProperties": { + // "additionalProperties": false, + // "description": "Spark Glue Properties Input.", + // "properties": { + // "AdditionalArgs": { + // "additionalProperties": false, + // "description": "Spark Glue Args.", + // "properties": { + // "Connection": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "GlueConnectionName": { + // "maxLength": 255, + // "minLength": 1, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "GlueVersion": { + // "maxLength": 256, + // "pattern": "^\\w+\\.\\w+$", + // "type": "string" + // }, + // "IdleTimeout": { + // "maximum": 3000, + // "minimum": 1, + // "type": "number" + // }, + // "JavaVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "NumberOfWorkers": { + // "maximum": 1000, + // "minimum": 1, + // "type": "number" + // }, + // "PythonVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "WorkerType": { + // "maxLength": 256, + // "pattern": "^[G|Z].*$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // } + "props": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AthenaProperties + "athena_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: WorkgroupName + "workgroup_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(128), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9._-]+$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Athena Properties Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: GlueProperties + "glue_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: GlueConnectionInput + "glue_connection_input": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AthenaProperties + "athena_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: AuthenticationConfiguration + "authentication_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthenticationType + "authentication_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Authentication Type", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "BASIC", + "OAUTH2", + "CUSTOM", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: BasicAuthenticationCredentials + "basic_authentication_credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Password + "password": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(512), + stringvalidator.RegexMatches(regexp.MustCompile("^.*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UserName + "user_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(512), + stringvalidator.RegexMatches(regexp.MustCompile("^\\S+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Basic Authentication Credentials", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CustomAuthenticationCredentials + "custom_authentication_credentials": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Credential Map", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: KmsKeyArn + "kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^$|arn:aws[a-z0-9-]*:kms:.*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: OAuth2Properties + "o_auth_2_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthorizationCodeProperties + "authorization_code_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthorizationCode + "authorization_code": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 4096), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RedirectUri + "redirect_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(512), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Authorization Code Properties", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: OAuth2ClientApplication + "o_auth_2_client_application": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AWSManagedClientApplicationReference + "aws_managed_client_application_reference": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^\\S+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UserManagedClientApplicationClientId + "user_managed_client_application_client_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^\\S+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "OAuth2 Client Application", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: OAuth2Credentials + "o_auth_2_credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessToken + "access_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(4096), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\x20-\\x7E]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: JwtToken + "jwt_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(8000), + stringvalidator.RegexMatches(regexp.MustCompile("^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RefreshToken + "refresh_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(4096), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\x20-\\x7E]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UserManagedClientApplicationClientSecret + "user_managed_client_application_client_secret": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(512), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\x20-\\x7E]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue OAuth2 Credentials", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: OAuth2GrantType + "o_auth_2_grant_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "OAuth2 Grant Type", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "AUTHORIZATION_CODE", + "CLIENT_CREDENTIALS", + "JWT_BEARER", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: TokenUrl + "token_url": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: TokenUrlParametersMap + "token_url_parameters_map": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The token URL parameters.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "OAuth2 Properties", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SecretArn + "secret_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Authentication Configuration Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ConnectionProperties + "connection_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Connection Properties", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ConnectionType + "connection_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Glue Connection Type", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Description + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: MatchCriteria + "match_criteria": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 10), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Name + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 255), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: PhysicalConnectionRequirements + "physical_connection_requirements": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AvailabilityZone + "availability_zone": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 255), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SecurityGroupIdList + "security_group_id_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(0, 50), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(1, 255), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SubnetId + "subnet_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(32), + stringvalidator.RegexMatches(regexp.MustCompile("^subnet-[a-z0-9]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SubnetIdList + "subnet_id_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(1, 50), + listvalidator.ValueStringsAre( + stringvalidator.LengthAtMost(32), + stringvalidator.RegexMatches(regexp.MustCompile("^subnet-[a-z0-9]+$"), ""), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Physical Connection Requirements", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: PythonProperties + "python_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SparkProperties + "spark_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Map{ /*START PLAN MODIFIERS*/ + mapplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ValidateCredentials + "validate_credentials": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: ValidateForComputeEnvironments + "validate_for_compute_environments": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(1, 50), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue Connection Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue Properties Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: HyperPodProperties + "hyper_pod_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ClusterName + "cluster_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 63), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9](-*[a-zA-Z0-9])*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "HyperPod Properties Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: IamProperties + "iam_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: GlueLineageSyncEnabled + "glue_lineage_sync_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "IAM Properties Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RedshiftProperties + "redshift_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Credentials + "credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: SecretArn + "secret_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: UsernamePassword + "username_password": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Password + "password": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(64), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Username + "username": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 127), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The username and password to be used for authentication.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DatabaseName + "database_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 64), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Host + "host": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LineageSync + "lineage_sync": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Schedule + "schedule": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Schedule + "schedule": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Lineage Sync Schedule", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Redshift Lineage Sync Configuration Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Port + "port": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.Float64{ /*START VALIDATORS*/ + float64validator.Between(0.000000, 65535.000000), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Float64{ /*START PLAN MODIFIERS*/ + float64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Storage + "storage": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ClusterName + "cluster_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 63), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9-]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: WorkgroupName + "workgroup_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(3, 64), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-z0-9-]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Redshift Properties Input", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SparkEmrProperties + "spark_emr_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ComputeArn + "compute_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws(-(cn|us-gov|iso(-[bef])?))?:(elasticmapreduce|emr-serverless):.*"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: InstanceProfileArn + "instance_profile_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: JavaVirtualEnv + "java_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: LogUri + "log_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^s3://.+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: PythonVirtualEnv + "python_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: RuntimeRole + "runtime_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: TrustedCertificatesS3Uri + "trusted_certificates_s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(2048), + stringvalidator.RegexMatches(regexp.MustCompile("^s3://.+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark EMR Properties Input.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: SparkGlueProperties + "spark_glue_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalArgs + "additional_args": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Connection + "connection": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(128), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark Glue Args.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: GlueConnectionName + "glue_connection_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 255), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: GlueVersion + "glue_version": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^\\w+\\.\\w+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: IdleTimeout + "idle_timeout": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.Float64{ /*START VALIDATORS*/ + float64validator.Between(1.000000, 3000.000000), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Float64{ /*START PLAN MODIFIERS*/ + float64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: JavaVirtualEnv + "java_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: NumberOfWorkers + "number_of_workers": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.Float64{ /*START VALIDATORS*/ + float64validator.Between(1.000000, 1000.000000), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Float64{ /*START PLAN MODIFIERS*/ + float64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: PythonVirtualEnv + "python_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[\\S]*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: WorkerType + "worker_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthAtMost(256), + stringvalidator.RegexMatches(regexp.MustCompile("^[G|Z].*$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark Glue Properties Input.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + // Props is a write-only property. + }, /*END ATTRIBUTE*/ + // Property: Type + // CloudFormation resource type schema: + // + // { + // "description": "Connection Type", + // "type": "string" + // } + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Connection Type", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.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: "Connections enables users to connect their DataZone resources (domains, projects, and environments) to external resources/services (data, compute, etc)", + Version: 1, + Attributes: attributes, + } + + var opts generic.ResourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::DataZone::Connection").WithTerraformTypeName("awscc_datazone_connection") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "access_role": "AccessRole", + "access_token": "AccessToken", + "additional_args": "AdditionalArgs", + "athena_properties": "AthenaProperties", + "authentication_configuration": "AuthenticationConfiguration", + "authentication_type": "AuthenticationType", + "authorization_code": "AuthorizationCode", + "authorization_code_properties": "AuthorizationCodeProperties", + "availability_zone": "AvailabilityZone", + "aws_account_id": "AwsAccountId", + "aws_location": "AwsLocation", + "aws_managed_client_application_reference": "AWSManagedClientApplicationReference", + "aws_region": "AwsRegion", + "basic_authentication_credentials": "BasicAuthenticationCredentials", + "cluster_name": "ClusterName", + "compute_arn": "ComputeArn", + "connection": "Connection", + "connection_id": "ConnectionId", + "connection_properties": "ConnectionProperties", + "connection_type": "ConnectionType", + "credentials": "Credentials", + "custom_authentication_credentials": "CustomAuthenticationCredentials", + "database_name": "DatabaseName", + "description": "Description", + "domain_id": "DomainId", + "domain_identifier": "DomainIdentifier", + "domain_unit_id": "DomainUnitId", + "enabled": "Enabled", + "environment_id": "EnvironmentId", + "environment_identifier": "EnvironmentIdentifier", + "environment_user_role": "EnvironmentUserRole", + "glue_connection_input": "GlueConnectionInput", + "glue_connection_name": "GlueConnectionName", + "glue_lineage_sync_enabled": "GlueLineageSyncEnabled", + "glue_properties": "GlueProperties", + "glue_version": "GlueVersion", + "host": "Host", + "hyper_pod_properties": "HyperPodProperties", + "iam_connection_id": "IamConnectionId", + "iam_properties": "IamProperties", + "idle_timeout": "IdleTimeout", + "instance_profile_arn": "InstanceProfileArn", + "java_virtual_env": "JavaVirtualEnv", + "jwt_token": "JwtToken", + "kms_key_arn": "KmsKeyArn", + "lineage_sync": "LineageSync", + "log_uri": "LogUri", + "match_criteria": "MatchCriteria", + "name": "Name", + "number_of_workers": "NumberOfWorkers", + "o_auth_2_client_application": "OAuth2ClientApplication", + "o_auth_2_credentials": "OAuth2Credentials", + "o_auth_2_grant_type": "OAuth2GrantType", + "o_auth_2_properties": "OAuth2Properties", + "password": "Password", + "physical_connection_requirements": "PhysicalConnectionRequirements", + "port": "Port", + "project_id": "ProjectId", + "props": "Props", + "python_properties": "PythonProperties", + "python_virtual_env": "PythonVirtualEnv", + "redirect_uri": "RedirectUri", + "redshift_properties": "RedshiftProperties", + "refresh_token": "RefreshToken", + "runtime_role": "RuntimeRole", + "schedule": "Schedule", + "secret_arn": "SecretArn", + "security_group_id_list": "SecurityGroupIdList", + "spark_emr_properties": "SparkEmrProperties", + "spark_glue_properties": "SparkGlueProperties", + "spark_properties": "SparkProperties", + "storage": "Storage", + "subnet_id": "SubnetId", + "subnet_id_list": "SubnetIdList", + "token_url": "TokenUrl", + "token_url_parameters_map": "TokenUrlParametersMap", + "trusted_certificates_s3_uri": "TrustedCertificatesS3Uri", + "type": "Type", + "user_managed_client_application_client_id": "UserManagedClientApplicationClientId", + "user_managed_client_application_client_secret": "UserManagedClientApplicationClientSecret", + "user_name": "UserName", + "username": "Username", + "username_password": "UsernamePassword", + "validate_credentials": "ValidateCredentials", + "validate_for_compute_environments": "ValidateForComputeEnvironments", + "worker_type": "WorkerType", + "workgroup_name": "WorkgroupName", + }) + + opts = opts.WithWriteOnlyPropertyPaths([]string{ + "/properties/AwsLocation", + "/properties/DomainIdentifier", + "/properties/EnvironmentIdentifier", + "/properties/Props", + }) + 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/datazone/connection_resource_gen_test.go b/internal/aws/datazone/connection_resource_gen_test.go new file mode 100644 index 0000000000..72b0ef4853 --- /dev/null +++ b/internal/aws/datazone/connection_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 datazone_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSDataZoneConnection_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::DataZone::Connection", "awscc_datazone_connection", "test") + + td.ResourceTest(t, []resource.TestStep{ + { + Config: td.EmptyConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} diff --git a/internal/aws/datazone/domain_resource_gen.go b/internal/aws/datazone/domain_resource_gen.go index a0df7a4270..1b0453f0af 100644 --- a/internal/aws/datazone/domain_resource_gen.go +++ b/internal/aws/datazone/domain_resource_gen.go @@ -211,6 +211,23 @@ func domainResource(ctx context.Context) (resource.Resource, error) { stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: RootDomainUnitId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the root domain in Amazon Datazone.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-z0-9_\\-]+$", + // "type": "string" + // } + "root_domain_unit_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the root domain in Amazon Datazone.", + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: ServiceRole // CloudFormation resource type schema: // @@ -422,6 +439,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) { "managed_account_id": "ManagedAccountId", "name": "Name", "portal_url": "PortalUrl", + "root_domain_unit_id": "RootDomainUnitId", "service_role": "ServiceRole", "single_sign_on": "SingleSignOn", "status": "Status", diff --git a/internal/aws/ec2/capacity_reservation_resource_gen.go b/internal/aws/ec2/capacity_reservation_resource_gen.go index 814f18a37e..a1d918d91a 100644 --- a/internal/aws/ec2/capacity_reservation_resource_gen.go +++ b/internal/aws/ec2/capacity_reservation_resource_gen.go @@ -13,6 +13,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" @@ -69,6 +70,124 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) int64planmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: CapacityAllocationSet + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "AllocationType": { + // "type": "string" + // }, + // "Count": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": false + // } + "capacity_allocation_set": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllocationType + "allocation_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Count + "count": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CapacityReservationArn + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "capacity_reservation_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CapacityReservationFleetId + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "capacity_reservation_fleet_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CommitmentInfo + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "CommitmentEndDate": { + // "type": "string" + // }, + // "CommittedInstanceCount": { + // "type": "integer" + // } + // }, + // "type": "object" + // } + "commitment_info": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: CommitmentEndDate + "commitment_end_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CommittedInstanceCount + "committed_instance_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: CreateDate + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "create_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DeliveryPreference + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "delivery_preference": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: EbsOptimized // CloudFormation resource type schema: // @@ -195,6 +314,18 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: OwnerId + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "owner_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: PlacementGroupArn // CloudFormation resource type schema: // @@ -209,6 +340,42 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) stringplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: ReservationType + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "reservation_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: StartDate + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "start_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: State + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "state": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: TagSpecifications // CloudFormation resource type schema: // @@ -365,10 +532,20 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) opts = opts.WithCloudFormationTypeName("AWS::EC2::CapacityReservation").WithTerraformTypeName("awscc_ec2_capacity_reservation") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ + "allocation_type": "AllocationType", "availability_zone": "AvailabilityZone", "availability_zone_id": "AvailabilityZoneId", "available_instance_count": "AvailableInstanceCount", + "capacity_allocation_set": "CapacityAllocationSet", + "capacity_reservation_arn": "CapacityReservationArn", + "capacity_reservation_fleet_id": "CapacityReservationFleetId", "capacity_reservation_id": "Id", + "commitment_end_date": "CommitmentEndDate", + "commitment_info": "CommitmentInfo", + "committed_instance_count": "CommittedInstanceCount", + "count": "Count", + "create_date": "CreateDate", + "delivery_preference": "DeliveryPreference", "ebs_optimized": "EbsOptimized", "end_date": "EndDate", "end_date_type": "EndDateType", @@ -379,8 +556,12 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error) "instance_type": "InstanceType", "key": "Key", "out_post_arn": "OutPostArn", + "owner_id": "OwnerId", "placement_group_arn": "PlacementGroupArn", + "reservation_type": "ReservationType", "resource_type": "ResourceType", + "start_date": "StartDate", + "state": "State", "tag_specifications": "TagSpecifications", "tags": "Tags", "tenancy": "Tenancy", diff --git a/internal/aws/ec2/vpc_endpoint_service_resource_gen.go b/internal/aws/ec2/vpc_endpoint_service_resource_gen.go index f8e20eeffe..d02bb4e808 100644 --- a/internal/aws/ec2/vpc_endpoint_service_resource_gen.go +++ b/internal/aws/ec2/vpc_endpoint_service_resource_gen.go @@ -15,6 +15,7 @@ import ( "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/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/setplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" @@ -157,6 +158,27 @@ func vPCEndpointServiceResource(ctx context.Context) (resource.Resource, error) listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: SupportedRegions + // CloudFormation resource type schema: + // + // { + // "description": "The Regions from which service consumers can access the service.", + // "insertionOrder": false, + // "items": { + // "type": "string" + // }, + // "type": "array", + // "uniqueItems": true + // } + "supported_regions": schema.SetAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The Regions from which service consumers can access the service.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ + setplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // @@ -247,6 +269,7 @@ func vPCEndpointServiceResource(ctx context.Context) (resource.Resource, error) "payer_responsibility": "PayerResponsibility", "service_id": "ServiceId", "supported_ip_address_types": "SupportedIpAddressTypes", + "supported_regions": "SupportedRegions", "tags": "Tags", "value": "Value", }) diff --git a/internal/aws/paymentcryptography/key_resource_gen.go b/internal/aws/paymentcryptography/key_resource_gen.go index 6d48104006..72b9fe0a7d 100644 --- a/internal/aws/paymentcryptography/key_resource_gen.go +++ b/internal/aws/paymentcryptography/key_resource_gen.go @@ -70,7 +70,8 @@ func keyResource(ctx context.Context) (resource.Resource, error) { // "RSA_3072", // "RSA_4096", // "ECC_NIST_P256", - // "ECC_NIST_P384" + // "ECC_NIST_P384", + // "ECC_NIST_P521" // ], // "type": "string" // }, @@ -179,6 +180,7 @@ func keyResource(ctx context.Context) (resource.Resource, error) { "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", + "ECC_NIST_P521", ), }, /*END VALIDATORS*/ }, /*END ATTRIBUTE*/ diff --git a/internal/aws/redshiftserverless/workgroup_resource_gen.go b/internal/aws/redshiftserverless/workgroup_resource_gen.go index 2c1d13da69..1866047957 100644 --- a/internal/aws/redshiftserverless/workgroup_resource_gen.go +++ b/internal/aws/redshiftserverless/workgroup_resource_gen.go @@ -400,6 +400,26 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: TrackName + // CloudFormation resource type schema: + // + // { + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9_]+$", + // "type": "string" + // } + "track_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(1, 256), + stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9_]+$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Workgroup // CloudFormation resource type schema: // @@ -546,6 +566,12 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { // }, // "type": "array" // }, + // "TrackName": { + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9_]+$", + // "type": "string" + // }, // "WorkgroupArn": { // "type": "string" // }, @@ -565,7 +591,11 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: BaseCapacity "base_capacity": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: ConfigParameters "config_parameters": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ @@ -573,19 +603,40 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: ParameterKey "parameter_key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 255), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: ParameterValue "parameter_value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.LengthBetween(0, 15000), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/ + setplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: CreationDate "creation_date": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Endpoint "endpoint": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ @@ -593,10 +644,16 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { // Property: Address "address": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Port "port": schema.Int64Attribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: VpcEndpoints "vpc_endpoints": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ @@ -608,74 +665,140 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: AvailabilityZone "availability_zone": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: NetworkInterfaceId "network_interface_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: PrivateIpAddress "private_ip_address": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: SubnetId "subnet_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ + Optional: true, Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), + listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: VpcEndpointId "vpc_endpoint_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: VpcId "vpc_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ + Optional: true, Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), + listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: EnhancedVpcRouting "enhanced_vpc_routing": schema.BoolAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: MaxCapacity "max_capacity": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: NamespaceName "namespace_name": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: PricePerformanceTarget "price_performance_target": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Level "level": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + Validators: []validator.Int64{ /*START VALIDATORS*/ + int64validator.Between(1, 100), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/ + int64planmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Status "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Optional: true, Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ENABLED", + "DISABLED", + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ + Optional: true, Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: PubliclyAccessible "publicly_accessible": schema.BoolAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/ + boolplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: SecurityGroupIds "security_group_ids": schema.ListAttribute{ /*START ATTRIBUTE*/ @@ -683,11 +806,15 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), + listplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Status "status": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: SubnetIds "subnet_ids": schema.ListAttribute{ /*START ATTRIBUTE*/ @@ -695,22 +822,40 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { Computed: true, PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ generic.Multiset(), + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: TrackName + "track_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: WorkgroupArn "workgroup_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: WorkgroupId "workgroup_id": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: WorkgroupName "workgroup_name": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "Definition for workgroup resource", + Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ objectplanmodifier.UseStateForUnknown(), @@ -782,6 +927,7 @@ func workgroupResource(ctx context.Context) (resource.Resource, error) { "subnet_id": "SubnetId", "subnet_ids": "SubnetIds", "tags": "Tags", + "track_name": "TrackName", "value": "Value", "vpc_endpoint_id": "VpcEndpointId", "vpc_endpoints": "VpcEndpoints", diff --git a/internal/aws/rum/app_monitor_resource_gen.go b/internal/aws/rum/app_monitor_resource_gen.go index c71592afaf..81909f9486 100644 --- a/internal/aws/rum/app_monitor_resource_gen.go +++ b/internal/aws/rum/app_monitor_resource_gen.go @@ -563,22 +563,139 @@ func appMonitorResource(ctx context.Context) (resource.Resource, error) { boolplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ + // Property: DeobfuscationConfiguration + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + // "properties": { + // "JavaScriptSourceMaps": { + // "additionalProperties": false, + // "description": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + // "properties": { + // "S3Uri": { + // "description": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + // "pattern": "^s3://[a-z0-9][-.a-z0-9]{1,61}(?:/[-!_*'().a-z0-9A-Z]+(?:/[-!_*'().a-z0-9A-Z]+)*)?/?$", + // "type": "string" + // }, + // "Status": { + // "description": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED", + // "enum": [ + // "ENABLED", + // "DISABLED" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Status" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // } + "deobfuscation_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: JavaScriptSourceMaps + "java_script_source_maps": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: S3Uri + "s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.RegexMatches(regexp.MustCompile("^s3://[a-z0-9][-.a-z0-9]{1,61}(?:/[-!_*'().a-z0-9A-Z]+(?:/[-!_*'().a-z0-9A-Z]+)*)?/?$"), ""), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: Status + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED", + Optional: true, + Computed: true, + Validators: []validator.String{ /*START VALIDATORS*/ + stringvalidator.OneOf( + "ENABLED", + "DISABLED", + ), + fwvalidators.NotNullString(), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ + objectplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ // Property: Domain // CloudFormation resource type schema: // // { - // "description": "The top-level internet domain name for which your application has administrative authority.", + // "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": "", // "type": "string" // } "domain": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The top-level internet domain name for which your application has administrative authority.", - Required: true, + Description: "The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", + Optional: true, + Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ stringvalidator.LengthBetween(1, 253), }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ + stringplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ + }, /*END ATTRIBUTE*/ + // Property: DomainList + // CloudFormation resource type schema: + // + // { + // "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": "", + // "type": "string" + // }, + // "maxItems": 5, + // "minItems": 1, + // "type": "array" + // } + "domain_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", + Optional: true, + Computed: true, + Validators: []validator.List{ /*START VALIDATORS*/ + listvalidator.SizeBetween(1, 5), + listvalidator.ValueStringsAre( + stringvalidator.LengthBetween(1, 253), + ), + }, /*END VALIDATORS*/ + PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/ + listplanmodifier.UseStateForUnknown(), + }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ // Property: Id // CloudFormation resource type schema: @@ -768,38 +885,42 @@ func appMonitorResource(ctx context.Context) (resource.Resource, error) { opts = opts.WithCloudFormationTypeName("AWS::RUM::AppMonitor").WithTerraformTypeName("awscc_rum_app_monitor") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "allow_cookies": "AllowCookies", - "app_monitor_configuration": "AppMonitorConfiguration", - "app_monitor_id": "Id", - "custom_events": "CustomEvents", - "cw_log_enabled": "CwLogEnabled", - "destination": "Destination", - "destination_arn": "DestinationArn", - "dimension_keys": "DimensionKeys", - "domain": "Domain", - "enable_x_ray": "EnableXRay", - "event_pattern": "EventPattern", - "excluded_pages": "ExcludedPages", - "favorite_pages": "FavoritePages", - "guest_role_arn": "GuestRoleArn", - "iam_role_arn": "IamRoleArn", - "identity_pool_id": "IdentityPoolId", - "included_pages": "IncludedPages", - "key": "Key", - "metric_definitions": "MetricDefinitions", - "metric_destinations": "MetricDestinations", - "name": "Name", - "namespace": "Namespace", - "policy_document": "PolicyDocument", - "policy_revision_id": "PolicyRevisionId", - "resource_policy": "ResourcePolicy", - "session_sample_rate": "SessionSampleRate", - "status": "Status", - "tags": "Tags", - "telemetries": "Telemetries", - "unit_label": "UnitLabel", - "value": "Value", - "value_key": "ValueKey", + "allow_cookies": "AllowCookies", + "app_monitor_configuration": "AppMonitorConfiguration", + "app_monitor_id": "Id", + "custom_events": "CustomEvents", + "cw_log_enabled": "CwLogEnabled", + "deobfuscation_configuration": "DeobfuscationConfiguration", + "destination": "Destination", + "destination_arn": "DestinationArn", + "dimension_keys": "DimensionKeys", + "domain": "Domain", + "domain_list": "DomainList", + "enable_x_ray": "EnableXRay", + "event_pattern": "EventPattern", + "excluded_pages": "ExcludedPages", + "favorite_pages": "FavoritePages", + "guest_role_arn": "GuestRoleArn", + "iam_role_arn": "IamRoleArn", + "identity_pool_id": "IdentityPoolId", + "included_pages": "IncludedPages", + "java_script_source_maps": "JavaScriptSourceMaps", + "key": "Key", + "metric_definitions": "MetricDefinitions", + "metric_destinations": "MetricDestinations", + "name": "Name", + "namespace": "Namespace", + "policy_document": "PolicyDocument", + "policy_revision_id": "PolicyRevisionId", + "resource_policy": "ResourcePolicy", + "s3_uri": "S3Uri", + "session_sample_rate": "SessionSampleRate", + "status": "Status", + "tags": "Tags", + "telemetries": "Telemetries", + "unit_label": "UnitLabel", + "value": "Value", + "value_key": "ValueKey", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/s3/bucket_resource_gen.go b/internal/aws/s3/bucket_resource_gen.go index 4c7936d565..0709f82f13 100644 --- a/internal/aws/s3/bucket_resource_gen.go +++ b/internal/aws/s3/bucket_resource_gen.go @@ -2169,26 +2169,26 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { // // { // "additionalProperties": false, - // "description": "", + // "description": "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).", // "properties": { // "S3TablesDestination": { // "additionalProperties": false, - // "description": "", + // "description": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "properties": { // "TableArn": { - // "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the \u003ccode\u003eaws_s3_metadata\u003c/code\u003e namespace in the destination table bucket.", + // "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "type": "string" // }, // "TableBucketArn": { - // "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + // "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket.", // "type": "string" // }, // "TableName": { - // "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the \u003ccode\u003eaws_s3_metadata\u003c/code\u003e namespace in the destination table bucket.", + // "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "type": "string" // }, // "TableNamespace": { - // "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always \u003ccode\u003eaws_s3_metadata\u003c/code\u003e.", + // "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``.", // "type": "string" // } // }, @@ -2211,7 +2211,7 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: TableArn "table_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.", + Description: "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), @@ -2219,7 +2219,7 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: TableBucketArn "table_bucket_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + Description: "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ @@ -2231,7 +2231,7 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: TableName "table_name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.", + Description: "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Optional: true, Computed: true, Validators: []validator.String{ /*START VALIDATORS*/ @@ -2243,14 +2243,14 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { }, /*END ATTRIBUTE*/ // Property: TableNamespace "table_namespace": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata.", + Description: "The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``.", Computed: true, PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/ stringplanmodifier.UseStateForUnknown(), }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Optional: true, Computed: true, Validators: []validator.Object{ /*START VALIDATORS*/ @@ -2261,7 +2261,7 @@ func bucketResource(ctx context.Context) (resource.Resource, error) { }, /*END PLAN MODIFIERS*/ }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).", Optional: true, Computed: true, PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/ diff --git a/internal/aws/sagemaker/data_quality_job_definition_resource_gen.go b/internal/aws/sagemaker/data_quality_job_definition_resource_gen.go index 0eeb15ba5f..02061b73bc 100644 --- a/internal/aws/sagemaker/data_quality_job_definition_resource_gen.go +++ b/internal/aws/sagemaker/data_quality_job_definition_resource_gen.go @@ -1240,7 +1240,6 @@ func dataQualityJobDefinitionResource(ctx context.Context) (resource.Resource, e listplanmodifier.UseStateForUnknown(), listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ - // Tags is a write-only property. }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -1321,9 +1320,6 @@ func dataQualityJobDefinitionResource(ctx context.Context) (resource.Resource, e opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/sagemaker/model_bias_job_definition_resource_gen.go b/internal/aws/sagemaker/model_bias_job_definition_resource_gen.go index 63832d5ee1..d30befadec 100644 --- a/internal/aws/sagemaker/model_bias_job_definition_resource_gen.go +++ b/internal/aws/sagemaker/model_bias_job_definition_resource_gen.go @@ -1337,7 +1337,6 @@ func modelBiasJobDefinitionResource(ctx context.Context) (resource.Resource, err listplanmodifier.UseStateForUnknown(), listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ - // Tags is a write-only property. }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -1420,9 +1419,6 @@ func modelBiasJobDefinitionResource(ctx context.Context) (resource.Resource, err opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/sagemaker/model_explainability_job_definition_resource_gen.go b/internal/aws/sagemaker/model_explainability_job_definition_resource_gen.go index 78a5688cab..2b56d8b8e5 100644 --- a/internal/aws/sagemaker/model_explainability_job_definition_resource_gen.go +++ b/internal/aws/sagemaker/model_explainability_job_definition_resource_gen.go @@ -1197,7 +1197,6 @@ func modelExplainabilityJobDefinitionResource(ctx context.Context) (resource.Res listplanmodifier.UseStateForUnknown(), listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ - // Tags is a write-only property. }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -1276,9 +1275,6 @@ func modelExplainabilityJobDefinitionResource(ctx context.Context) (resource.Res opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) diff --git a/internal/aws/sagemaker/model_quality_job_definition_resource_gen.go b/internal/aws/sagemaker/model_quality_job_definition_resource_gen.go index dd30aeef81..510127de0b 100644 --- a/internal/aws/sagemaker/model_quality_job_definition_resource_gen.go +++ b/internal/aws/sagemaker/model_quality_job_definition_resource_gen.go @@ -1399,7 +1399,6 @@ func modelQualityJobDefinitionResource(ctx context.Context) (resource.Resource, listplanmodifier.UseStateForUnknown(), listplanmodifier.RequiresReplaceIfConfigured(), }, /*END PLAN MODIFIERS*/ - // Tags is a write-only property. }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ @@ -1485,9 +1484,6 @@ func modelQualityJobDefinitionResource(ctx context.Context) (resource.Resource, opts = opts.WithWriteOnlyPropertyPaths([]string{ "/properties/EndpointName", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) From fe1ec3487fd33c219dd80f235a670d03aa848574 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 20 Mar 2025 13:38:57 -0400 Subject: [PATCH 4/5] 2025/03/19 CloudFormation schemas in us-east-1; Generate Terraform data source schemas. --- .../domain_name_singular_data_source_gen.go | 12 + ...evel_objective_singular_data_source_gen.go | 145 +- .../domain_name_singular_data_source_gen.go | 67 + .../data_source_singular_data_source_gen.go | 129 +- ...knowledge_base_singular_data_source_gen.go | 80 +- .../guard_hook_singular_data_source_gen.go | 18 +- .../lambda_hook_singular_data_source_gen.go | 18 +- ...nycast_ip_list_singular_data_source_gen.go | 65 +- .../distribution_singular_data_source_gen.go | 22 +- .../vpc_origin_singular_data_source_gen.go | 59 +- .../connection_singular_data_source_gen.go | 1255 +++++++++++++++++ ...onnection_singular_data_source_gen_test.go | 36 + .../domain_singular_data_source_gen.go | 15 + ...ty_reservation_singular_data_source_gen.go | 149 ++ ...dpoint_service_singular_data_source_gen.go | 18 + .../key_singular_data_source_gen.go | 3 +- .../workgroup_singular_data_source_gen.go | 23 + .../app_monitor_singular_data_source_gen.go | 149 +- .../aws/s3/bucket_singular_data_source_gen.go | 24 +- 19 files changed, 2180 insertions(+), 107 deletions(-) create mode 100644 internal/aws/datazone/connection_singular_data_source_gen.go create mode 100644 internal/aws/datazone/connection_singular_data_source_gen_test.go diff --git a/internal/aws/apigatewayv2/domain_name_singular_data_source_gen.go b/internal/aws/apigatewayv2/domain_name_singular_data_source_gen.go index 2866154092..1965a5e7f4 100644 --- a/internal/aws/apigatewayv2/domain_name_singular_data_source_gen.go +++ b/internal/aws/apigatewayv2/domain_name_singular_data_source_gen.go @@ -34,6 +34,17 @@ func domainNameDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: DomainNameArn + // CloudFormation resource type schema: + // + // { + // "description": "", + // "type": "string" + // } + "domain_name_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: DomainNameConfigurations // CloudFormation resource type schema: // @@ -197,6 +208,7 @@ func domainNameDataSource(ctx context.Context) (datasource.DataSource, error) { "certificate_arn": "CertificateArn", "certificate_name": "CertificateName", "domain_name": "DomainName", + "domain_name_arn": "DomainNameArn", "domain_name_configurations": "DomainNameConfigurations", "endpoint_type": "EndpointType", "mutual_tls_authentication": "MutualTlsAuthentication", diff --git a/internal/aws/applicationsignals/service_level_objective_singular_data_source_gen.go b/internal/aws/applicationsignals/service_level_objective_singular_data_source_gen.go index f7995d08f1..9dcddcdf3d 100644 --- a/internal/aws/applicationsignals/service_level_objective_singular_data_source_gen.go +++ b/internal/aws/applicationsignals/service_level_objective_singular_data_source_gen.go @@ -116,6 +116,127 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource Description: "Displays whether this is a period-based SLO or a request-based SLO.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: ExclusionWindows + // CloudFormation resource type schema: + // + // { + // "description": "Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "description": "This object defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + // "properties": { + // "Reason": { + // "default": "No reason", + // "description": "An optional reason for scheduling this time exclusion window. Default is 'No reason'.", + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // }, + // "RecurrenceRule": { + // "additionalProperties": false, + // "description": "This object defines how often to repeat a time exclusion window.", + // "properties": { + // "Expression": { + // "description": "A cron or rate expression denoting how often to repeat this exclusion window.", + // "maxLength": 1024, + // "minLength": 1, + // "type": "string" + // } + // }, + // "required": [ + // "Expression" + // ], + // "type": "object" + // }, + // "StartTime": { + // "description": "The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past.", + // "type": "string" + // }, + // "Window": { + // "additionalProperties": false, + // "description": "This object defines the length of time an exclusion window should span.", + // "properties": { + // "Duration": { + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "minimum": 1, + // "type": "integer" + // }, + // "DurationUnit": { + // "description": "Specifies the interval unit.", + // "enum": [ + // "MINUTE", + // "HOUR", + // "DAY", + // "MONTH" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "DurationUnit", + // "Duration" + // ], + // "type": "object" + // } + // }, + // "required": [ + // "Window" + // ], + // "type": "object" + // }, + // "maxItems": 10, + // "minItems": 0, + // "type": "array", + // "uniqueItems": true + // } + "exclusion_windows": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Reason + "reason": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "An optional reason for scheduling this time exclusion window. Default is 'No reason'.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RecurrenceRule + "recurrence_rule": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Expression + "expression": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A cron or rate expression denoting how often to repeat this exclusion window.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "This object defines how often to repeat a time exclusion window.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StartTime + "start_time": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Window + "window": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Duration + "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DurationUnit + "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Specifies the interval unit.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "This object defines the length of time an exclusion window should span.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Goal // CloudFormation resource type schema: // @@ -136,13 +257,15 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource // "description": "If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.", // "properties": { // "Duration": { - // "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", // "minimum": 1, // "type": "integer" // }, // "DurationUnit": { - // "description": "Specifies the calendar interval unit.", + // "description": "Specifies the interval unit.", // "enum": [ + // "MINUTE", + // "HOUR", // "DAY", // "MONTH" // ], @@ -166,13 +289,15 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource // "description": "If the interval is a calendar interval, this structure contains the interval specifications.", // "properties": { // "Duration": { - // "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + // "description": "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", // "minimum": 1, // "type": "integer" // }, // "DurationUnit": { - // "description": "Specifies the calendar interval unit.", + // "description": "Specifies the interval unit.", // "enum": [ + // "MINUTE", + // "HOUR", // "DAY", // "MONTH" // ], @@ -210,12 +335,12 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Duration "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", Computed: true, }, /*END ATTRIBUTE*/ // Property: DurationUnit "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Specifies the calendar interval unit.", + Description: "Specifies the interval unit.", Computed: true, }, /*END ATTRIBUTE*/ // Property: StartTime @@ -232,12 +357,12 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Duration "duration": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Description: "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + Description: "Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", Computed: true, }, /*END ATTRIBUTE*/ // Property: DurationUnit "duration_unit": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "Specifies the calendar interval unit.", + Description: "Specifies the interval unit.", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ @@ -1327,6 +1452,7 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource "duration": "Duration", "duration_unit": "DurationUnit", "evaluation_type": "EvaluationType", + "exclusion_windows": "ExclusionWindows", "expression": "Expression", "goal": "Goal", "good_count_metric": "GoodCountMetric", @@ -1348,6 +1474,8 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource "operation_name": "OperationName", "period": "Period", "period_seconds": "PeriodSeconds", + "reason": "Reason", + "recurrence_rule": "RecurrenceRule", "request_based_sli": "RequestBasedSli", "request_based_sli_metric": "RequestBasedSliMetric", "return_data": "ReturnData", @@ -1362,6 +1490,7 @@ func serviceLevelObjectiveDataSource(ctx context.Context) (datasource.DataSource "unit": "Unit", "value": "Value", "warning_threshold": "WarningThreshold", + "window": "Window", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/appsync/domain_name_singular_data_source_gen.go b/internal/aws/appsync/domain_name_singular_data_source_gen.go index e4bd53fb17..8e2614ea89 100644 --- a/internal/aws/appsync/domain_name_singular_data_source_gen.go +++ b/internal/aws/appsync/domain_name_singular_data_source_gen.go @@ -66,6 +66,17 @@ func domainNameDataSource(ctx context.Context) (datasource.DataSource, error) { "domain_name": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: DomainNameArn + // CloudFormation resource type schema: + // + // { + // "description": "The Amazon Resource Name (ARN) for the Domain Name.", + // "type": "string" + // } + "domain_name_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The Amazon Resource Name (ARN) for the Domain Name.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: HostedZoneId // CloudFormation resource type schema: // @@ -75,6 +86,58 @@ func domainNameDataSource(ctx context.Context) (datasource.DataSource, error) { "hosted_zone_id": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: Tags + // CloudFormation resource type schema: + // + // { + // "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "description": "An arbitrary set of tags (key-value pairs) for this Domain Name.", + // "properties": { + // "Key": { + // "description": "A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + // "maxLength": 128, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // }, + // "Value": { + // "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + // "maxLength": 256, + // "minLength": 0, + // "pattern": "^[\\s\\w+-=\\.:/@]*$", + // "type": "string" + // } + // }, + // "required": [ + // "Key", + // "Value" + // ], + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": true + // } + "tags": schema.SetNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Key + "key": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Value + "value": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Description: "An arbitrary set of tags (key-value pairs) for this Domain Name.", + Computed: true, + }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ attributes["id"] = schema.StringAttribute{ @@ -96,7 +159,11 @@ func domainNameDataSource(ctx context.Context) (datasource.DataSource, error) { "certificate_arn": "CertificateArn", "description": "Description", "domain_name": "DomainName", + "domain_name_arn": "DomainNameArn", "hosted_zone_id": "HostedZoneId", + "key": "Key", + "tags": "Tags", + "value": "Value", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/bedrock/data_source_singular_data_source_gen.go b/internal/aws/bedrock/data_source_singular_data_source_gen.go index a9cb58836b..aa89b7e1cb 100644 --- a/internal/aws/bedrock/data_source_singular_data_source_gen.go +++ b/internal/aws/bedrock/data_source_singular_data_source_gen.go @@ -435,7 +435,8 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { // "AuthType": { // "description": "The supported authentication type to authenticate and connect to your SharePoint site/sites.", // "enum": [ - // "OAUTH2_CLIENT_CREDENTIALS" + // "OAUTH2_CLIENT_CREDENTIALS", + // "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS" // ], // "type": "string" // }, @@ -515,6 +516,11 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { // "additionalProperties": false, // "description": "Limit settings for the web crawler.", // "properties": { + // "MaxPages": { + // "description": "Maximum number of pages the crawler can crawl.", + // "minimum": 1, + // "type": "integer" + // }, // "RateLimit": { // "description": "Rate of web URLs retrieved per minute.", // "maximum": 300, @@ -555,6 +561,18 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { // "SUBDOMAINS" // ], // "type": "string" + // }, + // "UserAgent": { + // "description": "The suffix that will be included in the user agent header.", + // "maxLength": 40, + // "minLength": 15, + // "type": "string" + // }, + // "UserAgentHeader": { + // "description": "The full user agent header, including UUID and suffix.", + // "maxLength": 86, + // "minLength": 61, + // "type": "string" // } // }, // "type": "object" @@ -916,6 +934,11 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { // Property: CrawlerLimits "crawler_limits": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: MaxPages + "max_pages": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Description: "Maximum number of pages the crawler can crawl.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: RateLimit "rate_limit": schema.Int64Attribute{ /*START ATTRIBUTE*/ Description: "Rate of web URLs retrieved per minute.", @@ -942,6 +965,16 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The scope that a web crawl job will be restricted to.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: UserAgent + "user_agent": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The suffix that will be included in the user agent header.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UserAgentHeader + "user_agent_header": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The full user agent header, including UUID and suffix.", + Computed: true, + }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ Description: "Configuration for the web crawler.", Computed: true, @@ -1222,6 +1255,58 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { // ], // "type": "object" // }, + // "ContextEnrichmentConfiguration": { + // "additionalProperties": false, + // "description": "Additional Enrichment Configuration for example when using GraphRag.", + // "properties": { + // "BedrockFoundationModelConfiguration": { + // "additionalProperties": false, + // "description": "Bedrock Foundation Model configuration to be used for Context Enrichment.", + // "properties": { + // "EnrichmentStrategyConfiguration": { + // "additionalProperties": false, + // "description": "Strategy to be used when using Bedrock Foundation Model for Context Enrichment.", + // "properties": { + // "Method": { + // "description": "Enrichment Strategy method.", + // "enum": [ + // "CHUNK_ENTITY_EXTRACTION" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Method" + // ], + // "type": "object" + // }, + // "ModelArn": { + // "description": "The model's ARN.", + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", + // "type": "string" + // } + // }, + // "required": [ + // "EnrichmentStrategyConfiguration", + // "ModelArn" + // ], + // "type": "object" + // }, + // "Type": { + // "description": "Enrichment type to be used for the vector database.", + // "enum": [ + // "BEDROCK_FOUNDATION_MODEL" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Type" + // ], + // "type": "object" + // }, // "CustomTransformationConfiguration": { // "additionalProperties": false, // "description": "Settings for customizing steps in the data source content ingestion pipeline.", @@ -1466,6 +1551,42 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: ContextEnrichmentConfiguration + "context_enrichment_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: BedrockFoundationModelConfiguration + "bedrock_foundation_model_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: EnrichmentStrategyConfiguration + "enrichment_strategy_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Method + "method": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Enrichment Strategy method.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Strategy to be used when using Bedrock Foundation Model for Context Enrichment.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ModelArn + "model_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The model's ARN.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Bedrock Foundation Model configuration to be used for Context Enrichment.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Enrichment type to be used for the vector database.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Additional Enrichment Configuration for example when using GraphRag.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: CustomTransformationConfiguration "custom_transformation_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -1609,6 +1730,7 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { "chunking_configuration": "ChunkingConfiguration", "chunking_strategy": "ChunkingStrategy", "confluence_configuration": "ConfluenceConfiguration", + "context_enrichment_configuration": "ContextEnrichmentConfiguration", "crawler_configuration": "CrawlerConfiguration", "crawler_limits": "CrawlerLimits", "created_at": "CreatedAt", @@ -1620,6 +1742,7 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { "data_source_status": "DataSourceStatus", "description": "Description", "domain": "Domain", + "enrichment_strategy_configuration": "EnrichmentStrategyConfiguration", "exclusion_filters": "ExclusionFilters", "failure_reasons": "FailureReasons", "filter_configuration": "FilterConfiguration", @@ -1635,7 +1758,9 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { "knowledge_base_id": "KnowledgeBaseId", "lambda_arn": "LambdaArn", "level_configurations": "LevelConfigurations", + "max_pages": "MaxPages", "max_tokens": "MaxTokens", + "method": "Method", "model_arn": "ModelArn", "name": "Name", "object_type": "ObjectType", @@ -1668,6 +1793,8 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) { "uri": "URI", "url": "Url", "url_configuration": "UrlConfiguration", + "user_agent": "UserAgent", + "user_agent_header": "UserAgentHeader", "vector_ingestion_configuration": "VectorIngestionConfiguration", "web_configuration": "WebConfiguration", }) diff --git a/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go b/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go index 8d841a26a1..33092f0cb5 100644 --- a/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go +++ b/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go @@ -915,6 +915,11 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) // }, // { // "required": [ + // "NeptuneAnalyticsConfiguration" + // ] + // }, + // { + // "required": [ // "MongoDbAtlasConfiguration" // ] // } @@ -1000,6 +1005,47 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) // ], // "type": "object" // }, + // "NeptuneAnalyticsConfiguration": { + // "additionalProperties": false, + // "description": "Contains the configurations to use Neptune Analytics as Vector Store.", + // "properties": { + // "FieldMapping": { + // "additionalProperties": false, + // "description": "A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields.", + // "properties": { + // "MetadataField": { + // "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.", + // "maxLength": 2048, + // "pattern": "^.*$", + // "type": "string" + // }, + // "TextField": { + // "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.", + // "maxLength": 2048, + // "pattern": "^.*$", + // "type": "string" + // } + // }, + // "required": [ + // "TextField", + // "MetadataField" + // ], + // "type": "object" + // }, + // "GraphArn": { + // "description": "ARN for Neptune Analytics graph database.", + // "maxLength": 255, + // "minLength": 1, + // "pattern": "^arn:aws(|-cn|-us-gov):neptune-graph:[a-zA-Z0-9-]*:[0-9]{12}:graph\\/g-[a-zA-Z0-9]{10}$", + // "type": "string" + // } + // }, + // "required": [ + // "GraphArn", + // "FieldMapping" + // ], + // "type": "object" + // }, // "OpensearchServerlessConfiguration": { // "additionalProperties": false, // "description": "Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.", @@ -1185,7 +1231,8 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) // "OPENSEARCH_SERVERLESS", // "PINECONE", // "RDS", - // "MONGO_DB_ATLAS" + // "MONGO_DB_ATLAS", + // "NEPTUNE_ANALYTICS" // ], // "type": "string" // } @@ -1256,6 +1303,35 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) Description: "Contains the storage configuration of the knowledge base in MongoDb Atlas Cloud.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: NeptuneAnalyticsConfiguration + "neptune_analytics_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: FieldMapping + "field_mapping": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: MetadataField + "metadata_field": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the field in which Amazon Bedrock stores metadata about the vector store.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: TextField + "text_field": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: GraphArn + "graph_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "ARN for Neptune Analytics graph database.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Contains the configurations to use Neptune Analytics as Vector Store.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: OpensearchServerlessConfiguration "opensearch_serverless_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ @@ -1472,6 +1548,7 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) "failure_reasons": "FailureReasons", "field_mapping": "FieldMapping", "generation_context": "GenerationContext", + "graph_arn": "GraphArn", "inclusion": "Inclusion", "kendra_index_arn": "KendraIndexArn", "kendra_knowledge_base_configuration": "KendraKnowledgeBaseConfiguration", @@ -1483,6 +1560,7 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error) "name": "Name", "namespace": "Namespace", "natural_language": "NaturalLanguage", + "neptune_analytics_configuration": "NeptuneAnalyticsConfiguration", "opensearch_serverless_configuration": "OpensearchServerlessConfiguration", "pinecone_configuration": "PineconeConfiguration", "primary_key_field": "PrimaryKeyField", diff --git a/internal/aws/cloudformation/guard_hook_singular_data_source_gen.go b/internal/aws/cloudformation/guard_hook_singular_data_source_gen.go index f48d133fc5..f3ed5ac441 100644 --- a/internal/aws/cloudformation/guard_hook_singular_data_source_gen.go +++ b/internal/aws/cloudformation/guard_hook_singular_data_source_gen.go @@ -214,7 +214,7 @@ func guardHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -228,7 +228,7 @@ func guardHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -247,9 +247,12 @@ func guardHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "description": "List of stack roles that the hook is going to be excluded from", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -261,9 +264,12 @@ func guardHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "description": "List of stack roles that the hook is going to target", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, diff --git a/internal/aws/cloudformation/lambda_hook_singular_data_source_gen.go b/internal/aws/cloudformation/lambda_hook_singular_data_source_gen.go index 1f14aeead7..493c5cb4df 100644 --- a/internal/aws/cloudformation/lambda_hook_singular_data_source_gen.go +++ b/internal/aws/cloudformation/lambda_hook_singular_data_source_gen.go @@ -131,7 +131,7 @@ func lambdaHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -145,7 +145,7 @@ func lambdaHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "items": { // "description": "CloudFormation Stack name", // "maxLength": 128, - // "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + // "pattern": "^[a-zA-Z*?][-a-zA-Z0-9*?]*$", // "type": "string" // }, // "maxItems": 50, @@ -164,9 +164,12 @@ func lambdaHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "description": "List of stack roles that the hook is going to be excluded from", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, @@ -178,9 +181,12 @@ func lambdaHookDataSource(ctx context.Context) (datasource.DataSource, error) { // "description": "List of stack roles that the hook is going to target", // "insertionOrder": false, // "items": { - // "description": "IAM Role ARN", + // "anyOf": [ + // {}, + // {} + // ], + // "description": "IAM Stack Role ARN filter", // "maxLength": 256, - // "pattern": "arn:.+:iam::[0-9]{12}:role/.+", // "type": "string" // }, // "maxItems": 50, diff --git a/internal/aws/cloudfront/anycast_ip_list_singular_data_source_gen.go b/internal/aws/cloudfront/anycast_ip_list_singular_data_source_gen.go index 29e603def7..2e13e2237e 100644 --- a/internal/aws/cloudfront/anycast_ip_list_singular_data_source_gen.go +++ b/internal/aws/cloudfront/anycast_ip_list_singular_data_source_gen.go @@ -29,33 +29,41 @@ func anycastIpListDataSource(ctx context.Context) (datasource.DataSource, error) // // { // "additionalProperties": false, + // "description": "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", // "properties": { // "AnycastIps": { + // "description": "The static IP addresses that are allocated to the Anycast static IP list.", // "items": { // "type": "string" // }, // "type": "array" // }, // "Arn": { + // "description": "The Amazon Resource Name (ARN) of the Anycast static IP list.", // "type": "string" // }, // "Id": { + // "description": "The ID of the Anycast static IP list.", // "type": "string" // }, // "IpCount": { + // "description": "The number of IP addresses in the Anycast static IP list.", // "type": "integer" // }, // "LastModifiedTime": { + // "description": "The last time the Anycast static IP list was modified.", // "format": "date-time", // "type": "string" // }, // "Name": { + // "description": "The name of the Anycast static IP list.", // "maxLength": 64, // "minLength": 1, // "pattern": "^[a-zA-Z0-9-_]{1,64}$", // "type": "string" // }, // "Status": { + // "description": "The status of the Anycast static IP list. Valid values: ``Deployed``, ``Deploying``, or ``Failed``.", // "type": "string" // } // }, @@ -75,92 +83,113 @@ func anycastIpListDataSource(ctx context.Context) (datasource.DataSource, error) // Property: AnycastIps "anycast_ips": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, + Description: "The static IP addresses that are allocated to the Anycast static IP list.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Arn "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The Amazon Resource Name (ARN) of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Id "id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The ID of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: IpCount "ip_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The number of IP addresses in the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: LastModifiedTime "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - CustomType: timetypes.RFC3339Type{}, - Computed: true, + CustomType: timetypes.RFC3339Type{}, + Description: "The last time the Anycast static IP list was modified.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Name "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The name of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Status "status": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The status of the Anycast static IP list. Valid values: ``Deployed``, ``Deploying``, or ``Failed``.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "An Anycast static IP list. For more information, see [Request Anycast static IPs to use for allowlisting](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/request-static-ips.html) in the *Amazon CloudFront Developer Guide*.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: ETag // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "e_tag": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Id // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "anycast_ip_list_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: IpCount // CloudFormation resource type schema: // // { + // "description": "The number of IP addresses in the Anycast static IP list.", // "type": "integer" // } "ip_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The number of IP addresses in the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Name // CloudFormation resource type schema: // // { + // "description": "The name of the Anycast static IP list.", // "maxLength": 64, // "minLength": 1, // "pattern": "^[a-zA-Z0-9-_]{1,64}$", // "type": "string" // } "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The name of the Anycast static IP list.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // // { // "additionalProperties": false, + // "description": "A complex type that contains zero or more ``Tag`` elements.", // "properties": { // "Items": { + // "description": "A complex type that contains ``Tag`` elements.", // "items": { // "additionalProperties": false, + // "description": "A complex type that contains ``Tag`` key and ``Tag`` value.", // "properties": { // "Key": { + // "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "maxLength": 128, // "minLength": 1, // "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", // "type": "string" // }, // "Value": { + // "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "maxLength": 256, // "minLength": 0, // "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", @@ -185,18 +214,22 @@ func anycastIpListDataSource(ctx context.Context) (datasource.DataSource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Computed: true, + Description: "A complex type that contains ``Tag`` elements.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "A complex type that contains zero or more ``Tag`` elements.", + Computed: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/cloudfront/distribution_singular_data_source_gen.go b/internal/aws/cloudfront/distribution_singular_data_source_gen.go index e93e5de84a..f5c394747d 100644 --- a/internal/aws/cloudfront/distribution_singular_data_source_gen.go +++ b/internal/aws/cloudfront/distribution_singular_data_source_gen.go @@ -39,7 +39,7 @@ func distributionDataSource(ctx context.Context) (datasource.DataSource, error) // "uniqueItems": false // }, // "AnycastIpListId": { - // "description": "", + // "description": "ID of the Anycast static IP list that is associated with the distribution.", // "type": "string" // }, // "CNAMEs": { @@ -733,7 +733,7 @@ func distributionDataSource(ctx context.Context) (datasource.DataSource, error) // "insertionOrder": false, // "items": { // "additionalProperties": false, - // "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits).", + // "description": "An origin.\n An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:\n + Use ``S3OriginConfig`` to specify an Amazon S3 bucket that is not configured with static website hosting.\n + Use ``VpcOriginConfig`` to specify a VPC origin.\n + Use ``CustomOriginConfig`` to specify all other kinds of origins, including:\n + An Amazon S3 bucket that is configured with static website hosting\n + An Elastic Load Balancing load balancer\n + An EMPlong endpoint\n + An EMSlong container\n + Any other HTTP server, running on an Amazon EC2 instance or any other kind of host\n \n \n For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits).", // "properties": { // "ConnectionAttempts": { // "description": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n For a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout).\n For more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide*.", @@ -859,17 +859,20 @@ func distributionDataSource(ctx context.Context) (datasource.DataSource, error) // }, // "VpcOriginConfig": { // "additionalProperties": false, - // "description": "", + // "description": "The VPC origin configuration.", // "properties": { // "OriginKeepaliveTimeout": { // "default": 5, + // "description": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", // "type": "integer" // }, // "OriginReadTimeout": { // "default": 30, + // "description": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", // "type": "integer" // }, // "VpcOriginId": { + // "description": "The VPC origin ID.", // "type": "string" // } // }, @@ -1005,7 +1008,7 @@ func distributionDataSource(ctx context.Context) (datasource.DataSource, error) }, /*END ATTRIBUTE*/ // Property: AnycastIpListId "anycast_ip_list_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "", + Description: "ID of the Anycast static IP list that is associated with the distribution.", Computed: true, }, /*END ATTRIBUTE*/ // Property: CNAMEs @@ -1718,18 +1721,21 @@ func distributionDataSource(ctx context.Context) (datasource.DataSource, error) Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: OriginKeepaliveTimeout "origin_keepalive_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: OriginReadTimeout "origin_read_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: VpcOriginId "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The VPC origin ID.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The VPC origin configuration.", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ diff --git a/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go b/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go index 0f909123ff..6f55e6f38f 100644 --- a/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go +++ b/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go @@ -27,58 +27,72 @@ func vpcOriginDataSource(ctx context.Context) (datasource.DataSource, error) { // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: CreatedTime // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "created_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Id // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: LastModifiedTime // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Status // CloudFormation resource type schema: // // { + // "description": "", // "type": "string" // } "status": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // // { + // "description": "A complex type that contains zero or more ``Tag`` elements.", // "items": { // "additionalProperties": false, + // "description": "A complex type that contains ``Tag`` key and ``Tag`` value.", // "properties": { // "Key": { + // "description": "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "type": "string" // }, // "Value": { + // "description": "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", // "type": "string" // } // }, @@ -96,38 +110,47 @@ func vpcOriginDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Key "key": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A string that contains ``Tag`` key.\n The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Value "value": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "A string that contains an optional ``Tag`` value.\n The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``.", + Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ }, /*END NESTED OBJECT*/ - Computed: true, + Description: "A complex type that contains zero or more ``Tag`` elements.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: VpcOriginEndpointConfig // CloudFormation resource type schema: // // { // "additionalProperties": false, + // "description": "The VPC origin endpoint configuration.", // "properties": { // "Arn": { + // "description": "The ARN of the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "HTTPPort": { // "default": 80, + // "description": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``.", // "type": "integer" // }, // "HTTPSPort": { // "default": 443, + // "description": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``.", // "type": "integer" // }, // "Name": { + // "description": "The name of the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "OriginProtocolPolicy": { // "default": "match-viewer", + // "description": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", // "type": "string" // }, // "OriginSSLProtocols": { @@ -135,6 +158,7 @@ func vpcOriginDataSource(ctx context.Context) (datasource.DataSource, error) { // "TLSv1", // "SSLv3" // ], + // "description": "", // "items": { // "type": "string" // }, @@ -152,31 +176,38 @@ func vpcOriginDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: Arn "arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The ARN of the CloudFront VPC origin endpoint configuration.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: HTTPPort "http_port": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: HTTPSPort "https_port": schema.Int64Attribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: Name "name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The name of the CloudFront VPC origin endpoint configuration.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: OriginProtocolPolicy "origin_protocol_policy": schema.StringAttribute{ /*START ATTRIBUTE*/ - Computed: true, + Description: "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + Computed: true, }, /*END ATTRIBUTE*/ // Property: OriginSSLProtocols "origin_ssl_protocols": schema.ListAttribute{ /*START ATTRIBUTE*/ ElementType: types.StringType, + Description: "", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Computed: true, + Description: "The VPC origin endpoint configuration.", + Computed: true, }, /*END ATTRIBUTE*/ } /*END SCHEMA*/ diff --git a/internal/aws/datazone/connection_singular_data_source_gen.go b/internal/aws/datazone/connection_singular_data_source_gen.go new file mode 100644 index 0000000000..30202ea94a --- /dev/null +++ b/internal/aws/datazone/connection_singular_data_source_gen.go @@ -0,0 +1,1255 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. + +package datazone + +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_datazone_connection", connectionDataSource) +} + +// connectionDataSource returns the Terraform awscc_datazone_connection data source. +// This Terraform data source corresponds to the CloudFormation AWS::DataZone::Connection resource. +func connectionDataSource(ctx context.Context) (datasource.DataSource, error) { + attributes := map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AwsLocation + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "AWS Location of project", + // "properties": { + // "AccessRole": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "AwsAccountId": { + // "pattern": "^\\d{12}$", + // "type": "string" + // }, + // "AwsRegion": { + // "pattern": "^[a-z]{2}-[a-z]{4,10}-\\d$", + // "type": "string" + // }, + // "IamConnectionId": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + // }, + // "type": "object" + // } + "aws_location": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessRole + "access_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AwsAccountId + "aws_account_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AwsRegion + "aws_region": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: IamConnectionId + "iam_connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "AWS Location of project", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ConnectionId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the connection.", + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + "connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the connection.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Description + // CloudFormation resource type schema: + // + // { + // "description": "The description of the connection.", + // "maxLength": 128, + // "pattern": "^[\\S\\s]*$", + // "type": "string" + // } + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The description of the connection.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DomainId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the domain in which the connection is created.", + // "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "domain_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the domain in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DomainIdentifier + // CloudFormation resource type schema: + // + // { + // "description": "The identifier of the domain in which the connection is created.", + // "pattern": "^dzd[_][a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "domain_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The identifier of the domain in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DomainUnitId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the domain unit in which the connection is created.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-z0-9_\\-]+$", + // "type": "string" + // } + "domain_unit_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the domain unit in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: EnvironmentId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the environment in which the connection is created.", + // "pattern": "^[a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "environment_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the environment in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: EnvironmentIdentifier + // CloudFormation resource type schema: + // + // { + // "description": "The identifier of the environment in which the connection is created.", + // "type": "string" + // } + "environment_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The identifier of the environment in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: EnvironmentUserRole + // CloudFormation resource type schema: + // + // { + // "description": "The role of the user in the environment.", + // "type": "string" + // } + "environment_user_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The role of the user in the environment.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Name + // CloudFormation resource type schema: + // + // { + // "description": "The name of the connection.", + // "maxLength": 64, + // "pattern": "^[\\w][\\w\\.\\-\\_]*$", + // "type": "string" + // } + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The name of the connection.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ProjectId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the project in which the connection is created.", + // "pattern": "^[a-zA-Z0-9_-]{1,36}$", + // "type": "string" + // } + "project_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the project in which the connection is created.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Props + // CloudFormation resource type schema: + // + // { + // "properties": { + // "AthenaProperties": { + // "additionalProperties": false, + // "description": "Athena Properties Input", + // "properties": { + // "WorkgroupName": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9._-]+$", + // "type": "string" + // } + // }, + // "required": [ + // "WorkgroupName" + // ], + // "type": "object" + // }, + // "GlueProperties": { + // "additionalProperties": false, + // "description": "Glue Properties Input", + // "properties": { + // "GlueConnectionInput": { + // "additionalProperties": false, + // "description": "Glue Connection Input", + // "properties": { + // "AthenaProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "AuthenticationConfiguration": { + // "additionalProperties": false, + // "description": "Authentication Configuration Input", + // "properties": { + // "AuthenticationType": { + // "description": "Authentication Type", + // "enum": [ + // "BASIC", + // "OAUTH2", + // "CUSTOM" + // ], + // "type": "string" + // }, + // "BasicAuthenticationCredentials": { + // "additionalProperties": false, + // "description": "Basic Authentication Credentials", + // "properties": { + // "Password": { + // "maxLength": 512, + // "pattern": "^.*$", + // "type": "string" + // }, + // "UserName": { + // "maxLength": 512, + // "pattern": "^\\S+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "CustomAuthenticationCredentials": { + // "additionalProperties": false, + // "description": "Credential Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "KmsKeyArn": { + // "pattern": "^$|arn:aws[a-z0-9-]*:kms:.*$", + // "type": "string" + // }, + // "OAuth2Properties": { + // "additionalProperties": false, + // "description": "OAuth2 Properties", + // "properties": { + // "AuthorizationCodeProperties": { + // "additionalProperties": false, + // "description": "Authorization Code Properties", + // "properties": { + // "AuthorizationCode": { + // "maxLength": 4096, + // "minLength": 1, + // "type": "string" + // }, + // "RedirectUri": { + // "maxLength": 512, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2ClientApplication": { + // "additionalProperties": false, + // "description": "OAuth2 Client Application", + // "properties": { + // "AWSManagedClientApplicationReference": { + // "maxLength": 2048, + // "pattern": "^\\S+$", + // "type": "string" + // }, + // "UserManagedClientApplicationClientId": { + // "maxLength": 2048, + // "pattern": "^\\S+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2Credentials": { + // "additionalProperties": false, + // "description": "Glue OAuth2 Credentials", + // "properties": { + // "AccessToken": { + // "maxLength": 4096, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // }, + // "JwtToken": { + // "maxLength": 8000, + // "pattern": "^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)$", + // "type": "string" + // }, + // "RefreshToken": { + // "maxLength": 4096, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // }, + // "UserManagedClientApplicationClientSecret": { + // "maxLength": 512, + // "pattern": "^[\\x20-\\x7E]*$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "OAuth2GrantType": { + // "description": "OAuth2 Grant Type", + // "enum": [ + // "AUTHORIZATION_CODE", + // "CLIENT_CREDENTIALS", + // "JWT_BEARER" + // ], + // "type": "string" + // }, + // "TokenUrl": { + // "maxLength": 256, + // "pattern": "^(https?)://[-a-zA-Z0-9+\u0026@#/%?=~_|!:,.;]*[-a-zA-Z0-9+\u0026@#/%=~_|]$", + // "type": "string" + // }, + // "TokenUrlParametersMap": { + // "additionalProperties": false, + // "description": "The token URL parameters.", + // "patternProperties": { + // "": { + // "maxLength": 512, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SecretArn": { + // "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ConnectionProperties": { + // "additionalProperties": false, + // "description": "Connection Properties", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ConnectionType": { + // "description": "Glue Connection Type", + // "type": "string" + // }, + // "Description": { + // "maxLength": 2048, + // "pattern": "", + // "type": "string" + // }, + // "MatchCriteria": { + // "maxLength": 10, + // "minLength": 0, + // "type": "string" + // }, + // "Name": { + // "maxLength": 255, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // }, + // "PhysicalConnectionRequirements": { + // "additionalProperties": false, + // "description": "Physical Connection Requirements", + // "properties": { + // "AvailabilityZone": { + // "maxLength": 255, + // "minLength": 1, + // "type": "string" + // }, + // "SecurityGroupIdList": { + // "insertionOrder": false, + // "items": { + // "maxLength": 255, + // "minLength": 1, + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 0, + // "type": "array" + // }, + // "SubnetId": { + // "maxLength": 32, + // "pattern": "^subnet-[a-z0-9]+$", + // "type": "string" + // }, + // "SubnetIdList": { + // "insertionOrder": false, + // "items": { + // "maxLength": 32, + // "pattern": "^subnet-[a-z0-9]+$", + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 1, + // "type": "array" + // } + // }, + // "type": "object" + // }, + // "PythonProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "SparkProperties": { + // "additionalProperties": false, + // "description": "Property Map", + // "patternProperties": { + // "": { + // "maxLength": 2048, + // "minLength": 1, + // "pattern": "", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "ValidateCredentials": { + // "type": "boolean" + // }, + // "ValidateForComputeEnvironments": { + // "insertionOrder": false, + // "items": { + // "description": "Compute Environments", + // "type": "string" + // }, + // "maxItems": 50, + // "minItems": 1, + // "type": "array" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "HyperPodProperties": { + // "additionalProperties": false, + // "description": "HyperPod Properties Input", + // "properties": { + // "ClusterName": { + // "maxLength": 63, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$", + // "type": "string" + // } + // }, + // "required": [ + // "ClusterName" + // ], + // "type": "object" + // }, + // "IamProperties": { + // "additionalProperties": false, + // "description": "IAM Properties Input", + // "properties": { + // "GlueLineageSyncEnabled": { + // "type": "boolean" + // } + // }, + // "type": "object" + // }, + // "RedshiftProperties": { + // "additionalProperties": false, + // "description": "Redshift Properties Input", + // "properties": { + // "Credentials": { + // "properties": { + // "SecretArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + // "type": "string" + // }, + // "UsernamePassword": { + // "additionalProperties": false, + // "description": "The username and password to be used for authentication.", + // "properties": { + // "Password": { + // "maxLength": 64, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "Username": { + // "maxLength": 127, + // "minLength": 1, + // "pattern": "^[\\S]*$", + // "type": "string" + // } + // }, + // "required": [ + // "Password", + // "Username" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "DatabaseName": { + // "maxLength": 64, + // "minLength": 1, + // "pattern": "^[a-z0-9]+$", + // "type": "string" + // }, + // "Host": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "LineageSync": { + // "additionalProperties": false, + // "description": "Redshift Lineage Sync Configuration Input", + // "properties": { + // "Enabled": { + // "type": "boolean" + // }, + // "Schedule": { + // "additionalProperties": false, + // "description": "Lineage Sync Schedule", + // "properties": { + // "Schedule": { + // "pattern": "^cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "Port": { + // "maximum": 65535, + // "minimum": 0, + // "type": "number" + // }, + // "Storage": { + // "properties": { + // "ClusterName": { + // "maxLength": 63, + // "minLength": 0, + // "pattern": "^[a-z0-9-]+$", + // "type": "string" + // }, + // "WorkgroupName": { + // "maxLength": 64, + // "minLength": 3, + // "pattern": "^[a-z0-9-]+$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // }, + // "SparkEmrProperties": { + // "additionalProperties": false, + // "description": "Spark EMR Properties Input.", + // "properties": { + // "ComputeArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:(elasticmapreduce|emr-serverless):.*", + // "type": "string" + // }, + // "InstanceProfileArn": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "JavaVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "LogUri": { + // "maxLength": 2048, + // "pattern": "^s3://.+$", + // "type": "string" + // }, + // "PythonVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "RuntimeRole": { + // "maxLength": 2048, + // "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + // "type": "string" + // }, + // "TrustedCertificatesS3Uri": { + // "maxLength": 2048, + // "pattern": "^s3://.+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "SparkGlueProperties": { + // "additionalProperties": false, + // "description": "Spark Glue Properties Input.", + // "properties": { + // "AdditionalArgs": { + // "additionalProperties": false, + // "description": "Spark Glue Args.", + // "properties": { + // "Connection": { + // "maxLength": 128, + // "pattern": "^[a-zA-Z0-9]+$", + // "type": "string" + // } + // }, + // "type": "object" + // }, + // "GlueConnectionName": { + // "maxLength": 255, + // "minLength": 1, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "GlueVersion": { + // "maxLength": 256, + // "pattern": "^\\w+\\.\\w+$", + // "type": "string" + // }, + // "IdleTimeout": { + // "maximum": 3000, + // "minimum": 1, + // "type": "number" + // }, + // "JavaVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "NumberOfWorkers": { + // "maximum": 1000, + // "minimum": 1, + // "type": "number" + // }, + // "PythonVirtualEnv": { + // "maxLength": 256, + // "pattern": "^[\\S]*$", + // "type": "string" + // }, + // "WorkerType": { + // "maxLength": 256, + // "pattern": "^[G|Z].*$", + // "type": "string" + // } + // }, + // "type": "object" + // } + // }, + // "type": "object" + // } + "props": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AthenaProperties + "athena_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: WorkgroupName + "workgroup_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Athena Properties Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: GlueProperties + "glue_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: GlueConnectionInput + "glue_connection_input": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AthenaProperties + "athena_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: AuthenticationConfiguration + "authentication_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthenticationType + "authentication_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Authentication Type", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: BasicAuthenticationCredentials + "basic_authentication_credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Password + "password": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UserName + "user_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Basic Authentication Credentials", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CustomAuthenticationCredentials + "custom_authentication_credentials": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Credential Map", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: KmsKeyArn + "kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: OAuth2Properties + "o_auth_2_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthorizationCodeProperties + "authorization_code_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AuthorizationCode + "authorization_code": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RedirectUri + "redirect_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Authorization Code Properties", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: OAuth2ClientApplication + "o_auth_2_client_application": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AWSManagedClientApplicationReference + "aws_managed_client_application_reference": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UserManagedClientApplicationClientId + "user_managed_client_application_client_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "OAuth2 Client Application", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: OAuth2Credentials + "o_auth_2_credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AccessToken + "access_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: JwtToken + "jwt_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RefreshToken + "refresh_token": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UserManagedClientApplicationClientSecret + "user_managed_client_application_client_secret": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue OAuth2 Credentials", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: OAuth2GrantType + "o_auth_2_grant_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "OAuth2 Grant Type", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: TokenUrl + "token_url": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: TokenUrlParametersMap + "token_url_parameters_map": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The token URL parameters.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "OAuth2 Properties", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SecretArn + "secret_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Authentication Configuration Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ConnectionProperties + "connection_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Connection Properties", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ConnectionType + "connection_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Glue Connection Type", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Description + "description": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: MatchCriteria + "match_criteria": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Name + "name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: PhysicalConnectionRequirements + "physical_connection_requirements": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AvailabilityZone + "availability_zone": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SecurityGroupIdList + "security_group_id_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SubnetId + "subnet_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SubnetIdList + "subnet_id_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Physical Connection Requirements", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: PythonProperties + "python_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SparkProperties + "spark_properties": // Pattern: "" + schema.MapAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "Property Map", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ValidateCredentials + "validate_credentials": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: ValidateForComputeEnvironments + "validate_for_compute_environments": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue Connection Input", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Glue Properties Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: HyperPodProperties + "hyper_pod_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ClusterName + "cluster_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "HyperPod Properties Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: IamProperties + "iam_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: GlueLineageSyncEnabled + "glue_lineage_sync_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "IAM Properties Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RedshiftProperties + "redshift_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Credentials + "credentials": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: SecretArn + "secret_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: UsernamePassword + "username_password": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Password + "password": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Username + "username": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "The username and password to be used for authentication.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DatabaseName + "database_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Host + "host": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LineageSync + "lineage_sync": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Enabled + "enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Schedule + "schedule": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Schedule + "schedule": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Lineage Sync Schedule", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Redshift Lineage Sync Configuration Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Port + "port": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Storage + "storage": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ClusterName + "cluster_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: WorkgroupName + "workgroup_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Redshift Properties Input", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SparkEmrProperties + "spark_emr_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: ComputeArn + "compute_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: InstanceProfileArn + "instance_profile_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: JavaVirtualEnv + "java_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: LogUri + "log_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: PythonVirtualEnv + "python_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: RuntimeRole + "runtime_role": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: TrustedCertificatesS3Uri + "trusted_certificates_s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark EMR Properties Input.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: SparkGlueProperties + "spark_glue_properties": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AdditionalArgs + "additional_args": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: Connection + "connection": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark Glue Args.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: GlueConnectionName + "glue_connection_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: GlueVersion + "glue_version": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: IdleTimeout + "idle_timeout": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: JavaVirtualEnv + "java_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: NumberOfWorkers + "number_of_workers": schema.Float64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: PythonVirtualEnv + "python_virtual_env": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: WorkerType + "worker_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "Spark Glue Properties Input.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Type + // CloudFormation resource type schema: + // + // { + // "description": "Connection Type", + // "type": "string" + // } + "type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Connection Type", + 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::DataZone::Connection", + Attributes: attributes, + } + + var opts generic.DataSourceOptions + + opts = opts.WithCloudFormationTypeName("AWS::DataZone::Connection").WithTerraformTypeName("awscc_datazone_connection") + opts = opts.WithTerraformSchema(schema) + opts = opts.WithAttributeNameMap(map[string]string{ + "access_role": "AccessRole", + "access_token": "AccessToken", + "additional_args": "AdditionalArgs", + "athena_properties": "AthenaProperties", + "authentication_configuration": "AuthenticationConfiguration", + "authentication_type": "AuthenticationType", + "authorization_code": "AuthorizationCode", + "authorization_code_properties": "AuthorizationCodeProperties", + "availability_zone": "AvailabilityZone", + "aws_account_id": "AwsAccountId", + "aws_location": "AwsLocation", + "aws_managed_client_application_reference": "AWSManagedClientApplicationReference", + "aws_region": "AwsRegion", + "basic_authentication_credentials": "BasicAuthenticationCredentials", + "cluster_name": "ClusterName", + "compute_arn": "ComputeArn", + "connection": "Connection", + "connection_id": "ConnectionId", + "connection_properties": "ConnectionProperties", + "connection_type": "ConnectionType", + "credentials": "Credentials", + "custom_authentication_credentials": "CustomAuthenticationCredentials", + "database_name": "DatabaseName", + "description": "Description", + "domain_id": "DomainId", + "domain_identifier": "DomainIdentifier", + "domain_unit_id": "DomainUnitId", + "enabled": "Enabled", + "environment_id": "EnvironmentId", + "environment_identifier": "EnvironmentIdentifier", + "environment_user_role": "EnvironmentUserRole", + "glue_connection_input": "GlueConnectionInput", + "glue_connection_name": "GlueConnectionName", + "glue_lineage_sync_enabled": "GlueLineageSyncEnabled", + "glue_properties": "GlueProperties", + "glue_version": "GlueVersion", + "host": "Host", + "hyper_pod_properties": "HyperPodProperties", + "iam_connection_id": "IamConnectionId", + "iam_properties": "IamProperties", + "idle_timeout": "IdleTimeout", + "instance_profile_arn": "InstanceProfileArn", + "java_virtual_env": "JavaVirtualEnv", + "jwt_token": "JwtToken", + "kms_key_arn": "KmsKeyArn", + "lineage_sync": "LineageSync", + "log_uri": "LogUri", + "match_criteria": "MatchCriteria", + "name": "Name", + "number_of_workers": "NumberOfWorkers", + "o_auth_2_client_application": "OAuth2ClientApplication", + "o_auth_2_credentials": "OAuth2Credentials", + "o_auth_2_grant_type": "OAuth2GrantType", + "o_auth_2_properties": "OAuth2Properties", + "password": "Password", + "physical_connection_requirements": "PhysicalConnectionRequirements", + "port": "Port", + "project_id": "ProjectId", + "props": "Props", + "python_properties": "PythonProperties", + "python_virtual_env": "PythonVirtualEnv", + "redirect_uri": "RedirectUri", + "redshift_properties": "RedshiftProperties", + "refresh_token": "RefreshToken", + "runtime_role": "RuntimeRole", + "schedule": "Schedule", + "secret_arn": "SecretArn", + "security_group_id_list": "SecurityGroupIdList", + "spark_emr_properties": "SparkEmrProperties", + "spark_glue_properties": "SparkGlueProperties", + "spark_properties": "SparkProperties", + "storage": "Storage", + "subnet_id": "SubnetId", + "subnet_id_list": "SubnetIdList", + "token_url": "TokenUrl", + "token_url_parameters_map": "TokenUrlParametersMap", + "trusted_certificates_s3_uri": "TrustedCertificatesS3Uri", + "type": "Type", + "user_managed_client_application_client_id": "UserManagedClientApplicationClientId", + "user_managed_client_application_client_secret": "UserManagedClientApplicationClientSecret", + "user_name": "UserName", + "username": "Username", + "username_password": "UsernamePassword", + "validate_credentials": "ValidateCredentials", + "validate_for_compute_environments": "ValidateForComputeEnvironments", + "worker_type": "WorkerType", + "workgroup_name": "WorkgroupName", + }) + + v, err := generic.NewSingularDataSource(ctx, opts...) + + if err != nil { + return nil, err + } + + return v, nil +} diff --git a/internal/aws/datazone/connection_singular_data_source_gen_test.go b/internal/aws/datazone/connection_singular_data_source_gen_test.go new file mode 100644 index 0000000000..f3d568f4ac --- /dev/null +++ b/internal/aws/datazone/connection_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 datazone_test + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-awscc/internal/acctest" +) + +func TestAccAWSDataZoneConnectionDataSource_basic(t *testing.T) { + td := acctest.NewTestData(t, "AWS::DataZone::Connection", "awscc_datazone_connection", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.EmptyDataSourceConfig(), + ExpectError: regexp.MustCompile("Missing required argument"), + }, + }) +} + +func TestAccAWSDataZoneConnectionDataSource_NonExistent(t *testing.T) { + td := acctest.NewTestData(t, "AWS::DataZone::Connection", "awscc_datazone_connection", "test") + + td.DataSourceTest(t, []resource.TestStep{ + { + Config: td.DataSourceWithNonExistentIDConfig(), + ExpectError: regexp.MustCompile("Not Found"), + }, + }) +} diff --git a/internal/aws/datazone/domain_singular_data_source_gen.go b/internal/aws/datazone/domain_singular_data_source_gen.go index 9036575317..67f9bbe82b 100644 --- a/internal/aws/datazone/domain_singular_data_source_gen.go +++ b/internal/aws/datazone/domain_singular_data_source_gen.go @@ -158,6 +158,20 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The URL of the data portal for this Amazon DataZone domain.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: RootDomainUnitId + // CloudFormation resource type schema: + // + // { + // "description": "The ID of the root domain in Amazon Datazone.", + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-z0-9_\\-]+$", + // "type": "string" + // } + "root_domain_unit_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The ID of the root domain in Amazon Datazone.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: ServiceRole // CloudFormation resource type schema: // @@ -310,6 +324,7 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) { "managed_account_id": "ManagedAccountId", "name": "Name", "portal_url": "PortalUrl", + "root_domain_unit_id": "RootDomainUnitId", "service_role": "ServiceRole", "single_sign_on": "SingleSignOn", "status": "Status", diff --git a/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go b/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go index 26e09b3904..e0d02722cf 100644 --- a/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go +++ b/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go @@ -49,6 +49,105 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource, "available_instance_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: CapacityAllocationSet + // CloudFormation resource type schema: + // + // { + // "insertionOrder": false, + // "items": { + // "additionalProperties": false, + // "properties": { + // "AllocationType": { + // "type": "string" + // }, + // "Count": { + // "type": "integer" + // } + // }, + // "type": "object" + // }, + // "type": "array", + // "uniqueItems": false + // } + "capacity_allocation_set": schema.ListNestedAttribute{ /*START ATTRIBUTE*/ + NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: AllocationType + "allocation_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Count + "count": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + }, /*END NESTED OBJECT*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CapacityReservationArn + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "capacity_reservation_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CapacityReservationFleetId + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "capacity_reservation_fleet_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CommitmentInfo + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "properties": { + // "CommitmentEndDate": { + // "type": "string" + // }, + // "CommittedInstanceCount": { + // "type": "integer" + // } + // }, + // "type": "object" + // } + "commitment_info": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: CommitmentEndDate + "commitment_end_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CommittedInstanceCount + "committed_instance_count": schema.Int64Attribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: CreateDate + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "create_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DeliveryPreference + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "delivery_preference": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: EbsOptimized // CloudFormation resource type schema: // @@ -139,6 +238,15 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource, "out_post_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: OwnerId + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "owner_id": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: PlacementGroupArn // CloudFormation resource type schema: // @@ -148,6 +256,33 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource, "placement_group_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, }, /*END ATTRIBUTE*/ + // Property: ReservationType + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "reservation_type": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: StartDate + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "start_date": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: State + // CloudFormation resource type schema: + // + // { + // "type": "string" + // } + "state": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: TagSpecifications // CloudFormation resource type schema: // @@ -257,10 +392,20 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource, opts = opts.WithCloudFormationTypeName("AWS::EC2::CapacityReservation").WithTerraformTypeName("awscc_ec2_capacity_reservation") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ + "allocation_type": "AllocationType", "availability_zone": "AvailabilityZone", "availability_zone_id": "AvailabilityZoneId", "available_instance_count": "AvailableInstanceCount", + "capacity_allocation_set": "CapacityAllocationSet", + "capacity_reservation_arn": "CapacityReservationArn", + "capacity_reservation_fleet_id": "CapacityReservationFleetId", "capacity_reservation_id": "Id", + "commitment_end_date": "CommitmentEndDate", + "commitment_info": "CommitmentInfo", + "committed_instance_count": "CommittedInstanceCount", + "count": "Count", + "create_date": "CreateDate", + "delivery_preference": "DeliveryPreference", "ebs_optimized": "EbsOptimized", "end_date": "EndDate", "end_date_type": "EndDateType", @@ -271,8 +416,12 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource, "instance_type": "InstanceType", "key": "Key", "out_post_arn": "OutPostArn", + "owner_id": "OwnerId", "placement_group_arn": "PlacementGroupArn", + "reservation_type": "ReservationType", "resource_type": "ResourceType", + "start_date": "StartDate", + "state": "State", "tag_specifications": "TagSpecifications", "tags": "Tags", "tenancy": "Tenancy", diff --git a/internal/aws/ec2/vpc_endpoint_service_singular_data_source_gen.go b/internal/aws/ec2/vpc_endpoint_service_singular_data_source_gen.go index 51147e42ac..3f2321b2d8 100644 --- a/internal/aws/ec2/vpc_endpoint_service_singular_data_source_gen.go +++ b/internal/aws/ec2/vpc_endpoint_service_singular_data_source_gen.go @@ -112,6 +112,23 @@ func vPCEndpointServiceDataSource(ctx context.Context) (datasource.DataSource, e Description: "Specify which Ip Address types are supported for VPC endpoint service.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: SupportedRegions + // CloudFormation resource type schema: + // + // { + // "description": "The Regions from which service consumers can access the service.", + // "insertionOrder": false, + // "items": { + // "type": "string" + // }, + // "type": "array", + // "uniqueItems": true + // } + "supported_regions": schema.SetAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The Regions from which service consumers can access the service.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Tags // CloudFormation resource type schema: // @@ -178,6 +195,7 @@ func vPCEndpointServiceDataSource(ctx context.Context) (datasource.DataSource, e "payer_responsibility": "PayerResponsibility", "service_id": "ServiceId", "supported_ip_address_types": "SupportedIpAddressTypes", + "supported_regions": "SupportedRegions", "tags": "Tags", "value": "Value", }) diff --git a/internal/aws/paymentcryptography/key_singular_data_source_gen.go b/internal/aws/paymentcryptography/key_singular_data_source_gen.go index c959b5e5fc..7bb73de9e9 100644 --- a/internal/aws/paymentcryptography/key_singular_data_source_gen.go +++ b/internal/aws/paymentcryptography/key_singular_data_source_gen.go @@ -57,7 +57,8 @@ func keyDataSource(ctx context.Context) (datasource.DataSource, error) { // "RSA_3072", // "RSA_4096", // "ECC_NIST_P256", - // "ECC_NIST_P384" + // "ECC_NIST_P384", + // "ECC_NIST_P521" // ], // "type": "string" // }, diff --git a/internal/aws/redshiftserverless/workgroup_singular_data_source_gen.go b/internal/aws/redshiftserverless/workgroup_singular_data_source_gen.go index fb33d274c9..5bed9c9414 100644 --- a/internal/aws/redshiftserverless/workgroup_singular_data_source_gen.go +++ b/internal/aws/redshiftserverless/workgroup_singular_data_source_gen.go @@ -260,6 +260,18 @@ func workgroupDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "The map of the key-value pairs used to tag the workgroup.", Computed: true, }, /*END ATTRIBUTE*/ + // Property: TrackName + // CloudFormation resource type schema: + // + // { + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9_]+$", + // "type": "string" + // } + "track_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Workgroup // CloudFormation resource type schema: // @@ -406,6 +418,12 @@ func workgroupDataSource(ctx context.Context) (datasource.DataSource, error) { // }, // "type": "array" // }, + // "TrackName": { + // "maxLength": 256, + // "minLength": 1, + // "pattern": "^[a-zA-Z0-9_]+$", + // "type": "string" + // }, // "WorkgroupArn": { // "type": "string" // }, @@ -545,6 +563,10 @@ func workgroupDataSource(ctx context.Context) (datasource.DataSource, error) { ElementType: types.StringType, Computed: true, }, /*END ATTRIBUTE*/ + // Property: TrackName + "track_name": schema.StringAttribute{ /*START ATTRIBUTE*/ + Computed: true, + }, /*END ATTRIBUTE*/ // Property: WorkgroupArn "workgroup_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ Computed: true, @@ -616,6 +638,7 @@ func workgroupDataSource(ctx context.Context) (datasource.DataSource, error) { "subnet_id": "SubnetId", "subnet_ids": "SubnetIds", "tags": "Tags", + "track_name": "TrackName", "value": "Value", "vpc_endpoint_id": "VpcEndpointId", "vpc_endpoints": "VpcEndpoints", 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 27965d22c5..afc322afe6 100644 --- a/internal/aws/rum/app_monitor_singular_data_source_gen.go +++ b/internal/aws/rum/app_monitor_singular_data_source_gen.go @@ -369,18 +369,95 @@ func appMonitorDataSource(ctx context.Context) (datasource.DataSource, error) { Description: "Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false", Computed: true, }, /*END ATTRIBUTE*/ + // Property: DeobfuscationConfiguration + // CloudFormation resource type schema: + // + // { + // "additionalProperties": false, + // "description": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + // "properties": { + // "JavaScriptSourceMaps": { + // "additionalProperties": false, + // "description": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + // "properties": { + // "S3Uri": { + // "description": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + // "pattern": "^s3://[a-z0-9][-.a-z0-9]{1,61}(?:/[-!_*'().a-z0-9A-Z]+(?:/[-!_*'().a-z0-9A-Z]+)*)?/?$", + // "type": "string" + // }, + // "Status": { + // "description": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED", + // "enum": [ + // "ENABLED", + // "DISABLED" + // ], + // "type": "string" + // } + // }, + // "required": [ + // "Status" + // ], + // "type": "object" + // } + // }, + // "type": "object" + // } + "deobfuscation_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: JavaScriptSourceMaps + "java_script_source_maps": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/ + Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ + // Property: S3Uri + "s3_uri": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: Status + "status": schema.StringAttribute{ /*START ATTRIBUTE*/ + Description: "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + Computed: true, + }, /*END ATTRIBUTE*/ + }, /*END SCHEMA*/ + Description: "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + Computed: true, + }, /*END ATTRIBUTE*/ // Property: Domain // CloudFormation resource type schema: // // { - // "description": "The top-level internet domain name for which your application has administrative authority.", + // "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": "", // "type": "string" // } "domain": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The top-level internet domain name for which your application has administrative authority.", + Description: "The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", + Computed: true, + }, /*END ATTRIBUTE*/ + // Property: DomainList + // CloudFormation resource type schema: + // + // { + // "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": "", + // "type": "string" + // }, + // "maxItems": 5, + // "minItems": 1, + // "type": "array" + // } + "domain_list": schema.ListAttribute{ /*START ATTRIBUTE*/ + ElementType: types.StringType, + Description: "The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list.", Computed: true, }, /*END ATTRIBUTE*/ // Property: Id @@ -518,38 +595,42 @@ func appMonitorDataSource(ctx context.Context) (datasource.DataSource, error) { opts = opts.WithCloudFormationTypeName("AWS::RUM::AppMonitor").WithTerraformTypeName("awscc_rum_app_monitor") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ - "allow_cookies": "AllowCookies", - "app_monitor_configuration": "AppMonitorConfiguration", - "app_monitor_id": "Id", - "custom_events": "CustomEvents", - "cw_log_enabled": "CwLogEnabled", - "destination": "Destination", - "destination_arn": "DestinationArn", - "dimension_keys": "DimensionKeys", - "domain": "Domain", - "enable_x_ray": "EnableXRay", - "event_pattern": "EventPattern", - "excluded_pages": "ExcludedPages", - "favorite_pages": "FavoritePages", - "guest_role_arn": "GuestRoleArn", - "iam_role_arn": "IamRoleArn", - "identity_pool_id": "IdentityPoolId", - "included_pages": "IncludedPages", - "key": "Key", - "metric_definitions": "MetricDefinitions", - "metric_destinations": "MetricDestinations", - "name": "Name", - "namespace": "Namespace", - "policy_document": "PolicyDocument", - "policy_revision_id": "PolicyRevisionId", - "resource_policy": "ResourcePolicy", - "session_sample_rate": "SessionSampleRate", - "status": "Status", - "tags": "Tags", - "telemetries": "Telemetries", - "unit_label": "UnitLabel", - "value": "Value", - "value_key": "ValueKey", + "allow_cookies": "AllowCookies", + "app_monitor_configuration": "AppMonitorConfiguration", + "app_monitor_id": "Id", + "custom_events": "CustomEvents", + "cw_log_enabled": "CwLogEnabled", + "deobfuscation_configuration": "DeobfuscationConfiguration", + "destination": "Destination", + "destination_arn": "DestinationArn", + "dimension_keys": "DimensionKeys", + "domain": "Domain", + "domain_list": "DomainList", + "enable_x_ray": "EnableXRay", + "event_pattern": "EventPattern", + "excluded_pages": "ExcludedPages", + "favorite_pages": "FavoritePages", + "guest_role_arn": "GuestRoleArn", + "iam_role_arn": "IamRoleArn", + "identity_pool_id": "IdentityPoolId", + "included_pages": "IncludedPages", + "java_script_source_maps": "JavaScriptSourceMaps", + "key": "Key", + "metric_definitions": "MetricDefinitions", + "metric_destinations": "MetricDestinations", + "name": "Name", + "namespace": "Namespace", + "policy_document": "PolicyDocument", + "policy_revision_id": "PolicyRevisionId", + "resource_policy": "ResourcePolicy", + "s3_uri": "S3Uri", + "session_sample_rate": "SessionSampleRate", + "status": "Status", + "tags": "Tags", + "telemetries": "Telemetries", + "unit_label": "UnitLabel", + "value": "Value", + "value_key": "ValueKey", }) v, err := generic.NewSingularDataSource(ctx, opts...) diff --git a/internal/aws/s3/bucket_singular_data_source_gen.go b/internal/aws/s3/bucket_singular_data_source_gen.go index e287c400fa..5018487f47 100644 --- a/internal/aws/s3/bucket_singular_data_source_gen.go +++ b/internal/aws/s3/bucket_singular_data_source_gen.go @@ -1442,26 +1442,26 @@ func bucketDataSource(ctx context.Context) (datasource.DataSource, error) { // // { // "additionalProperties": false, - // "description": "", + // "description": "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).", // "properties": { // "S3TablesDestination": { // "additionalProperties": false, - // "description": "", + // "description": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "properties": { // "TableArn": { - // "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the \u003ccode\u003eaws_s3_metadata\u003c/code\u003e namespace in the destination table bucket.", + // "description": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "type": "string" // }, // "TableBucketArn": { - // "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + // "description": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket.", // "type": "string" // }, // "TableName": { - // "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the \u003ccode\u003eaws_s3_metadata\u003c/code\u003e namespace in the destination table bucket.", + // "description": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", // "type": "string" // }, // "TableNamespace": { - // "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always \u003ccode\u003eaws_s3_metadata\u003c/code\u003e.", + // "description": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``.", // "type": "string" // } // }, @@ -1484,30 +1484,30 @@ func bucketDataSource(ctx context.Context) (datasource.DataSource, error) { Attributes: map[string]schema.Attribute{ /*START SCHEMA*/ // Property: TableArn "table_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.", + Description: "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Computed: true, }, /*END ATTRIBUTE*/ // Property: TableBucketArn "table_bucket_arn": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + Description: "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket.", Computed: true, }, /*END ATTRIBUTE*/ // Property: TableName "table_name": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.", + Description: "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Computed: true, }, /*END ATTRIBUTE*/ // Property: TableNamespace "table_namespace": schema.StringAttribute{ /*START ATTRIBUTE*/ - Description: "The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata.", + Description: "The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``.", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.", Computed: true, }, /*END ATTRIBUTE*/ }, /*END SCHEMA*/ - Description: "", + Description: "The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).", Computed: true, }, /*END ATTRIBUTE*/ // Property: MetricsConfigurations From e1bbd4ae745eb7014cb2b3e040f4950ae73b9284 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 20 Mar 2025 13:42:22 -0400 Subject: [PATCH 5/5] 2025/03/19 Run 'make docs-all'. --- CHANGELOG.md | 2 + docs/data-sources/apigatewayv2_domain_name.md | 1 + ...licationsignals_service_level_objective.md | 37 ++- docs/data-sources/appsync_domain_name.md | 10 + docs/data-sources/bedrock_data_source.md | 30 ++ docs/data-sources/bedrock_knowledge_base.md | 19 ++ docs/data-sources/cloudfront_vpc_origin.md | 20 +- docs/data-sources/datazone_connection.md | 278 +++++++++++++++++ docs/data-sources/datazone_domain.md | 1 + docs/data-sources/ec2_capacity_reservation.md | 28 ++ docs/data-sources/ec2_vpc_endpoint_service.md | 1 + .../redshiftserverless_workgroup.md | 2 + docs/data-sources/rum_app_monitor.md | 21 +- docs/data-sources/s3_bucket.md | 12 +- docs/resources/apigatewayv2_domain_name.md | 1 + ...licationsignals_service_level_objective.md | 37 ++- docs/resources/appsync_domain_name.md | 10 + docs/resources/bedrock_data_source.md | 33 ++ docs/resources/bedrock_knowledge_base.md | 19 ++ docs/resources/cloudfront_vpc_origin.md | 24 +- docs/resources/datazone_connection.md | 289 ++++++++++++++++++ docs/resources/datazone_domain.md | 1 + docs/resources/ec2_capacity_reservation.md | 29 ++ docs/resources/ec2_vpc_endpoint_service.md | 1 + .../resources/redshiftserverless_workgroup.md | 28 +- docs/resources/rum_app_monitor.md | 21 +- docs/resources/s3_bucket.md | 12 +- .../awscc_datazone_connection/import.sh | 1 + 28 files changed, 916 insertions(+), 52 deletions(-) create mode 100644 docs/data-sources/datazone_connection.md create mode 100644 docs/resources/datazone_connection.md create mode 100644 examples/resources/awscc_datazone_connection/import.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 737bfe1575..8b08547c6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,9 @@ FEATURES: +* **New Resource:** `awscc_datazone_connection` * **New Resource:** `awscc_pcs_compute_node_group` +* **New Data Source:** `awscc_datazone_connection` * **New Data Source:** `awscc_pcs_compute_node_group` ## 1.33.0 (March 13, 2025) diff --git a/docs/data-sources/apigatewayv2_domain_name.md b/docs/data-sources/apigatewayv2_domain_name.md index 27085c017a..b8b7ecef6e 100644 --- a/docs/data-sources/apigatewayv2_domain_name.md +++ b/docs/data-sources/apigatewayv2_domain_name.md @@ -22,6 +22,7 @@ Data Source schema for AWS::ApiGatewayV2::DomainName ### Read-Only - `domain_name` (String) The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported. +- `domain_name_arn` (String) - `domain_name_configurations` (Attributes List) The domain name configurations. (see [below for nested schema](#nestedatt--domain_name_configurations)) - `mutual_tls_authentication` (Attributes) The mutual TLS authentication configuration for a custom domain name. (see [below for nested schema](#nestedatt--mutual_tls_authentication)) - `regional_domain_name` (String) diff --git a/docs/data-sources/applicationsignals_service_level_objective.md b/docs/data-sources/applicationsignals_service_level_objective.md index 33c250969c..36a4b8cad9 100644 --- a/docs/data-sources/applicationsignals_service_level_objective.md +++ b/docs/data-sources/applicationsignals_service_level_objective.md @@ -26,6 +26,7 @@ Data Source schema for AWS::ApplicationSignals::ServiceLevelObjective - `created_time` (Number) Epoch time in seconds of the time that this SLO was created - `description` (String) An optional description for this SLO. Default is 'No description' - `evaluation_type` (String) Displays whether this is a period-based SLO or a request-based SLO. +- `exclusion_windows` (Attributes Set) Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics. (see [below for nested schema](#nestedatt--exclusion_windows)) - `goal` (Attributes) A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold. (see [below for nested schema](#nestedatt--goal)) - `last_updated_time` (Number) Epoch time in seconds of the time that this SLO was most recently updated - `name` (String) The name of this SLO. @@ -41,6 +42,34 @@ Read-Only: - `look_back_window_minutes` (Number) The number of minutes to use as the look-back window. + +### Nested Schema for `exclusion_windows` + +Read-Only: + +- `reason` (String) An optional reason for scheduling this time exclusion window. Default is 'No reason'. +- `recurrence_rule` (Attributes) This object defines how often to repeat a time exclusion window. (see [below for nested schema](#nestedatt--exclusion_windows--recurrence_rule)) +- `start_time` (String) The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past. +- `window` (Attributes) This object defines the length of time an exclusion window should span. (see [below for nested schema](#nestedatt--exclusion_windows--window)) + + +### Nested Schema for `exclusion_windows.recurrence_rule` + +Read-Only: + +- `expression` (String) A cron or rate expression denoting how often to repeat this exclusion window. + + + +### Nested Schema for `exclusion_windows.window` + +Read-Only: + +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. + + + ### Nested Schema for `goal` @@ -65,8 +94,8 @@ Read-Only: Read-Only: -- `duration` (Number) Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. -- `duration_unit` (String) Specifies the calendar interval unit. +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. - `start_time` (Number) Epoch time in seconds you want the first interval to start. Be sure to choose a time that configures the intervals the way that you want. For example, if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a start time that is a Monday at 6 a.m. As soon as one calendar interval ends, another automatically begins. @@ -76,8 +105,8 @@ As soon as one calendar interval ends, another automatically begins. Read-Only: -- `duration` (Number) Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. -- `duration_unit` (String) Specifies the calendar interval unit. +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. diff --git a/docs/data-sources/appsync_domain_name.md b/docs/data-sources/appsync_domain_name.md index b5e684f746..b9c4f3f26c 100644 --- a/docs/data-sources/appsync_domain_name.md +++ b/docs/data-sources/appsync_domain_name.md @@ -25,4 +25,14 @@ Data Source schema for AWS::AppSync::DomainName - `certificate_arn` (String) - `description` (String) - `domain_name` (String) +- `domain_name_arn` (String) The Amazon Resource Name (ARN) for the Domain Name. - `hosted_zone_id` (String) +- `tags` (Attributes Set) An arbitrary set of tags (key-value pairs) for this Domain Name. (see [below for nested schema](#nestedatt--tags)) + + +### Nested Schema for `tags` + +Read-Only: + +- `key` (String) A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. +- `value` (String) A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value. diff --git a/docs/data-sources/bedrock_data_source.md b/docs/data-sources/bedrock_data_source.md index 7fc3067e9c..54347a1497 100644 --- a/docs/data-sources/bedrock_data_source.md +++ b/docs/data-sources/bedrock_data_source.md @@ -239,12 +239,15 @@ Read-Only: - `exclusion_filters` (List of String) A set of regular expression filter patterns for a type of object. - `inclusion_filters` (List of String) A set of regular expression filter patterns for a type of object. - `scope` (String) The scope that a web crawl job will be restricted to. +- `user_agent` (String) The suffix that will be included in the user agent header. +- `user_agent_header` (String) The full user agent header, including UUID and suffix. ### Nested Schema for `data_source_configuration.web_configuration.crawler_configuration.crawler_limits` Read-Only: +- `max_pages` (Number) Maximum number of pages the crawler can crawl. - `rate_limit` (Number) Rate of web URLs retrieved per minute. @@ -289,6 +292,7 @@ Read-Only: Read-Only: - `chunking_configuration` (Attributes) Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--chunking_configuration)) +- `context_enrichment_configuration` (Attributes) Additional Enrichment Configuration for example when using GraphRag. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration)) - `custom_transformation_configuration` (Attributes) Settings for customizing steps in the data source content ingestion pipeline. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--custom_transformation_configuration)) - `parsing_configuration` (Attributes) Settings for parsing document contents (see [below for nested schema](#nestedatt--vector_ingestion_configuration--parsing_configuration)) @@ -339,6 +343,32 @@ Read-Only: + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration` + +Read-Only: + +- `bedrock_foundation_model_configuration` (Attributes) Bedrock Foundation Model configuration to be used for Context Enrichment. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration--bedrock_foundation_model_configuration)) +- `type` (String) Enrichment type to be used for the vector database. + + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration.bedrock_foundation_model_configuration` + +Read-Only: + +- `enrichment_strategy_configuration` (Attributes) Strategy to be used when using Bedrock Foundation Model for Context Enrichment. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration--bedrock_foundation_model_configuration--enrichment_strategy_configuration)) +- `model_arn` (String) The model's ARN. + + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration.bedrock_foundation_model_configuration.enrichment_strategy_configuration` + +Read-Only: + +- `method` (String) Enrichment Strategy method. + + + + ### Nested Schema for `vector_ingestion_configuration.custom_transformation_configuration` diff --git a/docs/data-sources/bedrock_knowledge_base.md b/docs/data-sources/bedrock_knowledge_base.md index fbae2dc638..e8b1ec9017 100644 --- a/docs/data-sources/bedrock_knowledge_base.md +++ b/docs/data-sources/bedrock_knowledge_base.md @@ -251,6 +251,7 @@ Read-Only: Read-Only: - `mongo_db_atlas_configuration` (Attributes) Contains the storage configuration of the knowledge base in MongoDb Atlas Cloud. (see [below for nested schema](#nestedatt--storage_configuration--mongo_db_atlas_configuration)) +- `neptune_analytics_configuration` (Attributes) Contains the configurations to use Neptune Analytics as Vector Store. (see [below for nested schema](#nestedatt--storage_configuration--neptune_analytics_configuration)) - `opensearch_serverless_configuration` (Attributes) Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. (see [below for nested schema](#nestedatt--storage_configuration--opensearch_serverless_configuration)) - `pinecone_configuration` (Attributes) Contains the storage configuration of the knowledge base in Pinecone. (see [below for nested schema](#nestedatt--storage_configuration--pinecone_configuration)) - `rds_configuration` (Attributes) Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. (see [below for nested schema](#nestedatt--storage_configuration--rds_configuration)) @@ -280,6 +281,24 @@ Read-Only: + +### Nested Schema for `storage_configuration.neptune_analytics_configuration` + +Read-Only: + +- `field_mapping` (Attributes) A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields. (see [below for nested schema](#nestedatt--storage_configuration--neptune_analytics_configuration--field_mapping)) +- `graph_arn` (String) ARN for Neptune Analytics graph database. + + +### Nested Schema for `storage_configuration.neptune_analytics_configuration.field_mapping` + +Read-Only: + +- `metadata_field` (String) The name of the field in which Amazon Bedrock stores metadata about the vector store. +- `text_field` (String) The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + + + ### Nested Schema for `storage_configuration.opensearch_serverless_configuration` diff --git a/docs/data-sources/cloudfront_vpc_origin.md b/docs/data-sources/cloudfront_vpc_origin.md index 0b4c88df8d..db6458f9a4 100644 --- a/docs/data-sources/cloudfront_vpc_origin.md +++ b/docs/data-sources/cloudfront_vpc_origin.md @@ -25,8 +25,8 @@ Data Source schema for AWS::CloudFront::VpcOrigin - `created_time` (String) - `last_modified_time` (String) - `status` (String) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) -- `vpc_origin_endpoint_config` (Attributes) (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config)) +- `tags` (Attributes List) A complex type that contains zero or more ``Tag`` elements. (see [below for nested schema](#nestedatt--tags)) +- `vpc_origin_endpoint_config` (Attributes) The VPC origin endpoint configuration. (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config)) - `vpc_origin_id` (String) @@ -34,8 +34,10 @@ Data Source schema for AWS::CloudFront::VpcOrigin Read-Only: -- `key` (String) -- `value` (String) +- `key` (String) A string that contains ``Tag`` key. + The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``. +- `value` (String) A string that contains an optional ``Tag`` value. + The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``. @@ -43,9 +45,9 @@ Read-Only: Read-Only: -- `arn` (String) -- `http_port` (Number) -- `https_port` (Number) -- `name` (String) -- `origin_protocol_policy` (String) +- `arn` (String) The ARN of the CloudFront VPC origin endpoint configuration. +- `http_port` (Number) The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``. +- `https_port` (Number) The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``. +- `name` (String) The name of the CloudFront VPC origin endpoint configuration. +- `origin_protocol_policy` (String) The origin protocol policy for the CloudFront VPC origin endpoint configuration. - `origin_ssl_protocols` (List of String) diff --git a/docs/data-sources/datazone_connection.md b/docs/data-sources/datazone_connection.md new file mode 100644 index 0000000000..6c76ef7389 --- /dev/null +++ b/docs/data-sources/datazone_connection.md @@ -0,0 +1,278 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_datazone_connection Data Source - terraform-provider-awscc" +subcategory: "" +description: |- + Data Source schema for AWS::DataZone::Connection +--- + +# awscc_datazone_connection (Data Source) + +Data Source schema for AWS::DataZone::Connection + + + + +## Schema + +### Required + +- `id` (String) Uniquely identifies the resource. + +### Read-Only + +- `aws_location` (Attributes) AWS Location of project (see [below for nested schema](#nestedatt--aws_location)) +- `connection_id` (String) The ID of the connection. +- `description` (String) The description of the connection. +- `domain_id` (String) The ID of the domain in which the connection is created. +- `domain_identifier` (String) The identifier of the domain in which the connection is created. +- `domain_unit_id` (String) The ID of the domain unit in which the connection is created. +- `environment_id` (String) The ID of the environment in which the connection is created. +- `environment_identifier` (String) The identifier of the environment in which the connection is created. +- `environment_user_role` (String) The role of the user in the environment. +- `name` (String) The name of the connection. +- `project_id` (String) The ID of the project in which the connection is created. +- `props` (Attributes) (see [below for nested schema](#nestedatt--props)) +- `type` (String) Connection Type + + +### Nested Schema for `aws_location` + +Read-Only: + +- `access_role` (String) +- `aws_account_id` (String) +- `aws_region` (String) +- `iam_connection_id` (String) + + + +### Nested Schema for `props` + +Read-Only: + +- `athena_properties` (Attributes) Athena Properties Input (see [below for nested schema](#nestedatt--props--athena_properties)) +- `glue_properties` (Attributes) Glue Properties Input (see [below for nested schema](#nestedatt--props--glue_properties)) +- `hyper_pod_properties` (Attributes) HyperPod Properties Input (see [below for nested schema](#nestedatt--props--hyper_pod_properties)) +- `iam_properties` (Attributes) IAM Properties Input (see [below for nested schema](#nestedatt--props--iam_properties)) +- `redshift_properties` (Attributes) Redshift Properties Input (see [below for nested schema](#nestedatt--props--redshift_properties)) +- `spark_emr_properties` (Attributes) Spark EMR Properties Input. (see [below for nested schema](#nestedatt--props--spark_emr_properties)) +- `spark_glue_properties` (Attributes) Spark Glue Properties Input. (see [below for nested schema](#nestedatt--props--spark_glue_properties)) + + +### Nested Schema for `props.athena_properties` + +Read-Only: + +- `workgroup_name` (String) + + + +### Nested Schema for `props.glue_properties` + +Read-Only: + +- `glue_connection_input` (Attributes) Glue Connection Input (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input)) + + +### Nested Schema for `props.glue_properties.glue_connection_input` + +Read-Only: + +- `athena_properties` (Map of String) Property Map +- `authentication_configuration` (Attributes) Authentication Configuration Input (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration)) +- `connection_properties` (Map of String) Connection Properties +- `connection_type` (String) Glue Connection Type +- `description` (String) +- `match_criteria` (String) +- `name` (String) +- `physical_connection_requirements` (Attributes) Physical Connection Requirements (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--physical_connection_requirements)) +- `python_properties` (Map of String) Property Map +- `spark_properties` (Map of String) Property Map +- `validate_credentials` (Boolean) +- `validate_for_compute_environments` (List of String) + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration` + +Read-Only: + +- `authentication_type` (String) Authentication Type +- `basic_authentication_credentials` (Attributes) Basic Authentication Credentials (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--basic_authentication_credentials)) +- `custom_authentication_credentials` (Map of String) Credential Map +- `kms_key_arn` (String) +- `o_auth_2_properties` (Attributes) OAuth2 Properties (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties)) +- `secret_arn` (String) + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.basic_authentication_credentials` + +Read-Only: + +- `password` (String) +- `user_name` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties` + +Read-Only: + +- `authorization_code_properties` (Attributes) Authorization Code Properties (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--authorization_code_properties)) +- `o_auth_2_client_application` (Attributes) OAuth2 Client Application (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--o_auth_2_client_application)) +- `o_auth_2_credentials` (Attributes) Glue OAuth2 Credentials (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--o_auth_2_credentials)) +- `o_auth_2_grant_type` (String) OAuth2 Grant Type +- `token_url` (String) +- `token_url_parameters_map` (Map of String) The token URL parameters. + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.authorization_code_properties` + +Read-Only: + +- `authorization_code` (String) +- `redirect_uri` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.o_auth_2_client_application` + +Read-Only: + +- `aws_managed_client_application_reference` (String) +- `user_managed_client_application_client_id` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.o_auth_2_credentials` + +Read-Only: + +- `access_token` (String) +- `jwt_token` (String) +- `refresh_token` (String) +- `user_managed_client_application_client_secret` (String) + + + + + +### Nested Schema for `props.glue_properties.glue_connection_input.physical_connection_requirements` + +Read-Only: + +- `availability_zone` (String) +- `security_group_id_list` (List of String) +- `subnet_id` (String) +- `subnet_id_list` (List of String) + + + + + +### Nested Schema for `props.hyper_pod_properties` + +Read-Only: + +- `cluster_name` (String) + + + +### Nested Schema for `props.iam_properties` + +Read-Only: + +- `glue_lineage_sync_enabled` (Boolean) + + + +### Nested Schema for `props.redshift_properties` + +Read-Only: + +- `credentials` (Attributes) (see [below for nested schema](#nestedatt--props--redshift_properties--credentials)) +- `database_name` (String) +- `host` (String) +- `lineage_sync` (Attributes) Redshift Lineage Sync Configuration Input (see [below for nested schema](#nestedatt--props--redshift_properties--lineage_sync)) +- `port` (Number) +- `storage` (Attributes) (see [below for nested schema](#nestedatt--props--redshift_properties--storage)) + + +### Nested Schema for `props.redshift_properties.credentials` + +Read-Only: + +- `secret_arn` (String) +- `username_password` (Attributes) The username and password to be used for authentication. (see [below for nested schema](#nestedatt--props--redshift_properties--credentials--username_password)) + + +### Nested Schema for `props.redshift_properties.credentials.username_password` + +Read-Only: + +- `password` (String) +- `username` (String) + + + + +### Nested Schema for `props.redshift_properties.lineage_sync` + +Read-Only: + +- `enabled` (Boolean) +- `schedule` (Attributes) Lineage Sync Schedule (see [below for nested schema](#nestedatt--props--redshift_properties--lineage_sync--schedule)) + + +### Nested Schema for `props.redshift_properties.lineage_sync.schedule` + +Read-Only: + +- `schedule` (String) + + + + +### Nested Schema for `props.redshift_properties.storage` + +Read-Only: + +- `cluster_name` (String) +- `workgroup_name` (String) + + + + +### Nested Schema for `props.spark_emr_properties` + +Read-Only: + +- `compute_arn` (String) +- `instance_profile_arn` (String) +- `java_virtual_env` (String) +- `log_uri` (String) +- `python_virtual_env` (String) +- `runtime_role` (String) +- `trusted_certificates_s3_uri` (String) + + + +### Nested Schema for `props.spark_glue_properties` + +Read-Only: + +- `additional_args` (Attributes) Spark Glue Args. (see [below for nested schema](#nestedatt--props--spark_glue_properties--additional_args)) +- `glue_connection_name` (String) +- `glue_version` (String) +- `idle_timeout` (Number) +- `java_virtual_env` (String) +- `number_of_workers` (Number) +- `python_virtual_env` (String) +- `worker_type` (String) + + +### Nested Schema for `props.spark_glue_properties.additional_args` + +Read-Only: + +- `connection` (String) diff --git a/docs/data-sources/datazone_domain.md b/docs/data-sources/datazone_domain.md index 6e2fae8ec9..628f6b7d9d 100644 --- a/docs/data-sources/datazone_domain.md +++ b/docs/data-sources/datazone_domain.md @@ -32,6 +32,7 @@ Data Source schema for AWS::DataZone::Domain - `managed_account_id` (String) The identifier of the AWS account that manages the domain. - `name` (String) The name of the Amazon DataZone domain. - `portal_url` (String) The URL of the data portal for this Amazon DataZone domain. +- `root_domain_unit_id` (String) The ID of the root domain in Amazon Datazone. - `service_role` (String) The service role of the domain that is created. - `single_sign_on` (Attributes) The single-sign on configuration of the Amazon DataZone domain. (see [below for nested schema](#nestedatt--single_sign_on)) - `status` (String) The status of the Amazon DataZone domain. diff --git a/docs/data-sources/ec2_capacity_reservation.md b/docs/data-sources/ec2_capacity_reservation.md index 6685e9de7b..584cc5a37b 100644 --- a/docs/data-sources/ec2_capacity_reservation.md +++ b/docs/data-sources/ec2_capacity_reservation.md @@ -24,7 +24,13 @@ Data Source schema for AWS::EC2::CapacityReservation - `availability_zone` (String) - `availability_zone_id` (String) - `available_instance_count` (Number) +- `capacity_allocation_set` (Attributes List) (see [below for nested schema](#nestedatt--capacity_allocation_set)) +- `capacity_reservation_arn` (String) +- `capacity_reservation_fleet_id` (String) - `capacity_reservation_id` (String) +- `commitment_info` (Attributes) (see [below for nested schema](#nestedatt--commitment_info)) +- `create_date` (String) +- `delivery_preference` (String) - `ebs_optimized` (Boolean) - `end_date` (String) - `end_date_type` (String) @@ -34,12 +40,34 @@ Data Source schema for AWS::EC2::CapacityReservation - `instance_platform` (String) - `instance_type` (String) - `out_post_arn` (String) +- `owner_id` (String) - `placement_group_arn` (String) +- `reservation_type` (String) +- `start_date` (String) +- `state` (String) - `tag_specifications` (Attributes List) (see [below for nested schema](#nestedatt--tag_specifications)) - `tenancy` (String) - `total_instance_count` (Number) - `unused_reservation_billing_owner_id` (String) + +### Nested Schema for `capacity_allocation_set` + +Read-Only: + +- `allocation_type` (String) +- `count` (Number) + + + +### Nested Schema for `commitment_info` + +Read-Only: + +- `commitment_end_date` (String) +- `committed_instance_count` (Number) + + ### Nested Schema for `tag_specifications` diff --git a/docs/data-sources/ec2_vpc_endpoint_service.md b/docs/data-sources/ec2_vpc_endpoint_service.md index 6d61942a4a..0b13806dbd 100644 --- a/docs/data-sources/ec2_vpc_endpoint_service.md +++ b/docs/data-sources/ec2_vpc_endpoint_service.md @@ -28,6 +28,7 @@ Data Source schema for AWS::EC2::VPCEndpointService - `payer_responsibility` (String) - `service_id` (String) - `supported_ip_address_types` (List of String) Specify which Ip Address types are supported for VPC endpoint service. +- `supported_regions` (Set of String) The Regions from which service consumers can access the service. - `tags` (Attributes List) The tags to add to the VPC endpoint service. (see [below for nested schema](#nestedatt--tags)) diff --git a/docs/data-sources/redshiftserverless_workgroup.md b/docs/data-sources/redshiftserverless_workgroup.md index f80c366a97..c4e008c4ed 100644 --- a/docs/data-sources/redshiftserverless_workgroup.md +++ b/docs/data-sources/redshiftserverless_workgroup.md @@ -32,6 +32,7 @@ Data Source schema for AWS::RedshiftServerless::Workgroup - `security_group_ids` (List of String) A list of security group IDs to associate with the workgroup. - `subnet_ids` (List of String) A list of subnet IDs the workgroup is associated with. - `tags` (Attributes List) The map of the key-value pairs used to tag the workgroup. (see [below for nested schema](#nestedatt--tags)) +- `track_name` (String) - `workgroup` (Attributes) Definition for workgroup resource (see [below for nested schema](#nestedatt--workgroup)) - `workgroup_name` (String) The name of the workgroup. @@ -79,6 +80,7 @@ Read-Only: - `security_group_ids` (List of String) - `status` (String) - `subnet_ids` (List of String) +- `track_name` (String) - `workgroup_arn` (String) - `workgroup_id` (String) - `workgroup_name` (String) diff --git a/docs/data-sources/rum_app_monitor.md b/docs/data-sources/rum_app_monitor.md index 6e41ad48c7..bd6309f904 100644 --- a/docs/data-sources/rum_app_monitor.md +++ b/docs/data-sources/rum_app_monitor.md @@ -25,7 +25,9 @@ Data Source schema for AWS::RUM::AppMonitor - `app_monitor_id` (String) The unique ID of the new app monitor. - `custom_events` (Attributes) AppMonitor custom events configuration (see [below for nested schema](#nestedatt--custom_events)) - `cw_log_enabled` (Boolean) Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false -- `domain` (String) The top-level internet domain name for which your application has administrative authority. +- `deobfuscation_configuration` (Attributes) A structure that contains the configuration for how an app monitor can deobfuscate stack traces. (see [below for nested schema](#nestedatt--deobfuscation_configuration)) +- `domain` (String) The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list. +- `domain_list` (List of String) The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list. - `name` (String) A name for the app monitor - `resource_policy` (Attributes) A structure that defines resource policy attached to your app monitor. (see [below for nested schema](#nestedatt--resource_policy)) - `tags` (Attributes Set) Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.You can associate as many as 50 tags with an app monitor. (see [below for nested schema](#nestedatt--tags)) @@ -135,6 +137,23 @@ Read-Only: - `status` (String) Indicates whether AppMonitor accepts custom events. + +### Nested Schema for `deobfuscation_configuration` + +Read-Only: + +- `java_script_source_maps` (Attributes) A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps. (see [below for nested schema](#nestedatt--deobfuscation_configuration--java_script_source_maps)) + + +### Nested Schema for `deobfuscation_configuration.java_script_source_maps` + +Read-Only: + +- `s3_uri` (String) The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED. +- `status` (String) Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED + + + ### Nested Schema for `resource_policy` diff --git a/docs/data-sources/s3_bucket.md b/docs/data-sources/s3_bucket.md index 5ba96012b4..998461cbcc 100644 --- a/docs/data-sources/s3_bucket.md +++ b/docs/data-sources/s3_bucket.md @@ -38,7 +38,7 @@ Data Source schema for AWS::S3::Bucket - `inventory_configurations` (Attributes List) Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*. (see [below for nested schema](#nestedatt--inventory_configurations)) - `lifecycle_configuration` (Attributes) Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*. (see [below for nested schema](#nestedatt--lifecycle_configuration)) - `logging_configuration` (Attributes) Settings that define where logs are stored. (see [below for nested schema](#nestedatt--logging_configuration)) -- `metadata_table_configuration` (Attributes) (see [below for nested schema](#nestedatt--metadata_table_configuration)) +- `metadata_table_configuration` (Attributes) The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html). (see [below for nested schema](#nestedatt--metadata_table_configuration)) - `metrics_configurations` (Attributes List) Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html). (see [below for nested schema](#nestedatt--metrics_configurations)) - `notification_configuration` (Attributes) Configuration that defines how Amazon S3 handles bucket notifications. (see [below for nested schema](#nestedatt--notification_configuration)) - `object_lock_configuration` (Attributes) This operation is not supported for directory buckets. @@ -378,17 +378,17 @@ Read-Only: Read-Only: -- `s3_tables_destination` (Attributes) (see [below for nested schema](#nestedatt--metadata_table_configuration--s3_tables_destination)) +- `s3_tables_destination` (Attributes) The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. (see [below for nested schema](#nestedatt--metadata_table_configuration--s3_tables_destination)) ### Nested Schema for `metadata_table_configuration.s3_tables_destination` Read-Only: -- `table_arn` (String) The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket. -- `table_bucket_arn` (String) The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. -- `table_name` (String) The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket. -- `table_namespace` (String) The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata. +- `table_arn` (String) The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. +- `table_bucket_arn` (String) The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. +- `table_name` (String) The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. +- `table_namespace` (String) The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``. diff --git a/docs/resources/apigatewayv2_domain_name.md b/docs/resources/apigatewayv2_domain_name.md index b05a6bfbe5..90e7fb3c8f 100644 --- a/docs/resources/apigatewayv2_domain_name.md +++ b/docs/resources/apigatewayv2_domain_name.md @@ -41,6 +41,7 @@ resource "awscc_apigatewayv2_domain_name" "example" { ### Read-Only +- `domain_name_arn` (String) - `id` (String) Uniquely identifies the resource. - `regional_domain_name` (String) - `regional_hosted_zone_id` (String) diff --git a/docs/resources/applicationsignals_service_level_objective.md b/docs/resources/applicationsignals_service_level_objective.md index 2e20580d3a..41958d2d5b 100644 --- a/docs/resources/applicationsignals_service_level_objective.md +++ b/docs/resources/applicationsignals_service_level_objective.md @@ -100,6 +100,7 @@ resource "awscc_applicationsignals_service_level_objective" "example" { - `burn_rate_configurations` (Attributes Set) Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. (see [below for nested schema](#nestedatt--burn_rate_configurations)) - `description` (String) An optional description for this SLO. Default is 'No description' +- `exclusion_windows` (Attributes Set) Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics. (see [below for nested schema](#nestedatt--exclusion_windows)) - `goal` (Attributes) A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold. (see [below for nested schema](#nestedatt--goal)) - `request_based_sli` (Attributes) This structure contains information about the performance metric that a request-based SLO monitors. (see [below for nested schema](#nestedatt--request_based_sli)) - `sli` (Attributes) This structure contains information about the performance metric that an SLO monitors. (see [below for nested schema](#nestedatt--sli)) @@ -121,6 +122,34 @@ Optional: - `look_back_window_minutes` (Number) The number of minutes to use as the look-back window. + +### Nested Schema for `exclusion_windows` + +Optional: + +- `reason` (String) An optional reason for scheduling this time exclusion window. Default is 'No reason'. +- `recurrence_rule` (Attributes) This object defines how often to repeat a time exclusion window. (see [below for nested schema](#nestedatt--exclusion_windows--recurrence_rule)) +- `start_time` (String) The time you want the exclusion window to start at. Note that time exclusion windows can only be scheduled in the future, not the past. +- `window` (Attributes) This object defines the length of time an exclusion window should span. (see [below for nested schema](#nestedatt--exclusion_windows--window)) + + +### Nested Schema for `exclusion_windows.recurrence_rule` + +Optional: + +- `expression` (String) A cron or rate expression denoting how often to repeat this exclusion window. + + + +### Nested Schema for `exclusion_windows.window` + +Optional: + +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. + + + ### Nested Schema for `goal` @@ -145,8 +174,8 @@ Optional: Optional: -- `duration` (Number) Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. -- `duration_unit` (String) Specifies the calendar interval unit. +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. - `start_time` (Number) Epoch time in seconds you want the first interval to start. Be sure to choose a time that configures the intervals the way that you want. For example, if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a start time that is a Monday at 6 a.m. As soon as one calendar interval ends, another automatically begins. @@ -156,8 +185,8 @@ As soon as one calendar interval ends, another automatically begins. Optional: -- `duration` (Number) Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. -- `duration_unit` (String) Specifies the calendar interval unit. +- `duration` (Number) Specifies the duration of each interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar. +- `duration_unit` (String) Specifies the interval unit. diff --git a/docs/resources/appsync_domain_name.md b/docs/resources/appsync_domain_name.md index ad3054f1a7..ac33d19e69 100644 --- a/docs/resources/appsync_domain_name.md +++ b/docs/resources/appsync_domain_name.md @@ -23,13 +23,23 @@ Resource Type definition for AWS::AppSync::DomainName ### Optional - `description` (String) +- `tags` (Attributes Set) An arbitrary set of tags (key-value pairs) for this Domain Name. (see [below for nested schema](#nestedatt--tags)) ### Read-Only - `app_sync_domain_name` (String) +- `domain_name_arn` (String) The Amazon Resource Name (ARN) for the Domain Name. - `hosted_zone_id` (String) - `id` (String) Uniquely identifies the resource. + +### Nested Schema for `tags` + +Optional: + +- `key` (String) A string used to identify this tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. +- `value` (String) A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/bedrock_data_source.md b/docs/resources/bedrock_data_source.md index db9f6928cb..e19d9d1f22 100644 --- a/docs/resources/bedrock_data_source.md +++ b/docs/resources/bedrock_data_source.md @@ -273,12 +273,18 @@ Optional: - `exclusion_filters` (List of String) A set of regular expression filter patterns for a type of object. - `inclusion_filters` (List of String) A set of regular expression filter patterns for a type of object. - `scope` (String) The scope that a web crawl job will be restricted to. +- `user_agent` (String) The suffix that will be included in the user agent header. + +Read-Only: + +- `user_agent_header` (String) The full user agent header, including UUID and suffix. ### Nested Schema for `data_source_configuration.web_configuration.crawler_configuration.crawler_limits` Optional: +- `max_pages` (Number) Maximum number of pages the crawler can crawl. - `rate_limit` (Number) Rate of web URLs retrieved per minute. @@ -323,6 +329,7 @@ Optional: Optional: - `chunking_configuration` (Attributes) Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--chunking_configuration)) +- `context_enrichment_configuration` (Attributes) Additional Enrichment Configuration for example when using GraphRag. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration)) - `custom_transformation_configuration` (Attributes) Settings for customizing steps in the data source content ingestion pipeline. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--custom_transformation_configuration)) - `parsing_configuration` (Attributes) Settings for parsing document contents (see [below for nested schema](#nestedatt--vector_ingestion_configuration--parsing_configuration)) @@ -373,6 +380,32 @@ Optional: + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration` + +Optional: + +- `bedrock_foundation_model_configuration` (Attributes) Bedrock Foundation Model configuration to be used for Context Enrichment. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration--bedrock_foundation_model_configuration)) +- `type` (String) Enrichment type to be used for the vector database. + + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration.bedrock_foundation_model_configuration` + +Optional: + +- `enrichment_strategy_configuration` (Attributes) Strategy to be used when using Bedrock Foundation Model for Context Enrichment. (see [below for nested schema](#nestedatt--vector_ingestion_configuration--context_enrichment_configuration--bedrock_foundation_model_configuration--enrichment_strategy_configuration)) +- `model_arn` (String) The model's ARN. + + +### Nested Schema for `vector_ingestion_configuration.context_enrichment_configuration.bedrock_foundation_model_configuration.enrichment_strategy_configuration` + +Optional: + +- `method` (String) Enrichment Strategy method. + + + + ### Nested Schema for `vector_ingestion_configuration.custom_transformation_configuration` diff --git a/docs/resources/bedrock_knowledge_base.md b/docs/resources/bedrock_knowledge_base.md index 372ce5645d..f7a5358448 100644 --- a/docs/resources/bedrock_knowledge_base.md +++ b/docs/resources/bedrock_knowledge_base.md @@ -309,6 +309,7 @@ Optional: Optional: - `mongo_db_atlas_configuration` (Attributes) Contains the storage configuration of the knowledge base in MongoDb Atlas Cloud. (see [below for nested schema](#nestedatt--storage_configuration--mongo_db_atlas_configuration)) +- `neptune_analytics_configuration` (Attributes) Contains the configurations to use Neptune Analytics as Vector Store. (see [below for nested schema](#nestedatt--storage_configuration--neptune_analytics_configuration)) - `opensearch_serverless_configuration` (Attributes) Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. (see [below for nested schema](#nestedatt--storage_configuration--opensearch_serverless_configuration)) - `pinecone_configuration` (Attributes) Contains the storage configuration of the knowledge base in Pinecone. (see [below for nested schema](#nestedatt--storage_configuration--pinecone_configuration)) - `rds_configuration` (Attributes) Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. (see [below for nested schema](#nestedatt--storage_configuration--rds_configuration)) @@ -338,6 +339,24 @@ Optional: + +### Nested Schema for `storage_configuration.neptune_analytics_configuration` + +Optional: + +- `field_mapping` (Attributes) A mapping of Bedrock Knowledge Base fields to Neptune Analytics fields. (see [below for nested schema](#nestedatt--storage_configuration--neptune_analytics_configuration--field_mapping)) +- `graph_arn` (String) ARN for Neptune Analytics graph database. + + +### Nested Schema for `storage_configuration.neptune_analytics_configuration.field_mapping` + +Optional: + +- `metadata_field` (String) The name of the field in which Amazon Bedrock stores metadata about the vector store. +- `text_field` (String) The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + + + ### Nested Schema for `storage_configuration.opensearch_serverless_configuration` diff --git a/docs/resources/cloudfront_vpc_origin.md b/docs/resources/cloudfront_vpc_origin.md index a8d67925c2..0402862d57 100644 --- a/docs/resources/cloudfront_vpc_origin.md +++ b/docs/resources/cloudfront_vpc_origin.md @@ -3,12 +3,12 @@ page_title: "awscc_cloudfront_vpc_origin Resource - terraform-provider-awscc" subcategory: "" description: |- - Resource Type definition for AWS::CloudFront::VpcOrigin + An Amazon CloudFront VPC origin. --- # awscc_cloudfront_vpc_origin (Resource) -Resource Type definition for AWS::CloudFront::VpcOrigin +An Amazon CloudFront VPC origin. ## Example Usage @@ -155,11 +155,11 @@ resource "awscc_cloudfront_vpc_origin" "example" { ### Required -- `vpc_origin_endpoint_config` (Attributes) (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config)) +- `vpc_origin_endpoint_config` (Attributes) The VPC origin endpoint configuration. (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config)) ### Optional -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) +- `tags` (Attributes List) A complex type that contains zero or more ``Tag`` elements. (see [below for nested schema](#nestedatt--tags)) ### Read-Only @@ -175,14 +175,14 @@ resource "awscc_cloudfront_vpc_origin" "example" { Required: -- `arn` (String) -- `name` (String) +- `arn` (String) The ARN of the CloudFront VPC origin endpoint configuration. +- `name` (String) The name of the CloudFront VPC origin endpoint configuration. Optional: -- `http_port` (Number) -- `https_port` (Number) -- `origin_protocol_policy` (String) +- `http_port` (Number) The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is ``80``. +- `https_port` (Number) The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is ``443``. +- `origin_protocol_policy` (String) The origin protocol policy for the CloudFront VPC origin endpoint configuration. - `origin_ssl_protocols` (List of String) @@ -191,8 +191,10 @@ Optional: Optional: -- `key` (String) -- `value` (String) +- `key` (String) A string that contains ``Tag`` key. + The string length should be between 1 and 128 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``. +- `value` (String) A string that contains an optional ``Tag`` value. + The string length should be between 0 and 256 characters. Valid characters include ``a-z``, ``A-Z``, ``0-9``, space, and the special characters ``_ - . : / = + @``. ## Import diff --git a/docs/resources/datazone_connection.md b/docs/resources/datazone_connection.md new file mode 100644 index 0000000000..862576bae8 --- /dev/null +++ b/docs/resources/datazone_connection.md @@ -0,0 +1,289 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "awscc_datazone_connection Resource - terraform-provider-awscc" +subcategory: "" +description: |- + Connections enables users to connect their DataZone resources (domains, projects, and environments) to external resources/services (data, compute, etc) +--- + +# awscc_datazone_connection (Resource) + +Connections enables users to connect their DataZone resources (domains, projects, and environments) to external resources/services (data, compute, etc) + + + + +## Schema + +### Required + +- `domain_identifier` (String) The identifier of the domain in which the connection is created. +- `environment_identifier` (String) The identifier of the environment in which the connection is created. +- `name` (String) The name of the connection. + +### Optional + +- `aws_location` (Attributes) AWS Location of project (see [below for nested schema](#nestedatt--aws_location)) +- `description` (String) The description of the connection. +- `props` (Attributes) (see [below for nested schema](#nestedatt--props)) + +### Read-Only + +- `connection_id` (String) The ID of the connection. +- `domain_id` (String) The ID of the domain in which the connection is created. +- `domain_unit_id` (String) The ID of the domain unit in which the connection is created. +- `environment_id` (String) The ID of the environment in which the connection is created. +- `environment_user_role` (String) The role of the user in the environment. +- `id` (String) Uniquely identifies the resource. +- `project_id` (String) The ID of the project in which the connection is created. +- `type` (String) Connection Type + + +### Nested Schema for `aws_location` + +Optional: + +- `access_role` (String) +- `aws_account_id` (String) +- `aws_region` (String) +- `iam_connection_id` (String) + + + +### Nested Schema for `props` + +Optional: + +- `athena_properties` (Attributes) Athena Properties Input (see [below for nested schema](#nestedatt--props--athena_properties)) +- `glue_properties` (Attributes) Glue Properties Input (see [below for nested schema](#nestedatt--props--glue_properties)) +- `hyper_pod_properties` (Attributes) HyperPod Properties Input (see [below for nested schema](#nestedatt--props--hyper_pod_properties)) +- `iam_properties` (Attributes) IAM Properties Input (see [below for nested schema](#nestedatt--props--iam_properties)) +- `redshift_properties` (Attributes) Redshift Properties Input (see [below for nested schema](#nestedatt--props--redshift_properties)) +- `spark_emr_properties` (Attributes) Spark EMR Properties Input. (see [below for nested schema](#nestedatt--props--spark_emr_properties)) +- `spark_glue_properties` (Attributes) Spark Glue Properties Input. (see [below for nested schema](#nestedatt--props--spark_glue_properties)) + + +### Nested Schema for `props.athena_properties` + +Optional: + +- `workgroup_name` (String) + + + +### Nested Schema for `props.glue_properties` + +Optional: + +- `glue_connection_input` (Attributes) Glue Connection Input (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input)) + + +### Nested Schema for `props.glue_properties.glue_connection_input` + +Optional: + +- `athena_properties` (Map of String) Property Map +- `authentication_configuration` (Attributes) Authentication Configuration Input (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration)) +- `connection_properties` (Map of String) Connection Properties +- `connection_type` (String) Glue Connection Type +- `description` (String) +- `match_criteria` (String) +- `name` (String) +- `physical_connection_requirements` (Attributes) Physical Connection Requirements (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--physical_connection_requirements)) +- `python_properties` (Map of String) Property Map +- `spark_properties` (Map of String) Property Map +- `validate_credentials` (Boolean) +- `validate_for_compute_environments` (List of String) + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration` + +Optional: + +- `authentication_type` (String) Authentication Type +- `basic_authentication_credentials` (Attributes) Basic Authentication Credentials (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--basic_authentication_credentials)) +- `custom_authentication_credentials` (Map of String) Credential Map +- `kms_key_arn` (String) +- `o_auth_2_properties` (Attributes) OAuth2 Properties (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties)) +- `secret_arn` (String) + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.basic_authentication_credentials` + +Optional: + +- `password` (String) +- `user_name` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties` + +Optional: + +- `authorization_code_properties` (Attributes) Authorization Code Properties (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--authorization_code_properties)) +- `o_auth_2_client_application` (Attributes) OAuth2 Client Application (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--o_auth_2_client_application)) +- `o_auth_2_credentials` (Attributes) Glue OAuth2 Credentials (see [below for nested schema](#nestedatt--props--glue_properties--glue_connection_input--authentication_configuration--o_auth_2_properties--o_auth_2_credentials)) +- `o_auth_2_grant_type` (String) OAuth2 Grant Type +- `token_url` (String) +- `token_url_parameters_map` (Map of String) The token URL parameters. + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.authorization_code_properties` + +Optional: + +- `authorization_code` (String) +- `redirect_uri` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.o_auth_2_client_application` + +Optional: + +- `aws_managed_client_application_reference` (String) +- `user_managed_client_application_client_id` (String) + + + +### Nested Schema for `props.glue_properties.glue_connection_input.authentication_configuration.o_auth_2_properties.o_auth_2_credentials` + +Optional: + +- `access_token` (String) +- `jwt_token` (String) +- `refresh_token` (String) +- `user_managed_client_application_client_secret` (String) + + + + + +### Nested Schema for `props.glue_properties.glue_connection_input.physical_connection_requirements` + +Optional: + +- `availability_zone` (String) +- `security_group_id_list` (List of String) +- `subnet_id` (String) +- `subnet_id_list` (List of String) + + + + + +### Nested Schema for `props.hyper_pod_properties` + +Optional: + +- `cluster_name` (String) + + + +### Nested Schema for `props.iam_properties` + +Optional: + +- `glue_lineage_sync_enabled` (Boolean) + + + +### Nested Schema for `props.redshift_properties` + +Optional: + +- `credentials` (Attributes) (see [below for nested schema](#nestedatt--props--redshift_properties--credentials)) +- `database_name` (String) +- `host` (String) +- `lineage_sync` (Attributes) Redshift Lineage Sync Configuration Input (see [below for nested schema](#nestedatt--props--redshift_properties--lineage_sync)) +- `port` (Number) +- `storage` (Attributes) (see [below for nested schema](#nestedatt--props--redshift_properties--storage)) + + +### Nested Schema for `props.redshift_properties.credentials` + +Optional: + +- `secret_arn` (String) +- `username_password` (Attributes) The username and password to be used for authentication. (see [below for nested schema](#nestedatt--props--redshift_properties--credentials--username_password)) + + +### Nested Schema for `props.redshift_properties.credentials.username_password` + +Optional: + +- `password` (String) +- `username` (String) + + + + +### Nested Schema for `props.redshift_properties.lineage_sync` + +Optional: + +- `enabled` (Boolean) +- `schedule` (Attributes) Lineage Sync Schedule (see [below for nested schema](#nestedatt--props--redshift_properties--lineage_sync--schedule)) + + +### Nested Schema for `props.redshift_properties.lineage_sync.schedule` + +Optional: + +- `schedule` (String) + + + + +### Nested Schema for `props.redshift_properties.storage` + +Optional: + +- `cluster_name` (String) +- `workgroup_name` (String) + + + + +### Nested Schema for `props.spark_emr_properties` + +Optional: + +- `compute_arn` (String) +- `instance_profile_arn` (String) +- `java_virtual_env` (String) +- `log_uri` (String) +- `python_virtual_env` (String) +- `runtime_role` (String) +- `trusted_certificates_s3_uri` (String) + + + +### Nested Schema for `props.spark_glue_properties` + +Optional: + +- `additional_args` (Attributes) Spark Glue Args. (see [below for nested schema](#nestedatt--props--spark_glue_properties--additional_args)) +- `glue_connection_name` (String) +- `glue_version` (String) +- `idle_timeout` (Number) +- `java_virtual_env` (String) +- `number_of_workers` (Number) +- `python_virtual_env` (String) +- `worker_type` (String) + + +### Nested Schema for `props.spark_glue_properties.additional_args` + +Optional: + +- `connection` (String) + +## Import + +Import is supported using the following syntax: + +```shell +$ terraform import awscc_datazone_connection.example "domain_id|connection_id" +``` diff --git a/docs/resources/datazone_domain.md b/docs/resources/datazone_domain.md index 7b6301418f..956d5b1c59 100644 --- a/docs/resources/datazone_domain.md +++ b/docs/resources/datazone_domain.md @@ -86,6 +86,7 @@ variable "source_account_id" { - `last_updated_at` (String) The timestamp of when the Amazon DataZone domain was last updated. - `managed_account_id` (String) The identifier of the AWS account that manages the domain. - `portal_url` (String) The URL of the data portal for this Amazon DataZone domain. +- `root_domain_unit_id` (String) The ID of the root domain in Amazon Datazone. - `status` (String) The status of the Amazon DataZone domain. diff --git a/docs/resources/ec2_capacity_reservation.md b/docs/resources/ec2_capacity_reservation.md index 424c389d27..1a75eb4de4 100644 --- a/docs/resources/ec2_capacity_reservation.md +++ b/docs/resources/ec2_capacity_reservation.md @@ -60,8 +60,18 @@ resource "awscc_ec2_capacity_reservation" "example-capacity-reservation-end-date ### Read-Only - `available_instance_count` (Number) +- `capacity_allocation_set` (Attributes List) (see [below for nested schema](#nestedatt--capacity_allocation_set)) +- `capacity_reservation_arn` (String) +- `capacity_reservation_fleet_id` (String) - `capacity_reservation_id` (String) +- `commitment_info` (Attributes) (see [below for nested schema](#nestedatt--commitment_info)) +- `create_date` (String) +- `delivery_preference` (String) - `id` (String) Uniquely identifies the resource. +- `owner_id` (String) +- `reservation_type` (String) +- `start_date` (String) +- `state` (String) - `total_instance_count` (Number) @@ -80,6 +90,25 @@ Optional: - `key` (String) - `value` (String) + + + +### Nested Schema for `capacity_allocation_set` + +Read-Only: + +- `allocation_type` (String) +- `count` (Number) + + + +### Nested Schema for `commitment_info` + +Read-Only: + +- `commitment_end_date` (String) +- `committed_instance_count` (Number) + ## Import Import is supported using the following syntax: diff --git a/docs/resources/ec2_vpc_endpoint_service.md b/docs/resources/ec2_vpc_endpoint_service.md index 429d30b145..1193b16bd5 100644 --- a/docs/resources/ec2_vpc_endpoint_service.md +++ b/docs/resources/ec2_vpc_endpoint_service.md @@ -73,6 +73,7 @@ resource "awscc_ec2_vpc_endpoint_service" "example" { - `network_load_balancer_arns` (List of String) - `payer_responsibility` (String) - `supported_ip_address_types` (List of String) Specify which Ip Address types are supported for VPC endpoint service. +- `supported_regions` (Set of String) The Regions from which service consumers can access the service. - `tags` (Attributes List) The tags to add to the VPC endpoint service. (see [below for nested schema](#nestedatt--tags)) ### Read-Only diff --git a/docs/resources/redshiftserverless_workgroup.md b/docs/resources/redshiftserverless_workgroup.md index 63aef0a8d5..2b15eb0552 100644 --- a/docs/resources/redshiftserverless_workgroup.md +++ b/docs/resources/redshiftserverless_workgroup.md @@ -76,11 +76,12 @@ resource "awscc_redshiftserverless_workgroup" "example" { - `security_group_ids` (List of String) A list of security group IDs to associate with the workgroup. - `subnet_ids` (List of String) A list of subnet IDs the workgroup is associated with. - `tags` (Attributes List) The map of the key-value pairs used to tag the workgroup. (see [below for nested schema](#nestedatt--tags)) +- `track_name` (String) +- `workgroup` (Attributes) Definition for workgroup resource (see [below for nested schema](#nestedatt--workgroup)) ### Read-Only - `id` (String) Uniquely identifies the resource. -- `workgroup` (Attributes) Definition for workgroup resource (see [below for nested schema](#nestedatt--workgroup)) ### Nested Schema for `config_parameters` @@ -112,20 +113,24 @@ Optional: ### Nested Schema for `workgroup` -Read-Only: +Optional: - `base_capacity` (Number) - `config_parameters` (Attributes Set) (see [below for nested schema](#nestedatt--workgroup--config_parameters)) -- `creation_date` (String) - `endpoint` (Attributes) (see [below for nested schema](#nestedatt--workgroup--endpoint)) -- `enhanced_vpc_routing` (Boolean) - `max_capacity` (Number) -- `namespace_name` (String) - `price_performance_target` (Attributes) (see [below for nested schema](#nestedatt--workgroup--price_performance_target)) + +Read-Only: + +- `creation_date` (String) +- `enhanced_vpc_routing` (Boolean) +- `namespace_name` (String) - `publicly_accessible` (Boolean) - `security_group_ids` (List of String) - `status` (String) - `subnet_ids` (List of String) +- `track_name` (String) - `workgroup_arn` (String) - `workgroup_id` (String) - `workgroup_name` (String) @@ -133,7 +138,7 @@ Read-Only: ### Nested Schema for `workgroup.config_parameters` -Read-Only: +Optional: - `parameter_key` (String) - `parameter_value` (String) @@ -142,16 +147,19 @@ Read-Only: ### Nested Schema for `workgroup.endpoint` +Optional: + +- `vpc_endpoints` (Attributes List) (see [below for nested schema](#nestedatt--workgroup--endpoint--vpc_endpoints)) + Read-Only: - `address` (String) - `port` (Number) -- `vpc_endpoints` (Attributes List) (see [below for nested schema](#nestedatt--workgroup--endpoint--vpc_endpoints)) ### Nested Schema for `workgroup.endpoint.vpc_endpoints` -Read-Only: +Optional: - `network_interfaces` (Attributes List) (see [below for nested schema](#nestedatt--workgroup--endpoint--vpc_endpoints--network_interfaces)) - `vpc_endpoint_id` (String) @@ -160,7 +168,7 @@ Read-Only: ### Nested Schema for `workgroup.endpoint.vpc_endpoints.network_interfaces` -Read-Only: +Optional: - `availability_zone` (String) - `network_interface_id` (String) @@ -173,7 +181,7 @@ Read-Only: ### Nested Schema for `workgroup.price_performance_target` -Read-Only: +Optional: - `level` (Number) - `status` (String) diff --git a/docs/resources/rum_app_monitor.md b/docs/resources/rum_app_monitor.md index 000ddc65b9..424f060ad5 100644 --- a/docs/resources/rum_app_monitor.md +++ b/docs/resources/rum_app_monitor.md @@ -110,7 +110,6 @@ resource "awscc_rum_app_monitor" "example" { ### Required -- `domain` (String) The top-level internet domain name for which your application has administrative authority. - `name` (String) A name for the app monitor ### Optional @@ -118,6 +117,9 @@ resource "awscc_rum_app_monitor" "example" { - `app_monitor_configuration` (Attributes) AppMonitor configuration (see [below for nested schema](#nestedatt--app_monitor_configuration)) - `custom_events` (Attributes) AppMonitor custom events configuration (see [below for nested schema](#nestedatt--custom_events)) - `cw_log_enabled` (Boolean) Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether RUM sends a copy of this telemetry data to CWLlong in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur CWLlong charges. If you omit this parameter, the default is false +- `deobfuscation_configuration` (Attributes) A structure that contains the configuration for how an app monitor can deobfuscate stack traces. (see [below for nested schema](#nestedatt--deobfuscation_configuration)) +- `domain` (String) The top-level internet domain name for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list. +- `domain_list` (List of String) The top-level internet domain names for which your application has administrative authority. The CreateAppMonitor requires either the domain or the domain list. - `resource_policy` (Attributes) A structure that defines resource policy attached to your app monitor. (see [below for nested schema](#nestedatt--resource_policy)) - `tags` (Attributes Set) Assigns one or more tags (key-value pairs) to the app monitor. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.You can associate as many as 50 tags with an app monitor. (see [below for nested schema](#nestedatt--tags)) @@ -231,6 +233,23 @@ Optional: - `status` (String) Indicates whether AppMonitor accepts custom events. + +### Nested Schema for `deobfuscation_configuration` + +Optional: + +- `java_script_source_maps` (Attributes) A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps. (see [below for nested schema](#nestedatt--deobfuscation_configuration--java_script_source_maps)) + + +### Nested Schema for `deobfuscation_configuration.java_script_source_maps` + +Optional: + +- `s3_uri` (String) The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED. +- `status` (String) Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be DISABLED + + + ### Nested Schema for `resource_policy` diff --git a/docs/resources/s3_bucket.md b/docs/resources/s3_bucket.md index 3bd241cdf4..b6c2eb9221 100644 --- a/docs/resources/s3_bucket.md +++ b/docs/resources/s3_bucket.md @@ -368,7 +368,7 @@ resource "awscc_s3_bucket" "example" { - `inventory_configurations` (Attributes List) Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*. (see [below for nested schema](#nestedatt--inventory_configurations)) - `lifecycle_configuration` (Attributes) Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*. (see [below for nested schema](#nestedatt--lifecycle_configuration)) - `logging_configuration` (Attributes) Settings that define where logs are stored. (see [below for nested schema](#nestedatt--logging_configuration)) -- `metadata_table_configuration` (Attributes) (see [below for nested schema](#nestedatt--metadata_table_configuration)) +- `metadata_table_configuration` (Attributes) The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html). (see [below for nested schema](#nestedatt--metadata_table_configuration)) - `metrics_configurations` (Attributes List) Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html). (see [below for nested schema](#nestedatt--metrics_configurations)) - `notification_configuration` (Attributes) Configuration that defines how Amazon S3 handles bucket notifications. (see [below for nested schema](#nestedatt--notification_configuration)) - `object_lock_configuration` (Attributes) This operation is not supported for directory buckets. @@ -715,20 +715,20 @@ Optional: Optional: -- `s3_tables_destination` (Attributes) (see [below for nested schema](#nestedatt--metadata_table_configuration--s3_tables_destination)) +- `s3_tables_destination` (Attributes) The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. (see [below for nested schema](#nestedatt--metadata_table_configuration--s3_tables_destination)) ### Nested Schema for `metadata_table_configuration.s3_tables_destination` Optional: -- `table_bucket_arn` (String) The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. -- `table_name` (String) The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket. +- `table_bucket_arn` (String) The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS-account as the general purpose bucket. +- `table_name` (String) The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. Read-Only: -- `table_arn` (String) The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket. -- `table_namespace` (String) The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata. +- `table_arn` (String) The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket. +- `table_namespace` (String) The table bucket namespace for the metadata table in your metadata table configuration. This value is always ``aws_s3_metadata``. diff --git a/examples/resources/awscc_datazone_connection/import.sh b/examples/resources/awscc_datazone_connection/import.sh new file mode 100644 index 0000000000..93bbd80d60 --- /dev/null +++ b/examples/resources/awscc_datazone_connection/import.sh @@ -0,0 +1 @@ +$ terraform import awscc_datazone_connection.example "domain_id|connection_id" \ No newline at end of file