@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
704 lines (703 loc) • 39.9 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface IapSettingsConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#id IapSettings#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* The resource name of the IAP protected resource. Name can have below resources:
* * organizations/{organization_id}
* * folders/{folder_id}
* * projects/{projects_id}
* * projects/{projects_id}/iap_web
* * projects/{projects_id}/iap_web/compute
* * projects/{projects_id}/iap_web/compute-{region}
* * projects/{projects_id}/iap_web/compute/service/{service_id}
* * projects/{projects_id}/iap_web/compute-{region}/service/{service_id}
* * projects/{projects_id}/iap_web/appengine-{app_id}
* * projects/{projects_id}/iap_web/appengine-{app_id}/service/{service_id}
* * projects/{projects_id}/iap_web/appengine-{app_id}/service/{service_id}/version/{version_id}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#name IapSettings#name}
*/
readonly name: string;
/**
* access_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#access_settings IapSettings#access_settings}
*/
readonly accessSettings?: IapSettingsAccessSettings;
/**
* application_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#application_settings IapSettings#application_settings}
*/
readonly applicationSettings?: IapSettingsApplicationSettings;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#timeouts IapSettings#timeouts}
*/
readonly timeouts?: IapSettingsTimeouts;
}
export interface IapSettingsAccessSettingsAllowedDomainsSettings {
/**
* List of trusted domains.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#domains IapSettings#domains}
*/
readonly domains?: string[];
/**
* Configuration for customers to opt in for the feature.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#enable IapSettings#enable}
*/
readonly enable?: boolean | cdktf.IResolvable;
}
export declare function iapSettingsAccessSettingsAllowedDomainsSettingsToTerraform(struct?: IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference | IapSettingsAccessSettingsAllowedDomainsSettings): any;
export declare function iapSettingsAccessSettingsAllowedDomainsSettingsToHclTerraform(struct?: IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference | IapSettingsAccessSettingsAllowedDomainsSettings): any;
export declare class IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsAllowedDomainsSettings | undefined;
set internalValue(value: IapSettingsAccessSettingsAllowedDomainsSettings | undefined);
private _domains?;
get domains(): string[];
set domains(value: string[]);
resetDomains(): void;
get domainsInput(): string[] | undefined;
private _enable?;
get enable(): boolean | cdktf.IResolvable;
set enable(value: boolean | cdktf.IResolvable);
resetEnable(): void;
get enableInput(): boolean | cdktf.IResolvable | undefined;
}
export interface IapSettingsAccessSettingsCorsSettings {
/**
* Configuration to allow HTTP OPTIONS calls to skip authorization.
* If undefined, IAP will not apply any special logic to OPTIONS requests.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#allow_http_options IapSettings#allow_http_options}
*/
readonly allowHttpOptions?: boolean | cdktf.IResolvable;
}
export declare function iapSettingsAccessSettingsCorsSettingsToTerraform(struct?: IapSettingsAccessSettingsCorsSettingsOutputReference | IapSettingsAccessSettingsCorsSettings): any;
export declare function iapSettingsAccessSettingsCorsSettingsToHclTerraform(struct?: IapSettingsAccessSettingsCorsSettingsOutputReference | IapSettingsAccessSettingsCorsSettings): any;
export declare class IapSettingsAccessSettingsCorsSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsCorsSettings | undefined;
set internalValue(value: IapSettingsAccessSettingsCorsSettings | undefined);
private _allowHttpOptions?;
get allowHttpOptions(): boolean | cdktf.IResolvable;
set allowHttpOptions(value: boolean | cdktf.IResolvable);
resetAllowHttpOptions(): void;
get allowHttpOptionsInput(): boolean | cdktf.IResolvable | undefined;
}
export interface IapSettingsAccessSettingsGcipSettings {
/**
* Login page URI associated with the GCIP tenants. Typically, all resources within
* the same project share the same login page, though it could be overridden at the
* sub resource level.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#login_page_uri IapSettings#login_page_uri}
*/
readonly loginPageUri?: string;
/**
* GCIP tenant ids that are linked to the IAP resource. tenantIds could be a string
* beginning with a number character to indicate authenticating with GCIP tenant flow,
* or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow
* is used, tenantIds should only contain one single element, while for tenant flow,
* tenantIds can contain multiple elements.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#tenant_ids IapSettings#tenant_ids}
*/
readonly tenantIds?: string[];
}
export declare function iapSettingsAccessSettingsGcipSettingsToTerraform(struct?: IapSettingsAccessSettingsGcipSettingsOutputReference | IapSettingsAccessSettingsGcipSettings): any;
export declare function iapSettingsAccessSettingsGcipSettingsToHclTerraform(struct?: IapSettingsAccessSettingsGcipSettingsOutputReference | IapSettingsAccessSettingsGcipSettings): any;
export declare class IapSettingsAccessSettingsGcipSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsGcipSettings | undefined;
set internalValue(value: IapSettingsAccessSettingsGcipSettings | undefined);
private _loginPageUri?;
get loginPageUri(): string;
set loginPageUri(value: string);
resetLoginPageUri(): void;
get loginPageUriInput(): string | undefined;
private _tenantIds?;
get tenantIds(): string[];
set tenantIds(value: string[]);
resetTenantIds(): void;
get tenantIdsInput(): string[] | undefined;
}
export interface IapSettingsAccessSettingsOauthSettings {
/**
* Domain hint to send as hd=? parameter in OAuth request flow.
* Enables redirect to primary IDP by skipping Google's login screen.
* (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
* Note: IAP does not verify that the id token's hd claim matches this value
* since access behavior is managed by IAM policies.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#login_hint IapSettings#login_hint}
*/
readonly loginHint?: string;
/**
* List of client ids allowed to use IAP programmatically.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#programmatic_clients IapSettings#programmatic_clients}
*/
readonly programmaticClients?: string[];
}
export declare function iapSettingsAccessSettingsOauthSettingsToTerraform(struct?: IapSettingsAccessSettingsOauthSettingsOutputReference | IapSettingsAccessSettingsOauthSettings): any;
export declare function iapSettingsAccessSettingsOauthSettingsToHclTerraform(struct?: IapSettingsAccessSettingsOauthSettingsOutputReference | IapSettingsAccessSettingsOauthSettings): any;
export declare class IapSettingsAccessSettingsOauthSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsOauthSettings | undefined;
set internalValue(value: IapSettingsAccessSettingsOauthSettings | undefined);
private _loginHint?;
get loginHint(): string;
set loginHint(value: string);
resetLoginHint(): void;
get loginHintInput(): string | undefined;
private _programmaticClients?;
get programmaticClients(): string[];
set programmaticClients(value: string[]);
resetProgrammaticClients(): void;
get programmaticClientsInput(): string[] | undefined;
}
export interface IapSettingsAccessSettingsReauthSettings {
/**
* Reauth session lifetime, how long before a user has to reauthenticate again.
* A duration in seconds with up to nine fractional digits, ending with 's'.
* Example: "3.5s".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#max_age IapSettings#max_age}
*/
readonly maxAge: string;
/**
* Reauth method requested. The possible values are:
*
* * 'LOGIN': Prompts the user to log in again.
* * 'SECURE_KEY': User must use their secure key 2nd factor device.
* * 'ENROLLED_SECOND_FACTORS': User can use any enabled 2nd factor. Possible values: ["LOGIN", "SECURE_KEY", "ENROLLED_SECOND_FACTORS"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#method IapSettings#method}
*/
readonly method: string;
/**
* How IAP determines the effective policy in cases of hierarchical policies.
* Policies are merged from higher in the hierarchy to lower in the hierarchy.
* The possible values are:
*
* * 'MINIMUM': This policy acts as a minimum to other policies, lower in the hierarchy.
* Effective policy may only be the same or stricter.
* * 'DEFAULT': This policy acts as a default if no other reauth policy is set. Possible values: ["MINIMUM", "DEFAULT"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#policy_type IapSettings#policy_type}
*/
readonly policyType: string;
}
export declare function iapSettingsAccessSettingsReauthSettingsToTerraform(struct?: IapSettingsAccessSettingsReauthSettingsOutputReference | IapSettingsAccessSettingsReauthSettings): any;
export declare function iapSettingsAccessSettingsReauthSettingsToHclTerraform(struct?: IapSettingsAccessSettingsReauthSettingsOutputReference | IapSettingsAccessSettingsReauthSettings): any;
export declare class IapSettingsAccessSettingsReauthSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsReauthSettings | undefined;
set internalValue(value: IapSettingsAccessSettingsReauthSettings | undefined);
private _maxAge?;
get maxAge(): string;
set maxAge(value: string);
get maxAgeInput(): string | undefined;
private _method?;
get method(): string;
set method(value: string);
get methodInput(): string | undefined;
private _policyType?;
get policyType(): string;
set policyType(value: string);
get policyTypeInput(): string | undefined;
}
export interface IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2 {
/**
* The OAuth 2.0 client ID registered in the workforce identity
* federation OAuth 2.0 Server.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#client_id IapSettings#client_id}
*/
readonly clientId?: string;
/**
* Input only. The OAuth 2.0 client secret created while registering
* the client ID.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#client_secret IapSettings#client_secret}
*/
readonly clientSecret?: string;
}
export declare function iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToTerraform(struct?: IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference | IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2): any;
export declare function iapSettingsAccessSettingsWorkforceIdentitySettingsOauth2ToHclTerraform(struct?: IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference | IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2): any;
export declare class IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2 | undefined;
set internalValue(value: IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2 | undefined);
private _clientId?;
get clientId(): string;
set clientId(value: string);
resetClientId(): void;
get clientIdInput(): string | undefined;
private _clientSecret?;
get clientSecret(): string;
set clientSecret(value: string);
resetClientSecret(): void;
get clientSecretInput(): string | undefined;
get clientSecretSha256(): string;
}
export interface IapSettingsAccessSettingsWorkforceIdentitySettings {
/**
* The workforce pool resources. Only one workforce pool is accepted.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#workforce_pools IapSettings#workforce_pools}
*/
readonly workforcePools?: string[];
/**
* oauth2 block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#oauth2 IapSettings#oauth2}
*/
readonly oauth2?: IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2;
}
export declare function iapSettingsAccessSettingsWorkforceIdentitySettingsToTerraform(struct?: IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference | IapSettingsAccessSettingsWorkforceIdentitySettings): any;
export declare function iapSettingsAccessSettingsWorkforceIdentitySettingsToHclTerraform(struct?: IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference | IapSettingsAccessSettingsWorkforceIdentitySettings): any;
export declare class IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettingsWorkforceIdentitySettings | undefined;
set internalValue(value: IapSettingsAccessSettingsWorkforceIdentitySettings | undefined);
private _workforcePools?;
get workforcePools(): string[];
set workforcePools(value: string[]);
resetWorkforcePools(): void;
get workforcePoolsInput(): string[] | undefined;
private _oauth2;
get oauth2(): IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2OutputReference;
putOauth2(value: IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2): void;
resetOauth2(): void;
get oauth2Input(): IapSettingsAccessSettingsWorkforceIdentitySettingsOauth2 | undefined;
}
export interface IapSettingsAccessSettings {
/**
* Identity sources that IAP can use to authenticate the end user. Only one identity source
* can be configured. The possible values are:
*
* * 'WORKFORCE_IDENTITY_FEDERATION': Use external identities set up on Google Cloud Workforce
* Identity Federation. Possible values: ["WORKFORCE_IDENTITY_FEDERATION"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#identity_sources IapSettings#identity_sources}
*/
readonly identitySources?: string[];
/**
* allowed_domains_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#allowed_domains_settings IapSettings#allowed_domains_settings}
*/
readonly allowedDomainsSettings?: IapSettingsAccessSettingsAllowedDomainsSettings;
/**
* cors_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#cors_settings IapSettings#cors_settings}
*/
readonly corsSettings?: IapSettingsAccessSettingsCorsSettings;
/**
* gcip_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#gcip_settings IapSettings#gcip_settings}
*/
readonly gcipSettings?: IapSettingsAccessSettingsGcipSettings;
/**
* oauth_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#oauth_settings IapSettings#oauth_settings}
*/
readonly oauthSettings?: IapSettingsAccessSettingsOauthSettings;
/**
* reauth_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#reauth_settings IapSettings#reauth_settings}
*/
readonly reauthSettings?: IapSettingsAccessSettingsReauthSettings;
/**
* workforce_identity_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#workforce_identity_settings IapSettings#workforce_identity_settings}
*/
readonly workforceIdentitySettings?: IapSettingsAccessSettingsWorkforceIdentitySettings;
}
export declare function iapSettingsAccessSettingsToTerraform(struct?: IapSettingsAccessSettingsOutputReference | IapSettingsAccessSettings): any;
export declare function iapSettingsAccessSettingsToHclTerraform(struct?: IapSettingsAccessSettingsOutputReference | IapSettingsAccessSettings): any;
export declare class IapSettingsAccessSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsAccessSettings | undefined;
set internalValue(value: IapSettingsAccessSettings | undefined);
private _identitySources?;
get identitySources(): string[];
set identitySources(value: string[]);
resetIdentitySources(): void;
get identitySourcesInput(): string[] | undefined;
private _allowedDomainsSettings;
get allowedDomainsSettings(): IapSettingsAccessSettingsAllowedDomainsSettingsOutputReference;
putAllowedDomainsSettings(value: IapSettingsAccessSettingsAllowedDomainsSettings): void;
resetAllowedDomainsSettings(): void;
get allowedDomainsSettingsInput(): IapSettingsAccessSettingsAllowedDomainsSettings | undefined;
private _corsSettings;
get corsSettings(): IapSettingsAccessSettingsCorsSettingsOutputReference;
putCorsSettings(value: IapSettingsAccessSettingsCorsSettings): void;
resetCorsSettings(): void;
get corsSettingsInput(): IapSettingsAccessSettingsCorsSettings | undefined;
private _gcipSettings;
get gcipSettings(): IapSettingsAccessSettingsGcipSettingsOutputReference;
putGcipSettings(value: IapSettingsAccessSettingsGcipSettings): void;
resetGcipSettings(): void;
get gcipSettingsInput(): IapSettingsAccessSettingsGcipSettings | undefined;
private _oauthSettings;
get oauthSettings(): IapSettingsAccessSettingsOauthSettingsOutputReference;
putOauthSettings(value: IapSettingsAccessSettingsOauthSettings): void;
resetOauthSettings(): void;
get oauthSettingsInput(): IapSettingsAccessSettingsOauthSettings | undefined;
private _reauthSettings;
get reauthSettings(): IapSettingsAccessSettingsReauthSettingsOutputReference;
putReauthSettings(value: IapSettingsAccessSettingsReauthSettings): void;
resetReauthSettings(): void;
get reauthSettingsInput(): IapSettingsAccessSettingsReauthSettings | undefined;
private _workforceIdentitySettings;
get workforceIdentitySettings(): IapSettingsAccessSettingsWorkforceIdentitySettingsOutputReference;
putWorkforceIdentitySettings(value: IapSettingsAccessSettingsWorkforceIdentitySettings): void;
resetWorkforceIdentitySettings(): void;
get workforceIdentitySettingsInput(): IapSettingsAccessSettingsWorkforceIdentitySettings | undefined;
}
export interface IapSettingsApplicationSettingsAccessDeniedPageSettings {
/**
* The URI to be redirected to when access is denied.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#access_denied_page_uri IapSettings#access_denied_page_uri}
*/
readonly accessDeniedPageUri?: string;
/**
* Whether to generate a troubleshooting URL on access denied events to this application.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#generate_troubleshooting_uri IapSettings#generate_troubleshooting_uri}
*/
readonly generateTroubleshootingUri?: boolean | cdktf.IResolvable;
/**
* Whether to generate remediation token on access denied events to this application.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#remediation_token_generation_enabled IapSettings#remediation_token_generation_enabled}
*/
readonly remediationTokenGenerationEnabled?: boolean | cdktf.IResolvable;
}
export declare function iapSettingsApplicationSettingsAccessDeniedPageSettingsToTerraform(struct?: IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference | IapSettingsApplicationSettingsAccessDeniedPageSettings): any;
export declare function iapSettingsApplicationSettingsAccessDeniedPageSettingsToHclTerraform(struct?: IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference | IapSettingsApplicationSettingsAccessDeniedPageSettings): any;
export declare class IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsApplicationSettingsAccessDeniedPageSettings | undefined;
set internalValue(value: IapSettingsApplicationSettingsAccessDeniedPageSettings | undefined);
private _accessDeniedPageUri?;
get accessDeniedPageUri(): string;
set accessDeniedPageUri(value: string);
resetAccessDeniedPageUri(): void;
get accessDeniedPageUriInput(): string | undefined;
private _generateTroubleshootingUri?;
get generateTroubleshootingUri(): boolean | cdktf.IResolvable;
set generateTroubleshootingUri(value: boolean | cdktf.IResolvable);
resetGenerateTroubleshootingUri(): void;
get generateTroubleshootingUriInput(): boolean | cdktf.IResolvable | undefined;
private _remediationTokenGenerationEnabled?;
get remediationTokenGenerationEnabled(): boolean | cdktf.IResolvable;
set remediationTokenGenerationEnabled(value: boolean | cdktf.IResolvable);
resetRemediationTokenGenerationEnabled(): void;
get remediationTokenGenerationEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface IapSettingsApplicationSettingsAttributePropagationSettings {
/**
* Whether the provided attribute propagation settings should be evaluated on user requests.
* If set to true, attributes returned from the expression will be propagated in the set output credentials.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#enable IapSettings#enable}
*/
readonly enable?: boolean | cdktf.IResolvable;
/**
* Raw string CEL expression. Must return a list of attributes. A maximum of 45 attributes can
* be selected. Expressions can select different attribute types from attributes:
* attributes.saml_attributes, attributes.iap_attributes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#expression IapSettings#expression}
*/
readonly expression?: string;
/**
* Which output credentials attributes selected by the CEL expression should be propagated in.
* All attributes will be fully duplicated in each selected output credential.
* Possible values are:
*
* * 'HEADER': Propagate attributes in the headers with "x-goog-iap-attr-" prefix.
* * 'JWT': Propagate attributes in the JWT of the form:
* "additional_claims": { "my_attribute": ["value1", "value2"] }
* * 'RCTOKEN': Propagate attributes in the RCToken of the form: "
* additional_claims": { "my_attribute": ["value1", "value2"] } Possible values: ["HEADER", "JWT", "RCTOKEN"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#output_credentials IapSettings#output_credentials}
*/
readonly outputCredentials?: string[];
}
export declare function iapSettingsApplicationSettingsAttributePropagationSettingsToTerraform(struct?: IapSettingsApplicationSettingsAttributePropagationSettingsOutputReference | IapSettingsApplicationSettingsAttributePropagationSettings): any;
export declare function iapSettingsApplicationSettingsAttributePropagationSettingsToHclTerraform(struct?: IapSettingsApplicationSettingsAttributePropagationSettingsOutputReference | IapSettingsApplicationSettingsAttributePropagationSettings): any;
export declare class IapSettingsApplicationSettingsAttributePropagationSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsApplicationSettingsAttributePropagationSettings | undefined;
set internalValue(value: IapSettingsApplicationSettingsAttributePropagationSettings | undefined);
private _enable?;
get enable(): boolean | cdktf.IResolvable;
set enable(value: boolean | cdktf.IResolvable);
resetEnable(): void;
get enableInput(): boolean | cdktf.IResolvable | undefined;
private _expression?;
get expression(): string;
set expression(value: string);
resetExpression(): void;
get expressionInput(): string | undefined;
private _outputCredentials?;
get outputCredentials(): string[];
set outputCredentials(value: string[]);
resetOutputCredentials(): void;
get outputCredentialsInput(): string[] | undefined;
}
export interface IapSettingsApplicationSettingsCsmSettings {
/**
* Audience claim set in the generated RCToken. This value is not validated by IAP.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#rctoken_aud IapSettings#rctoken_aud}
*/
readonly rctokenAud?: string;
}
export declare function iapSettingsApplicationSettingsCsmSettingsToTerraform(struct?: IapSettingsApplicationSettingsCsmSettingsOutputReference | IapSettingsApplicationSettingsCsmSettings): any;
export declare function iapSettingsApplicationSettingsCsmSettingsToHclTerraform(struct?: IapSettingsApplicationSettingsCsmSettingsOutputReference | IapSettingsApplicationSettingsCsmSettings): any;
export declare class IapSettingsApplicationSettingsCsmSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsApplicationSettingsCsmSettings | undefined;
set internalValue(value: IapSettingsApplicationSettingsCsmSettings | undefined);
private _rctokenAud?;
get rctokenAud(): string;
set rctokenAud(value: string);
resetRctokenAud(): void;
get rctokenAudInput(): string | undefined;
}
export interface IapSettingsApplicationSettings {
/**
* The Domain value to set for cookies generated by IAP. This value is not validated by the API,
* but will be ignored at runtime if invalid.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#cookie_domain IapSettings#cookie_domain}
*/
readonly cookieDomain?: string;
/**
* access_denied_page_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#access_denied_page_settings IapSettings#access_denied_page_settings}
*/
readonly accessDeniedPageSettings?: IapSettingsApplicationSettingsAccessDeniedPageSettings;
/**
* attribute_propagation_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#attribute_propagation_settings IapSettings#attribute_propagation_settings}
*/
readonly attributePropagationSettings?: IapSettingsApplicationSettingsAttributePropagationSettings;
/**
* csm_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#csm_settings IapSettings#csm_settings}
*/
readonly csmSettings?: IapSettingsApplicationSettingsCsmSettings;
}
export declare function iapSettingsApplicationSettingsToTerraform(struct?: IapSettingsApplicationSettingsOutputReference | IapSettingsApplicationSettings): any;
export declare function iapSettingsApplicationSettingsToHclTerraform(struct?: IapSettingsApplicationSettingsOutputReference | IapSettingsApplicationSettings): any;
export declare class IapSettingsApplicationSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsApplicationSettings | undefined;
set internalValue(value: IapSettingsApplicationSettings | undefined);
private _cookieDomain?;
get cookieDomain(): string;
set cookieDomain(value: string);
resetCookieDomain(): void;
get cookieDomainInput(): string | undefined;
private _accessDeniedPageSettings;
get accessDeniedPageSettings(): IapSettingsApplicationSettingsAccessDeniedPageSettingsOutputReference;
putAccessDeniedPageSettings(value: IapSettingsApplicationSettingsAccessDeniedPageSettings): void;
resetAccessDeniedPageSettings(): void;
get accessDeniedPageSettingsInput(): IapSettingsApplicationSettingsAccessDeniedPageSettings | undefined;
private _attributePropagationSettings;
get attributePropagationSettings(): IapSettingsApplicationSettingsAttributePropagationSettingsOutputReference;
putAttributePropagationSettings(value: IapSettingsApplicationSettingsAttributePropagationSettings): void;
resetAttributePropagationSettings(): void;
get attributePropagationSettingsInput(): IapSettingsApplicationSettingsAttributePropagationSettings | undefined;
private _csmSettings;
get csmSettings(): IapSettingsApplicationSettingsCsmSettingsOutputReference;
putCsmSettings(value: IapSettingsApplicationSettingsCsmSettings): void;
resetCsmSettings(): void;
get csmSettingsInput(): IapSettingsApplicationSettingsCsmSettings | undefined;
}
export interface IapSettingsTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#create IapSettings#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#delete IapSettings#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#update IapSettings#update}
*/
readonly update?: string;
}
export declare function iapSettingsTimeoutsToTerraform(struct?: IapSettingsTimeouts | cdktf.IResolvable): any;
export declare function iapSettingsTimeoutsToHclTerraform(struct?: IapSettingsTimeouts | cdktf.IResolvable): any;
export declare class IapSettingsTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): IapSettingsTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: IapSettingsTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings google_iap_settings}
*/
export declare class IapSettings extends cdktf.TerraformResource {
static readonly tfResourceType = "google_iap_settings";
/**
* Generates CDKTF code for importing a IapSettings 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 IapSettings to import
* @param importFromId The id of the existing IapSettings that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the IapSettings to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/iap_settings google_iap_settings} 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 IapSettingsConfig
*/
constructor(scope: Construct, id: string, config: IapSettingsConfig);
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _accessSettings;
get accessSettings(): IapSettingsAccessSettingsOutputReference;
putAccessSettings(value: IapSettingsAccessSettings): void;
resetAccessSettings(): void;
get accessSettingsInput(): IapSettingsAccessSettings | undefined;
private _applicationSettings;
get applicationSettings(): IapSettingsApplicationSettingsOutputReference;
putApplicationSettings(value: IapSettingsApplicationSettings): void;
resetApplicationSettings(): void;
get applicationSettingsInput(): IapSettingsApplicationSettings | undefined;
private _timeouts;
get timeouts(): IapSettingsTimeoutsOutputReference;
putTimeouts(value: IapSettingsTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | IapSettingsTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}