UNPKG

@yandex-cloud/nodejs-sdk

Version:
995 lines 106 kB
/// <reference types="node" /> import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { AnonymousAccessFlags, ACL, WebsiteSettings, Versioning, ObjectLock, Encryption, Bucket, Tag, CorsRule, LifecycleRule, BucketStats, HTTPSConfig } from "../../../../yandex/cloud/storage/v1/bucket"; import { FieldMask } from "../../../../google/protobuf/field_mask"; import { Operation } from "../../../../yandex/cloud/operation/operation"; export declare const protobufPackage = "yandex.cloud.storage.v1"; export interface GetBucketRequest { $type: "yandex.cloud.storage.v1.GetBucketRequest"; /** * Name of the bucket to return. * * To get the bucket name, make a [BucketService.List] request. */ name: string; /** * Scope of information about the bucket to return. * * Access to scopes is managed via [Identity and Access Management roles](/docs/storage/security), * bucket [ACL](/docs/storage/concepts/acl) and [policies](/docs/storage/concepts/policy). */ view: GetBucketRequest_View; } export declare enum GetBucketRequest_View { VIEW_UNSPECIFIED = 0, /** * VIEW_BASIC - Returns basic information about a bucket. * * The following fields will _not_ be returned: [Bucket.acl], [Bucket.cors], [Bucket.website_settings], * [Bucket.lifecycle_rules], [Bucket.tags]. */ VIEW_BASIC = 1, /** * VIEW_ACL - Returns basic information and access control list (ACL) for the bucket. * * The following fields will _not_ be returned: [Bucket.cors], [Bucket.website_settings], [Bucket.lifecycle_rules], * [Bucket.tags]. */ VIEW_ACL = 2, /** VIEW_FULL - Returns full information about a bucket. */ VIEW_FULL = 3, UNRECOGNIZED = -1 } export declare function getBucketRequest_ViewFromJSON(object: any): GetBucketRequest_View; export declare function getBucketRequest_ViewToJSON(object: GetBucketRequest_View): string; export interface ListBucketsRequest { $type: "yandex.cloud.storage.v1.ListBucketsRequest"; /** * ID of the folder to list buckets in. * * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; } export interface ListBucketsResponse { $type: "yandex.cloud.storage.v1.ListBucketsResponse"; /** List of buckets in the specified folder. */ buckets: Bucket[]; } export interface CreateBucketRequest { $type: "yandex.cloud.storage.v1.CreateBucketRequest"; /** * Name of the bucket. * * The name must be unique within the platform. For naming limitations and rules, see * [documentation](/docs/storage/concepts/bucket#naming). */ name: string; /** * ID of the folder to create a bucket in. * * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * Default storage class for objects in the bucket. Supported classes are standard storage (`STANDARD`), cold storage * (`COLD`, `STANDARD_IA`, `NEARLINE` all synonyms), and ice storage (`ICE` and `GLACIER` are synonyms). * For details, see [documentation](/docs/storage/concepts/storage-class). */ defaultStorageClass: string; /** * Maximum size of the bucket. * For details, see [documentation](/docs/storage/operations/buckets/limit-max-volume). */ maxSize: number; /** * Flags for configuring public (anonymous) access to the bucket's content and settings. * For details, see [documentation](/docs/storage/concepts/bucket#bucket-access). */ anonymousAccessFlags?: AnonymousAccessFlags; /** * Access control list (ACL) of the bucket. * For details, see [documentation](/docs/storage/concepts/acl). */ acl?: ACL; /** * List of tags for the bucket. * For details, see [documentation](/docs/resource-manager/concepts/labels). */ tags: Tag[]; } export interface CreateBucketMetadata { $type: "yandex.cloud.storage.v1.CreateBucketMetadata"; /** Name of the bucket that is being created. */ name: string; } export interface UpdateBucketRequest { $type: "yandex.cloud.storage.v1.UpdateBucketRequest"; /** * Name of the bucket to update. * * The name cannot be updated. * * To get the bucket name, make a [BucketService.List] request. */ name: string; /** * Update mask that specifies which attributes of the bucket should be updated. * Use * for full update. */ updateMask?: FieldMask; /** * Flags for configuring public (anonymous) access to the bucket's content and settings. * For details, see [documentation](/docs/storage/concepts/bucket#bucket-access). */ anonymousAccessFlags?: AnonymousAccessFlags; /** * Default storage class for objects in the bucket. Supported classes are standard storage (`STANDARD`), cold storage * (`COLD`, `STANDARD_IA`, `NEARLINE` all synonyms), and ice storage (`ICE` and `GLACIER` are synonyms). * For details, see [documentation](/docs/storage/concepts/storage-class). */ defaultStorageClass: string; /** * Maximum size of the bucket, in bytes. * For details, see [documentation](/docs/storage/operations/buckets/limit-max-volume). */ maxSize: number; /** * List of rules for cross-domain requests to objects in the bucket (cross-origin resource sharing, CORS). * For details, see [documentation](/docs/storage/concepts/cors). */ cors: CorsRule[]; /** * Configuration for hosting a static website in the bucket. * For details, see [documentation](/docs/storage/concepts/hosting). */ websiteSettings?: WebsiteSettings; /** * Bucket versioning status. * For details, see [documentation](/docs/storage/concepts/versioning). */ versioning: Versioning; /** * List of object lifecycle rules for the bucket. * For details, see [documentation](/docs/storage/concepts/lifecycles). */ lifecycleRules: LifecycleRule[]; /** * Bucket policies that set permissions for actions with the bucket, its objects, and groups of objects. * For details, see [documentation](/docs/storage/concepts/policy). */ policy?: { [key: string]: any; }; /** * Access control list (ACL) of the bucket. * For details, see [documentation](/docs/storage/concepts/acl). */ acl?: ACL; /** * List of tags for the bucket. * For details, see [documentation](/docs/resource-manager/concepts/labels). */ tags: Tag[]; /** * Configuration for object lock on the bucket. * For details about the concept, see [documentation](/docs/storage/concepts/object-lock). */ objectLock?: ObjectLock; /** * Configuration for bucket's encryption * For detauls, see [documentation](/docs/storage/concepts/encryption) */ encryption?: Encryption; } export interface UpdateBucketMetadata { $type: "yandex.cloud.storage.v1.UpdateBucketMetadata"; /** Name of the bucket that is being updated. */ name: string; } /** DeleteBucketRequest deletes requested bucket from the Cloud. */ export interface DeleteBucketRequest { $type: "yandex.cloud.storage.v1.DeleteBucketRequest"; /** * Name of the bucket to update. * * To get the bucket name, make a [BucketService.List] request. */ name: string; } export interface DeleteBucketMetadata { $type: "yandex.cloud.storage.v1.DeleteBucketMetadata"; /** Name of the bucket that is being deleted. */ name: string; } export interface GetBucketStatsRequest { $type: "yandex.cloud.storage.v1.GetBucketStatsRequest"; /** Name of the bucket to return the statistics for. */ name: string; } export interface GetBucketHTTPSConfigRequest { $type: "yandex.cloud.storage.v1.GetBucketHTTPSConfigRequest"; /** Name of the bucket to return the HTTPS configuration for. */ name: string; } export interface SelfManagedHTTPSConfigParams { $type: "yandex.cloud.storage.v1.SelfManagedHTTPSConfigParams"; /** [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail)-encoded certificate. */ certificatePem: string; /** [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail)-encoded private key for the certificate. */ privateKeyPem: string; } /** A resource for a TLS certificate from Certificate Manager. */ export interface CertificateManagerHTTPSConfigParams { $type: "yandex.cloud.storage.v1.CertificateManagerHTTPSConfigParams"; /** * ID of the certificate. * * To get the list of all available certificates, make a [yandex.cloud.certificatemanager.v1.CertificateService.List] * request. */ certificateId: string; } export interface SetBucketHTTPSConfigRequest { $type: "yandex.cloud.storage.v1.SetBucketHTTPSConfigRequest"; /** Name of the bucket to update the HTTPS configuration for. */ name: string; /** * Your TLS certificate, uploaded directly. * * Object Storage only supports [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail)-encoded certificates. */ selfManaged?: SelfManagedHTTPSConfigParams | undefined; /** * TLS certificate from Certificate Manager. * * To create a certificate in Certificate Manager, make a * [yandex.cloud.certificatemanager.v1.CertificateService.Create] request. */ certificateManager?: CertificateManagerHTTPSConfigParams | undefined; } export interface SetBucketHTTPSConfigMetadata { $type: "yandex.cloud.storage.v1.SetBucketHTTPSConfigMetadata"; /** Name of the bucket the HTTPS configuration is being updated for. */ name: string; } export interface DeleteBucketHTTPSConfigRequest { $type: "yandex.cloud.storage.v1.DeleteBucketHTTPSConfigRequest"; /** Name of the bucket to delete the HTTPS configuration for. */ name: string; } export interface DeleteBucketHTTPSConfigMetadata { $type: "yandex.cloud.storage.v1.DeleteBucketHTTPSConfigMetadata"; /** Name of the bucket the HTTPS configuration is being deleted for. */ name: string; } export declare const GetBucketRequest: { $type: "yandex.cloud.storage.v1.GetBucketRequest"; encode(message: GetBucketRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetBucketRequest; fromJSON(object: any): GetBucketRequest; toJSON(message: GetBucketRequest): unknown; fromPartial<I extends { name?: string | undefined; view?: GetBucketRequest_View | undefined; } & { name?: string | undefined; view?: GetBucketRequest_View | undefined; } & Record<Exclude<keyof I, "$type" | "name" | "view">, never>>(object: I): GetBucketRequest; }; export declare const ListBucketsRequest: { $type: "yandex.cloud.storage.v1.ListBucketsRequest"; encode(message: ListBucketsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListBucketsRequest; fromJSON(object: any): ListBucketsRequest; toJSON(message: ListBucketsRequest): unknown; fromPartial<I extends { folderId?: string | undefined; } & { folderId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "folderId">, never>>(object: I): ListBucketsRequest; }; export declare const ListBucketsResponse: { $type: "yandex.cloud.storage.v1.ListBucketsResponse"; encode(message: ListBucketsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListBucketsResponse; fromJSON(object: any): ListBucketsResponse; toJSON(message: ListBucketsResponse): unknown; fromPartial<I extends { buckets?: { id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; maxSize?: number | undefined; cors?: { id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[] | undefined; tags?: { value?: string | undefined; key?: string | undefined; }[] | undefined; policy?: { [x: string]: any; [x: number]: any; } | undefined; defaultStorageClass?: string | undefined; versioning?: Versioning | undefined; anonymousAccessFlags?: { list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; } | undefined; acl?: { grants?: { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[] | undefined; } | undefined; websiteSettings?: { error?: string | undefined; index?: string | undefined; redirectAllRequests?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } | undefined; routingRules?: { redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[] | undefined; } | undefined; lifecycleRules?: { id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; }[] | undefined; objectLock?: { status?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_ObjectLockStatus | undefined; defaultRetention?: { mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } | undefined; } | undefined; encryption?: { rules?: { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[] | undefined; } | undefined; }[] | undefined; } & { buckets?: ({ id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; maxSize?: number | undefined; cors?: { id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[] | undefined; tags?: { value?: string | undefined; key?: string | undefined; }[] | undefined; policy?: { [x: string]: any; [x: number]: any; } | undefined; defaultStorageClass?: string | undefined; versioning?: Versioning | undefined; anonymousAccessFlags?: { list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; } | undefined; acl?: { grants?: { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[] | undefined; } | undefined; websiteSettings?: { error?: string | undefined; index?: string | undefined; redirectAllRequests?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } | undefined; routingRules?: { redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[] | undefined; } | undefined; lifecycleRules?: { id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; }[] | undefined; objectLock?: { status?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_ObjectLockStatus | undefined; defaultRetention?: { mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } | undefined; } | undefined; encryption?: { rules?: { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[] | undefined; } | undefined; }[] & ({ id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; maxSize?: number | undefined; cors?: { id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[] | undefined; tags?: { value?: string | undefined; key?: string | undefined; }[] | undefined; policy?: { [x: string]: any; [x: number]: any; } | undefined; defaultStorageClass?: string | undefined; versioning?: Versioning | undefined; anonymousAccessFlags?: { list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; } | undefined; acl?: { grants?: { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[] | undefined; } | undefined; websiteSettings?: { error?: string | undefined; index?: string | undefined; redirectAllRequests?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } | undefined; routingRules?: { redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[] | undefined; } | undefined; lifecycleRules?: { id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; }[] | undefined; objectLock?: { status?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_ObjectLockStatus | undefined; defaultRetention?: { mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } | undefined; } | undefined; encryption?: { rules?: { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[] | undefined; } | undefined; } & { id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; maxSize?: number | undefined; cors?: ({ id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[] & ({ id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; } & { id?: string | undefined; allowedMethods?: (import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] & import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] & Record<Exclude<keyof I["buckets"][number]["cors"][number]["allowedMethods"], "$type" | keyof import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[]>, never>) | undefined; allowedHeaders?: (string[] & string[] & Record<Exclude<keyof I["buckets"][number]["cors"][number]["allowedHeaders"], "$type" | keyof string[]>, never>) | undefined; allowedOrigins?: (string[] & string[] & Record<Exclude<keyof I["buckets"][number]["cors"][number]["allowedOrigins"], "$type" | keyof string[]>, never>) | undefined; exposeHeaders?: (string[] & string[] & Record<Exclude<keyof I["buckets"][number]["cors"][number]["exposeHeaders"], "$type" | keyof string[]>, never>) | undefined; maxAgeSeconds?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["cors"][number], "$type" | "id" | "allowedMethods" | "allowedHeaders" | "allowedOrigins" | "exposeHeaders" | "maxAgeSeconds">, never>)[] & Record<Exclude<keyof I["buckets"][number]["cors"], "$type" | keyof { id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[]>, never>) | undefined; tags?: ({ value?: string | undefined; key?: string | undefined; }[] & ({ value?: string | undefined; key?: string | undefined; } & { value?: string | undefined; key?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["tags"][number], "$type" | "value" | "key">, never>)[] & Record<Exclude<keyof I["buckets"][number]["tags"], "$type" | keyof { value?: string | undefined; key?: string | undefined; }[]>, never>) | undefined; policy?: ({ [x: string]: any; [x: number]: any; } & { [x: string]: any; [x: number]: any; } & Record<Exclude<keyof I["buckets"][number]["policy"], string | number>, never>) | undefined; defaultStorageClass?: string | undefined; versioning?: Versioning | undefined; anonymousAccessFlags?: ({ list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; } & { list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; } & Record<Exclude<keyof I["buckets"][number]["anonymousAccessFlags"], "$type" | "list" | "read" | "configRead">, never>) | undefined; acl?: ({ grants?: { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[] | undefined; } & { grants?: ({ permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[] & ({ permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; } & { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["acl"]["grants"][number], "$type" | "permission" | "grantType" | "granteeId">, never>)[] & Record<Exclude<keyof I["buckets"][number]["acl"]["grants"], "$type" | keyof { permission?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_Permission | undefined; grantType?: import("../../../../yandex/cloud/storage/v1/bucket").ACL_Grant_GrantType | undefined; granteeId?: string | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["acl"], "$type" | "grants">, never>) | undefined; websiteSettings?: ({ error?: string | undefined; index?: string | undefined; redirectAllRequests?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } | undefined; routingRules?: { redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[] | undefined; } & { error?: string | undefined; index?: string | undefined; redirectAllRequests?: ({ hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } & { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; } & Record<Exclude<keyof I["buckets"][number]["websiteSettings"]["redirectAllRequests"], "$type" | "hostname" | "protocol">, never>) | undefined; routingRules?: ({ redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[] & ({ redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; } & { redirect?: ({ hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } & { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["websiteSettings"]["routingRules"][number]["redirect"], "$type" | "hostname" | "protocol" | "httpRedirectCode" | "replaceKeyPrefixWith" | "replaceKeyWith">, never>) | undefined; condition?: ({ httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } & { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["websiteSettings"]["routingRules"][number]["condition"], "$type" | "httpErrorCodeReturnedEquals" | "keyPrefixEquals">, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["websiteSettings"]["routingRules"][number], "$type" | "redirect" | "condition">, never>)[] & Record<Exclude<keyof I["buckets"][number]["websiteSettings"]["routingRules"], "$type" | keyof { redirect?: { hostname?: string | undefined; protocol?: import("../../../../yandex/cloud/storage/v1/bucket").WebsiteSettings_Protocol | undefined; httpRedirectCode?: string | undefined; replaceKeyPrefixWith?: string | undefined; replaceKeyWith?: string | undefined; } | undefined; condition?: { httpErrorCodeReturnedEquals?: string | undefined; keyPrefixEquals?: string | undefined; } | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["websiteSettings"], "$type" | "error" | "index" | "redirectAllRequests" | "routingRules">, never>) | undefined; lifecycleRules?: ({ id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; }[] & ({ id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; } & { id?: string | undefined; filter?: ({ prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } & { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["filter"], "$type" | "prefix" | "objectSizeGreaterThan" | "objectSizeLessThan">, never>) | undefined; enabled?: boolean | undefined; expiration?: ({ days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } & { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["expiration"], "$type" | "days" | "date" | "expiredObjectDeleteMarker">, never>) | undefined; transitions?: ({ days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] & ({ days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; } & { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["transitions"][number], "$type" | "days" | "date" | "storageClass">, never>)[] & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["transitions"], "$type" | keyof { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[]>, never>) | undefined; abortIncompleteMultipartUpload?: ({ daysAfterExpiration?: number | undefined; } & { daysAfterExpiration?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["abortIncompleteMultipartUpload"], "$type" | "daysAfterExpiration">, never>) | undefined; noncurrentExpiration?: ({ noncurrentDays?: number | undefined; } & { noncurrentDays?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["noncurrentExpiration"], "$type" | "noncurrentDays">, never>) | undefined; noncurrentTransitions?: ({ storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] & ({ storageClass?: string | undefined; noncurrentDays?: number | undefined; } & { storageClass?: string | undefined; noncurrentDays?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["noncurrentTransitions"][number], "$type" | "storageClass" | "noncurrentDays">, never>)[] & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number]["noncurrentTransitions"], "$type" | keyof { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"][number], "$type" | "id" | "filter" | "enabled" | "expiration" | "transitions" | "abortIncompleteMultipartUpload" | "noncurrentExpiration" | "noncurrentTransitions">, never>)[] & Record<Exclude<keyof I["buckets"][number]["lifecycleRules"], "$type" | keyof { id?: string | undefined; filter?: { prefix?: string | undefined; objectSizeGreaterThan?: number | undefined; objectSizeLessThan?: number | undefined; } | undefined; enabled?: boolean | undefined; expiration?: { days?: number | undefined; date?: Date | undefined; expiredObjectDeleteMarker?: boolean | undefined; } | undefined; transitions?: { days?: number | undefined; date?: Date | undefined; storageClass?: string | undefined; }[] | undefined; abortIncompleteMultipartUpload?: { daysAfterExpiration?: number | undefined; } | undefined; noncurrentExpiration?: { noncurrentDays?: number | undefined; } | undefined; noncurrentTransitions?: { storageClass?: string | undefined; noncurrentDays?: number | undefined; }[] | undefined; }[]>, never>) | undefined; objectLock?: ({ status?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_ObjectLockStatus | undefined; defaultRetention?: { mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } | undefined; } & { status?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_ObjectLockStatus | undefined; defaultRetention?: ({ mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } & { mode?: import("../../../../yandex/cloud/storage/v1/bucket").ObjectLock_DefaultRetention_Mode | undefined; days?: number | undefined; years?: number | undefined; } & Record<Exclude<keyof I["buckets"][number]["objectLock"]["defaultRetention"], "$type" | "mode" | "days" | "years">, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["objectLock"], "$type" | "status" | "defaultRetention">, never>) | undefined; encryption?: ({ rules?: { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[] | undefined; } & { rules?: ({ kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[] & ({ kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; } & { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; } & Record<Exclude<keyof I["buckets"][number]["encryption"]["rules"][number], "$type" | "kmsMasterKeyId" | "sseAlgorithm">, never>)[] & Record<Exclude<keyof I["buckets"][number]["encryption"]["rules"], "$type" | keyof { kmsMasterKeyId?: string | undefined; sseAlgorithm?: string | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number]["encryption"], "$type" | "rules">, never>) | undefined; } & Record<Exclude<keyof I["buckets"][number], "$type" | "id" | "name" | "createdAt" | "folderId" | "maxSize" | "cors" | "tags" | "policy" | "defaultStorageClass" | "versioning" | "anonymousAccessFlags" | "acl" | "websiteSettings" | "lifecycleRules" | "objectLock" | "encryption">, never>)[] & Record<Exclude<keyof I["buckets"], "$type" | keyof { id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; maxSize?: number | undefined; cors?: { id?: string | undefined; allowedMethods?: import("../../../../yandex/cloud/storage/v1/bucket").CorsRule_Method[] | undefined; allowedHeaders?: string[] | undefined; allowedOrigins?: string[] | undefined; exposeHeaders?: string[] | undefined; maxAgeSeconds?: number | undefined; }[] | undefined; tags?: { value?: string | undefined; key?: string | undefined; }[] | undefined; policy?: { [x: string]: any; [x: number]: any; } | undefined; defaultStorageClass?: string | undefined; versioning?: Versioning | undefined; anonymousAccessFlags?: { list?: boolean | undefined; read?: boolean | undefined; configRead?: boolean | undefined; }