UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,056 lines 148 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputePacketMirroring = exports.ComputePacketMirroringTimeoutsOutputReference = exports.computePacketMirroringTimeoutsToHclTerraform = exports.computePacketMirroringTimeoutsToTerraform = exports.ComputePacketMirroringNetworkOutputReference = exports.computePacketMirroringNetworkToHclTerraform = exports.computePacketMirroringNetworkToTerraform = exports.ComputePacketMirroringMirroredResourcesOutputReference = exports.computePacketMirroringMirroredResourcesToHclTerraform = exports.computePacketMirroringMirroredResourcesToTerraform = exports.ComputePacketMirroringMirroredResourcesSubnetworksList = exports.ComputePacketMirroringMirroredResourcesSubnetworksOutputReference = exports.computePacketMirroringMirroredResourcesSubnetworksToHclTerraform = exports.computePacketMirroringMirroredResourcesSubnetworksToTerraform = exports.ComputePacketMirroringMirroredResourcesInstancesList = exports.ComputePacketMirroringMirroredResourcesInstancesOutputReference = exports.computePacketMirroringMirroredResourcesInstancesToHclTerraform = exports.computePacketMirroringMirroredResourcesInstancesToTerraform = exports.ComputePacketMirroringFilterOutputReference = exports.computePacketMirroringFilterToHclTerraform = exports.computePacketMirroringFilterToTerraform = exports.ComputePacketMirroringCollectorIlbOutputReference = exports.computePacketMirroringCollectorIlbToHclTerraform = exports.computePacketMirroringCollectorIlbToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computePacketMirroringCollectorIlbToTerraform(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 { url: cdktf.stringToTerraform(struct.url), }; } exports.computePacketMirroringCollectorIlbToTerraform = computePacketMirroringCollectorIlbToTerraform; function computePacketMirroringCollectorIlbToHclTerraform(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 = { url: { value: cdktf.stringToHclTerraform(struct.url), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringCollectorIlbToHclTerraform = computePacketMirroringCollectorIlbToHclTerraform; class ComputePacketMirroringCollectorIlbOutputReference 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._url !== undefined) { hasAnyValues = true; internalValueResult.url = this._url; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._url = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._url = value.url; } } get url() { return this.getStringAttribute('url'); } set url(value) { this._url = value; } // Temporarily expose input value. Use with caution. get urlInput() { return this._url; } } exports.ComputePacketMirroringCollectorIlbOutputReference = ComputePacketMirroringCollectorIlbOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputePacketMirroringCollectorIlbOutputReference[_a] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringCollectorIlbOutputReference", version: "14.12.0" }; function computePacketMirroringFilterToTerraform(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 { cidr_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.cidrRanges), direction: cdktf.stringToTerraform(struct.direction), ip_protocols: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipProtocols), }; } exports.computePacketMirroringFilterToTerraform = computePacketMirroringFilterToTerraform; function computePacketMirroringFilterToHclTerraform(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 = { cidr_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.cidrRanges), isBlock: false, type: "list", storageClassType: "stringList", }, direction: { value: cdktf.stringToHclTerraform(struct.direction), isBlock: false, type: "simple", storageClassType: "string", }, ip_protocols: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipProtocols), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringFilterToHclTerraform = computePacketMirroringFilterToHclTerraform; class ComputePacketMirroringFilterOutputReference 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._cidrRanges !== undefined) { hasAnyValues = true; internalValueResult.cidrRanges = this._cidrRanges; } if (this._direction !== undefined) { hasAnyValues = true; internalValueResult.direction = this._direction; } if (this._ipProtocols !== undefined) { hasAnyValues = true; internalValueResult.ipProtocols = this._ipProtocols; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cidrRanges = undefined; this._direction = undefined; this._ipProtocols = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cidrRanges = value.cidrRanges; this._direction = value.direction; this._ipProtocols = value.ipProtocols; } } get cidrRanges() { return this.getListAttribute('cidr_ranges'); } set cidrRanges(value) { this._cidrRanges = value; } resetCidrRanges() { this._cidrRanges = undefined; } // Temporarily expose input value. Use with caution. get cidrRangesInput() { return this._cidrRanges; } get direction() { return this.getStringAttribute('direction'); } set direction(value) { this._direction = value; } resetDirection() { this._direction = undefined; } // Temporarily expose input value. Use with caution. get directionInput() { return this._direction; } get ipProtocols() { return this.getListAttribute('ip_protocols'); } set ipProtocols(value) { this._ipProtocols = value; } resetIpProtocols() { this._ipProtocols = undefined; } // Temporarily expose input value. Use with caution. get ipProtocolsInput() { return this._ipProtocols; } } exports.ComputePacketMirroringFilterOutputReference = ComputePacketMirroringFilterOutputReference; _b = JSII_RTTI_SYMBOL_1; ComputePacketMirroringFilterOutputReference[_b] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringFilterOutputReference", version: "14.12.0" }; function computePacketMirroringMirroredResourcesInstancesToTerraform(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 { url: cdktf.stringToTerraform(struct.url), }; } exports.computePacketMirroringMirroredResourcesInstancesToTerraform = computePacketMirroringMirroredResourcesInstancesToTerraform; function computePacketMirroringMirroredResourcesInstancesToHclTerraform(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 = { url: { value: cdktf.stringToHclTerraform(struct.url), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringMirroredResourcesInstancesToHclTerraform = computePacketMirroringMirroredResourcesInstancesToHclTerraform; class ComputePacketMirroringMirroredResourcesInstancesOutputReference 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._url !== undefined) { hasAnyValues = true; internalValueResult.url = this._url; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._url = 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._url = value.url; } } get url() { return this.getStringAttribute('url'); } set url(value) { this._url = value; } // Temporarily expose input value. Use with caution. get urlInput() { return this._url; } } exports.ComputePacketMirroringMirroredResourcesInstancesOutputReference = ComputePacketMirroringMirroredResourcesInstancesOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputePacketMirroringMirroredResourcesInstancesOutputReference[_c] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringMirroredResourcesInstancesOutputReference", version: "14.12.0" }; class ComputePacketMirroringMirroredResourcesInstancesList 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 ComputePacketMirroringMirroredResourcesInstancesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputePacketMirroringMirroredResourcesInstancesList = ComputePacketMirroringMirroredResourcesInstancesList; _d = JSII_RTTI_SYMBOL_1; ComputePacketMirroringMirroredResourcesInstancesList[_d] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringMirroredResourcesInstancesList", version: "14.12.0" }; function computePacketMirroringMirroredResourcesSubnetworksToTerraform(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 { url: cdktf.stringToTerraform(struct.url), }; } exports.computePacketMirroringMirroredResourcesSubnetworksToTerraform = computePacketMirroringMirroredResourcesSubnetworksToTerraform; function computePacketMirroringMirroredResourcesSubnetworksToHclTerraform(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 = { url: { value: cdktf.stringToHclTerraform(struct.url), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringMirroredResourcesSubnetworksToHclTerraform = computePacketMirroringMirroredResourcesSubnetworksToHclTerraform; class ComputePacketMirroringMirroredResourcesSubnetworksOutputReference 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._url !== undefined) { hasAnyValues = true; internalValueResult.url = this._url; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._url = 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._url = value.url; } } get url() { return this.getStringAttribute('url'); } set url(value) { this._url = value; } // Temporarily expose input value. Use with caution. get urlInput() { return this._url; } } exports.ComputePacketMirroringMirroredResourcesSubnetworksOutputReference = ComputePacketMirroringMirroredResourcesSubnetworksOutputReference; _e = JSII_RTTI_SYMBOL_1; ComputePacketMirroringMirroredResourcesSubnetworksOutputReference[_e] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringMirroredResourcesSubnetworksOutputReference", version: "14.12.0" }; class ComputePacketMirroringMirroredResourcesSubnetworksList 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 ComputePacketMirroringMirroredResourcesSubnetworksOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputePacketMirroringMirroredResourcesSubnetworksList = ComputePacketMirroringMirroredResourcesSubnetworksList; _f = JSII_RTTI_SYMBOL_1; ComputePacketMirroringMirroredResourcesSubnetworksList[_f] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringMirroredResourcesSubnetworksList", version: "14.12.0" }; function computePacketMirroringMirroredResourcesToTerraform(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 { tags: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.tags), instances: cdktf.listMapper(computePacketMirroringMirroredResourcesInstancesToTerraform, true)(struct.instances), subnetworks: cdktf.listMapper(computePacketMirroringMirroredResourcesSubnetworksToTerraform, true)(struct.subnetworks), }; } exports.computePacketMirroringMirroredResourcesToTerraform = computePacketMirroringMirroredResourcesToTerraform; function computePacketMirroringMirroredResourcesToHclTerraform(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 = { tags: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.tags), isBlock: false, type: "list", storageClassType: "stringList", }, instances: { value: cdktf.listMapperHcl(computePacketMirroringMirroredResourcesInstancesToHclTerraform, true)(struct.instances), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringMirroredResourcesInstancesList", }, subnetworks: { value: cdktf.listMapperHcl(computePacketMirroringMirroredResourcesSubnetworksToHclTerraform, true)(struct.subnetworks), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringMirroredResourcesSubnetworksList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringMirroredResourcesToHclTerraform = computePacketMirroringMirroredResourcesToHclTerraform; class ComputePacketMirroringMirroredResourcesOutputReference 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; // instances - computed: false, optional: true, required: false this._instances = new ComputePacketMirroringMirroredResourcesInstancesList(this, "instances", false); // subnetworks - computed: false, optional: true, required: false this._subnetworks = new ComputePacketMirroringMirroredResourcesSubnetworksList(this, "subnetworks", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } if (this._instances?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.instances = this._instances?.internalValue; } if (this._subnetworks?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.subnetworks = this._subnetworks?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._tags = undefined; this._instances.internalValue = undefined; this._subnetworks.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._tags = value.tags; this._instances.internalValue = value.instances; this._subnetworks.internalValue = value.subnetworks; } } get tags() { return this.getListAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get instances() { return this._instances; } putInstances(value) { this._instances.internalValue = value; } resetInstances() { this._instances.internalValue = undefined; } // Temporarily expose input value. Use with caution. get instancesInput() { return this._instances.internalValue; } get subnetworks() { return this._subnetworks; } putSubnetworks(value) { this._subnetworks.internalValue = value; } resetSubnetworks() { this._subnetworks.internalValue = undefined; } // Temporarily expose input value. Use with caution. get subnetworksInput() { return this._subnetworks.internalValue; } } exports.ComputePacketMirroringMirroredResourcesOutputReference = ComputePacketMirroringMirroredResourcesOutputReference; _g = JSII_RTTI_SYMBOL_1; ComputePacketMirroringMirroredResourcesOutputReference[_g] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringMirroredResourcesOutputReference", version: "14.12.0" }; function computePacketMirroringNetworkToTerraform(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 { url: cdktf.stringToTerraform(struct.url), }; } exports.computePacketMirroringNetworkToTerraform = computePacketMirroringNetworkToTerraform; function computePacketMirroringNetworkToHclTerraform(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 = { url: { value: cdktf.stringToHclTerraform(struct.url), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computePacketMirroringNetworkToHclTerraform = computePacketMirroringNetworkToHclTerraform; class ComputePacketMirroringNetworkOutputReference 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._url !== undefined) { hasAnyValues = true; internalValueResult.url = this._url; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._url = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._url = value.url; } } get url() { return this.getStringAttribute('url'); } set url(value) { this._url = value; } // Temporarily expose input value. Use with caution. get urlInput() { return this._url; } } exports.ComputePacketMirroringNetworkOutputReference = ComputePacketMirroringNetworkOutputReference; _h = JSII_RTTI_SYMBOL_1; ComputePacketMirroringNetworkOutputReference[_h] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringNetworkOutputReference", version: "14.12.0" }; function computePacketMirroringTimeoutsToTerraform(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.computePacketMirroringTimeoutsToTerraform = computePacketMirroringTimeoutsToTerraform; function computePacketMirroringTimeoutsToHclTerraform(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.computePacketMirroringTimeoutsToHclTerraform = computePacketMirroringTimeoutsToHclTerraform; class ComputePacketMirroringTimeoutsOutputReference 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.ComputePacketMirroringTimeoutsOutputReference = ComputePacketMirroringTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; ComputePacketMirroringTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroringTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_packet_mirroring google_compute_packet_mirroring} */ class ComputePacketMirroring extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ComputePacketMirroring 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 ComputePacketMirroring to import * @param importFromId The id of the existing ComputePacketMirroring that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_packet_mirroring#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputePacketMirroring to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_compute_packet_mirroring", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_packet_mirroring google_compute_packet_mirroring} 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 ComputePacketMirroringConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_compute_packet_mirroring', 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 }); // collector_ilb - computed: false, optional: false, required: true this._collectorIlb = new ComputePacketMirroringCollectorIlbOutputReference(this, "collector_ilb"); // filter - computed: false, optional: true, required: false this._filter = new ComputePacketMirroringFilterOutputReference(this, "filter"); // mirrored_resources - computed: false, optional: false, required: true this._mirroredResources = new ComputePacketMirroringMirroredResourcesOutputReference(this, "mirrored_resources"); // network - computed: false, optional: false, required: true this._network = new ComputePacketMirroringNetworkOutputReference(this, "network"); // timeouts - computed: false, optional: true, required: false this._timeouts = new ComputePacketMirroringTimeoutsOutputReference(this, "timeouts"); this._description = config.description; this._id = config.id; this._name = config.name; this._priority = config.priority; this._project = config.project; this._region = config.region; this._collectorIlb.internalValue = config.collectorIlb; this._filter.internalValue = config.filter; this._mirroredResources.internalValue = config.mirroredResources; this._network.internalValue = config.network; this._timeouts.internalValue = config.timeouts; } 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 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get priority() { return this.getNumberAttribute('priority'); } set priority(value) { this._priority = value; } resetPriority() { this._priority = undefined; } // Temporarily expose input value. Use with caution. get priorityInput() { return this._priority; } 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 collectorIlb() { return this._collectorIlb; } putCollectorIlb(value) { this._collectorIlb.internalValue = value; } // Temporarily expose input value. Use with caution. get collectorIlbInput() { return this._collectorIlb.internalValue; } get filter() { return this._filter; } putFilter(value) { this._filter.internalValue = value; } resetFilter() { this._filter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get filterInput() { return this._filter.internalValue; } get mirroredResources() { return this._mirroredResources; } putMirroredResources(value) { this._mirroredResources.internalValue = value; } // Temporarily expose input value. Use with caution. get mirroredResourcesInput() { return this._mirroredResources.internalValue; } get network() { return this._network; } putNetwork(value) { this._network.internalValue = value; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network.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 { description: cdktf.stringToTerraform(this._description), id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), priority: cdktf.numberToTerraform(this._priority), project: cdktf.stringToTerraform(this._project), region: cdktf.stringToTerraform(this._region), collector_ilb: computePacketMirroringCollectorIlbToTerraform(this._collectorIlb.internalValue), filter: computePacketMirroringFilterToTerraform(this._filter.internalValue), mirrored_resources: computePacketMirroringMirroredResourcesToTerraform(this._mirroredResources.internalValue), network: computePacketMirroringNetworkToTerraform(this._network.internalValue), timeouts: computePacketMirroringTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, priority: { value: cdktf.numberToHclTerraform(this._priority), isBlock: false, type: "simple", storageClassType: "number", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, collector_ilb: { value: computePacketMirroringCollectorIlbToHclTerraform(this._collectorIlb.internalValue), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringCollectorIlbList", }, filter: { value: computePacketMirroringFilterToHclTerraform(this._filter.internalValue), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringFilterList", }, mirrored_resources: { value: computePacketMirroringMirroredResourcesToHclTerraform(this._mirroredResources.internalValue), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringMirroredResourcesList", }, network: { value: computePacketMirroringNetworkToHclTerraform(this._network.internalValue), isBlock: true, type: "list", storageClassType: "ComputePacketMirroringNetworkList", }, timeouts: { value: computePacketMirroringTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "ComputePacketMirroringTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ComputePacketMirroring = ComputePacketMirroring; _k = JSII_RTTI_SYMBOL_1; ComputePacketMirroring[_k] = { fqn: "@cdktf/provider-google.computePacketMirroring.ComputePacketMirroring", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= ComputePacketMirroring.tfResourceType = "google_compute_packet_mirroring"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZS1wYWNrZXQtbWlycm9yaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBbUYvQixTQUFnQiw2Q0FBNkMsQ0FBQyxNQUErRjtJQUMzSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO0tBQzFDLENBQUE7QUFDSCxDQUFDO0FBUkQsc0dBUUM7QUFHRCxTQUFnQixnREFBZ0QsQ0FBQyxNQUErRjtJQUM5SixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFoQkQsNEdBZ0JDO0FBRUQsTUFBYSxpREFBa0QsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUd4Rjs7O01BR0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEI7UUFDMUYsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQVBqRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGFBQWEsQ0FBQyxLQUFxRDtRQUM1RSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUN4QixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQTNDSCw4R0E0Q0M7OztBQXVCRCxTQUFnQix1Q0FBdUMsQ0FBQyxNQUFtRjtJQUN6SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakYsU0FBUyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3JELFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO0tBQ3BGLENBQUE7QUFDSCxDQUFDO0FBVkQsMEZBVUM7QUFHRCxTQUFnQiwwQ0FBMEMsQ0FBQyxNQUFtRjtJQUM1SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFdBQVcsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1lBQ2pGLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixnQkFBZ0IsRUFBRSxZQUFZO1NBQy9CO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO1lBQ3BELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0QsWUFBWSxFQUFFO1lBQ1osS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUM7WUFDbEYsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLGdCQUFnQixFQUFFLFlBQVk7U0FDL0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBNUJELGdHQTRCQztBQUVELE1BQWEsMkNBQTRDLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFHbEY7OztNQUdFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCO1FBQzFGLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFQakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFROUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ