import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeInstanceIamBindingConfig extends cdktf.TerraformMetaArguments { /** * The ID of the compute `instance` to attach the policy to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding#instance_id ComputeInstanceIamBinding#instance_id} */ readonly instanceId: string; /** * An array of identities that will be granted the privilege in the `role`. Each entry can have one of the following values: * * **userAccount:{user_id}**: A unique user ID that represents a specific Yandex account. * * **serviceAccount:{service_account_id}**: A unique service account ID. * * **federatedUser:{federated_user_id}**: A unique federated user ID. * * **federatedUser:{federated_user_id}:**: A unique SAML federation user account ID. * * **group:{group_id}**: A unique group ID. * * **system:group:federation:{federation_id}:users**: All users in federation. * * **system:group:organization:{organization_id}:users**: All users in organization. * * **system:allAuthenticatedUsers**: All authenticated users. * * **system:allUsers**: All users, including unauthenticated ones. * * ~> for more information about system groups, see [Cloud Documentation](https://yandex.cloud/docs/iam/concepts/access-control/system-group). * * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding#members ComputeInstanceIamBinding#members} */ readonly members: string[]; /** * The role that should be assigned. Only one yandex_compute_instance_iam_binding can be used per role. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding#role ComputeInstanceIamBinding#role} */ readonly role: string; /** * For test purposes, to compensate IAM operations delay * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding#sleep_after ComputeInstanceIamBinding#sleep_after} */ readonly sleepAfter?: number; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding yandex_compute_instance_iam_binding} */ export declare class ComputeInstanceIamBinding extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_compute_instance_iam_binding"; /** * Generates CDKTF code for importing a ComputeInstanceIamBinding 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 ComputeInstanceIamBinding to import * @param importFromId The id of the existing ComputeInstanceIamBinding that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance_iam_binding#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeInstanceIamBinding 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/compute_instance_iam_binding yandex_compute_instance_iam_binding} 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 ComputeInstanceIamBindingConfig */ constructor(scope: Construct, id: string, config: ComputeInstanceIamBindingConfig); private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; private _members?; get members(): string[]; set members(value: string[]); get membersInput(): string[]; private _role?; get role(): string; set role(value: string); get roleInput(): string; private _sleepAfter?; get sleepAfter(): number; set sleepAfter(value: number); resetSleepAfter(): void; get sleepAfterInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }