UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,207 lines 248 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudfunctionsFunction = exports.CloudfunctionsFunctionTimeoutsOutputReference = exports.cloudfunctionsFunctionTimeoutsToHclTerraform = exports.cloudfunctionsFunctionTimeoutsToTerraform = exports.CloudfunctionsFunctionSourceRepositoryOutputReference = exports.cloudfunctionsFunctionSourceRepositoryToHclTerraform = exports.cloudfunctionsFunctionSourceRepositoryToTerraform = exports.CloudfunctionsFunctionSecretVolumesList = exports.CloudfunctionsFunctionSecretVolumesOutputReference = exports.cloudfunctionsFunctionSecretVolumesToHclTerraform = exports.cloudfunctionsFunctionSecretVolumesToTerraform = exports.CloudfunctionsFunctionSecretVolumesVersionsList = exports.CloudfunctionsFunctionSecretVolumesVersionsOutputReference = exports.cloudfunctionsFunctionSecretVolumesVersionsToHclTerraform = exports.cloudfunctionsFunctionSecretVolumesVersionsToTerraform = exports.CloudfunctionsFunctionSecretEnvironmentVariablesList = exports.CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference = exports.cloudfunctionsFunctionSecretEnvironmentVariablesToHclTerraform = exports.cloudfunctionsFunctionSecretEnvironmentVariablesToTerraform = exports.CloudfunctionsFunctionEventTriggerOutputReference = exports.cloudfunctionsFunctionEventTriggerToHclTerraform = exports.cloudfunctionsFunctionEventTriggerToTerraform = exports.CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference = exports.cloudfunctionsFunctionEventTriggerFailurePolicyToHclTerraform = exports.cloudfunctionsFunctionEventTriggerFailurePolicyToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cloudfunctionsFunctionEventTriggerFailurePolicyToTerraform(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 { retry: cdktf.booleanToTerraform(struct.retry), }; } exports.cloudfunctionsFunctionEventTriggerFailurePolicyToTerraform = cloudfunctionsFunctionEventTriggerFailurePolicyToTerraform; function cloudfunctionsFunctionEventTriggerFailurePolicyToHclTerraform(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 = { retry: { value: cdktf.booleanToHclTerraform(struct.retry), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionEventTriggerFailurePolicyToHclTerraform = cloudfunctionsFunctionEventTriggerFailurePolicyToHclTerraform; class CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference 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._retry !== undefined) { hasAnyValues = true; internalValueResult.retry = this._retry; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._retry = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._retry = value.retry; } } get retry() { return this.getBooleanAttribute('retry'); } set retry(value) { this._retry = value; } // Temporarily expose input value. Use with caution. get retryInput() { return this._retry; } } exports.CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference = CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference; _a = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference[_a] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference", version: "14.12.0" }; function cloudfunctionsFunctionEventTriggerToTerraform(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 { event_type: cdktf.stringToTerraform(struct.eventType), resource: cdktf.stringToTerraform(struct.resource), failure_policy: cloudfunctionsFunctionEventTriggerFailurePolicyToTerraform(struct.failurePolicy), }; } exports.cloudfunctionsFunctionEventTriggerToTerraform = cloudfunctionsFunctionEventTriggerToTerraform; function cloudfunctionsFunctionEventTriggerToHclTerraform(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 = { event_type: { value: cdktf.stringToHclTerraform(struct.eventType), isBlock: false, type: "simple", storageClassType: "string", }, resource: { value: cdktf.stringToHclTerraform(struct.resource), isBlock: false, type: "simple", storageClassType: "string", }, failure_policy: { value: cloudfunctionsFunctionEventTriggerFailurePolicyToHclTerraform(struct.failurePolicy), isBlock: true, type: "list", storageClassType: "CloudfunctionsFunctionEventTriggerFailurePolicyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionEventTriggerToHclTerraform = cloudfunctionsFunctionEventTriggerToHclTerraform; class CloudfunctionsFunctionEventTriggerOutputReference 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; // failure_policy - computed: false, optional: true, required: false this._failurePolicy = new CloudfunctionsFunctionEventTriggerFailurePolicyOutputReference(this, "failure_policy"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._eventType !== undefined) { hasAnyValues = true; internalValueResult.eventType = this._eventType; } if (this._resource !== undefined) { hasAnyValues = true; internalValueResult.resource = this._resource; } if (this._failurePolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.failurePolicy = this._failurePolicy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._eventType = undefined; this._resource = undefined; this._failurePolicy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._eventType = value.eventType; this._resource = value.resource; this._failurePolicy.internalValue = value.failurePolicy; } } get eventType() { return this.getStringAttribute('event_type'); } set eventType(value) { this._eventType = value; } // Temporarily expose input value. Use with caution. get eventTypeInput() { return this._eventType; } get resource() { return this.getStringAttribute('resource'); } set resource(value) { this._resource = value; } // Temporarily expose input value. Use with caution. get resourceInput() { return this._resource; } get failurePolicy() { return this._failurePolicy; } putFailurePolicy(value) { this._failurePolicy.internalValue = value; } resetFailurePolicy() { this._failurePolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get failurePolicyInput() { return this._failurePolicy.internalValue; } } exports.CloudfunctionsFunctionEventTriggerOutputReference = CloudfunctionsFunctionEventTriggerOutputReference; _b = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionEventTriggerOutputReference[_b] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionEventTriggerOutputReference", version: "14.12.0" }; function cloudfunctionsFunctionSecretEnvironmentVariablesToTerraform(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 { key: cdktf.stringToTerraform(struct.key), project_id: cdktf.stringToTerraform(struct.projectId), secret: cdktf.stringToTerraform(struct.secret), version: cdktf.stringToTerraform(struct.version), }; } exports.cloudfunctionsFunctionSecretEnvironmentVariablesToTerraform = cloudfunctionsFunctionSecretEnvironmentVariablesToTerraform; function cloudfunctionsFunctionSecretEnvironmentVariablesToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, project_id: { value: cdktf.stringToHclTerraform(struct.projectId), isBlock: false, type: "simple", storageClassType: "string", }, secret: { value: cdktf.stringToHclTerraform(struct.secret), isBlock: false, type: "simple", storageClassType: "string", }, version: { value: cdktf.stringToHclTerraform(struct.version), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionSecretEnvironmentVariablesToHclTerraform = cloudfunctionsFunctionSecretEnvironmentVariablesToHclTerraform; class CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._projectId !== undefined) { hasAnyValues = true; internalValueResult.projectId = this._projectId; } if (this._secret !== undefined) { hasAnyValues = true; internalValueResult.secret = this._secret; } if (this._version !== undefined) { hasAnyValues = true; internalValueResult.version = this._version; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._projectId = undefined; this._secret = undefined; this._version = 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._key = value.key; this._projectId = value.projectId; this._secret = value.secret; this._version = value.version; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get projectId() { return this.getStringAttribute('project_id'); } set projectId(value) { this._projectId = value; } resetProjectId() { this._projectId = undefined; } // Temporarily expose input value. Use with caution. get projectIdInput() { return this._projectId; } get secret() { return this.getStringAttribute('secret'); } set secret(value) { this._secret = value; } // Temporarily expose input value. Use with caution. get secretInput() { return this._secret; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } } exports.CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference = CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference; _c = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference[_c] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference", version: "14.12.0" }; class CloudfunctionsFunctionSecretEnvironmentVariablesList 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 CloudfunctionsFunctionSecretEnvironmentVariablesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfunctionsFunctionSecretEnvironmentVariablesList = CloudfunctionsFunctionSecretEnvironmentVariablesList; _d = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretEnvironmentVariablesList[_d] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretEnvironmentVariablesList", version: "14.12.0" }; function cloudfunctionsFunctionSecretVolumesVersionsToTerraform(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 { path: cdktf.stringToTerraform(struct.path), version: cdktf.stringToTerraform(struct.version), }; } exports.cloudfunctionsFunctionSecretVolumesVersionsToTerraform = cloudfunctionsFunctionSecretVolumesVersionsToTerraform; function cloudfunctionsFunctionSecretVolumesVersionsToHclTerraform(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 = { path: { value: cdktf.stringToHclTerraform(struct.path), isBlock: false, type: "simple", storageClassType: "string", }, version: { value: cdktf.stringToHclTerraform(struct.version), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionSecretVolumesVersionsToHclTerraform = cloudfunctionsFunctionSecretVolumesVersionsToHclTerraform; class CloudfunctionsFunctionSecretVolumesVersionsOutputReference 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._path !== undefined) { hasAnyValues = true; internalValueResult.path = this._path; } if (this._version !== undefined) { hasAnyValues = true; internalValueResult.version = this._version; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._path = undefined; this._version = 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._path = value.path; this._version = value.version; } } get path() { return this.getStringAttribute('path'); } set path(value) { this._path = value; } // Temporarily expose input value. Use with caution. get pathInput() { return this._path; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } } exports.CloudfunctionsFunctionSecretVolumesVersionsOutputReference = CloudfunctionsFunctionSecretVolumesVersionsOutputReference; _e = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretVolumesVersionsOutputReference[_e] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretVolumesVersionsOutputReference", version: "14.12.0" }; class CloudfunctionsFunctionSecretVolumesVersionsList 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 CloudfunctionsFunctionSecretVolumesVersionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfunctionsFunctionSecretVolumesVersionsList = CloudfunctionsFunctionSecretVolumesVersionsList; _f = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretVolumesVersionsList[_f] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretVolumesVersionsList", version: "14.12.0" }; function cloudfunctionsFunctionSecretVolumesToTerraform(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 { mount_path: cdktf.stringToTerraform(struct.mountPath), project_id: cdktf.stringToTerraform(struct.projectId), secret: cdktf.stringToTerraform(struct.secret), versions: cdktf.listMapper(cloudfunctionsFunctionSecretVolumesVersionsToTerraform, true)(struct.versions), }; } exports.cloudfunctionsFunctionSecretVolumesToTerraform = cloudfunctionsFunctionSecretVolumesToTerraform; function cloudfunctionsFunctionSecretVolumesToHclTerraform(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 = { mount_path: { value: cdktf.stringToHclTerraform(struct.mountPath), isBlock: false, type: "simple", storageClassType: "string", }, project_id: { value: cdktf.stringToHclTerraform(struct.projectId), isBlock: false, type: "simple", storageClassType: "string", }, secret: { value: cdktf.stringToHclTerraform(struct.secret), isBlock: false, type: "simple", storageClassType: "string", }, versions: { value: cdktf.listMapperHcl(cloudfunctionsFunctionSecretVolumesVersionsToHclTerraform, true)(struct.versions), isBlock: true, type: "list", storageClassType: "CloudfunctionsFunctionSecretVolumesVersionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionSecretVolumesToHclTerraform = cloudfunctionsFunctionSecretVolumesToHclTerraform; class CloudfunctionsFunctionSecretVolumesOutputReference 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; // versions - computed: false, optional: true, required: false this._versions = new CloudfunctionsFunctionSecretVolumesVersionsList(this, "versions", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._mountPath !== undefined) { hasAnyValues = true; internalValueResult.mountPath = this._mountPath; } if (this._projectId !== undefined) { hasAnyValues = true; internalValueResult.projectId = this._projectId; } if (this._secret !== undefined) { hasAnyValues = true; internalValueResult.secret = this._secret; } if (this._versions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.versions = this._versions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._mountPath = undefined; this._projectId = undefined; this._secret = undefined; this._versions.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._mountPath = value.mountPath; this._projectId = value.projectId; this._secret = value.secret; this._versions.internalValue = value.versions; } } get mountPath() { return this.getStringAttribute('mount_path'); } set mountPath(value) { this._mountPath = value; } // Temporarily expose input value. Use with caution. get mountPathInput() { return this._mountPath; } get projectId() { return this.getStringAttribute('project_id'); } set projectId(value) { this._projectId = value; } resetProjectId() { this._projectId = undefined; } // Temporarily expose input value. Use with caution. get projectIdInput() { return this._projectId; } get secret() { return this.getStringAttribute('secret'); } set secret(value) { this._secret = value; } // Temporarily expose input value. Use with caution. get secretInput() { return this._secret; } get versions() { return this._versions; } putVersions(value) { this._versions.internalValue = value; } resetVersions() { this._versions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get versionsInput() { return this._versions.internalValue; } } exports.CloudfunctionsFunctionSecretVolumesOutputReference = CloudfunctionsFunctionSecretVolumesOutputReference; _g = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretVolumesOutputReference[_g] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretVolumesOutputReference", version: "14.12.0" }; class CloudfunctionsFunctionSecretVolumesList 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 CloudfunctionsFunctionSecretVolumesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudfunctionsFunctionSecretVolumesList = CloudfunctionsFunctionSecretVolumesList; _h = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSecretVolumesList[_h] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSecretVolumesList", version: "14.12.0" }; function cloudfunctionsFunctionSourceRepositoryToTerraform(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 { url: cdktf.stringToTerraform(struct.url), }; } exports.cloudfunctionsFunctionSourceRepositoryToTerraform = cloudfunctionsFunctionSourceRepositoryToTerraform; function cloudfunctionsFunctionSourceRepositoryToHclTerraform(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 = { url: { value: cdktf.stringToHclTerraform(struct.url), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionSourceRepositoryToHclTerraform = cloudfunctionsFunctionSourceRepositoryToHclTerraform; class CloudfunctionsFunctionSourceRepositoryOutputReference 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._url !== undefined) { hasAnyValues = true; internalValueResult.url = this._url; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._url = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._url = value.url; } } // deployed_url - computed: true, optional: false, required: false get deployedUrl() { return this.getStringAttribute('deployed_url'); } get url() { return this.getStringAttribute('url'); } set url(value) { this._url = value; } // Temporarily expose input value. Use with caution. get urlInput() { return this._url; } } exports.CloudfunctionsFunctionSourceRepositoryOutputReference = CloudfunctionsFunctionSourceRepositoryOutputReference; _j = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionSourceRepositoryOutputReference[_j] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionSourceRepositoryOutputReference", version: "14.12.0" }; function cloudfunctionsFunctionTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), read: cdktf.stringToTerraform(struct.read), update: cdktf.stringToTerraform(struct.update), }; } exports.cloudfunctionsFunctionTimeoutsToTerraform = cloudfunctionsFunctionTimeoutsToTerraform; function cloudfunctionsFunctionTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, read: { value: cdktf.stringToHclTerraform(struct.read), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudfunctionsFunctionTimeoutsToHclTerraform = cloudfunctionsFunctionTimeoutsToHclTerraform; class CloudfunctionsFunctionTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._read !== undefined) { hasAnyValues = true; internalValueResult.read = this._read; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._read = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._read = value.read; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get read() { return this.getStringAttribute('read'); } set read(value) { this._read = value; } resetRead() { this._read = undefined; } // Temporarily expose input value. Use with caution. get readInput() { return this._read; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.CloudfunctionsFunctionTimeoutsOutputReference = CloudfunctionsFunctionTimeoutsOutputReference; _k = JSII_RTTI_SYMBOL_1; CloudfunctionsFunctionTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-google.cloudfunctionsFunction.CloudfunctionsFunctionTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloudfunctions_function google_cloudfunctions_function} */ class CloudfunctionsFunction extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CloudfunctionsFunction resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the CloudfunctionsFunction to import * @param importFromId The id of the existing CloudfunctionsFunction that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloudfunctions_function#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudfunctionsFunction to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_cloudfunctions_function", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloudfunctions_function google_cloudfunctions_function} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options CloudfunctionsFunctionConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_cloudfunctions_function', terraformGeneratorMetadata: { providerName: 'google', providerVersion: '6.13.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // effective_labels - computed: true, optional: false, required: false this._effectiveLabels = new cdktf.StringMap(this, "effective_labels"); // terraform_labels - computed: true, optional: false, required: false this._terraformLabels = new cdktf.StringMap(this, "terraform_labels"); // event_trigger - computed: false, optional: true, required: false this._eventTrigger = new CloudfunctionsFunctionEventTriggerOutputReference(this, "event_trigger"); // secret_environment_variables - computed: false, optional: true, required: false this._secretEnvironmentVariables = new CloudfunctionsFunctionSecretEnvironmentVariablesList(this, "secret_environment_variables", false); // secret_volumes - computed: false, optional: true, required: false this._secretVolumes = new CloudfunctionsFunctionSecretVolumesList(this, "secret_volumes", false); // source_repository - computed: false, optional: true, required: false this._sourceRepository = new CloudfunctionsFunctionSourceRepositoryOutputReference(this, "source_repository"); // timeouts - computed: false, optional: true, required: false this._timeouts = new CloudfunctionsFunctionTimeoutsOutputReference(this, "timeouts"); this._availableMemoryMb = config.availableMemoryMb; this._buildEnvironmentVariables = config.buildEnvironmentVariables; this._buildServiceAccount = config.buildServiceAccount; this._buildWorkerPool = config.buildWorkerPool; this._description = config.description; this._dockerRegistry = config.dockerRegistry; this._dockerRepository = config.dockerRepository; this._entryPoint = config.entryPoint; this._environmentVariables = config.environmentVariables; this._httpsTriggerSecurityLevel = config.httpsTriggerSecurityLevel; this._httpsTriggerUrl = config.httpsTriggerUrl; this._id = config.id; this._ingressSettings = config.ingressSettings; this._kmsKeyName = config.kmsKeyName; this._labels = config.labels; this._maxInstances = config.maxInstances; this._minInstances = config.minInstances; this._name = config.name; this._project = config.project; this._region = config.region; this._runtime = config.runtime; this._serviceAccountEmail = config.serviceAccountEmail; this._sourceArchiveBucket = config.sourceArchiveBucket; this._sourceArchiveObject = config.sourceArchiveObject; this._timeout = config.timeout; this._triggerHttp = config.triggerHttp; this._vpcConnector = config.vpcConnector; this._vpcConnectorEgressSettings = config.vpcConnectorEgressSettings; this._eventTrigger.internalValue = config.eventTrigger; this._secretEnvironmentVariables.internalValue = config.secretEnvironmentVariables; this._secretVolumes.internalValue = config.secretVolumes; this._sourceRepository.internalValue = config.sourceRepository; this._timeouts.internalValue = config.timeouts; } get availableMemoryMb() { return this.getNumberAttribute('available_memory_mb'); } set availableMemoryMb(value) { this._availableMemoryMb = value; } resetAvailableMemoryMb() { this._availableMemoryMb = undefined; } // Temporarily expose input value. Use with caution. get availableMemoryMbInput() { return this._availableMemoryMb; } get buildEnvironmentVariables() { return this.getStringMapAttribute('build_environment_variables'); } set buildEnvironmentVariables(value) { this._buildEnvironmentVariables = value; } resetBuildEnvironmentVariables() { this._buildEnvironmentVariables = undefined; } // Temporarily expose input value. Use with caution. get buildEnvironmentVariablesInput() { return this._buildEnvironmentVariables; } get buildServiceAccount() { return this.getStringAttribute('build_service_account'); } set buildServiceAccount(value) { this._buildServiceAccount = value; } resetBuildServiceAccount() { this._buildServiceAccount = undefined; } // Temporarily expose input value. Use with caution. get buildServiceAccountInput() { return this._buildServiceAccount; } get buildWorkerPool() { return this.getStringAttribute('build_worker_pool'); } set buildWorkerPool(value) { this._buildWorkerPool = value; } resetBuildWorkerPool() { this._buildWorkerPool = undefined; } // Temporarily expose input value. Use with caution. get buildWorkerPoolInput() { return this._buildWorkerPool; } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get dockerRegistry() { return this.getStringAttribute('docker_registry'); } set dockerRegistry(value) { this._dockerRegistry = value; } resetDockerRegistry() { this._dockerRegistry = undefined; } // Temporarily expose input value. Use with caution. get dockerRegistryInput() { return this._dockerRegistry; } get dockerRepository() { return this.getStringAttribute('docker_repository'); } set dockerRepository(value) { this._dockerRepository = value; } resetDockerRepository() { this._dockerRepository = undefined; } // Temporarily expose input value. Use with caution. get dockerRepositoryInput() { return this._dockerRepository; } get effectiveLabels() { return this._effectiveLabels; } get entryPoint() { return this.getStringAttribute('entry_point'); } set entryPoint(value) { this._entryPoint = value; } resetEntryPoint() { this._entryPoint = undefined; } // Temporarily expose input value. Use with caution. get entryPointInput() { return this._entryPoint; } get environmentVariables() { return this.getStringMapAttribute('environment_variables'); } set environmentVariables(value) { this._environmentVariables = value; } resetEnvironmentVariables() { this._environmentVariables = undefined; } // Temporarily expose input value. Use with caution. get environmentVariablesInput() { return this._environmentVariables; } get httpsTriggerSecurityLevel() { return this.getStringAttribute('https_trigger_security_level'); } set httpsTriggerSecurityLevel(value) { this._httpsTriggerSecurityLevel = value; } resetHttpsTriggerSecurityLevel() { this._httpsTriggerSecurityLevel = undefined; } // Temporarily expose input value. Use with caution. get httpsTriggerSecurityLevelInput() { return this._httpsTriggerSecurityLevel; } get httpsTriggerUrl() { return this.getStringAttribute('https_trigger_url'); } set httpsTriggerUrl(value) { this._httpsTriggerUrl = value; } resetHttpsTriggerUrl() { this._httpsTriggerUrl = undefined; } // Temporarily expose input value. Use with caution. get httpsTriggerUrlInput() { return this._httpsTriggerUrl; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get ingressSettings() { return this.getStringAttribute('ingress_settings'); } set ingressSettings(value) { this._ingressSettings = value; } resetIngressSettings() { this._ingressSettings = undefined; } // Temporarily expose input value. Use with caution. get ingressSettingsInput() { return this._ingressSettings; } get kmsKeyName() { return this.getStringAttribute('kms_key_name'); } set kmsKeyName(value) { this._kmsKeyName = value; } resetKmsKeyName() { this._kmsKeyName = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyNa