UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

1,262 lines (1,261 loc) 220 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.ManagedDatabaseValkey = exports.ManagedDatabaseValkeyPropertiesOutputReference = exports.ManagedDatabaseValkeyPropertiesMigrationOutputReference = exports.ManagedDatabaseValkeyNetworkList = exports.ManagedDatabaseValkeyNetworkOutputReference = exports.ManagedDatabaseValkeyNodeStatesList = exports.ManagedDatabaseValkeyNodeStatesOutputReference = exports.ManagedDatabaseValkeyComponentsList = exports.ManagedDatabaseValkeyComponentsOutputReference = void 0; exports.managedDatabaseValkeyComponentsToTerraform = managedDatabaseValkeyComponentsToTerraform; exports.managedDatabaseValkeyComponentsToHclTerraform = managedDatabaseValkeyComponentsToHclTerraform; exports.managedDatabaseValkeyNodeStatesToTerraform = managedDatabaseValkeyNodeStatesToTerraform; exports.managedDatabaseValkeyNodeStatesToHclTerraform = managedDatabaseValkeyNodeStatesToHclTerraform; exports.managedDatabaseValkeyNetworkToTerraform = managedDatabaseValkeyNetworkToTerraform; exports.managedDatabaseValkeyNetworkToHclTerraform = managedDatabaseValkeyNetworkToHclTerraform; exports.managedDatabaseValkeyPropertiesMigrationToTerraform = managedDatabaseValkeyPropertiesMigrationToTerraform; exports.managedDatabaseValkeyPropertiesMigrationToHclTerraform = managedDatabaseValkeyPropertiesMigrationToHclTerraform; exports.managedDatabaseValkeyPropertiesToTerraform = managedDatabaseValkeyPropertiesToTerraform; exports.managedDatabaseValkeyPropertiesToHclTerraform = managedDatabaseValkeyPropertiesToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function managedDatabaseValkeyComponentsToTerraform(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 {}; } function managedDatabaseValkeyComponentsToHclTerraform(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 = {}; return attrs; } class ManagedDatabaseValkeyComponentsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // component - computed: true, optional: false, required: false get component() { return this.getStringAttribute('component'); } // host - computed: true, optional: false, required: false get host() { return this.getStringAttribute('host'); } // port - computed: true, optional: false, required: false get port() { return this.getNumberAttribute('port'); } // route - computed: true, optional: false, required: false get route() { return this.getStringAttribute('route'); } // usage - computed: true, optional: false, required: false get usage() { return this.getStringAttribute('usage'); } } exports.ManagedDatabaseValkeyComponentsOutputReference = ManagedDatabaseValkeyComponentsOutputReference; _a = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyComponentsOutputReference[_a] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyComponentsOutputReference", version: "15.1.3" }; class ManagedDatabaseValkeyComponentsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new ManagedDatabaseValkeyComponentsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ManagedDatabaseValkeyComponentsList = ManagedDatabaseValkeyComponentsList; _b = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyComponentsList[_b] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyComponentsList", version: "15.1.3" }; function managedDatabaseValkeyNodeStatesToTerraform(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 {}; } function managedDatabaseValkeyNodeStatesToHclTerraform(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 = {}; return attrs; } class ManagedDatabaseValkeyNodeStatesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } // role - computed: true, optional: false, required: false get role() { return this.getStringAttribute('role'); } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } } exports.ManagedDatabaseValkeyNodeStatesOutputReference = ManagedDatabaseValkeyNodeStatesOutputReference; _c = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyNodeStatesOutputReference[_c] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNodeStatesOutputReference", version: "15.1.3" }; class ManagedDatabaseValkeyNodeStatesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new ManagedDatabaseValkeyNodeStatesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ManagedDatabaseValkeyNodeStatesList = ManagedDatabaseValkeyNodeStatesList; _d = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyNodeStatesList[_d] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNodeStatesList", version: "15.1.3" }; function managedDatabaseValkeyNetworkToTerraform(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 { family: cdktf.stringToTerraform(struct.family), name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), uuid: cdktf.stringToTerraform(struct.uuid), }; } function managedDatabaseValkeyNetworkToHclTerraform(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 = { family: { value: cdktf.stringToHclTerraform(struct.family), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, uuid: { value: cdktf.stringToHclTerraform(struct.uuid), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ManagedDatabaseValkeyNetworkOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._family !== undefined) { hasAnyValues = true; internalValueResult.family = this._family; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._uuid !== undefined) { hasAnyValues = true; internalValueResult.uuid = this._uuid; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._family = undefined; this._name = undefined; this._type = undefined; this._uuid = 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._family = value.family; this._name = value.name; this._type = value.type; this._uuid = value.uuid; } } get family() { return this.getStringAttribute('family'); } set family(value) { this._family = value; } // Temporarily expose input value. Use with caution. get familyInput() { return this._family; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get uuid() { return this.getStringAttribute('uuid'); } set uuid(value) { this._uuid = value; } // Temporarily expose input value. Use with caution. get uuidInput() { return this._uuid; } } exports.ManagedDatabaseValkeyNetworkOutputReference = ManagedDatabaseValkeyNetworkOutputReference; _e = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyNetworkOutputReference[_e] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNetworkOutputReference", version: "15.1.3" }; class ManagedDatabaseValkeyNetworkList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new ManagedDatabaseValkeyNetworkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ManagedDatabaseValkeyNetworkList = ManagedDatabaseValkeyNetworkList; _f = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyNetworkList[_f] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyNetworkList", version: "15.1.3" }; function managedDatabaseValkeyPropertiesMigrationToTerraform(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 { dbname: cdktf.stringToTerraform(struct.dbname), host: cdktf.stringToTerraform(struct.host), ignore_dbs: cdktf.stringToTerraform(struct.ignoreDbs), ignore_roles: cdktf.stringToTerraform(struct.ignoreRoles), method: cdktf.stringToTerraform(struct.method), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), ssl: cdktf.booleanToTerraform(struct.ssl), username: cdktf.stringToTerraform(struct.username), }; } function managedDatabaseValkeyPropertiesMigrationToHclTerraform(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 = { dbname: { value: cdktf.stringToHclTerraform(struct.dbname), isBlock: false, type: "simple", storageClassType: "string", }, host: { value: cdktf.stringToHclTerraform(struct.host), isBlock: false, type: "simple", storageClassType: "string", }, ignore_dbs: { value: cdktf.stringToHclTerraform(struct.ignoreDbs), isBlock: false, type: "simple", storageClassType: "string", }, ignore_roles: { value: cdktf.stringToHclTerraform(struct.ignoreRoles), isBlock: false, type: "simple", storageClassType: "string", }, method: { value: cdktf.stringToHclTerraform(struct.method), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, ssl: { value: cdktf.booleanToHclTerraform(struct.ssl), isBlock: false, type: "simple", storageClassType: "boolean", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ManagedDatabaseValkeyPropertiesMigrationOutputReference 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._dbname !== undefined) { hasAnyValues = true; internalValueResult.dbname = this._dbname; } if (this._host !== undefined) { hasAnyValues = true; internalValueResult.host = this._host; } if (this._ignoreDbs !== undefined) { hasAnyValues = true; internalValueResult.ignoreDbs = this._ignoreDbs; } if (this._ignoreRoles !== undefined) { hasAnyValues = true; internalValueResult.ignoreRoles = this._ignoreRoles; } if (this._method !== undefined) { hasAnyValues = true; internalValueResult.method = this._method; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._ssl !== undefined) { hasAnyValues = true; internalValueResult.ssl = this._ssl; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dbname = undefined; this._host = undefined; this._ignoreDbs = undefined; this._ignoreRoles = undefined; this._method = undefined; this._password = undefined; this._port = undefined; this._ssl = undefined; this._username = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dbname = value.dbname; this._host = value.host; this._ignoreDbs = value.ignoreDbs; this._ignoreRoles = value.ignoreRoles; this._method = value.method; this._password = value.password; this._port = value.port; this._ssl = value.ssl; this._username = value.username; } } get dbname() { return this.getStringAttribute('dbname'); } set dbname(value) { this._dbname = value; } resetDbname() { this._dbname = undefined; } // Temporarily expose input value. Use with caution. get dbnameInput() { return this._dbname; } get host() { return this.getStringAttribute('host'); } set host(value) { this._host = value; } resetHost() { this._host = undefined; } // Temporarily expose input value. Use with caution. get hostInput() { return this._host; } get ignoreDbs() { return this.getStringAttribute('ignore_dbs'); } set ignoreDbs(value) { this._ignoreDbs = value; } resetIgnoreDbs() { this._ignoreDbs = undefined; } // Temporarily expose input value. Use with caution. get ignoreDbsInput() { return this._ignoreDbs; } get ignoreRoles() { return this.getStringAttribute('ignore_roles'); } set ignoreRoles(value) { this._ignoreRoles = value; } resetIgnoreRoles() { this._ignoreRoles = undefined; } // Temporarily expose input value. Use with caution. get ignoreRolesInput() { return this._ignoreRoles; } get method() { return this.getStringAttribute('method'); } set method(value) { this._method = value; } resetMethod() { this._method = undefined; } // Temporarily expose input value. Use with caution. get methodInput() { return this._method; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } resetPassword() { this._password = undefined; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } 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 ssl() { return this.getBooleanAttribute('ssl'); } set ssl(value) { this._ssl = value; } resetSsl() { this._ssl = undefined; } // Temporarily expose input value. Use with caution. get sslInput() { return this._ssl; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } resetUsername() { this._username = undefined; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.ManagedDatabaseValkeyPropertiesMigrationOutputReference = ManagedDatabaseValkeyPropertiesMigrationOutputReference; _g = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyPropertiesMigrationOutputReference[_g] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyPropertiesMigrationOutputReference", version: "15.1.3" }; function managedDatabaseValkeyPropertiesToTerraform(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 { automatic_utility_network_ip_filter: cdktf.booleanToTerraform(struct.automaticUtilityNetworkIpFilter), backup_hour: cdktf.numberToTerraform(struct.backupHour), backup_minute: cdktf.numberToTerraform(struct.backupMinute), frequent_snapshots: cdktf.booleanToTerraform(struct.frequentSnapshots), ip_filter: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipFilter), public_access: cdktf.booleanToTerraform(struct.publicAccess), service_log: cdktf.booleanToTerraform(struct.serviceLog), valkey_acl_channels_default: cdktf.stringToTerraform(struct.valkeyAclChannelsDefault), valkey_active_expire_effort: cdktf.numberToTerraform(struct.valkeyActiveExpireEffort), valkey_io_threads: cdktf.numberToTerraform(struct.valkeyIoThreads), valkey_lfu_decay_time: cdktf.numberToTerraform(struct.valkeyLfuDecayTime), valkey_lfu_log_factor: cdktf.numberToTerraform(struct.valkeyLfuLogFactor), valkey_maxmemory_policy: cdktf.stringToTerraform(struct.valkeyMaxmemoryPolicy), valkey_notify_keyspace_events: cdktf.stringToTerraform(struct.valkeyNotifyKeyspaceEvents), valkey_number_of_databases: cdktf.numberToTerraform(struct.valkeyNumberOfDatabases), valkey_persistence: cdktf.stringToTerraform(struct.valkeyPersistence), valkey_pubsub_client_output_buffer_limit: cdktf.numberToTerraform(struct.valkeyPubsubClientOutputBufferLimit), valkey_ssl: cdktf.booleanToTerraform(struct.valkeySsl), valkey_timeout: cdktf.numberToTerraform(struct.valkeyTimeout), migration: managedDatabaseValkeyPropertiesMigrationToTerraform(struct.migration), }; } function managedDatabaseValkeyPropertiesToHclTerraform(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 = { automatic_utility_network_ip_filter: { value: cdktf.booleanToHclTerraform(struct.automaticUtilityNetworkIpFilter), isBlock: false, type: "simple", storageClassType: "boolean", }, backup_hour: { value: cdktf.numberToHclTerraform(struct.backupHour), isBlock: false, type: "simple", storageClassType: "number", }, backup_minute: { value: cdktf.numberToHclTerraform(struct.backupMinute), isBlock: false, type: "simple", storageClassType: "number", }, frequent_snapshots: { value: cdktf.booleanToHclTerraform(struct.frequentSnapshots), isBlock: false, type: "simple", storageClassType: "boolean", }, ip_filter: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipFilter), isBlock: false, type: "list", storageClassType: "stringList", }, public_access: { value: cdktf.booleanToHclTerraform(struct.publicAccess), isBlock: false, type: "simple", storageClassType: "boolean", }, service_log: { value: cdktf.booleanToHclTerraform(struct.serviceLog), isBlock: false, type: "simple", storageClassType: "boolean", }, valkey_acl_channels_default: { value: cdktf.stringToHclTerraform(struct.valkeyAclChannelsDefault), isBlock: false, type: "simple", storageClassType: "string", }, valkey_active_expire_effort: { value: cdktf.numberToHclTerraform(struct.valkeyActiveExpireEffort), isBlock: false, type: "simple", storageClassType: "number", }, valkey_io_threads: { value: cdktf.numberToHclTerraform(struct.valkeyIoThreads), isBlock: false, type: "simple", storageClassType: "number", }, valkey_lfu_decay_time: { value: cdktf.numberToHclTerraform(struct.valkeyLfuDecayTime), isBlock: false, type: "simple", storageClassType: "number", }, valkey_lfu_log_factor: { value: cdktf.numberToHclTerraform(struct.valkeyLfuLogFactor), isBlock: false, type: "simple", storageClassType: "number", }, valkey_maxmemory_policy: { value: cdktf.stringToHclTerraform(struct.valkeyMaxmemoryPolicy), isBlock: false, type: "simple", storageClassType: "string", }, valkey_notify_keyspace_events: { value: cdktf.stringToHclTerraform(struct.valkeyNotifyKeyspaceEvents), isBlock: false, type: "simple", storageClassType: "string", }, valkey_number_of_databases: { value: cdktf.numberToHclTerraform(struct.valkeyNumberOfDatabases), isBlock: false, type: "simple", storageClassType: "number", }, valkey_persistence: { value: cdktf.stringToHclTerraform(struct.valkeyPersistence), isBlock: false, type: "simple", storageClassType: "string", }, valkey_pubsub_client_output_buffer_limit: { value: cdktf.numberToHclTerraform(struct.valkeyPubsubClientOutputBufferLimit), isBlock: false, type: "simple", storageClassType: "number", }, valkey_ssl: { value: cdktf.booleanToHclTerraform(struct.valkeySsl), isBlock: false, type: "simple", storageClassType: "boolean", }, valkey_timeout: { value: cdktf.numberToHclTerraform(struct.valkeyTimeout), isBlock: false, type: "simple", storageClassType: "number", }, migration: { value: managedDatabaseValkeyPropertiesMigrationToHclTerraform(struct.migration), isBlock: true, type: "list", storageClassType: "ManagedDatabaseValkeyPropertiesMigrationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ManagedDatabaseValkeyPropertiesOutputReference 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; // migration - computed: false, optional: true, required: false this._migration = new ManagedDatabaseValkeyPropertiesMigrationOutputReference(this, "migration"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._automaticUtilityNetworkIpFilter !== undefined) { hasAnyValues = true; internalValueResult.automaticUtilityNetworkIpFilter = this._automaticUtilityNetworkIpFilter; } if (this._backupHour !== undefined) { hasAnyValues = true; internalValueResult.backupHour = this._backupHour; } if (this._backupMinute !== undefined) { hasAnyValues = true; internalValueResult.backupMinute = this._backupMinute; } if (this._frequentSnapshots !== undefined) { hasAnyValues = true; internalValueResult.frequentSnapshots = this._frequentSnapshots; } if (this._ipFilter !== undefined) { hasAnyValues = true; internalValueResult.ipFilter = this._ipFilter; } if (this._publicAccess !== undefined) { hasAnyValues = true; internalValueResult.publicAccess = this._publicAccess; } if (this._serviceLog !== undefined) { hasAnyValues = true; internalValueResult.serviceLog = this._serviceLog; } if (this._valkeyAclChannelsDefault !== undefined) { hasAnyValues = true; internalValueResult.valkeyAclChannelsDefault = this._valkeyAclChannelsDefault; } if (this._valkeyActiveExpireEffort !== undefined) { hasAnyValues = true; internalValueResult.valkeyActiveExpireEffort = this._valkeyActiveExpireEffort; } if (this._valkeyIoThreads !== undefined) { hasAnyValues = true; internalValueResult.valkeyIoThreads = this._valkeyIoThreads; } if (this._valkeyLfuDecayTime !== undefined) { hasAnyValues = true; internalValueResult.valkeyLfuDecayTime = this._valkeyLfuDecayTime; } if (this._valkeyLfuLogFactor !== undefined) { hasAnyValues = true; internalValueResult.valkeyLfuLogFactor = this._valkeyLfuLogFactor; } if (this._valkeyMaxmemoryPolicy !== undefined) { hasAnyValues = true; internalValueResult.valkeyMaxmemoryPolicy = this._valkeyMaxmemoryPolicy; } if (this._valkeyNotifyKeyspaceEvents !== undefined) { hasAnyValues = true; internalValueResult.valkeyNotifyKeyspaceEvents = this._valkeyNotifyKeyspaceEvents; } if (this._valkeyNumberOfDatabases !== undefined) { hasAnyValues = true; internalValueResult.valkeyNumberOfDatabases = this._valkeyNumberOfDatabases; } if (this._valkeyPersistence !== undefined) { hasAnyValues = true; internalValueResult.valkeyPersistence = this._valkeyPersistence; } if (this._valkeyPubsubClientOutputBufferLimit !== undefined) { hasAnyValues = true; internalValueResult.valkeyPubsubClientOutputBufferLimit = this._valkeyPubsubClientOutputBufferLimit; } if (this._valkeySsl !== undefined) { hasAnyValues = true; internalValueResult.valkeySsl = this._valkeySsl; } if (this._valkeyTimeout !== undefined) { hasAnyValues = true; internalValueResult.valkeyTimeout = this._valkeyTimeout; } if (this._migration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.migration = this._migration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._automaticUtilityNetworkIpFilter = undefined; this._backupHour = undefined; this._backupMinute = undefined; this._frequentSnapshots = undefined; this._ipFilter = undefined; this._publicAccess = undefined; this._serviceLog = undefined; this._valkeyAclChannelsDefault = undefined; this._valkeyActiveExpireEffort = undefined; this._valkeyIoThreads = undefined; this._valkeyLfuDecayTime = undefined; this._valkeyLfuLogFactor = undefined; this._valkeyMaxmemoryPolicy = undefined; this._valkeyNotifyKeyspaceEvents = undefined; this._valkeyNumberOfDatabases = undefined; this._valkeyPersistence = undefined; this._valkeyPubsubClientOutputBufferLimit = undefined; this._valkeySsl = undefined; this._valkeyTimeout = undefined; this._migration.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._automaticUtilityNetworkIpFilter = value.automaticUtilityNetworkIpFilter; this._backupHour = value.backupHour; this._backupMinute = value.backupMinute; this._frequentSnapshots = value.frequentSnapshots; this._ipFilter = value.ipFilter; this._publicAccess = value.publicAccess; this._serviceLog = value.serviceLog; this._valkeyAclChannelsDefault = value.valkeyAclChannelsDefault; this._valkeyActiveExpireEffort = value.valkeyActiveExpireEffort; this._valkeyIoThreads = value.valkeyIoThreads; this._valkeyLfuDecayTime = value.valkeyLfuDecayTime; this._valkeyLfuLogFactor = value.valkeyLfuLogFactor; this._valkeyMaxmemoryPolicy = value.valkeyMaxmemoryPolicy; this._valkeyNotifyKeyspaceEvents = value.valkeyNotifyKeyspaceEvents; this._valkeyNumberOfDatabases = value.valkeyNumberOfDatabases; this._valkeyPersistence = value.valkeyPersistence; this._valkeyPubsubClientOutputBufferLimit = value.valkeyPubsubClientOutputBufferLimit; this._valkeySsl = value.valkeySsl; this._valkeyTimeout = value.valkeyTimeout; this._migration.internalValue = value.migration; } } get automaticUtilityNetworkIpFilter() { return this.getBooleanAttribute('automatic_utility_network_ip_filter'); } set automaticUtilityNetworkIpFilter(value) { this._automaticUtilityNetworkIpFilter = value; } resetAutomaticUtilityNetworkIpFilter() { this._automaticUtilityNetworkIpFilter = undefined; } // Temporarily expose input value. Use with caution. get automaticUtilityNetworkIpFilterInput() { return this._automaticUtilityNetworkIpFilter; } get backupHour() { return this.getNumberAttribute('backup_hour'); } set backupHour(value) { this._backupHour = value; } resetBackupHour() { this._backupHour = undefined; } // Temporarily expose input value. Use with caution. get backupHourInput() { return this._backupHour; } get backupMinute() { return this.getNumberAttribute('backup_minute'); } set backupMinute(value) { this._backupMinute = value; } resetBackupMinute() { this._backupMinute = undefined; } // Temporarily expose input value. Use with caution. get backupMinuteInput() { return this._backupMinute; } get frequentSnapshots() { return this.getBooleanAttribute('frequent_snapshots'); } set frequentSnapshots(value) { this._frequentSnapshots = value; } resetFrequentSnapshots() { this._frequentSnapshots = undefined; } // Temporarily expose input value. Use with caution. get frequentSnapshotsInput() { return this._frequentSnapshots; } get ipFilter() { return this.getListAttribute('ip_filter'); } set ipFilter(value) { this._ipFilter = value; } resetIpFilter() { this._ipFilter = undefined; } // Temporarily expose input value. Use with caution. get ipFilterInput() { return this._ipFilter; } get publicAccess() { return this.getBooleanAttribute('public_access'); } set publicAccess(value) { this._publicAccess = value; } resetPublicAccess() { this._publicAccess = undefined; } // Temporarily expose input value. Use with caution. get publicAccessInput() { return this._publicAccess; } get serviceLog() { return this.getBooleanAttribute('service_log'); } set serviceLog(value) { this._serviceLog = value; } resetServiceLog() { this._serviceLog = undefined; } // Temporarily expose input value. Use with caution. get serviceLogInput() { return this._serviceLog; } get valkeyAclChannelsDefault() { return this.getStringAttribute('valkey_acl_channels_default'); } set valkeyAclChannelsDefault(value) { this._valkeyAclChannelsDefault = value; } resetValkeyAclChannelsDefault() { this._valkeyAclChannelsDefault = undefined; } // Temporarily expose input value. Use with caution. get valkeyAclChannelsDefaultInput() { return this._valkeyAclChannelsDefault; } get valkeyActiveExpireEffort() { return this.getNumberAttribute('valkey_active_expire_effort'); } set valkeyActiveExpireEffort(value) { this._valkeyActiveExpireEffort = value; } resetValkeyActiveExpireEffort() { this._valkeyActiveExpireEffort = undefined; } // Temporarily expose input value. Use with caution. get valkeyActiveExpireEffortInput() { return this._valkeyActiveExpireEffort; } get valkeyIoThreads() { return this.getNumberAttribute('valkey_io_threads'); } set valkeyIoThreads(value) { this._valkeyIoThreads = value; } resetValkeyIoThreads() { this._valkeyIoThreads = undefined; } // Temporarily expose input value. Use with caution. get valkeyIoThreadsInput() { return this._valkeyIoThreads; } get valkeyLfuDecayTime() { return this.getNumberAttribute('valkey_lfu_decay_time'); } set valkeyLfuDecayTime(value) { this._valkeyLfuDecayTime = value; } resetValkeyLfuDecayTime() { this._valkeyLfuDecayTime = undefined; } // Temporarily expose input value. Use with caution. get valkeyLfuDecayTimeInput() { return this._valkeyLfuDecayTime; } get valkeyLfuLogFactor() { return this.getNumberAttribute('valkey_lfu_log_factor'); } set valkeyLfuLogFactor(value) { this._valkeyLfuLogFactor = value; } resetValkeyLfuLogFactor() { this._valkeyLfuLogFactor = undefined; } // Temporarily expose input value. Use with caution. get valkeyLfuLogFactorInput() { return this._valkeyLfuLogFactor; } get valkeyMaxmemoryPolicy() { return this.getStringAttribute('valkey_maxmemory_policy'); } set valkeyMaxmemoryPolicy(value) { this._valkeyMaxmemoryPolicy = value; } resetValkeyMaxmemoryPolicy() { this._valkeyMaxmemoryPolicy = undefined; } // Temporarily expose input value. Use with caution. get valkeyMaxmemoryPolicyInput() { return this._valkeyMaxmemoryPolicy; } get valkeyNotifyKeyspaceEvents() { return this.getStringAttribute('valkey_notify_keyspace_events'); } set valkeyNotifyKeyspaceEvents(value) { this._valkeyNotifyKeyspaceEvents = value; } resetValkeyNotifyKeyspaceEvents() { this._valkeyNotifyKeyspaceEvents = undefined; } // Temporarily expose input value. Use with caution. get valkeyNotifyKeyspaceEventsInput() { return this._valkeyNotifyKeyspaceEvents; } get valkeyNumberOfDatabases() { return this.getNumberAttribute('valkey_number_of_databases'); } set valkeyNumberOfDatabases(value) { this._valkeyNumberOfDatabases = value; } resetValkeyNumberOfDatabases() { this._valkeyNumberOfDatabases = undefined; } // Temporarily expose input value. Use with caution. get valkeyNumberOfDatabasesInput() { return this._valkeyNumberOfDatabases; } get valkeyPersistence() { return this.getStringAttribute('valkey_persistence'); } set valkeyPersistence(value) { this._valkeyPersistence = value; } resetValkeyPersistence() { this._valkeyPersistence = undefined; } // Temporarily expose input value. Use with caution. get valkeyPersistenceInput() { return this._valkeyPersistence; } get valkeyPubsubClientOutputBufferLimit() { return this.getNumberAttribute('valkey_pubsub_client_output_buffer_limit'); } set valkeyPubsubClientOutputBufferLimit(value) { this._valkeyPubsubClientOutputBufferLimit = value; } resetValkeyPubsubClientOutputBufferLimit() { this._valkeyPubsubClientOutputBufferLimit = undefined; } // Temporarily expose input value. Use with caution. get valkeyPubsubClientOutputBufferLimitInput() { return this._valkeyPubsubClientOutputBufferLimit; } get valkeySsl() { return this.getBooleanAttribute('valkey_ssl'); } set valkeySsl(value) { this._valkeySsl = value; } resetValkeySsl() { this._valkeySsl = undefined; } // Temporarily expose input value. Use with caution. get valkeySslInput() { return this._valkeySsl; } get valkeyTimeout() { return this.getNumberAttribute('valkey_timeout'); } set valkeyTimeout(value) { this._valkeyTimeout = value; } resetValkeyTimeout() { this._valkeyTimeout = undefined; } // Temporarily expose input value. Use with caution. get valkeyTimeoutInput() { return this._valkeyTimeout; } get migration() { return this._migration; } putMigration(value) { this._migration.internalValue = value; } resetMigration() { this._migration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get migrationInput() { return this._migration.internalValue; } } exports.ManagedDatabaseValkeyPropertiesOutputReference = ManagedDatabaseValkeyPropertiesOutputReference; _h = JSII_RTTI_SYMBOL_1; ManagedDatabaseValkeyPropertiesOutputReference[_h] = { fqn: "@cdktf/provider-upcloud.managedDatabaseValkey.ManagedDatabaseValkeyPropertiesOutputReference", version: "15.1.3" }; /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_valkey upcloud_managed_database_valkey} */ class ManagedDatabaseValkey extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ManagedDatabaseValkey 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 ManagedDatabaseValkey to import * @param importFromId The id of the existing ManagedDatabaseValkey that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_valkey#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ManagedDatabaseValkey to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "upcloud_managed_database_valkey", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_valkey upcloud_managed_database_valkey} 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 ManagedDatabaseValkeyConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'upcloud_managed_database_valkey', terraformGeneratorMetadata: { providerName: 'upcloud', providerVersion: '5.23.3', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // ========== // ATTRIBUTES // ========== // components - computed: true, optional: false, required: false this._components = new ManagedDatabaseValkeyComponentsList(this, "components", false); // node_states - computed: true, optional: false, required: false this._nodeStates = new ManagedDatabaseValkeyNodeStatesList(this, "node_states", false);