UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,242 lines 180 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputeRouterPeer = exports.ComputeRouterPeerTimeoutsOutputReference = exports.computeRouterPeerTimeoutsToHclTerraform = exports.computeRouterPeerTimeoutsToTerraform = exports.ComputeRouterPeerMd5AuthenticationKeyOutputReference = exports.computeRouterPeerMd5AuthenticationKeyToHclTerraform = exports.computeRouterPeerMd5AuthenticationKeyToTerraform = exports.ComputeRouterPeerCustomLearnedIpRangesList = exports.ComputeRouterPeerCustomLearnedIpRangesOutputReference = exports.computeRouterPeerCustomLearnedIpRangesToHclTerraform = exports.computeRouterPeerCustomLearnedIpRangesToTerraform = exports.ComputeRouterPeerBfdOutputReference = exports.computeRouterPeerBfdToHclTerraform = exports.computeRouterPeerBfdToTerraform = exports.ComputeRouterPeerAdvertisedIpRangesList = exports.ComputeRouterPeerAdvertisedIpRangesOutputReference = exports.computeRouterPeerAdvertisedIpRangesToHclTerraform = exports.computeRouterPeerAdvertisedIpRangesToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeRouterPeerAdvertisedIpRangesToTerraform(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 { description: cdktf.stringToTerraform(struct.description), range: cdktf.stringToTerraform(struct.range), }; } exports.computeRouterPeerAdvertisedIpRangesToTerraform = computeRouterPeerAdvertisedIpRangesToTerraform; function computeRouterPeerAdvertisedIpRangesToHclTerraform(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 = { description: { value: cdktf.stringToHclTerraform(struct.description), isBlock: false, type: "simple", storageClassType: "string", }, range: { value: cdktf.stringToHclTerraform(struct.range), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeRouterPeerAdvertisedIpRangesToHclTerraform = computeRouterPeerAdvertisedIpRangesToHclTerraform; class ComputeRouterPeerAdvertisedIpRangesOutputReference 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._description !== undefined) { hasAnyValues = true; internalValueResult.description = this._description; } if (this._range !== undefined) { hasAnyValues = true; internalValueResult.range = this._range; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._description = undefined; this._range = 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._description = value.description; this._range = value.range; } } 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 range() { return this.getStringAttribute('range'); } set range(value) { this._range = value; } // Temporarily expose input value. Use with caution. get rangeInput() { return this._range; } } exports.ComputeRouterPeerAdvertisedIpRangesOutputReference = ComputeRouterPeerAdvertisedIpRangesOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeRouterPeerAdvertisedIpRangesOutputReference[_a] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerAdvertisedIpRangesOutputReference", version: "14.12.0" }; class ComputeRouterPeerAdvertisedIpRangesList 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 ComputeRouterPeerAdvertisedIpRangesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeRouterPeerAdvertisedIpRangesList = ComputeRouterPeerAdvertisedIpRangesList; _b = JSII_RTTI_SYMBOL_1; ComputeRouterPeerAdvertisedIpRangesList[_b] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerAdvertisedIpRangesList", version: "14.12.0" }; function computeRouterPeerBfdToTerraform(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 { min_receive_interval: cdktf.numberToTerraform(struct.minReceiveInterval), min_transmit_interval: cdktf.numberToTerraform(struct.minTransmitInterval), multiplier: cdktf.numberToTerraform(struct.multiplier), session_initialization_mode: cdktf.stringToTerraform(struct.sessionInitializationMode), }; } exports.computeRouterPeerBfdToTerraform = computeRouterPeerBfdToTerraform; function computeRouterPeerBfdToHclTerraform(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 = { min_receive_interval: { value: cdktf.numberToHclTerraform(struct.minReceiveInterval), isBlock: false, type: "simple", storageClassType: "number", }, min_transmit_interval: { value: cdktf.numberToHclTerraform(struct.minTransmitInterval), isBlock: false, type: "simple", storageClassType: "number", }, multiplier: { value: cdktf.numberToHclTerraform(struct.multiplier), isBlock: false, type: "simple", storageClassType: "number", }, session_initialization_mode: { value: cdktf.stringToHclTerraform(struct.sessionInitializationMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeRouterPeerBfdToHclTerraform = computeRouterPeerBfdToHclTerraform; class ComputeRouterPeerBfdOutputReference 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._minReceiveInterval !== undefined) { hasAnyValues = true; internalValueResult.minReceiveInterval = this._minReceiveInterval; } if (this._minTransmitInterval !== undefined) { hasAnyValues = true; internalValueResult.minTransmitInterval = this._minTransmitInterval; } if (this._multiplier !== undefined) { hasAnyValues = true; internalValueResult.multiplier = this._multiplier; } if (this._sessionInitializationMode !== undefined) { hasAnyValues = true; internalValueResult.sessionInitializationMode = this._sessionInitializationMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._minReceiveInterval = undefined; this._minTransmitInterval = undefined; this._multiplier = undefined; this._sessionInitializationMode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._minReceiveInterval = value.minReceiveInterval; this._minTransmitInterval = value.minTransmitInterval; this._multiplier = value.multiplier; this._sessionInitializationMode = value.sessionInitializationMode; } } get minReceiveInterval() { return this.getNumberAttribute('min_receive_interval'); } set minReceiveInterval(value) { this._minReceiveInterval = value; } resetMinReceiveInterval() { this._minReceiveInterval = undefined; } // Temporarily expose input value. Use with caution. get minReceiveIntervalInput() { return this._minReceiveInterval; } get minTransmitInterval() { return this.getNumberAttribute('min_transmit_interval'); } set minTransmitInterval(value) { this._minTransmitInterval = value; } resetMinTransmitInterval() { this._minTransmitInterval = undefined; } // Temporarily expose input value. Use with caution. get minTransmitIntervalInput() { return this._minTransmitInterval; } get multiplier() { return this.getNumberAttribute('multiplier'); } set multiplier(value) { this._multiplier = value; } resetMultiplier() { this._multiplier = undefined; } // Temporarily expose input value. Use with caution. get multiplierInput() { return this._multiplier; } get sessionInitializationMode() { return this.getStringAttribute('session_initialization_mode'); } set sessionInitializationMode(value) { this._sessionInitializationMode = value; } // Temporarily expose input value. Use with caution. get sessionInitializationModeInput() { return this._sessionInitializationMode; } } exports.ComputeRouterPeerBfdOutputReference = ComputeRouterPeerBfdOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeRouterPeerBfdOutputReference[_c] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerBfdOutputReference", version: "14.12.0" }; function computeRouterPeerCustomLearnedIpRangesToTerraform(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 { range: cdktf.stringToTerraform(struct.range), }; } exports.computeRouterPeerCustomLearnedIpRangesToTerraform = computeRouterPeerCustomLearnedIpRangesToTerraform; function computeRouterPeerCustomLearnedIpRangesToHclTerraform(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 = { range: { value: cdktf.stringToHclTerraform(struct.range), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeRouterPeerCustomLearnedIpRangesToHclTerraform = computeRouterPeerCustomLearnedIpRangesToHclTerraform; class ComputeRouterPeerCustomLearnedIpRangesOutputReference 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._range !== undefined) { hasAnyValues = true; internalValueResult.range = this._range; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._range = 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._range = value.range; } } get range() { return this.getStringAttribute('range'); } set range(value) { this._range = value; } // Temporarily expose input value. Use with caution. get rangeInput() { return this._range; } } exports.ComputeRouterPeerCustomLearnedIpRangesOutputReference = ComputeRouterPeerCustomLearnedIpRangesOutputReference; _d = JSII_RTTI_SYMBOL_1; ComputeRouterPeerCustomLearnedIpRangesOutputReference[_d] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerCustomLearnedIpRangesOutputReference", version: "14.12.0" }; class ComputeRouterPeerCustomLearnedIpRangesList 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 ComputeRouterPeerCustomLearnedIpRangesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeRouterPeerCustomLearnedIpRangesList = ComputeRouterPeerCustomLearnedIpRangesList; _e = JSII_RTTI_SYMBOL_1; ComputeRouterPeerCustomLearnedIpRangesList[_e] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerCustomLearnedIpRangesList", version: "14.12.0" }; function computeRouterPeerMd5AuthenticationKeyToTerraform(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 { key: cdktf.stringToTerraform(struct.key), name: cdktf.stringToTerraform(struct.name), }; } exports.computeRouterPeerMd5AuthenticationKeyToTerraform = computeRouterPeerMd5AuthenticationKeyToTerraform; function computeRouterPeerMd5AuthenticationKeyToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), 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)); } exports.computeRouterPeerMd5AuthenticationKeyToHclTerraform = computeRouterPeerMd5AuthenticationKeyToHclTerraform; class ComputeRouterPeerMd5AuthenticationKeyOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._key = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._key = value.key; this._name = value.name; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } 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.ComputeRouterPeerMd5AuthenticationKeyOutputReference = ComputeRouterPeerMd5AuthenticationKeyOutputReference; _f = JSII_RTTI_SYMBOL_1; ComputeRouterPeerMd5AuthenticationKeyOutputReference[_f] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerMd5AuthenticationKeyOutputReference", version: "14.12.0" }; function computeRouterPeerTimeoutsToTerraform(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), }; } exports.computeRouterPeerTimeoutsToTerraform = computeRouterPeerTimeoutsToTerraform; function computeRouterPeerTimeoutsToHclTerraform(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)); } exports.computeRouterPeerTimeoutsToHclTerraform = computeRouterPeerTimeoutsToHclTerraform; class ComputeRouterPeerTimeoutsOutputReference 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.ComputeRouterPeerTimeoutsOutputReference = ComputeRouterPeerTimeoutsOutputReference; _g = JSII_RTTI_SYMBOL_1; ComputeRouterPeerTimeoutsOutputReference[_g] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeerTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer google_compute_router_peer} */ class ComputeRouterPeer extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ComputeRouterPeer 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 ComputeRouterPeer to import * @param importFromId The id of the existing ComputeRouterPeer that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeRouterPeer to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_compute_router_peer", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer google_compute_router_peer} 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 ComputeRouterPeerConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_compute_router_peer', terraformGeneratorMetadata: { providerName: 'google', providerVersion: '6.13.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 }); // advertised_ip_ranges - computed: false, optional: true, required: false this._advertisedIpRanges = new ComputeRouterPeerAdvertisedIpRangesList(this, "advertised_ip_ranges", false); // bfd - computed: false, optional: true, required: false this._bfd = new ComputeRouterPeerBfdOutputReference(this, "bfd"); // custom_learned_ip_ranges - computed: false, optional: true, required: false this._customLearnedIpRanges = new ComputeRouterPeerCustomLearnedIpRangesList(this, "custom_learned_ip_ranges", false); // md5_authentication_key - computed: false, optional: true, required: false this._md5AuthenticationKey = new ComputeRouterPeerMd5AuthenticationKeyOutputReference(this, "md5_authentication_key"); // timeouts - computed: false, optional: true, required: false this._timeouts = new ComputeRouterPeerTimeoutsOutputReference(this, "timeouts"); this._advertiseMode = config.advertiseMode; this._advertisedGroups = config.advertisedGroups; this._advertisedRoutePriority = config.advertisedRoutePriority; this._customLearnedRoutePriority = config.customLearnedRoutePriority; this._enable = config.enable; this._enableIpv4 = config.enableIpv4; this._enableIpv6 = config.enableIpv6; this._id = config.id; this._interface = config.interface; this._ipAddress = config.ipAddress; this._ipv4NexthopAddress = config.ipv4NexthopAddress; this._ipv6NexthopAddress = config.ipv6NexthopAddress; this._name = config.name; this._peerAsn = config.peerAsn; this._peerIpAddress = config.peerIpAddress; this._peerIpv4NexthopAddress = config.peerIpv4NexthopAddress; this._peerIpv6NexthopAddress = config.peerIpv6NexthopAddress; this._project = config.project; this._region = config.region; this._router = config.router; this._routerApplianceInstance = config.routerApplianceInstance; this._advertisedIpRanges.internalValue = config.advertisedIpRanges; this._bfd.internalValue = config.bfd; this._customLearnedIpRanges.internalValue = config.customLearnedIpRanges; this._md5AuthenticationKey.internalValue = config.md5AuthenticationKey; this._timeouts.internalValue = config.timeouts; } get advertiseMode() { return this.getStringAttribute('advertise_mode'); } set advertiseMode(value) { this._advertiseMode = value; } resetAdvertiseMode() { this._advertiseMode = undefined; } // Temporarily expose input value. Use with caution. get advertiseModeInput() { return this._advertiseMode; } get advertisedGroups() { return this.getListAttribute('advertised_groups'); } set advertisedGroups(value) { this._advertisedGroups = value; } resetAdvertisedGroups() { this._advertisedGroups = undefined; } // Temporarily expose input value. Use with caution. get advertisedGroupsInput() { return this._advertisedGroups; } get advertisedRoutePriority() { return this.getNumberAttribute('advertised_route_priority'); } set advertisedRoutePriority(value) { this._advertisedRoutePriority = value; } resetAdvertisedRoutePriority() { this._advertisedRoutePriority = undefined; } // Temporarily expose input value. Use with caution. get advertisedRoutePriorityInput() { return this._advertisedRoutePriority; } get customLearnedRoutePriority() { return this.getNumberAttribute('custom_learned_route_priority'); } set customLearnedRoutePriority(value) { this._customLearnedRoutePriority = value; } resetCustomLearnedRoutePriority() { this._customLearnedRoutePriority = undefined; } // Temporarily expose input value. Use with caution. get customLearnedRoutePriorityInput() { return this._customLearnedRoutePriority; } get enable() { return this.getBooleanAttribute('enable'); } set enable(value) { this._enable = value; } resetEnable() { this._enable = undefined; } // Temporarily expose input value. Use with caution. get enableInput() { return this._enable; } get enableIpv4() { return this.getBooleanAttribute('enable_ipv4'); } set enableIpv4(value) { this._enableIpv4 = value; } resetEnableIpv4() { this._enableIpv4 = undefined; } // Temporarily expose input value. Use with caution. get enableIpv4Input() { return this._enableIpv4; } get enableIpv6() { return this.getBooleanAttribute('enable_ipv6'); } set enableIpv6(value) { this._enableIpv6 = value; } resetEnableIpv6() { this._enableIpv6 = undefined; } // Temporarily expose input value. Use with caution. get enableIpv6Input() { return this._enableIpv6; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get interface() { return this.getStringAttribute('interface'); } set interface(value) { this._interface = value; } // Temporarily expose input value. Use with caution. get interfaceInput() { return this._interface; } get ipAddress() { return this.getStringAttribute('ip_address'); } set ipAddress(value) { this._ipAddress = value; } resetIpAddress() { this._ipAddress = undefined; } // Temporarily expose input value. Use with caution. get ipAddressInput() { return this._ipAddress; } get ipv4NexthopAddress() { return this.getStringAttribute('ipv4_nexthop_address'); } set ipv4NexthopAddress(value) { this._ipv4NexthopAddress = value; } resetIpv4NexthopAddress() { this._ipv4NexthopAddress = undefined; } // Temporarily expose input value. Use with caution. get ipv4NexthopAddressInput() { return this._ipv4NexthopAddress; } get ipv6NexthopAddress() { return this.getStringAttribute('ipv6_nexthop_address'); } set ipv6NexthopAddress(value) { this._ipv6NexthopAddress = value; } resetIpv6NexthopAddress() { this._ipv6NexthopAddress = undefined; } // Temporarily expose input value. Use with caution. get ipv6NexthopAddressInput() { return this._ipv6NexthopAddress; } // management_type - computed: true, optional: false, required: false get managementType() { return this.getStringAttribute('management_type'); } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get peerAsn() { return this.getNumberAttribute('peer_asn'); } set peerAsn(value) { this._peerAsn = value; } // Temporarily expose input value. Use with caution. get peerAsnInput() { return this._peerAsn; } get peerIpAddress() { return this.getStringAttribute('peer_ip_address'); } set peerIpAddress(value) { this._peerIpAddress = value; } resetPeerIpAddress() { this._peerIpAddress = undefined; } // Temporarily expose input value. Use with caution. get peerIpAddressInput() { return this._peerIpAddress; } get peerIpv4NexthopAddress() { return this.getStringAttribute('peer_ipv4_nexthop_address'); } set peerIpv4NexthopAddress(value) { this._peerIpv4NexthopAddress = value; } resetPeerIpv4NexthopAddress() { this._peerIpv4NexthopAddress = undefined; } // Temporarily expose input value. Use with caution. get peerIpv4NexthopAddressInput() { return this._peerIpv4NexthopAddress; } get peerIpv6NexthopAddress() { return this.getStringAttribute('peer_ipv6_nexthop_address'); } set peerIpv6NexthopAddress(value) { this._peerIpv6NexthopAddress = value; } resetPeerIpv6NexthopAddress() { this._peerIpv6NexthopAddress = undefined; } // Temporarily expose input value. Use with caution. get peerIpv6NexthopAddressInput() { return this._peerIpv6NexthopAddress; } get project() { return this.getStringAttribute('project'); } set project(value) { this._project = value; } resetProject() { this._project = undefined; } // 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; } get router() { return this.getStringAttribute('router'); } set router(value) { this._router = value; } // Temporarily expose input value. Use with caution. get routerInput() { return this._router; } get routerApplianceInstance() { return this.getStringAttribute('router_appliance_instance'); } set routerApplianceInstance(value) { this._routerApplianceInstance = value; } resetRouterApplianceInstance() { this._routerApplianceInstance = undefined; } // Temporarily expose input value. Use with caution. get routerApplianceInstanceInput() { return this._routerApplianceInstance; } get advertisedIpRanges() { return this._advertisedIpRanges; } putAdvertisedIpRanges(value) { this._advertisedIpRanges.internalValue = value; } resetAdvertisedIpRanges() { this._advertisedIpRanges.internalValue = undefined; } // Temporarily expose input value. Use with caution. get advertisedIpRangesInput() { return this._advertisedIpRanges.internalValue; } get bfd() { return this._bfd; } putBfd(value) { this._bfd.internalValue = value; } resetBfd() { this._bfd.internalValue = undefined; } // Temporarily expose input value. Use with caution. get bfdInput() { return this._bfd.internalValue; } get customLearnedIpRanges() { return this._customLearnedIpRanges; } putCustomLearnedIpRanges(value) { this._customLearnedIpRanges.internalValue = value; } resetCustomLearnedIpRanges() { this._customLearnedIpRanges.internalValue = undefined; } // Temporarily expose input value. Use with caution. get customLearnedIpRangesInput() { return this._customLearnedIpRanges.internalValue; } get md5AuthenticationKey() { return this._md5AuthenticationKey; } putMd5AuthenticationKey(value) { this._md5AuthenticationKey.internalValue = value; } resetMd5AuthenticationKey() { this._md5AuthenticationKey.internalValue = undefined; } // Temporarily expose input value. Use with caution. get md5AuthenticationKeyInput() { return this._md5AuthenticationKey.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { advertise_mode: cdktf.stringToTerraform(this._advertiseMode), advertised_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(this._advertisedGroups), advertised_route_priority: cdktf.numberToTerraform(this._advertisedRoutePriority), custom_learned_route_priority: cdktf.numberToTerraform(this._customLearnedRoutePriority), enable: cdktf.booleanToTerraform(this._enable), enable_ipv4: cdktf.booleanToTerraform(this._enableIpv4), enable_ipv6: cdktf.booleanToTerraform(this._enableIpv6), id: cdktf.stringToTerraform(this._id), interface: cdktf.stringToTerraform(this._interface), ip_address: cdktf.stringToTerraform(this._ipAddress), ipv4_nexthop_address: cdktf.stringToTerraform(this._ipv4NexthopAddress), ipv6_nexthop_address: cdktf.stringToTerraform(this._ipv6NexthopAddress), name: cdktf.stringToTerraform(this._name), peer_asn: cdktf.numberToTerraform(this._peerAsn), peer_ip_address: cdktf.stringToTerraform(this._peerIpAddress), peer_ipv4_nexthop_address: cdktf.stringToTerraform(this._peerIpv4NexthopAddress), peer_ipv6_nexthop_address: cdktf.stringToTerraform(this._peerIpv6NexthopAddress), project: cdktf.stringToTerraform(this._project), region: cdktf.stringToTerraform(this._region), router: cdktf.stringToTerraform(this._router), router_appliance_instance: cdktf.stringToTerraform(this._routerApplianceInstance), advertised_ip_ranges: cdktf.listMapper(computeRouterPeerAdvertisedIpRangesToTerraform, true)(this._advertisedIpRanges.internalValue), bfd: computeRouterPeerBfdToTerraform(this._bfd.internalValue), custom_learned_ip_ranges: cdktf.listMapper(computeRouterPeerCustomLearnedIpRangesToTerraform, true)(this._customLearnedIpRanges.internalValue), md5_authentication_key: computeRouterPeerMd5AuthenticationKeyToTerraform(this._md5AuthenticationKey.internalValue), timeouts: computeRouterPeerTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { advertise_mode: { value: cdktf.stringToHclTerraform(this._advertiseMode), isBlock: false, type: "simple", storageClassType: "string", }, advertised_groups: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._advertisedGroups), isBlock: false, type: "list", storageClassType: "stringList", }, advertised_route_priority: { value: cdktf.numberToHclTerraform(this._advertisedRoutePriority), isBlock: false, type: "simple", storageClassType: "number", }, custom_learned_route_priority: { value: cdktf.numberToHclTerraform(this._customLearnedRoutePriority), isBlock: false, type: "simple", storageClassType: "number", }, enable: { value: cdktf.booleanToHclTerraform(this._enable), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_ipv4: { value: cdktf.booleanToHclTerraform(this._enableIpv4), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_ipv6: { value: cdktf.booleanToHclTerraform(this._enableIpv6), isBlock: false, type: "simple", storageClassType: "boolean", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, interface: { value: cdktf.stringToHclTerraform(this._interface), isBlock: false, type: "simple", storageClassType: "string", }, ip_address: { value: cdktf.stringToHclTerraform(this._ipAddress), isBlock: false, type: "simple", storageClassType: "string", }, ipv4_nexthop_address: { value: cdktf.stringToHclTerraform(this._ipv4NexthopAddress), isBlock: false, type: "simple", storageClassType: "string", }, ipv6_nexthop_address: { value: cdktf.stringToHclTerraform(this._ipv6NexthopAddress), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, peer_asn: { value: cdktf.numberToHclTerraform(this._peerAsn), isBlock: false, type: "simple", storageClassType: "number", }, peer_ip_address: { value: cdktf.stringToHclTerraform(this._peerIpAddress), isBlock: false, type: "simple", storageClassType: "string", }, peer_ipv4_nexthop_address: { value: cdktf.stringToHclTerraform(this._peerIpv4NexthopAddress), isBlock: false, type: "simple", storageClassType: "string", }, peer_ipv6_nexthop_address: { value: cdktf.stringToHclTerraform(this._peerIpv6NexthopAddress), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, router: { value: cdktf.stringToHclTerraform(this._router), isBlock: false, type: "simple", storageClassType: "string", }, router_appliance_instance: { value: cdktf.stringToHclTerraform(this._routerApplianceInstance), isBlock: false, type: "simple", storageClassType: "string", }, advertised_ip_ranges: { value: cdktf.listMapperHcl(computeRouterPeerAdvertisedIpRangesToHclTerraform, true)(this._advertisedIpRanges.internalValue), isBlock: true, type: "list", storageClassType: "ComputeRouterPeerAdvertisedIpRangesList", }, bfd: { value: computeRouterPeerBfdToHclTerraform(this._bfd.internalValue), isBlock: true, type: "list", storageClassType: "ComputeRouterPeerBfdList", }, custom_learned_ip_ranges: { value: cdktf.listMapperHcl(computeRouterPeerCustomLearnedIpRangesToHclTerraform, true)(this._customLearnedIpRanges.internalValue), isBlock: true, type: "list", storageClassType: "ComputeRouterPeerCustomLearnedIpRangesList", }, md5_authentication_key: { value: computeRouterPeerMd5AuthenticationKeyToHclTerraform(this._md5AuthenticationKey.internalValue), isBlock: true, type: "list", storageClassType: "ComputeRouterPeerMd5AuthenticationKeyList", }, timeouts: { value: computeRouterPeerTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "ComputeRouterPeerTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ComputeRouterPeer = ComputeRouterPeer; _h = JSII_RTTI_SYMBOL_1; ComputeRouterPeer[_h] = { fqn: "@cdktf/provider-google.computeRouterPeer.ComputeRouterPeer", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= ComputeRouterPeer.tfResourceType = "google_compute_router_peer"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZS1yb3V0ZXItcGVlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQXNOL0IsU0FBZ0IsOENBQThDLENBQUMsTUFBZ0U7SUFDN0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJB