import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FunctionIamBindingConfig extends cdktf.TerraformMetaArguments { /** * The ID of the compute `function` to attach the policy to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/function_iam_binding#function_id FunctionIamBinding#function_id} */ readonly functionId: 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/function_iam_binding#members FunctionIamBinding#members} */ readonly members: string[]; /** * The role that should be assigned. Only one yandex_function_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/function_iam_binding#role FunctionIamBinding#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/function_iam_binding#sleep_after FunctionIamBinding#sleep_after} */ readonly sleepAfter?: number; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/function_iam_binding yandex_function_iam_binding} */ export declare class FunctionIamBinding extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_function_iam_binding"; /** * Generates CDKTF code for importing a FunctionIamBinding 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 FunctionIamBinding to import * @param importFromId The id of the existing FunctionIamBinding that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/function_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 FunctionIamBinding 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/function_iam_binding yandex_function_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 FunctionIamBindingConfig */ constructor(scope: Construct, id: string, config: FunctionIamBindingConfig); private _functionId?; get functionId(): string; set functionId(value: string); get functionIdInput(): 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; }; }