@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,217 lines (1,216 loc) • 336 kB
JavaScript
"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;