@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,067 lines • 152 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComputeInterconnect = exports.ComputeInterconnectTimeoutsOutputReference = exports.computeInterconnectTimeoutsToHclTerraform = exports.computeInterconnectTimeoutsToTerraform = exports.ComputeInterconnectMacsecOutputReference = exports.computeInterconnectMacsecToHclTerraform = exports.computeInterconnectMacsecToTerraform = exports.ComputeInterconnectMacsecPreSharedKeysList = exports.ComputeInterconnectMacsecPreSharedKeysOutputReference = exports.computeInterconnectMacsecPreSharedKeysToHclTerraform = exports.computeInterconnectMacsecPreSharedKeysToTerraform = exports.ComputeInterconnectExpectedOutagesList = exports.ComputeInterconnectExpectedOutagesOutputReference = exports.computeInterconnectExpectedOutagesToHclTerraform = exports.computeInterconnectExpectedOutagesToTerraform = exports.ComputeInterconnectCircuitInfosList = exports.ComputeInterconnectCircuitInfosOutputReference = exports.computeInterconnectCircuitInfosToHclTerraform = exports.computeInterconnectCircuitInfosToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function computeInterconnectCircuitInfosToTerraform(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 {};
}
exports.computeInterconnectCircuitInfosToTerraform = computeInterconnectCircuitInfosToTerraform;
function computeInterconnectCircuitInfosToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {};
return attrs;
}
exports.computeInterconnectCircuitInfosToHclTerraform = computeInterconnectCircuitInfosToHclTerraform;
class ComputeInterconnectCircuitInfosOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
// customer_demarc_id - computed: true, optional: false, required: false
get customerDemarcId() {
return this.getStringAttribute('customer_demarc_id');
}
// google_circuit_id - computed: true, optional: false, required: false
get googleCircuitId() {
return this.getStringAttribute('google_circuit_id');
}
// google_demarc_id - computed: true, optional: false, required: false
get googleDemarcId() {
return this.getStringAttribute('google_demarc_id');
}
}
exports.ComputeInterconnectCircuitInfosOutputReference = ComputeInterconnectCircuitInfosOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ComputeInterconnectCircuitInfosOutputReference[_a] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectCircuitInfosOutputReference", version: "14.12.0" };
class ComputeInterconnectCircuitInfosList 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 ComputeInterconnectCircuitInfosOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ComputeInterconnectCircuitInfosList = ComputeInterconnectCircuitInfosList;
_b = JSII_RTTI_SYMBOL_1;
ComputeInterconnectCircuitInfosList[_b] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectCircuitInfosList", version: "14.12.0" };
function computeInterconnectExpectedOutagesToTerraform(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 {};
}
exports.computeInterconnectExpectedOutagesToTerraform = computeInterconnectExpectedOutagesToTerraform;
function computeInterconnectExpectedOutagesToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {};
return attrs;
}
exports.computeInterconnectExpectedOutagesToHclTerraform = computeInterconnectExpectedOutagesToHclTerraform;
class ComputeInterconnectExpectedOutagesOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
// affected_circuits - computed: true, optional: false, required: false
get affectedCircuits() {
return this.getListAttribute('affected_circuits');
}
// description - computed: true, optional: false, required: false
get description() {
return this.getStringAttribute('description');
}
// end_time - computed: true, optional: false, required: false
get endTime() {
return this.getStringAttribute('end_time');
}
// issue_type - computed: true, optional: false, required: false
get issueType() {
return this.getStringAttribute('issue_type');
}
// name - computed: true, optional: false, required: false
get name() {
return this.getStringAttribute('name');
}
// source - computed: true, optional: false, required: false
get source() {
return this.getStringAttribute('source');
}
// start_time - computed: true, optional: false, required: false
get startTime() {
return this.getStringAttribute('start_time');
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
}
exports.ComputeInterconnectExpectedOutagesOutputReference = ComputeInterconnectExpectedOutagesOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ComputeInterconnectExpectedOutagesOutputReference[_c] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectExpectedOutagesOutputReference", version: "14.12.0" };
class ComputeInterconnectExpectedOutagesList 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 ComputeInterconnectExpectedOutagesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ComputeInterconnectExpectedOutagesList = ComputeInterconnectExpectedOutagesList;
_d = JSII_RTTI_SYMBOL_1;
ComputeInterconnectExpectedOutagesList[_d] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectExpectedOutagesList", version: "14.12.0" };
function computeInterconnectMacsecPreSharedKeysToTerraform(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 {
fail_open: cdktf.booleanToTerraform(struct.failOpen),
name: cdktf.stringToTerraform(struct.name),
start_time: cdktf.stringToTerraform(struct.startTime),
};
}
exports.computeInterconnectMacsecPreSharedKeysToTerraform = computeInterconnectMacsecPreSharedKeysToTerraform;
function computeInterconnectMacsecPreSharedKeysToHclTerraform(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 = {
fail_open: {
value: cdktf.booleanToHclTerraform(struct.failOpen),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
name: {
value: cdktf.stringToHclTerraform(struct.name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
start_time: {
value: cdktf.stringToHclTerraform(struct.startTime),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeInterconnectMacsecPreSharedKeysToHclTerraform = computeInterconnectMacsecPreSharedKeysToHclTerraform;
class ComputeInterconnectMacsecPreSharedKeysOutputReference 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._failOpen !== undefined) {
hasAnyValues = true;
internalValueResult.failOpen = this._failOpen;
}
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._startTime !== undefined) {
hasAnyValues = true;
internalValueResult.startTime = this._startTime;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._failOpen = undefined;
this._name = undefined;
this._startTime = 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._failOpen = value.failOpen;
this._name = value.name;
this._startTime = value.startTime;
}
}
get failOpen() {
return this.getBooleanAttribute('fail_open');
}
set failOpen(value) {
this._failOpen = value;
}
resetFailOpen() {
this._failOpen = undefined;
}
// Temporarily expose input value. Use with caution.
get failOpenInput() {
return this._failOpen;
}
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 startTime() {
return this.getStringAttribute('start_time');
}
set startTime(value) {
this._startTime = value;
}
resetStartTime() {
this._startTime = undefined;
}
// Temporarily expose input value. Use with caution.
get startTimeInput() {
return this._startTime;
}
}
exports.ComputeInterconnectMacsecPreSharedKeysOutputReference = ComputeInterconnectMacsecPreSharedKeysOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ComputeInterconnectMacsecPreSharedKeysOutputReference[_e] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectMacsecPreSharedKeysOutputReference", version: "14.12.0" };
class ComputeInterconnectMacsecPreSharedKeysList 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 ComputeInterconnectMacsecPreSharedKeysOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ComputeInterconnectMacsecPreSharedKeysList = ComputeInterconnectMacsecPreSharedKeysList;
_f = JSII_RTTI_SYMBOL_1;
ComputeInterconnectMacsecPreSharedKeysList[_f] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectMacsecPreSharedKeysList", version: "14.12.0" };
function computeInterconnectMacsecToTerraform(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 {
fail_open: cdktf.booleanToTerraform(struct.failOpen),
pre_shared_keys: cdktf.listMapper(computeInterconnectMacsecPreSharedKeysToTerraform, true)(struct.preSharedKeys),
};
}
exports.computeInterconnectMacsecToTerraform = computeInterconnectMacsecToTerraform;
function computeInterconnectMacsecToHclTerraform(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 = {
fail_open: {
value: cdktf.booleanToHclTerraform(struct.failOpen),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
pre_shared_keys: {
value: cdktf.listMapperHcl(computeInterconnectMacsecPreSharedKeysToHclTerraform, true)(struct.preSharedKeys),
isBlock: true,
type: "list",
storageClassType: "ComputeInterconnectMacsecPreSharedKeysList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeInterconnectMacsecToHclTerraform = computeInterconnectMacsecToHclTerraform;
class ComputeInterconnectMacsecOutputReference 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;
// pre_shared_keys - computed: false, optional: false, required: true
this._preSharedKeys = new ComputeInterconnectMacsecPreSharedKeysList(this, "pre_shared_keys", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._failOpen !== undefined) {
hasAnyValues = true;
internalValueResult.failOpen = this._failOpen;
}
if (this._preSharedKeys?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.preSharedKeys = this._preSharedKeys?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._failOpen = undefined;
this._preSharedKeys.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._failOpen = value.failOpen;
this._preSharedKeys.internalValue = value.preSharedKeys;
}
}
get failOpen() {
return this.getBooleanAttribute('fail_open');
}
set failOpen(value) {
this._failOpen = value;
}
resetFailOpen() {
this._failOpen = undefined;
}
// Temporarily expose input value. Use with caution.
get failOpenInput() {
return this._failOpen;
}
get preSharedKeys() {
return this._preSharedKeys;
}
putPreSharedKeys(value) {
this._preSharedKeys.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get preSharedKeysInput() {
return this._preSharedKeys.internalValue;
}
}
exports.ComputeInterconnectMacsecOutputReference = ComputeInterconnectMacsecOutputReference;
_g = JSII_RTTI_SYMBOL_1;
ComputeInterconnectMacsecOutputReference[_g] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectMacsecOutputReference", version: "14.12.0" };
function computeInterconnectTimeoutsToTerraform(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.computeInterconnectTimeoutsToTerraform = computeInterconnectTimeoutsToTerraform;
function computeInterconnectTimeoutsToHclTerraform(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.computeInterconnectTimeoutsToHclTerraform = computeInterconnectTimeoutsToHclTerraform;
class ComputeInterconnectTimeoutsOutputReference 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.ComputeInterconnectTimeoutsOutputReference = ComputeInterconnectTimeoutsOutputReference;
_h = JSII_RTTI_SYMBOL_1;
ComputeInterconnectTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnectTimeoutsOutputReference", version: "14.12.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_interconnect google_compute_interconnect}
*/
class ComputeInterconnect extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a ComputeInterconnect 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 ComputeInterconnect to import
* @param importFromId The id of the existing ComputeInterconnect that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_interconnect#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ComputeInterconnect to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_compute_interconnect", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_interconnect google_compute_interconnect} 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 ComputeInterconnectConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'google_compute_interconnect',
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
});
// circuit_infos - computed: true, optional: false, required: false
this._circuitInfos = new ComputeInterconnectCircuitInfosList(this, "circuit_infos", false);
// effective_labels - computed: true, optional: false, required: false
this._effectiveLabels = new cdktf.StringMap(this, "effective_labels");
// expected_outages - computed: true, optional: false, required: false
this._expectedOutages = new ComputeInterconnectExpectedOutagesList(this, "expected_outages", false);
// terraform_labels - computed: true, optional: false, required: false
this._terraformLabels = new cdktf.StringMap(this, "terraform_labels");
// macsec - computed: false, optional: true, required: false
this._macsec = new ComputeInterconnectMacsecOutputReference(this, "macsec");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new ComputeInterconnectTimeoutsOutputReference(this, "timeouts");
this._adminEnabled = config.adminEnabled;
this._customerName = config.customerName;
this._description = config.description;
this._id = config.id;
this._interconnectType = config.interconnectType;
this._labels = config.labels;
this._linkType = config.linkType;
this._location = config.location;
this._macsecEnabled = config.macsecEnabled;
this._name = config.name;
this._nocContactEmail = config.nocContactEmail;
this._project = config.project;
this._remoteLocation = config.remoteLocation;
this._requestedFeatures = config.requestedFeatures;
this._requestedLinkCount = config.requestedLinkCount;
this._macsec.internalValue = config.macsec;
this._timeouts.internalValue = config.timeouts;
}
get adminEnabled() {
return this.getBooleanAttribute('admin_enabled');
}
set adminEnabled(value) {
this._adminEnabled = value;
}
resetAdminEnabled() {
this._adminEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get adminEnabledInput() {
return this._adminEnabled;
}
// available_features - computed: true, optional: false, required: false
get availableFeatures() {
return this.getListAttribute('available_features');
}
get circuitInfos() {
return this._circuitInfos;
}
// creation_timestamp - computed: true, optional: false, required: false
get creationTimestamp() {
return this.getStringAttribute('creation_timestamp');
}
get customerName() {
return this.getStringAttribute('customer_name');
}
set customerName(value) {
this._customerName = value;
}
resetCustomerName() {
this._customerName = undefined;
}
// Temporarily expose input value. Use with caution.
get customerNameInput() {
return this._customerName;
}
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 effectiveLabels() {
return this._effectiveLabels;
}
get expectedOutages() {
return this._expectedOutages;
}
// google_ip_address - computed: true, optional: false, required: false
get googleIpAddress() {
return this.getStringAttribute('google_ip_address');
}
// google_reference_id - computed: true, optional: false, required: false
get googleReferenceId() {
return this.getStringAttribute('google_reference_id');
}
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;
}
// interconnect_attachments - computed: true, optional: false, required: false
get interconnectAttachments() {
return this.getListAttribute('interconnect_attachments');
}
get interconnectType() {
return this.getStringAttribute('interconnect_type');
}
set interconnectType(value) {
this._interconnectType = value;
}
// Temporarily expose input value. Use with caution.
get interconnectTypeInput() {
return this._interconnectType;
}
// label_fingerprint - computed: true, optional: false, required: false
get labelFingerprint() {
return this.getStringAttribute('label_fingerprint');
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
get linkType() {
return this.getStringAttribute('link_type');
}
set linkType(value) {
this._linkType = value;
}
// Temporarily expose input value. Use with caution.
get linkTypeInput() {
return this._linkType;
}
get location() {
return this.getStringAttribute('location');
}
set location(value) {
this._location = value;
}
resetLocation() {
this._location = undefined;
}
// Temporarily expose input value. Use with caution.
get locationInput() {
return this._location;
}
get macsecEnabled() {
return this.getBooleanAttribute('macsec_enabled');
}
set macsecEnabled(value) {
this._macsecEnabled = value;
}
resetMacsecEnabled() {
this._macsecEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get macsecEnabledInput() {
return this._macsecEnabled;
}
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 nocContactEmail() {
return this.getStringAttribute('noc_contact_email');
}
set nocContactEmail(value) {
this._nocContactEmail = value;
}
resetNocContactEmail() {
this._nocContactEmail = undefined;
}
// Temporarily expose input value. Use with caution.
get nocContactEmailInput() {
return this._nocContactEmail;
}
// operational_status - computed: true, optional: false, required: false
get operationalStatus() {
return this.getStringAttribute('operational_status');
}
// peer_ip_address - computed: true, optional: false, required: false
get peerIpAddress() {
return this.getStringAttribute('peer_ip_address');
}
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;
}
// provisioned_link_count - computed: true, optional: false, required: false
get provisionedLinkCount() {
return this.getNumberAttribute('provisioned_link_count');
}
get remoteLocation() {
return this.getStringAttribute('remote_location');
}
set remoteLocation(value) {
this._remoteLocation = value;
}
resetRemoteLocation() {
this._remoteLocation = undefined;
}
// Temporarily expose input value. Use with caution.
get remoteLocationInput() {
return this._remoteLocation;
}
get requestedFeatures() {
return this.getListAttribute('requested_features');
}
set requestedFeatures(value) {
this._requestedFeatures = value;
}
resetRequestedFeatures() {
this._requestedFeatures = undefined;
}
// Temporarily expose input value. Use with caution.
get requestedFeaturesInput() {
return this._requestedFeatures;
}
get requestedLinkCount() {
return this.getNumberAttribute('requested_link_count');
}
set requestedLinkCount(value) {
this._requestedLinkCount = value;
}
// Temporarily expose input value. Use with caution.
get requestedLinkCountInput() {
return this._requestedLinkCount;
}
// satisfies_pzs - computed: true, optional: false, required: false
get satisfiesPzs() {
return this.getBooleanAttribute('satisfies_pzs');
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
get terraformLabels() {
return this._terraformLabels;
}
get macsec() {
return this._macsec;
}
putMacsec(value) {
this._macsec.internalValue = value;
}
resetMacsec() {
this._macsec.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get macsecInput() {
return this._macsec.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 {
admin_enabled: cdktf.booleanToTerraform(this._adminEnabled),
customer_name: cdktf.stringToTerraform(this._customerName),
description: cdktf.stringToTerraform(this._description),
id: cdktf.stringToTerraform(this._id),
interconnect_type: cdktf.stringToTerraform(this._interconnectType),
labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._labels),
link_type: cdktf.stringToTerraform(this._linkType),
location: cdktf.stringToTerraform(this._location),
macsec_enabled: cdktf.booleanToTerraform(this._macsecEnabled),
name: cdktf.stringToTerraform(this._name),
noc_contact_email: cdktf.stringToTerraform(this._nocContactEmail),
project: cdktf.stringToTerraform(this._project),
remote_location: cdktf.stringToTerraform(this._remoteLocation),
requested_features: cdktf.listMapper(cdktf.stringToTerraform, false)(this._requestedFeatures),
requested_link_count: cdktf.numberToTerraform(this._requestedLinkCount),
macsec: computeInterconnectMacsecToTerraform(this._macsec.internalValue),
timeouts: computeInterconnectTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
admin_enabled: {
value: cdktf.booleanToHclTerraform(this._adminEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
customer_name: {
value: cdktf.stringToHclTerraform(this._customerName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
interconnect_type: {
value: cdktf.stringToHclTerraform(this._interconnectType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
link_type: {
value: cdktf.stringToHclTerraform(this._linkType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
location: {
value: cdktf.stringToHclTerraform(this._location),
isBlock: false,
type: "simple",
storageClassType: "string",
},
macsec_enabled: {
value: cdktf.booleanToHclTerraform(this._macsecEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
noc_contact_email: {
value: cdktf.stringToHclTerraform(this._nocContactEmail),
isBlock: false,
type: "simple",
storageClassType: "string",
},
project: {
value: cdktf.stringToHclTerraform(this._project),
isBlock: false,
type: "simple",
storageClassType: "string",
},
remote_location: {
value: cdktf.stringToHclTerraform(this._remoteLocation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
requested_features: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._requestedFeatures),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
requested_link_count: {
value: cdktf.numberToHclTerraform(this._requestedLinkCount),
isBlock: false,
type: "simple",
storageClassType: "number",
},
macsec: {
value: computeInterconnectMacsecToHclTerraform(this._macsec.internalValue),
isBlock: true,
type: "list",
storageClassType: "ComputeInterconnectMacsecList",
},
timeouts: {
value: computeInterconnectTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "ComputeInterconnectTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.ComputeInterconnect = ComputeInterconnect;
_j = JSII_RTTI_SYMBOL_1;
ComputeInterconnect[_j] = { fqn: "@cdktf/provider-google.computeInterconnect.ComputeInterconnect", version: "14.12.0" };
// =================
// STATIC PROPERTIES
// =================
ComputeInterconnect.tfResourceType = "google_compute_interconnect";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZS1pbnRlcmNvbm5lY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUE0SS9CLFNBQWdCLDBDQUEwQyxDQUFDLE1BQXdDO0lBQ2pHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU8sRUFDTixDQUFBO0FBQ0gsQ0FBQztBQVBELGdHQU9DO0FBR0QsU0FBZ0IsNkNBQTZDLENBQUMsTUFBd0M7SUFDcEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsRUFDYixDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBUkQsc0dBUUM7QUFFRCxNQUFhLDhDQUErQyxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBR3JGOzs7OztNQUtFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCLEVBQUUsa0JBQTBCLEVBQUUsc0JBQStCO1FBQ3ZK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