UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

980 lines 148 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetworkSecurityClientTlsPolicy = exports.NetworkSecurityClientTlsPolicyTimeoutsOutputReference = exports.networkSecurityClientTlsPolicyTimeoutsToHclTerraform = exports.networkSecurityClientTlsPolicyTimeoutsToTerraform = exports.NetworkSecurityClientTlsPolicyServerValidationCaList = exports.NetworkSecurityClientTlsPolicyServerValidationCaOutputReference = exports.networkSecurityClientTlsPolicyServerValidationCaToHclTerraform = exports.networkSecurityClientTlsPolicyServerValidationCaToTerraform = exports.NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference = exports.networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToHclTerraform = exports.networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToTerraform = exports.NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference = exports.networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToHclTerraform = exports.networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToTerraform = exports.NetworkSecurityClientTlsPolicyClientCertificateOutputReference = exports.networkSecurityClientTlsPolicyClientCertificateToHclTerraform = exports.networkSecurityClientTlsPolicyClientCertificateToTerraform = exports.NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference = exports.networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToHclTerraform = exports.networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToTerraform = exports.NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference = exports.networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToHclTerraform = exports.networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToTerraform(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 { plugin_instance: cdktf.stringToTerraform(struct.pluginInstance), }; } exports.networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToTerraform = networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToTerraform; function networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToHclTerraform(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 = { plugin_instance: { value: cdktf.stringToHclTerraform(struct.pluginInstance), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToHclTerraform = networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToHclTerraform; class NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference 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._pluginInstance !== undefined) { hasAnyValues = true; internalValueResult.pluginInstance = this._pluginInstance; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._pluginInstance = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._pluginInstance = value.pluginInstance; } } get pluginInstance() { return this.getStringAttribute('plugin_instance'); } set pluginInstance(value) { this._pluginInstance = value; } // Temporarily expose input value. Use with caution. get pluginInstanceInput() { return this._pluginInstance; } } exports.NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference = NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference; _a = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference[_a] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference", version: "14.12.0" }; function networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToTerraform(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 { target_uri: cdktf.stringToTerraform(struct.targetUri), }; } exports.networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToTerraform = networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToTerraform; function networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToHclTerraform(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 = { target_uri: { value: cdktf.stringToHclTerraform(struct.targetUri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToHclTerraform = networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToHclTerraform; class NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference 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._targetUri !== undefined) { hasAnyValues = true; internalValueResult.targetUri = this._targetUri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._targetUri = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._targetUri = value.targetUri; } } get targetUri() { return this.getStringAttribute('target_uri'); } set targetUri(value) { this._targetUri = value; } // Temporarily expose input value. Use with caution. get targetUriInput() { return this._targetUri; } } exports.NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference = NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference; _b = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference[_b] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference", version: "14.12.0" }; function networkSecurityClientTlsPolicyClientCertificateToTerraform(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 { certificate_provider_instance: networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToTerraform(struct.certificateProviderInstance), grpc_endpoint: networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToTerraform(struct.grpcEndpoint), }; } exports.networkSecurityClientTlsPolicyClientCertificateToTerraform = networkSecurityClientTlsPolicyClientCertificateToTerraform; function networkSecurityClientTlsPolicyClientCertificateToHclTerraform(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 = { certificate_provider_instance: { value: networkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceToHclTerraform(struct.certificateProviderInstance), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceList", }, grpc_endpoint: { value: networkSecurityClientTlsPolicyClientCertificateGrpcEndpointToHclTerraform(struct.grpcEndpoint), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyClientCertificateToHclTerraform = networkSecurityClientTlsPolicyClientCertificateToHclTerraform; class NetworkSecurityClientTlsPolicyClientCertificateOutputReference 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; // certificate_provider_instance - computed: false, optional: true, required: false this._certificateProviderInstance = new NetworkSecurityClientTlsPolicyClientCertificateCertificateProviderInstanceOutputReference(this, "certificate_provider_instance"); // grpc_endpoint - computed: false, optional: true, required: false this._grpcEndpoint = new NetworkSecurityClientTlsPolicyClientCertificateGrpcEndpointOutputReference(this, "grpc_endpoint"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._certificateProviderInstance?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.certificateProviderInstance = this._certificateProviderInstance?.internalValue; } if (this._grpcEndpoint?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.grpcEndpoint = this._grpcEndpoint?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._certificateProviderInstance.internalValue = undefined; this._grpcEndpoint.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._certificateProviderInstance.internalValue = value.certificateProviderInstance; this._grpcEndpoint.internalValue = value.grpcEndpoint; } } get certificateProviderInstance() { return this._certificateProviderInstance; } putCertificateProviderInstance(value) { this._certificateProviderInstance.internalValue = value; } resetCertificateProviderInstance() { this._certificateProviderInstance.internalValue = undefined; } // Temporarily expose input value. Use with caution. get certificateProviderInstanceInput() { return this._certificateProviderInstance.internalValue; } get grpcEndpoint() { return this._grpcEndpoint; } putGrpcEndpoint(value) { this._grpcEndpoint.internalValue = value; } resetGrpcEndpoint() { this._grpcEndpoint.internalValue = undefined; } // Temporarily expose input value. Use with caution. get grpcEndpointInput() { return this._grpcEndpoint.internalValue; } } exports.NetworkSecurityClientTlsPolicyClientCertificateOutputReference = NetworkSecurityClientTlsPolicyClientCertificateOutputReference; _c = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyClientCertificateOutputReference[_c] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyClientCertificateOutputReference", version: "14.12.0" }; function networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToTerraform(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 { plugin_instance: cdktf.stringToTerraform(struct.pluginInstance), }; } exports.networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToTerraform = networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToTerraform; function networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToHclTerraform(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 = { plugin_instance: { value: cdktf.stringToHclTerraform(struct.pluginInstance), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToHclTerraform = networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToHclTerraform; class NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference 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._pluginInstance !== undefined) { hasAnyValues = true; internalValueResult.pluginInstance = this._pluginInstance; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._pluginInstance = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._pluginInstance = value.pluginInstance; } } get pluginInstance() { return this.getStringAttribute('plugin_instance'); } set pluginInstance(value) { this._pluginInstance = value; } // Temporarily expose input value. Use with caution. get pluginInstanceInput() { return this._pluginInstance; } } exports.NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference = NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference; _d = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference[_d] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference", version: "14.12.0" }; function networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToTerraform(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 { target_uri: cdktf.stringToTerraform(struct.targetUri), }; } exports.networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToTerraform = networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToTerraform; function networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToHclTerraform(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 = { target_uri: { value: cdktf.stringToHclTerraform(struct.targetUri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToHclTerraform = networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToHclTerraform; class NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference 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._targetUri !== undefined) { hasAnyValues = true; internalValueResult.targetUri = this._targetUri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._targetUri = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._targetUri = value.targetUri; } } get targetUri() { return this.getStringAttribute('target_uri'); } set targetUri(value) { this._targetUri = value; } // Temporarily expose input value. Use with caution. get targetUriInput() { return this._targetUri; } } exports.NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference = NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference; _e = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference[_e] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference", version: "14.12.0" }; function networkSecurityClientTlsPolicyServerValidationCaToTerraform(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 { certificate_provider_instance: networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToTerraform(struct.certificateProviderInstance), grpc_endpoint: networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToTerraform(struct.grpcEndpoint), }; } exports.networkSecurityClientTlsPolicyServerValidationCaToTerraform = networkSecurityClientTlsPolicyServerValidationCaToTerraform; function networkSecurityClientTlsPolicyServerValidationCaToHclTerraform(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 = { certificate_provider_instance: { value: networkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceToHclTerraform(struct.certificateProviderInstance), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceList", }, grpc_endpoint: { value: networkSecurityClientTlsPolicyServerValidationCaGrpcEndpointToHclTerraform(struct.grpcEndpoint), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkSecurityClientTlsPolicyServerValidationCaToHclTerraform = networkSecurityClientTlsPolicyServerValidationCaToHclTerraform; class NetworkSecurityClientTlsPolicyServerValidationCaOutputReference 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; // certificate_provider_instance - computed: false, optional: true, required: false this._certificateProviderInstance = new NetworkSecurityClientTlsPolicyServerValidationCaCertificateProviderInstanceOutputReference(this, "certificate_provider_instance"); // grpc_endpoint - computed: false, optional: true, required: false this._grpcEndpoint = new NetworkSecurityClientTlsPolicyServerValidationCaGrpcEndpointOutputReference(this, "grpc_endpoint"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._certificateProviderInstance?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.certificateProviderInstance = this._certificateProviderInstance?.internalValue; } if (this._grpcEndpoint?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.grpcEndpoint = this._grpcEndpoint?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._certificateProviderInstance.internalValue = undefined; this._grpcEndpoint.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._certificateProviderInstance.internalValue = value.certificateProviderInstance; this._grpcEndpoint.internalValue = value.grpcEndpoint; } } get certificateProviderInstance() { return this._certificateProviderInstance; } putCertificateProviderInstance(value) { this._certificateProviderInstance.internalValue = value; } resetCertificateProviderInstance() { this._certificateProviderInstance.internalValue = undefined; } // Temporarily expose input value. Use with caution. get certificateProviderInstanceInput() { return this._certificateProviderInstance.internalValue; } get grpcEndpoint() { return this._grpcEndpoint; } putGrpcEndpoint(value) { this._grpcEndpoint.internalValue = value; } resetGrpcEndpoint() { this._grpcEndpoint.internalValue = undefined; } // Temporarily expose input value. Use with caution. get grpcEndpointInput() { return this._grpcEndpoint.internalValue; } } exports.NetworkSecurityClientTlsPolicyServerValidationCaOutputReference = NetworkSecurityClientTlsPolicyServerValidationCaOutputReference; _f = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyServerValidationCaOutputReference[_f] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyServerValidationCaOutputReference", version: "14.12.0" }; class NetworkSecurityClientTlsPolicyServerValidationCaList 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 NetworkSecurityClientTlsPolicyServerValidationCaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetworkSecurityClientTlsPolicyServerValidationCaList = NetworkSecurityClientTlsPolicyServerValidationCaList; _g = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyServerValidationCaList[_g] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyServerValidationCaList", version: "14.12.0" }; function networkSecurityClientTlsPolicyTimeoutsToTerraform(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.networkSecurityClientTlsPolicyTimeoutsToTerraform = networkSecurityClientTlsPolicyTimeoutsToTerraform; function networkSecurityClientTlsPolicyTimeoutsToHclTerraform(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.networkSecurityClientTlsPolicyTimeoutsToHclTerraform = networkSecurityClientTlsPolicyTimeoutsToHclTerraform; class NetworkSecurityClientTlsPolicyTimeoutsOutputReference 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.NetworkSecurityClientTlsPolicyTimeoutsOutputReference = NetworkSecurityClientTlsPolicyTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicyTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicyTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_client_tls_policy google_network_security_client_tls_policy} */ class NetworkSecurityClientTlsPolicy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a NetworkSecurityClientTlsPolicy 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 NetworkSecurityClientTlsPolicy to import * @param importFromId The id of the existing NetworkSecurityClientTlsPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_client_tls_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkSecurityClientTlsPolicy to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_network_security_client_tls_policy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_client_tls_policy google_network_security_client_tls_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 NetworkSecurityClientTlsPolicyConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_network_security_client_tls_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 }); // effective_labels - computed: true, optional: false, required: false this._effectiveLabels = new cdktf.StringMap(this, "effective_labels"); // terraform_labels - computed: true, optional: false, required: false this._terraformLabels = new cdktf.StringMap(this, "terraform_labels"); // client_certificate - computed: false, optional: true, required: false this._clientCertificate = new NetworkSecurityClientTlsPolicyClientCertificateOutputReference(this, "client_certificate"); // server_validation_ca - computed: false, optional: true, required: false this._serverValidationCa = new NetworkSecurityClientTlsPolicyServerValidationCaList(this, "server_validation_ca", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new NetworkSecurityClientTlsPolicyTimeoutsOutputReference(this, "timeouts"); this._description = config.description; this._id = config.id; this._labels = config.labels; this._location = config.location; this._name = config.name; this._project = config.project; this._sni = config.sni; this._clientCertificate.internalValue = config.clientCertificate; this._serverValidationCa.internalValue = config.serverValidationCa; this._timeouts.internalValue = config.timeouts; } // ========== // ATTRIBUTES // ========== // create_time - computed: true, optional: false, required: false get createTime() { return this.getStringAttribute('create_time'); } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get effectiveLabels() { return this._effectiveLabels; } get 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 labels() { return this.getStringMapAttribute('labels'); } set labels(value) { this._labels = value; } resetLabels() { this._labels = undefined; } // Temporarily expose input value. Use with caution. get labelsInput() { return this._labels; } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } resetLocation() { this._location = undefined; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get project() { return this.getStringAttribute('project'); } set project(value) { this._project = value; } resetProject() { this._project = undefined; } // Temporarily expose input value. Use with caution. get projectInput() { return this._project; } get sni() { return this.getStringAttribute('sni'); } set sni(value) { this._sni = value; } resetSni() { this._sni = undefined; } // Temporarily expose input value. Use with caution. get sniInput() { return this._sni; } get terraformLabels() { return this._terraformLabels; } // update_time - computed: true, optional: false, required: false get updateTime() { return this.getStringAttribute('update_time'); } get clientCertificate() { return this._clientCertificate; } putClientCertificate(value) { this._clientCertificate.internalValue = value; } resetClientCertificate() { this._clientCertificate.internalValue = undefined; } // Temporarily expose input value. Use with caution. get clientCertificateInput() { return this._clientCertificate.internalValue; } get serverValidationCa() { return this._serverValidationCa; } putServerValidationCa(value) { this._serverValidationCa.internalValue = value; } resetServerValidationCa() { this._serverValidationCa.internalValue = undefined; } // Temporarily expose input value. Use with caution. get serverValidationCaInput() { return this._serverValidationCa.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { description: cdktf.stringToTerraform(this._description), id: cdktf.stringToTerraform(this._id), labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._labels), location: cdktf.stringToTerraform(this._location), name: cdktf.stringToTerraform(this._name), project: cdktf.stringToTerraform(this._project), sni: cdktf.stringToTerraform(this._sni), client_certificate: networkSecurityClientTlsPolicyClientCertificateToTerraform(this._clientCertificate.internalValue), server_validation_ca: cdktf.listMapper(networkSecurityClientTlsPolicyServerValidationCaToTerraform, true)(this._serverValidationCa.internalValue), timeouts: networkSecurityClientTlsPolicyTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._labels), isBlock: false, type: "map", storageClassType: "stringMap", }, location: { value: cdktf.stringToHclTerraform(this._location), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, sni: { value: cdktf.stringToHclTerraform(this._sni), isBlock: false, type: "simple", storageClassType: "string", }, client_certificate: { value: networkSecurityClientTlsPolicyClientCertificateToHclTerraform(this._clientCertificate.internalValue), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyClientCertificateList", }, server_validation_ca: { value: cdktf.listMapperHcl(networkSecurityClientTlsPolicyServerValidationCaToHclTerraform, true)(this._serverValidationCa.internalValue), isBlock: true, type: "list", storageClassType: "NetworkSecurityClientTlsPolicyServerValidationCaList", }, timeouts: { value: networkSecurityClientTlsPolicyTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "NetworkSecurityClientTlsPolicyTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.NetworkSecurityClientTlsPolicy = NetworkSecurityClientTlsPolicy; _j = JSII_RTTI_SYMBOL_1; NetworkSecurityClientTlsPolicy[_j] = { fqn: "@cdktf/provider-google.networkSecurityClientTlsPolicy.NetworkSecurityClientTlsPolicy", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= NetworkSecurityClientTlsPolicy.tfResourceType = "google_network_security_client_tls_policy"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29yay1zZWN1cml0eS1jbGllbnQtdGxzLXBvbGljeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQThFL0IsU0FBZ0IscUZBQXFGLENBQUMsTUFBK0s7SUFDblIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLGVBQWUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGNBQWMsQ0FBQztLQUNqRSxDQUFBO0FBQ0gsQ0FBQztBQVJELHNMQVFDO0FBR0QsU0FBZ0Isd0ZBQXdGLENBQUMsTUFBK0s7SUFDdFIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixlQUFlLEVBQUU7WUFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxjQUFjLENBQUM7WUFDekQsT0FBTyxFQUFFLEtB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