UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,014 lines 164 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputeInterconnectGroup = exports.ComputeInterconnectGroupTimeoutsOutputReference = exports.ComputeInterconnectGroupInterconnectsList = exports.ComputeInterconnectGroupInterconnectsOutputReference = exports.ComputeInterconnectGroupIntentOutputReference = exports.ComputeInterconnectGroupPhysicalStructureList = exports.ComputeInterconnectGroupPhysicalStructureOutputReference = exports.ComputeInterconnectGroupPhysicalStructureMetrosList = exports.ComputeInterconnectGroupPhysicalStructureMetrosOutputReference = exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList = exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference = exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList = exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference = exports.ComputeInterconnectGroupConfiguredList = exports.ComputeInterconnectGroupConfiguredOutputReference = exports.ComputeInterconnectGroupConfiguredTopologyCapabilityList = exports.ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference = exports.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList = exports.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference = void 0; exports.computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToTerraform = computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToTerraform; exports.computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToHclTerraform = computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToHclTerraform; exports.computeInterconnectGroupConfiguredTopologyCapabilityToTerraform = computeInterconnectGroupConfiguredTopologyCapabilityToTerraform; exports.computeInterconnectGroupConfiguredTopologyCapabilityToHclTerraform = computeInterconnectGroupConfiguredTopologyCapabilityToHclTerraform; exports.computeInterconnectGroupConfiguredToTerraform = computeInterconnectGroupConfiguredToTerraform; exports.computeInterconnectGroupConfiguredToHclTerraform = computeInterconnectGroupConfiguredToHclTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToTerraform = computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToHclTerraform = computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToHclTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosFacilitiesToTerraform = computeInterconnectGroupPhysicalStructureMetrosFacilitiesToTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosFacilitiesToHclTerraform = computeInterconnectGroupPhysicalStructureMetrosFacilitiesToHclTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosToTerraform = computeInterconnectGroupPhysicalStructureMetrosToTerraform; exports.computeInterconnectGroupPhysicalStructureMetrosToHclTerraform = computeInterconnectGroupPhysicalStructureMetrosToHclTerraform; exports.computeInterconnectGroupPhysicalStructureToTerraform = computeInterconnectGroupPhysicalStructureToTerraform; exports.computeInterconnectGroupPhysicalStructureToHclTerraform = computeInterconnectGroupPhysicalStructureToHclTerraform; exports.computeInterconnectGroupIntentToTerraform = computeInterconnectGroupIntentToTerraform; exports.computeInterconnectGroupIntentToHclTerraform = computeInterconnectGroupIntentToHclTerraform; exports.computeInterconnectGroupInterconnectsToTerraform = computeInterconnectGroupInterconnectsToTerraform; exports.computeInterconnectGroupInterconnectsToHclTerraform = computeInterconnectGroupInterconnectsToHclTerraform; exports.computeInterconnectGroupTimeoutsToTerraform = computeInterconnectGroupTimeoutsToTerraform; exports.computeInterconnectGroupTimeoutsToHclTerraform = computeInterconnectGroupTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToTerraform(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 computeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersToHclTerraform(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 ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference 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; } } // blocker_type - computed: true, optional: false, required: false get blockerType() { return this.getStringAttribute('blocker_type'); } // documentation_link - computed: true, optional: false, required: false get documentationLink() { return this.getStringAttribute('documentation_link'); } // explanation - computed: true, optional: false, required: false get explanation() { return this.getStringAttribute('explanation'); } // facilities - computed: true, optional: false, required: false get facilities() { return this.getListAttribute('facilities'); } // interconnects - computed: true, optional: false, required: false get interconnects() { return this.getListAttribute('interconnects'); } // metros - computed: true, optional: false, required: false get metros() { return this.getListAttribute('metros'); } // zones - computed: true, optional: false, required: false get zones() { return this.getListAttribute('zones'); } } exports.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference = ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference[_a] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList 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 ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList = ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList; _b = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList[_b] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList", version: "16.3.0" }; function computeInterconnectGroupConfiguredTopologyCapabilityToTerraform(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 computeInterconnectGroupConfiguredTopologyCapabilityToHclTerraform(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 ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference 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; // intended_capability_blockers - computed: true, optional: false, required: false this._intendedCapabilityBlockers = new ComputeInterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockersList(this, "intended_capability_blockers", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get intendedCapabilityBlockers() { return this._intendedCapabilityBlockers; } // supported_sla - computed: true, optional: false, required: false get supportedSla() { return this.getStringAttribute('supported_sla'); } } exports.ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference = ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference[_c] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupConfiguredTopologyCapabilityList 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 ComputeInterconnectGroupConfiguredTopologyCapabilityOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupConfiguredTopologyCapabilityList = ComputeInterconnectGroupConfiguredTopologyCapabilityList; _d = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredTopologyCapabilityList[_d] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredTopologyCapabilityList", version: "16.3.0" }; function computeInterconnectGroupConfiguredToTerraform(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 computeInterconnectGroupConfiguredToHclTerraform(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 ComputeInterconnectGroupConfiguredOutputReference 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; // topology_capability - computed: true, optional: false, required: false this._topologyCapability = new ComputeInterconnectGroupConfiguredTopologyCapabilityList(this, "topology_capability", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get topologyCapability() { return this._topologyCapability; } } exports.ComputeInterconnectGroupConfiguredOutputReference = ComputeInterconnectGroupConfiguredOutputReference; _e = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredOutputReference[_e] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupConfiguredList 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 ComputeInterconnectGroupConfiguredOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupConfiguredList = ComputeInterconnectGroupConfiguredList; _f = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupConfiguredList[_f] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupConfiguredList", version: "16.3.0" }; function computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToTerraform(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 computeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesToHclTerraform(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 ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference 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; } } // interconnects - computed: true, optional: false, required: false get interconnects() { return this.getListAttribute('interconnects'); } // zone - computed: true, optional: false, required: false get zone() { return this.getStringAttribute('zone'); } } exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference = ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference; _g = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference[_g] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList 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 ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList = ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList; _h = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList[_h] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList", version: "16.3.0" }; function computeInterconnectGroupPhysicalStructureMetrosFacilitiesToTerraform(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 computeInterconnectGroupPhysicalStructureMetrosFacilitiesToHclTerraform(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 ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference 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; // zones - computed: true, optional: false, required: false this._zones = new ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesZonesList(this, "zones", 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; } } // facility - computed: true, optional: false, required: false get facility() { return this.getStringAttribute('facility'); } get zones() { return this._zones; } } exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference = ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference; _j = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference[_j] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList 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 ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList = ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList; _k = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList[_k] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList", version: "16.3.0" }; function computeInterconnectGroupPhysicalStructureMetrosToTerraform(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 computeInterconnectGroupPhysicalStructureMetrosToHclTerraform(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 ComputeInterconnectGroupPhysicalStructureMetrosOutputReference 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; // facilities - computed: true, optional: false, required: false this._facilities = new ComputeInterconnectGroupPhysicalStructureMetrosFacilitiesList(this, "facilities", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get facilities() { return this._facilities; } // metro - computed: true, optional: false, required: false get metro() { return this.getStringAttribute('metro'); } } exports.ComputeInterconnectGroupPhysicalStructureMetrosOutputReference = ComputeInterconnectGroupPhysicalStructureMetrosOutputReference; _l = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosOutputReference[_l] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupPhysicalStructureMetrosList 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 ComputeInterconnectGroupPhysicalStructureMetrosOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupPhysicalStructureMetrosList = ComputeInterconnectGroupPhysicalStructureMetrosList; _m = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureMetrosList[_m] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureMetrosList", version: "16.3.0" }; function computeInterconnectGroupPhysicalStructureToTerraform(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 computeInterconnectGroupPhysicalStructureToHclTerraform(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 ComputeInterconnectGroupPhysicalStructureOutputReference 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; // metros - computed: true, optional: false, required: false this._metros = new ComputeInterconnectGroupPhysicalStructureMetrosList(this, "metros", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get metros() { return this._metros; } } exports.ComputeInterconnectGroupPhysicalStructureOutputReference = ComputeInterconnectGroupPhysicalStructureOutputReference; _o = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureOutputReference[_o] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupPhysicalStructureList 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 ComputeInterconnectGroupPhysicalStructureOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupPhysicalStructureList = ComputeInterconnectGroupPhysicalStructureList; _p = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupPhysicalStructureList[_p] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupPhysicalStructureList", version: "16.3.0" }; function computeInterconnectGroupIntentToTerraform(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 { topology_capability: cdktf.stringToTerraform(struct.topologyCapability), }; } function computeInterconnectGroupIntentToHclTerraform(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 = { topology_capability: { value: cdktf.stringToHclTerraform(struct.topologyCapability), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInterconnectGroupIntentOutputReference 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._topologyCapability !== undefined) { hasAnyValues = true; internalValueResult.topologyCapability = this._topologyCapability; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._topologyCapability = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._topologyCapability = value.topologyCapability; } } get topologyCapability() { return this.getStringAttribute('topology_capability'); } set topologyCapability(value) { this._topologyCapability = value; } resetTopologyCapability() { this._topologyCapability = undefined; } // Temporarily expose input value. Use with caution. get topologyCapabilityInput() { return this._topologyCapability; } } exports.ComputeInterconnectGroupIntentOutputReference = ComputeInterconnectGroupIntentOutputReference; _q = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupIntentOutputReference[_q] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupIntentOutputReference", version: "16.3.0" }; function computeInterconnectGroupInterconnectsToTerraform(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 { interconnect: cdktf.stringToTerraform(struct.interconnect), name: cdktf.stringToTerraform(struct.name), }; } function computeInterconnectGroupInterconnectsToHclTerraform(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 = { interconnect: { value: cdktf.stringToHclTerraform(struct.interconnect), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInterconnectGroupInterconnectsOutputReference 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._interconnect !== undefined) { hasAnyValues = true; internalValueResult.interconnect = this._interconnect; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._interconnect = undefined; this._name = 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._interconnect = value.interconnect; this._name = value.name; } } get interconnect() { return this.getStringAttribute('interconnect'); } set interconnect(value) { this._interconnect = value; } resetInterconnect() { this._interconnect = undefined; } // Temporarily expose input value. Use with caution. get interconnectInput() { return this._interconnect; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.ComputeInterconnectGroupInterconnectsOutputReference = ComputeInterconnectGroupInterconnectsOutputReference; _r = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupInterconnectsOutputReference[_r] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupInterconnectsOutputReference", version: "16.3.0" }; class ComputeInterconnectGroupInterconnectsList 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 ComputeInterconnectGroupInterconnectsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInterconnectGroupInterconnectsList = ComputeInterconnectGroupInterconnectsList; _s = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupInterconnectsList[_s] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupInterconnectsList", version: "16.3.0" }; function computeInterconnectGroupTimeoutsToTerraform(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 computeInterconnectGroupTimeoutsToHclTerraform(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 ComputeInterconnectGroupTimeoutsOutputReference 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.ComputeInterconnectGroupTimeoutsOutputReference = ComputeInterconnectGroupTimeoutsOutputReference; _t = JSII_RTTI_SYMBOL_1; ComputeInterconnectGroupTimeoutsOutputReference[_t] = { fqn: "@cdktf/provider-google.computeInterconnectGroup.ComputeInterconnectGroupTimeoutsOutputReference", version: "16.3.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_interconnect_group google_compute_interconnect_group} */ class ComputeInterconnectGroup extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ComputeInterconnectGroup resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the ComputeInterconnectGroup to import * @param importFromId The id of the existing ComputeInterconnectGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_interconnect_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeInterconnectGroup to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_compute_interconnect_group", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_interconnect_group google_compute_interconnect_group} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options ComputeInterconnectGroupConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_compute_interconnect_group', terraformGeneratorMetadata: { providerName: 'google', providerVersion: '6.41.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // ========== // ATTRIBUTES // ========== // configured - computed: true, optional: false, required: false this._configured = new ComputeInterconnectGroupConfiguredList(this, "configured", false); // physical_structure - computed: true, optional: false, required: false this._physicalStructure = new ComputeInterconnectGroupPhysicalStructureList(this, "physical_structure", false); // intent - computed: false, optional: false, required: true this._intent = new ComputeInterconnectGroupIntentOutputReference(this, "intent"); // interconnects - computed: false, optional: true, required: false this._interconnects = new ComputeInterconnectGroupInterconnectsList(this, "interconnects", true); // timeouts - computed: false, optional: true, required: false this._timeouts = new ComputeInterconnectGroupTimeoutsOutputReference(this, "timeouts"); this._description = config.description; this._id = config.id; this._name = config.name; this._project = config.project; this._intent.internalValue = config.intent; this._interconnects.internalValue = config.interconnects; this._timeouts.internalValue = config.timeouts; } get configured() { return this._configured; } // creation_timestamp - computed: true, optional: false, required: false get creationTimestamp() { return this.getStringAttribute('creation_timestamp'); } 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 id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; }