UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,256 lines (1,255 loc) 214 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudSchedulerJob = exports.CloudSchedulerJobTimeoutsOutputReference = exports.cloudSchedulerJobTimeoutsToHclTerraform = exports.cloudSchedulerJobTimeoutsToTerraform = exports.CloudSchedulerJobRetryConfigOutputReference = exports.cloudSchedulerJobRetryConfigToHclTerraform = exports.cloudSchedulerJobRetryConfigToTerraform = exports.CloudSchedulerJobPubsubTargetOutputReference = exports.cloudSchedulerJobPubsubTargetToHclTerraform = exports.cloudSchedulerJobPubsubTargetToTerraform = exports.CloudSchedulerJobHttpTargetOutputReference = exports.cloudSchedulerJobHttpTargetToHclTerraform = exports.cloudSchedulerJobHttpTargetToTerraform = exports.CloudSchedulerJobHttpTargetOidcTokenOutputReference = exports.cloudSchedulerJobHttpTargetOidcTokenToHclTerraform = exports.cloudSchedulerJobHttpTargetOidcTokenToTerraform = exports.CloudSchedulerJobHttpTargetOauthTokenOutputReference = exports.cloudSchedulerJobHttpTargetOauthTokenToHclTerraform = exports.cloudSchedulerJobHttpTargetOauthTokenToTerraform = exports.CloudSchedulerJobAppEngineHttpTargetOutputReference = exports.cloudSchedulerJobAppEngineHttpTargetToHclTerraform = exports.cloudSchedulerJobAppEngineHttpTargetToTerraform = exports.CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference = exports.cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToHclTerraform = exports.cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToTerraform(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 { instance: cdktf.stringToTerraform(struct.instance), service: cdktf.stringToTerraform(struct.service), version: cdktf.stringToTerraform(struct.version), }; } exports.cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToTerraform = cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToTerraform; function cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToHclTerraform(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 = { instance: { value: cdktf.stringToHclTerraform(struct.instance), isBlock: false, type: "simple", storageClassType: "string", }, service: { value: cdktf.stringToHclTerraform(struct.service), 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.cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToHclTerraform = cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToHclTerraform; class CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference 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._instance !== undefined) { hasAnyValues = true; internalValueResult.instance = this._instance; } if (this._service !== undefined) { hasAnyValues = true; internalValueResult.service = this._service; } if (this._version !== undefined) { hasAnyValues = true; internalValueResult.version = this._version; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._instance = undefined; this._service = undefined; this._version = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._instance = value.instance; this._service = value.service; this._version = value.version; } } get instance() { return this.getStringAttribute('instance'); } set instance(value) { this._instance = value; } resetInstance() { this._instance = undefined; } // Temporarily expose input value. Use with caution. get instanceInput() { return this._instance; } get service() { return this.getStringAttribute('service'); } set service(value) { this._service = value; } resetService() { this._service = undefined; } // Temporarily expose input value. Use with caution. get serviceInput() { return this._service; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } resetVersion() { this._version = undefined; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } } exports.CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference = CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference; _a = JSII_RTTI_SYMBOL_1; CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference[_a] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference", version: "14.12.0" }; function cloudSchedulerJobAppEngineHttpTargetToTerraform(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 { body: cdktf.stringToTerraform(struct.body), headers: cdktf.hashMapper(cdktf.stringToTerraform)(struct.headers), http_method: cdktf.stringToTerraform(struct.httpMethod), relative_uri: cdktf.stringToTerraform(struct.relativeUri), app_engine_routing: cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToTerraform(struct.appEngineRouting), }; } exports.cloudSchedulerJobAppEngineHttpTargetToTerraform = cloudSchedulerJobAppEngineHttpTargetToTerraform; function cloudSchedulerJobAppEngineHttpTargetToHclTerraform(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 = { body: { value: cdktf.stringToHclTerraform(struct.body), isBlock: false, type: "simple", storageClassType: "string", }, headers: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.headers), isBlock: false, type: "map", storageClassType: "stringMap", }, http_method: { value: cdktf.stringToHclTerraform(struct.httpMethod), isBlock: false, type: "simple", storageClassType: "string", }, relative_uri: { value: cdktf.stringToHclTerraform(struct.relativeUri), isBlock: false, type: "simple", storageClassType: "string", }, app_engine_routing: { value: cloudSchedulerJobAppEngineHttpTargetAppEngineRoutingToHclTerraform(struct.appEngineRouting), isBlock: true, type: "list", storageClassType: "CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobAppEngineHttpTargetToHclTerraform = cloudSchedulerJobAppEngineHttpTargetToHclTerraform; class CloudSchedulerJobAppEngineHttpTargetOutputReference 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; // app_engine_routing - computed: false, optional: true, required: false this._appEngineRouting = new CloudSchedulerJobAppEngineHttpTargetAppEngineRoutingOutputReference(this, "app_engine_routing"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._body !== undefined) { hasAnyValues = true; internalValueResult.body = this._body; } if (this._headers !== undefined) { hasAnyValues = true; internalValueResult.headers = this._headers; } if (this._httpMethod !== undefined) { hasAnyValues = true; internalValueResult.httpMethod = this._httpMethod; } if (this._relativeUri !== undefined) { hasAnyValues = true; internalValueResult.relativeUri = this._relativeUri; } if (this._appEngineRouting?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.appEngineRouting = this._appEngineRouting?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._body = undefined; this._headers = undefined; this._httpMethod = undefined; this._relativeUri = undefined; this._appEngineRouting.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._body = value.body; this._headers = value.headers; this._httpMethod = value.httpMethod; this._relativeUri = value.relativeUri; this._appEngineRouting.internalValue = value.appEngineRouting; } } get body() { return this.getStringAttribute('body'); } set body(value) { this._body = value; } resetBody() { this._body = undefined; } // Temporarily expose input value. Use with caution. get bodyInput() { return this._body; } get headers() { return this.getStringMapAttribute('headers'); } set headers(value) { this._headers = value; } resetHeaders() { this._headers = undefined; } // Temporarily expose input value. Use with caution. get headersInput() { return this._headers; } get httpMethod() { return this.getStringAttribute('http_method'); } set httpMethod(value) { this._httpMethod = value; } resetHttpMethod() { this._httpMethod = undefined; } // Temporarily expose input value. Use with caution. get httpMethodInput() { return this._httpMethod; } get relativeUri() { return this.getStringAttribute('relative_uri'); } set relativeUri(value) { this._relativeUri = value; } // Temporarily expose input value. Use with caution. get relativeUriInput() { return this._relativeUri; } get appEngineRouting() { return this._appEngineRouting; } putAppEngineRouting(value) { this._appEngineRouting.internalValue = value; } resetAppEngineRouting() { this._appEngineRouting.internalValue = undefined; } // Temporarily expose input value. Use with caution. get appEngineRoutingInput() { return this._appEngineRouting.internalValue; } } exports.CloudSchedulerJobAppEngineHttpTargetOutputReference = CloudSchedulerJobAppEngineHttpTargetOutputReference; _b = JSII_RTTI_SYMBOL_1; CloudSchedulerJobAppEngineHttpTargetOutputReference[_b] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobAppEngineHttpTargetOutputReference", version: "14.12.0" }; function cloudSchedulerJobHttpTargetOauthTokenToTerraform(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 { scope: cdktf.stringToTerraform(struct.scope), service_account_email: cdktf.stringToTerraform(struct.serviceAccountEmail), }; } exports.cloudSchedulerJobHttpTargetOauthTokenToTerraform = cloudSchedulerJobHttpTargetOauthTokenToTerraform; function cloudSchedulerJobHttpTargetOauthTokenToHclTerraform(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 = { scope: { value: cdktf.stringToHclTerraform(struct.scope), isBlock: false, type: "simple", storageClassType: "string", }, service_account_email: { value: cdktf.stringToHclTerraform(struct.serviceAccountEmail), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobHttpTargetOauthTokenToHclTerraform = cloudSchedulerJobHttpTargetOauthTokenToHclTerraform; class CloudSchedulerJobHttpTargetOauthTokenOutputReference 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._scope !== undefined) { hasAnyValues = true; internalValueResult.scope = this._scope; } if (this._serviceAccountEmail !== undefined) { hasAnyValues = true; internalValueResult.serviceAccountEmail = this._serviceAccountEmail; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._scope = undefined; this._serviceAccountEmail = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._scope = value.scope; this._serviceAccountEmail = value.serviceAccountEmail; } } get scope() { return this.getStringAttribute('scope'); } set scope(value) { this._scope = value; } resetScope() { this._scope = undefined; } // Temporarily expose input value. Use with caution. get scopeInput() { return this._scope; } get serviceAccountEmail() { return this.getStringAttribute('service_account_email'); } set serviceAccountEmail(value) { this._serviceAccountEmail = value; } // Temporarily expose input value. Use with caution. get serviceAccountEmailInput() { return this._serviceAccountEmail; } } exports.CloudSchedulerJobHttpTargetOauthTokenOutputReference = CloudSchedulerJobHttpTargetOauthTokenOutputReference; _c = JSII_RTTI_SYMBOL_1; CloudSchedulerJobHttpTargetOauthTokenOutputReference[_c] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobHttpTargetOauthTokenOutputReference", version: "14.12.0" }; function cloudSchedulerJobHttpTargetOidcTokenToTerraform(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 { audience: cdktf.stringToTerraform(struct.audience), service_account_email: cdktf.stringToTerraform(struct.serviceAccountEmail), }; } exports.cloudSchedulerJobHttpTargetOidcTokenToTerraform = cloudSchedulerJobHttpTargetOidcTokenToTerraform; function cloudSchedulerJobHttpTargetOidcTokenToHclTerraform(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 = { audience: { value: cdktf.stringToHclTerraform(struct.audience), isBlock: false, type: "simple", storageClassType: "string", }, service_account_email: { value: cdktf.stringToHclTerraform(struct.serviceAccountEmail), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobHttpTargetOidcTokenToHclTerraform = cloudSchedulerJobHttpTargetOidcTokenToHclTerraform; class CloudSchedulerJobHttpTargetOidcTokenOutputReference 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._audience !== undefined) { hasAnyValues = true; internalValueResult.audience = this._audience; } if (this._serviceAccountEmail !== undefined) { hasAnyValues = true; internalValueResult.serviceAccountEmail = this._serviceAccountEmail; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._audience = undefined; this._serviceAccountEmail = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._audience = value.audience; this._serviceAccountEmail = value.serviceAccountEmail; } } get audience() { return this.getStringAttribute('audience'); } set audience(value) { this._audience = value; } resetAudience() { this._audience = undefined; } // Temporarily expose input value. Use with caution. get audienceInput() { return this._audience; } get serviceAccountEmail() { return this.getStringAttribute('service_account_email'); } set serviceAccountEmail(value) { this._serviceAccountEmail = value; } // Temporarily expose input value. Use with caution. get serviceAccountEmailInput() { return this._serviceAccountEmail; } } exports.CloudSchedulerJobHttpTargetOidcTokenOutputReference = CloudSchedulerJobHttpTargetOidcTokenOutputReference; _d = JSII_RTTI_SYMBOL_1; CloudSchedulerJobHttpTargetOidcTokenOutputReference[_d] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobHttpTargetOidcTokenOutputReference", version: "14.12.0" }; function cloudSchedulerJobHttpTargetToTerraform(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 { body: cdktf.stringToTerraform(struct.body), headers: cdktf.hashMapper(cdktf.stringToTerraform)(struct.headers), http_method: cdktf.stringToTerraform(struct.httpMethod), uri: cdktf.stringToTerraform(struct.uri), oauth_token: cloudSchedulerJobHttpTargetOauthTokenToTerraform(struct.oauthToken), oidc_token: cloudSchedulerJobHttpTargetOidcTokenToTerraform(struct.oidcToken), }; } exports.cloudSchedulerJobHttpTargetToTerraform = cloudSchedulerJobHttpTargetToTerraform; function cloudSchedulerJobHttpTargetToHclTerraform(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 = { body: { value: cdktf.stringToHclTerraform(struct.body), isBlock: false, type: "simple", storageClassType: "string", }, headers: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.headers), isBlock: false, type: "map", storageClassType: "stringMap", }, http_method: { value: cdktf.stringToHclTerraform(struct.httpMethod), isBlock: false, type: "simple", storageClassType: "string", }, uri: { value: cdktf.stringToHclTerraform(struct.uri), isBlock: false, type: "simple", storageClassType: "string", }, oauth_token: { value: cloudSchedulerJobHttpTargetOauthTokenToHclTerraform(struct.oauthToken), isBlock: true, type: "list", storageClassType: "CloudSchedulerJobHttpTargetOauthTokenList", }, oidc_token: { value: cloudSchedulerJobHttpTargetOidcTokenToHclTerraform(struct.oidcToken), isBlock: true, type: "list", storageClassType: "CloudSchedulerJobHttpTargetOidcTokenList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobHttpTargetToHclTerraform = cloudSchedulerJobHttpTargetToHclTerraform; class CloudSchedulerJobHttpTargetOutputReference 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; // oauth_token - computed: false, optional: true, required: false this._oauthToken = new CloudSchedulerJobHttpTargetOauthTokenOutputReference(this, "oauth_token"); // oidc_token - computed: false, optional: true, required: false this._oidcToken = new CloudSchedulerJobHttpTargetOidcTokenOutputReference(this, "oidc_token"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._body !== undefined) { hasAnyValues = true; internalValueResult.body = this._body; } if (this._headers !== undefined) { hasAnyValues = true; internalValueResult.headers = this._headers; } if (this._httpMethod !== undefined) { hasAnyValues = true; internalValueResult.httpMethod = this._httpMethod; } if (this._uri !== undefined) { hasAnyValues = true; internalValueResult.uri = this._uri; } if (this._oauthToken?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.oauthToken = this._oauthToken?.internalValue; } if (this._oidcToken?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.oidcToken = this._oidcToken?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._body = undefined; this._headers = undefined; this._httpMethod = undefined; this._uri = undefined; this._oauthToken.internalValue = undefined; this._oidcToken.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._body = value.body; this._headers = value.headers; this._httpMethod = value.httpMethod; this._uri = value.uri; this._oauthToken.internalValue = value.oauthToken; this._oidcToken.internalValue = value.oidcToken; } } get body() { return this.getStringAttribute('body'); } set body(value) { this._body = value; } resetBody() { this._body = undefined; } // Temporarily expose input value. Use with caution. get bodyInput() { return this._body; } get headers() { return this.getStringMapAttribute('headers'); } set headers(value) { this._headers = value; } resetHeaders() { this._headers = undefined; } // Temporarily expose input value. Use with caution. get headersInput() { return this._headers; } get httpMethod() { return this.getStringAttribute('http_method'); } set httpMethod(value) { this._httpMethod = value; } resetHttpMethod() { this._httpMethod = undefined; } // Temporarily expose input value. Use with caution. get httpMethodInput() { return this._httpMethod; } get uri() { return this.getStringAttribute('uri'); } set uri(value) { this._uri = value; } // Temporarily expose input value. Use with caution. get uriInput() { return this._uri; } get oauthToken() { return this._oauthToken; } putOauthToken(value) { this._oauthToken.internalValue = value; } resetOauthToken() { this._oauthToken.internalValue = undefined; } // Temporarily expose input value. Use with caution. get oauthTokenInput() { return this._oauthToken.internalValue; } get oidcToken() { return this._oidcToken; } putOidcToken(value) { this._oidcToken.internalValue = value; } resetOidcToken() { this._oidcToken.internalValue = undefined; } // Temporarily expose input value. Use with caution. get oidcTokenInput() { return this._oidcToken.internalValue; } } exports.CloudSchedulerJobHttpTargetOutputReference = CloudSchedulerJobHttpTargetOutputReference; _e = JSII_RTTI_SYMBOL_1; CloudSchedulerJobHttpTargetOutputReference[_e] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobHttpTargetOutputReference", version: "14.12.0" }; function cloudSchedulerJobPubsubTargetToTerraform(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 { attributes: cdktf.hashMapper(cdktf.stringToTerraform)(struct.attributes), data: cdktf.stringToTerraform(struct.data), topic_name: cdktf.stringToTerraform(struct.topicName), }; } exports.cloudSchedulerJobPubsubTargetToTerraform = cloudSchedulerJobPubsubTargetToTerraform; function cloudSchedulerJobPubsubTargetToHclTerraform(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 = { attributes: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.attributes), isBlock: false, type: "map", storageClassType: "stringMap", }, data: { value: cdktf.stringToHclTerraform(struct.data), isBlock: false, type: "simple", storageClassType: "string", }, topic_name: { value: cdktf.stringToHclTerraform(struct.topicName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobPubsubTargetToHclTerraform = cloudSchedulerJobPubsubTargetToHclTerraform; class CloudSchedulerJobPubsubTargetOutputReference 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._attributes !== undefined) { hasAnyValues = true; internalValueResult.attributes = this._attributes; } if (this._data !== undefined) { hasAnyValues = true; internalValueResult.data = this._data; } if (this._topicName !== undefined) { hasAnyValues = true; internalValueResult.topicName = this._topicName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._attributes = undefined; this._data = undefined; this._topicName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._attributes = value.attributes; this._data = value.data; this._topicName = value.topicName; } } get attributes() { return this.getStringMapAttribute('attributes'); } set attributes(value) { this._attributes = value; } resetAttributes() { this._attributes = undefined; } // Temporarily expose input value. Use with caution. get attributesInput() { return this._attributes; } get data() { return this.getStringAttribute('data'); } set data(value) { this._data = value; } resetData() { this._data = undefined; } // Temporarily expose input value. Use with caution. get dataInput() { return this._data; } get topicName() { return this.getStringAttribute('topic_name'); } set topicName(value) { this._topicName = value; } // Temporarily expose input value. Use with caution. get topicNameInput() { return this._topicName; } } exports.CloudSchedulerJobPubsubTargetOutputReference = CloudSchedulerJobPubsubTargetOutputReference; _f = JSII_RTTI_SYMBOL_1; CloudSchedulerJobPubsubTargetOutputReference[_f] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobPubsubTargetOutputReference", version: "14.12.0" }; function cloudSchedulerJobRetryConfigToTerraform(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_backoff_duration: cdktf.stringToTerraform(struct.maxBackoffDuration), max_doublings: cdktf.numberToTerraform(struct.maxDoublings), max_retry_duration: cdktf.stringToTerraform(struct.maxRetryDuration), min_backoff_duration: cdktf.stringToTerraform(struct.minBackoffDuration), retry_count: cdktf.numberToTerraform(struct.retryCount), }; } exports.cloudSchedulerJobRetryConfigToTerraform = cloudSchedulerJobRetryConfigToTerraform; function cloudSchedulerJobRetryConfigToHclTerraform(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_backoff_duration: { value: cdktf.stringToHclTerraform(struct.maxBackoffDuration), isBlock: false, type: "simple", storageClassType: "string", }, max_doublings: { value: cdktf.numberToHclTerraform(struct.maxDoublings), isBlock: false, type: "simple", storageClassType: "number", }, max_retry_duration: { value: cdktf.stringToHclTerraform(struct.maxRetryDuration), isBlock: false, type: "simple", storageClassType: "string", }, min_backoff_duration: { value: cdktf.stringToHclTerraform(struct.minBackoffDuration), isBlock: false, type: "simple", storageClassType: "string", }, retry_count: { value: cdktf.numberToHclTerraform(struct.retryCount), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobRetryConfigToHclTerraform = cloudSchedulerJobRetryConfigToHclTerraform; class CloudSchedulerJobRetryConfigOutputReference 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._maxBackoffDuration !== undefined) { hasAnyValues = true; internalValueResult.maxBackoffDuration = this._maxBackoffDuration; } if (this._maxDoublings !== undefined) { hasAnyValues = true; internalValueResult.maxDoublings = this._maxDoublings; } if (this._maxRetryDuration !== undefined) { hasAnyValues = true; internalValueResult.maxRetryDuration = this._maxRetryDuration; } if (this._minBackoffDuration !== undefined) { hasAnyValues = true; internalValueResult.minBackoffDuration = this._minBackoffDuration; } if (this._retryCount !== undefined) { hasAnyValues = true; internalValueResult.retryCount = this._retryCount; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxBackoffDuration = undefined; this._maxDoublings = undefined; this._maxRetryDuration = undefined; this._minBackoffDuration = undefined; this._retryCount = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxBackoffDuration = value.maxBackoffDuration; this._maxDoublings = value.maxDoublings; this._maxRetryDuration = value.maxRetryDuration; this._minBackoffDuration = value.minBackoffDuration; this._retryCount = value.retryCount; } } get maxBackoffDuration() { return this.getStringAttribute('max_backoff_duration'); } set maxBackoffDuration(value) { this._maxBackoffDuration = value; } resetMaxBackoffDuration() { this._maxBackoffDuration = undefined; } // Temporarily expose input value. Use with caution. get maxBackoffDurationInput() { return this._maxBackoffDuration; } get maxDoublings() { return this.getNumberAttribute('max_doublings'); } set maxDoublings(value) { this._maxDoublings = value; } resetMaxDoublings() { this._maxDoublings = undefined; } // Temporarily expose input value. Use with caution. get maxDoublingsInput() { return this._maxDoublings; } get maxRetryDuration() { return this.getStringAttribute('max_retry_duration'); } set maxRetryDuration(value) { this._maxRetryDuration = value; } resetMaxRetryDuration() { this._maxRetryDuration = undefined; } // Temporarily expose input value. Use with caution. get maxRetryDurationInput() { return this._maxRetryDuration; } get minBackoffDuration() { return this.getStringAttribute('min_backoff_duration'); } set minBackoffDuration(value) { this._minBackoffDuration = value; } resetMinBackoffDuration() { this._minBackoffDuration = undefined; } // Temporarily expose input value. Use with caution. get minBackoffDurationInput() { return this._minBackoffDuration; } get retryCount() { return this.getNumberAttribute('retry_count'); } set retryCount(value) { this._retryCount = value; } resetRetryCount() { this._retryCount = undefined; } // Temporarily expose input value. Use with caution. get retryCountInput() { return this._retryCount; } } exports.CloudSchedulerJobRetryConfigOutputReference = CloudSchedulerJobRetryConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; CloudSchedulerJobRetryConfigOutputReference[_g] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobRetryConfigOutputReference", version: "14.12.0" }; function cloudSchedulerJobTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } exports.cloudSchedulerJobTimeoutsToTerraform = cloudSchedulerJobTimeoutsToTerraform; function cloudSchedulerJobTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.cloudSchedulerJobTimeoutsToHclTerraform = cloudSchedulerJobTimeoutsToHclTerraform; class CloudSchedulerJobTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.CloudSchedulerJobTimeoutsOutputReference = CloudSchedulerJobTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; CloudSchedulerJobTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-google.cloudSchedulerJob.CloudSchedulerJobTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloud_scheduler_job google_cloud_scheduler_job} */ class CloudSchedulerJob extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CloudSchedulerJob 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 CloudSchedulerJob to import * @param importFromId The id of the existing CloudSchedulerJob that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloud_scheduler_job#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudSchedulerJob to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_cloud_scheduler_job", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/cloud_scheduler_job google_cloud_scheduler_job} 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 CloudSchedulerJobConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_cloud_scheduler_job', 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 }); // app_engine_http_target - computed: false, optional: true, required: false this._appEngineHttpTarget = new CloudSchedulerJobAppEngineHttpTargetOutputReference(this, "app_engine_http_target"); // http_target - computed: false, optional: true, required: false this._httpTarget = new CloudSchedulerJobHttpTargetOutputReference(this, "http_target"); // pubsub_target - computed: false, optional: true, required: false this._pubsubTarget = new CloudSchedulerJobPubsubTargetOutputReference(this, "pubsub_target"); // retry_config - computed: false, optional: true, required: false this._retryConfig = new CloudSchedulerJobRetryConfigOutputReference(this, "retry_config"); // timeouts - computed: false, optional: true, required: false this._timeouts = new CloudSchedulerJobTimeoutsOutputReference(this, "timeouts"); this._attemptDeadline = config.attemptDeadline; this._description = config.description; this._id = config.id; this._name = config.name; this._paused = config.paused; this._project = config.project; this._region = config.region; this._schedule = config.schedule; this._timeZone = config.timeZone; this._appEngineHttpTarget.internalValue = config.appEngineHttpTarget; this._httpTarget.internalValue = config.httpTarget; this._pubsubTarget.internalValue = config.pubsubTarget; this._retryConfig.internalValue = config.retryConfig; this._timeouts.internalValue = config.timeouts; } get attemptDeadline() { return this.getStringAttribute('attempt_deadline'); } set attemptDeadline(value) { this._attemptDeadline = value; } resetAttemptDeadline() { this._attemptDeadline = undefined; } // Temporarily expose input value. Use with caution. get attemptDeadlineInput() { return this._attemptDeadline; } 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 id() {