@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,247 lines • 374 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetappVolume = exports.NetappVolumeTimeoutsOutputReference = exports.NetappVolumeTieringPolicyOutputReference = exports.NetappVolumeSnapshotPolicyOutputReference = exports.NetappVolumeSnapshotPolicyWeeklyScheduleOutputReference = exports.NetappVolumeSnapshotPolicyMonthlyScheduleOutputReference = exports.NetappVolumeSnapshotPolicyHourlyScheduleOutputReference = exports.NetappVolumeSnapshotPolicyDailyScheduleOutputReference = exports.NetappVolumeRestoreParametersOutputReference = exports.NetappVolumeHybridReplicationParametersOutputReference = exports.NetappVolumeExportPolicyOutputReference = exports.NetappVolumeExportPolicyRulesList = exports.NetappVolumeExportPolicyRulesOutputReference = exports.NetappVolumeBackupConfigOutputReference = exports.NetappVolumeMountOptionsList = exports.NetappVolumeMountOptionsOutputReference = void 0;
exports.netappVolumeMountOptionsToTerraform = netappVolumeMountOptionsToTerraform;
exports.netappVolumeMountOptionsToHclTerraform = netappVolumeMountOptionsToHclTerraform;
exports.netappVolumeBackupConfigToTerraform = netappVolumeBackupConfigToTerraform;
exports.netappVolumeBackupConfigToHclTerraform = netappVolumeBackupConfigToHclTerraform;
exports.netappVolumeExportPolicyRulesToTerraform = netappVolumeExportPolicyRulesToTerraform;
exports.netappVolumeExportPolicyRulesToHclTerraform = netappVolumeExportPolicyRulesToHclTerraform;
exports.netappVolumeExportPolicyToTerraform = netappVolumeExportPolicyToTerraform;
exports.netappVolumeExportPolicyToHclTerraform = netappVolumeExportPolicyToHclTerraform;
exports.netappVolumeHybridReplicationParametersToTerraform = netappVolumeHybridReplicationParametersToTerraform;
exports.netappVolumeHybridReplicationParametersToHclTerraform = netappVolumeHybridReplicationParametersToHclTerraform;
exports.netappVolumeRestoreParametersToTerraform = netappVolumeRestoreParametersToTerraform;
exports.netappVolumeRestoreParametersToHclTerraform = netappVolumeRestoreParametersToHclTerraform;
exports.netappVolumeSnapshotPolicyDailyScheduleToTerraform = netappVolumeSnapshotPolicyDailyScheduleToTerraform;
exports.netappVolumeSnapshotPolicyDailyScheduleToHclTerraform = netappVolumeSnapshotPolicyDailyScheduleToHclTerraform;
exports.netappVolumeSnapshotPolicyHourlyScheduleToTerraform = netappVolumeSnapshotPolicyHourlyScheduleToTerraform;
exports.netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform = netappVolumeSnapshotPolicyHourlyScheduleToHclTerraform;
exports.netappVolumeSnapshotPolicyMonthlyScheduleToTerraform = netappVolumeSnapshotPolicyMonthlyScheduleToTerraform;
exports.netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform = netappVolumeSnapshotPolicyMonthlyScheduleToHclTerraform;
exports.netappVolumeSnapshotPolicyWeeklyScheduleToTerraform = netappVolumeSnapshotPolicyWeeklyScheduleToTerraform;
exports.netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform = netappVolumeSnapshotPolicyWeeklyScheduleToHclTerraform;
exports.netappVolumeSnapshotPolicyToTerraform = netappVolumeSnapshotPolicyToTerraform;
exports.netappVolumeSnapshotPolicyToHclTerraform = netappVolumeSnapshotPolicyToHclTerraform;
exports.netappVolumeTieringPolicyToTerraform = netappVolumeTieringPolicyToTerraform;
exports.netappVolumeTieringPolicyToHclTerraform = netappVolumeTieringPolicyToHclTerraform;
exports.netappVolumeTimeoutsToTerraform = netappVolumeTimeoutsToTerraform;
exports.netappVolumeTimeoutsToHclTerraform = netappVolumeTimeoutsToHclTerraform;
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 {};
}
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;
}
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: "16.3.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: "16.3.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),
};
}
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));
}
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: "16.3.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),
};
}
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));
}
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: "16.3.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: "16.3.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),
};
}
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));
}
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: "16.3.0" };
function netappVolumeHybridReplicationParametersToTerraform(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 {
cluster_location: cdktf.stringToTerraform(struct.clusterLocation),
description: cdktf.stringToTerraform(struct.description),
labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels),
peer_cluster_name: cdktf.stringToTerraform(struct.peerClusterName),
peer_ip_addresses: cdktf.stringToTerraform(struct.peerIpAddresses),
peer_svm_name: cdktf.stringToTerraform(struct.peerSvmName),
peer_volume_name: cdktf.stringToTerraform(struct.peerVolumeName),
replication: cdktf.stringToTerraform(struct.replication),
};
}
function netappVolumeHybridReplicationParametersToHclTerraform(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 = {
cluster_location: {
value: cdktf.stringToHclTerraform(struct.clusterLocation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
description: {
value: cdktf.stringToHclTerraform(struct.description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
peer_cluster_name: {
value: cdktf.stringToHclTerraform(struct.peerClusterName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
peer_ip_addresses: {
value: cdktf.stringToHclTerraform(struct.peerIpAddresses),
isBlock: false,
type: "simple",
storageClassType: "string",
},
peer_svm_name: {
value: cdktf.stringToHclTerraform(struct.peerSvmName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
peer_volume_name: {
value: cdktf.stringToHclTerraform(struct.peerVolumeName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
replication: {
value: cdktf.stringToHclTerraform(struct.replication),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class NetappVolumeHybridReplicationParametersOutputReference 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._clusterLocation !== undefined) {
hasAnyValues = true;
internalValueResult.clusterLocation = this._clusterLocation;
}
if (this._description !== undefined) {
hasAnyValues = true;
internalValueResult.description = this._description;
}
if (this._labels !== undefined) {
hasAnyValues = true;
internalValueResult.labels = this._labels;
}
if (this._peerClusterName !== undefined) {
hasAnyValues = true;
internalValueResult.peerClusterName = this._peerClusterName;
}
if (this._peerIpAddresses !== undefined) {
hasAnyValues = true;
internalValueResult.peerIpAddresses = this._peerIpAddresses;
}
if (this._peerSvmName !== undefined) {
hasAnyValues = true;
internalValueResult.peerSvmName = this._peerSvmName;
}
if (this._peerVolumeName !== undefined) {
hasAnyValues = true;
internalValueResult.peerVolumeName = this._peerVolumeName;
}
if (this._replication !== undefined) {
hasAnyValues = true;
internalValueResult.replication = this._replication;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._clusterLocation = undefined;
this._description = undefined;
this._labels = undefined;
this._peerClusterName = undefined;
this._peerIpAddresses = undefined;
this._peerSvmName = undefined;
this._peerVolumeName = undefined;
this._replication = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._clusterLocation = value.clusterLocation;
this._description = value.description;
this._labels = value.labels;
this._peerClusterName = value.peerClusterName;
this._peerIpAddresses = value.peerIpAddresses;
this._peerSvmName = value.peerSvmName;
this._peerVolumeName = value.peerVolumeName;
this._replication = value.replication;
}
}
get clusterLocation() {
return this.getStringAttribute('cluster_location');
}
set clusterLocation(value) {
this._clusterLocation = value;
}
resetClusterLocation() {
this._clusterLocation = undefined;
}
// Temporarily expose input value. Use with caution.
get clusterLocationInput() {
return this._clusterLocation;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
get peerClusterName() {
return this.getStringAttribute('peer_cluster_name');
}
set peerClusterName(value) {
this._peerClusterName = value;
}
resetPeerClusterName() {
this._peerClusterName = undefined;
}
// Temporarily expose input value. Use with caution.
get peerClusterNameInput() {
return this._peerClusterName;
}
get peerIpAddresses() {
return this.getStringAttribute('peer_ip_addresses');
}
set peerIpAddresses(value) {
this._peerIpAddresses = value;
}
resetPeerIpAddresses() {
this._peerIpAddresses = undefined;
}
// Temporarily expose input value. Use with caution.
get peerIpAddressesInput() {
return this._peerIpAddresses;
}
get peerSvmName() {
return this.getStringAttribute('peer_svm_name');
}
set peerSvmName(value) {
this._peerSvmName = value;
}
resetPeerSvmName() {
this._peerSvmName = undefined;
}
// Temporarily expose input value. Use with caution.
get peerSvmNameInput() {
return this._peerSvmName;
}
get peerVolumeName() {
return this.getStringAttribute('peer_volume_name');
}
set peerVolumeName(value) {
this._peerVolumeName = value;
}
resetPeerVolumeName() {
this._peerVolumeName = undefined;
}
// Temporarily expose input value. Use with caution.
get peerVolumeNameInput() {
return this._peerVolumeName;
}
get replication() {
return this.getStringAttribute('replication');
}
set replication(value) {
this._replication = value;
}
resetReplication() {
this._replication = undefined;
}
// Temporarily expose input value. Use with caution.
get replicationInput() {
return this._replication;
}
}
exports.NetappVolumeHybridReplicationParametersOutputReference = NetappVolumeHybridReplicationParametersOutputReference;
_g = JSII_RTTI_SYMBOL_1;
NetappVolumeHybridReplicationParametersOutputReference[_g] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeHybridReplicationParametersOutputReference", version: "16.3.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),
};
}
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));
}
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;
_h = JSII_RTTI_SYMBOL_1;
NetappVolumeRestoreParametersOutputReference[_h] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeRestoreParametersOutputReference", version: "16.3.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),
};
}
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));
}
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;
_j = JSII_RTTI_SYMBOL_1;
NetappVolumeSnapshotPolicyDailyScheduleOutputReference[_j] = { fqn: "@cdktf/provider-google.netappVolume.NetappVolumeSnapshotPolicyDailyScheduleOutputReference", version: "16.3.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),
};
}
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));
}
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.get