@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,053 lines • 150 kB
JavaScript
"use strict";
var _a, _b, _c;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NeptuneCluster = exports.NeptuneClusterTimeoutsOutputReference = exports.NeptuneClusterServerlessV2ScalingConfigurationOutputReference = void 0;
exports.neptuneClusterServerlessV2ScalingConfigurationToTerraform = neptuneClusterServerlessV2ScalingConfigurationToTerraform;
exports.neptuneClusterServerlessV2ScalingConfigurationToHclTerraform = neptuneClusterServerlessV2ScalingConfigurationToHclTerraform;
exports.neptuneClusterTimeoutsToTerraform = neptuneClusterTimeoutsToTerraform;
exports.neptuneClusterTimeoutsToHclTerraform = neptuneClusterTimeoutsToHclTerraform;
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '6.25.0',
providerVersionConstraint: '~> 6.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._region = config.region;
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 region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
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),
region: cdktf.stringToTerraform(this._region),
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",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
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: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
NeptuneCluster.tfResourceType = "aws_neptune_cluster";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmVwdHVuZS1jbHVzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUEyS0EsOEhBU0M7QUFHRCxvSUFzQkM7QUF1RkQsOEVBVUM7QUFHRCxvRkE0QkM7O0FBcFVELCtCQUErQjtBQWtLL0IsU0FBZ0IseURBQXlELENBQUMsTUFBdUg7SUFDL0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFlBQVksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztRQUMxRCxZQUFZLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUM7S0FDM0QsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw0REFBNEQsQ0FBQyxNQUF1SDtJQUNsTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFlBQVksRUFB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