UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

236 lines (235 loc) 11.1 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IamOauthClientConfig extends cdktf.TerraformMetaArguments { /** * Required. The list of OAuth grant types is allowed for the OauthClient. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#allowed_grant_types IamOauthClient#allowed_grant_types} */ readonly allowedGrantTypes: string[]; /** * Required. The list of redirect uris that is allowed to redirect back * when authorization process is completed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#allowed_redirect_uris IamOauthClient#allowed_redirect_uris} */ readonly allowedRedirectUris: string[]; /** * Required. The list of scopes that the OauthClient is allowed to request during * OAuth flows. * * The following scopes are supported: * * * 'https://www.googleapis.com/auth/cloud-platform': See, edit, configure, * and delete your Google Cloud data and see the email address for your Google * Account. * * 'openid': The OAuth client can associate you with your personal * information on Google Cloud. * * 'email': The OAuth client can read a federated identity's email address. * * 'groups': The OAuth client can read a federated identity's groups. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#allowed_scopes IamOauthClient#allowed_scopes} */ readonly allowedScopes: string[]; /** * Immutable. The type of OauthClient. Either public or private. * For private clients, the client secret can be managed using the dedicated * OauthClientCredential resource. * Possible values: * CLIENT_TYPE_UNSPECIFIED * PUBLIC_CLIENT * CONFIDENTIAL_CLIENT * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#client_type IamOauthClient#client_type} */ readonly clientType?: string; /** * A user-specified description of the OauthClient. * * Cannot exceed 256 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#description IamOauthClient#description} */ readonly description?: string; /** * Whether the OauthClient is disabled. You cannot use a disabled OAuth * client. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#disabled IamOauthClient#disabled} */ readonly disabled?: boolean | cdktf.IResolvable; /** * A user-specified display name of the OauthClient. * * Cannot exceed 32 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#display_name IamOauthClient#display_name} */ readonly displayName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#id IamOauthClient#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; /** * Resource ID segment making up resource 'name'. It identifies the resource within its parent collection as described in https://google.aip.dev/122. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#location IamOauthClient#location} */ readonly location: string; /** * Required. The ID to use for the OauthClient, which becomes the final component of * the resource name. This value should be a string of 6 to 63 lowercase * letters, digits, or hyphens. It must start with a letter, and cannot have a * trailing hyphen. The prefix 'gcp-' is reserved for use by Google, and may * not be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#oauth_client_id IamOauthClient#oauth_client_id} */ readonly oauthClientId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#project IamOauthClient#project} */ readonly project?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#timeouts IamOauthClient#timeouts} */ readonly timeouts?: IamOauthClientTimeouts; } export interface IamOauthClientTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#create IamOauthClient#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#delete IamOauthClient#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#update IamOauthClient#update} */ readonly update?: string; } export declare function iamOauthClientTimeoutsToTerraform(struct?: IamOauthClientTimeouts | cdktf.IResolvable): any; export declare function iamOauthClientTimeoutsToHclTerraform(struct?: IamOauthClientTimeouts | cdktf.IResolvable): any; export declare class IamOauthClientTimeoutsOutputReference 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(): IamOauthClientTimeouts | cdktf.IResolvable | undefined; set internalValue(value: IamOauthClientTimeouts | 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.36.0/docs/resources/iam_oauth_client google_iam_oauth_client} */ export declare class IamOauthClient extends cdktf.TerraformResource { static readonly tfResourceType = "google_iam_oauth_client"; /** * Generates CDKTF code for importing a IamOauthClient 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 IamOauthClient to import * @param importFromId The id of the existing IamOauthClient that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/iam_oauth_client#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the IamOauthClient 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.36.0/docs/resources/iam_oauth_client google_iam_oauth_client} 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 IamOauthClientConfig */ constructor(scope: Construct, id: string, config: IamOauthClientConfig); private _allowedGrantTypes?; get allowedGrantTypes(): string[]; set allowedGrantTypes(value: string[]); get allowedGrantTypesInput(): string[] | undefined; private _allowedRedirectUris?; get allowedRedirectUris(): string[]; set allowedRedirectUris(value: string[]); get allowedRedirectUrisInput(): string[] | undefined; private _allowedScopes?; get allowedScopes(): string[]; set allowedScopes(value: string[]); get allowedScopesInput(): string[] | undefined; get clientId(): string; private _clientType?; get clientType(): string; set clientType(value: string); resetClientType(): void; get clientTypeInput(): string | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _disabled?; get disabled(): boolean | cdktf.IResolvable; set disabled(value: boolean | cdktf.IResolvable); resetDisabled(): void; get disabledInput(): boolean | cdktf.IResolvable | undefined; private _displayName?; get displayName(): string; set displayName(value: string); resetDisplayName(): void; get displayNameInput(): string | undefined; get expireTime(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; get name(): string; private _oauthClientId?; get oauthClientId(): string; set oauthClientId(value: string); get oauthClientIdInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get state(): string; private _timeouts; get timeouts(): IamOauthClientTimeoutsOutputReference; putTimeouts(value: IamOauthClientTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | IamOauthClientTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }