UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,217 lines (1,216 loc) 336 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetappVolume = exports.NetappVolumeTimeoutsOutputReference = exports.netappVolumeTimeoutsToHclTerraform = exports.netappVolumeTimeoutsToTerraform = exports.NetappVolumeTieringPolicyOutputReference = exports.netappVolumeTieringPolicyToHclTerraform = exports.netappVolumeTieringPolicyToTerraform = exports.NetappVolumeSnapshotPolicyOutputReference = exports.netappVolumeSnapshotPolicyToHclTerraform = exports.netappVolumeSnapshotPolicyToTerraform = exports.NetappVolumeSnapshotPolicyWeeklyScheduleOutputReference = exports.netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform = exports.netappVolumeSnapshotPolicyWeeklyScheduleToTerraform = exports.NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference = exports.netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform = exports.netappVolumeSnapshotPolicyMonthlyScheduleToTerraform = exports.NetappVolumeSnapshotPolicyHourlyScheduleOutputReference = exports.netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform = exports.netappVolumeSnapshotPolicyHourlyScheduleToTerraform = exports.NetappVolumeSnapshotPolicyDailyScheduleOutputReference = exports.netappVolumeSnapshotPolicyDailyScheduleToHclTerraform = exports.netappVolumeSnapshotPolicyDailyScheduleToTerraform = exports.NetappVolumeRestoreParametersOutputReference = exports.netappVolumeRestoreParametersToHclTerraform = exports.netappVolumeRestoreParametersToTerraform = exports.NetappVolumeExportPolicyOutputReference = exports.netappVolumeExportPolicyToHclTerraform = exports.netappVolumeExportPolicyToTerraform = exports.NetappVolumeExportPolicyRulesList = exports.NetappVolumeExportPolicyRulesOutputReference = exports.netappVolumeExportPolicyRulesToHclTerraform = exports.netappVolumeExportPolicyRulesToTerraform = exports.NetappVolumeBackupConfigOutputReference = exports.netappVolumeBackupConfigToHclTerraform = exports.netappVolumeBackupConfigToTerraform = exports.NetappVolumeMountOptionsList = exports.NetappVolumeMountOptionsOutputReference = exports.netappVolumeMountOptionsToHclTerraform = exports.netappVolumeMountOptionsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function netappVolumeMountOptionsToTerraform(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 {}; } exports.netappVolumeMountOptionsToTerraform = netappVolumeMountOptionsToTerraform; function netappVolumeMountOptionsToHclTerraform(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; } exports.netappVolumeMountOptionsToHclTerraform = netappVolumeMountOptionsToHclTerraform; class NetappVolumeMountOptionsOutputReference 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; } } // export - computed: true, optional: false, required: false get export() { return this.getStringAttribute('export'); } // export_full - computed: true, optional: false, required: false get exportFull() { return this.getStringAttribute('export_full'); } // instructions - computed: true, optional: false, required: false get instructions() { return this.getStringAttribute('instructions'); } // protocol - computed: true, optional: false, required: false get protocol() { return this.getStringAttribute('protocol'); } } exports.NetappVolumeMountOptionsOutputReference = NetappVolumeMountOptionsOutputReference; _a = JSII_RTTI_SYMBOL_1; NetappVolumeMountOptionsOutputReference[_a] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeMountOptionsOutputReference", version: "14.12.0" }; class NetappVolumeMountOptionsList 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 NetappVolumeMountOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetappVolumeMountOptionsList = NetappVolumeMountOptionsList; _b = JSII_RTTI_SYMBOL_1; NetappVolumeMountOptionsList[_b] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeMountOptionsList", version: "14.12.0" }; function netappVolumeBackupConfigToTerraform(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 { backup_policies: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.backupPolicies), backup_vault: cdktf.stringToTerraform(struct.backupVault), scheduled_backup_enabled: cdktf.booleanToTerraform(struct.scheduledBackupEnabled), }; } exports.netappVolumeBackupConfigToTerraform = netappVolumeBackupConfigToTerraform; function netappVolumeBackupConfigToHclTerraform(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 = { backup_policies: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.backupPolicies), isBlock: false, type: "list", storageClassType: "stringList", }, backup_vault: { value: cdktf.stringToHclTerraform(struct.backupVault), isBlock: false, type: "simple", storageClassType: "string", }, scheduled_backup_enabled: { value: cdktf.booleanToHclTerraform(struct.scheduledBackupEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeBackupConfigToHclTerraform = netappVolumeBackupConfigToHclTerraform; class NetappVolumeBackupConfigOutputReference 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._backupPolicies !== undefined) { hasAnyValues = true; internalValueResult.backupPolicies = this._backupPolicies; } if (this._backupVault !== undefined) { hasAnyValues = true; internalValueResult.backupVault = this._backupVault; } if (this._scheduledBackupEnabled !== undefined) { hasAnyValues = true; internalValueResult.scheduledBackupEnabled = this._scheduledBackupEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._backupPolicies = undefined; this._backupVault = undefined; this._scheduledBackupEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._backupPolicies = value.backupPolicies; this._backupVault = value.backupVault; this._scheduledBackupEnabled = value.scheduledBackupEnabled; } } get backupPolicies() { return this.getListAttribute('backup_policies'); } set backupPolicies(value) { this._backupPolicies = value; } resetBackupPolicies() { this._backupPolicies = undefined; } // Temporarily expose input value. Use with caution. get backupPoliciesInput() { return this._backupPolicies; } get backupVault() { return this.getStringAttribute('backup_vault'); } set backupVault(value) { this._backupVault = value; } resetBackupVault() { this._backupVault = undefined; } // Temporarily expose input value. Use with caution. get backupVaultInput() { return this._backupVault; } get scheduledBackupEnabled() { return this.getBooleanAttribute('scheduled_backup_enabled'); } set scheduledBackupEnabled(value) { this._scheduledBackupEnabled = value; } resetScheduledBackupEnabled() { this._scheduledBackupEnabled = undefined; } // Temporarily expose input value. Use with caution. get scheduledBackupEnabledInput() { return this._scheduledBackupEnabled; } } exports.NetappVolumeBackupConfigOutputReference = NetappVolumeBackupConfigOutputReference; _c = JSII_RTTI_SYMBOL_1; NetappVolumeBackupConfigOutputReference[_c] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeBackupConfigOutputReference", version: "14.12.0" }; function netappVolumeExportPolicyRulesToTerraform(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_type: cdktf.stringToTerraform(struct.accessType), allowed_clients: cdktf.stringToTerraform(struct.allowedClients), has_root_access: cdktf.stringToTerraform(struct.hasRootAccess), kerberos5_read_only: cdktf.booleanToTerraform(struct.kerberos5ReadOnly), kerberos5_read_write: cdktf.booleanToTerraform(struct.kerberos5ReadWrite), kerberos5i_read_only: cdktf.booleanToTerraform(struct.kerberos5IReadOnly), kerberos5i_read_write: cdktf.booleanToTerraform(struct.kerberos5IReadWrite), kerberos5p_read_only: cdktf.booleanToTerraform(struct.kerberos5PReadOnly), kerberos5p_read_write: cdktf.booleanToTerraform(struct.kerberos5PReadWrite), nfsv3: cdktf.booleanToTerraform(struct.nfsv3), nfsv4: cdktf.booleanToTerraform(struct.nfsv4), }; } exports.netappVolumeExportPolicyRulesToTerraform = netappVolumeExportPolicyRulesToTerraform; function netappVolumeExportPolicyRulesToHclTerraform(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_type: { value: cdktf.stringToHclTerraform(struct.accessType), isBlock: false, type: "simple", storageClassType: "string", }, allowed_clients: { value: cdktf.stringToHclTerraform(struct.allowedClients), isBlock: false, type: "simple", storageClassType: "string", }, has_root_access: { value: cdktf.stringToHclTerraform(struct.hasRootAccess), isBlock: false, type: "simple", storageClassType: "string", }, kerberos5_read_only: { value: cdktf.booleanToHclTerraform(struct.kerberos5ReadOnly), isBlock: false, type: "simple", storageClassType: "boolean", }, kerberos5_read_write: { value: cdktf.booleanToHclTerraform(struct.kerberos5ReadWrite), isBlock: false, type: "simple", storageClassType: "boolean", }, kerberos5i_read_only: { value: cdktf.booleanToHclTerraform(struct.kerberos5IReadOnly), isBlock: false, type: "simple", storageClassType: "boolean", }, kerberos5i_read_write: { value: cdktf.booleanToHclTerraform(struct.kerberos5IReadWrite), isBlock: false, type: "simple", storageClassType: "boolean", }, kerberos5p_read_only: { value: cdktf.booleanToHclTerraform(struct.kerberos5PReadOnly), isBlock: false, type: "simple", storageClassType: "boolean", }, kerberos5p_read_write: { value: cdktf.booleanToHclTerraform(struct.kerberos5PReadWrite), isBlock: false, type: "simple", storageClassType: "boolean", }, nfsv3: { value: cdktf.booleanToHclTerraform(struct.nfsv3), isBlock: false, type: "simple", storageClassType: "boolean", }, nfsv4: { value: cdktf.booleanToHclTerraform(struct.nfsv4), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeExportPolicyRulesToHclTerraform = netappVolumeExportPolicyRulesToHclTerraform; class NetappVolumeExportPolicyRulesOutputReference 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._accessType !== undefined) { hasAnyValues = true; internalValueResult.accessType = this._accessType; } if (this._allowedClients !== undefined) { hasAnyValues = true; internalValueResult.allowedClients = this._allowedClients; } if (this._hasRootAccess !== undefined) { hasAnyValues = true; internalValueResult.hasRootAccess = this._hasRootAccess; } if (this._kerberos5ReadOnly !== undefined) { hasAnyValues = true; internalValueResult.kerberos5ReadOnly = this._kerberos5ReadOnly; } if (this._kerberos5ReadWrite !== undefined) { hasAnyValues = true; internalValueResult.kerberos5ReadWrite = this._kerberos5ReadWrite; } if (this._kerberos5IReadOnly !== undefined) { hasAnyValues = true; internalValueResult.kerberos5IReadOnly = this._kerberos5IReadOnly; } if (this._kerberos5IReadWrite !== undefined) { hasAnyValues = true; internalValueResult.kerberos5IReadWrite = this._kerberos5IReadWrite; } if (this._kerberos5PReadOnly !== undefined) { hasAnyValues = true; internalValueResult.kerberos5PReadOnly = this._kerberos5PReadOnly; } if (this._kerberos5PReadWrite !== undefined) { hasAnyValues = true; internalValueResult.kerberos5PReadWrite = this._kerberos5PReadWrite; } if (this._nfsv3 !== undefined) { hasAnyValues = true; internalValueResult.nfsv3 = this._nfsv3; } if (this._nfsv4 !== undefined) { hasAnyValues = true; internalValueResult.nfsv4 = this._nfsv4; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._accessType = undefined; this._allowedClients = undefined; this._hasRootAccess = undefined; this._kerberos5ReadOnly = undefined; this._kerberos5ReadWrite = undefined; this._kerberos5IReadOnly = undefined; this._kerberos5IReadWrite = undefined; this._kerberos5PReadOnly = undefined; this._kerberos5PReadWrite = undefined; this._nfsv3 = undefined; this._nfsv4 = 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._accessType = value.accessType; this._allowedClients = value.allowedClients; this._hasRootAccess = value.hasRootAccess; this._kerberos5ReadOnly = value.kerberos5ReadOnly; this._kerberos5ReadWrite = value.kerberos5ReadWrite; this._kerberos5IReadOnly = value.kerberos5IReadOnly; this._kerberos5IReadWrite = value.kerberos5IReadWrite; this._kerberos5PReadOnly = value.kerberos5PReadOnly; this._kerberos5PReadWrite = value.kerberos5PReadWrite; this._nfsv3 = value.nfsv3; this._nfsv4 = value.nfsv4; } } get accessType() { return this.getStringAttribute('access_type'); } set accessType(value) { this._accessType = value; } resetAccessType() { this._accessType = undefined; } // Temporarily expose input value. Use with caution. get accessTypeInput() { return this._accessType; } get allowedClients() { return this.getStringAttribute('allowed_clients'); } set allowedClients(value) { this._allowedClients = value; } resetAllowedClients() { this._allowedClients = undefined; } // Temporarily expose input value. Use with caution. get allowedClientsInput() { return this._allowedClients; } get hasRootAccess() { return this.getStringAttribute('has_root_access'); } set hasRootAccess(value) { this._hasRootAccess = value; } resetHasRootAccess() { this._hasRootAccess = undefined; } // Temporarily expose input value. Use with caution. get hasRootAccessInput() { return this._hasRootAccess; } get kerberos5ReadOnly() { return this.getBooleanAttribute('kerberos5_read_only'); } set kerberos5ReadOnly(value) { this._kerberos5ReadOnly = value; } resetKerberos5ReadOnly() { this._kerberos5ReadOnly = undefined; } // Temporarily expose input value. Use with caution. get kerberos5ReadOnlyInput() { return this._kerberos5ReadOnly; } get kerberos5ReadWrite() { return this.getBooleanAttribute('kerberos5_read_write'); } set kerberos5ReadWrite(value) { this._kerberos5ReadWrite = value; } resetKerberos5ReadWrite() { this._kerberos5ReadWrite = undefined; } // Temporarily expose input value. Use with caution. get kerberos5ReadWriteInput() { return this._kerberos5ReadWrite; } get kerberos5IReadOnly() { return this.getBooleanAttribute('kerberos5i_read_only'); } set kerberos5IReadOnly(value) { this._kerberos5IReadOnly = value; } resetKerberos5IReadOnly() { this._kerberos5IReadOnly = undefined; } // Temporarily expose input value. Use with caution. get kerberos5IReadOnlyInput() { return this._kerberos5IReadOnly; } get kerberos5IReadWrite() { return this.getBooleanAttribute('kerberos5i_read_write'); } set kerberos5IReadWrite(value) { this._kerberos5IReadWrite = value; } resetKerberos5IReadWrite() { this._kerberos5IReadWrite = undefined; } // Temporarily expose input value. Use with caution. get kerberos5IReadWriteInput() { return this._kerberos5IReadWrite; } get kerberos5PReadOnly() { return this.getBooleanAttribute('kerberos5p_read_only'); } set kerberos5PReadOnly(value) { this._kerberos5PReadOnly = value; } resetKerberos5PReadOnly() { this._kerberos5PReadOnly = undefined; } // Temporarily expose input value. Use with caution. get kerberos5PReadOnlyInput() { return this._kerberos5PReadOnly; } get kerberos5PReadWrite() { return this.getBooleanAttribute('kerberos5p_read_write'); } set kerberos5PReadWrite(value) { this._kerberos5PReadWrite = value; } resetKerberos5PReadWrite() { this._kerberos5PReadWrite = undefined; } // Temporarily expose input value. Use with caution. get kerberos5PReadWriteInput() { return this._kerberos5PReadWrite; } get nfsv3() { return this.getBooleanAttribute('nfsv3'); } set nfsv3(value) { this._nfsv3 = value; } resetNfsv3() { this._nfsv3 = undefined; } // Temporarily expose input value. Use with caution. get nfsv3Input() { return this._nfsv3; } get nfsv4() { return this.getBooleanAttribute('nfsv4'); } set nfsv4(value) { this._nfsv4 = value; } resetNfsv4() { this._nfsv4 = undefined; } // Temporarily expose input value. Use with caution. get nfsv4Input() { return this._nfsv4; } } exports.NetappVolumeExportPolicyRulesOutputReference = NetappVolumeExportPolicyRulesOutputReference; _d = JSII_RTTI_SYMBOL_1; NetappVolumeExportPolicyRulesOutputReference[_d] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeExportPolicyRulesOutputReference", version: "14.12.0" }; class NetappVolumeExportPolicyRulesList 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 NetappVolumeExportPolicyRulesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetappVolumeExportPolicyRulesList = NetappVolumeExportPolicyRulesList; _e = JSII_RTTI_SYMBOL_1; NetappVolumeExportPolicyRulesList[_e] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeExportPolicyRulesList", version: "14.12.0" }; function netappVolumeExportPolicyToTerraform(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 { rules: cdktf.listMapper(netappVolumeExportPolicyRulesToTerraform, true)(struct.rules), }; } exports.netappVolumeExportPolicyToTerraform = netappVolumeExportPolicyToTerraform; function netappVolumeExportPolicyToHclTerraform(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 = { rules: { value: cdktf.listMapperHcl(netappVolumeExportPolicyRulesToHclTerraform, true)(struct.rules), isBlock: true, type: "list", storageClassType: "NetappVolumeExportPolicyRulesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeExportPolicyToHclTerraform = netappVolumeExportPolicyToHclTerraform; class NetappVolumeExportPolicyOutputReference 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; // rules - computed: false, optional: false, required: true this._rules = new NetappVolumeExportPolicyRulesList(this, "rules", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._rules?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.rules = this._rules?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._rules.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._rules.internalValue = value.rules; } } get rules() { return this._rules; } putRules(value) { this._rules.internalValue = value; } // Temporarily expose input value. Use with caution. get rulesInput() { return this._rules.internalValue; } } exports.NetappVolumeExportPolicyOutputReference = NetappVolumeExportPolicyOutputReference; _f = JSII_RTTI_SYMBOL_1; NetappVolumeExportPolicyOutputReference[_f] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeExportPolicyOutputReference", version: "14.12.0" }; function netappVolumeRestoreParametersToTerraform(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 { source_backup: cdktf.stringToTerraform(struct.sourceBackup), source_snapshot: cdktf.stringToTerraform(struct.sourceSnapshot), }; } exports.netappVolumeRestoreParametersToTerraform = netappVolumeRestoreParametersToTerraform; function netappVolumeRestoreParametersToHclTerraform(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 = { source_backup: { value: cdktf.stringToHclTerraform(struct.sourceBackup), isBlock: false, type: "simple", storageClassType: "string", }, source_snapshot: { value: cdktf.stringToHclTerraform(struct.sourceSnapshot), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeRestoreParametersToHclTerraform = netappVolumeRestoreParametersToHclTerraform; class NetappVolumeRestoreParametersOutputReference 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._sourceBackup !== undefined) { hasAnyValues = true; internalValueResult.sourceBackup = this._sourceBackup; } if (this._sourceSnapshot !== undefined) { hasAnyValues = true; internalValueResult.sourceSnapshot = this._sourceSnapshot; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._sourceBackup = undefined; this._sourceSnapshot = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._sourceBackup = value.sourceBackup; this._sourceSnapshot = value.sourceSnapshot; } } 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 sourceSnapshot() { return this.getStringAttribute('source_snapshot'); } set sourceSnapshot(value) { this._sourceSnapshot = value; } resetSourceSnapshot() { this._sourceSnapshot = undefined; } // Temporarily expose input value. Use with caution. get sourceSnapshotInput() { return this._sourceSnapshot; } } exports.NetappVolumeRestoreParametersOutputReference = NetappVolumeRestoreParametersOutputReference; _g = JSII_RTTI_SYMBOL_1; NetappVolumeRestoreParametersOutputReference[_g] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeRestoreParametersOutputReference", version: "14.12.0" }; function netappVolumeSnapshotPolicyDailyScheduleToTerraform(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 { hour: cdktf.numberToTerraform(struct.hour), minute: cdktf.numberToTerraform(struct.minute), snapshots_to_keep: cdktf.numberToTerraform(struct.snapshotsToKeep), }; } exports.netappVolumeSnapshotPolicyDailyScheduleToTerraform = netappVolumeSnapshotPolicyDailyScheduleToTerraform; function netappVolumeSnapshotPolicyDailyScheduleToHclTerraform(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 = { hour: { value: cdktf.numberToHclTerraform(struct.hour), isBlock: false, type: "simple", storageClassType: "number", }, minute: { value: cdktf.numberToHclTerraform(struct.minute), isBlock: false, type: "simple", storageClassType: "number", }, snapshots_to_keep: { value: cdktf.numberToHclTerraform(struct.snapshotsToKeep), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeSnapshotPolicyDailyScheduleToHclTerraform = netappVolumeSnapshotPolicyDailyScheduleToHclTerraform; class NetappVolumeSnapshotPolicyDailyScheduleOutputReference 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._hour !== undefined) { hasAnyValues = true; internalValueResult.hour = this._hour; } if (this._minute !== undefined) { hasAnyValues = true; internalValueResult.minute = this._minute; } if (this._snapshotsToKeep !== undefined) { hasAnyValues = true; internalValueResult.snapshotsToKeep = this._snapshotsToKeep; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._hour = undefined; this._minute = undefined; this._snapshotsToKeep = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._hour = value.hour; this._minute = value.minute; this._snapshotsToKeep = value.snapshotsToKeep; } } get hour() { return this.getNumberAttribute('hour'); } set hour(value) { this._hour = value; } resetHour() { this._hour = undefined; } // Temporarily expose input value. Use with caution. get hourInput() { return this._hour; } get minute() { return this.getNumberAttribute('minute'); } set minute(value) { this._minute = value; } resetMinute() { this._minute = undefined; } // Temporarily expose input value. Use with caution. get minuteInput() { return this._minute; } get snapshotsToKeep() { return this.getNumberAttribute('snapshots_to_keep'); } set snapshotsToKeep(value) { this._snapshotsToKeep = value; } // Temporarily expose input value. Use with caution. get snapshotsToKeepInput() { return this._snapshotsToKeep; } } exports.NetappVolumeSnapshotPolicyDailyScheduleOutputReference = NetappVolumeSnapshotPolicyDailyScheduleOutputReference; _h = JSII_RTTI_SYMBOL_1; NetappVolumeSnapshotPolicyDailyScheduleOutputReference[_h] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeSnapshotPolicyDailyScheduleOutputReference", version: "14.12.0" }; function netappVolumeSnapshotPolicyHourlyScheduleToTerraform(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 { minute: cdktf.numberToTerraform(struct.minute), snapshots_to_keep: cdktf.numberToTerraform(struct.snapshotsToKeep), }; } exports.netappVolumeSnapshotPolicyHourlyScheduleToTerraform = netappVolumeSnapshotPolicyHourlyScheduleToTerraform; function netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform(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 = { minute: { value: cdktf.numberToHclTerraform(struct.minute), isBlock: false, type: "simple", storageClassType: "number", }, snapshots_to_keep: { value: cdktf.numberToHclTerraform(struct.snapshotsToKeep), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform = netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform; class NetappVolumeSnapshotPolicyHourlyScheduleOutputReference 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._minute !== undefined) { hasAnyValues = true; internalValueResult.minute = this._minute; } if (this._snapshotsToKeep !== undefined) { hasAnyValues = true; internalValueResult.snapshotsToKeep = this._snapshotsToKeep; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._minute = undefined; this._snapshotsToKeep = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._minute = value.minute; this._snapshotsToKeep = value.snapshotsToKeep; } } get minute() { return this.getNumberAttribute('minute'); } set minute(value) { this._minute = value; } resetMinute() { this._minute = undefined; } // Temporarily expose input value. Use with caution. get minuteInput() { return this._minute; } get snapshotsToKeep() { return this.getNumberAttribute('snapshots_to_keep'); } set snapshotsToKeep(value) { this._snapshotsToKeep = value; } // Temporarily expose input value. Use with caution. get snapshotsToKeepInput() { return this._snapshotsToKeep; } } exports.NetappVolumeSnapshotPolicyHourlyScheduleOutputReference = NetappVolumeSnapshotPolicyHourlyScheduleOutputReference; _j = JSII_RTTI_SYMBOL_1; NetappVolumeSnapshotPolicyHourlyScheduleOutputReference[_j] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeSnapshotPolicyHourlyScheduleOutputReference", version: "14.12.0" }; function netappVolumeSnapshotPolicyMonthlyScheduleToTerraform(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 { days_of_month: cdktf.stringToTerraform(struct.daysOfMonth), hour: cdktf.numberToTerraform(struct.hour), minute: cdktf.numberToTerraform(struct.minute), snapshots_to_keep: cdktf.numberToTerraform(struct.snapshotsToKeep), }; } exports.netappVolumeSnapshotPolicyMonthlyScheduleToTerraform = netappVolumeSnapshotPolicyMonthlyScheduleToTerraform; function netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform(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 = { days_of_month: { value: cdktf.stringToHclTerraform(struct.daysOfMonth), isBlock: false, type: "simple", storageClassType: "string", }, hour: { value: cdktf.numberToHclTerraform(struct.hour), isBlock: false, type: "simple", storageClassType: "number", }, minute: { value: cdktf.numberToHclTerraform(struct.minute), isBlock: false, type: "simple", storageClassType: "number", }, snapshots_to_keep: { value: cdktf.numberToHclTerraform(struct.snapshotsToKeep), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform = netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform; class NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference 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._daysOfMonth !== undefined) { hasAnyValues = true; internalValueResult.daysOfMonth = this._daysOfMonth; } if (this._hour !== undefined) { hasAnyValues = true; internalValueResult.hour = this._hour; } if (this._minute !== undefined) { hasAnyValues = true; internalValueResult.minute = this._minute; } if (this._snapshotsToKeep !== undefined) { hasAnyValues = true; internalValueResult.snapshotsToKeep = this._snapshotsToKeep; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._daysOfMonth = undefined; this._hour = undefined; this._minute = undefined; this._snapshotsToKeep = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._daysOfMonth = value.daysOfMonth; this._hour = value.hour; this._minute = value.minute; this._snapshotsToKeep = value.snapshotsToKeep; } } get daysOfMonth() { return this.getStringAttribute('days_of_month'); } set daysOfMonth(value) { this._daysOfMonth = value; } resetDaysOfMonth() { this._daysOfMonth = undefined; } // Temporarily expose input value. Use with caution. get daysOfMonthInput() { return this._daysOfMonth; } get hour() { return this.getNumberAttribute('hour'); } set hour(value) { this._hour = value; } resetHour() { this._hour = undefined; } // Temporarily expose input value. Use with caution. get hourInput() { return this._hour; } get minute() { return this.getNumberAttribute('minute'); } set minute(value) { this._minute = value; } resetMinute() { this._minute = undefined; } // Temporarily expose input value. Use with caution. get minuteInput() { return this._minute; } get snapshotsToKeep() { return this.getNumberAttribute('snapshots_to_keep'); } set snapshotsToKeep(value) { this._snapshotsToKeep = value; } // Temporarily expose input value. Use with caution. get snapshotsToKeepInput() { return this._snapshotsToKeep; } } exports.NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference = NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference; _k = JSII_RTTI_SYMBOL_1; NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference[_k] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference", version: "14.12.0" }; function netappVolumeSnapshotPolicyWeeklyScheduleToTerraform(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 { day: cdktf.stringToTerraform(struct.day), hour: cdktf.numberToTerraform(struct.hour), minute: cdktf.numberToTerraform(struct.minute), snapshots_to_keep: cdktf.numberToTerraform(struct.snapshotsToKeep), }; } exports.netappVolumeSnapshotPolicyWeeklyScheduleToTerraform = netappVolumeSnapshotPolicyWeeklyScheduleToTerraform; function netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform(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 = { day: { value: cdktf.stringToHclTerraform(struct.day), isBlock: false, type: "simple", storageClassType: "string", }, hour: { value: cdktf.numberToHclTerraform(struct.hour), isBlock: false, type: "simple", storageClassType: "number", }, minute: { value: cdktf.numberToHclTerraform(struct.minute), isBlock: false, type: "simple", storageClassType: "number", }, snapshots_to_keep: { value: cdktf.numberToHclTerraform(struct.snapshotsToKeep), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform = netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform; class NetappVolumeSnapshotPolicyWeeklyScheduleOutputReference 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._day !== undefined) { hasAnyValues = true; internalValueResult.day = this._day; } if (this._hour !== undefined) { hasAnyValues = true; internalValueResult.hour = this._hour; } if (this._minute !== undefined) { hasAnyValues = true;