UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

958 lines 148 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccessContextManagerServicePerimeterEgressPolicy = exports.AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyTimeoutsToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyTimeoutsToTerraform = exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyEgressToToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyEgressToToTerraform = exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList = exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToTerraform = exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList = exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToTerraform = exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyEgressFromToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyEgressFromToTerraform = exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList = exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference = exports.accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToHclTerraform = exports.accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToTerraform(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 { access_level: cdktf.stringToTerraform(struct.accessLevel), }; } exports.accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToTerraform = accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToTerraform; function accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToHclTerraform(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 = { access_level: { value: cdktf.stringToHclTerraform(struct.accessLevel), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToHclTerraform = accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference 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._accessLevel !== undefined) { hasAnyValues = true; internalValueResult.accessLevel = this._accessLevel; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._accessLevel = 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._accessLevel = value.accessLevel; } } get accessLevel() { return this.getStringAttribute('access_level'); } set accessLevel(value) { this._accessLevel = value; } resetAccessLevel() { this._accessLevel = undefined; } // Temporarily expose input value. Use with caution. get accessLevelInput() { return this._accessLevel; } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference = AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference; _a = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference[_a] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference", version: "14.12.0" }; class AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList 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 AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList = AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList; _b = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList[_b] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList", version: "14.12.0" }; function accessContextManagerServicePerimeterEgressPolicyEgressFromToTerraform(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 { identities: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identities), identity_type: cdktf.stringToTerraform(struct.identityType), source_restriction: cdktf.stringToTerraform(struct.sourceRestriction), sources: cdktf.listMapper(accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToTerraform, true)(struct.sources), }; } exports.accessContextManagerServicePerimeterEgressPolicyEgressFromToTerraform = accessContextManagerServicePerimeterEgressPolicyEgressFromToTerraform; function accessContextManagerServicePerimeterEgressPolicyEgressFromToHclTerraform(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 = { identities: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identities), isBlock: false, type: "list", storageClassType: "stringList", }, identity_type: { value: cdktf.stringToHclTerraform(struct.identityType), isBlock: false, type: "simple", storageClassType: "string", }, source_restriction: { value: cdktf.stringToHclTerraform(struct.sourceRestriction), isBlock: false, type: "simple", storageClassType: "string", }, sources: { value: cdktf.listMapperHcl(accessContextManagerServicePerimeterEgressPolicyEgressFromSourcesToHclTerraform, true)(struct.sources), isBlock: true, type: "list", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyEgressFromToHclTerraform = accessContextManagerServicePerimeterEgressPolicyEgressFromToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference 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; // sources - computed: false, optional: true, required: false this._sources = new AccessContextManagerServicePerimeterEgressPolicyEgressFromSourcesList(this, "sources", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._identities !== undefined) { hasAnyValues = true; internalValueResult.identities = this._identities; } if (this._identityType !== undefined) { hasAnyValues = true; internalValueResult.identityType = this._identityType; } if (this._sourceRestriction !== undefined) { hasAnyValues = true; internalValueResult.sourceRestriction = this._sourceRestriction; } if (this._sources?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sources = this._sources?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._identities = undefined; this._identityType = undefined; this._sourceRestriction = undefined; this._sources.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._identities = value.identities; this._identityType = value.identityType; this._sourceRestriction = value.sourceRestriction; this._sources.internalValue = value.sources; } } get identities() { return this.getListAttribute('identities'); } set identities(value) { this._identities = value; } resetIdentities() { this._identities = undefined; } // Temporarily expose input value. Use with caution. get identitiesInput() { return this._identities; } get identityType() { return this.getStringAttribute('identity_type'); } set identityType(value) { this._identityType = value; } resetIdentityType() { this._identityType = undefined; } // Temporarily expose input value. Use with caution. get identityTypeInput() { return this._identityType; } get sourceRestriction() { return this.getStringAttribute('source_restriction'); } set sourceRestriction(value) { this._sourceRestriction = value; } resetSourceRestriction() { this._sourceRestriction = undefined; } // Temporarily expose input value. Use with caution. get sourceRestrictionInput() { return this._sourceRestriction; } get sources() { return this._sources; } putSources(value) { this._sources.internalValue = value; } resetSources() { this._sources.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sourcesInput() { return this._sources.internalValue; } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference = AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference; _c = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference[_c] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference", version: "14.12.0" }; function accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToTerraform(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 { method: cdktf.stringToTerraform(struct.method), permission: cdktf.stringToTerraform(struct.permission), }; } exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToTerraform; function accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToHclTerraform(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 = { method: { value: cdktf.stringToHclTerraform(struct.method), isBlock: false, type: "simple", storageClassType: "string", }, permission: { value: cdktf.stringToHclTerraform(struct.permission), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToHclTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference 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._method !== undefined) { hasAnyValues = true; internalValueResult.method = this._method; } if (this._permission !== undefined) { hasAnyValues = true; internalValueResult.permission = this._permission; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._method = undefined; this._permission = 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._method = value.method; this._permission = value.permission; } } get method() { return this.getStringAttribute('method'); } set method(value) { this._method = value; } resetMethod() { this._method = undefined; } // Temporarily expose input value. Use with caution. get methodInput() { return this._method; } get permission() { return this.getStringAttribute('permission'); } set permission(value) { this._permission = value; } resetPermission() { this._permission = undefined; } // Temporarily expose input value. Use with caution. get permissionInput() { return this._permission; } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference = AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference; _d = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference[_d] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference", version: "14.12.0" }; class AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList 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 AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList = AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList; _e = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList[_e] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList", version: "14.12.0" }; function accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToTerraform(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 { service_name: cdktf.stringToTerraform(struct.serviceName), method_selectors: cdktf.listMapper(accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToTerraform, true)(struct.methodSelectors), }; } exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToTerraform; function accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToHclTerraform(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 = { service_name: { value: cdktf.stringToHclTerraform(struct.serviceName), isBlock: false, type: "simple", storageClassType: "string", }, method_selectors: { value: cdktf.listMapperHcl(accessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsToHclTerraform, true)(struct.methodSelectors), isBlock: true, type: "list", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToHclTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference 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; // method_selectors - computed: false, optional: true, required: false this._methodSelectors = new AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsMethodSelectorsList(this, "method_selectors", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._serviceName !== undefined) { hasAnyValues = true; internalValueResult.serviceName = this._serviceName; } if (this._methodSelectors?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.methodSelectors = this._methodSelectors?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._serviceName = undefined; this._methodSelectors.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._serviceName = value.serviceName; this._methodSelectors.internalValue = value.methodSelectors; } } get serviceName() { return this.getStringAttribute('service_name'); } set serviceName(value) { this._serviceName = value; } resetServiceName() { this._serviceName = undefined; } // Temporarily expose input value. Use with caution. get serviceNameInput() { return this._serviceName; } get methodSelectors() { return this._methodSelectors; } putMethodSelectors(value) { this._methodSelectors.internalValue = value; } resetMethodSelectors() { this._methodSelectors.internalValue = undefined; } // Temporarily expose input value. Use with caution. get methodSelectorsInput() { return this._methodSelectors.internalValue; } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference = AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference; _f = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference[_f] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference", version: "14.12.0" }; class AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList 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 AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList = AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList; _g = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList[_g] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList", version: "14.12.0" }; function accessContextManagerServicePerimeterEgressPolicyEgressToToTerraform(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 { external_resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.externalResources), resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resources), operations: cdktf.listMapper(accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToTerraform, true)(struct.operations), }; } exports.accessContextManagerServicePerimeterEgressPolicyEgressToToTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToToTerraform; function accessContextManagerServicePerimeterEgressPolicyEgressToToHclTerraform(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 = { external_resources: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.externalResources), isBlock: false, type: "list", storageClassType: "stringList", }, resources: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resources), isBlock: false, type: "list", storageClassType: "stringList", }, operations: { value: cdktf.listMapperHcl(accessContextManagerServicePerimeterEgressPolicyEgressToOperationsToHclTerraform, true)(struct.operations), isBlock: true, type: "list", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyEgressToToHclTerraform = accessContextManagerServicePerimeterEgressPolicyEgressToToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference 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; // operations - computed: false, optional: true, required: false this._operations = new AccessContextManagerServicePerimeterEgressPolicyEgressToOperationsList(this, "operations", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._externalResources !== undefined) { hasAnyValues = true; internalValueResult.externalResources = this._externalResources; } if (this._resources !== undefined) { hasAnyValues = true; internalValueResult.resources = this._resources; } if (this._operations?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.operations = this._operations?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._externalResources = undefined; this._resources = undefined; this._operations.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._externalResources = value.externalResources; this._resources = value.resources; this._operations.internalValue = value.operations; } } get externalResources() { return this.getListAttribute('external_resources'); } set externalResources(value) { this._externalResources = value; } resetExternalResources() { this._externalResources = undefined; } // Temporarily expose input value. Use with caution. get externalResourcesInput() { return this._externalResources; } get resources() { return this.getListAttribute('resources'); } set resources(value) { this._resources = value; } resetResources() { this._resources = undefined; } // Temporarily expose input value. Use with caution. get resourcesInput() { return this._resources; } get operations() { return this._operations; } putOperations(value) { this._operations.internalValue = value; } resetOperations() { this._operations.internalValue = undefined; } // Temporarily expose input value. Use with caution. get operationsInput() { return this._operations.internalValue; } } exports.AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference = AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference; _h = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference[_h] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference", version: "14.12.0" }; function accessContextManagerServicePerimeterEgressPolicyTimeoutsToTerraform(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), }; } exports.accessContextManagerServicePerimeterEgressPolicyTimeoutsToTerraform = accessContextManagerServicePerimeterEgressPolicyTimeoutsToTerraform; function accessContextManagerServicePerimeterEgressPolicyTimeoutsToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerServicePerimeterEgressPolicyTimeoutsToHclTerraform = accessContextManagerServicePerimeterEgressPolicyTimeoutsToHclTerraform; class AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference 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; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = 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; } } 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; } } exports.AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference = AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_service_perimeter_egress_policy google_access_context_manager_service_perimeter_egress_policy} */ class AccessContextManagerServicePerimeterEgressPolicy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a AccessContextManagerServicePerimeterEgressPolicy 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 AccessContextManagerServicePerimeterEgressPolicy to import * @param importFromId The id of the existing AccessContextManagerServicePerimeterEgressPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_service_perimeter_egress_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AccessContextManagerServicePerimeterEgressPolicy to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_access_context_manager_service_perimeter_egress_policy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_service_perimeter_egress_policy google_access_context_manager_service_perimeter_egress_policy} 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 AccessContextManagerServicePerimeterEgressPolicyConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_access_context_manager_service_perimeter_egress_policy', 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 }); // egress_from - computed: false, optional: true, required: false this._egressFrom = new AccessContextManagerServicePerimeterEgressPolicyEgressFromOutputReference(this, "egress_from"); // egress_to - computed: false, optional: true, required: false this._egressTo = new AccessContextManagerServicePerimeterEgressPolicyEgressToOutputReference(this, "egress_to"); // timeouts - computed: false, optional: true, required: false this._timeouts = new AccessContextManagerServicePerimeterEgressPolicyTimeoutsOutputReference(this, "timeouts"); this._id = config.id; this._perimeter = config.perimeter; this._egressFrom.internalValue = config.egressFrom; this._egressTo.internalValue = config.egressTo; this._timeouts.internalValue = config.timeouts; } 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 perimeter() { return this.getStringAttribute('perimeter'); } set perimeter(value) { this._perimeter = value; } // Temporarily expose input value. Use with caution. get perimeterInput() { return this._perimeter; } get egressFrom() { return this._egressFrom; } putEgressFrom(value) { this._egressFrom.internalValue = value; } resetEgressFrom() { this._egressFrom.internalValue = undefined; } // Temporarily expose input value. Use with caution. get egressFromInput() { return this._egressFrom.internalValue; } get egressTo() { return this._egressTo; } putEgressTo(value) { this._egressTo.internalValue = value; } resetEgressTo() { this._egressTo.internalValue = undefined; } // Temporarily expose input value. Use with caution. get egressToInput() { return this._egressTo.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 { id: cdktf.stringToTerraform(this._id), perimeter: cdktf.stringToTerraform(this._perimeter), egress_from: accessContextManagerServicePerimeterEgressPolicyEgressFromToTerraform(this._egressFrom.internalValue), egress_to: accessContextManagerServicePerimeterEgressPolicyEgressToToTerraform(this._egressTo.internalValue), timeouts: accessContextManagerServicePerimeterEgressPolicyTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, perimeter: { value: cdktf.stringToHclTerraform(this._perimeter), isBlock: false, type: "simple", storageClassType: "string", }, egress_from: { value: accessContextManagerServicePerimeterEgressPolicyEgressFromToHclTerraform(this._egressFrom.internalValue), isBlock: true, type: "list", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyEgressFromList", }, egress_to: { value: accessContextManagerServicePerimeterEgressPolicyEgressToToHclTerraform(this._egressTo.internalValue), isBlock: true, type: "list", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyEgressToList", }, timeouts: { value: accessContextManagerServicePerimeterEgressPolicyTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "AccessContextManagerServicePerimeterEgressPolicyTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.AccessContextManagerServicePerimeterEgressPolicy = AccessContextManagerServicePerimeterEgressPolicy; _k = JSII_RTTI_SYMBOL_1; AccessContextManagerServicePerimeterEgressPolicy[_k] = { fqn: "@cdktf/provider-google.accessContextManagerServicePerimeterEgressPolicy.AccessContextManagerServicePerimeterEgressPolicy", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= AccessContextManagerServicePerimeterEgressPolicy.tfResourceType = "google_access_context_manager_service_perimeter_egress_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjZXNzLWNvbnRleHQtbWFuYWdlci1zZXJ2aWNlLXBlcmltZXRlci1lZ3Jlc3MtcG9saWN5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBOEMvQixTQUFnQiw0RUFBNEUsQ0FBQyxNQUE4RjtJQUN6TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO0tBQzNELENBQUE7QUFDSCxDQUFDO0FBUkQsb0tBUUM7QUFHRCxTQUFnQiwrRUFBK0UsQ0FBQyxNQUE4RjtJQUM1TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFlBQVksRUFBRTtZQUNaLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztZQUN0RCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFoQkQsMEtBZ0JDO0FBRUQsTUFBYSxnRkFBaUYsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUl2SDs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2SixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVZuRixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVc5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXdHO1FBQy9ILElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLENBQUM7YUFDSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDOztBQTFESCw0S0EyREM7OztBQUVELE1BQWEscUVBQXNFLFNBQVEsS0FBSyxDQUFDLFdBQVc7SUFHMUc7Ozs7TUFJRTtJQUNGLFlBQXNCLGlCQUE2QyxFQUFZLGtCQUEwQixFQUFZLFFBQWlCO1FBQ3BJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQVksdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUV0SSxDQUFDO0lBRUQ7O01BRUU7SUFDSyxHQUFHLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUksZ0ZBQWdGLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JLLENBQUM7O0FBakJILHNKQWtCQzs7O0FBa0NELFNBQWdCLHFFQUFxRSxDQUFDLE1BQStJO0lBQ25PLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQ