@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,149 lines (1,148 loc) • 396 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StorageBucket = exports.StorageBucketWebsiteOutputReference = exports.StorageBucketVersioningOutputReference = exports.StorageBucketTimeoutsOutputReference = exports.StorageBucketSoftDeletePolicyOutputReference = exports.StorageBucketRetentionPolicyOutputReference = exports.StorageBucketLoggingOutputReference = exports.StorageBucketLifecycleRuleList = exports.StorageBucketLifecycleRuleOutputReference = exports.StorageBucketLifecycleRuleConditionOutputReference = exports.StorageBucketLifecycleRuleActionOutputReference = exports.StorageBucketIpFilterOutputReference = exports.StorageBucketIpFilterVpcNetworkSourcesList = exports.StorageBucketIpFilterVpcNetworkSourcesOutputReference = exports.StorageBucketIpFilterPublicNetworkSourceOutputReference = exports.StorageBucketHierarchicalNamespaceOutputReference = exports.StorageBucketEncryptionOutputReference = exports.StorageBucketCustomPlacementConfigOutputReference = exports.StorageBucketCorsList = exports.StorageBucketCorsOutputReference = exports.StorageBucketAutoclassOutputReference = void 0;
exports.storageBucketAutoclassToTerraform = storageBucketAutoclassToTerraform;
exports.storageBucketAutoclassToHclTerraform = storageBucketAutoclassToHclTerraform;
exports.storageBucketCorsToTerraform = storageBucketCorsToTerraform;
exports.storageBucketCorsToHclTerraform = storageBucketCorsToHclTerraform;
exports.storageBucketCustomPlacementConfigToTerraform = storageBucketCustomPlacementConfigToTerraform;
exports.storageBucketCustomPlacementConfigToHclTerraform = storageBucketCustomPlacementConfigToHclTerraform;
exports.storageBucketEncryptionToTerraform = storageBucketEncryptionToTerraform;
exports.storageBucketEncryptionToHclTerraform = storageBucketEncryptionToHclTerraform;
exports.storageBucketHierarchicalNamespaceToTerraform = storageBucketHierarchicalNamespaceToTerraform;
exports.storageBucketHierarchicalNamespaceToHclTerraform = storageBucketHierarchicalNamespaceToHclTerraform;
exports.storageBucketIpFilterPublicNetworkSourceToTerraform = storageBucketIpFilterPublicNetworkSourceToTerraform;
exports.storageBucketIpFilterPublicNetworkSourceToHclTerraform = storageBucketIpFilterPublicNetworkSourceToHclTerraform;
exports.storageBucketIpFilterVpcNetworkSourcesToTerraform = storageBucketIpFilterVpcNetworkSourcesToTerraform;
exports.storageBucketIpFilterVpcNetworkSourcesToHclTerraform = storageBucketIpFilterVpcNetworkSourcesToHclTerraform;
exports.storageBucketIpFilterToTerraform = storageBucketIpFilterToTerraform;
exports.storageBucketIpFilterToHclTerraform = storageBucketIpFilterToHclTerraform;
exports.storageBucketLifecycleRuleActionToTerraform = storageBucketLifecycleRuleActionToTerraform;
exports.storageBucketLifecycleRuleActionToHclTerraform = storageBucketLifecycleRuleActionToHclTerraform;
exports.storageBucketLifecycleRuleConditionToTerraform = storageBucketLifecycleRuleConditionToTerraform;
exports.storageBucketLifecycleRuleConditionToHclTerraform = storageBucketLifecycleRuleConditionToHclTerraform;
exports.storageBucketLifecycleRuleToTerraform = storageBucketLifecycleRuleToTerraform;
exports.storageBucketLifecycleRuleToHclTerraform = storageBucketLifecycleRuleToHclTerraform;
exports.storageBucketLoggingToTerraform = storageBucketLoggingToTerraform;
exports.storageBucketLoggingToHclTerraform = storageBucketLoggingToHclTerraform;
exports.storageBucketRetentionPolicyToTerraform = storageBucketRetentionPolicyToTerraform;
exports.storageBucketRetentionPolicyToHclTerraform = storageBucketRetentionPolicyToHclTerraform;
exports.storageBucketSoftDeletePolicyToTerraform = storageBucketSoftDeletePolicyToTerraform;
exports.storageBucketSoftDeletePolicyToHclTerraform = storageBucketSoftDeletePolicyToHclTerraform;
exports.storageBucketTimeoutsToTerraform = storageBucketTimeoutsToTerraform;
exports.storageBucketTimeoutsToHclTerraform = storageBucketTimeoutsToHclTerraform;
exports.storageBucketVersioningToTerraform = storageBucketVersioningToTerraform;
exports.storageBucketVersioningToHclTerraform = storageBucketVersioningToHclTerraform;
exports.storageBucketWebsiteToTerraform = storageBucketWebsiteToTerraform;
exports.storageBucketWebsiteToHclTerraform = storageBucketWebsiteToHclTerraform;
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),
};
}
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));
}
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: "16.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),
};
}
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));
}
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: "16.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: "16.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),
};
}
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));
}
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: "16.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),
};
}
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));
}
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: "16.3.0" };
function storageBucketHierarchicalNamespaceToTerraform(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),
};
}
function storageBucketHierarchicalNamespaceToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageBucketHierarchicalNamespaceOutputReference 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;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
}
exports.StorageBucketHierarchicalNamespaceOutputReference = StorageBucketHierarchicalNamespaceOutputReference;
_f = JSII_RTTI_SYMBOL_1;
StorageBucketHierarchicalNamespaceOutputReference[_f] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketHierarchicalNamespaceOutputReference", version: "16.3.0" };
function storageBucketIpFilterPublicNetworkSourceToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
allowed_ip_cidr_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedIpCidrRanges),
};
}
function storageBucketIpFilterPublicNetworkSourceToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
allowed_ip_cidr_ranges: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedIpCidrRanges),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageBucketIpFilterPublicNetworkSourceOutputReference 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._allowedIpCidrRanges !== undefined) {
hasAnyValues = true;
internalValueResult.allowedIpCidrRanges = this._allowedIpCidrRanges;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._allowedIpCidrRanges = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._allowedIpCidrRanges = value.allowedIpCidrRanges;
}
}
get allowedIpCidrRanges() {
return this.getListAttribute('allowed_ip_cidr_ranges');
}
set allowedIpCidrRanges(value) {
this._allowedIpCidrRanges = value;
}
// Temporarily expose input value. Use with caution.
get allowedIpCidrRangesInput() {
return this._allowedIpCidrRanges;
}
}
exports.StorageBucketIpFilterPublicNetworkSourceOutputReference = StorageBucketIpFilterPublicNetworkSourceOutputReference;
_g = JSII_RTTI_SYMBOL_1;
StorageBucketIpFilterPublicNetworkSourceOutputReference[_g] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketIpFilterPublicNetworkSourceOutputReference", version: "16.3.0" };
function storageBucketIpFilterVpcNetworkSourcesToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
allowed_ip_cidr_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedIpCidrRanges),
network: cdktf.stringToTerraform(struct.network),
};
}
function storageBucketIpFilterVpcNetworkSourcesToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
allowed_ip_cidr_ranges: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedIpCidrRanges),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
network: {
value: cdktf.stringToHclTerraform(struct.network),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageBucketIpFilterVpcNetworkSourcesOutputReference 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._allowedIpCidrRanges !== undefined) {
hasAnyValues = true;
internalValueResult.allowedIpCidrRanges = this._allowedIpCidrRanges;
}
if (this._network !== undefined) {
hasAnyValues = true;
internalValueResult.network = this._network;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._allowedIpCidrRanges = undefined;
this._network = 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._allowedIpCidrRanges = value.allowedIpCidrRanges;
this._network = value.network;
}
}
get allowedIpCidrRanges() {
return this.getListAttribute('allowed_ip_cidr_ranges');
}
set allowedIpCidrRanges(value) {
this._allowedIpCidrRanges = value;
}
// Temporarily expose input value. Use with caution.
get allowedIpCidrRangesInput() {
return this._allowedIpCidrRanges;
}
get network() {
return this.getStringAttribute('network');
}
set network(value) {
this._network = value;
}
// Temporarily expose input value. Use with caution.
get networkInput() {
return this._network;
}
}
exports.StorageBucketIpFilterVpcNetworkSourcesOutputReference = StorageBucketIpFilterVpcNetworkSourcesOutputReference;
_h = JSII_RTTI_SYMBOL_1;
StorageBucketIpFilterVpcNetworkSourcesOutputReference[_h] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketIpFilterVpcNetworkSourcesOutputReference", version: "16.3.0" };
class StorageBucketIpFilterVpcNetworkSourcesList 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 StorageBucketIpFilterVpcNetworkSourcesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.StorageBucketIpFilterVpcNetworkSourcesList = StorageBucketIpFilterVpcNetworkSourcesList;
_j = JSII_RTTI_SYMBOL_1;
StorageBucketIpFilterVpcNetworkSourcesList[_j] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketIpFilterVpcNetworkSourcesList", version: "16.3.0" };
function storageBucketIpFilterToTerraform(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 {
mode: cdktf.stringToTerraform(struct.mode),
public_network_source: storageBucketIpFilterPublicNetworkSourceToTerraform(struct.publicNetworkSource),
vpc_network_sources: cdktf.listMapper(storageBucketIpFilterVpcNetworkSourcesToTerraform, true)(struct.vpcNetworkSources),
};
}
function storageBucketIpFilterToHclTerraform(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 = {
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
public_network_source: {
value: storageBucketIpFilterPublicNetworkSourceToHclTerraform(struct.publicNetworkSource),
isBlock: true,
type: "list",
storageClassType: "StorageBucketIpFilterPublicNetworkSourceList",
},
vpc_network_sources: {
value: cdktf.listMapperHcl(storageBucketIpFilterVpcNetworkSourcesToHclTerraform, true)(struct.vpcNetworkSources),
isBlock: true,
type: "list",
storageClassType: "StorageBucketIpFilterVpcNetworkSourcesList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class StorageBucketIpFilterOutputReference 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;
// public_network_source - computed: false, optional: true, required: false
this._publicNetworkSource = new StorageBucketIpFilterPublicNetworkSourceOutputReference(this, "public_network_source");
// vpc_network_sources - computed: false, optional: true, required: false
this._vpcNetworkSources = new StorageBucketIpFilterVpcNetworkSourcesList(this, "vpc_network_sources", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
if (this._publicNetworkSource?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.publicNetworkSource = this._publicNetworkSource?.internalValue;
}
if (this._vpcNetworkSources?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.vpcNetworkSources = this._vpcNetworkSources?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._mode = undefined;
this._publicNetworkSource.internalValue = undefined;
this._vpcNetworkSources.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._mode = value.mode;
this._publicNetworkSource.internalValue = value.publicNetworkSource;
this._vpcNetworkSources.internalValue = value.vpcNetworkSources;
}
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
get publicNetworkSource() {
return this._publicNetworkSource;
}
putPublicNetworkSource(value) {
this._publicNetworkSource.internalValue = value;
}
resetPublicNetworkSource() {
this._publicNetworkSource.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get publicNetworkSourceInput() {
return this._publicNetworkSource.internalValue;
}
get vpcNetworkSources() {
return this._vpcNetworkSources;
}
putVpcNetworkSources(value) {
this._vpcNetworkSources.internalValue = value;
}
resetVpcNetworkSources() {
this._vpcNetworkSources.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get vpcNetworkSourcesInput() {
return this._vpcNetworkSources.internalValue;
}
}
exports.StorageBucketIpFilterOutputReference = StorageBucketIpFilterOutputReference;
_k = JSII_RTTI_SYMBOL_1;
StorageBucketIpFilterOutputReference[_k] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketIpFilterOutputReference", version: "16.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),
};
}
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));
}
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;
_l = JSII_RTTI_SYMBOL_1;
StorageBucketLifecycleRuleActionOutputReference[_l] = { fqn: "@cdktf/provider-google.storageBucket.StorageBucketLifecycleRuleActionOutputReference", version: "16.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),
};
}
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));
}
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;
}