@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,194 lines • 329 kB
JavaScript
"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