@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
1,262 lines (1,261 loc) • 220 kB
JavaScript
"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);