import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface StorageBucketIamBindingConfig extends cdktf.TerraformMetaArguments { /** * The name of the Object Storage (S3) bucket to attach the policy to. This resource should be used for managing [Service roles](https://yandex.cloud/docs/storage/security/#service-roles) only. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket_iam_binding#bucket StorageBucketIamBinding#bucket} */ readonly bucket: 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/storage_bucket_iam_binding#members StorageBucketIamBinding#members} */ readonly members: string[]; /** * The role that should be assigned. Only one yandex_storage_bucket_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/storage_bucket_iam_binding#role StorageBucketIamBinding#role} */ readonly role: string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket_iam_binding yandex_storage_bucket_iam_binding} */ export declare class StorageBucketIamBinding extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_storage_bucket_iam_binding"; /** * Generates CDKTF code for importing a StorageBucketIamBinding 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 StorageBucketIamBinding to import * @param importFromId The id of the existing StorageBucketIamBinding that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket_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 StorageBucketIamBinding 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/storage_bucket_iam_binding yandex_storage_bucket_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 StorageBucketIamBindingConfig */ constructor(scope: Construct, id: string, config: StorageBucketIamBindingConfig); private _bucket?; get bucket(): string; set bucket(value: string); get bucketInput(): 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; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }