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