UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,194 lines 329 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageBucket = exports.StorageBucketWebsiteOutputReference = exports.storageBucketWebsiteToHclTerraform = exports.storageBucketWebsiteToTerraform = exports.StorageBucketVersioningOutputReference = exports.storageBucketVersioningToHclTerraform = exports.storageBucketVersioningToTerraform = exports.StorageBucketTimeoutsOutputReference = exports.storageBucketTimeoutsToHclTerraform = exports.storageBucketTimeoutsToTerraform = exports.StorageBucketSoftDeletePolicyOutputReference = exports.storageBucketSoftDeletePolicyToHclTerraform = exports.storageBucketSoftDeletePolicyToTerraform = exports.StorageBucketRetentionPolicyOutputReference = exports.storageBucketRetentionPolicyToHclTerraform = exports.storageBucketRetentionPolicyToTerraform = exports.StorageBucketLoggingOutputReference = exports.storageBucketLoggingToHclTerraform = exports.storageBucketLoggingToTerraform = exports.StorageBucketLifecycleRuleList = exports.StorageBucketLifecycleRuleOutputReference = exports.storageBucketLifecycleRuleToHclTerraform = exports.storageBucketLifecycleRuleToTerraform = exports.StorageBucketLifecycleRuleConditionOutputReference = exports.storageBucketLifecycleRuleConditionToHclTerraform = exports.storageBucketLifecycleRuleConditionToTerraform = exports.StorageBucketLifecycleRuleActionOutputReference = exports.storageBucketLifecycleRuleActionToHclTerraform = exports.storageBucketLifecycleRuleActionToTerraform = exports.StorageBucketEncryptionOutputReference = exports.storageBucketEncryptionToHclTerraform = exports.storageBucketEncryptionToTerraform = exports.StorageBucketCustomPlacementConfigOutputReference = exports.storageBucketCustomPlacementConfigToHclTerraform = exports.storageBucketCustomPlacementConfigToTerraform = exports.StorageBucketCorsList = exports.StorageBucketCorsOutputReference = exports.storageBucketCorsToHclTerraform = exports.storageBucketCorsToTerraform = exports.StorageBucketAutoclassOutputReference = exports.storageBucketAutoclassToHclTerraform = exports.storageBucketAutoclassToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function storageBucketAutoclassToTerraform(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 { enabled: cdktf.booleanToTerraform(struct.enabled), terminal_storage_class: cdktf.stringToTerraform(struct.terminalStorageClass), }; } exports.storageBucketAutoclassToTerraform = storageBucketAutoclassToTerraform; function storageBucketAutoclassToHclTerraform(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 = { enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, terminal_storage_class: { value: cdktf.stringToHclTerraform(struct.terminalStorageClass), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketAutoclassToHclTerraform = storageBucketAutoclassToHclTerraform; class StorageBucketAutoclassOutputReference 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._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._terminalStorageClass !== undefined) { hasAnyValues = true; internalValueResult.terminalStorageClass = this._terminalStorageClass; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; this._terminalStorageClass = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; this._terminalStorageClass = value.terminalStorageClass; } } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get terminalStorageClass() { return this.getStringAttribute('terminal_storage_class'); } set terminalStorageClass(value) { this._terminalStorageClass = value; } resetTerminalStorageClass() { this._terminalStorageClass = undefined; } // Temporarily expose input value. Use with caution. get terminalStorageClassInput() { return this._terminalStorageClass; } } exports.StorageBucketAutoclassOutputReference = StorageBucketAutoclassOutputReference; _a = JSII_RTTI_SYMBOL_1; StorageBucketAutoclassOutputReference[_a] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketAutoclassOutputReference", version: "14.3.0" }; function storageBucketCorsToTerraform(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_age_seconds: cdktf.numberToTerraform(struct.maxAgeSeconds), method: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.method), origin: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.origin), response_header: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.responseHeader), }; } exports.storageBucketCorsToTerraform = storageBucketCorsToTerraform; function storageBucketCorsToHclTerraform(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_age_seconds: { value: cdktf.numberToHclTerraform(struct.maxAgeSeconds), isBlock: false, type: "simple", storageClassType: "number", }, method: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.method), isBlock: false, type: "list", storageClassType: "stringList", }, origin: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.origin), isBlock: false, type: "list", storageClassType: "stringList", }, response_header: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.responseHeader), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketCorsToHclTerraform = storageBucketCorsToHclTerraform; class StorageBucketCorsOutputReference 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._maxAgeSeconds !== undefined) { hasAnyValues = true; internalValueResult.maxAgeSeconds = this._maxAgeSeconds; } if (this._method !== undefined) { hasAnyValues = true; internalValueResult.method = this._method; } if (this._origin !== undefined) { hasAnyValues = true; internalValueResult.origin = this._origin; } if (this._responseHeader !== undefined) { hasAnyValues = true; internalValueResult.responseHeader = this._responseHeader; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._maxAgeSeconds = undefined; this._method = undefined; this._origin = undefined; this._responseHeader = 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._maxAgeSeconds = value.maxAgeSeconds; this._method = value.method; this._origin = value.origin; this._responseHeader = value.responseHeader; } } get maxAgeSeconds() { return this.getNumberAttribute('max_age_seconds'); } set maxAgeSeconds(value) { this._maxAgeSeconds = value; } resetMaxAgeSeconds() { this._maxAgeSeconds = undefined; } // Temporarily expose input value. Use with caution. get maxAgeSecondsInput() { return this._maxAgeSeconds; } get method() { return this.getListAttribute('method'); } set method(value) { this._method = value; } resetMethod() { this._method = undefined; } // Temporarily expose input value. Use with caution. get methodInput() { return this._method; } get origin() { return this.getListAttribute('origin'); } set origin(value) { this._origin = value; } resetOrigin() { this._origin = undefined; } // Temporarily expose input value. Use with caution. get originInput() { return this._origin; } get responseHeader() { return this.getListAttribute('response_header'); } set responseHeader(value) { this._responseHeader = value; } resetResponseHeader() { this._responseHeader = undefined; } // Temporarily expose input value. Use with caution. get responseHeaderInput() { return this._responseHeader; } } exports.StorageBucketCorsOutputReference = StorageBucketCorsOutputReference; _b = JSII_RTTI_SYMBOL_1; StorageBucketCorsOutputReference[_b] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketCorsOutputReference", version: "14.3.0" }; class StorageBucketCorsList 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 StorageBucketCorsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.StorageBucketCorsList = StorageBucketCorsList; _c = JSII_RTTI_SYMBOL_1; StorageBucketCorsList[_c] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketCorsList", version: "14.3.0" }; function storageBucketCustomPlacementConfigToTerraform(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 { data_locations: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dataLocations), }; } exports.storageBucketCustomPlacementConfigToTerraform = storageBucketCustomPlacementConfigToTerraform; function storageBucketCustomPlacementConfigToHclTerraform(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 = { data_locations: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dataLocations), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketCustomPlacementConfigToHclTerraform = storageBucketCustomPlacementConfigToHclTerraform; class StorageBucketCustomPlacementConfigOutputReference 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._dataLocations !== undefined) { hasAnyValues = true; internalValueResult.dataLocations = this._dataLocations; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dataLocations = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dataLocations = value.dataLocations; } } get dataLocations() { return cdktf.Fn.tolist(this.getListAttribute('data_locations')); } set dataLocations(value) { this._dataLocations = value; } // Temporarily expose input value. Use with caution. get dataLocationsInput() { return this._dataLocations; } } exports.StorageBucketCustomPlacementConfigOutputReference = StorageBucketCustomPlacementConfigOutputReference; _d = JSII_RTTI_SYMBOL_1; StorageBucketCustomPlacementConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketCustomPlacementConfigOutputReference", version: "14.3.0" }; function storageBucketEncryptionToTerraform(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 { default_kms_key_name: cdktf.stringToTerraform(struct.defaultKmsKeyName), }; } exports.storageBucketEncryptionToTerraform = storageBucketEncryptionToTerraform; function storageBucketEncryptionToHclTerraform(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 = { default_kms_key_name: { value: cdktf.stringToHclTerraform(struct.defaultKmsKeyName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketEncryptionToHclTerraform = storageBucketEncryptionToHclTerraform; class StorageBucketEncryptionOutputReference 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._defaultKmsKeyName !== undefined) { hasAnyValues = true; internalValueResult.defaultKmsKeyName = this._defaultKmsKeyName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultKmsKeyName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultKmsKeyName = value.defaultKmsKeyName; } } get defaultKmsKeyName() { return this.getStringAttribute('default_kms_key_name'); } set defaultKmsKeyName(value) { this._defaultKmsKeyName = value; } // Temporarily expose input value. Use with caution. get defaultKmsKeyNameInput() { return this._defaultKmsKeyName; } } exports.StorageBucketEncryptionOutputReference = StorageBucketEncryptionOutputReference; _e = JSII_RTTI_SYMBOL_1; StorageBucketEncryptionOutputReference[_e] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketEncryptionOutputReference", version: "14.3.0" }; function storageBucketLifecycleRuleActionToTerraform(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 { storage_class: cdktf.stringToTerraform(struct.storageClass), type: cdktf.stringToTerraform(struct.type), }; } exports.storageBucketLifecycleRuleActionToTerraform = storageBucketLifecycleRuleActionToTerraform; function storageBucketLifecycleRuleActionToHclTerraform(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 = { storage_class: { value: cdktf.stringToHclTerraform(struct.storageClass), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketLifecycleRuleActionToHclTerraform = storageBucketLifecycleRuleActionToHclTerraform; class StorageBucketLifecycleRuleActionOutputReference 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._storageClass !== undefined) { hasAnyValues = true; internalValueResult.storageClass = this._storageClass; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._storageClass = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._storageClass = value.storageClass; this._type = value.type; } } get storageClass() { return this.getStringAttribute('storage_class'); } set storageClass(value) { this._storageClass = value; } resetStorageClass() { this._storageClass = undefined; } // Temporarily expose input value. Use with caution. get storageClassInput() { return this._storageClass; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.StorageBucketLifecycleRuleActionOutputReference = StorageBucketLifecycleRuleActionOutputReference; _f = JSII_RTTI_SYMBOL_1; StorageBucketLifecycleRuleActionOutputReference[_f] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketLifecycleRuleActionOutputReference", version: "14.3.0" }; function storageBucketLifecycleRuleConditionToTerraform(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 { age: cdktf.numberToTerraform(struct.age), created_before: cdktf.stringToTerraform(struct.createdBefore), custom_time_before: cdktf.stringToTerraform(struct.customTimeBefore), days_since_custom_time: cdktf.numberToTerraform(struct.daysSinceCustomTime), days_since_noncurrent_time: cdktf.numberToTerraform(struct.daysSinceNoncurrentTime), matches_prefix: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchesPrefix), matches_storage_class: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchesStorageClass), matches_suffix: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchesSuffix), noncurrent_time_before: cdktf.stringToTerraform(struct.noncurrentTimeBefore), num_newer_versions: cdktf.numberToTerraform(struct.numNewerVersions), send_age_if_zero: cdktf.booleanToTerraform(struct.sendAgeIfZero), send_days_since_custom_time_if_zero: cdktf.booleanToTerraform(struct.sendDaysSinceCustomTimeIfZero), send_days_since_noncurrent_time_if_zero: cdktf.booleanToTerraform(struct.sendDaysSinceNoncurrentTimeIfZero), send_num_newer_versions_if_zero: cdktf.booleanToTerraform(struct.sendNumNewerVersionsIfZero), with_state: cdktf.stringToTerraform(struct.withState), }; } exports.storageBucketLifecycleRuleConditionToTerraform = storageBucketLifecycleRuleConditionToTerraform; function storageBucketLifecycleRuleConditionToHclTerraform(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 = { age: { value: cdktf.numberToHclTerraform(struct.age), isBlock: false, type: "simple", storageClassType: "number", }, created_before: { value: cdktf.stringToHclTerraform(struct.createdBefore), isBlock: false, type: "simple", storageClassType: "string", }, custom_time_before: { value: cdktf.stringToHclTerraform(struct.customTimeBefore), isBlock: false, type: "simple", storageClassType: "string", }, days_since_custom_time: { value: cdktf.numberToHclTerraform(struct.daysSinceCustomTime), isBlock: false, type: "simple", storageClassType: "number", }, days_since_noncurrent_time: { value: cdktf.numberToHclTerraform(struct.daysSinceNoncurrentTime), isBlock: false, type: "simple", storageClassType: "number", }, matches_prefix: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchesPrefix), isBlock: false, type: "list", storageClassType: "stringList", }, matches_storage_class: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchesStorageClass), isBlock: false, type: "list", storageClassType: "stringList", }, matches_suffix: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchesSuffix), isBlock: false, type: "list", storageClassType: "stringList", }, noncurrent_time_before: { value: cdktf.stringToHclTerraform(struct.noncurrentTimeBefore), isBlock: false, type: "simple", storageClassType: "string", }, num_newer_versions: { value: cdktf.numberToHclTerraform(struct.numNewerVersions), isBlock: false, type: "simple", storageClassType: "number", }, send_age_if_zero: { value: cdktf.booleanToHclTerraform(struct.sendAgeIfZero), isBlock: false, type: "simple", storageClassType: "boolean", }, send_days_since_custom_time_if_zero: { value: cdktf.booleanToHclTerraform(struct.sendDaysSinceCustomTimeIfZero), isBlock: false, type: "simple", storageClassType: "boolean", }, send_days_since_noncurrent_time_if_zero: { value: cdktf.booleanToHclTerraform(struct.sendDaysSinceNoncurrentTimeIfZero), isBlock: false, type: "simple", storageClassType: "boolean", }, send_num_newer_versions_if_zero: { value: cdktf.booleanToHclTerraform(struct.sendNumNewerVersionsIfZero), isBlock: false, type: "simple", storageClassType: "boolean", }, with_state: { value: cdktf.stringToHclTerraform(struct.withState), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketLifecycleRuleConditionToHclTerraform = storageBucketLifecycleRuleConditionToHclTerraform; class StorageBucketLifecycleRuleConditionOutputReference 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._age !== undefined) { hasAnyValues = true; internalValueResult.age = this._age; } if (this._createdBefore !== undefined) { hasAnyValues = true; internalValueResult.createdBefore = this._createdBefore; } if (this._customTimeBefore !== undefined) { hasAnyValues = true; internalValueResult.customTimeBefore = this._customTimeBefore; } if (this._daysSinceCustomTime !== undefined) { hasAnyValues = true; internalValueResult.daysSinceCustomTime = this._daysSinceCustomTime; } if (this._daysSinceNoncurrentTime !== undefined) { hasAnyValues = true; internalValueResult.daysSinceNoncurrentTime = this._daysSinceNoncurrentTime; } if (this._matchesPrefix !== undefined) { hasAnyValues = true; internalValueResult.matchesPrefix = this._matchesPrefix; } if (this._matchesStorageClass !== undefined) { hasAnyValues = true; internalValueResult.matchesStorageClass = this._matchesStorageClass; } if (this._matchesSuffix !== undefined) { hasAnyValues = true; internalValueResult.matchesSuffix = this._matchesSuffix; } if (this._noncurrentTimeBefore !== undefined) { hasAnyValues = true; internalValueResult.noncurrentTimeBefore = this._noncurrentTimeBefore; } if (this._numNewerVersions !== undefined) { hasAnyValues = true; internalValueResult.numNewerVersions = this._numNewerVersions; } if (this._sendAgeIfZero !== undefined) { hasAnyValues = true; internalValueResult.sendAgeIfZero = this._sendAgeIfZero; } if (this._sendDaysSinceCustomTimeIfZero !== undefined) { hasAnyValues = true; internalValueResult.sendDaysSinceCustomTimeIfZero = this._sendDaysSinceCustomTimeIfZero; } if (this._sendDaysSinceNoncurrentTimeIfZero !== undefined) { hasAnyValues = true; internalValueResult.sendDaysSinceNoncurrentTimeIfZero = this._sendDaysSinceNoncurrentTimeIfZero; } if (this._sendNumNewerVersionsIfZero !== undefined) { hasAnyValues = true; internalValueResult.sendNumNewerVersionsIfZero = this._sendNumNewerVersionsIfZero; } if (this._withState !== undefined) { hasAnyValues = true; internalValueResult.withState = this._withState; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._age = undefined; this._createdBefore = undefined; this._customTimeBefore = undefined; this._daysSinceCustomTime = undefined; this._daysSinceNoncurrentTime = undefined; this._matchesPrefix = undefined; this._matchesStorageClass = undefined; this._matchesSuffix = undefined; this._noncurrentTimeBefore = undefined; this._numNewerVersions = undefined; this._sendAgeIfZero = undefined; this._sendDaysSinceCustomTimeIfZero = undefined; this._sendDaysSinceNoncurrentTimeIfZero = undefined; this._sendNumNewerVersionsIfZero = undefined; this._withState = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._age = value.age; this._createdBefore = value.createdBefore; this._customTimeBefore = value.customTimeBefore; this._daysSinceCustomTime = value.daysSinceCustomTime; this._daysSinceNoncurrentTime = value.daysSinceNoncurrentTime; this._matchesPrefix = value.matchesPrefix; this._matchesStorageClass = value.matchesStorageClass; this._matchesSuffix = value.matchesSuffix; this._noncurrentTimeBefore = value.noncurrentTimeBefore; this._numNewerVersions = value.numNewerVersions; this._sendAgeIfZero = value.sendAgeIfZero; this._sendDaysSinceCustomTimeIfZero = value.sendDaysSinceCustomTimeIfZero; this._sendDaysSinceNoncurrentTimeIfZero = value.sendDaysSinceNoncurrentTimeIfZero; this._sendNumNewerVersionsIfZero = value.sendNumNewerVersionsIfZero; this._withState = value.withState; } } get age() { return this.getNumberAttribute('age'); } set age(value) { this._age = value; } resetAge() { this._age = undefined; } // Temporarily expose input value. Use with caution. get ageInput() { return this._age; } get createdBefore() { return this.getStringAttribute('created_before'); } set createdBefore(value) { this._createdBefore = value; } resetCreatedBefore() { this._createdBefore = undefined; } // Temporarily expose input value. Use with caution. get createdBeforeInput() { return this._createdBefore; } get customTimeBefore() { return this.getStringAttribute('custom_time_before'); } set customTimeBefore(value) { this._customTimeBefore = value; } resetCustomTimeBefore() { this._customTimeBefore = undefined; } // Temporarily expose input value. Use with caution. get customTimeBeforeInput() { return this._customTimeBefore; } get daysSinceCustomTime() { return this.getNumberAttribute('days_since_custom_time'); } set daysSinceCustomTime(value) { this._daysSinceCustomTime = value; } resetDaysSinceCustomTime() { this._daysSinceCustomTime = undefined; } // Temporarily expose input value. Use with caution. get daysSinceCustomTimeInput() { return this._daysSinceCustomTime; } get daysSinceNoncurrentTime() { return this.getNumberAttribute('days_since_noncurrent_time'); } set daysSinceNoncurrentTime(value) { this._daysSinceNoncurrentTime = value; } resetDaysSinceNoncurrentTime() { this._daysSinceNoncurrentTime = undefined; } // Temporarily expose input value. Use with caution. get daysSinceNoncurrentTimeInput() { return this._daysSinceNoncurrentTime; } get matchesPrefix() { return this.getListAttribute('matches_prefix'); } set matchesPrefix(value) { this._matchesPrefix = value; } resetMatchesPrefix() { this._matchesPrefix = undefined; } // Temporarily expose input value. Use with caution. get matchesPrefixInput() { return this._matchesPrefix; } get matchesStorageClass() { return this.getListAttribute('matches_storage_class'); } set matchesStorageClass(value) { this._matchesStorageClass = value; } resetMatchesStorageClass() { this._matchesStorageClass = undefined; } // Temporarily expose input value. Use with caution. get matchesStorageClassInput() { return this._matchesStorageClass; } get matchesSuffix() { return this.getListAttribute('matches_suffix'); } set matchesSuffix(value) { this._matchesSuffix = value; } resetMatchesSuffix() { this._matchesSuffix = undefined; } // Temporarily expose input value. Use with caution. get matchesSuffixInput() { return this._matchesSuffix; } get noncurrentTimeBefore() { return this.getStringAttribute('noncurrent_time_before'); } set noncurrentTimeBefore(value) { this._noncurrentTimeBefore = value; } resetNoncurrentTimeBefore() { this._noncurrentTimeBefore = undefined; } // Temporarily expose input value. Use with caution. get noncurrentTimeBeforeInput() { return this._noncurrentTimeBefore; } get numNewerVersions() { return this.getNumberAttribute('num_newer_versions'); } set numNewerVersions(value) { this._numNewerVersions = value; } resetNumNewerVersions() { this._numNewerVersions = undefined; } // Temporarily expose input value. Use with caution. get numNewerVersionsInput() { return this._numNewerVersions; } get sendAgeIfZero() { return this.getBooleanAttribute('send_age_if_zero'); } set sendAgeIfZero(value) { this._sendAgeIfZero = value; } resetSendAgeIfZero() { this._sendAgeIfZero = undefined; } // Temporarily expose input value. Use with caution. get sendAgeIfZeroInput() { return this._sendAgeIfZero; } get sendDaysSinceCustomTimeIfZero() { return this.getBooleanAttribute('send_days_since_custom_time_if_zero'); } set sendDaysSinceCustomTimeIfZero(value) { this._sendDaysSinceCustomTimeIfZero = value; } resetSendDaysSinceCustomTimeIfZero() { this._sendDaysSinceCustomTimeIfZero = undefined; } // Temporarily expose input value. Use with caution. get sendDaysSinceCustomTimeIfZeroInput() { return this._sendDaysSinceCustomTimeIfZero; } get sendDaysSinceNoncurrentTimeIfZero() { return this.getBooleanAttribute('send_days_since_noncurrent_time_if_zero'); } set sendDaysSinceNoncurrentTimeIfZero(value) { this._sendDaysSinceNoncurrentTimeIfZero = value; } resetSendDaysSinceNoncurrentTimeIfZero() { this._sendDaysSinceNoncurrentTimeIfZero = undefined; } // Temporarily expose input value. Use with caution. get sendDaysSinceNoncurrentTimeIfZeroInput() { return this._sendDaysSinceNoncurrentTimeIfZero; } get sendNumNewerVersionsIfZero() { return this.getBooleanAttribute('send_num_newer_versions_if_zero'); } set sendNumNewerVersionsIfZero(value) { this._sendNumNewerVersionsIfZero = value; } resetSendNumNewerVersionsIfZero() { this._sendNumNewerVersionsIfZero = undefined; } // Temporarily expose input value. Use with caution. get sendNumNewerVersionsIfZeroInput() { return this._sendNumNewerVersionsIfZero; } get withState() { return this.getStringAttribute('with_state'); } set withState(value) { this._withState = value; } resetWithState() { this._withState = undefined; } // Temporarily expose input value. Use with caution. get withStateInput() { return this._withState; } } exports.StorageBucketLifecycleRuleConditionOutputReference = StorageBucketLifecycleRuleConditionOutputReference; _g = JSII_RTTI_SYMBOL_1; StorageBucketLifecycleRuleConditionOutputReference[_g] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketLifecycleRuleConditionOutputReference", version: "14.3.0" }; function storageBucketLifecycleRuleToTerraform(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 { action: storageBucketLifecycleRuleActionToTerraform(struct.action), condition: storageBucketLifecycleRuleConditionToTerraform(struct.condition), }; } exports.storageBucketLifecycleRuleToTerraform = storageBucketLifecycleRuleToTerraform; function storageBucketLifecycleRuleToHclTerraform(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 = { action: { value: storageBucketLifecycleRuleActionToHclTerraform(struct.action), isBlock: true, type: "set", storageClassType: "StorageBucketLifecycleRuleActionList", }, condition: { value: storageBucketLifecycleRuleConditionToHclTerraform(struct.condition), isBlock: true, type: "set", storageClassType: "StorageBucketLifecycleRuleConditionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketLifecycleRuleToHclTerraform = storageBucketLifecycleRuleToHclTerraform; class StorageBucketLifecycleRuleOutputReference 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; // action - computed: false, optional: false, required: true this._action = new StorageBucketLifecycleRuleActionOutputReference(this, "action"); // condition - computed: false, optional: false, required: true this._condition = new StorageBucketLifecycleRuleConditionOutputReference(this, "condition"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._action?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.action = this._action?.internalValue; } if (this._condition?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.condition = this._condition?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._action.internalValue = undefined; this._condition.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._action.internalValue = value.action; this._condition.internalValue = value.condition; } } get action() { return this._action; } putAction(value) { this._action.internalValue = value; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action.internalValue; } get condition() { return this._condition; } putCondition(value) { this._condition.internalValue = value; } // Temporarily expose input value. Use with caution. get conditionInput() { return this._condition.internalValue; } } exports.StorageBucketLifecycleRuleOutputReference = StorageBucketLifecycleRuleOutputReference; _h = JSII_RTTI_SYMBOL_1; StorageBucketLifecycleRuleOutputReference[_h] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketLifecycleRuleOutputReference", version: "14.3.0" }; class StorageBucketLifecycleRuleList 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 StorageBucketLifecycleRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.StorageBucketLifecycleRuleList = StorageBucketLifecycleRuleList; _j = JSII_RTTI_SYMBOL_1; StorageBucketLifecycleRuleList[_j] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketLifecycleRuleList", version: "14.3.0" }; function storageBucketLoggingToTerraform(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 { log_bucket: cdktf.stringToTerraform(struct.logBucket), log_object_prefix: cdktf.stringToTerraform(struct.logObjectPrefix), }; } exports.storageBucketLoggingToTerraform = storageBucketLoggingToTerraform; function storageBucketLoggingToHclTerraform(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 = { log_bucket: { value: cdktf.stringToHclTerraform(struct.logBucket), isBlock: false, type: "simple", storageClassType: "string", }, log_object_prefix: { value: cdktf.stringToHclTerraform(struct.logObjectPrefix), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageBucketLoggingToHclTerraform = storageBucketLoggingToHclTerraform; class StorageBucketLoggingOutputReference 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._logBucket !== undefined) { hasAnyValues = true; internalValueResult.logBucket = this._logBucket; } if (this._logObjectPrefix !== undefined) { hasAnyValues = true; internalValueResult.logObjectPrefix = this._logObjectPrefix; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._logBucket = undefined; this._logObjectPrefix = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._logBucket = value.logBucket; this._logObjectPrefix = value.logObjectPrefix; } } get logBucket() { return this.getStringAttribute('log_bucket'); } set logBucket(value) { this._logBucket = value; } // Temporarily expose input value. Use with caution. get logBucketInput() { return this._logBucket; } get logObjectPrefix() { return this.getStringAttribute('l