import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IamOauthClientConfig extends cdktf.TerraformMetaArguments { /** * ID of the folder oauth client belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#folder_id IamOauthClient#folder_id} */ readonly folderId?: string; /** * ID of the OAuthClient resource to return. * To get the oauth client ID, use a [OAuthClientService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.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; /** * Name for the oauth client. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#name IamOauthClient#name} */ readonly name: string; /** * ID of the OAuthClient resource to return. * To get the oauth client ID, use a [OAuthClientService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#oauth_client_id IamOauthClient#oauth_client_id} */ readonly oauthClientId?: string; /** * List of redirect uries allowed for the oauth client. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#redirect_uris IamOauthClient#redirect_uris} */ readonly redirectUris?: string[]; /** * List of oauth scopes requested by the oauth client. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#scopes IamOauthClient#scopes} */ readonly scopes?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#timeouts IamOauthClient#timeouts} */ readonly timeouts?: IamOauthClientTimeouts; } export interface IamOauthClientTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#create IamOauthClient#create} */ readonly create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#delete IamOauthClient#delete} */ readonly delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client#read IamOauthClient#read} */ readonly read?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.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; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client yandex_iam_oauth_client} */ export declare class IamOauthClient extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_iam_oauth_client"; /** * Generates CDKTF code for importing a IamOauthClient resource upon running "cdktf plan " * @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/yandex-cloud/yandex/0.177.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): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/iam_oauth_client yandex_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 _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _oauthClientId?; get oauthClientId(): string; set oauthClientId(value: string); resetOauthClientId(): void; get oauthClientIdInput(): string; private _redirectUris?; get redirectUris(): string[]; set redirectUris(value: string[]); resetRedirectUris(): void; get redirectUrisInput(): string[]; private _scopes?; get scopes(): string[]; set scopes(value: string[]); resetScopes(): void; get scopesInput(): string[]; get status(): any; private _timeouts; get timeouts(): IamOauthClientTimeoutsOutputReference; putTimeouts(value: IamOauthClientTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }