UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,106 lines (1,105 loc) 261 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; Object.defineProperty(exports, "__esModule", { value: true }); exports.IapSettings = exports.IapSettingsTimeoutsOutputReference = exports.iapSettingsTimeoutsToHclTerraform = exports.iapSettingsTimeoutsToTerraform = exports.IapSettingsApplicationSettingsOutputReference = exports.iapSettingsApplicationSettingsToHclTerraform = exports.iapSettingsApplicationSettingsToTerraform = exports.IapSettingsApplicationSettingsCsmSettingsOutputReference = exports.iapSettingsApplicationSettingsCsmSettingsToHclTerraform = exports.iapSettingsApplicationSettingsCsmSettingsToTerraform = exports.IapSettingsApplicationSettingsAttributePropagationSettingsOutputReference = exports.iapSettingsApplicationSettingsAttributePropagationSettingsToHclTerraform = exports.iapSettingsApplicationSettingsAttributePropagationSettingsToTerraform = exports.IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference = exports.iapSettingsApplicationSettingsAccessDeniedPageSettingsToHclTerraform = exports.iapSettingsApplicationSettingsAccessDeniedPageSettingsToTerraform = exports.IapSettingsAccessSettingsOutputReference = exports.iapSettingsAccessSettingsToHclTerraform = exports.iapSettingsAccessSettingsToTerraform = exports.IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference = exports.iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform = exports.iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform = exports.IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference = exports.iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform = exports.iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform = exports.IapSettingsAccessSettingsReauthSettingsOutputReference = exports.iapSettingsAccessSettingsReauthSettingsToHclTerraform = exports.iapSettingsAccessSettingsReauthSettingsToTerraform = exports.IapSettingsAccessSettingsOauthSettingsOutputReference = exports.iapSettingsAccessSettingsOauthSettingsToHclTerraform = exports.iapSettingsAccessSettingsOauthSettingsToTerraform = exports.IapSettingsAccessSettingsGcipSettingsOutputReference = exports.iapSettingsAccessSettingsGcipSettingsToHclTerraform = exports.iapSettingsAccessSettingsGcipSettingsToTerraform = exports.IapSettingsAccessSettingsCorsSettingsOutputReference = exports.iapSettingsAccessSettingsCorsSettingsToHclTerraform = exports.iapSettingsAccessSettingsCorsSettingsToTerraform = exports.IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference = exports.iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform = exports.iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform(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 { domains: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.domains), enable: cdktf.booleanToTerraform(struct.enable), }; } exports.iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform = iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform; function iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform(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 = { domains: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.domains), isBlock: false, type: "list", storageClassType: "stringList", }, enable: { value: cdktf.booleanToHclTerraform(struct.enable), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform = iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform; class IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference 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._domains !== undefined) { hasAnyValues = true; internalValueResult.domains = this._domains; } if (this._enable !== undefined) { hasAnyValues = true; internalValueResult.enable = this._enable; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._domains = undefined; this._enable = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._domains = value.domains; this._enable = value.enable; } } get domains() { return this.getListAttribute('domains'); } set domains(value) { this._domains = value; } resetDomains() { this._domains = undefined; } // Temporarily expose input value. Use with caution. get domainsInput() { return this._domains; } get enable() { return this.getBooleanAttribute('enable'); } set enable(value) { this._enable = value; } resetEnable() { this._enable = undefined; } // Temporarily expose input value. Use with caution. get enableInput() { return this._enable; } } exports.IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference = IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference; _a = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference[_a] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsCorsSettingsToTerraform(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 { allow_http_options: cdktf.booleanToTerraform(struct.allowHttpOptions), }; } exports.iapSettingsAccessSettingsCorsSettingsToTerraform = iapSettingsAccessSettingsCorsSettingsToTerraform; function iapSettingsAccessSettingsCorsSettingsToHclTerraform(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 = { allow_http_options: { value: cdktf.booleanToHclTerraform(struct.allowHttpOptions), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsCorsSettingsToHclTerraform = iapSettingsAccessSettingsCorsSettingsToHclTerraform; class IapSettingsAccessSettingsCorsSettingsOutputReference 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._allowHttpOptions !== undefined) { hasAnyValues = true; internalValueResult.allowHttpOptions = this._allowHttpOptions; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allowHttpOptions = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allowHttpOptions = value.allowHttpOptions; } } get allowHttpOptions() { return this.getBooleanAttribute('allow_http_options'); } set allowHttpOptions(value) { this._allowHttpOptions = value; } resetAllowHttpOptions() { this._allowHttpOptions = undefined; } // Temporarily expose input value. Use with caution. get allowHttpOptionsInput() { return this._allowHttpOptions; } } exports.IapSettingsAccessSettingsCorsSettingsOutputReference = IapSettingsAccessSettingsCorsSettingsOutputReference; _b = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsCorsSettingsOutputReference[_b] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsCorsSettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsGcipSettingsToTerraform(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 { login_page_uri: cdktf.stringToTerraform(struct.loginPageUri), tenant_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.tenantIds), }; } exports.iapSettingsAccessSettingsGcipSettingsToTerraform = iapSettingsAccessSettingsGcipSettingsToTerraform; function iapSettingsAccessSettingsGcipSettingsToHclTerraform(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 = { login_page_uri: { value: cdktf.stringToHclTerraform(struct.loginPageUri), isBlock: false, type: "simple", storageClassType: "string", }, tenant_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.tenantIds), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsGcipSettingsToHclTerraform = iapSettingsAccessSettingsGcipSettingsToHclTerraform; class IapSettingsAccessSettingsGcipSettingsOutputReference 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._loginPageUri !== undefined) { hasAnyValues = true; internalValueResult.loginPageUri = this._loginPageUri; } if (this._tenantIds !== undefined) { hasAnyValues = true; internalValueResult.tenantIds = this._tenantIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._loginPageUri = undefined; this._tenantIds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._loginPageUri = value.loginPageUri; this._tenantIds = value.tenantIds; } } get loginPageUri() { return this.getStringAttribute('login_page_uri'); } set loginPageUri(value) { this._loginPageUri = value; } resetLoginPageUri() { this._loginPageUri = undefined; } // Temporarily expose input value. Use with caution. get loginPageUriInput() { return this._loginPageUri; } get tenantIds() { return this.getListAttribute('tenant_ids'); } set tenantIds(value) { this._tenantIds = value; } resetTenantIds() { this._tenantIds = undefined; } // Temporarily expose input value. Use with caution. get tenantIdsInput() { return this._tenantIds; } } exports.IapSettingsAccessSettingsGcipSettingsOutputReference = IapSettingsAccessSettingsGcipSettingsOutputReference; _c = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsGcipSettingsOutputReference[_c] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsGcipSettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsOauthSettingsToTerraform(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 { login_hint: cdktf.stringToTerraform(struct.loginHint), programmatic_clients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.programmaticClients), }; } exports.iapSettingsAccessSettingsOauthSettingsToTerraform = iapSettingsAccessSettingsOauthSettingsToTerraform; function iapSettingsAccessSettingsOauthSettingsToHclTerraform(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 = { login_hint: { value: cdktf.stringToHclTerraform(struct.loginHint), isBlock: false, type: "simple", storageClassType: "string", }, programmatic_clients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.programmaticClients), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsOauthSettingsToHclTerraform = iapSettingsAccessSettingsOauthSettingsToHclTerraform; class IapSettingsAccessSettingsOauthSettingsOutputReference 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._loginHint !== undefined) { hasAnyValues = true; internalValueResult.loginHint = this._loginHint; } if (this._programmaticClients !== undefined) { hasAnyValues = true; internalValueResult.programmaticClients = this._programmaticClients; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._loginHint = undefined; this._programmaticClients = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._loginHint = value.loginHint; this._programmaticClients = value.programmaticClients; } } get loginHint() { return this.getStringAttribute('login_hint'); } set loginHint(value) { this._loginHint = value; } resetLoginHint() { this._loginHint = undefined; } // Temporarily expose input value. Use with caution. get loginHintInput() { return this._loginHint; } get programmaticClients() { return this.getListAttribute('programmatic_clients'); } set programmaticClients(value) { this._programmaticClients = value; } resetProgrammaticClients() { this._programmaticClients = undefined; } // Temporarily expose input value. Use with caution. get programmaticClientsInput() { return this._programmaticClients; } } exports.IapSettingsAccessSettingsOauthSettingsOutputReference = IapSettingsAccessSettingsOauthSettingsOutputReference; _d = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsOauthSettingsOutputReference[_d] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsOauthSettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsReauthSettingsToTerraform(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: cdktf.stringToTerraform(struct.maxAge), method: cdktf.stringToTerraform(struct.method), policy_type: cdktf.stringToTerraform(struct.policyType), }; } exports.iapSettingsAccessSettingsReauthSettingsToTerraform = iapSettingsAccessSettingsReauthSettingsToTerraform; function iapSettingsAccessSettingsReauthSettingsToHclTerraform(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: { value: cdktf.stringToHclTerraform(struct.maxAge), isBlock: false, type: "simple", storageClassType: "string", }, method: { value: cdktf.stringToHclTerraform(struct.method), isBlock: false, type: "simple", storageClassType: "string", }, policy_type: { value: cdktf.stringToHclTerraform(struct.policyType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsReauthSettingsToHclTerraform = iapSettingsAccessSettingsReauthSettingsToHclTerraform; class IapSettingsAccessSettingsReauthSettingsOutputReference 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._maxAge !== undefined) { hasAnyValues = true; internalValueResult.maxAge = this._maxAge; } if (this._method !== undefined) { hasAnyValues = true; internalValueResult.method = this._method; } if (this._policyType !== undefined) { hasAnyValues = true; internalValueResult.policyType = this._policyType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxAge = undefined; this._method = undefined; this._policyType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxAge = value.maxAge; this._method = value.method; this._policyType = value.policyType; } } get maxAge() { return this.getStringAttribute('max_age'); } set maxAge(value) { this._maxAge = value; } // Temporarily expose input value. Use with caution. get maxAgeInput() { return this._maxAge; } get method() { return this.getStringAttribute('method'); } set method(value) { this._method = value; } // Temporarily expose input value. Use with caution. get methodInput() { return this._method; } get policyType() { return this.getStringAttribute('policy_type'); } set policyType(value) { this._policyType = value; } // Temporarily expose input value. Use with caution. get policyTypeInput() { return this._policyType; } } exports.IapSettingsAccessSettingsReauthSettingsOutputReference = IapSettingsAccessSettingsReauthSettingsOutputReference; _e = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsReauthSettingsOutputReference[_e] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsReauthSettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform(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 { client_id: cdktf.stringToTerraform(struct.clientId), client_secret: cdktf.stringToTerraform(struct.clientSecret), }; } exports.iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform = iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform; function iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform(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 = { client_id: { value: cdktf.stringToHclTerraform(struct.clientId), isBlock: false, type: "simple", storageClassType: "string", }, client_secret: { value: cdktf.stringToHclTerraform(struct.clientSecret), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform = iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform; class IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference 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._clientId !== undefined) { hasAnyValues = true; internalValueResult.clientId = this._clientId; } if (this._clientSecret !== undefined) { hasAnyValues = true; internalValueResult.clientSecret = this._clientSecret; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._clientId = undefined; this._clientSecret = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._clientId = value.clientId; this._clientSecret = value.clientSecret; } } get clientId() { return this.getStringAttribute('client_id'); } set clientId(value) { this._clientId = value; } resetClientId() { this._clientId = undefined; } // Temporarily expose input value. Use with caution. get clientIdInput() { return this._clientId; } get clientSecret() { return this.getStringAttribute('client_secret'); } set clientSecret(value) { this._clientSecret = value; } resetClientSecret() { this._clientSecret = undefined; } // Temporarily expose input value. Use with caution. get clientSecretInput() { return this._clientSecret; } // client_secret_sha256 - computed: true, optional: false, required: false get clientSecretSha256() { return this.getStringAttribute('client_secret_sha256'); } } exports.IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference = IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference; _f = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference[_f] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform(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 { workforce_pools: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.workforcePools), oauth2: iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform(struct.oauth2), }; } exports.iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform = iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform; function iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform(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 = { workforce_pools: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.workforcePools), isBlock: false, type: "list", storageClassType: "stringList", }, oauth2: { value: iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform(struct.oauth2), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2List", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform = iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform; class IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference 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; // oauth2 - computed: false, optional: true, required: false this._oauth2 = new IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference(this, "oauth2"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._workforcePools !== undefined) { hasAnyValues = true; internalValueResult.workforcePools = this._workforcePools; } if (this._oauth2?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.oauth2 = this._oauth2?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._workforcePools = undefined; this._oauth2.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._workforcePools = value.workforcePools; this._oauth2.internalValue = value.oauth2; } } get workforcePools() { return this.getListAttribute('workforce_pools'); } set workforcePools(value) { this._workforcePools = value; } resetWorkforcePools() { this._workforcePools = undefined; } // Temporarily expose input value. Use with caution. get workforcePoolsInput() { return this._workforcePools; } get oauth2() { return this._oauth2; } putOauth2(value) { this._oauth2.internalValue = value; } resetOauth2() { this._oauth2.internalValue = undefined; } // Temporarily expose input value. Use with caution. get oauth2Input() { return this._oauth2.internalValue; } } exports.IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference = IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference; _g = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference[_g] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference", version: "14.12.0" }; function iapSettingsAccessSettingsToTerraform(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 { identity_sources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identitySources), allowed_domains_settings: iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform(struct.allowedDomainsSettings), cors_settings: iapSettingsAccessSettingsCorsSettingsToTerraform(struct.corsSettings), gcip_settings: iapSettingsAccessSettingsGcipSettingsToTerraform(struct.gcipSettings), oauth_settings: iapSettingsAccessSettingsOauthSettingsToTerraform(struct.oauthSettings), reauth_settings: iapSettingsAccessSettingsReauthSettingsToTerraform(struct.reauthSettings), workforce_identity_settings: iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform(struct.workforceIdentitySettings), }; } exports.iapSettingsAccessSettingsToTerraform = iapSettingsAccessSettingsToTerraform; function iapSettingsAccessSettingsToHclTerraform(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 = { identity_sources: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identitySources), isBlock: false, type: "list", storageClassType: "stringList", }, allowed_domains_settings: { value: iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform(struct.allowedDomainsSettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsAllowedDomainsSettingsList", }, cors_settings: { value: iapSettingsAccessSettingsCorsSettingsToHclTerraform(struct.corsSettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsCorsSettingsList", }, gcip_settings: { value: iapSettingsAccessSettingsGcipSettingsToHclTerraform(struct.gcipSettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsGcipSettingsList", }, oauth_settings: { value: iapSettingsAccessSettingsOauthSettingsToHclTerraform(struct.oauthSettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsOauthSettingsList", }, reauth_settings: { value: iapSettingsAccessSettingsReauthSettingsToHclTerraform(struct.reauthSettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsReauthSettingsList", }, workforce_identity_settings: { value: iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform(struct.workforceIdentitySettings), isBlock: true, type: "list", storageClassType: "IapSettingsAccessSettingsWorkforceIdentitySettingsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsAccessSettingsToHclTerraform = iapSettingsAccessSettingsToHclTerraform; class IapSettingsAccessSettingsOutputReference 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; // allowed_domains_settings - computed: false, optional: true, required: false this._allowedDomainsSettings = new IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference(this, "allowed_domains_settings"); // cors_settings - computed: false, optional: true, required: false this._corsSettings = new IapSettingsAccessSettingsCorsSettingsOutputReference(this, "cors_settings"); // gcip_settings - computed: false, optional: true, required: false this._gcipSettings = new IapSettingsAccessSettingsGcipSettingsOutputReference(this, "gcip_settings"); // oauth_settings - computed: false, optional: true, required: false this._oauthSettings = new IapSettingsAccessSettingsOauthSettingsOutputReference(this, "oauth_settings"); // reauth_settings - computed: false, optional: true, required: false this._reauthSettings = new IapSettingsAccessSettingsReauthSettingsOutputReference(this, "reauth_settings"); // workforce_identity_settings - computed: false, optional: true, required: false this._workforceIdentitySettings = new IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference(this, "workforce_identity_settings"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._identitySources !== undefined) { hasAnyValues = true; internalValueResult.identitySources = this._identitySources; } if (this._allowedDomainsSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.allowedDomainsSettings = this._allowedDomainsSettings?.internalValue; } if (this._corsSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.corsSettings = this._corsSettings?.internalValue; } if (this._gcipSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.gcipSettings = this._gcipSettings?.internalValue; } if (this._oauthSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.oauthSettings = this._oauthSettings?.internalValue; } if (this._reauthSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.reauthSettings = this._reauthSettings?.internalValue; } if (this._workforceIdentitySettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.workforceIdentitySettings = this._workforceIdentitySettings?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._identitySources = undefined; this._allowedDomainsSettings.internalValue = undefined; this._corsSettings.internalValue = undefined; this._gcipSettings.internalValue = undefined; this._oauthSettings.internalValue = undefined; this._reauthSettings.internalValue = undefined; this._workforceIdentitySettings.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._identitySources = value.identitySources; this._allowedDomainsSettings.internalValue = value.allowedDomainsSettings; this._corsSettings.internalValue = value.corsSettings; this._gcipSettings.internalValue = value.gcipSettings; this._oauthSettings.internalValue = value.oauthSettings; this._reauthSettings.internalValue = value.reauthSettings; this._workforceIdentitySettings.internalValue = value.workforceIdentitySettings; } } get identitySources() { return this.getListAttribute('identity_sources'); } set identitySources(value) { this._identitySources = value; } resetIdentitySources() { this._identitySources = undefined; } // Temporarily expose input value. Use with caution. get identitySourcesInput() { return this._identitySources; } get allowedDomainsSettings() { return this._allowedDomainsSettings; } putAllowedDomainsSettings(value) { this._allowedDomainsSettings.internalValue = value; } resetAllowedDomainsSettings() { this._allowedDomainsSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get allowedDomainsSettingsInput() { return this._allowedDomainsSettings.internalValue; } get corsSettings() { return this._corsSettings; } putCorsSettings(value) { this._corsSettings.internalValue = value; } resetCorsSettings() { this._corsSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get corsSettingsInput() { return this._corsSettings.internalValue; } get gcipSettings() { return this._gcipSettings; } putGcipSettings(value) { this._gcipSettings.internalValue = value; } resetGcipSettings() { this._gcipSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get gcipSettingsInput() { return this._gcipSettings.internalValue; } get oauthSettings() { return this._oauthSettings; } putOauthSettings(value) { this._oauthSettings.internalValue = value; } resetOauthSettings() { this._oauthSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get oauthSettingsInput() { return this._oauthSettings.internalValue; } get reauthSettings() { return this._reauthSettings; } putReauthSettings(value) { this._reauthSettings.internalValue = value; } resetReauthSettings() { this._reauthSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get reauthSettingsInput() { return this._reauthSettings.internalValue; } get workforceIdentitySettings() { return this._workforceIdentitySettings; } putWorkforceIdentitySettings(value) { this._workforceIdentitySettings.internalValue = value; } resetWorkforceIdentitySettings() { this._workforceIdentitySettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get workforceIdentitySettingsInput() { return this._workforceIdentitySettings.internalValue; } } exports.IapSettingsAccessSettingsOutputReference = IapSettingsAccessSettingsOutputReference; _h = JSII_RTTI_SYMBOL_1; IapSettingsAccessSettingsOutputReference[_h] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsAccessSettingsOutputReference", version: "14.12.0" }; function iapSettingsApplicationSettingsAccessDeniedPageSettingsToTerraform(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 { access_denied_page_uri: cdktf.stringToTerraform(struct.accessDeniedPageUri), generate_troubleshooting_uri: cdktf.booleanToTerraform(struct.generateTroubleshootingUri), remediation_token_generation_enabled: cdktf.booleanToTerraform(struct.remediationTokenGenerationEnabled), }; } exports.iapSettingsApplicationSettingsAccessDeniedPageSettingsToTerraform = iapSettingsApplicationSettingsAccessDeniedPageSettingsToTerraform; function iapSettingsApplicationSettingsAccessDeniedPageSettingsToHclTerraform(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 = { access_denied_page_uri: { value: cdktf.stringToHclTerraform(struct.accessDeniedPageUri), isBlock: false, type: "simple", storageClassType: "string", }, generate_troubleshooting_uri: { value: cdktf.booleanToHclTerraform(struct.generateTroubleshootingUri), isBlock: false, type: "simple", storageClassType: "boolean", }, remediation_token_generation_enabled: { value: cdktf.booleanToHclTerraform(struct.remediationTokenGenerationEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.iapSettingsApplicationSettingsAccessDeniedPageSettingsToHclTerraform = iapSettingsApplicationSettingsAccessDeniedPageSettingsToHclTerraform; class IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference 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._accessDeniedPageUri !== undefined) { hasAnyValues = true; internalValueResult.accessDeniedPageUri = this._accessDeniedPageUri; } if (this._generateTroubleshootingUri !== undefined) { hasAnyValues = true; internalValueResult.generateTroubleshootingUri = this._generateTroubleshootingUri; } if (this._remediationTokenGenerationEnabled !== undefined) { hasAnyValues = true; internalValueResult.remediationTokenGenerationEnabled = this._remediationTokenGenerationEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._accessDeniedPageUri = undefined; this._generateTroubleshootingUri = undefined; this._remediationTokenGenerationEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._accessDeniedPageUri = value.accessDeniedPageUri; this._generateTroubleshootingUri = value.generateTroubleshootingUri; this._remediationTokenGenerationEnabled = value.remediationTokenGenerationEnabled; } } get accessDeniedPageUri() { return this.getStringAttribute('access_denied_page_uri'); } set accessDeniedPageUri(value) { this._accessDeniedPageUri = value; } resetAccessDeniedPageUri() { this._accessDeniedPageUri = undefined; } // Temporarily expose input value. Use with caution. get accessDeniedPageUriInput() { return this._accessDeniedPageUri; } get generateTroubleshootingUri() { return this.getBooleanAttribute('generate_troubleshooting_uri'); } set generateTroubleshootingUri(value) { this._generateTroubleshootingUri = value; } resetGenerateTroubleshootingUri() { this._generateTroubleshootingUri = undefined; } // Temporarily expose input value. Use with caution. get generateTroubleshootingUriInput() { return this._generateTroubleshootingUri; } get remediationTokenGenerationEnabled() { return this.getBooleanAttribute('remediation_token_generation_enabled'); } set remediationTokenGenerationEnabled(value) { this._remediationTokenGenerationEnabled = value; } resetRemediationTokenGenerationEnabled() { this._remediationTokenGenerationEnabled = undefined; } // Temporarily expose input value. Use with caution. get remediationTokenGenerationEnabledInput() { return this._remediationTokenGenerationEnabled; } } exports.IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference = IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference; _j = JSII_RTTI_SYMBOL_1; IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference[_j] = { fqn: "@cdktf/provider-google.iapSettings.IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference", version: "14.12.0" }; function iapSettingsApplicationSettingsAttributePropagationSettingsToTerraform(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 { enable: cdktf.booleanToTerraform(struct.enable), expression: cdktf.stringToTerraform(struct.expression), output_credentials: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.outputCredentials), }; } exports.iapSettingsApplicationSettingsAttributePropagationSettingsToTerraform = iapSettingsApplicationSettingsAttributePropagationSettingsToTerraform; function iapSettingsApplicationSettingsAttributePropagationSettingsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {