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