UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,145 lines 252 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; Object.defineProperty(exports, "__esModule", { value: true }); exports.FilestoreInstance = exports.FilestoreInstanceTimeoutsOutputReference = exports.FilestoreInstancePerformanceConfigOutputReference = exports.FilestoreInstancePerformanceConfigIopsPerTbOutputReference = exports.FilestoreInstancePerformanceConfigFixedIopsOutputReference = exports.FilestoreInstanceNetworksList = exports.FilestoreInstanceNetworksOutputReference = exports.FilestoreInstanceInitialReplicationOutputReference = exports.FilestoreInstanceInitialReplicationReplicasList = exports.FilestoreInstanceInitialReplicationReplicasOutputReference = exports.FilestoreInstanceFileSharesOutputReference = exports.FilestoreInstanceFileSharesNfsExportOptionsList = exports.FilestoreInstanceFileSharesNfsExportOptionsOutputReference = exports.FilestoreInstanceEffectiveReplicationList = exports.FilestoreInstanceEffectiveReplicationOutputReference = exports.FilestoreInstanceEffectiveReplicationReplicasList = exports.FilestoreInstanceEffectiveReplicationReplicasOutputReference = void 0; exports.filestoreInstanceEffectiveReplicationReplicasToTerraform = filestoreInstanceEffectiveReplicationReplicasToTerraform; exports.filestoreInstanceEffectiveReplicationReplicasToHclTerraform = filestoreInstanceEffectiveReplicationReplicasToHclTerraform; exports.filestoreInstanceEffectiveReplicationToTerraform = filestoreInstanceEffectiveReplicationToTerraform; exports.filestoreInstanceEffectiveReplicationToHclTerraform = filestoreInstanceEffectiveReplicationToHclTerraform; exports.filestoreInstanceFileSharesNfsExportOptionsToTerraform = filestoreInstanceFileSharesNfsExportOptionsToTerraform; exports.filestoreInstanceFileSharesNfsExportOptionsToHclTerraform = filestoreInstanceFileSharesNfsExportOptionsToHclTerraform; exports.filestoreInstanceFileSharesToTerraform = filestoreInstanceFileSharesToTerraform; exports.filestoreInstanceFileSharesToHclTerraform = filestoreInstanceFileSharesToHclTerraform; exports.filestoreInstanceInitialReplicationReplicasToTerraform = filestoreInstanceInitialReplicationReplicasToTerraform; exports.filestoreInstanceInitialReplicationReplicasToHclTerraform = filestoreInstanceInitialReplicationReplicasToHclTerraform; exports.filestoreInstanceInitialReplicationToTerraform = filestoreInstanceInitialReplicationToTerraform; exports.filestoreInstanceInitialReplicationToHclTerraform = filestoreInstanceInitialReplicationToHclTerraform; exports.filestoreInstanceNetworksToTerraform = filestoreInstanceNetworksToTerraform; exports.filestoreInstanceNetworksToHclTerraform = filestoreInstanceNetworksToHclTerraform; exports.filestoreInstancePerformanceConfigFixedIopsToTerraform = filestoreInstancePerformanceConfigFixedIopsToTerraform; exports.filestoreInstancePerformanceConfigFixedIopsToHclTerraform = filestoreInstancePerformanceConfigFixedIopsToHclTerraform; exports.filestoreInstancePerformanceConfigIopsPerTbToTerraform = filestoreInstancePerformanceConfigIopsPerTbToTerraform; exports.filestoreInstancePerformanceConfigIopsPerTbToHclTerraform = filestoreInstancePerformanceConfigIopsPerTbToHclTerraform; exports.filestoreInstancePerformanceConfigToTerraform = filestoreInstancePerformanceConfigToTerraform; exports.filestoreInstancePerformanceConfigToHclTerraform = filestoreInstancePerformanceConfigToHclTerraform; exports.filestoreInstanceTimeoutsToTerraform = filestoreInstanceTimeoutsToTerraform; exports.filestoreInstanceTimeoutsToHclTerraform = filestoreInstanceTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function filestoreInstanceEffectiveReplicationReplicasToTerraform(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 filestoreInstanceEffectiveReplicationReplicasToHclTerraform(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 FilestoreInstanceEffectiveReplicationReplicasOutputReference 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; } } // last_active_sync_time - computed: true, optional: false, required: false get lastActiveSyncTime() { return this.getStringAttribute('last_active_sync_time'); } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } // state_reasons - computed: true, optional: false, required: false get stateReasons() { return this.getListAttribute('state_reasons'); } } exports.FilestoreInstanceEffectiveReplicationReplicasOutputReference = FilestoreInstanceEffectiveReplicationReplicasOutputReference; _a = JSII_RTTI_SYMBOL_1; FilestoreInstanceEffectiveReplicationReplicasOutputReference[_a] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceEffectiveReplicationReplicasOutputReference", version: "14.35.0" }; class FilestoreInstanceEffectiveReplicationReplicasList 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 FilestoreInstanceEffectiveReplicationReplicasOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FilestoreInstanceEffectiveReplicationReplicasList = FilestoreInstanceEffectiveReplicationReplicasList; _b = JSII_RTTI_SYMBOL_1; FilestoreInstanceEffectiveReplicationReplicasList[_b] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceEffectiveReplicationReplicasList", version: "14.35.0" }; function filestoreInstanceEffectiveReplicationToTerraform(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 filestoreInstanceEffectiveReplicationToHclTerraform(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 FilestoreInstanceEffectiveReplicationOutputReference 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; // replicas - computed: true, optional: false, required: false this._replicas = new FilestoreInstanceEffectiveReplicationReplicasList(this, "replicas", 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; } } get replicas() { return this._replicas; } } exports.FilestoreInstanceEffectiveReplicationOutputReference = FilestoreInstanceEffectiveReplicationOutputReference; _c = JSII_RTTI_SYMBOL_1; FilestoreInstanceEffectiveReplicationOutputReference[_c] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceEffectiveReplicationOutputReference", version: "14.35.0" }; class FilestoreInstanceEffectiveReplicationList 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 FilestoreInstanceEffectiveReplicationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FilestoreInstanceEffectiveReplicationList = FilestoreInstanceEffectiveReplicationList; _d = JSII_RTTI_SYMBOL_1; FilestoreInstanceEffectiveReplicationList[_d] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceEffectiveReplicationList", version: "14.35.0" }; function filestoreInstanceFileSharesNfsExportOptionsToTerraform(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 { access_mode: cdktf.stringToTerraform(struct.accessMode), anon_gid: cdktf.numberToTerraform(struct.anonGid), anon_uid: cdktf.numberToTerraform(struct.anonUid), ip_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipRanges), squash_mode: cdktf.stringToTerraform(struct.squashMode), }; } function filestoreInstanceFileSharesNfsExportOptionsToHclTerraform(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 = { access_mode: { value: cdktf.stringToHclTerraform(struct.accessMode), isBlock: false, type: "simple", storageClassType: "string", }, anon_gid: { value: cdktf.numberToHclTerraform(struct.anonGid), isBlock: false, type: "simple", storageClassType: "number", }, anon_uid: { value: cdktf.numberToHclTerraform(struct.anonUid), isBlock: false, type: "simple", storageClassType: "number", }, ip_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipRanges), isBlock: false, type: "list", storageClassType: "stringList", }, squash_mode: { value: cdktf.stringToHclTerraform(struct.squashMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstanceFileSharesNfsExportOptionsOutputReference 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._accessMode !== undefined) { hasAnyValues = true; internalValueResult.accessMode = this._accessMode; } if (this._anonGid !== undefined) { hasAnyValues = true; internalValueResult.anonGid = this._anonGid; } if (this._anonUid !== undefined) { hasAnyValues = true; internalValueResult.anonUid = this._anonUid; } if (this._ipRanges !== undefined) { hasAnyValues = true; internalValueResult.ipRanges = this._ipRanges; } if (this._squashMode !== undefined) { hasAnyValues = true; internalValueResult.squashMode = this._squashMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._accessMode = undefined; this._anonGid = undefined; this._anonUid = undefined; this._ipRanges = undefined; this._squashMode = 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._accessMode = value.accessMode; this._anonGid = value.anonGid; this._anonUid = value.anonUid; this._ipRanges = value.ipRanges; this._squashMode = value.squashMode; } } get accessMode() { return this.getStringAttribute('access_mode'); } set accessMode(value) { this._accessMode = value; } resetAccessMode() { this._accessMode = undefined; } // Temporarily expose input value. Use with caution. get accessModeInput() { return this._accessMode; } get anonGid() { return this.getNumberAttribute('anon_gid'); } set anonGid(value) { this._anonGid = value; } resetAnonGid() { this._anonGid = undefined; } // Temporarily expose input value. Use with caution. get anonGidInput() { return this._anonGid; } get anonUid() { return this.getNumberAttribute('anon_uid'); } set anonUid(value) { this._anonUid = value; } resetAnonUid() { this._anonUid = undefined; } // Temporarily expose input value. Use with caution. get anonUidInput() { return this._anonUid; } get ipRanges() { return this.getListAttribute('ip_ranges'); } set ipRanges(value) { this._ipRanges = value; } resetIpRanges() { this._ipRanges = undefined; } // Temporarily expose input value. Use with caution. get ipRangesInput() { return this._ipRanges; } get squashMode() { return this.getStringAttribute('squash_mode'); } set squashMode(value) { this._squashMode = value; } resetSquashMode() { this._squashMode = undefined; } // Temporarily expose input value. Use with caution. get squashModeInput() { return this._squashMode; } } exports.FilestoreInstanceFileSharesNfsExportOptionsOutputReference = FilestoreInstanceFileSharesNfsExportOptionsOutputReference; _e = JSII_RTTI_SYMBOL_1; FilestoreInstanceFileSharesNfsExportOptionsOutputReference[_e] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceFileSharesNfsExportOptionsOutputReference", version: "14.35.0" }; class FilestoreInstanceFileSharesNfsExportOptionsList 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 FilestoreInstanceFileSharesNfsExportOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FilestoreInstanceFileSharesNfsExportOptionsList = FilestoreInstanceFileSharesNfsExportOptionsList; _f = JSII_RTTI_SYMBOL_1; FilestoreInstanceFileSharesNfsExportOptionsList[_f] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceFileSharesNfsExportOptionsList", version: "14.35.0" }; function filestoreInstanceFileSharesToTerraform(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 { capacity_gb: cdktf.numberToTerraform(struct.capacityGb), name: cdktf.stringToTerraform(struct.name), source_backup: cdktf.stringToTerraform(struct.sourceBackup), nfs_export_options: cdktf.listMapper(filestoreInstanceFileSharesNfsExportOptionsToTerraform, true)(struct.nfsExportOptions), }; } function filestoreInstanceFileSharesToHclTerraform(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 = { capacity_gb: { value: cdktf.numberToHclTerraform(struct.capacityGb), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, source_backup: { value: cdktf.stringToHclTerraform(struct.sourceBackup), isBlock: false, type: "simple", storageClassType: "string", }, nfs_export_options: { value: cdktf.listMapperHcl(filestoreInstanceFileSharesNfsExportOptionsToHclTerraform, true)(struct.nfsExportOptions), isBlock: true, type: "list", storageClassType: "FilestoreInstanceFileSharesNfsExportOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstanceFileSharesOutputReference 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; // nfs_export_options - computed: false, optional: true, required: false this._nfsExportOptions = new FilestoreInstanceFileSharesNfsExportOptionsList(this, "nfs_export_options", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._capacityGb !== undefined) { hasAnyValues = true; internalValueResult.capacityGb = this._capacityGb; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._sourceBackup !== undefined) { hasAnyValues = true; internalValueResult.sourceBackup = this._sourceBackup; } if (this._nfsExportOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.nfsExportOptions = this._nfsExportOptions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._capacityGb = undefined; this._name = undefined; this._sourceBackup = undefined; this._nfsExportOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._capacityGb = value.capacityGb; this._name = value.name; this._sourceBackup = value.sourceBackup; this._nfsExportOptions.internalValue = value.nfsExportOptions; } } get capacityGb() { return this.getNumberAttribute('capacity_gb'); } set capacityGb(value) { this._capacityGb = value; } // Temporarily expose input value. Use with caution. get capacityGbInput() { return this._capacityGb; } 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 sourceBackup() { return this.getStringAttribute('source_backup'); } set sourceBackup(value) { this._sourceBackup = value; } resetSourceBackup() { this._sourceBackup = undefined; } // Temporarily expose input value. Use with caution. get sourceBackupInput() { return this._sourceBackup; } get nfsExportOptions() { return this._nfsExportOptions; } putNfsExportOptions(value) { this._nfsExportOptions.internalValue = value; } resetNfsExportOptions() { this._nfsExportOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get nfsExportOptionsInput() { return this._nfsExportOptions.internalValue; } } exports.FilestoreInstanceFileSharesOutputReference = FilestoreInstanceFileSharesOutputReference; _g = JSII_RTTI_SYMBOL_1; FilestoreInstanceFileSharesOutputReference[_g] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceFileSharesOutputReference", version: "14.35.0" }; function filestoreInstanceInitialReplicationReplicasToTerraform(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 { peer_instance: cdktf.stringToTerraform(struct.peerInstance), }; } function filestoreInstanceInitialReplicationReplicasToHclTerraform(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 = { peer_instance: { value: cdktf.stringToHclTerraform(struct.peerInstance), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstanceInitialReplicationReplicasOutputReference 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._peerInstance !== undefined) { hasAnyValues = true; internalValueResult.peerInstance = this._peerInstance; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._peerInstance = 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._peerInstance = value.peerInstance; } } get peerInstance() { return this.getStringAttribute('peer_instance'); } set peerInstance(value) { this._peerInstance = value; } // Temporarily expose input value. Use with caution. get peerInstanceInput() { return this._peerInstance; } } exports.FilestoreInstanceInitialReplicationReplicasOutputReference = FilestoreInstanceInitialReplicationReplicasOutputReference; _h = JSII_RTTI_SYMBOL_1; FilestoreInstanceInitialReplicationReplicasOutputReference[_h] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceInitialReplicationReplicasOutputReference", version: "14.35.0" }; class FilestoreInstanceInitialReplicationReplicasList 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 FilestoreInstanceInitialReplicationReplicasOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FilestoreInstanceInitialReplicationReplicasList = FilestoreInstanceInitialReplicationReplicasList; _j = JSII_RTTI_SYMBOL_1; FilestoreInstanceInitialReplicationReplicasList[_j] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceInitialReplicationReplicasList", version: "14.35.0" }; function filestoreInstanceInitialReplicationToTerraform(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 { role: cdktf.stringToTerraform(struct.role), replicas: cdktf.listMapper(filestoreInstanceInitialReplicationReplicasToTerraform, true)(struct.replicas), }; } function filestoreInstanceInitialReplicationToHclTerraform(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 = { role: { value: cdktf.stringToHclTerraform(struct.role), isBlock: false, type: "simple", storageClassType: "string", }, replicas: { value: cdktf.listMapperHcl(filestoreInstanceInitialReplicationReplicasToHclTerraform, true)(struct.replicas), isBlock: true, type: "list", storageClassType: "FilestoreInstanceInitialReplicationReplicasList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstanceInitialReplicationOutputReference 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; // replicas - computed: false, optional: true, required: false this._replicas = new FilestoreInstanceInitialReplicationReplicasList(this, "replicas", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._role !== undefined) { hasAnyValues = true; internalValueResult.role = this._role; } if (this._replicas?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.replicas = this._replicas?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._role = undefined; this._replicas.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._role = value.role; this._replicas.internalValue = value.replicas; } } get role() { return this.getStringAttribute('role'); } set role(value) { this._role = value; } resetRole() { this._role = undefined; } // Temporarily expose input value. Use with caution. get roleInput() { return this._role; } get replicas() { return this._replicas; } putReplicas(value) { this._replicas.internalValue = value; } resetReplicas() { this._replicas.internalValue = undefined; } // Temporarily expose input value. Use with caution. get replicasInput() { return this._replicas.internalValue; } } exports.FilestoreInstanceInitialReplicationOutputReference = FilestoreInstanceInitialReplicationOutputReference; _k = JSII_RTTI_SYMBOL_1; FilestoreInstanceInitialReplicationOutputReference[_k] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceInitialReplicationOutputReference", version: "14.35.0" }; function filestoreInstanceNetworksToTerraform(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 { connect_mode: cdktf.stringToTerraform(struct.connectMode), modes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.modes), network: cdktf.stringToTerraform(struct.network), reserved_ip_range: cdktf.stringToTerraform(struct.reservedIpRange), }; } function filestoreInstanceNetworksToHclTerraform(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 = { connect_mode: { value: cdktf.stringToHclTerraform(struct.connectMode), isBlock: false, type: "simple", storageClassType: "string", }, modes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.modes), isBlock: false, type: "list", storageClassType: "stringList", }, network: { value: cdktf.stringToHclTerraform(struct.network), isBlock: false, type: "simple", storageClassType: "string", }, reserved_ip_range: { value: cdktf.stringToHclTerraform(struct.reservedIpRange), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstanceNetworksOutputReference 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._connectMode !== undefined) { hasAnyValues = true; internalValueResult.connectMode = this._connectMode; } if (this._modes !== undefined) { hasAnyValues = true; internalValueResult.modes = this._modes; } if (this._network !== undefined) { hasAnyValues = true; internalValueResult.network = this._network; } if (this._reservedIpRange !== undefined) { hasAnyValues = true; internalValueResult.reservedIpRange = this._reservedIpRange; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._connectMode = undefined; this._modes = undefined; this._network = undefined; this._reservedIpRange = 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._connectMode = value.connectMode; this._modes = value.modes; this._network = value.network; this._reservedIpRange = value.reservedIpRange; } } get connectMode() { return this.getStringAttribute('connect_mode'); } set connectMode(value) { this._connectMode = value; } resetConnectMode() { this._connectMode = undefined; } // Temporarily expose input value. Use with caution. get connectModeInput() { return this._connectMode; } // ip_addresses - computed: true, optional: false, required: false get ipAddresses() { return this.getListAttribute('ip_addresses'); } get modes() { return this.getListAttribute('modes'); } set modes(value) { this._modes = value; } // Temporarily expose input value. Use with caution. get modesInput() { return this._modes; } get network() { return this.getStringAttribute('network'); } set network(value) { this._network = value; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network; } get reservedIpRange() { return this.getStringAttribute('reserved_ip_range'); } set reservedIpRange(value) { this._reservedIpRange = value; } resetReservedIpRange() { this._reservedIpRange = undefined; } // Temporarily expose input value. Use with caution. get reservedIpRangeInput() { return this._reservedIpRange; } } exports.FilestoreInstanceNetworksOutputReference = FilestoreInstanceNetworksOutputReference; _l = JSII_RTTI_SYMBOL_1; FilestoreInstanceNetworksOutputReference[_l] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceNetworksOutputReference", version: "14.35.0" }; class FilestoreInstanceNetworksList 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 FilestoreInstanceNetworksOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FilestoreInstanceNetworksList = FilestoreInstanceNetworksList; _m = JSII_RTTI_SYMBOL_1; FilestoreInstanceNetworksList[_m] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstanceNetworksList", version: "14.35.0" }; function filestoreInstancePerformanceConfigFixedIopsToTerraform(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_iops: cdktf.numberToTerraform(struct.maxIops), }; } function filestoreInstancePerformanceConfigFixedIopsToHclTerraform(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_iops: { value: cdktf.numberToHclTerraform(struct.maxIops), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstancePerformanceConfigFixedIopsOutputReference 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._maxIops !== undefined) { hasAnyValues = true; internalValueResult.maxIops = this._maxIops; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxIops = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxIops = value.maxIops; } } get maxIops() { return this.getNumberAttribute('max_iops'); } set maxIops(value) { this._maxIops = value; } resetMaxIops() { this._maxIops = undefined; } // Temporarily expose input value. Use with caution. get maxIopsInput() { return this._maxIops; } } exports.FilestoreInstancePerformanceConfigFixedIopsOutputReference = FilestoreInstancePerformanceConfigFixedIopsOutputReference; _o = JSII_RTTI_SYMBOL_1; FilestoreInstancePerformanceConfigFixedIopsOutputReference[_o] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstancePerformanceConfigFixedIopsOutputReference", version: "14.35.0" }; function filestoreInstancePerformanceConfigIopsPerTbToTerraform(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_iops_per_tb: cdktf.numberToTerraform(struct.maxIopsPerTb), }; } function filestoreInstancePerformanceConfigIopsPerTbToHclTerraform(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_iops_per_tb: { value: cdktf.numberToHclTerraform(struct.maxIopsPerTb), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstancePerformanceConfigIopsPerTbOutputReference 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._maxIopsPerTb !== undefined) { hasAnyValues = true; internalValueResult.maxIopsPerTb = this._maxIopsPerTb; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxIopsPerTb = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxIopsPerTb = value.maxIopsPerTb; } } get maxIopsPerTb() { return this.getNumberAttribute('max_iops_per_tb'); } set maxIopsPerTb(value) { this._maxIopsPerTb = value; } resetMaxIopsPerTb() { this._maxIopsPerTb = undefined; } // Temporarily expose input value. Use with caution. get maxIopsPerTbInput() { return this._maxIopsPerTb; } } exports.FilestoreInstancePerformanceConfigIopsPerTbOutputReference = FilestoreInstancePerformanceConfigIopsPerTbOutputReference; _p = JSII_RTTI_SYMBOL_1; FilestoreInstancePerformanceConfigIopsPerTbOutputReference[_p] = { fqn: "@cdktf/provider-google.filestoreInstance.FilestoreInstancePerformanceConfigIopsPerTbOutputReference", version: "14.35.0" }; function filestoreInstancePerformanceConfigToTerraform(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 { fixed_iops: filestoreInstancePerformanceConfigFixedIopsToTerraform(struct.fixedIops), iops_per_tb: filestoreInstancePerformanceConfigIopsPerTbToTerraform(struct.iopsPerTb), }; } function filestoreInstancePerformanceConfigToHclTerraform(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 = { fixed_iops: { value: filestoreInstancePerformanceConfigFixedIopsToHclTerraform(struct.fixedIops), isBlock: true, type: "list", storageClassType: "FilestoreInstancePerformanceConfigFixedIopsList", }, iops_per_tb: { value: filestoreInstancePerformanceConfigIopsPerTbToHclTerraform(struct.iopsPerTb), isBlock: true, type: "list", storageClassType: "FilestoreInstancePerformanceConfigIopsPerTbList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FilestoreInstancePerformanceConfigOutputReference 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; // fixed_iops - computed: false, optional: true, required: false this._fixedIops = new FilestoreInstancePerformanceConfigFixedIopsOutputReference(this, "fixed_iops"); // iops_per_tb - computed: false, optional: true, required: false this._iopsPerTb = new FilestoreInstancePerformanceConfigIopsPerTbOutputReference(this, "iops_per_tb"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._fixedIops?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fixedIops = this._fixedIops?.internalValue; } if (this._iopsPerTb?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.iopsPerTb = this._iopsPerTb?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fixedIops.internalValue =