@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,145 lines • 252 kB
JavaScript
"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 =