diff --git a/API.md b/API.md
index 62a88fcc2017..3817d560fbce 100644
--- a/API.md
+++ b/API.md
@@ -134,6 +134,7 @@ Name|Description
[CloudwatchEventApiDestination](#cdktf-provider-aws-cloudwatcheventapidestination)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_api_destination.html aws_cloudwatch_event_api_destination}.
[CloudwatchEventArchive](#cdktf-provider-aws-cloudwatcheventarchive)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_archive.html aws_cloudwatch_event_archive}.
[CloudwatchEventBus](#cdktf-provider-aws-cloudwatcheventbus)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus.html aws_cloudwatch_event_bus}.
+[CloudwatchEventBusPolicy](#cdktf-provider-aws-cloudwatcheventbuspolicy)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html aws_cloudwatch_event_bus_policy}.
[CloudwatchEventConnection](#cdktf-provider-aws-cloudwatcheventconnection)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_connection.html aws_cloudwatch_event_connection}.
[CloudwatchEventPermission](#cdktf-provider-aws-cloudwatcheventpermission)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_permission.html aws_cloudwatch_event_permission}.
[CloudwatchEventRule](#cdktf-provider-aws-cloudwatcheventrule)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_rule.html aws_cloudwatch_event_rule}.
@@ -570,6 +571,7 @@ Name|Description
[DataAwsServiceDiscoveryDnsNamespace](#cdktf-provider-aws-dataawsservicediscoverydnsnamespace)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/service_discovery_dns_namespace.html aws_service_discovery_dns_namespace}.
[DataAwsServicecatalogConstraint](#cdktf-provider-aws-dataawsservicecatalogconstraint)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_constraint.html aws_servicecatalog_constraint}.
[DataAwsServicecatalogPortfolio](#cdktf-provider-aws-dataawsservicecatalogportfolio)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_portfolio.html aws_servicecatalog_portfolio}.
+[DataAwsServicecatalogProduct](#cdktf-provider-aws-dataawsservicecatalogproduct)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html aws_servicecatalog_product}.
[DataAwsServicequotasService](#cdktf-provider-aws-dataawsservicequotasservice)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicequotas_service.html aws_servicequotas_service}.
[DataAwsServicequotasServiceQuota](#cdktf-provider-aws-dataawsservicequotasservicequota)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicequotas_service_quota.html aws_servicequotas_service_quota}.
[DataAwsSfnActivity](#cdktf-provider-aws-dataawssfnactivity)|Represents a {@link https://www.terraform.io/docs/providers/aws/d/sfn_activity.html aws_sfn_activity}.
@@ -739,6 +741,7 @@ Name|Description
[EcsService](#cdktf-provider-aws-ecsservice)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/ecs_service.html aws_ecs_service}.
[EcsTaskDefinition](#cdktf-provider-aws-ecstaskdefinition)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/ecs_task_definition.html aws_ecs_task_definition}.
[EfsAccessPoint](#cdktf-provider-aws-efsaccesspoint)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_access_point.html aws_efs_access_point}.
+[EfsBackupPolicy](#cdktf-provider-aws-efsbackuppolicy)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html aws_efs_backup_policy}.
[EfsFileSystem](#cdktf-provider-aws-efsfilesystem)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_file_system.html aws_efs_file_system}.
[EfsFileSystemPolicy](#cdktf-provider-aws-efsfilesystempolicy)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_file_system_policy.html aws_efs_file_system_policy}.
[EfsFileSystemSizeInBytes](#cdktf-provider-aws-efsfilesystemsizeinbytes)|*No description*
@@ -769,6 +772,7 @@ Name|Description
[ElasticacheSubnetGroup](#cdktf-provider-aws-elasticachesubnetgroup)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticache_subnet_group.html aws_elasticache_subnet_group}.
[ElasticsearchDomain](#cdktf-provider-aws-elasticsearchdomain)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain.html aws_elasticsearch_domain}.
[ElasticsearchDomainPolicy](#cdktf-provider-aws-elasticsearchdomainpolicy)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_policy.html aws_elasticsearch_domain_policy}.
+[ElasticsearchDomainSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptions)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html aws_elasticsearch_domain_saml_options}.
[ElastictranscoderPipeline](#cdktf-provider-aws-elastictranscoderpipeline)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elastictranscoder_pipeline.html aws_elastictranscoder_pipeline}.
[ElastictranscoderPreset](#cdktf-provider-aws-elastictranscoderpreset)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elastictranscoder_preset.html aws_elastictranscoder_preset}.
[Elb](#cdktf-provider-aws-elb)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/elb.html aws_elb}.
@@ -941,6 +945,7 @@ Name|Description
[MwaaEnvironmentLastUpdatedError](#cdktf-provider-aws-mwaaenvironmentlastupdatederror)|*No description*
[NatGateway](#cdktf-provider-aws-natgateway)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/nat_gateway.html aws_nat_gateway}.
[NeptuneCluster](#cdktf-provider-aws-neptunecluster)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html aws_neptune_cluster}.
+[NeptuneClusterEndpoint](#cdktf-provider-aws-neptuneclusterendpoint)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html aws_neptune_cluster_endpoint}.
[NeptuneClusterInstance](#cdktf-provider-aws-neptuneclusterinstance)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_instance.html aws_neptune_cluster_instance}.
[NeptuneClusterParameterGroup](#cdktf-provider-aws-neptuneclusterparametergroup)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_parameter_group.html aws_neptune_cluster_parameter_group}.
[NeptuneClusterSnapshot](#cdktf-provider-aws-neptuneclustersnapshot)|Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_snapshot.html aws_neptune_cluster_snapshot}.
@@ -1747,6 +1752,7 @@ Name|Description
[CloudwatchEventApiDestinationConfig](#cdktf-provider-aws-cloudwatcheventapidestinationconfig)|*No description*
[CloudwatchEventArchiveConfig](#cdktf-provider-aws-cloudwatcheventarchiveconfig)|*No description*
[CloudwatchEventBusConfig](#cdktf-provider-aws-cloudwatcheventbusconfig)|*No description*
+[CloudwatchEventBusPolicyConfig](#cdktf-provider-aws-cloudwatcheventbuspolicyconfig)|*No description*
[CloudwatchEventConnectionAuthParameters](#cdktf-provider-aws-cloudwatcheventconnectionauthparameters)|*No description*
[CloudwatchEventConnectionAuthParametersApiKey](#cdktf-provider-aws-cloudwatcheventconnectionauthparametersapikey)|*No description*
[CloudwatchEventConnectionAuthParametersBasic](#cdktf-provider-aws-cloudwatcheventconnectionauthparametersbasic)|*No description*
@@ -2214,6 +2220,7 @@ Name|Description
[DataAwsServiceDiscoveryDnsNamespaceConfig](#cdktf-provider-aws-dataawsservicediscoverydnsnamespaceconfig)|*No description*
[DataAwsServicecatalogConstraintConfig](#cdktf-provider-aws-dataawsservicecatalogconstraintconfig)|*No description*
[DataAwsServicecatalogPortfolioConfig](#cdktf-provider-aws-dataawsservicecatalogportfolioconfig)|*No description*
+[DataAwsServicecatalogProductConfig](#cdktf-provider-aws-dataawsservicecatalogproductconfig)|*No description*
[DataAwsServicequotasServiceConfig](#cdktf-provider-aws-dataawsservicequotasserviceconfig)|*No description*
[DataAwsServicequotasServiceQuotaConfig](#cdktf-provider-aws-dataawsservicequotasservicequotaconfig)|*No description*
[DataAwsSfnActivityConfig](#cdktf-provider-aws-dataawssfnactivityconfig)|*No description*
@@ -2499,6 +2506,8 @@ Name|Description
[EfsAccessPointPosixUser](#cdktf-provider-aws-efsaccesspointposixuser)|*No description*
[EfsAccessPointRootDirectory](#cdktf-provider-aws-efsaccesspointrootdirectory)|*No description*
[EfsAccessPointRootDirectoryCreationInfo](#cdktf-provider-aws-efsaccesspointrootdirectorycreationinfo)|*No description*
+[EfsBackupPolicyBackupPolicy](#cdktf-provider-aws-efsbackuppolicybackuppolicy)|*No description*
+[EfsBackupPolicyConfig](#cdktf-provider-aws-efsbackuppolicyconfig)|*No description*
[EfsFileSystemConfig](#cdktf-provider-aws-efsfilesystemconfig)|*No description*
[EfsFileSystemLifecyclePolicy](#cdktf-provider-aws-efsfilesystemlifecyclepolicy)|*No description*
[EfsFileSystemPolicyConfig](#cdktf-provider-aws-efsfilesystempolicyconfig)|*No description*
@@ -2551,6 +2560,9 @@ Name|Description
[ElasticsearchDomainLogPublishingOptions](#cdktf-provider-aws-elasticsearchdomainlogpublishingoptions)|*No description*
[ElasticsearchDomainNodeToNodeEncryption](#cdktf-provider-aws-elasticsearchdomainnodetonodeencryption)|*No description*
[ElasticsearchDomainPolicyConfig](#cdktf-provider-aws-elasticsearchdomainpolicyconfig)|*No description*
+[ElasticsearchDomainSamlOptionsConfig](#cdktf-provider-aws-elasticsearchdomainsamloptionsconfig)|*No description*
+[ElasticsearchDomainSamlOptionsSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptions)|*No description*
+[ElasticsearchDomainSamlOptionsSamlOptionsIdp](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptionsidp)|*No description*
[ElasticsearchDomainSnapshotOptions](#cdktf-provider-aws-elasticsearchdomainsnapshotoptions)|*No description*
[ElasticsearchDomainTimeouts](#cdktf-provider-aws-elasticsearchdomaintimeouts)|*No description*
[ElasticsearchDomainVpcOptions](#cdktf-provider-aws-elasticsearchdomainvpcoptions)|*No description*
@@ -3168,6 +3180,7 @@ Name|Description
[MwaaEnvironmentNetworkConfiguration](#cdktf-provider-aws-mwaaenvironmentnetworkconfiguration)|*No description*
[NatGatewayConfig](#cdktf-provider-aws-natgatewayconfig)|*No description*
[NeptuneClusterConfig](#cdktf-provider-aws-neptuneclusterconfig)|*No description*
+[NeptuneClusterEndpointConfig](#cdktf-provider-aws-neptuneclusterendpointconfig)|*No description*
[NeptuneClusterInstanceConfig](#cdktf-provider-aws-neptuneclusterinstanceconfig)|*No description*
[NeptuneClusterInstanceTimeouts](#cdktf-provider-aws-neptuneclusterinstancetimeouts)|*No description*
[NeptuneClusterParameterGroupConfig](#cdktf-provider-aws-neptuneclusterparametergroupconfig)|*No description*
@@ -24210,6 +24223,74 @@ __Returns__:
+## class CloudwatchEventBusPolicy
+
+Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html aws_cloudwatch_event_bus_policy}.
+
+__Implements__: [IConstruct](#constructs-iconstruct), [ITerraformResource](#cdktf-iterraformresource), [ITerraformDependable](#cdktf-iterraformdependable)
+__Extends__: [TerraformResource](#cdktf-terraformresource)
+
+### Initializer
+
+
+Create a new {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html aws_cloudwatch_event_bus_policy} Resource.
+
+```ts
+new CloudwatchEventBusPolicy(scope: Construct, id: string, config: CloudwatchEventBusPolicyConfig)
+```
+
+* **scope** ([Construct](#constructs-construct)
) The scope in which to define this construct.
+* **id** (string
) The scoped construct ID.
+* **config** ([CloudwatchEventBusPolicyConfig](#cdktf-provider-aws-cloudwatcheventbuspolicyconfig)
) *No description*
+ * **count** (number
) *No description* __*Optional*__
+ * **dependsOn** (Array<[ITerraformDependable](#cdktf-iterraformdependable)>
) *No description* __*Optional*__
+ * **lifecycle** ([TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
) *No description* __*Optional*__
+ * **provider** ([TerraformProvider](#cdktf-terraformprovider)
) *No description* __*Optional*__
+ * **policy** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#policy CloudwatchEventBusPolicy#policy}.
+ * **eventBusName** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#event_bus_name CloudwatchEventBusPolicy#event_bus_name}. __*Optional*__
+
+
+
+### Properties
+
+
+Name | Type | Description
+-----|------|-------------
+**eventBusName** | string
|
+**id** | string
|
+**policy** | string
|
+**policyInput** | string
|
+**eventBusNameInput**? | string
| __*Optional*__
+
+### Methods
+
+
+#### resetEventBusName()
+
+
+
+```ts
+resetEventBusName(): void
+```
+
+
+
+
+
+#### protected synthesizeAttributes()
+
+
+
+```ts
+protected synthesizeAttributes(): Map
+```
+
+
+__Returns__:
+* Map
+
+
+
## class CloudwatchEventConnection
Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_connection.html aws_cloudwatch_event_connection}.
@@ -32047,6 +32128,7 @@ new DataAwsAlbTargetGroupStickiness(terraformResource: ITerraformResource, terra
Name | Type | Description
-----|------|-------------
**cookieDuration** | number
|
+**cookieName** | string
|
**enabled** | boolean
|
**type** | string
|
@@ -50291,6 +50373,7 @@ new DataAwsLbTargetGroupStickiness(terraformResource: ITerraformResource, terraf
Name | Type | Description
-----|------|-------------
**cookieDuration** | number
|
+**cookieName** | string
|
**enabled** | boolean
|
**type** | string
|
@@ -56882,6 +56965,100 @@ __Returns__:
+## class DataAwsServicecatalogProduct
+
+Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html aws_servicecatalog_product}.
+
+__Implements__: [IConstruct](#constructs-iconstruct), [ITerraformResource](#cdktf-iterraformresource), [ITerraformDependable](#cdktf-iterraformdependable)
+__Extends__: [TerraformDataSource](#cdktf-terraformdatasource)
+
+### Initializer
+
+
+Create a new {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html aws_servicecatalog_product} Data Source.
+
+```ts
+new DataAwsServicecatalogProduct(scope: Construct, id: string, config: DataAwsServicecatalogProductConfig)
+```
+
+* **scope** ([Construct](#constructs-construct)
) The scope in which to define this construct.
+* **id** (string
) The scoped construct ID.
+* **config** ([DataAwsServicecatalogProductConfig](#cdktf-provider-aws-dataawsservicecatalogproductconfig)
) *No description*
+ * **count** (number
) *No description* __*Optional*__
+ * **dependsOn** (Array<[ITerraformDependable](#cdktf-iterraformdependable)>
) *No description* __*Optional*__
+ * **lifecycle** ([TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
) *No description* __*Optional*__
+ * **provider** ([TerraformProvider](#cdktf-terraformprovider)
) *No description* __*Optional*__
+ * **id** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#id DataAwsServicecatalogProduct#id}.
+ * **acceptLanguage** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#accept_language DataAwsServicecatalogProduct#accept_language}. __*Optional*__
+ * **tags** (Map
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#tags DataAwsServicecatalogProduct#tags}. __*Optional*__
+
+
+
+### Properties
+
+
+Name | Type | Description
+-----|------|-------------
+**acceptLanguage** | string
|
+**arn** | string
|
+**createdTime** | string
|
+**description** | string
|
+**distributor** | string
|
+**hasDefaultPath** | boolean
|
+**id** | string
|
+**idInput** | string
|
+**name** | string
|
+**owner** | string
|
+**status** | string
|
+**supportDescription** | string
|
+**supportEmail** | string
|
+**supportUrl** | string
|
+**tags** | Map
|
+**type** | string
|
+**acceptLanguageInput**? | string
| __*Optional*__
+**tagsInput**? | Map
| __*Optional*__
+
+### Methods
+
+
+#### resetAcceptLanguage()
+
+
+
+```ts
+resetAcceptLanguage(): void
+```
+
+
+
+
+
+#### resetTags()
+
+
+
+```ts
+resetTags(): void
+```
+
+
+
+
+
+#### protected synthesizeAttributes()
+
+
+
+```ts
+protected synthesizeAttributes(): Map
+```
+
+
+__Returns__:
+* Map
+
+
+
## class DataAwsServicequotasService
Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicequotas_service.html aws_servicequotas_service}.
@@ -75910,6 +76087,62 @@ __Returns__:
+## class EfsBackupPolicy
+
+Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html aws_efs_backup_policy}.
+
+__Implements__: [IConstruct](#constructs-iconstruct), [ITerraformResource](#cdktf-iterraformresource), [ITerraformDependable](#cdktf-iterraformdependable)
+__Extends__: [TerraformResource](#cdktf-terraformresource)
+
+### Initializer
+
+
+Create a new {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html aws_efs_backup_policy} Resource.
+
+```ts
+new EfsBackupPolicy(scope: Construct, id: string, config: EfsBackupPolicyConfig)
+```
+
+* **scope** ([Construct](#constructs-construct)
) The scope in which to define this construct.
+* **id** (string
) The scoped construct ID.
+* **config** ([EfsBackupPolicyConfig](#cdktf-provider-aws-efsbackuppolicyconfig)
) *No description*
+ * **count** (number
) *No description* __*Optional*__
+ * **dependsOn** (Array<[ITerraformDependable](#cdktf-iterraformdependable)>
) *No description* __*Optional*__
+ * **lifecycle** ([TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
) *No description* __*Optional*__
+ * **provider** ([TerraformProvider](#cdktf-terraformprovider)
) *No description* __*Optional*__
+ * **backupPolicy** (Array<[EfsBackupPolicyBackupPolicy](#cdktf-provider-aws-efsbackuppolicybackuppolicy)>
) backup_policy block.
+ * **fileSystemId** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#file_system_id EfsBackupPolicy#file_system_id}.
+
+
+
+### Properties
+
+
+Name | Type | Description
+-----|------|-------------
+**backupPolicy** | Array<[EfsBackupPolicyBackupPolicy](#cdktf-provider-aws-efsbackuppolicybackuppolicy)>
|
+**backupPolicyInput** | Array<[EfsBackupPolicyBackupPolicy](#cdktf-provider-aws-efsbackuppolicybackuppolicy)>
|
+**fileSystemId** | string
|
+**fileSystemIdInput** | string
|
+**id** | string
|
+
+### Methods
+
+
+#### protected synthesizeAttributes()
+
+
+
+```ts
+protected synthesizeAttributes(): Map
+```
+
+
+__Returns__:
+* Map
+
+
+
## class EfsFileSystem
Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_file_system.html aws_efs_file_system}.
@@ -80006,6 +80239,74 @@ __Returns__:
+## class ElasticsearchDomainSamlOptions
+
+Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html aws_elasticsearch_domain_saml_options}.
+
+__Implements__: [IConstruct](#constructs-iconstruct), [ITerraformResource](#cdktf-iterraformresource), [ITerraformDependable](#cdktf-iterraformdependable)
+__Extends__: [TerraformResource](#cdktf-terraformresource)
+
+### Initializer
+
+
+Create a new {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html aws_elasticsearch_domain_saml_options} Resource.
+
+```ts
+new ElasticsearchDomainSamlOptions(scope: Construct, id: string, config: ElasticsearchDomainSamlOptionsConfig)
+```
+
+* **scope** ([Construct](#constructs-construct)
) The scope in which to define this construct.
+* **id** (string
) The scoped construct ID.
+* **config** ([ElasticsearchDomainSamlOptionsConfig](#cdktf-provider-aws-elasticsearchdomainsamloptionsconfig)
) *No description*
+ * **count** (number
) *No description* __*Optional*__
+ * **dependsOn** (Array<[ITerraformDependable](#cdktf-iterraformdependable)>
) *No description* __*Optional*__
+ * **lifecycle** ([TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
) *No description* __*Optional*__
+ * **provider** ([TerraformProvider](#cdktf-terraformprovider)
) *No description* __*Optional*__
+ * **domainName** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#domain_name ElasticsearchDomainSamlOptions#domain_name}.
+ * **samlOptions** (Array<[ElasticsearchDomainSamlOptionsSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptions)>
) saml_options block. __*Optional*__
+
+
+
+### Properties
+
+
+Name | Type | Description
+-----|------|-------------
+**domainName** | string
|
+**domainNameInput** | string
|
+**id** | string
|
+**samlOptions** | Array<[ElasticsearchDomainSamlOptionsSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptions)>
|
+**samlOptionsInput**? | Array<[ElasticsearchDomainSamlOptionsSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptions)>
| __*Optional*__
+
+### Methods
+
+
+#### resetSamlOptions()
+
+
+
+```ts
+resetSamlOptions(): void
+```
+
+
+
+
+
+#### protected synthesizeAttributes()
+
+
+
+```ts
+protected synthesizeAttributes(): Map
+```
+
+
+__Returns__:
+* Map
+
+
+
## class ElastictranscoderPipeline
Represents a {@link https://www.terraform.io/docs/providers/aws/r/elastictranscoder_pipeline.html aws_elastictranscoder_pipeline}.
@@ -102679,6 +102980,7 @@ new NeptuneCluster(scope: Construct, id: string, config?: NeptuneClusterConfig)
* **backupRetentionPeriod** (number
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#backup_retention_period NeptuneCluster#backup_retention_period}. __*Optional*__
* **clusterIdentifier** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#cluster_identifier NeptuneCluster#cluster_identifier}. __*Optional*__
* **clusterIdentifierPrefix** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#cluster_identifier_prefix NeptuneCluster#cluster_identifier_prefix}. __*Optional*__
+ * **copyTagsToSnapshot** (boolean
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#copy_tags_to_snapshot NeptuneCluster#copy_tags_to_snapshot}. __*Optional*__
* **deletionProtection** (boolean
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#deletion_protection NeptuneCluster#deletion_protection}. __*Optional*__
* **enableCloudwatchLogsExports** (Array
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#enable_cloudwatch_logs_exports NeptuneCluster#enable_cloudwatch_logs_exports}. __*Optional*__
* **engine** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#engine NeptuneCluster#engine}. __*Optional*__
@@ -102716,6 +103018,7 @@ Name | Type | Description
**clusterIdentifierPrefix** | string
|
**clusterMembers** | Array
|
**clusterResourceId** | string
|
+**copyTagsToSnapshot** | boolean
|
**deletionProtection** | boolean
|
**enableCloudwatchLogsExports** | Array
|
**endpoint** | string
|
@@ -102746,6 +103049,7 @@ Name | Type | Description
**backupRetentionPeriodInput**? | number
| __*Optional*__
**clusterIdentifierInput**? | string
| __*Optional*__
**clusterIdentifierPrefixInput**? | string
| __*Optional*__
+**copyTagsToSnapshotInput**? | boolean
| __*Optional*__
**deletionProtectionInput**? | boolean
| __*Optional*__
**enableCloudwatchLogsExportsInput**? | Array
| __*Optional*__
**engineInput**? | string
| __*Optional*__
@@ -102831,6 +103135,18 @@ resetClusterIdentifierPrefix(): void
+#### resetCopyTagsToSnapshot()
+
+
+
+```ts
+resetCopyTagsToSnapshot(): void
+```
+
+
+
+
+
#### resetDeletionProtection()
@@ -103097,6 +103413,127 @@ __Returns__:
+## class NeptuneClusterEndpoint
+
+Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html aws_neptune_cluster_endpoint}.
+
+__Implements__: [IConstruct](#constructs-iconstruct), [ITerraformResource](#cdktf-iterraformresource), [ITerraformDependable](#cdktf-iterraformdependable)
+__Extends__: [TerraformResource](#cdktf-terraformresource)
+
+### Initializer
+
+
+Create a new {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html aws_neptune_cluster_endpoint} Resource.
+
+```ts
+new NeptuneClusterEndpoint(scope: Construct, id: string, config: NeptuneClusterEndpointConfig)
+```
+
+* **scope** ([Construct](#constructs-construct)
) The scope in which to define this construct.
+* **id** (string
) The scoped construct ID.
+* **config** ([NeptuneClusterEndpointConfig](#cdktf-provider-aws-neptuneclusterendpointconfig)
) *No description*
+ * **count** (number
) *No description* __*Optional*__
+ * **dependsOn** (Array<[ITerraformDependable](#cdktf-iterraformdependable)>
) *No description* __*Optional*__
+ * **lifecycle** ([TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
) *No description* __*Optional*__
+ * **provider** ([TerraformProvider](#cdktf-terraformprovider)
) *No description* __*Optional*__
+ * **clusterEndpointIdentifier** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_endpoint_identifier NeptuneClusterEndpoint#cluster_endpoint_identifier}.
+ * **clusterIdentifier** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_identifier NeptuneClusterEndpoint#cluster_identifier}.
+ * **endpointType** (string
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#endpoint_type NeptuneClusterEndpoint#endpoint_type}.
+ * **excludedMembers** (Array
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#excluded_members NeptuneClusterEndpoint#excluded_members}. __*Optional*__
+ * **staticMembers** (Array
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#static_members NeptuneClusterEndpoint#static_members}. __*Optional*__
+ * **tags** (Map
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags NeptuneClusterEndpoint#tags}. __*Optional*__
+ * **tagsAll** (Map
) Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags_all NeptuneClusterEndpoint#tags_all}. __*Optional*__
+
+
+
+### Properties
+
+
+Name | Type | Description
+-----|------|-------------
+**arn** | string
|
+**clusterEndpointIdentifier** | string
|
+**clusterEndpointIdentifierInput** | string
|
+**clusterIdentifier** | string
|
+**clusterIdentifierInput** | string
|
+**endpoint** | string
|
+**endpointType** | string
|
+**endpointTypeInput** | string
|
+**excludedMembers** | Array
|
+**id** | string
|
+**staticMembers** | Array
|
+**tags** | Map
|
+**tagsAll** | Map
|
+**excludedMembersInput**? | Array
| __*Optional*__
+**staticMembersInput**? | Array
| __*Optional*__
+**tagsAllInput**? | Map
| __*Optional*__
+**tagsInput**? | Map
| __*Optional*__
+
+### Methods
+
+
+#### resetExcludedMembers()
+
+
+
+```ts
+resetExcludedMembers(): void
+```
+
+
+
+
+
+#### resetStaticMembers()
+
+
+
+```ts
+resetStaticMembers(): void
+```
+
+
+
+
+
+#### resetTags()
+
+
+
+```ts
+resetTags(): void
+```
+
+
+
+
+
+#### resetTagsAll()
+
+
+
+```ts
+resetTagsAll(): void
+```
+
+
+
+
+
+#### protected synthesizeAttributes()
+
+
+
+```ts
+protected synthesizeAttributes(): Map
+```
+
+
+__Returns__:
+* Map
+
+
+
## class NeptuneClusterInstance
Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_instance.html aws_neptune_cluster_instance}.
@@ -143841,6 +144278,7 @@ Name | Type | Description
-----|------|-------------
**type** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#type AlbTargetGroup#type}.
**cookieDuration**? | number
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#cookie_duration AlbTargetGroup#cookie_duration}.
__*Optional*__
+**cookieName**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#cookie_name AlbTargetGroup#cookie_name}.
__*Optional*__
**enabled**? | boolean
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#enabled AlbTargetGroup#enabled}.
__*Optional*__
@@ -151484,6 +151922,24 @@ Name | Type | Description
+## struct CloudwatchEventBusPolicyConfig
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**policy** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#policy CloudwatchEventBusPolicy#policy}.
+**count**?🔹 | number
| __*Optional*__
+**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
+**eventBusName**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#event_bus_name CloudwatchEventBusPolicy#event_bus_name}.
__*Optional*__
+**lifecycle**?🔹 | [TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
| __*Optional*__
+**provider**?🔹 | [TerraformProvider](#cdktf-terraformprovider)
| __*Optional*__
+
+
+
## struct CloudwatchEventConnectionAuthParameters
@@ -159595,6 +160051,25 @@ Name | Type | Description
+## struct DataAwsServicecatalogProductConfig
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**id** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#id DataAwsServicecatalogProduct#id}.
+**acceptLanguage**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#accept_language DataAwsServicecatalogProduct#accept_language}.
__*Optional*__
+**count**?🔹 | number
| __*Optional*__
+**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
+**lifecycle**?🔹 | [TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
| __*Optional*__
+**provider**?🔹 | [TerraformProvider](#cdktf-terraformprovider)
| __*Optional*__
+**tags**? | Map
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#tags DataAwsServicecatalogProduct#tags}.
__*Optional*__
+
+
+
## struct DataAwsServicequotasServiceConfig
@@ -164907,6 +165382,37 @@ Name | Type | Description
+## struct EfsBackupPolicyBackupPolicy
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**status** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#status EfsBackupPolicy#status}.
+
+
+
+## struct EfsBackupPolicyConfig
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**backupPolicy** | Array<[EfsBackupPolicyBackupPolicy](#cdktf-provider-aws-efsbackuppolicybackuppolicy)>
| backup_policy block.
+**fileSystemId** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#file_system_id EfsBackupPolicy#file_system_id}.
+**count**?🔹 | number
| __*Optional*__
+**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
+**lifecycle**?🔹 | [TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
| __*Optional*__
+**provider**?🔹 | [TerraformProvider](#cdktf-terraformprovider)
| __*Optional*__
+
+
+
## struct EfsFileSystemConfig
@@ -165914,6 +166420,57 @@ Name | Type | Description
+## struct ElasticsearchDomainSamlOptionsConfig
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**domainName** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#domain_name ElasticsearchDomainSamlOptions#domain_name}.
+**count**?🔹 | number
| __*Optional*__
+**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
+**lifecycle**?🔹 | [TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
| __*Optional*__
+**provider**?🔹 | [TerraformProvider](#cdktf-terraformprovider)
| __*Optional*__
+**samlOptions**? | Array<[ElasticsearchDomainSamlOptionsSamlOptions](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptions)>
| saml_options block.
__*Optional*__
+
+
+
+## struct ElasticsearchDomainSamlOptionsSamlOptions
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**enabled**? | boolean
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#enabled ElasticsearchDomainSamlOptions#enabled}.
__*Optional*__
+**idp**? | Array<[ElasticsearchDomainSamlOptionsSamlOptionsIdp](#cdktf-provider-aws-elasticsearchdomainsamloptionssamloptionsidp)>
| idp block.
__*Optional*__
+**masterBackendRole**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#master_backend_role ElasticsearchDomainSamlOptions#master_backend_role}.
__*Optional*__
+**masterUserName**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#master_user_name ElasticsearchDomainSamlOptions#master_user_name}.
__*Optional*__
+**rolesKey**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#roles_key ElasticsearchDomainSamlOptions#roles_key}.
__*Optional*__
+**sessionTimeoutMinutes**? | number
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#session_timeout_minutes ElasticsearchDomainSamlOptions#session_timeout_minutes}.
__*Optional*__
+**subjectKey**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#subject_key ElasticsearchDomainSamlOptions#subject_key}.
__*Optional*__
+
+
+
+## struct ElasticsearchDomainSamlOptionsSamlOptionsIdp
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**entityId** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#entity_id ElasticsearchDomainSamlOptions#entity_id}.
+**metadataContent** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#metadata_content ElasticsearchDomainSamlOptions#metadata_content}.
+
+
+
## struct ElasticsearchDomainSnapshotOptions
@@ -174535,6 +175092,7 @@ Name | Type | Description
-----|------|-------------
**type** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#type LbTargetGroup#type}.
**cookieDuration**? | number
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#cookie_duration LbTargetGroup#cookie_duration}.
__*Optional*__
+**cookieName**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#cookie_name LbTargetGroup#cookie_name}.
__*Optional*__
**enabled**? | boolean
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#enabled LbTargetGroup#enabled}.
__*Optional*__
@@ -176547,6 +177105,7 @@ Name | Type | Description
**backupRetentionPeriod**? | number
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#backup_retention_period NeptuneCluster#backup_retention_period}.
__*Optional*__
**clusterIdentifier**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#cluster_identifier NeptuneCluster#cluster_identifier}.
__*Optional*__
**clusterIdentifierPrefix**? | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#cluster_identifier_prefix NeptuneCluster#cluster_identifier_prefix}.
__*Optional*__
+**copyTagsToSnapshot**? | boolean
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#copy_tags_to_snapshot NeptuneCluster#copy_tags_to_snapshot}.
__*Optional*__
**count**?🔹 | number
| __*Optional*__
**deletionProtection**? | boolean
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#deletion_protection NeptuneCluster#deletion_protection}.
__*Optional*__
**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
@@ -176575,6 +177134,29 @@ Name | Type | Description
+## struct NeptuneClusterEndpointConfig
+
+
+
+
+
+
+Name | Type | Description
+-----|------|-------------
+**clusterEndpointIdentifier** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_endpoint_identifier NeptuneClusterEndpoint#cluster_endpoint_identifier}.
+**clusterIdentifier** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_identifier NeptuneClusterEndpoint#cluster_identifier}.
+**endpointType** | string
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#endpoint_type NeptuneClusterEndpoint#endpoint_type}.
+**count**?🔹 | number
| __*Optional*__
+**dependsOn**?🔹 | Array<[ITerraformDependable](#cdktf-iterraformdependable)>
| __*Optional*__
+**excludedMembers**? | Array
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#excluded_members NeptuneClusterEndpoint#excluded_members}.
__*Optional*__
+**lifecycle**?🔹 | [TerraformResourceLifecycle](#cdktf-terraformresourcelifecycle)
| __*Optional*__
+**provider**?🔹 | [TerraformProvider](#cdktf-terraformprovider)
| __*Optional*__
+**staticMembers**? | Array
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#static_members NeptuneClusterEndpoint#static_members}.
__*Optional*__
+**tags**? | Map
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags NeptuneClusterEndpoint#tags}.
__*Optional*__
+**tagsAll**? | Map
| Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags_all NeptuneClusterEndpoint#tags_all}.
__*Optional*__
+
+
+
## struct NeptuneClusterInstanceConfig
diff --git a/src/alb-target-group.ts b/src/alb-target-group.ts
index 37d0b05fbba9..c387cf1d00be 100644
--- a/src/alb-target-group.ts
+++ b/src/alb-target-group.ts
@@ -140,6 +140,10 @@ export interface AlbTargetGroupStickiness {
*/
readonly cookieDuration?: number;
/**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#cookie_name AlbTargetGroup#cookie_name}
+ */
+ readonly cookieName?: string;
+ /**
* Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/alb_target_group.html#enabled AlbTargetGroup#enabled}
*/
readonly enabled?: boolean;
@@ -153,6 +157,7 @@ function albTargetGroupStickinessToTerraform(struct?: AlbTargetGroupStickiness):
if (!cdktf.canInspect(struct)) { return struct; }
return {
cookie_duration: cdktf.numberToTerraform(struct!.cookieDuration),
+ cookie_name: cdktf.stringToTerraform(struct!.cookieName),
enabled: cdktf.booleanToTerraform(struct!.enabled),
type: cdktf.stringToTerraform(struct!.type),
}
diff --git a/src/cloudwatch-event-bus-policy.ts b/src/cloudwatch-event-bus-policy.ts
new file mode 100644
index 000000000000..f42cf14aa034
--- /dev/null
+++ b/src/cloudwatch-event-bus-policy.ts
@@ -0,0 +1,99 @@
+// https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html
+// generated from terraform resource schema
+
+import { Construct } from 'constructs';
+import * as cdktf from 'cdktf';
+
+// Configuration
+
+export interface CloudwatchEventBusPolicyConfig extends cdktf.TerraformMetaArguments {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#event_bus_name CloudwatchEventBusPolicy#event_bus_name}
+ */
+ readonly eventBusName?: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html#policy CloudwatchEventBusPolicy#policy}
+ */
+ readonly policy: string;
+}
+
+/**
+* Represents a {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html aws_cloudwatch_event_bus_policy}
+*/
+export class CloudwatchEventBusPolicy extends cdktf.TerraformResource {
+
+ // ===========
+ // INITIALIZER
+ // ===========
+
+ /**
+ * Create a new {@link https://www.terraform.io/docs/providers/aws/r/cloudwatch_event_bus_policy.html aws_cloudwatch_event_bus_policy} Resource
+ *
+ * @param scope The scope in which to define this construct
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
+ * @param options CloudwatchEventBusPolicyConfig
+ */
+ public constructor(scope: Construct, id: string, config: CloudwatchEventBusPolicyConfig) {
+ super(scope, id, {
+ terraformResourceType: 'aws_cloudwatch_event_bus_policy',
+ terraformGeneratorMetadata: {
+ providerName: 'aws'
+ },
+ provider: config.provider,
+ dependsOn: config.dependsOn,
+ count: config.count,
+ lifecycle: config.lifecycle
+ });
+ this._eventBusName = config.eventBusName;
+ this._policy = config.policy;
+ }
+
+ // ==========
+ // ATTRIBUTES
+ // ==========
+
+ // event_bus_name - computed: false, optional: true, required: false
+ private _eventBusName?: string;
+ public get eventBusName() {
+ return this.getStringAttribute('event_bus_name');
+ }
+ public set eventBusName(value: string ) {
+ this._eventBusName = value;
+ }
+ public resetEventBusName() {
+ this._eventBusName = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get eventBusNameInput() {
+ return this._eventBusName
+ }
+
+ // id - computed: true, optional: true, required: false
+ public get id() {
+ return this.getStringAttribute('id');
+ }
+
+ // policy - computed: false, optional: false, required: true
+ private _policy: string;
+ public get policy() {
+ return this.getStringAttribute('policy');
+ }
+ public set policy(value: string) {
+ this._policy = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get policyInput() {
+ return this._policy
+ }
+
+ // =========
+ // SYNTHESIS
+ // =========
+
+ protected synthesizeAttributes(): { [name: string]: any } {
+ return {
+ event_bus_name: cdktf.stringToTerraform(this._eventBusName),
+ policy: cdktf.stringToTerraform(this._policy),
+ };
+ }
+}
diff --git a/src/data-aws-alb-target-group.ts b/src/data-aws-alb-target-group.ts
index 8676596db586..fb83d769c567 100644
--- a/src/data-aws-alb-target-group.ts
+++ b/src/data-aws-alb-target-group.ts
@@ -70,6 +70,11 @@ export class DataAwsAlbTargetGroupStickiness extends cdktf.ComplexComputedList {
return this.getNumberAttribute('cookie_duration');
}
+ // cookie_name - computed: true, optional: false, required: false
+ public get cookieName() {
+ return this.getStringAttribute('cookie_name');
+ }
+
// enabled - computed: true, optional: false, required: false
public get enabled() {
return this.getBooleanAttribute('enabled');
diff --git a/src/data-aws-lb-target-group.ts b/src/data-aws-lb-target-group.ts
index c715b96912ee..c583d1b78826 100644
--- a/src/data-aws-lb-target-group.ts
+++ b/src/data-aws-lb-target-group.ts
@@ -70,6 +70,11 @@ export class DataAwsLbTargetGroupStickiness extends cdktf.ComplexComputedList {
return this.getNumberAttribute('cookie_duration');
}
+ // cookie_name - computed: true, optional: false, required: false
+ public get cookieName() {
+ return this.getStringAttribute('cookie_name');
+ }
+
// enabled - computed: true, optional: false, required: false
public get enabled() {
return this.getBooleanAttribute('enabled');
diff --git a/src/data-aws-servicecatalog-product.ts b/src/data-aws-servicecatalog-product.ts
new file mode 100644
index 000000000000..e05b8d3bd757
--- /dev/null
+++ b/src/data-aws-servicecatalog-product.ts
@@ -0,0 +1,176 @@
+// https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html
+// generated from terraform resource schema
+
+import { Construct } from 'constructs';
+import * as cdktf from 'cdktf';
+
+// Configuration
+
+export interface DataAwsServicecatalogProductConfig extends cdktf.TerraformMetaArguments {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#accept_language DataAwsServicecatalogProduct#accept_language}
+ */
+ readonly acceptLanguage?: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#id DataAwsServicecatalogProduct#id}
+ */
+ readonly id: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html#tags DataAwsServicecatalogProduct#tags}
+ */
+ readonly tags?: { [key: string]: string };
+}
+
+/**
+* Represents a {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html aws_servicecatalog_product}
+*/
+export class DataAwsServicecatalogProduct extends cdktf.TerraformDataSource {
+
+ // ===========
+ // INITIALIZER
+ // ===========
+
+ /**
+ * Create a new {@link https://www.terraform.io/docs/providers/aws/d/servicecatalog_product.html aws_servicecatalog_product} Data Source
+ *
+ * @param scope The scope in which to define this construct
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
+ * @param options DataAwsServicecatalogProductConfig
+ */
+ public constructor(scope: Construct, id: string, config: DataAwsServicecatalogProductConfig) {
+ super(scope, id, {
+ terraformResourceType: 'aws_servicecatalog_product',
+ terraformGeneratorMetadata: {
+ providerName: 'aws'
+ },
+ provider: config.provider,
+ dependsOn: config.dependsOn,
+ count: config.count,
+ lifecycle: config.lifecycle
+ });
+ this._acceptLanguage = config.acceptLanguage;
+ this._id = config.id;
+ this._tags = config.tags;
+ }
+
+ // ==========
+ // ATTRIBUTES
+ // ==========
+
+ // accept_language - computed: false, optional: true, required: false
+ private _acceptLanguage?: string;
+ public get acceptLanguage() {
+ return this.getStringAttribute('accept_language');
+ }
+ public set acceptLanguage(value: string ) {
+ this._acceptLanguage = value;
+ }
+ public resetAcceptLanguage() {
+ this._acceptLanguage = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get acceptLanguageInput() {
+ return this._acceptLanguage
+ }
+
+ // arn - computed: true, optional: false, required: false
+ public get arn() {
+ return this.getStringAttribute('arn');
+ }
+
+ // created_time - computed: true, optional: false, required: false
+ public get createdTime() {
+ return this.getStringAttribute('created_time');
+ }
+
+ // description - computed: true, optional: false, required: false
+ public get description() {
+ return this.getStringAttribute('description');
+ }
+
+ // distributor - computed: true, optional: false, required: false
+ public get distributor() {
+ return this.getStringAttribute('distributor');
+ }
+
+ // has_default_path - computed: true, optional: false, required: false
+ public get hasDefaultPath() {
+ return this.getBooleanAttribute('has_default_path');
+ }
+
+ // id - computed: false, optional: false, required: true
+ private _id: string;
+ public get id() {
+ return this.getStringAttribute('id');
+ }
+ public set id(value: string) {
+ this._id = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get idInput() {
+ return this._id
+ }
+
+ // name - computed: true, optional: false, required: false
+ public get name() {
+ return this.getStringAttribute('name');
+ }
+
+ // owner - computed: true, optional: false, required: false
+ public get owner() {
+ return this.getStringAttribute('owner');
+ }
+
+ // status - computed: true, optional: false, required: false
+ public get status() {
+ return this.getStringAttribute('status');
+ }
+
+ // support_description - computed: true, optional: false, required: false
+ public get supportDescription() {
+ return this.getStringAttribute('support_description');
+ }
+
+ // support_email - computed: true, optional: false, required: false
+ public get supportEmail() {
+ return this.getStringAttribute('support_email');
+ }
+
+ // support_url - computed: true, optional: false, required: false
+ public get supportUrl() {
+ return this.getStringAttribute('support_url');
+ }
+
+ // tags - computed: true, optional: true, required: false
+ private _tags?: { [key: string]: string }
+ public get tags(): { [key: string]: string } {
+ return this.interpolationForAttribute('tags') as any; // Getting the computed value is not yet implemented
+ }
+ public set tags(value: { [key: string]: string }) {
+ this._tags = value;
+ }
+ public resetTags() {
+ this._tags = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get tagsInput() {
+ return this._tags
+ }
+
+ // type - computed: true, optional: false, required: false
+ public get type() {
+ return this.getStringAttribute('type');
+ }
+
+ // =========
+ // SYNTHESIS
+ // =========
+
+ protected synthesizeAttributes(): { [name: string]: any } {
+ return {
+ accept_language: cdktf.stringToTerraform(this._acceptLanguage),
+ id: cdktf.stringToTerraform(this._id),
+ tags: cdktf.hashMapper(cdktf.anyToTerraform)(this._tags),
+ };
+ }
+}
diff --git a/src/efs-backup-policy.ts b/src/efs-backup-policy.ts
new file mode 100644
index 000000000000..200079181afb
--- /dev/null
+++ b/src/efs-backup-policy.ts
@@ -0,0 +1,112 @@
+// https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html
+// generated from terraform resource schema
+
+import { Construct } from 'constructs';
+import * as cdktf from 'cdktf';
+
+// Configuration
+
+export interface EfsBackupPolicyConfig extends cdktf.TerraformMetaArguments {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#file_system_id EfsBackupPolicy#file_system_id}
+ */
+ readonly fileSystemId: string;
+ /**
+ * backup_policy block
+ *
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#backup_policy EfsBackupPolicy#backup_policy}
+ */
+ readonly backupPolicy: EfsBackupPolicyBackupPolicy[];
+}
+export interface EfsBackupPolicyBackupPolicy {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html#status EfsBackupPolicy#status}
+ */
+ readonly status: string;
+}
+
+function efsBackupPolicyBackupPolicyToTerraform(struct?: EfsBackupPolicyBackupPolicy): any {
+ if (!cdktf.canInspect(struct)) { return struct; }
+ return {
+ status: cdktf.stringToTerraform(struct!.status),
+ }
+}
+
+
+/**
+* Represents a {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html aws_efs_backup_policy}
+*/
+export class EfsBackupPolicy extends cdktf.TerraformResource {
+
+ // ===========
+ // INITIALIZER
+ // ===========
+
+ /**
+ * Create a new {@link https://www.terraform.io/docs/providers/aws/r/efs_backup_policy.html aws_efs_backup_policy} Resource
+ *
+ * @param scope The scope in which to define this construct
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
+ * @param options EfsBackupPolicyConfig
+ */
+ public constructor(scope: Construct, id: string, config: EfsBackupPolicyConfig) {
+ super(scope, id, {
+ terraformResourceType: 'aws_efs_backup_policy',
+ terraformGeneratorMetadata: {
+ providerName: 'aws'
+ },
+ provider: config.provider,
+ dependsOn: config.dependsOn,
+ count: config.count,
+ lifecycle: config.lifecycle
+ });
+ this._fileSystemId = config.fileSystemId;
+ this._backupPolicy = config.backupPolicy;
+ }
+
+ // ==========
+ // ATTRIBUTES
+ // ==========
+
+ // file_system_id - computed: false, optional: false, required: true
+ private _fileSystemId: string;
+ public get fileSystemId() {
+ return this.getStringAttribute('file_system_id');
+ }
+ public set fileSystemId(value: string) {
+ this._fileSystemId = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get fileSystemIdInput() {
+ return this._fileSystemId
+ }
+
+ // id - computed: true, optional: true, required: false
+ public get id() {
+ return this.getStringAttribute('id');
+ }
+
+ // backup_policy - computed: false, optional: false, required: true
+ private _backupPolicy: EfsBackupPolicyBackupPolicy[];
+ public get backupPolicy() {
+ return this.interpolationForAttribute('backup_policy') as any;
+ }
+ public set backupPolicy(value: EfsBackupPolicyBackupPolicy[]) {
+ this._backupPolicy = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get backupPolicyInput() {
+ return this._backupPolicy
+ }
+
+ // =========
+ // SYNTHESIS
+ // =========
+
+ protected synthesizeAttributes(): { [name: string]: any } {
+ return {
+ file_system_id: cdktf.stringToTerraform(this._fileSystemId),
+ backup_policy: cdktf.listMapper(efsBackupPolicyBackupPolicyToTerraform)(this._backupPolicy),
+ };
+ }
+}
diff --git a/src/elasticsearch-domain-saml-options.ts b/src/elasticsearch-domain-saml-options.ts
new file mode 100644
index 000000000000..bd70d961c26f
--- /dev/null
+++ b/src/elasticsearch-domain-saml-options.ts
@@ -0,0 +1,166 @@
+// https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html
+// generated from terraform resource schema
+
+import { Construct } from 'constructs';
+import * as cdktf from 'cdktf';
+
+// Configuration
+
+export interface ElasticsearchDomainSamlOptionsConfig extends cdktf.TerraformMetaArguments {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#domain_name ElasticsearchDomainSamlOptions#domain_name}
+ */
+ readonly domainName: string;
+ /**
+ * saml_options block
+ *
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#saml_options ElasticsearchDomainSamlOptions#saml_options}
+ */
+ readonly samlOptions?: ElasticsearchDomainSamlOptionsSamlOptions[];
+}
+export interface ElasticsearchDomainSamlOptionsSamlOptionsIdp {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#entity_id ElasticsearchDomainSamlOptions#entity_id}
+ */
+ readonly entityId: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#metadata_content ElasticsearchDomainSamlOptions#metadata_content}
+ */
+ readonly metadataContent: string;
+}
+
+function elasticsearchDomainSamlOptionsSamlOptionsIdpToTerraform(struct?: ElasticsearchDomainSamlOptionsSamlOptionsIdp): any {
+ if (!cdktf.canInspect(struct)) { return struct; }
+ return {
+ entity_id: cdktf.stringToTerraform(struct!.entityId),
+ metadata_content: cdktf.stringToTerraform(struct!.metadataContent),
+ }
+}
+
+export interface ElasticsearchDomainSamlOptionsSamlOptions {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#enabled ElasticsearchDomainSamlOptions#enabled}
+ */
+ readonly enabled?: boolean;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#master_backend_role ElasticsearchDomainSamlOptions#master_backend_role}
+ */
+ readonly masterBackendRole?: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#master_user_name ElasticsearchDomainSamlOptions#master_user_name}
+ */
+ readonly masterUserName?: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#roles_key ElasticsearchDomainSamlOptions#roles_key}
+ */
+ readonly rolesKey?: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#session_timeout_minutes ElasticsearchDomainSamlOptions#session_timeout_minutes}
+ */
+ readonly sessionTimeoutMinutes?: number;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#subject_key ElasticsearchDomainSamlOptions#subject_key}
+ */
+ readonly subjectKey?: string;
+ /**
+ * idp block
+ *
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html#idp ElasticsearchDomainSamlOptions#idp}
+ */
+ readonly idp?: ElasticsearchDomainSamlOptionsSamlOptionsIdp[];
+}
+
+function elasticsearchDomainSamlOptionsSamlOptionsToTerraform(struct?: ElasticsearchDomainSamlOptionsSamlOptions): any {
+ if (!cdktf.canInspect(struct)) { return struct; }
+ return {
+ enabled: cdktf.booleanToTerraform(struct!.enabled),
+ master_backend_role: cdktf.stringToTerraform(struct!.masterBackendRole),
+ master_user_name: cdktf.stringToTerraform(struct!.masterUserName),
+ roles_key: cdktf.stringToTerraform(struct!.rolesKey),
+ session_timeout_minutes: cdktf.numberToTerraform(struct!.sessionTimeoutMinutes),
+ subject_key: cdktf.stringToTerraform(struct!.subjectKey),
+ idp: cdktf.listMapper(elasticsearchDomainSamlOptionsSamlOptionsIdpToTerraform)(struct!.idp),
+ }
+}
+
+
+/**
+* Represents a {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html aws_elasticsearch_domain_saml_options}
+*/
+export class ElasticsearchDomainSamlOptions extends cdktf.TerraformResource {
+
+ // ===========
+ // INITIALIZER
+ // ===========
+
+ /**
+ * Create a new {@link https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain_saml_options.html aws_elasticsearch_domain_saml_options} Resource
+ *
+ * @param scope The scope in which to define this construct
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
+ * @param options ElasticsearchDomainSamlOptionsConfig
+ */
+ public constructor(scope: Construct, id: string, config: ElasticsearchDomainSamlOptionsConfig) {
+ super(scope, id, {
+ terraformResourceType: 'aws_elasticsearch_domain_saml_options',
+ terraformGeneratorMetadata: {
+ providerName: 'aws'
+ },
+ provider: config.provider,
+ dependsOn: config.dependsOn,
+ count: config.count,
+ lifecycle: config.lifecycle
+ });
+ this._domainName = config.domainName;
+ this._samlOptions = config.samlOptions;
+ }
+
+ // ==========
+ // ATTRIBUTES
+ // ==========
+
+ // domain_name - computed: false, optional: false, required: true
+ private _domainName: string;
+ public get domainName() {
+ return this.getStringAttribute('domain_name');
+ }
+ public set domainName(value: string) {
+ this._domainName = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get domainNameInput() {
+ return this._domainName
+ }
+
+ // id - computed: true, optional: true, required: false
+ public get id() {
+ return this.getStringAttribute('id');
+ }
+
+ // saml_options - computed: false, optional: true, required: false
+ private _samlOptions?: ElasticsearchDomainSamlOptionsSamlOptions[];
+ public get samlOptions() {
+ return this.interpolationForAttribute('saml_options') as any;
+ }
+ public set samlOptions(value: ElasticsearchDomainSamlOptionsSamlOptions[] ) {
+ this._samlOptions = value;
+ }
+ public resetSamlOptions() {
+ this._samlOptions = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get samlOptionsInput() {
+ return this._samlOptions
+ }
+
+ // =========
+ // SYNTHESIS
+ // =========
+
+ protected synthesizeAttributes(): { [name: string]: any } {
+ return {
+ domain_name: cdktf.stringToTerraform(this._domainName),
+ saml_options: cdktf.listMapper(elasticsearchDomainSamlOptionsSamlOptionsToTerraform)(this._samlOptions),
+ };
+ }
+}
diff --git a/src/glue-catalog-database.ts b/src/glue-catalog-database.ts
index bec8b441048c..9e295a606432 100644
--- a/src/glue-catalog-database.ts
+++ b/src/glue-catalog-database.ts
@@ -135,12 +135,12 @@ export class GlueCatalogDatabase extends cdktf.TerraformResource {
return this.getStringAttribute('id');
}
- // location_uri - computed: false, optional: true, required: false
+ // location_uri - computed: true, optional: true, required: false
private _locationUri?: string;
public get locationUri() {
return this.getStringAttribute('location_uri');
}
- public set locationUri(value: string ) {
+ public set locationUri(value: string) {
this._locationUri = value;
}
public resetLocationUri() {
diff --git a/src/index.ts b/src/index.ts
index 34b632932919..48ac7ae4a18a 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -119,6 +119,7 @@ export * from './cloudwatch-dashboard';
export * from './cloudwatch-event-api-destination';
export * from './cloudwatch-event-archive';
export * from './cloudwatch-event-bus';
+export * from './cloudwatch-event-bus-policy';
export * from './cloudwatch-event-connection';
export * from './cloudwatch-event-permission';
export * from './cloudwatch-event-rule';
@@ -280,6 +281,7 @@ export * from './ecs-cluster';
export * from './ecs-service';
export * from './ecs-task-definition';
export * from './efs-access-point';
+export * from './efs-backup-policy';
export * from './efs-file-system';
export * from './efs-file-system-policy';
export * from './efs-mount-target';
@@ -302,6 +304,7 @@ export * from './elasticache-security-group';
export * from './elasticache-subnet-group';
export * from './elasticsearch-domain';
export * from './elasticsearch-domain-policy';
+export * from './elasticsearch-domain-saml-options';
export * from './elastictranscoder-pipeline';
export * from './elastictranscoder-preset';
export * from './elb';
@@ -464,6 +467,7 @@ export * from './msk-scram-secret-association';
export * from './mwaa-environment';
export * from './nat-gateway';
export * from './neptune-cluster';
+export * from './neptune-cluster-endpoint';
export * from './neptune-cluster-instance';
export * from './neptune-cluster-parameter-group';
export * from './neptune-cluster-snapshot';
@@ -964,6 +968,7 @@ export * from './data-aws-serverlessapplicationrepository-application';
export * from './data-aws-service-discovery-dns-namespace';
export * from './data-aws-servicecatalog-constraint';
export * from './data-aws-servicecatalog-portfolio';
+export * from './data-aws-servicecatalog-product';
export * from './data-aws-servicequotas-service';
export * from './data-aws-servicequotas-service-quota';
export * from './data-aws-sfn-activity';
diff --git a/src/lb-target-group.ts b/src/lb-target-group.ts
index 4ec287d885cd..de47e13ec5ec 100644
--- a/src/lb-target-group.ts
+++ b/src/lb-target-group.ts
@@ -140,6 +140,10 @@ export interface LbTargetGroupStickiness {
*/
readonly cookieDuration?: number;
/**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#cookie_name LbTargetGroup#cookie_name}
+ */
+ readonly cookieName?: string;
+ /**
* Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/lb_target_group.html#enabled LbTargetGroup#enabled}
*/
readonly enabled?: boolean;
@@ -153,6 +157,7 @@ function lbTargetGroupStickinessToTerraform(struct?: LbTargetGroupStickiness): a
if (!cdktf.canInspect(struct)) { return struct; }
return {
cookie_duration: cdktf.numberToTerraform(struct!.cookieDuration),
+ cookie_name: cdktf.stringToTerraform(struct!.cookieName),
enabled: cdktf.booleanToTerraform(struct!.enabled),
type: cdktf.stringToTerraform(struct!.type),
}
diff --git a/src/neptune-cluster-endpoint.ts b/src/neptune-cluster-endpoint.ts
new file mode 100644
index 000000000000..707ad47bde5e
--- /dev/null
+++ b/src/neptune-cluster-endpoint.ts
@@ -0,0 +1,213 @@
+// https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html
+// generated from terraform resource schema
+
+import { Construct } from 'constructs';
+import * as cdktf from 'cdktf';
+
+// Configuration
+
+export interface NeptuneClusterEndpointConfig extends cdktf.TerraformMetaArguments {
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_endpoint_identifier NeptuneClusterEndpoint#cluster_endpoint_identifier}
+ */
+ readonly clusterEndpointIdentifier: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#cluster_identifier NeptuneClusterEndpoint#cluster_identifier}
+ */
+ readonly clusterIdentifier: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#endpoint_type NeptuneClusterEndpoint#endpoint_type}
+ */
+ readonly endpointType: string;
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#excluded_members NeptuneClusterEndpoint#excluded_members}
+ */
+ readonly excludedMembers?: string[];
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#static_members NeptuneClusterEndpoint#static_members}
+ */
+ readonly staticMembers?: string[];
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags NeptuneClusterEndpoint#tags}
+ */
+ readonly tags?: { [key: string]: string };
+ /**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html#tags_all NeptuneClusterEndpoint#tags_all}
+ */
+ readonly tagsAll?: { [key: string]: string };
+}
+
+/**
+* Represents a {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html aws_neptune_cluster_endpoint}
+*/
+export class NeptuneClusterEndpoint extends cdktf.TerraformResource {
+
+ // ===========
+ // INITIALIZER
+ // ===========
+
+ /**
+ * Create a new {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster_endpoint.html aws_neptune_cluster_endpoint} Resource
+ *
+ * @param scope The scope in which to define this construct
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
+ * @param options NeptuneClusterEndpointConfig
+ */
+ public constructor(scope: Construct, id: string, config: NeptuneClusterEndpointConfig) {
+ super(scope, id, {
+ terraformResourceType: 'aws_neptune_cluster_endpoint',
+ terraformGeneratorMetadata: {
+ providerName: 'aws'
+ },
+ provider: config.provider,
+ dependsOn: config.dependsOn,
+ count: config.count,
+ lifecycle: config.lifecycle
+ });
+ this._clusterEndpointIdentifier = config.clusterEndpointIdentifier;
+ this._clusterIdentifier = config.clusterIdentifier;
+ this._endpointType = config.endpointType;
+ this._excludedMembers = config.excludedMembers;
+ this._staticMembers = config.staticMembers;
+ this._tags = config.tags;
+ this._tagsAll = config.tagsAll;
+ }
+
+ // ==========
+ // ATTRIBUTES
+ // ==========
+
+ // arn - computed: true, optional: false, required: false
+ public get arn() {
+ return this.getStringAttribute('arn');
+ }
+
+ // cluster_endpoint_identifier - computed: false, optional: false, required: true
+ private _clusterEndpointIdentifier: string;
+ public get clusterEndpointIdentifier() {
+ return this.getStringAttribute('cluster_endpoint_identifier');
+ }
+ public set clusterEndpointIdentifier(value: string) {
+ this._clusterEndpointIdentifier = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get clusterEndpointIdentifierInput() {
+ return this._clusterEndpointIdentifier
+ }
+
+ // cluster_identifier - computed: false, optional: false, required: true
+ private _clusterIdentifier: string;
+ public get clusterIdentifier() {
+ return this.getStringAttribute('cluster_identifier');
+ }
+ public set clusterIdentifier(value: string) {
+ this._clusterIdentifier = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get clusterIdentifierInput() {
+ return this._clusterIdentifier
+ }
+
+ // endpoint - computed: true, optional: false, required: false
+ public get endpoint() {
+ return this.getStringAttribute('endpoint');
+ }
+
+ // endpoint_type - computed: false, optional: false, required: true
+ private _endpointType: string;
+ public get endpointType() {
+ return this.getStringAttribute('endpoint_type');
+ }
+ public set endpointType(value: string) {
+ this._endpointType = value;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get endpointTypeInput() {
+ return this._endpointType
+ }
+
+ // excluded_members - computed: false, optional: true, required: false
+ private _excludedMembers?: string[];
+ public get excludedMembers() {
+ return this.getListAttribute('excluded_members');
+ }
+ public set excludedMembers(value: string[] ) {
+ this._excludedMembers = value;
+ }
+ public resetExcludedMembers() {
+ this._excludedMembers = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get excludedMembersInput() {
+ return this._excludedMembers
+ }
+
+ // id - computed: true, optional: true, required: false
+ public get id() {
+ return this.getStringAttribute('id');
+ }
+
+ // static_members - computed: false, optional: true, required: false
+ private _staticMembers?: string[];
+ public get staticMembers() {
+ return this.getListAttribute('static_members');
+ }
+ public set staticMembers(value: string[] ) {
+ this._staticMembers = value;
+ }
+ public resetStaticMembers() {
+ this._staticMembers = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get staticMembersInput() {
+ return this._staticMembers
+ }
+
+ // tags - computed: false, optional: true, required: false
+ private _tags?: { [key: string]: string };
+ public get tags() {
+ return this.interpolationForAttribute('tags') as any;
+ }
+ public set tags(value: { [key: string]: string } ) {
+ this._tags = value;
+ }
+ public resetTags() {
+ this._tags = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get tagsInput() {
+ return this._tags
+ }
+
+ // tags_all - computed: true, optional: true, required: false
+ private _tagsAll?: { [key: string]: string }
+ public get tagsAll(): { [key: string]: string } {
+ return this.interpolationForAttribute('tags_all') as any; // Getting the computed value is not yet implemented
+ }
+ public set tagsAll(value: { [key: string]: string }) {
+ this._tagsAll = value;
+ }
+ public resetTagsAll() {
+ this._tagsAll = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get tagsAllInput() {
+ return this._tagsAll
+ }
+
+ // =========
+ // SYNTHESIS
+ // =========
+
+ protected synthesizeAttributes(): { [name: string]: any } {
+ return {
+ cluster_endpoint_identifier: cdktf.stringToTerraform(this._clusterEndpointIdentifier),
+ cluster_identifier: cdktf.stringToTerraform(this._clusterIdentifier),
+ endpoint_type: cdktf.stringToTerraform(this._endpointType),
+ excluded_members: cdktf.listMapper(cdktf.stringToTerraform)(this._excludedMembers),
+ static_members: cdktf.listMapper(cdktf.stringToTerraform)(this._staticMembers),
+ tags: cdktf.hashMapper(cdktf.anyToTerraform)(this._tags),
+ tags_all: cdktf.hashMapper(cdktf.anyToTerraform)(this._tagsAll),
+ };
+ }
+}
diff --git a/src/neptune-cluster.ts b/src/neptune-cluster.ts
index 626bfa92e3c5..c756d66c9bce 100644
--- a/src/neptune-cluster.ts
+++ b/src/neptune-cluster.ts
@@ -28,6 +28,10 @@ export interface NeptuneClusterConfig extends cdktf.TerraformMetaArguments {
*/
readonly clusterIdentifierPrefix?: string;
/**
+ * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#copy_tags_to_snapshot NeptuneCluster#copy_tags_to_snapshot}
+ */
+ readonly copyTagsToSnapshot?: boolean;
+ /**
* Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/aws/r/neptune_cluster.html#deletion_protection NeptuneCluster#deletion_protection}
*/
readonly deletionProtection?: boolean;
@@ -171,6 +175,7 @@ export class NeptuneCluster extends cdktf.TerraformResource {
this._backupRetentionPeriod = config.backupRetentionPeriod;
this._clusterIdentifier = config.clusterIdentifier;
this._clusterIdentifierPrefix = config.clusterIdentifierPrefix;
+ this._copyTagsToSnapshot = config.copyTagsToSnapshot;
this._deletionProtection = config.deletionProtection;
this._enableCloudwatchLogsExports = config.enableCloudwatchLogsExports;
this._engine = config.engine;
@@ -293,6 +298,22 @@ export class NeptuneCluster extends cdktf.TerraformResource {
return this.getStringAttribute('cluster_resource_id');
}
+ // copy_tags_to_snapshot - computed: false, optional: true, required: false
+ private _copyTagsToSnapshot?: boolean;
+ public get copyTagsToSnapshot() {
+ return this.getBooleanAttribute('copy_tags_to_snapshot');
+ }
+ public set copyTagsToSnapshot(value: boolean ) {
+ this._copyTagsToSnapshot = value;
+ }
+ public resetCopyTagsToSnapshot() {
+ this._copyTagsToSnapshot = undefined;
+ }
+ // Temporarily expose input value. Use with caution.
+ public get copyTagsToSnapshotInput() {
+ return this._copyTagsToSnapshot
+ }
+
// deletion_protection - computed: false, optional: true, required: false
private _deletionProtection?: boolean;
public get deletionProtection() {
@@ -660,6 +681,7 @@ export class NeptuneCluster extends cdktf.TerraformResource {
backup_retention_period: cdktf.numberToTerraform(this._backupRetentionPeriod),
cluster_identifier: cdktf.stringToTerraform(this._clusterIdentifier),
cluster_identifier_prefix: cdktf.stringToTerraform(this._clusterIdentifierPrefix),
+ copy_tags_to_snapshot: cdktf.booleanToTerraform(this._copyTagsToSnapshot),
deletion_protection: cdktf.booleanToTerraform(this._deletionProtection),
enable_cloudwatch_logs_exports: cdktf.listMapper(cdktf.stringToTerraform)(this._enableCloudwatchLogsExports),
engine: cdktf.stringToTerraform(this._engine),