UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,032 lines 148 kB
"use strict"; var _a, _b, _c; Object.defineProperty(exports, "__esModule", { value: true }); exports.NeptuneCluster = exports.NeptuneClusterTimeoutsOutputReference = exports.neptuneClusterTimeoutsToHclTerraform = exports.neptuneClusterTimeoutsToTerraform = exports.NeptuneClusterServerlessV2ScalingConfigurationOutputReference = exports.neptuneClusterServerlessV2ScalingConfigurationToHclTerraform = exports.neptuneClusterServerlessV2ScalingConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function neptuneClusterServerlessV2ScalingConfigurationToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { max_capacity: cdktf.numberToTerraform(struct.maxCapacity), min_capacity: cdktf.numberToTerraform(struct.minCapacity), }; } exports.neptuneClusterServerlessV2ScalingConfigurationToTerraform = neptuneClusterServerlessV2ScalingConfigurationToTerraform; function neptuneClusterServerlessV2ScalingConfigurationToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { max_capacity: { value: cdktf.numberToHclTerraform(struct.maxCapacity), isBlock: false, type: "simple", storageClassType: "number", }, min_capacity: { value: cdktf.numberToHclTerraform(struct.minCapacity), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.neptuneClusterServerlessV2ScalingConfigurationToHclTerraform = neptuneClusterServerlessV2ScalingConfigurationToHclTerraform; class NeptuneClusterServerlessV2ScalingConfigurationOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._maxCapacity !== undefined) { hasAnyValues = true; internalValueResult.maxCapacity = this._maxCapacity; } if (this._minCapacity !== undefined) { hasAnyValues = true; internalValueResult.minCapacity = this._minCapacity; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxCapacity = undefined; this._minCapacity = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxCapacity = value.maxCapacity; this._minCapacity = value.minCapacity; } } get maxCapacity() { return this.getNumberAttribute('max_capacity'); } set maxCapacity(value) { this._maxCapacity = value; } resetMaxCapacity() { this._maxCapacity = undefined; } // Temporarily expose input value. Use with caution. get maxCapacityInput() { return this._maxCapacity; } get minCapacity() { return this.getNumberAttribute('min_capacity'); } set minCapacity(value) { this._minCapacity = value; } resetMinCapacity() { this._minCapacity = undefined; } // Temporarily expose input value. Use with caution. get minCapacityInput() { return this._minCapacity; } } exports.NeptuneClusterServerlessV2ScalingConfigurationOutputReference = NeptuneClusterServerlessV2ScalingConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; NeptuneClusterServerlessV2ScalingConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.neptuneCluster.NeptuneClusterServerlessV2ScalingConfigurationOutputReference", version: "19.50.0" }; function neptuneClusterTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } exports.neptuneClusterTimeoutsToTerraform = neptuneClusterTimeoutsToTerraform; function neptuneClusterTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.neptuneClusterTimeoutsToHclTerraform = neptuneClusterTimeoutsToHclTerraform; class NeptuneClusterTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.NeptuneClusterTimeoutsOutputReference = NeptuneClusterTimeoutsOutputReference; _b = JSII_RTTI_SYMBOL_1; NeptuneClusterTimeoutsOutputReference[_b] = { fqn: "@cdktf/provider-aws.neptuneCluster.NeptuneClusterTimeoutsOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/neptune_cluster aws_neptune_cluster} */ class NeptuneCluster extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a NeptuneCluster resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the NeptuneCluster to import * @param importFromId The id of the existing NeptuneCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/neptune_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NeptuneCluster to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_neptune_cluster", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/neptune_cluster aws_neptune_cluster} 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 NeptuneClusterConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_neptune_cluster', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // serverless_v2_scaling_configuration - computed: false, optional: true, required: false this._serverlessV2ScalingConfiguration = new NeptuneClusterServerlessV2ScalingConfigurationOutputReference(this, "serverless_v2_scaling_configuration"); // timeouts - computed: false, optional: true, required: false this._timeouts = new NeptuneClusterTimeoutsOutputReference(this, "timeouts"); this._allowMajorVersionUpgrade = config.allowMajorVersionUpgrade; this._applyImmediately = config.applyImmediately; this._availabilityZones = config.availabilityZones; 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; this._engineVersion = config.engineVersion; this._finalSnapshotIdentifier = config.finalSnapshotIdentifier; this._globalClusterIdentifier = config.globalClusterIdentifier; this._iamDatabaseAuthenticationEnabled = config.iamDatabaseAuthenticationEnabled; this._iamRoles = config.iamRoles; this._id = config.id; this._kmsKeyArn = config.kmsKeyArn; this._neptuneClusterParameterGroupName = config.neptuneClusterParameterGroupName; this._neptuneInstanceParameterGroupName = config.neptuneInstanceParameterGroupName; this._neptuneSubnetGroupName = config.neptuneSubnetGroupName; this._port = config.port; this._preferredBackupWindow = config.preferredBackupWindow; this._preferredMaintenanceWindow = config.preferredMaintenanceWindow; this._replicationSourceIdentifier = config.replicationSourceIdentifier; this._skipFinalSnapshot = config.skipFinalSnapshot; this._snapshotIdentifier = config.snapshotIdentifier; this._storageEncrypted = config.storageEncrypted; this._storageType = config.storageType; this._tags = config.tags; this._tagsAll = config.tagsAll; this._vpcSecurityGroupIds = config.vpcSecurityGroupIds; this._serverlessV2ScalingConfiguration.internalValue = config.serverlessV2ScalingConfiguration; this._timeouts.internalValue = config.timeouts; } get allowMajorVersionUpgrade() { return this.getBooleanAttribute('allow_major_version_upgrade'); } set allowMajorVersionUpgrade(value) { this._allowMajorVersionUpgrade = value; } resetAllowMajorVersionUpgrade() { this._allowMajorVersionUpgrade = undefined; } // Temporarily expose input value. Use with caution. get allowMajorVersionUpgradeInput() { return this._allowMajorVersionUpgrade; } get applyImmediately() { return this.getBooleanAttribute('apply_immediately'); } set applyImmediately(value) { this._applyImmediately = value; } resetApplyImmediately() { this._applyImmediately = undefined; } // Temporarily expose input value. Use with caution. get applyImmediatelyInput() { return this._applyImmediately; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get availabilityZones() { return cdktf.Fn.tolist(this.getListAttribute('availability_zones')); } set availabilityZones(value) { this._availabilityZones = value; } resetAvailabilityZones() { this._availabilityZones = undefined; } // Temporarily expose input value. Use with caution. get availabilityZonesInput() { return this._availabilityZones; } get backupRetentionPeriod() { return this.getNumberAttribute('backup_retention_period'); } set backupRetentionPeriod(value) { this._backupRetentionPeriod = value; } resetBackupRetentionPeriod() { this._backupRetentionPeriod = undefined; } // Temporarily expose input value. Use with caution. get backupRetentionPeriodInput() { return this._backupRetentionPeriod; } get clusterIdentifier() { return this.getStringAttribute('cluster_identifier'); } set clusterIdentifier(value) { this._clusterIdentifier = value; } resetClusterIdentifier() { this._clusterIdentifier = undefined; } // Temporarily expose input value. Use with caution. get clusterIdentifierInput() { return this._clusterIdentifier; } get clusterIdentifierPrefix() { return this.getStringAttribute('cluster_identifier_prefix'); } set clusterIdentifierPrefix(value) { this._clusterIdentifierPrefix = value; } resetClusterIdentifierPrefix() { this._clusterIdentifierPrefix = undefined; } // Temporarily expose input value. Use with caution. get clusterIdentifierPrefixInput() { return this._clusterIdentifierPrefix; } // cluster_members - computed: true, optional: false, required: false get clusterMembers() { return cdktf.Fn.tolist(this.getListAttribute('cluster_members')); } // cluster_resource_id - computed: true, optional: false, required: false get clusterResourceId() { return this.getStringAttribute('cluster_resource_id'); } get copyTagsToSnapshot() { return this.getBooleanAttribute('copy_tags_to_snapshot'); } set copyTagsToSnapshot(value) { this._copyTagsToSnapshot = value; } resetCopyTagsToSnapshot() { this._copyTagsToSnapshot = undefined; } // Temporarily expose input value. Use with caution. get copyTagsToSnapshotInput() { return this._copyTagsToSnapshot; } get deletionProtection() { return this.getBooleanAttribute('deletion_protection'); } set deletionProtection(value) { this._deletionProtection = value; } resetDeletionProtection() { this._deletionProtection = undefined; } // Temporarily expose input value. Use with caution. get deletionProtectionInput() { return this._deletionProtection; } get enableCloudwatchLogsExports() { return cdktf.Fn.tolist(this.getListAttribute('enable_cloudwatch_logs_exports')); } set enableCloudwatchLogsExports(value) { this._enableCloudwatchLogsExports = value; } resetEnableCloudwatchLogsExports() { this._enableCloudwatchLogsExports = undefined; } // Temporarily expose input value. Use with caution. get enableCloudwatchLogsExportsInput() { return this._enableCloudwatchLogsExports; } // endpoint - computed: true, optional: false, required: false get endpoint() { return this.getStringAttribute('endpoint'); } get engine() { return this.getStringAttribute('engine'); } set engine(value) { this._engine = value; } resetEngine() { this._engine = undefined; } // Temporarily expose input value. Use with caution. get engineInput() { return this._engine; } get engineVersion() { return this.getStringAttribute('engine_version'); } set engineVersion(value) { this._engineVersion = value; } resetEngineVersion() { this._engineVersion = undefined; } // Temporarily expose input value. Use with caution. get engineVersionInput() { return this._engineVersion; } get finalSnapshotIdentifier() { return this.getStringAttribute('final_snapshot_identifier'); } set finalSnapshotIdentifier(value) { this._finalSnapshotIdentifier = value; } resetFinalSnapshotIdentifier() { this._finalSnapshotIdentifier = undefined; } // Temporarily expose input value. Use with caution. get finalSnapshotIdentifierInput() { return this._finalSnapshotIdentifier; } get globalClusterIdentifier() { return this.getStringAttribute('global_cluster_identifier'); } set globalClusterIdentifier(value) { this._globalClusterIdentifier = value; } resetGlobalClusterIdentifier() { this._globalClusterIdentifier = undefined; } // Temporarily expose input value. Use with caution. get globalClusterIdentifierInput() { return this._globalClusterIdentifier; } // hosted_zone_id - computed: true, optional: false, required: false get hostedZoneId() { return this.getStringAttribute('hosted_zone_id'); } get iamDatabaseAuthenticationEnabled() { return this.getBooleanAttribute('iam_database_authentication_enabled'); } set iamDatabaseAuthenticationEnabled(value) { this._iamDatabaseAuthenticationEnabled = value; } resetIamDatabaseAuthenticationEnabled() { this._iamDatabaseAuthenticationEnabled = undefined; } // Temporarily expose input value. Use with caution. get iamDatabaseAuthenticationEnabledInput() { return this._iamDatabaseAuthenticationEnabled; } get iamRoles() { return cdktf.Fn.tolist(this.getListAttribute('iam_roles')); } set iamRoles(value) { this._iamRoles = value; } resetIamRoles() { this._iamRoles = undefined; } // Temporarily expose input value. Use with caution. get iamRolesInput() { return this._iamRoles; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } resetKmsKeyArn() { this._kmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } get neptuneClusterParameterGroupName() { return this.getStringAttribute('neptune_cluster_parameter_group_name'); } set neptuneClusterParameterGroupName(value) { this._neptuneClusterParameterGroupName = value; } resetNeptuneClusterParameterGroupName() { this._neptuneClusterParameterGroupName = undefined; } // Temporarily expose input value. Use with caution. get neptuneClusterParameterGroupNameInput() { return this._neptuneClusterParameterGroupName; } get neptuneInstanceParameterGroupName() { return this.getStringAttribute('neptune_instance_parameter_group_name'); } set neptuneInstanceParameterGroupName(value) { this._neptuneInstanceParameterGroupName = value; } resetNeptuneInstanceParameterGroupName() { this._neptuneInstanceParameterGroupName = undefined; } // Temporarily expose input value. Use with caution. get neptuneInstanceParameterGroupNameInput() { return this._neptuneInstanceParameterGroupName; } get neptuneSubnetGroupName() { return this.getStringAttribute('neptune_subnet_group_name'); } set neptuneSubnetGroupName(value) { this._neptuneSubnetGroupName = value; } resetNeptuneSubnetGroupName() { this._neptuneSubnetGroupName = undefined; } // Temporarily expose input value. Use with caution. get neptuneSubnetGroupNameInput() { return this._neptuneSubnetGroupName; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get preferredBackupWindow() { return this.getStringAttribute('preferred_backup_window'); } set preferredBackupWindow(value) { this._preferredBackupWindow = value; } resetPreferredBackupWindow() { this._preferredBackupWindow = undefined; } // Temporarily expose input value. Use with caution. get preferredBackupWindowInput() { return this._preferredBackupWindow; } get preferredMaintenanceWindow() { return this.getStringAttribute('preferred_maintenance_window'); } set preferredMaintenanceWindow(value) { this._preferredMaintenanceWindow = value; } resetPreferredMaintenanceWindow() { this._preferredMaintenanceWindow = undefined; } // Temporarily expose input value. Use with caution. get preferredMaintenanceWindowInput() { return this._preferredMaintenanceWindow; } // reader_endpoint - computed: true, optional: false, required: false get readerEndpoint() { return this.getStringAttribute('reader_endpoint'); } get replicationSourceIdentifier() { return this.getStringAttribute('replication_source_identifier'); } set replicationSourceIdentifier(value) { this._replicationSourceIdentifier = value; } resetReplicationSourceIdentifier() { this._replicationSourceIdentifier = undefined; } // Temporarily expose input value. Use with caution. get replicationSourceIdentifierInput() { return this._replicationSourceIdentifier; } get skipFinalSnapshot() { return this.getBooleanAttribute('skip_final_snapshot'); } set skipFinalSnapshot(value) { this._skipFinalSnapshot = value; } resetSkipFinalSnapshot() { this._skipFinalSnapshot = undefined; } // Temporarily expose input value. Use with caution. get skipFinalSnapshotInput() { return this._skipFinalSnapshot; } get snapshotIdentifier() { return this.getStringAttribute('snapshot_identifier'); } set snapshotIdentifier(value) { this._snapshotIdentifier = value; } resetSnapshotIdentifier() { this._snapshotIdentifier = undefined; } // Temporarily expose input value. Use with caution. get snapshotIdentifierInput() { return this._snapshotIdentifier; } get storageEncrypted() { return this.getBooleanAttribute('storage_encrypted'); } set storageEncrypted(value) { this._storageEncrypted = value; } resetStorageEncrypted() { this._storageEncrypted = undefined; } // Temporarily expose input value. Use with caution. get storageEncryptedInput() { return this._storageEncrypted; } get storageType() { return this.getStringAttribute('storage_type'); } set storageType(value) { this._storageType = value; } resetStorageType() { this._storageType = undefined; } // Temporarily expose input value. Use with caution. get storageTypeInput() { return this._storageType; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } get vpcSecurityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('vpc_security_group_ids')); } set vpcSecurityGroupIds(value) { this._vpcSecurityGroupIds = value; } resetVpcSecurityGroupIds() { this._vpcSecurityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get vpcSecurityGroupIdsInput() { return this._vpcSecurityGroupIds; } get serverlessV2ScalingConfiguration() { return this._serverlessV2ScalingConfiguration; } putServerlessV2ScalingConfiguration(value) { this._serverlessV2ScalingConfiguration.internalValue = value; } resetServerlessV2ScalingConfiguration() { this._serverlessV2ScalingConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get serverlessV2ScalingConfigurationInput() { return this._serverlessV2ScalingConfiguration.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { allow_major_version_upgrade: cdktf.booleanToTerraform(this._allowMajorVersionUpgrade), apply_immediately: cdktf.booleanToTerraform(this._applyImmediately), availability_zones: cdktf.listMapper(cdktf.stringToTerraform, false)(this._availabilityZones), 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, false)(this._enableCloudwatchLogsExports), engine: cdktf.stringToTerraform(this._engine), engine_version: cdktf.stringToTerraform(this._engineVersion), final_snapshot_identifier: cdktf.stringToTerraform(this._finalSnapshotIdentifier), global_cluster_identifier: cdktf.stringToTerraform(this._globalClusterIdentifier), iam_database_authentication_enabled: cdktf.booleanToTerraform(this._iamDatabaseAuthenticationEnabled), iam_roles: cdktf.listMapper(cdktf.stringToTerraform, false)(this._iamRoles), id: cdktf.stringToTerraform(this._id), kms_key_arn: cdktf.stringToTerraform(this._kmsKeyArn), neptune_cluster_parameter_group_name: cdktf.stringToTerraform(this._neptuneClusterParameterGroupName), neptune_instance_parameter_group_name: cdktf.stringToTerraform(this._neptuneInstanceParameterGroupName), neptune_subnet_group_name: cdktf.stringToTerraform(this._neptuneSubnetGroupName), port: cdktf.numberToTerraform(this._port), preferred_backup_window: cdktf.stringToTerraform(this._preferredBackupWindow), preferred_maintenance_window: cdktf.stringToTerraform(this._preferredMaintenanceWindow), replication_source_identifier: cdktf.stringToTerraform(this._replicationSourceIdentifier), skip_final_snapshot: cdktf.booleanToTerraform(this._skipFinalSnapshot), snapshot_identifier: cdktf.stringToTerraform(this._snapshotIdentifier), storage_encrypted: cdktf.booleanToTerraform(this._storageEncrypted), storage_type: cdktf.stringToTerraform(this._storageType), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), vpc_security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._vpcSecurityGroupIds), serverless_v2_scaling_configuration: neptuneClusterServerlessV2ScalingConfigurationToTerraform(this._serverlessV2ScalingConfiguration.internalValue), timeouts: neptuneClusterTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { allow_major_version_upgrade: { value: cdktf.booleanToHclTerraform(this._allowMajorVersionUpgrade), isBlock: false, type: "simple", storageClassType: "boolean", }, apply_immediately: { value: cdktf.booleanToHclTerraform(this._applyImmediately), isBlock: false, type: "simple", storageClassType: "boolean", }, availability_zones: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._availabilityZones), isBlock: false, type: "set", storageClassType: "stringList", }, backup_retention_period: { value: cdktf.numberToHclTerraform(this._backupRetentionPeriod), isBlock: false, type: "simple", storageClassType: "number", }, cluster_identifier: { value: cdktf.stringToHclTerraform(this._clusterIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, cluster_identifier_prefix: { value: cdktf.stringToHclTerraform(this._clusterIdentifierPrefix), isBlock: false, type: "simple", storageClassType: "string", }, copy_tags_to_snapshot: { value: cdktf.booleanToHclTerraform(this._copyTagsToSnapshot), isBlock: false, type: "simple", storageClassType: "boolean", }, deletion_protection: { value: cdktf.booleanToHclTerraform(this._deletionProtection), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_cloudwatch_logs_exports: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._enableCloudwatchLogsExports), isBlock: false, type: "set", storageClassType: "stringList", }, engine: { value: cdktf.stringToHclTerraform(this._engine), isBlock: false, type: "simple", storageClassType: "string", }, engine_version: { value: cdktf.stringToHclTerraform(this._engineVersion), isBlock: false, type: "simple", storageClassType: "string", }, final_snapshot_identifier: { value: cdktf.stringToHclTerraform(this._finalSnapshotIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, global_cluster_identifier: { value: cdktf.stringToHclTerraform(this._globalClusterIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, iam_database_authentication_enabled: { value: cdktf.booleanToHclTerraform(this._iamDatabaseAuthenticationEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, iam_roles: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._iamRoles), isBlock: false, type: "set", storageClassType: "stringList", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_arn: { value: cdktf.stringToHclTerraform(this._kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, neptune_cluster_parameter_group_name: { value: cdktf.stringToHclTerraform(this._neptuneClusterParameterGroupName), isBlock: false, type: "simple", storageClassType: "string", }, neptune_instance_parameter_group_name: { value: cdktf.stringToHclTerraform(this._neptuneInstanceParameterGroupName), isBlock: false, type: "simple", storageClassType: "string", }, neptune_subnet_group_name: { value: cdktf.stringToHclTerraform(this._neptuneSubnetGroupName), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(this._port), isBlock: false, type: "simple", storageClassType: "number", }, preferred_backup_window: { value: cdktf.stringToHclTerraform(this._preferredBackupWindow), isBlock: false, type: "simple", storageClassType: "string", }, preferred_maintenance_window: { value: cdktf.stringToHclTerraform(this._preferredMaintenanceWindow), isBlock: false, type: "simple", storageClassType: "string", }, replication_source_identifier: { value: cdktf.stringToHclTerraform(this._replicationSourceIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, skip_final_snapshot: { value: cdktf.booleanToHclTerraform(this._skipFinalSnapshot), isBlock: false, type: "simple", storageClassType: "boolean", }, snapshot_identifier: { value: cdktf.stringToHclTerraform(this._snapshotIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, storage_encrypted: { value: cdktf.booleanToHclTerraform(this._storageEncrypted), isBlock: false, type: "simple", storageClassType: "boolean", }, storage_type: { value: cdktf.stringToHclTerraform(this._storageType), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, vpc_security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._vpcSecurityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, serverless_v2_scaling_configuration: { value: neptuneClusterServerlessV2ScalingConfigurationToHclTerraform(this._serverlessV2ScalingConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "NeptuneClusterServerlessV2ScalingConfigurationList", }, timeouts: { value: neptuneClusterTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "NeptuneClusterTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.NeptuneCluster = NeptuneCluster; _c = JSII_RTTI_SYMBOL_1; NeptuneCluster[_c] = { fqn: "@cdktf/provider-aws.neptuneCluster.NeptuneCluster", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= NeptuneCluster.tfResourceType = "aws_neptune_cluster"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmVwdHVuZS1jbHVzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBNEovQixTQUFnQix5REFBeUQsQ0FBQyxNQUF1SDtJQUMvTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFELFlBQVksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztLQUMzRCxDQUFBO0FBQ0gsQ0FBQztBQVRELDhIQVNDO0FBR0QsU0FBZ0IsNERBQTRELENBQUMsTUFBdUg7SUFDbE0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixZQUFZLEVBQUU7WUFDWixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFD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