UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

946 lines 147 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccessContextManagerAccessLevelCondition = exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesList = exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference = exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesToHclTerraform = exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesToTerraform = exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference = exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToHclTerraform = exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToTerraform = exports.AccessContextManagerAccessLevelConditionTimeoutsOutputReference = exports.accessContextManagerAccessLevelConditionTimeoutsToHclTerraform = exports.accessContextManagerAccessLevelConditionTimeoutsToTerraform = exports.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference = exports.accessContextManagerAccessLevelConditionDevicePolicyToHclTerraform = exports.accessContextManagerAccessLevelConditionDevicePolicyToTerraform = exports.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList = exports.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference = exports.accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToHclTerraform = exports.accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToTerraform(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 { minimum_version: cdktf.stringToTerraform(struct.minimumVersion), os_type: cdktf.stringToTerraform(struct.osType), }; } exports.accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToTerraform = accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToTerraform; function accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToHclTerraform(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 = { minimum_version: { value: cdktf.stringToHclTerraform(struct.minimumVersion), isBlock: false, type: "simple", storageClassType: "string", }, os_type: { value: cdktf.stringToHclTerraform(struct.osType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToHclTerraform = accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToHclTerraform; class AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference 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._minimumVersion !== undefined) { hasAnyValues = true; internalValueResult.minimumVersion = this._minimumVersion; } if (this._osType !== undefined) { hasAnyValues = true; internalValueResult.osType = this._osType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._minimumVersion = undefined; this._osType = 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._minimumVersion = value.minimumVersion; this._osType = value.osType; } } get minimumVersion() { return this.getStringAttribute('minimum_version'); } set minimumVersion(value) { this._minimumVersion = value; } resetMinimumVersion() { this._minimumVersion = undefined; } // Temporarily expose input value. Use with caution. get minimumVersionInput() { return this._minimumVersion; } get osType() { return this.getStringAttribute('os_type'); } set osType(value) { this._osType = value; } // Temporarily expose input value. Use with caution. get osTypeInput() { return this._osType; } } exports.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference = AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference; _a = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference[_a] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference", version: "14.12.0" }; class AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList 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 AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList = AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList; _b = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList[_b] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList", version: "14.12.0" }; function accessContextManagerAccessLevelConditionDevicePolicyToTerraform(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 { allowed_device_management_levels: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedDeviceManagementLevels), allowed_encryption_statuses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedEncryptionStatuses), require_admin_approval: cdktf.booleanToTerraform(struct.requireAdminApproval), require_corp_owned: cdktf.booleanToTerraform(struct.requireCorpOwned), require_screen_lock: cdktf.booleanToTerraform(struct.requireScreenLock), os_constraints: cdktf.listMapper(accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToTerraform, true)(struct.osConstraints), }; } exports.accessContextManagerAccessLevelConditionDevicePolicyToTerraform = accessContextManagerAccessLevelConditionDevicePolicyToTerraform; function accessContextManagerAccessLevelConditionDevicePolicyToHclTerraform(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 = { allowed_device_management_levels: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedDeviceManagementLevels), isBlock: false, type: "list", storageClassType: "stringList", }, allowed_encryption_statuses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedEncryptionStatuses), isBlock: false, type: "list", storageClassType: "stringList", }, require_admin_approval: { value: cdktf.booleanToHclTerraform(struct.requireAdminApproval), isBlock: false, type: "simple", storageClassType: "boolean", }, require_corp_owned: { value: cdktf.booleanToHclTerraform(struct.requireCorpOwned), isBlock: false, type: "simple", storageClassType: "boolean", }, require_screen_lock: { value: cdktf.booleanToHclTerraform(struct.requireScreenLock), isBlock: false, type: "simple", storageClassType: "boolean", }, os_constraints: { value: cdktf.listMapperHcl(accessContextManagerAccessLevelConditionDevicePolicyOsConstraintsToHclTerraform, true)(struct.osConstraints), isBlock: true, type: "list", storageClassType: "AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerAccessLevelConditionDevicePolicyToHclTerraform = accessContextManagerAccessLevelConditionDevicePolicyToHclTerraform; class AccessContextManagerAccessLevelConditionDevicePolicyOutputReference 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; // os_constraints - computed: false, optional: true, required: false this._osConstraints = new AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList(this, "os_constraints", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._allowedDeviceManagementLevels !== undefined) { hasAnyValues = true; internalValueResult.allowedDeviceManagementLevels = this._allowedDeviceManagementLevels; } if (this._allowedEncryptionStatuses !== undefined) { hasAnyValues = true; internalValueResult.allowedEncryptionStatuses = this._allowedEncryptionStatuses; } if (this._requireAdminApproval !== undefined) { hasAnyValues = true; internalValueResult.requireAdminApproval = this._requireAdminApproval; } if (this._requireCorpOwned !== undefined) { hasAnyValues = true; internalValueResult.requireCorpOwned = this._requireCorpOwned; } if (this._requireScreenLock !== undefined) { hasAnyValues = true; internalValueResult.requireScreenLock = this._requireScreenLock; } if (this._osConstraints?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.osConstraints = this._osConstraints?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allowedDeviceManagementLevels = undefined; this._allowedEncryptionStatuses = undefined; this._requireAdminApproval = undefined; this._requireCorpOwned = undefined; this._requireScreenLock = undefined; this._osConstraints.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allowedDeviceManagementLevels = value.allowedDeviceManagementLevels; this._allowedEncryptionStatuses = value.allowedEncryptionStatuses; this._requireAdminApproval = value.requireAdminApproval; this._requireCorpOwned = value.requireCorpOwned; this._requireScreenLock = value.requireScreenLock; this._osConstraints.internalValue = value.osConstraints; } } get allowedDeviceManagementLevels() { return this.getListAttribute('allowed_device_management_levels'); } set allowedDeviceManagementLevels(value) { this._allowedDeviceManagementLevels = value; } resetAllowedDeviceManagementLevels() { this._allowedDeviceManagementLevels = undefined; } // Temporarily expose input value. Use with caution. get allowedDeviceManagementLevelsInput() { return this._allowedDeviceManagementLevels; } get allowedEncryptionStatuses() { return this.getListAttribute('allowed_encryption_statuses'); } set allowedEncryptionStatuses(value) { this._allowedEncryptionStatuses = value; } resetAllowedEncryptionStatuses() { this._allowedEncryptionStatuses = undefined; } // Temporarily expose input value. Use with caution. get allowedEncryptionStatusesInput() { return this._allowedEncryptionStatuses; } get requireAdminApproval() { return this.getBooleanAttribute('require_admin_approval'); } set requireAdminApproval(value) { this._requireAdminApproval = value; } resetRequireAdminApproval() { this._requireAdminApproval = undefined; } // Temporarily expose input value. Use with caution. get requireAdminApprovalInput() { return this._requireAdminApproval; } get requireCorpOwned() { return this.getBooleanAttribute('require_corp_owned'); } set requireCorpOwned(value) { this._requireCorpOwned = value; } resetRequireCorpOwned() { this._requireCorpOwned = undefined; } // Temporarily expose input value. Use with caution. get requireCorpOwnedInput() { return this._requireCorpOwned; } get requireScreenLock() { return this.getBooleanAttribute('require_screen_lock'); } set requireScreenLock(value) { this._requireScreenLock = value; } resetRequireScreenLock() { this._requireScreenLock = undefined; } // Temporarily expose input value. Use with caution. get requireScreenLockInput() { return this._requireScreenLock; } get osConstraints() { return this._osConstraints; } putOsConstraints(value) { this._osConstraints.internalValue = value; } resetOsConstraints() { this._osConstraints.internalValue = undefined; } // Temporarily expose input value. Use with caution. get osConstraintsInput() { return this._osConstraints.internalValue; } } exports.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference = AccessContextManagerAccessLevelConditionDevicePolicyOutputReference; _c = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionDevicePolicyOutputReference[_c] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference", version: "14.12.0" }; function accessContextManagerAccessLevelConditionTimeoutsToTerraform(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.accessContextManagerAccessLevelConditionTimeoutsToTerraform = accessContextManagerAccessLevelConditionTimeoutsToTerraform; function accessContextManagerAccessLevelConditionTimeoutsToHclTerraform(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.accessContextManagerAccessLevelConditionTimeoutsToHclTerraform = accessContextManagerAccessLevelConditionTimeoutsToHclTerraform; class AccessContextManagerAccessLevelConditionTimeoutsOutputReference 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.AccessContextManagerAccessLevelConditionTimeoutsOutputReference = AccessContextManagerAccessLevelConditionTimeoutsOutputReference; _d = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionTimeoutsOutputReference[_d] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionTimeoutsOutputReference", version: "14.12.0" }; function accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToTerraform(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 { network: cdktf.stringToTerraform(struct.network), vpc_ip_subnetworks: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.vpcIpSubnetworks), }; } exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToTerraform = accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToTerraform; function accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToHclTerraform(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 = { network: { value: cdktf.stringToHclTerraform(struct.network), isBlock: false, type: "simple", storageClassType: "string", }, vpc_ip_subnetworks: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.vpcIpSubnetworks), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToHclTerraform = accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToHclTerraform; class AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference 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._network !== undefined) { hasAnyValues = true; internalValueResult.network = this._network; } if (this._vpcIpSubnetworks !== undefined) { hasAnyValues = true; internalValueResult.vpcIpSubnetworks = this._vpcIpSubnetworks; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._network = undefined; this._vpcIpSubnetworks = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._network = value.network; this._vpcIpSubnetworks = value.vpcIpSubnetworks; } } get network() { return this.getStringAttribute('network'); } set network(value) { this._network = value; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network; } get vpcIpSubnetworks() { return this.getListAttribute('vpc_ip_subnetworks'); } set vpcIpSubnetworks(value) { this._vpcIpSubnetworks = value; } resetVpcIpSubnetworks() { this._vpcIpSubnetworks = undefined; } // Temporarily expose input value. Use with caution. get vpcIpSubnetworksInput() { return this._vpcIpSubnetworks; } } exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference = AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference; _e = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference[_e] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference", version: "14.12.0" }; function accessContextManagerAccessLevelConditionVpcNetworkSourcesToTerraform(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 { vpc_subnetwork: accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToTerraform(struct.vpcSubnetwork), }; } exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesToTerraform = accessContextManagerAccessLevelConditionVpcNetworkSourcesToTerraform; function accessContextManagerAccessLevelConditionVpcNetworkSourcesToHclTerraform(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 = { vpc_subnetwork: { value: accessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkToHclTerraform(struct.vpcSubnetwork), isBlock: true, type: "list", storageClassType: "AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.accessContextManagerAccessLevelConditionVpcNetworkSourcesToHclTerraform = accessContextManagerAccessLevelConditionVpcNetworkSourcesToHclTerraform; class AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference 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; // vpc_subnetwork - computed: false, optional: true, required: false this._vpcSubnetwork = new AccessContextManagerAccessLevelConditionVpcNetworkSourcesVpcSubnetworkOutputReference(this, "vpc_subnetwork"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._vpcSubnetwork?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.vpcSubnetwork = this._vpcSubnetwork?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._vpcSubnetwork.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._vpcSubnetwork.internalValue = value.vpcSubnetwork; } } get vpcSubnetwork() { return this._vpcSubnetwork; } putVpcSubnetwork(value) { this._vpcSubnetwork.internalValue = value; } resetVpcSubnetwork() { this._vpcSubnetwork.internalValue = undefined; } // Temporarily expose input value. Use with caution. get vpcSubnetworkInput() { return this._vpcSubnetwork.internalValue; } } exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference = AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference; _f = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference[_f] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference", version: "14.12.0" }; class AccessContextManagerAccessLevelConditionVpcNetworkSourcesList 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 AccessContextManagerAccessLevelConditionVpcNetworkSourcesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessContextManagerAccessLevelConditionVpcNetworkSourcesList = AccessContextManagerAccessLevelConditionVpcNetworkSourcesList; _g = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelConditionVpcNetworkSourcesList[_g] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelConditionVpcNetworkSourcesList", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_access_level_condition google_access_context_manager_access_level_condition} */ class AccessContextManagerAccessLevelCondition extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a AccessContextManagerAccessLevelCondition 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 AccessContextManagerAccessLevelCondition to import * @param importFromId The id of the existing AccessContextManagerAccessLevelCondition that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_access_level_condition#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AccessContextManagerAccessLevelCondition to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_access_context_manager_access_level_condition", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/access_context_manager_access_level_condition google_access_context_manager_access_level_condition} 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 AccessContextManagerAccessLevelConditionConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_access_context_manager_access_level_condition', 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 }); // device_policy - computed: false, optional: true, required: false this._devicePolicy = new AccessContextManagerAccessLevelConditionDevicePolicyOutputReference(this, "device_policy"); // timeouts - computed: false, optional: true, required: false this._timeouts = new AccessContextManagerAccessLevelConditionTimeoutsOutputReference(this, "timeouts"); // vpc_network_sources - computed: false, optional: true, required: false this._vpcNetworkSources = new AccessContextManagerAccessLevelConditionVpcNetworkSourcesList(this, "vpc_network_sources", false); this._accessLevel = config.accessLevel; this._id = config.id; this._ipSubnetworks = config.ipSubnetworks; this._members = config.members; this._negate = config.negate; this._regions = config.regions; this._requiredAccessLevels = config.requiredAccessLevels; this._devicePolicy.internalValue = config.devicePolicy; this._timeouts.internalValue = config.timeouts; this._vpcNetworkSources.internalValue = config.vpcNetworkSources; } get accessLevel() { return this.getStringAttribute('access_level'); } set accessLevel(value) { this._accessLevel = value; } // Temporarily expose input value. Use with caution. get accessLevelInput() { return this._accessLevel; } 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 ipSubnetworks() { return this.getListAttribute('ip_subnetworks'); } set ipSubnetworks(value) { this._ipSubnetworks = value; } resetIpSubnetworks() { this._ipSubnetworks = undefined; } // Temporarily expose input value. Use with caution. get ipSubnetworksInput() { return this._ipSubnetworks; } get members() { return this.getListAttribute('members'); } set members(value) { this._members = value; } resetMembers() { this._members = undefined; } // Temporarily expose input value. Use with caution. get membersInput() { return this._members; } get negate() { return this.getBooleanAttribute('negate'); } set negate(value) { this._negate = value; } resetNegate() { this._negate = undefined; } // Temporarily expose input value. Use with caution. get negateInput() { return this._negate; } get regions() { return this.getListAttribute('regions'); } set regions(value) { this._regions = value; } resetRegions() { this._regions = undefined; } // Temporarily expose input value. Use with caution. get regionsInput() { return this._regions; } get requiredAccessLevels() { return this.getListAttribute('required_access_levels'); } set requiredAccessLevels(value) { this._requiredAccessLevels = value; } resetRequiredAccessLevels() { this._requiredAccessLevels = undefined; } // Temporarily expose input value. Use with caution. get requiredAccessLevelsInput() { return this._requiredAccessLevels; } get devicePolicy() { return this._devicePolicy; } putDevicePolicy(value) { this._devicePolicy.internalValue = value; } resetDevicePolicy() { this._devicePolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get devicePolicyInput() { return this._devicePolicy.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; } get vpcNetworkSources() { return this._vpcNetworkSources; } putVpcNetworkSources(value) { this._vpcNetworkSources.internalValue = value; } resetVpcNetworkSources() { this._vpcNetworkSources.internalValue = undefined; } // Temporarily expose input value. Use with caution. get vpcNetworkSourcesInput() { return this._vpcNetworkSources.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { access_level: cdktf.stringToTerraform(this._accessLevel), id: cdktf.stringToTerraform(this._id), ip_subnetworks: cdktf.listMapper(cdktf.stringToTerraform, false)(this._ipSubnetworks), members: cdktf.listMapper(cdktf.stringToTerraform, false)(this._members), negate: cdktf.booleanToTerraform(this._negate), regions: cdktf.listMapper(cdktf.stringToTerraform, false)(this._regions), required_access_levels: cdktf.listMapper(cdktf.stringToTerraform, false)(this._requiredAccessLevels), device_policy: accessContextManagerAccessLevelConditionDevicePolicyToTerraform(this._devicePolicy.internalValue), timeouts: accessContextManagerAccessLevelConditionTimeoutsToTerraform(this._timeouts.internalValue), vpc_network_sources: cdktf.listMapper(accessContextManagerAccessLevelConditionVpcNetworkSourcesToTerraform, true)(this._vpcNetworkSources.internalValue), }; } synthesizeHclAttributes() { const attrs = { access_level: { value: cdktf.stringToHclTerraform(this._accessLevel), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, ip_subnetworks: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._ipSubnetworks), isBlock: false, type: "list", storageClassType: "stringList", }, members: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._members), isBlock: false, type: "list", storageClassType: "stringList", }, negate: { value: cdktf.booleanToHclTerraform(this._negate), isBlock: false, type: "simple", storageClassType: "boolean", }, regions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._regions), isBlock: false, type: "list", storageClassType: "stringList", }, required_access_levels: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._requiredAccessLevels), isBlock: false, type: "list", storageClassType: "stringList", }, device_policy: { value: accessContextManagerAccessLevelConditionDevicePolicyToHclTerraform(this._devicePolicy.internalValue), isBlock: true, type: "list", storageClassType: "AccessContextManagerAccessLevelConditionDevicePolicyList", }, timeouts: { value: accessContextManagerAccessLevelConditionTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "AccessContextManagerAccessLevelConditionTimeouts", }, vpc_network_sources: { value: cdktf.listMapperHcl(accessContextManagerAccessLevelConditionVpcNetworkSourcesToHclTerraform, true)(this._vpcNetworkSources.internalValue), isBlock: true, type: "list", storageClassType: "AccessContextManagerAccessLevelConditionVpcNetworkSourcesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.AccessContextManagerAccessLevelCondition = AccessContextManagerAccessLevelCondition; _h = JSII_RTTI_SYMBOL_1; AccessContextManagerAccessLevelCondition[_h] = { fqn: "@cdktf/provider-google.accessContextManagerAccessLevelCondition.AccessContextManagerAccessLevelCondition", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= AccessContextManagerAccessLevelCondition.tfResourceType = "google_access_context_manager_access_level_condition"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjZXNzLWNvbnRleHQtbWFuYWdlci1hY2Nlc3MtbGV2ZWwtY29uZGl0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBNEcvQixTQUFnQiw0RUFBNEUsQ0FBQyxNQUE4RjtJQUN6TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsY0FBYyxDQUFDO1FBQ2hFLE9BQU8sRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztLQUNqRCxDQUFBO0FBQ0gsQ0FBQztBQVRELG9LQVNDO0FBR0QsU0FBZ0IsK0VBQStFLENBQUMsTUFBOEY7SUFDNUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixlQUFlLEVBQUU7WUFDZixL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