UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,240 lines 174 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggingMetric = exports.LoggingMetricTimeoutsOutputReference = exports.loggingMetricTimeoutsToHclTerraform = exports.loggingMetricTimeoutsToTerraform = exports.LoggingMetricMetricDescriptorOutputReference = exports.loggingMetricMetricDescriptorToHclTerraform = exports.loggingMetricMetricDescriptorToTerraform = exports.LoggingMetricMetricDescriptorLabelsList = exports.LoggingMetricMetricDescriptorLabelsOutputReference = exports.loggingMetricMetricDescriptorLabelsToHclTerraform = exports.loggingMetricMetricDescriptorLabelsToTerraform = exports.LoggingMetricBucketOptionsOutputReference = exports.loggingMetricBucketOptionsToHclTerraform = exports.loggingMetricBucketOptionsToTerraform = exports.LoggingMetricBucketOptionsLinearBucketsOutputReference = exports.loggingMetricBucketOptionsLinearBucketsToHclTerraform = exports.loggingMetricBucketOptionsLinearBucketsToTerraform = exports.LoggingMetricBucketOptionsExponentialBucketsOutputReference = exports.loggingMetricBucketOptionsExponentialBucketsToHclTerraform = exports.loggingMetricBucketOptionsExponentialBucketsToTerraform = exports.LoggingMetricBucketOptionsExplicitBucketsOutputReference = exports.loggingMetricBucketOptionsExplicitBucketsToHclTerraform = exports.loggingMetricBucketOptionsExplicitBucketsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function loggingMetricBucketOptionsExplicitBucketsToTerraform(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 { bounds: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.bounds), }; } exports.loggingMetricBucketOptionsExplicitBucketsToTerraform = loggingMetricBucketOptionsExplicitBucketsToTerraform; function loggingMetricBucketOptionsExplicitBucketsToHclTerraform(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 = { bounds: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.bounds), isBlock: false, type: "list", storageClassType: "numberList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricBucketOptionsExplicitBucketsToHclTerraform = loggingMetricBucketOptionsExplicitBucketsToHclTerraform; class LoggingMetricBucketOptionsExplicitBucketsOutputReference 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._bounds !== undefined) { hasAnyValues = true; internalValueResult.bounds = this._bounds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bounds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bounds = value.bounds; } } get bounds() { return this.getNumberListAttribute('bounds'); } set bounds(value) { this._bounds = value; } // Temporarily expose input value. Use with caution. get boundsInput() { return this._bounds; } } exports.LoggingMetricBucketOptionsExplicitBucketsOutputReference = LoggingMetricBucketOptionsExplicitBucketsOutputReference; _a = JSII_RTTI_SYMBOL_1; LoggingMetricBucketOptionsExplicitBucketsOutputReference[_a] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricBucketOptionsExplicitBucketsOutputReference", version: "14.12.0" }; function loggingMetricBucketOptionsExponentialBucketsToTerraform(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 { growth_factor: cdktf.numberToTerraform(struct.growthFactor), num_finite_buckets: cdktf.numberToTerraform(struct.numFiniteBuckets), scale: cdktf.numberToTerraform(struct.scale), }; } exports.loggingMetricBucketOptionsExponentialBucketsToTerraform = loggingMetricBucketOptionsExponentialBucketsToTerraform; function loggingMetricBucketOptionsExponentialBucketsToHclTerraform(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 = { growth_factor: { value: cdktf.numberToHclTerraform(struct.growthFactor), isBlock: false, type: "simple", storageClassType: "number", }, num_finite_buckets: { value: cdktf.numberToHclTerraform(struct.numFiniteBuckets), isBlock: false, type: "simple", storageClassType: "number", }, scale: { value: cdktf.numberToHclTerraform(struct.scale), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricBucketOptionsExponentialBucketsToHclTerraform = loggingMetricBucketOptionsExponentialBucketsToHclTerraform; class LoggingMetricBucketOptionsExponentialBucketsOutputReference 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._growthFactor !== undefined) { hasAnyValues = true; internalValueResult.growthFactor = this._growthFactor; } if (this._numFiniteBuckets !== undefined) { hasAnyValues = true; internalValueResult.numFiniteBuckets = this._numFiniteBuckets; } if (this._scale !== undefined) { hasAnyValues = true; internalValueResult.scale = this._scale; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._growthFactor = undefined; this._numFiniteBuckets = undefined; this._scale = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._growthFactor = value.growthFactor; this._numFiniteBuckets = value.numFiniteBuckets; this._scale = value.scale; } } get growthFactor() { return this.getNumberAttribute('growth_factor'); } set growthFactor(value) { this._growthFactor = value; } // Temporarily expose input value. Use with caution. get growthFactorInput() { return this._growthFactor; } get numFiniteBuckets() { return this.getNumberAttribute('num_finite_buckets'); } set numFiniteBuckets(value) { this._numFiniteBuckets = value; } // Temporarily expose input value. Use with caution. get numFiniteBucketsInput() { return this._numFiniteBuckets; } get scale() { return this.getNumberAttribute('scale'); } set scale(value) { this._scale = value; } // Temporarily expose input value. Use with caution. get scaleInput() { return this._scale; } } exports.LoggingMetricBucketOptionsExponentialBucketsOutputReference = LoggingMetricBucketOptionsExponentialBucketsOutputReference; _b = JSII_RTTI_SYMBOL_1; LoggingMetricBucketOptionsExponentialBucketsOutputReference[_b] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricBucketOptionsExponentialBucketsOutputReference", version: "14.12.0" }; function loggingMetricBucketOptionsLinearBucketsToTerraform(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 { num_finite_buckets: cdktf.numberToTerraform(struct.numFiniteBuckets), offset: cdktf.numberToTerraform(struct.offset), width: cdktf.numberToTerraform(struct.width), }; } exports.loggingMetricBucketOptionsLinearBucketsToTerraform = loggingMetricBucketOptionsLinearBucketsToTerraform; function loggingMetricBucketOptionsLinearBucketsToHclTerraform(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 = { num_finite_buckets: { value: cdktf.numberToHclTerraform(struct.numFiniteBuckets), isBlock: false, type: "simple", storageClassType: "number", }, offset: { value: cdktf.numberToHclTerraform(struct.offset), isBlock: false, type: "simple", storageClassType: "number", }, width: { value: cdktf.numberToHclTerraform(struct.width), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricBucketOptionsLinearBucketsToHclTerraform = loggingMetricBucketOptionsLinearBucketsToHclTerraform; class LoggingMetricBucketOptionsLinearBucketsOutputReference 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._numFiniteBuckets !== undefined) { hasAnyValues = true; internalValueResult.numFiniteBuckets = this._numFiniteBuckets; } if (this._offset !== undefined) { hasAnyValues = true; internalValueResult.offset = this._offset; } if (this._width !== undefined) { hasAnyValues = true; internalValueResult.width = this._width; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._numFiniteBuckets = undefined; this._offset = undefined; this._width = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._numFiniteBuckets = value.numFiniteBuckets; this._offset = value.offset; this._width = value.width; } } get numFiniteBuckets() { return this.getNumberAttribute('num_finite_buckets'); } set numFiniteBuckets(value) { this._numFiniteBuckets = value; } // Temporarily expose input value. Use with caution. get numFiniteBucketsInput() { return this._numFiniteBuckets; } get offset() { return this.getNumberAttribute('offset'); } set offset(value) { this._offset = value; } // Temporarily expose input value. Use with caution. get offsetInput() { return this._offset; } get width() { return this.getNumberAttribute('width'); } set width(value) { this._width = value; } // Temporarily expose input value. Use with caution. get widthInput() { return this._width; } } exports.LoggingMetricBucketOptionsLinearBucketsOutputReference = LoggingMetricBucketOptionsLinearBucketsOutputReference; _c = JSII_RTTI_SYMBOL_1; LoggingMetricBucketOptionsLinearBucketsOutputReference[_c] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricBucketOptionsLinearBucketsOutputReference", version: "14.12.0" }; function loggingMetricBucketOptionsToTerraform(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 { explicit_buckets: loggingMetricBucketOptionsExplicitBucketsToTerraform(struct.explicitBuckets), exponential_buckets: loggingMetricBucketOptionsExponentialBucketsToTerraform(struct.exponentialBuckets), linear_buckets: loggingMetricBucketOptionsLinearBucketsToTerraform(struct.linearBuckets), }; } exports.loggingMetricBucketOptionsToTerraform = loggingMetricBucketOptionsToTerraform; function loggingMetricBucketOptionsToHclTerraform(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 = { explicit_buckets: { value: loggingMetricBucketOptionsExplicitBucketsToHclTerraform(struct.explicitBuckets), isBlock: true, type: "list", storageClassType: "LoggingMetricBucketOptionsExplicitBucketsList", }, exponential_buckets: { value: loggingMetricBucketOptionsExponentialBucketsToHclTerraform(struct.exponentialBuckets), isBlock: true, type: "list", storageClassType: "LoggingMetricBucketOptionsExponentialBucketsList", }, linear_buckets: { value: loggingMetricBucketOptionsLinearBucketsToHclTerraform(struct.linearBuckets), isBlock: true, type: "list", storageClassType: "LoggingMetricBucketOptionsLinearBucketsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricBucketOptionsToHclTerraform = loggingMetricBucketOptionsToHclTerraform; class LoggingMetricBucketOptionsOutputReference 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; // explicit_buckets - computed: false, optional: true, required: false this._explicitBuckets = new LoggingMetricBucketOptionsExplicitBucketsOutputReference(this, "explicit_buckets"); // exponential_buckets - computed: false, optional: true, required: false this._exponentialBuckets = new LoggingMetricBucketOptionsExponentialBucketsOutputReference(this, "exponential_buckets"); // linear_buckets - computed: false, optional: true, required: false this._linearBuckets = new LoggingMetricBucketOptionsLinearBucketsOutputReference(this, "linear_buckets"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._explicitBuckets?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.explicitBuckets = this._explicitBuckets?.internalValue; } if (this._exponentialBuckets?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.exponentialBuckets = this._exponentialBuckets?.internalValue; } if (this._linearBuckets?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.linearBuckets = this._linearBuckets?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._explicitBuckets.internalValue = undefined; this._exponentialBuckets.internalValue = undefined; this._linearBuckets.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._explicitBuckets.internalValue = value.explicitBuckets; this._exponentialBuckets.internalValue = value.exponentialBuckets; this._linearBuckets.internalValue = value.linearBuckets; } } get explicitBuckets() { return this._explicitBuckets; } putExplicitBuckets(value) { this._explicitBuckets.internalValue = value; } resetExplicitBuckets() { this._explicitBuckets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get explicitBucketsInput() { return this._explicitBuckets.internalValue; } get exponentialBuckets() { return this._exponentialBuckets; } putExponentialBuckets(value) { this._exponentialBuckets.internalValue = value; } resetExponentialBuckets() { this._exponentialBuckets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exponentialBucketsInput() { return this._exponentialBuckets.internalValue; } get linearBuckets() { return this._linearBuckets; } putLinearBuckets(value) { this._linearBuckets.internalValue = value; } resetLinearBuckets() { this._linearBuckets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get linearBucketsInput() { return this._linearBuckets.internalValue; } } exports.LoggingMetricBucketOptionsOutputReference = LoggingMetricBucketOptionsOutputReference; _d = JSII_RTTI_SYMBOL_1; LoggingMetricBucketOptionsOutputReference[_d] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricBucketOptionsOutputReference", version: "14.12.0" }; function loggingMetricMetricDescriptorLabelsToTerraform(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 { description: cdktf.stringToTerraform(struct.description), key: cdktf.stringToTerraform(struct.key), value_type: cdktf.stringToTerraform(struct.valueType), }; } exports.loggingMetricMetricDescriptorLabelsToTerraform = loggingMetricMetricDescriptorLabelsToTerraform; function loggingMetricMetricDescriptorLabelsToHclTerraform(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 = { description: { value: cdktf.stringToHclTerraform(struct.description), isBlock: false, type: "simple", storageClassType: "string", }, key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, value_type: { value: cdktf.stringToHclTerraform(struct.valueType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricMetricDescriptorLabelsToHclTerraform = loggingMetricMetricDescriptorLabelsToHclTerraform; class LoggingMetricMetricDescriptorLabelsOutputReference 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._description !== undefined) { hasAnyValues = true; internalValueResult.description = this._description; } if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._valueType !== undefined) { hasAnyValues = true; internalValueResult.valueType = this._valueType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._description = undefined; this._key = undefined; this._valueType = 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._description = value.description; this._key = value.key; this._valueType = value.valueType; } } 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 key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get valueType() { return this.getStringAttribute('value_type'); } set valueType(value) { this._valueType = value; } resetValueType() { this._valueType = undefined; } // Temporarily expose input value. Use with caution. get valueTypeInput() { return this._valueType; } } exports.LoggingMetricMetricDescriptorLabelsOutputReference = LoggingMetricMetricDescriptorLabelsOutputReference; _e = JSII_RTTI_SYMBOL_1; LoggingMetricMetricDescriptorLabelsOutputReference[_e] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricMetricDescriptorLabelsOutputReference", version: "14.12.0" }; class LoggingMetricMetricDescriptorLabelsList 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 LoggingMetricMetricDescriptorLabelsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LoggingMetricMetricDescriptorLabelsList = LoggingMetricMetricDescriptorLabelsList; _f = JSII_RTTI_SYMBOL_1; LoggingMetricMetricDescriptorLabelsList[_f] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricMetricDescriptorLabelsList", version: "14.12.0" }; function loggingMetricMetricDescriptorToTerraform(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 { display_name: cdktf.stringToTerraform(struct.displayName), metric_kind: cdktf.stringToTerraform(struct.metricKind), unit: cdktf.stringToTerraform(struct.unit), value_type: cdktf.stringToTerraform(struct.valueType), labels: cdktf.listMapper(loggingMetricMetricDescriptorLabelsToTerraform, true)(struct.labels), }; } exports.loggingMetricMetricDescriptorToTerraform = loggingMetricMetricDescriptorToTerraform; function loggingMetricMetricDescriptorToHclTerraform(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 = { display_name: { value: cdktf.stringToHclTerraform(struct.displayName), isBlock: false, type: "simple", storageClassType: "string", }, metric_kind: { value: cdktf.stringToHclTerraform(struct.metricKind), isBlock: false, type: "simple", storageClassType: "string", }, unit: { value: cdktf.stringToHclTerraform(struct.unit), isBlock: false, type: "simple", storageClassType: "string", }, value_type: { value: cdktf.stringToHclTerraform(struct.valueType), isBlock: false, type: "simple", storageClassType: "string", }, labels: { value: cdktf.listMapperHcl(loggingMetricMetricDescriptorLabelsToHclTerraform, true)(struct.labels), isBlock: true, type: "set", storageClassType: "LoggingMetricMetricDescriptorLabelsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loggingMetricMetricDescriptorToHclTerraform = loggingMetricMetricDescriptorToHclTerraform; class LoggingMetricMetricDescriptorOutputReference 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; // labels - computed: false, optional: true, required: false this._labels = new LoggingMetricMetricDescriptorLabelsList(this, "labels", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._displayName !== undefined) { hasAnyValues = true; internalValueResult.displayName = this._displayName; } if (this._metricKind !== undefined) { hasAnyValues = true; internalValueResult.metricKind = this._metricKind; } if (this._unit !== undefined) { hasAnyValues = true; internalValueResult.unit = this._unit; } if (this._valueType !== undefined) { hasAnyValues = true; internalValueResult.valueType = this._valueType; } if (this._labels?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._displayName = undefined; this._metricKind = undefined; this._unit = undefined; this._valueType = undefined; this._labels.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._displayName = value.displayName; this._metricKind = value.metricKind; this._unit = value.unit; this._valueType = value.valueType; this._labels.internalValue = value.labels; } } 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 metricKind() { return this.getStringAttribute('metric_kind'); } set metricKind(value) { this._metricKind = value; } // Temporarily expose input value. Use with caution. get metricKindInput() { return this._metricKind; } get unit() { return this.getStringAttribute('unit'); } set unit(value) { this._unit = value; } resetUnit() { this._unit = undefined; } // Temporarily expose input value. Use with caution. get unitInput() { return this._unit; } get valueType() { return this.getStringAttribute('value_type'); } set valueType(value) { this._valueType = value; } // Temporarily expose input value. Use with caution. get valueTypeInput() { return this._valueType; } get labels() { return this._labels; } putLabels(value) { this._labels.internalValue = value; } resetLabels() { this._labels.internalValue = undefined; } // Temporarily expose input value. Use with caution. get labelsInput() { return this._labels.internalValue; } } exports.LoggingMetricMetricDescriptorOutputReference = LoggingMetricMetricDescriptorOutputReference; _g = JSII_RTTI_SYMBOL_1; LoggingMetricMetricDescriptorOutputReference[_g] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricMetricDescriptorOutputReference", version: "14.12.0" }; function loggingMetricTimeoutsToTerraform(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.loggingMetricTimeoutsToTerraform = loggingMetricTimeoutsToTerraform; function loggingMetricTimeoutsToHclTerraform(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.loggingMetricTimeoutsToHclTerraform = loggingMetricTimeoutsToHclTerraform; class LoggingMetricTimeoutsOutputReference 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.LoggingMetricTimeoutsOutputReference = LoggingMetricTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; LoggingMetricTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetricTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/logging_metric google_logging_metric} */ class LoggingMetric extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a LoggingMetric 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 LoggingMetric to import * @param importFromId The id of the existing LoggingMetric that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/logging_metric#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LoggingMetric to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_logging_metric", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/logging_metric google_logging_metric} 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 LoggingMetricConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_logging_metric', 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 }); // bucket_options - computed: false, optional: true, required: false this._bucketOptions = new LoggingMetricBucketOptionsOutputReference(this, "bucket_options"); // metric_descriptor - computed: false, optional: true, required: false this._metricDescriptor = new LoggingMetricMetricDescriptorOutputReference(this, "metric_descriptor"); // timeouts - computed: false, optional: true, required: false this._timeouts = new LoggingMetricTimeoutsOutputReference(this, "timeouts"); this._bucketName = config.bucketName; this._description = config.description; this._disabled = config.disabled; this._filter = config.filter; this._id = config.id; this._labelExtractors = config.labelExtractors; this._name = config.name; this._project = config.project; this._valueExtractor = config.valueExtractor; this._bucketOptions.internalValue = config.bucketOptions; this._metricDescriptor.internalValue = config.metricDescriptor; this._timeouts.internalValue = config.timeouts; } get bucketName() { return this.getStringAttribute('bucket_name'); } set bucketName(value) { this._bucketName = value; } resetBucketName() { this._bucketName = undefined; } // Temporarily expose input value. Use with caution. get bucketNameInput() { return this._bucketName; } 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 disabled() { return this.getBooleanAttribute('disabled'); } set disabled(value) { this._disabled = value; } resetDisabled() { this._disabled = undefined; } // Temporarily expose input value. Use with caution. get disabledInput() { return this._disabled; } get filter() { return this.getStringAttribute('filter'); } set filter(value) { this._filter = value; } // Temporarily expose input value. Use with caution. get filterInput() { return this._filter; } 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 labelExtractors() { return this.getStringMapAttribute('label_extractors'); } set labelExtractors(value) { this._labelExtractors = value; } resetLabelExtractors() { this._labelExtractors = undefined; } // Temporarily expose input value. Use with caution. get labelExtractorsInput() { return this._labelExtractors; } 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 valueExtractor() { return this.getStringAttribute('value_extractor'); } set valueExtractor(value) { this._valueExtractor = value; } resetValueExtractor() { this._valueExtractor = undefined; } // Temporarily expose input value. Use with caution. get valueExtractorInput() { return this._valueExtractor; } get bucketOptions() { return this._bucketOptions; } putBucketOptions(value) { this._bucketOptions.internalValue = value; } resetBucketOptions() { this._bucketOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get bucketOptionsInput() { return this._bucketOptions.internalValue; } get metricDescriptor() { return this._metricDescriptor; } putMetricDescriptor(value) { this._metricDescriptor.internalValue = value; } resetMetricDescriptor() { this._metricDescriptor.internalValue = undefined; } // Temporarily expose input value. Use with caution. get metricDescriptorInput() { return this._metricDescriptor.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 { bucket_name: cdktf.stringToTerraform(this._bucketName), description: cdktf.stringToTerraform(this._description), disabled: cdktf.booleanToTerraform(this._disabled), filter: cdktf.stringToTerraform(this._filter), id: cdktf.stringToTerraform(this._id), label_extractors: cdktf.hashMapper(cdktf.stringToTerraform)(this._labelExtractors), name: cdktf.stringToTerraform(this._name), project: cdktf.stringToTerraform(this._project), value_extractor: cdktf.stringToTerraform(this._valueExtractor), bucket_options: loggingMetricBucketOptionsToTerraform(this._bucketOptions.internalValue), metric_descriptor: loggingMetricMetricDescriptorToTerraform(this._metricDescriptor.internalValue), timeouts: loggingMetricTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { bucket_name: { value: cdktf.stringToHclTerraform(this._bucketName), isBlock: false, type: "simple", storageClassType: "string", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, disabled: { value: cdktf.booleanToHclTerraform(this._disabled), isBlock: false, type: "simple", storageClassType: "boolean", }, filter: { value: cdktf.stringToHclTerraform(this._filter), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, label_extractors: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._labelExtractors), isBlock: false, type: "map", storageClassType: "stringMap", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, value_extractor: { value: cdktf.stringToHclTerraform(this._valueExtractor), isBlock: false, type: "simple", storageClassType: "string", }, bucket_options: { value: loggingMetricBucketOptionsToHclTerraform(this._bucketOptions.internalValue), isBlock: true, type: "list", storageClassType: "LoggingMetricBucketOptionsList", }, metric_descriptor: { value: loggingMetricMetricDescriptorToHclTerraform(this._metricDescriptor.internalValue), isBlock: true, type: "list", storageClassType: "LoggingMetricMetricDescriptorList", }, timeouts: { value: loggingMetricTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "LoggingMetricTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.LoggingMetric = LoggingMetric; _j = JSII_RTTI_SYMBOL_1; LoggingMetric[_j] = { fqn: "@cdktf/provider-google.loggingMetric.LoggingMetric", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= LoggingMetric.tfResourceType = "google_logging_metric"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nZ2luZy1tZXRyaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUFzRy9CLFNBQWdCLG9EQUFvRCxDQUFDLE1BQTZHO0lBQ2hMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxN