UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

999 lines (998 loc) 225 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.MigrationCenterPreferenceSet = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList = exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference = exports.MigrationCenterPreferenceSetTimeoutsOutputReference = void 0; exports.migrationCenterPreferenceSetTimeoutsToTerraform = migrationCenterPreferenceSetTimeoutsToTerraform; exports.migrationCenterPreferenceSetTimeoutsToHclTerraform = migrationCenterPreferenceSetTimeoutsToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToHclTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesToTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesToTerraform; exports.migrationCenterPreferenceSetVirtualMachinePreferencesToHclTerraform = migrationCenterPreferenceSetVirtualMachinePreferencesToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function migrationCenterPreferenceSetTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function migrationCenterPreferenceSetTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.MigrationCenterPreferenceSetTimeoutsOutputReference = MigrationCenterPreferenceSetTimeoutsOutputReference; _a = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetTimeoutsOutputReference[_a] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetTimeoutsOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToTerraform(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 { code: cdktf.stringToTerraform(struct.code), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToHclTerraform(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 = { code: { value: cdktf.stringToHclTerraform(struct.code), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference 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._code !== undefined) { hasAnyValues = true; internalValueResult.code = this._code; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._code = 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._code = value.code; } } get code() { return this.getStringAttribute('code'); } set code(value) { this._code = value; } resetCode() { this._code = undefined; } // Temporarily expose input value. Use with caution. get codeInput() { return this._code; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference; _b = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference[_b] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference", version: "14.35.0" }; class MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList 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 MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList = MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList; _c = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList[_c] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToTerraform(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 { allowed_machine_series: cdktf.listMapper(migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToTerraform, true)(struct.allowedMachineSeries), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToHclTerraform(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 = { allowed_machine_series: { value: cdktf.listMapperHcl(migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesToHclTerraform, true)(struct.allowedMachineSeries), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference 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; // allowed_machine_series - computed: false, optional: true, required: false this._allowedMachineSeries = new MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesList(this, "allowed_machine_series", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._allowedMachineSeries?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.allowedMachineSeries = this._allowedMachineSeries?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allowedMachineSeries.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allowedMachineSeries.internalValue = value.allowedMachineSeries; } } get allowedMachineSeries() { return this._allowedMachineSeries; } putAllowedMachineSeries(value) { this._allowedMachineSeries.internalValue = value; } resetAllowedMachineSeries() { this._allowedMachineSeries.internalValue = undefined; } // Temporarily expose input value. Use with caution. get allowedMachineSeriesInput() { return this._allowedMachineSeries.internalValue; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference; _d = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference[_d] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToTerraform(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 { license_type: cdktf.stringToTerraform(struct.licenseType), machine_preferences: migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToTerraform(struct.machinePreferences), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToHclTerraform(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 = { license_type: { value: cdktf.stringToHclTerraform(struct.licenseType), isBlock: false, type: "simple", storageClassType: "string", }, machine_preferences: { value: migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesToHclTerraform(struct.machinePreferences), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference 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; // machine_preferences - computed: false, optional: true, required: false this._machinePreferences = new MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesOutputReference(this, "machine_preferences"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._licenseType !== undefined) { hasAnyValues = true; internalValueResult.licenseType = this._licenseType; } if (this._machinePreferences?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.machinePreferences = this._machinePreferences?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._licenseType = undefined; this._machinePreferences.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._licenseType = value.licenseType; this._machinePreferences.internalValue = value.machinePreferences; } } get licenseType() { return this.getStringAttribute('license_type'); } set licenseType(value) { this._licenseType = value; } resetLicenseType() { this._licenseType = undefined; } // Temporarily expose input value. Use with caution. get licenseTypeInput() { return this._licenseType; } get machinePreferences() { return this._machinePreferences; } putMachinePreferences(value) { this._machinePreferences.internalValue = value; } resetMachinePreferences() { this._machinePreferences.internalValue = undefined; } // Temporarily expose input value. Use with caution. get machinePreferencesInput() { return this._machinePreferences.internalValue; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference; _e = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference[_e] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToTerraform(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 { preferred_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.preferredRegions), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToHclTerraform(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 = { preferred_regions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.preferredRegions), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference 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._preferredRegions !== undefined) { hasAnyValues = true; internalValueResult.preferredRegions = this._preferredRegions; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._preferredRegions = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._preferredRegions = value.preferredRegions; } } get preferredRegions() { return this.getListAttribute('preferred_regions'); } set preferredRegions(value) { this._preferredRegions = value; } resetPreferredRegions() { this._preferredRegions = undefined; } // Temporarily expose input value. Use with caution. get preferredRegionsInput() { return this._preferredRegions; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference; _f = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference[_f] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToTerraform(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 { node_name: cdktf.stringToTerraform(struct.nodeName), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToHclTerraform(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 = { node_name: { value: cdktf.stringToHclTerraform(struct.nodeName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference 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._nodeName !== undefined) { hasAnyValues = true; internalValueResult.nodeName = this._nodeName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._nodeName = 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._nodeName = value.nodeName; } } get nodeName() { return this.getStringAttribute('node_name'); } set nodeName(value) { this._nodeName = value; } resetNodeName() { this._nodeName = undefined; } // Temporarily expose input value. Use with caution. get nodeNameInput() { return this._nodeName; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference; _g = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference[_g] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference", version: "14.35.0" }; class MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList 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 MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList = MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList; _h = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList[_h] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToTerraform(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 { commitment_plan: cdktf.stringToTerraform(struct.commitmentPlan), cpu_overcommit_ratio: cdktf.numberToTerraform(struct.cpuOvercommitRatio), host_maintenance_policy: cdktf.stringToTerraform(struct.hostMaintenancePolicy), node_types: cdktf.listMapper(migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToTerraform, true)(struct.nodeTypes), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToHclTerraform(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 = { commitment_plan: { value: cdktf.stringToHclTerraform(struct.commitmentPlan), isBlock: false, type: "simple", storageClassType: "string", }, cpu_overcommit_ratio: { value: cdktf.numberToHclTerraform(struct.cpuOvercommitRatio), isBlock: false, type: "simple", storageClassType: "number", }, host_maintenance_policy: { value: cdktf.stringToHclTerraform(struct.hostMaintenancePolicy), isBlock: false, type: "simple", storageClassType: "string", }, node_types: { value: cdktf.listMapperHcl(migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesToHclTerraform, true)(struct.nodeTypes), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference 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; // node_types - computed: false, optional: true, required: false this._nodeTypes = new MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypesList(this, "node_types", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._commitmentPlan !== undefined) { hasAnyValues = true; internalValueResult.commitmentPlan = this._commitmentPlan; } if (this._cpuOvercommitRatio !== undefined) { hasAnyValues = true; internalValueResult.cpuOvercommitRatio = this._cpuOvercommitRatio; } if (this._hostMaintenancePolicy !== undefined) { hasAnyValues = true; internalValueResult.hostMaintenancePolicy = this._hostMaintenancePolicy; } if (this._nodeTypes?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.nodeTypes = this._nodeTypes?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._commitmentPlan = undefined; this._cpuOvercommitRatio = undefined; this._hostMaintenancePolicy = undefined; this._nodeTypes.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._commitmentPlan = value.commitmentPlan; this._cpuOvercommitRatio = value.cpuOvercommitRatio; this._hostMaintenancePolicy = value.hostMaintenancePolicy; this._nodeTypes.internalValue = value.nodeTypes; } } get commitmentPlan() { return this.getStringAttribute('commitment_plan'); } set commitmentPlan(value) { this._commitmentPlan = value; } resetCommitmentPlan() { this._commitmentPlan = undefined; } // Temporarily expose input value. Use with caution. get commitmentPlanInput() { return this._commitmentPlan; } get cpuOvercommitRatio() { return this.getNumberAttribute('cpu_overcommit_ratio'); } set cpuOvercommitRatio(value) { this._cpuOvercommitRatio = value; } resetCpuOvercommitRatio() { this._cpuOvercommitRatio = undefined; } // Temporarily expose input value. Use with caution. get cpuOvercommitRatioInput() { return this._cpuOvercommitRatio; } get hostMaintenancePolicy() { return this.getStringAttribute('host_maintenance_policy'); } set hostMaintenancePolicy(value) { this._hostMaintenancePolicy = value; } resetHostMaintenancePolicy() { this._hostMaintenancePolicy = undefined; } // Temporarily expose input value. Use with caution. get hostMaintenancePolicyInput() { return this._hostMaintenancePolicy; } get nodeTypes() { return this._nodeTypes; } putNodeTypes(value) { this._nodeTypes.internalValue = value; } resetNodeTypes() { this._nodeTypes.internalValue = undefined; } // Temporarily expose input value. Use with caution. get nodeTypesInput() { return this._nodeTypes.internalValue; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference; _j = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference[_j] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToTerraform(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 { commitment_plan: cdktf.stringToTerraform(struct.commitmentPlan), cpu_overcommit_ratio: cdktf.numberToTerraform(struct.cpuOvercommitRatio), memory_overcommit_ratio: cdktf.numberToTerraform(struct.memoryOvercommitRatio), storage_deduplication_compression_ratio: cdktf.numberToTerraform(struct.storageDeduplicationCompressionRatio), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToHclTerraform(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 = { commitment_plan: { value: cdktf.stringToHclTerraform(struct.commitmentPlan), isBlock: false, type: "simple", storageClassType: "string", }, cpu_overcommit_ratio: { value: cdktf.numberToHclTerraform(struct.cpuOvercommitRatio), isBlock: false, type: "simple", storageClassType: "number", }, memory_overcommit_ratio: { value: cdktf.numberToHclTerraform(struct.memoryOvercommitRatio), isBlock: false, type: "simple", storageClassType: "number", }, storage_deduplication_compression_ratio: { value: cdktf.numberToHclTerraform(struct.storageDeduplicationCompressionRatio), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference 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._commitmentPlan !== undefined) { hasAnyValues = true; internalValueResult.commitmentPlan = this._commitmentPlan; } if (this._cpuOvercommitRatio !== undefined) { hasAnyValues = true; internalValueResult.cpuOvercommitRatio = this._cpuOvercommitRatio; } if (this._memoryOvercommitRatio !== undefined) { hasAnyValues = true; internalValueResult.memoryOvercommitRatio = this._memoryOvercommitRatio; } if (this._storageDeduplicationCompressionRatio !== undefined) { hasAnyValues = true; internalValueResult.storageDeduplicationCompressionRatio = this._storageDeduplicationCompressionRatio; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._commitmentPlan = undefined; this._cpuOvercommitRatio = undefined; this._memoryOvercommitRatio = undefined; this._storageDeduplicationCompressionRatio = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._commitmentPlan = value.commitmentPlan; this._cpuOvercommitRatio = value.cpuOvercommitRatio; this._memoryOvercommitRatio = value.memoryOvercommitRatio; this._storageDeduplicationCompressionRatio = value.storageDeduplicationCompressionRatio; } } get commitmentPlan() { return this.getStringAttribute('commitment_plan'); } set commitmentPlan(value) { this._commitmentPlan = value; } resetCommitmentPlan() { this._commitmentPlan = undefined; } // Temporarily expose input value. Use with caution. get commitmentPlanInput() { return this._commitmentPlan; } get cpuOvercommitRatio() { return this.getNumberAttribute('cpu_overcommit_ratio'); } set cpuOvercommitRatio(value) { this._cpuOvercommitRatio = value; } resetCpuOvercommitRatio() { this._cpuOvercommitRatio = undefined; } // Temporarily expose input value. Use with caution. get cpuOvercommitRatioInput() { return this._cpuOvercommitRatio; } get memoryOvercommitRatio() { return this.getNumberAttribute('memory_overcommit_ratio'); } set memoryOvercommitRatio(value) { this._memoryOvercommitRatio = value; } resetMemoryOvercommitRatio() { this._memoryOvercommitRatio = undefined; } // Temporarily expose input value. Use with caution. get memoryOvercommitRatioInput() { return this._memoryOvercommitRatio; } get storageDeduplicationCompressionRatio() { return this.getNumberAttribute('storage_deduplication_compression_ratio'); } set storageDeduplicationCompressionRatio(value) { this._storageDeduplicationCompressionRatio = value; } resetStorageDeduplicationCompressionRatio() { this._storageDeduplicationCompressionRatio = undefined; } // Temporarily expose input value. Use with caution. get storageDeduplicationCompressionRatioInput() { return this._storageDeduplicationCompressionRatio; } } exports.MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference = MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference; _k = JSII_RTTI_SYMBOL_1; MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference[_k] = { fqn: "@cdktf/provider-google.migrationCenterPreferenceSet.MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesOutputReference", version: "14.35.0" }; function migrationCenterPreferenceSetVirtualMachinePreferencesToTerraform(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 { commitment_plan: cdktf.stringToTerraform(struct.commitmentPlan), sizing_optimization_strategy: cdktf.stringToTerraform(struct.sizingOptimizationStrategy), target_product: cdktf.stringToTerraform(struct.targetProduct), compute_engine_preferences: migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToTerraform(struct.computeEnginePreferences), region_preferences: migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToTerraform(struct.regionPreferences), sole_tenancy_preferences: migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToTerraform(struct.soleTenancyPreferences), vmware_engine_preferences: migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToTerraform(struct.vmwareEnginePreferences), }; } function migrationCenterPreferenceSetVirtualMachinePreferencesToHclTerraform(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 = { commitment_plan: { value: cdktf.stringToHclTerraform(struct.commitmentPlan), isBlock: false, type: "simple", storageClassType: "string", }, sizing_optimization_strategy: { value: cdktf.stringToHclTerraform(struct.sizingOptimizationStrategy), isBlock: false, type: "simple", storageClassType: "string", }, target_product: { value: cdktf.stringToHclTerraform(struct.targetProduct), isBlock: false, type: "simple", storageClassType: "string", }, compute_engine_preferences: { value: migrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesToHclTerraform(struct.computeEnginePreferences), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesComputeEnginePreferencesList", }, region_preferences: { value: migrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesToHclTerraform(struct.regionPreferences), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesRegionPreferencesList", }, sole_tenancy_preferences: { value: migrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesToHclTerraform(struct.soleTenancyPreferences), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesList", }, vmware_engine_preferences: { value: migrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesToHclTerraform(struct.vmwareEnginePreferences), isBlock: true, type: "list", storageClassType: "MigrationCenterPreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesList", },