UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,053 lines 342 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w; Object.defineProperty(exports, "__esModule", { value: true }); exports.DnsRecordSet = exports.DnsRecordSetRoutingPolicyOutputReference = exports.dnsRecordSetRoutingPolicyToHclTerraform = exports.dnsRecordSetRoutingPolicyToTerraform = exports.DnsRecordSetRoutingPolicyWrrList = exports.DnsRecordSetRoutingPolicyWrrOutputReference = exports.dnsRecordSetRoutingPolicyWrrToHclTerraform = exports.dnsRecordSetRoutingPolicyWrrToTerraform = exports.DnsRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputReference = exports.dnsRecordSetRoutingPolicyWrrHealthCheckedTargetsToHclTerraform = exports.dnsRecordSetRoutingPolicyWrrHealthCheckedTargetsToTerraform = exports.DnsRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancersList = exports.DnsRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancersOutputReference = exports.dnsRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancersToHclTerraform = exports.dnsRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancersToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupPrimaryOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersList = exports.DnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList = exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToTerraform = exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList = exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform = exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToTerraform = exports.DnsRecordSetRoutingPolicyGeoList = exports.DnsRecordSetRoutingPolicyGeoOutputReference = exports.dnsRecordSetRoutingPolicyGeoToHclTerraform = exports.dnsRecordSetRoutingPolicyGeoToTerraform = exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference = exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToHclTerraform = exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToTerraform = exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList = exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference = exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform = exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToTerraform(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 { ip_address: cdktf.stringToTerraform(struct.ipAddress), ip_protocol: cdktf.stringToTerraform(struct.ipProtocol), load_balancer_type: cdktf.stringToTerraform(struct.loadBalancerType), network_url: cdktf.stringToTerraform(struct.networkUrl), port: cdktf.stringToTerraform(struct.port), project: cdktf.stringToTerraform(struct.project), region: cdktf.stringToTerraform(struct.region), }; } exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToTerraform = dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToTerraform; function dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform(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 = { ip_address: { value: cdktf.stringToHclTerraform(struct.ipAddress), isBlock: false, type: "simple", storageClassType: "string", }, ip_protocol: { value: cdktf.stringToHclTerraform(struct.ipProtocol), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_type: { value: cdktf.stringToHclTerraform(struct.loadBalancerType), isBlock: false, type: "simple", storageClassType: "string", }, network_url: { value: cdktf.stringToHclTerraform(struct.networkUrl), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.stringToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(struct.project), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(struct.region), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform = dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform; class DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference 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._ipAddress !== undefined) { hasAnyValues = true; internalValueResult.ipAddress = this._ipAddress; } if (this._ipProtocol !== undefined) { hasAnyValues = true; internalValueResult.ipProtocol = this._ipProtocol; } if (this._loadBalancerType !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerType = this._loadBalancerType; } if (this._networkUrl !== undefined) { hasAnyValues = true; internalValueResult.networkUrl = this._networkUrl; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._project !== undefined) { hasAnyValues = true; internalValueResult.project = this._project; } if (this._region !== undefined) { hasAnyValues = true; internalValueResult.region = this._region; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._ipAddress = undefined; this._ipProtocol = undefined; this._loadBalancerType = undefined; this._networkUrl = undefined; this._port = undefined; this._project = undefined; this._region = 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._ipAddress = value.ipAddress; this._ipProtocol = value.ipProtocol; this._loadBalancerType = value.loadBalancerType; this._networkUrl = value.networkUrl; this._port = value.port; this._project = value.project; this._region = value.region; } } get ipAddress() { return this.getStringAttribute('ip_address'); } set ipAddress(value) { this._ipAddress = value; } // Temporarily expose input value. Use with caution. get ipAddressInput() { return this._ipAddress; } get ipProtocol() { return this.getStringAttribute('ip_protocol'); } set ipProtocol(value) { this._ipProtocol = value; } // Temporarily expose input value. Use with caution. get ipProtocolInput() { return this._ipProtocol; } get loadBalancerType() { return this.getStringAttribute('load_balancer_type'); } set loadBalancerType(value) { this._loadBalancerType = value; } resetLoadBalancerType() { this._loadBalancerType = undefined; } // Temporarily expose input value. Use with caution. get loadBalancerTypeInput() { return this._loadBalancerType; } get networkUrl() { return this.getStringAttribute('network_url'); } set networkUrl(value) { this._networkUrl = value; } // Temporarily expose input value. Use with caution. get networkUrlInput() { return this._networkUrl; } get port() { return this.getStringAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get project() { return this.getStringAttribute('project'); } set project(value) { this._project = value; } // Temporarily expose input value. Use with caution. get projectInput() { return this._project; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } } exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference = DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference; _a = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference[_a] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference", version: "14.12.0" }; class DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList 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 DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList = DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList; _b = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList[_b] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList", version: "14.12.0" }; function dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToTerraform(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 { internal_load_balancers: cdktf.listMapper(dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToTerraform, true)(struct.internalLoadBalancers), }; } exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToTerraform = dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToTerraform; function dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToHclTerraform(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 = { internal_load_balancers: { value: cdktf.listMapperHcl(dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform, true)(struct.internalLoadBalancers), isBlock: true, type: "list", storageClassType: "DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToHclTerraform = dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToHclTerraform; class DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference 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; // internal_load_balancers - computed: false, optional: false, required: true this._internalLoadBalancers = new DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancersList(this, "internal_load_balancers", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._internalLoadBalancers?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.internalLoadBalancers = this._internalLoadBalancers?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._internalLoadBalancers.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._internalLoadBalancers.internalValue = value.internalLoadBalancers; } } get internalLoadBalancers() { return this._internalLoadBalancers; } putInternalLoadBalancers(value) { this._internalLoadBalancers.internalValue = value; } // Temporarily expose input value. Use with caution. get internalLoadBalancersInput() { return this._internalLoadBalancers.internalValue; } } exports.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference = DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference; _c = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference[_c] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference", version: "14.12.0" }; function dnsRecordSetRoutingPolicyGeoToTerraform(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 { location: cdktf.stringToTerraform(struct.location), rrdatas: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.rrdatas), health_checked_targets: dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToTerraform(struct.healthCheckedTargets), }; } exports.dnsRecordSetRoutingPolicyGeoToTerraform = dnsRecordSetRoutingPolicyGeoToTerraform; function dnsRecordSetRoutingPolicyGeoToHclTerraform(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 = { location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, rrdatas: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.rrdatas), isBlock: false, type: "list", storageClassType: "stringList", }, health_checked_targets: { value: dnsRecordSetRoutingPolicyGeoHealthCheckedTargetsToHclTerraform(struct.healthCheckedTargets), isBlock: true, type: "list", storageClassType: "DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyGeoToHclTerraform = dnsRecordSetRoutingPolicyGeoToHclTerraform; class DnsRecordSetRoutingPolicyGeoOutputReference 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; // health_checked_targets - computed: false, optional: true, required: false this._healthCheckedTargets = new DnsRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputReference(this, "health_checked_targets"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._rrdatas !== undefined) { hasAnyValues = true; internalValueResult.rrdatas = this._rrdatas; } if (this._healthCheckedTargets?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.healthCheckedTargets = this._healthCheckedTargets?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._location = undefined; this._rrdatas = undefined; this._healthCheckedTargets.internalValue = 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._location = value.location; this._rrdatas = value.rrdatas; this._healthCheckedTargets.internalValue = value.healthCheckedTargets; } } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get rrdatas() { return this.getListAttribute('rrdatas'); } set rrdatas(value) { this._rrdatas = value; } resetRrdatas() { this._rrdatas = undefined; } // Temporarily expose input value. Use with caution. get rrdatasInput() { return this._rrdatas; } get healthCheckedTargets() { return this._healthCheckedTargets; } putHealthCheckedTargets(value) { this._healthCheckedTargets.internalValue = value; } resetHealthCheckedTargets() { this._healthCheckedTargets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get healthCheckedTargetsInput() { return this._healthCheckedTargets.internalValue; } } exports.DnsRecordSetRoutingPolicyGeoOutputReference = DnsRecordSetRoutingPolicyGeoOutputReference; _d = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyGeoOutputReference[_d] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyGeoOutputReference", version: "14.12.0" }; class DnsRecordSetRoutingPolicyGeoList 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 DnsRecordSetRoutingPolicyGeoOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DnsRecordSetRoutingPolicyGeoList = DnsRecordSetRoutingPolicyGeoList; _e = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyGeoList[_e] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyGeoList", version: "14.12.0" }; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToTerraform(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 { ip_address: cdktf.stringToTerraform(struct.ipAddress), ip_protocol: cdktf.stringToTerraform(struct.ipProtocol), load_balancer_type: cdktf.stringToTerraform(struct.loadBalancerType), network_url: cdktf.stringToTerraform(struct.networkUrl), port: cdktf.stringToTerraform(struct.port), project: cdktf.stringToTerraform(struct.project), region: cdktf.stringToTerraform(struct.region), }; } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToTerraform; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform(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 = { ip_address: { value: cdktf.stringToHclTerraform(struct.ipAddress), isBlock: false, type: "simple", storageClassType: "string", }, ip_protocol: { value: cdktf.stringToHclTerraform(struct.ipProtocol), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_type: { value: cdktf.stringToHclTerraform(struct.loadBalancerType), isBlock: false, type: "simple", storageClassType: "string", }, network_url: { value: cdktf.stringToHclTerraform(struct.networkUrl), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.stringToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(struct.project), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(struct.region), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform; class DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference 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._ipAddress !== undefined) { hasAnyValues = true; internalValueResult.ipAddress = this._ipAddress; } if (this._ipProtocol !== undefined) { hasAnyValues = true; internalValueResult.ipProtocol = this._ipProtocol; } if (this._loadBalancerType !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerType = this._loadBalancerType; } if (this._networkUrl !== undefined) { hasAnyValues = true; internalValueResult.networkUrl = this._networkUrl; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._project !== undefined) { hasAnyValues = true; internalValueResult.project = this._project; } if (this._region !== undefined) { hasAnyValues = true; internalValueResult.region = this._region; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._ipAddress = undefined; this._ipProtocol = undefined; this._loadBalancerType = undefined; this._networkUrl = undefined; this._port = undefined; this._project = undefined; this._region = 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._ipAddress = value.ipAddress; this._ipProtocol = value.ipProtocol; this._loadBalancerType = value.loadBalancerType; this._networkUrl = value.networkUrl; this._port = value.port; this._project = value.project; this._region = value.region; } } get ipAddress() { return this.getStringAttribute('ip_address'); } set ipAddress(value) { this._ipAddress = value; } // Temporarily expose input value. Use with caution. get ipAddressInput() { return this._ipAddress; } get ipProtocol() { return this.getStringAttribute('ip_protocol'); } set ipProtocol(value) { this._ipProtocol = value; } // Temporarily expose input value. Use with caution. get ipProtocolInput() { return this._ipProtocol; } get loadBalancerType() { return this.getStringAttribute('load_balancer_type'); } set loadBalancerType(value) { this._loadBalancerType = value; } resetLoadBalancerType() { this._loadBalancerType = undefined; } // Temporarily expose input value. Use with caution. get loadBalancerTypeInput() { return this._loadBalancerType; } get networkUrl() { return this.getStringAttribute('network_url'); } set networkUrl(value) { this._networkUrl = value; } // Temporarily expose input value. Use with caution. get networkUrlInput() { return this._networkUrl; } get port() { return this.getStringAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get project() { return this.getStringAttribute('project'); } set project(value) { this._project = value; } // Temporarily expose input value. Use with caution. get projectInput() { return this._project; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } } exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference = DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference; _f = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference[_f] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference", version: "14.12.0" }; class DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList 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 DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList = DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList; _g = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList[_g] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList", version: "14.12.0" }; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToTerraform(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 { internal_load_balancers: cdktf.listMapper(dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToTerraform, true)(struct.internalLoadBalancers), }; } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToTerraform; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToHclTerraform(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 = { internal_load_balancers: { value: cdktf.listMapperHcl(dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersToHclTerraform, true)(struct.internalLoadBalancers), isBlock: true, type: "list", storageClassType: "DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToHclTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToHclTerraform; class DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference 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; // internal_load_balancers - computed: false, optional: false, required: true this._internalLoadBalancers = new DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancersList(this, "internal_load_balancers", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._internalLoadBalancers?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.internalLoadBalancers = this._internalLoadBalancers?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._internalLoadBalancers.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._internalLoadBalancers.internalValue = value.internalLoadBalancers; } } get internalLoadBalancers() { return this._internalLoadBalancers; } putInternalLoadBalancers(value) { this._internalLoadBalancers.internalValue = value; } // Temporarily expose input value. Use with caution. get internalLoadBalancersInput() { return this._internalLoadBalancers.internalValue; } } exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference = DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference; _h = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference[_h] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference", version: "14.12.0" }; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToTerraform(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 { location: cdktf.stringToTerraform(struct.location), rrdatas: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.rrdatas), health_checked_targets: dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToTerraform(struct.healthCheckedTargets), }; } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToTerraform; function dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToHclTerraform(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 = { location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, rrdatas: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.rrdatas), isBlock: false, type: "list", storageClassType: "stringList", }, health_checked_targets: { value: dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsToHclTerraform(struct.healthCheckedTargets), isBlock: true, type: "list", storageClassType: "DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToHclTerraform = dnsRecordSetRoutingPolicyPrimaryBackupBackupGeoToHclTerraform; class DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference 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; // health_checked_targets - computed: false, optional: true, required: false this._healthCheckedTargets = new DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputReference(this, "health_checked_targets"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._rrdatas !== undefined) { hasAnyValues = true; internalValueResult.rrdatas = this._rrdatas; } if (this._healthCheckedTargets?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.healthCheckedTargets = this._healthCheckedTargets?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._location = undefined; this._rrdatas = undefined; this._healthCheckedTargets.internalValue = 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._location = value.location; this._rrdatas = value.rrdatas; this._healthCheckedTargets.internalValue = value.healthCheckedTargets; } } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get rrdatas() { return this.getListAttribute('rrdatas'); } set rrdatas(value) { this._rrdatas = value; } resetRrdatas() { this._rrdatas = undefined; } // Temporarily expose input value. Use with caution. get rrdatasInput() { return this._rrdatas; } get healthCheckedTargets() { return this._healthCheckedTargets; } putHealthCheckedTargets(value) { this._healthCheckedTargets.internalValue = value; } resetHealthCheckedTargets() { this._healthCheckedTargets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get healthCheckedTargetsInput() { return this._healthCheckedTargets.internalValue; } } exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference = DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference; _j = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference[_j] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference", version: "14.12.0" }; class DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList 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 DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList = DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList; _k = JSII_RTTI_SYMBOL_1; DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList[_k] = { fqn: "@cdktf/provider-google.dnsRecordSet.DnsRecordSetRoutingPolicyPrimaryBackupBackupGeoList", version: "14.12.0" }; function dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToTerraform(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 { ip_address: cdktf.stringToTerraform(struct.ipAddress), ip_protocol: cdktf.stringToTerraform(struct.ipProtocol), load_balancer_type: cdktf.stringToTerraform(struct.loadBalancerType), network_url: cdktf.stringToTerraform(struct.networkUrl), port: cdktf.stringToTerraform(struct.port), project: cdktf.stringToTerraform(struct.project), region: cdktf.stringToTerraform(struct.region), }; } exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToTerraform = dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToTerraform; function dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToHclTerraform(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 = { ip_address: { value: cdktf.stringToHclTerraform(struct.ipAddress), isBlock: false, type: "simple", storageClassType: "string", }, ip_protocol: { value: cdktf.stringToHclTerraform(struct.ipProtocol), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_type: { value: cdktf.stringToHclTerraform(struct.loadBalancerType), isBlock: false, type: "simple", storageClassType: "string", }, network_url: { value: cdktf.stringToHclTerraform(struct.networkUrl), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.stringToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(struct.project), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(struct.region), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToHclTerraform = dnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersToHclTerraform; class DnsRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancersOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this