UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,073 lines 175 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.VertexAiIndexEndpointDeployedIndex = exports.VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference = exports.vertexAiIndexEndpointDeployedIndexTimeoutsToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexTimeoutsToTerraform = exports.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference = exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToTerraform = exports.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference = exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToTerraform = exports.VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference = exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesToTerraform = exports.VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference = exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToTerraform = exports.VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference = exports.vertexAiIndexEndpointDeployedIndexAutomaticResourcesToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexAutomaticResourcesToTerraform = exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsList = exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference = exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsToTerraform = exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList = exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference = exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToHclTerraform = exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToTerraform = vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToTerraform; function vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToHclTerraform = vertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsToHclTerraform; class VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // match_address - computed: true, optional: false, required: false get matchAddress() { return this.getStringAttribute('match_address'); } // network - computed: true, optional: false, required: false get network() { return this.getStringAttribute('network'); } // project_id - computed: true, optional: false, required: false get projectId() { return this.getStringAttribute('project_id'); } } exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference = VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference; _a = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference[_a] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference", version: "14.12.0" }; class VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList 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 VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList = VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList; _b = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList[_b] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexPrivateEndpointsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsToTerraform = vertexAiIndexEndpointDeployedIndexPrivateEndpointsToTerraform; function vertexAiIndexEndpointDeployedIndexPrivateEndpointsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.vertexAiIndexEndpointDeployedIndexPrivateEndpointsToHclTerraform = vertexAiIndexEndpointDeployedIndexPrivateEndpointsToHclTerraform; class VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference 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; // psc_automated_endpoints - computed: true, optional: false, required: false this._pscAutomatedEndpoints = new VertexAiIndexEndpointDeployedIndexPrivateEndpointsPscAutomatedEndpointsList(this, "psc_automated_endpoints", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // match_grpc_address - computed: true, optional: false, required: false get matchGrpcAddress() { return this.getStringAttribute('match_grpc_address'); } get pscAutomatedEndpoints() { return this._pscAutomatedEndpoints; } // service_attachment - computed: true, optional: false, required: false get serviceAttachment() { return this.getStringAttribute('service_attachment'); } } exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference = VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference; _c = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference[_c] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference", version: "14.12.0" }; class VertexAiIndexEndpointDeployedIndexPrivateEndpointsList 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 VertexAiIndexEndpointDeployedIndexPrivateEndpointsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VertexAiIndexEndpointDeployedIndexPrivateEndpointsList = VertexAiIndexEndpointDeployedIndexPrivateEndpointsList; _d = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexPrivateEndpointsList[_d] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexPrivateEndpointsList", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexAutomaticResourcesToTerraform(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 { max_replica_count: cdktf.numberToTerraform(struct.maxReplicaCount), min_replica_count: cdktf.numberToTerraform(struct.minReplicaCount), }; } exports.vertexAiIndexEndpointDeployedIndexAutomaticResourcesToTerraform = vertexAiIndexEndpointDeployedIndexAutomaticResourcesToTerraform; function vertexAiIndexEndpointDeployedIndexAutomaticResourcesToHclTerraform(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 = { max_replica_count: { value: cdktf.numberToHclTerraform(struct.maxReplicaCount), isBlock: false, type: "simple", storageClassType: "number", }, min_replica_count: { value: cdktf.numberToHclTerraform(struct.minReplicaCount), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vertexAiIndexEndpointDeployedIndexAutomaticResourcesToHclTerraform = vertexAiIndexEndpointDeployedIndexAutomaticResourcesToHclTerraform; class VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference 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._maxReplicaCount !== undefined) { hasAnyValues = true; internalValueResult.maxReplicaCount = this._maxReplicaCount; } if (this._minReplicaCount !== undefined) { hasAnyValues = true; internalValueResult.minReplicaCount = this._minReplicaCount; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxReplicaCount = undefined; this._minReplicaCount = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxReplicaCount = value.maxReplicaCount; this._minReplicaCount = value.minReplicaCount; } } get maxReplicaCount() { return this.getNumberAttribute('max_replica_count'); } set maxReplicaCount(value) { this._maxReplicaCount = value; } resetMaxReplicaCount() { this._maxReplicaCount = undefined; } // Temporarily expose input value. Use with caution. get maxReplicaCountInput() { return this._maxReplicaCount; } get minReplicaCount() { return this.getNumberAttribute('min_replica_count'); } set minReplicaCount(value) { this._minReplicaCount = value; } resetMinReplicaCount() { this._minReplicaCount = undefined; } // Temporarily expose input value. Use with caution. get minReplicaCountInput() { return this._minReplicaCount; } } exports.VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference = VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference; _e = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference[_e] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToTerraform(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 { machine_type: cdktf.stringToTerraform(struct.machineType), }; } exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToTerraform = vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToTerraform; function vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToHclTerraform(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 = { machine_type: { value: cdktf.stringToHclTerraform(struct.machineType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToHclTerraform = vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToHclTerraform; class VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference 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._machineType !== undefined) { hasAnyValues = true; internalValueResult.machineType = this._machineType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._machineType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._machineType = value.machineType; } } get machineType() { return this.getStringAttribute('machine_type'); } set machineType(value) { this._machineType = value; } resetMachineType() { this._machineType = undefined; } // Temporarily expose input value. Use with caution. get machineTypeInput() { return this._machineType; } } exports.VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference = VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference; _f = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference[_f] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexDedicatedResourcesToTerraform(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 { max_replica_count: cdktf.numberToTerraform(struct.maxReplicaCount), min_replica_count: cdktf.numberToTerraform(struct.minReplicaCount), machine_spec: vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToTerraform(struct.machineSpec), }; } exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesToTerraform = vertexAiIndexEndpointDeployedIndexDedicatedResourcesToTerraform; function vertexAiIndexEndpointDeployedIndexDedicatedResourcesToHclTerraform(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 = { max_replica_count: { value: cdktf.numberToHclTerraform(struct.maxReplicaCount), isBlock: false, type: "simple", storageClassType: "number", }, min_replica_count: { value: cdktf.numberToHclTerraform(struct.minReplicaCount), isBlock: false, type: "simple", storageClassType: "number", }, machine_spec: { value: vertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecToHclTerraform(struct.machineSpec), isBlock: true, type: "list", storageClassType: "VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vertexAiIndexEndpointDeployedIndexDedicatedResourcesToHclTerraform = vertexAiIndexEndpointDeployedIndexDedicatedResourcesToHclTerraform; class VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference 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; // machine_spec - computed: false, optional: false, required: true this._machineSpec = new VertexAiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecOutputReference(this, "machine_spec"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._maxReplicaCount !== undefined) { hasAnyValues = true; internalValueResult.maxReplicaCount = this._maxReplicaCount; } if (this._minReplicaCount !== undefined) { hasAnyValues = true; internalValueResult.minReplicaCount = this._minReplicaCount; } if (this._machineSpec?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.machineSpec = this._machineSpec?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxReplicaCount = undefined; this._minReplicaCount = undefined; this._machineSpec.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxReplicaCount = value.maxReplicaCount; this._minReplicaCount = value.minReplicaCount; this._machineSpec.internalValue = value.machineSpec; } } get maxReplicaCount() { return this.getNumberAttribute('max_replica_count'); } set maxReplicaCount(value) { this._maxReplicaCount = value; } resetMaxReplicaCount() { this._maxReplicaCount = undefined; } // Temporarily expose input value. Use with caution. get maxReplicaCountInput() { return this._maxReplicaCount; } get minReplicaCount() { return this.getNumberAttribute('min_replica_count'); } set minReplicaCount(value) { this._minReplicaCount = value; } // Temporarily expose input value. Use with caution. get minReplicaCountInput() { return this._minReplicaCount; } get machineSpec() { return this._machineSpec; } putMachineSpec(value) { this._machineSpec.internalValue = value; } // Temporarily expose input value. Use with caution. get machineSpecInput() { return this._machineSpec.internalValue; } } exports.VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference = VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference; _g = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference[_g] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToTerraform(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_issuers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedIssuers), audiences: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.audiences), }; } exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToTerraform = vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToTerraform; function vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToHclTerraform(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_issuers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedIssuers), isBlock: false, type: "list", storageClassType: "stringList", }, audiences: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.audiences), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToHclTerraform = vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToHclTerraform; class VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference 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._allowedIssuers !== undefined) { hasAnyValues = true; internalValueResult.allowedIssuers = this._allowedIssuers; } if (this._audiences !== undefined) { hasAnyValues = true; internalValueResult.audiences = this._audiences; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allowedIssuers = undefined; this._audiences = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allowedIssuers = value.allowedIssuers; this._audiences = value.audiences; } } get allowedIssuers() { return this.getListAttribute('allowed_issuers'); } set allowedIssuers(value) { this._allowedIssuers = value; } resetAllowedIssuers() { this._allowedIssuers = undefined; } // Temporarily expose input value. Use with caution. get allowedIssuersInput() { return this._allowedIssuers; } get audiences() { return this.getListAttribute('audiences'); } set audiences(value) { this._audiences = value; } resetAudiences() { this._audiences = undefined; } // Temporarily expose input value. Use with caution. get audiencesInput() { return this._audiences; } } exports.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference = VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference; _h = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference[_h] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToTerraform(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 { auth_provider: vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToTerraform(struct.authProvider), }; } exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToTerraform = vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToTerraform; function vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToHclTerraform(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 = { auth_provider: { value: vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderToHclTerraform(struct.authProvider), isBlock: true, type: "list", storageClassType: "VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToHclTerraform = vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToHclTerraform; class VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference 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; // auth_provider - computed: false, optional: true, required: false this._authProvider = new VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderOutputReference(this, "auth_provider"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._authProvider?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.authProvider = this._authProvider?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._authProvider.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._authProvider.internalValue = value.authProvider; } } get authProvider() { return this._authProvider; } putAuthProvider(value) { this._authProvider.internalValue = value; } resetAuthProvider() { this._authProvider.internalValue = undefined; } // Temporarily expose input value. Use with caution. get authProviderInput() { return this._authProvider.internalValue; } } exports.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference = VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference; _j = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference[_j] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference", version: "14.12.0" }; function vertexAiIndexEndpointDeployedIndexTimeoutsToTerraform(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.vertexAiIndexEndpointDeployedIndexTimeoutsToTerraform = vertexAiIndexEndpointDeployedIndexTimeoutsToTerraform; function vertexAiIndexEndpointDeployedIndexTimeoutsToHclTerraform(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.vertexAiIndexEndpointDeployedIndexTimeoutsToHclTerraform = vertexAiIndexEndpointDeployedIndexTimeoutsToHclTerraform; class VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference 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.VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference = VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference; _k = JSII_RTTI_SYMBOL_1; VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-google.vertexAiIndexEndpointDeployedIndex.VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vertex_ai_index_endpoint_deployed_index google_vertex_ai_index_endpoint_deployed_index} */ class VertexAiIndexEndpointDeployedIndex extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a VertexAiIndexEndpointDeployedIndex 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 VertexAiIndexEndpointDeployedIndex to import * @param importFromId The id of the existing VertexAiIndexEndpointDeployedIndex that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vertex_ai_index_endpoint_deployed_index#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VertexAiIndexEndpointDeployedIndex to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_vertex_ai_index_endpoint_deployed_index", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vertex_ai_index_endpoint_deployed_index google_vertex_ai_index_endpoint_deployed_index} 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 VertexAiIndexEndpointDeployedIndexConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_vertex_ai_index_endpoint_deployed_index', 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 }); // private_endpoints - computed: true, optional: false, required: false this._privateEndpoints = new VertexAiIndexEndpointDeployedIndexPrivateEndpointsList(this, "private_endpoints", false); // automatic_resources - computed: false, optional: true, required: false this._automaticResources = new VertexAiIndexEndpointDeployedIndexAutomaticResourcesOutputReference(this, "automatic_resources"); // dedicated_resources - computed: false, optional: true, required: false this._dedicatedResources = new VertexAiIndexEndpointDeployedIndexDedicatedResourcesOutputReference(this, "dedicated_resources"); // deployed_index_auth_config - computed: false, optional: true, required: false this._deployedIndexAuthConfig = new VertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigOutputReference(this, "deployed_index_auth_config"); // timeouts - computed: false, optional: true, required: false this._timeouts = new VertexAiIndexEndpointDeployedIndexTimeoutsOutputReference(this, "timeouts"); this._deployedIndexId = config.deployedIndexId; this._deploymentGroup = config.deploymentGroup; this._displayName = config.displayName; this._enableAccessLogging = config.enableAccessLogging; this._id = config.id; this._index = config.index; this._indexEndpoint = config.indexEndpoint; this._reservedIpRanges = config.reservedIpRanges; this._automaticResources.internalValue = config.automaticResources; this._dedicatedResources.internalValue = config.dedicatedResources; this._deployedIndexAuthConfig.internalValue = config.deployedIndexAuthConfig; this._timeouts.internalValue = config.timeouts; } // ========== // ATTRIBUTES // ========== // create_time - computed: true, optional: false, required: false get createTime() { return this.getStringAttribute('create_time'); } get deployedIndexId() { return this.getStringAttribute('deployed_index_id'); } set deployedIndexId(value) { this._deployedIndexId = value; } // Temporarily expose input value. Use with caution. get deployedIndexIdInput() { return this._deployedIndexId; } get deploymentGroup() { return this.getStringAttribute('deployment_group'); } set deploymentGroup(value) { this._deploymentGroup = value; } resetDeploymentGroup() { this._deploymentGroup = undefined; } // Temporarily expose input value. Use with caution. get deploymentGroupInput() { return this._deploymentGroup; } get displayName() { return this.getStringAttribute('display_name'); } set displayName(value) { this._displayName = value; } resetDisplayName() { this._displayName = undefined; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } get enableAccessLogging() { return this.getBooleanAttribute('enable_access_logging'); } set enableAccessLogging(value) { this._enableAccessLogging = value; } resetEnableAccessLogging() { this._enableAccessLogging = undefined; } // Temporarily expose input value. Use with caution. get enableAccessLoggingInput() { return this._enableAccessLogging; } 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 index() { return this.getStringAttribute('index'); } set index(value) { this._index = value; } // Temporarily expose input value. Use with caution. get indexInput() { return this._index; } get indexEndpoint() { return this.getStringAttribute('index_endpoint'); } set indexEndpoint(value) { this._indexEndpoint = value; } // Temporarily expose input value. Use with caution. get indexEndpointInput() { return this._indexEndpoint; } // index_sync_time - computed: true, optional: false, required: false get indexSyncTime() { return this.getStringAttribute('index_sync_time'); } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } get privateEndpoints() { return this._privateEndpoints; } get reservedIpRanges() { return this.getListAttribute('reserved_ip_ranges'); } set reservedIpRanges(value) { this._reservedIpRanges = value; } resetReservedIpRanges() { this._reservedIpRanges = undefined; } // Temporarily expose input value. Use with caution. get reservedIpRangesInput() { return this._reservedIpRanges; } get automaticResources() { return this._automaticResources; } putAutomaticResources(value) { this._automaticResources.internalValue = value; } resetAutomaticResources() { this._automaticResources.internalValue = undefined; } // Temporarily expose input value. Use with caution. get automaticResourcesInput() { return this._automaticResources.internalValue; } get dedicatedResources() { return this._dedicatedResources; } putDedicatedResources(value) { this._dedicatedResources.internalValue = value; } resetDedicatedResources() { this._dedicatedResources.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dedicatedResourcesInput() { return this._dedicatedResources.internalValue; } get deployedIndexAuthConfig() { return this._deployedIndexAuthConfig; } putDeployedIndexAuthConfig(value) { this._deployedIndexAuthConfig.internalValue = value; } resetDeployedIndexAuthConfig() { this._deployedIndexAuthConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get deployedIndexAuthConfigInput() { return this._deployedIndexAuthConfig.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 { deployed_index_id: cdktf.stringToTerraform(this._deployedIndexId), deployment_group: cdktf.stringToTerraform(this._deploymentGroup), display_name: cdktf.stringToTerraform(this._displayName), enable_access_logging: cdktf.booleanToTerraform(this._enableAccessLogging), id: cdktf.stringToTerraform(this._id), index: cdktf.stringToTerraform(this._index), index_endpoint: cdktf.stringToTerraform(this._indexEndpoint), reserved_ip_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(this._reservedIpRanges), automatic_resources: vertexAiIndexEndpointDeployedIndexAutomaticResourcesToTerraform(this._automaticResources.internalValue), dedicated_resources: vertexAiIndexEndpointDeployedIndexDedicatedResourcesToTerraform(this._dedicatedResources.internalValue), deployed_index_auth_config: vertexAiIndexEndpointDeployedIndexDeployedIndexAuthConfigToTerraform(this._deployedIndexAuthConfig.internalValue), timeouts: vertexAiIndexEndpointDeployedIndexTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { deployed_index_id: { value: cdktf.stringToHclTerraform(this._deployedIndexId), isBlock: false, type: "simple", storageClassType: "string", }, deployment_group: { value: cdktf.stringToHclTerraform(this._deploymentGroup), isBlock: false, type: "simple", storageClassType: "string", }, display_name: { value: cdktf.stringToHclTerraform(this._displayName), isBlock: false, type: "simple", storageClassType: "string", }, enable_access_logging: { value: cdktf.booleanToHclTerraform(this._enableAccessLogging), isBlock: false, type: "simple", storageClassType: "boolean", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string