UNPKG

googleapis

Version:
1,364 lines 195 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Cloud Storage JSON API * * Stores and retrieves potentially large, immutable data objects. * * @example * const google = require('googleapis'); * const storage = google.storage('v1'); * * @namespace storage * @type {Function} * @version v1 * @variation v1 * @param {object=} options Options for Storage */ export declare class Storage { _options: GlobalOptions; google: GoogleApis; root: this; bucketAccessControls: Resource$Bucketaccesscontrols; buckets: Resource$Buckets; channels: Resource$Channels; defaultObjectAccessControls: Resource$Defaultobjectaccesscontrols; notifications: Resource$Notifications; objectAccessControls: Resource$Objectaccesscontrols; objects: Resource$Objects; projects: Resource$Projects; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } /** * A bucket. */ export interface Schema$Bucket { /** * Access controls on the bucket. */ acl: Schema$BucketAccessControl[]; /** * The bucket&#39;s billing configuration. */ billing: any; /** * The bucket&#39;s Cross-Origin Resource Sharing (CORS) configuration. */ cors: any[]; /** * Defines the default value for Event-Based hold on newly created objects in * this bucket. Event-Based hold is a way to retain objects indefinitely until * an event occurs, signified by the hold&#39;s release. After being released, * such objects will be subject to bucket-level retention (if any). One sample * use case of this flag is for banks to hold loan documents for at least 3 * years after loan is paid in full. Here bucket-level retention is 3 years * and the event is loan being paid in full. In this example these objects * will be held intact for any number of years until the event has occurred * (hold is released) and then 3 more years after that. Objects under * Event-Based hold cannot be deleted, overwritten or archived until the hold * is removed. */ defaultEventBasedHold: boolean; /** * Default access controls to apply to new objects when no ACL is provided. */ defaultObjectAcl: Schema$ObjectAccessControl[]; /** * Encryption configuration used by default for newly inserted objects, when * no encryption config is specified. */ encryption: any; /** * HTTP 1.1 Entity tag for the bucket. */ etag: string; /** * The ID of the bucket. For buckets, the id and name properties are the same. */ id: string; /** * The kind of item this is. For buckets, this is always storage#bucket. */ kind: string; /** * User-provided labels, in key/value pairs. */ labels: any; /** * The bucket&#39;s lifecycle configuration. See lifecycle management for more * information. */ lifecycle: any; /** * The location of the bucket. Object data for objects in the bucket resides * in physical storage within this region. Defaults to US. See the * developer&#39;s guide for the authoritative list. */ location: string; /** * The bucket&#39;s logging configuration, which defines the destination * bucket and optional name prefix for the current bucket&#39;s logs. */ logging: any; /** * The metadata generation of this bucket. */ metageneration: string; /** * The name of the bucket. */ name: string; /** * The owner of the bucket. This is always the project team&#39;s owner group. */ owner: any; /** * The project number of the project the bucket belongs to. */ projectNumber: string; /** * Defines the retention policy for a bucket. The Retention policy enforces a * minimum retention time for all objects contained in the bucket, based on * their creation time. Any attempt to overwrite or delete objects younger * than the retention period will result in a PERMISSION_DENIED error. An * unlocked retention policy can be modified or removed from the bucket via * the UpdateBucketMetadata RPC. A locked retention policy cannot be removed * or shortened in duration for the lifetime of the bucket. Attempting to * remove or decrease period of a locked retention policy will result in a * PERMISSION_DENIED error. */ retentionPolicy: any; /** * The URI of this bucket. */ selfLink: string; /** * The bucket&#39;s default storage class, used whenever no storageClass is * specified for a newly-created object. This defines how objects in the * bucket are stored and determines the SLA and the cost of storage. Values * include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, and * DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the * bucket is created, it will default to STANDARD. For more information, see * storage classes. */ storageClass: string; /** * The creation time of the bucket in RFC 3339 format. */ timeCreated: string; /** * The modification time of the bucket in RFC 3339 format. */ updated: string; /** * The bucket&#39;s versioning configuration. */ versioning: any; /** * The bucket&#39;s website configuration, controlling how the service behaves * when accessing bucket contents as a web site. See the Static Website * Examples for more information. */ website: any; } /** * An access-control entry. */ export interface Schema$BucketAccessControl { /** * The name of the bucket. */ bucket: string; /** * The domain associated with the entity, if any. */ domain: string; /** * The email address associated with the entity, if any. */ email: string; /** * The entity holding the permission, in one of the following forms: - * user-userId - user-email - group-groupId - group-email - domain-domain * - project-team-projectId - allUsers - allAuthenticatedUsers Examples: - * The user liz@example.com would be user-liz@example.com. - The group * example@googlegroups.com would be group-example@googlegroups.com. - To * refer to all members of the Google Apps for Business domain example.com, * the entity would be domain-example.com. */ entity: string; /** * The ID for the entity, if any. */ entityId: string; /** * HTTP 1.1 Entity tag for the access-control entry. */ etag: string; /** * The ID of the access-control entry. */ id: string; /** * The kind of item this is. For bucket access control entries, this is always * storage#bucketAccessControl. */ kind: string; /** * The project team associated with the entity, if any. */ projectTeam: any; /** * The access permission for the entity. */ role: string; /** * The link to this access-control entry. */ selfLink: string; } /** * An access-control list. */ export interface Schema$BucketAccessControls { /** * The list of items. */ items: Schema$BucketAccessControl[]; /** * The kind of item this is. For lists of bucket access control entries, this * is always storage#bucketAccessControls. */ kind: string; } /** * A list of buckets. */ export interface Schema$Buckets { /** * The list of items. */ items: Schema$Bucket[]; /** * The kind of item this is. For lists of buckets, this is always * storage#buckets. */ kind: string; /** * The continuation token, used to page through large result sets. Provide * this value in a subsequent request to return the next page of results. */ nextPageToken: string; } /** * An notification channel used to watch for resource changes. */ export interface Schema$Channel { /** * The address where notifications are delivered for this channel. */ address: string; /** * Date and time of notification channel expiration, expressed as a Unix * timestamp, in milliseconds. Optional. */ expiration: string; /** * A UUID or similar unique string that identifies this channel. */ id: string; /** * Identifies this as a notification channel used to watch for changes to a * resource. Value: the fixed string &quot;api#channel&quot;. */ kind: string; /** * Additional parameters controlling delivery channel behavior. Optional. */ params: any; /** * A Boolean value to indicate whether payload is wanted. Optional. */ payload: boolean; /** * An opaque ID that identifies the resource being watched on this channel. * Stable across different API versions. */ resourceId: string; /** * A version-specific identifier for the watched resource. */ resourceUri: string; /** * An arbitrary string delivered to the target address with each notification * delivered over this channel. Optional. */ token: string; /** * The type of delivery mechanism used for this channel. */ type: string; } /** * A Compose request. */ export interface Schema$ComposeRequest { /** * Properties of the resulting object. */ destination: Schema$Object; /** * The kind of item this is. */ kind: string; /** * The list of source objects that will be concatenated into a single object. */ sourceObjects: any[]; } /** * A subscription to receive Google PubSub notifications. */ export interface Schema$Notification { /** * An optional list of additional attributes to attach to each Cloud PubSub * message published for this notification subscription. */ custom_attributes: any; /** * HTTP 1.1 Entity tag for this subscription notification. */ etag: string; /** * If present, only send notifications about listed event types. If empty, * sent notifications for all event types. */ event_types: string[]; /** * The ID of the notification. */ id: string; /** * The kind of item this is. For notifications, this is always * storage#notification. */ kind: string; /** * If present, only apply this notification configuration to object names that * begin with this prefix. */ object_name_prefix: string; /** * The desired content of the Payload. */ payload_format: string; /** * The canonical URL of this notification. */ selfLink: string; /** * The Cloud PubSub topic to which this subscription publishes. Formatted as: * &#39;//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}&#39; */ topic: string; } /** * A list of notification subscriptions. */ export interface Schema$Notifications { /** * The list of items. */ items: Schema$Notification[]; /** * The kind of item this is. For lists of notifications, this is always * storage#notifications. */ kind: string; } /** * An object. */ export interface Schema$Object { /** * Access controls on the object. */ acl: Schema$ObjectAccessControl[]; /** * The name of the bucket containing this object. */ bucket: string; /** * Cache-Control directive for the object data. If omitted, and the object is * accessible to all anonymous users, the default will be public, * max-age=3600. */ cacheControl: string; /** * Number of underlying components that make up this object. Components are * accumulated by compose operations. */ componentCount: number; /** * Content-Disposition of the object data. */ contentDisposition: string; /** * Content-Encoding of the object data. */ contentEncoding: string; /** * Content-Language of the object data. */ contentLanguage: string; /** * Content-Type of the object data. If an object is stored without a * Content-Type, it is served as application/octet-stream. */ contentType: string; /** * CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 * in big-endian byte order. For more information about using the CRC32c * checksum, see Hashes and ETags: Best Practices. */ crc32c: string; /** * Metadata of customer-supplied encryption key, if the object is encrypted by * such a key. */ customerEncryption: any; /** * HTTP 1.1 Entity tag for the object. */ etag: string; /** * Defines the Event-Based hold for an object. Event-Based hold is a way to * retain objects indefinitely until an event occurs, signified by the * hold&#39;s release. After being released, such objects will be subject to * bucket-level retention (if any). One sample use case of this flag is for * banks to hold loan documents for at least 3 years after loan is paid in * full. Here bucket-level retention is 3 years and the event is loan being * paid in full. In this example these objects will be held intact for any * number of years until the event has occurred (hold is released) and then 3 * more years after that. */ eventBasedHold: boolean; /** * The content generation of this object. Used for object versioning. */ generation: string; /** * The ID of the object, including the bucket name, object name, and * generation number. */ id: string; /** * The kind of item this is. For objects, this is always storage#object. */ kind: string; /** * Cloud KMS Key used to encrypt this object, if the object is encrypted by * such a key. Limited availability; usable only by enabled projects. */ kmsKeyName: string; /** * MD5 hash of the data; encoded using base64. For more information about * using the MD5 hash, see Hashes and ETags: Best Practices. */ md5Hash: string; /** * Media download link. */ mediaLink: string; /** * User-provided metadata, in key/value pairs. */ metadata: any; /** * The version of the metadata for this object at this generation. Used for * preconditions and for detecting changes in metadata. A metageneration * number is only meaningful in the context of a particular generation of a * particular object. */ metageneration: string; /** * The name of the object. Required if not specified by URL parameter. */ name: string; /** * The owner of the object. This will always be the uploader of the object. */ owner: any; /** * Specifies the earliest time that the object&#39;s retention period expires. * This value is server-determined and is in RFC 3339 format. Note 1: This * field is not provided for objects with an active Event-Based hold, since * retention expiration is unknown until the hold is removed. Note 2: This * value can be provided even when TemporaryHold is set (so that the user can * reason about policy without having to first unset the TemporaryHold). */ retentionExpirationTime: string; /** * The link to this object. */ selfLink: string; /** * Content-Length of the data in bytes. */ size: string; /** * Storage class of the object. */ storageClass: string; /** * Defines the temporary hold for an object. This flag is used to enforce a * temporary hold on an object. While it is set to true, the object is * protected against deletion and overwrites. A common use case of this flag * is regulatory investigations where objects need to be retained while the * investigation is ongoing. */ temporaryHold: boolean; /** * The creation time of the object in RFC 3339 format. */ timeCreated: string; /** * The deletion time of the object in RFC 3339 format. Will be returned if and * only if this version of the object has been deleted. */ timeDeleted: string; /** * The time at which the object&#39;s storage class was last changed. When the * object is initially created, it will be set to timeCreated. */ timeStorageClassUpdated: string; /** * The modification time of the object metadata in RFC 3339 format. */ updated: string; } /** * An access-control entry. */ export interface Schema$ObjectAccessControl { /** * The name of the bucket. */ bucket: string; /** * The domain associated with the entity, if any. */ domain: string; /** * The email address associated with the entity, if any. */ email: string; /** * The entity holding the permission, in one of the following forms: - * user-userId - user-email - group-groupId - group-email - domain-domain * - project-team-projectId - allUsers - allAuthenticatedUsers Examples: - * The user liz@example.com would be user-liz@example.com. - The group * example@googlegroups.com would be group-example@googlegroups.com. - To * refer to all members of the Google Apps for Business domain example.com, * the entity would be domain-example.com. */ entity: string; /** * The ID for the entity, if any. */ entityId: string; /** * HTTP 1.1 Entity tag for the access-control entry. */ etag: string; /** * The content generation of the object, if applied to an object. */ generation: string; /** * The ID of the access-control entry. */ id: string; /** * The kind of item this is. For object access control entries, this is always * storage#objectAccessControl. */ kind: string; /** * The name of the object, if applied to an object. */ object: string; /** * The project team associated with the entity, if any. */ projectTeam: any; /** * The access permission for the entity. */ role: string; /** * The link to this access-control entry. */ selfLink: string; } /** * An access-control list. */ export interface Schema$ObjectAccessControls { /** * The list of items. */ items: Schema$ObjectAccessControl[]; /** * The kind of item this is. For lists of object access control entries, this * is always storage#objectAccessControls. */ kind: string; } /** * A list of objects. */ export interface Schema$Objects { /** * The list of items. */ items: Schema$Object[]; /** * The kind of item this is. For lists of objects, this is always * storage#objects. */ kind: string; /** * The continuation token, used to page through large result sets. Provide * this value in a subsequent request to return the next page of results. */ nextPageToken: string; /** * The list of prefixes of objects matching-but-not-listed up to and including * the requested delimiter. */ prefixes: string[]; } /** * A bucket/object IAM policy. */ export interface Schema$Policy { /** * An association between a role, which comes with a set of permissions, and * members who may assume that role. */ bindings: any[]; /** * HTTP 1.1 Entity tag for the policy. */ etag: string; /** * The kind of item this is. For policies, this is always storage#policy. This * field is ignored on input. */ kind: string; /** * The ID of the resource to which this policy belongs. Will be of the form * projects/_/buckets/bucket for buckets, and * projects/_/buckets/bucket/objects/object for objects. A specific generation * may be specified by appending #generationNumber to the end of the object * name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current * generation can be denoted with #0. This field is ignored on input. */ resourceId: string; } /** * A rewrite response. */ export interface Schema$RewriteResponse { /** * true if the copy is finished; otherwise, false if the copy is in progress. * This property is always present in the response. */ done: boolean; /** * The kind of item this is. */ kind: string; /** * The total size of the object being copied in bytes. This property is always * present in the response. */ objectSize: string; /** * A resource containing the metadata for the copied-to object. This property * is present in the response only when copying completes. */ resource: Schema$Object; /** * A token to use in subsequent requests to continue copying data. This token * is present in the response only when there is more data to copy. */ rewriteToken: string; /** * The total bytes written so far, which can be used to provide a waiting user * with a progress indicator. This property is always present in the response. */ totalBytesRewritten: string; } /** * A subscription to receive Google PubSub notifications. */ export interface Schema$ServiceAccount { /** * The ID of the notification. */ email_address: string; /** * The kind of item this is. For notifications, this is always * storage#notification. */ kind: string; } /** * A storage.(buckets|objects).testIamPermissions response. */ export interface Schema$TestIamPermissionsResponse { /** * The kind of item this is. */ kind: string; /** * The permissions held by the caller. Permissions are always of the format * storage.resource.capability, where resource is one of buckets or objects. * The supported permissions are as follows: - storage.buckets.delete — * Delete bucket. - storage.buckets.get — Read bucket metadata. - * storage.buckets.getIamPolicy — Read bucket IAM policy. - * storage.buckets.create — Create bucket. - storage.buckets.list — List * buckets. - storage.buckets.setIamPolicy — Update bucket IAM policy. - * storage.buckets.update — Update bucket metadata. - storage.objects.delete * — Delete object. - storage.objects.get — Read object data and metadata. * - storage.objects.getIamPolicy — Read object IAM policy. - * storage.objects.create — Create object. - storage.objects.list — List * objects. - storage.objects.setIamPolicy — Update object IAM policy. - * storage.objects.update — Update object metadata. */ permissions: string[]; } export declare class Resource$Bucketaccesscontrols { root: Storage; constructor(root: Storage); getRoot(): Storage; /** * storage.bucketAccessControls.delete * @desc Permanently deletes the ACL entry for the specified entity on the * specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * // The entity holding the permission. Can be user-userId, * user-emailAddress, group-groupId, * // group-emailAddress, allUsers, or allAuthenticatedUsers. * entity: 'my-entity', // TODO: Update placeholder value. * * auth: authClient, * }; * * storage.bucketAccessControls.delete(request, function(err) { * if (err) { * console.error(err); * return; * } * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.delete * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ delete(params?: any, options?: MethodOptions): AxiosPromise<void>; delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; /** * storage.bucketAccessControls.get * @desc Returns the ACL entry for the specified entity on the specified * bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * // The entity holding the permission. Can be user-userId, * user-emailAddress, group-groupId, * // group-emailAddress, allUsers, or allAuthenticatedUsers. * entity: 'my-entity', // TODO: Update placeholder value. * * auth: authClient, * }; * * storage.bucketAccessControls.get(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$BucketAccessControl>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$BucketAccessControl>, callback?: BodyResponseCallback<Schema$BucketAccessControl>): void; /** * storage.bucketAccessControls.insert * @desc Creates a new ACL entry on the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * resource: { * // TODO: Add desired properties to the request body. * }, * * auth: authClient, * }; * * storage.bucketAccessControls.insert(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.insert * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {().BucketAccessControl} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ insert(params?: any, options?: MethodOptions): AxiosPromise<Schema$BucketAccessControl>; insert(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$BucketAccessControl>, callback?: BodyResponseCallback<Schema$BucketAccessControl>): void; /** * storage.bucketAccessControls.list * @desc Retrieves ACL entries on the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * auth: authClient, * }; * * storage.bucketAccessControls.list(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.list * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ list(params?: any, options?: MethodOptions): AxiosPromise<Schema$BucketAccessControls>; list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$BucketAccessControls>, callback?: BodyResponseCallback<Schema$BucketAccessControls>): void; /** * storage.bucketAccessControls.patch * @desc Patches an ACL entry on the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * // The entity holding the permission. Can be user-userId, * user-emailAddress, group-groupId, * // group-emailAddress, allUsers, or allAuthenticatedUsers. * entity: 'my-entity', // TODO: Update placeholder value. * * resource: { * // TODO: Add desired properties to the request body. Only these * properties * // will be changed. * }, * * auth: authClient, * }; * * storage.bucketAccessControls.patch(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.patch * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {().BucketAccessControl} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ patch(params?: any, options?: MethodOptions): AxiosPromise<Schema$BucketAccessControl>; patch(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$BucketAccessControl>, callback?: BodyResponseCallback<Schema$BucketAccessControl>): void; /** * storage.bucketAccessControls.update * @desc Updates an ACL entry on the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * // The entity holding the permission. Can be user-userId, * user-emailAddress, group-groupId, * // group-emailAddress, allUsers, or allAuthenticatedUsers. * entity: 'my-entity', // TODO: Update placeholder value. * * resource: { * // TODO: Add desired properties to the request body. All existing * properties * // will be replaced. * }, * * auth: authClient, * }; * * storage.bucketAccessControls.update(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.bucketAccessControls.update * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string} params.entity The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {().BucketAccessControl} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ update(params?: any, options?: MethodOptions): AxiosPromise<Schema$BucketAccessControl>; update(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$BucketAccessControl>, callback?: BodyResponseCallback<Schema$BucketAccessControl>): void; } export declare class Resource$Buckets { root: Storage; constructor(root: Storage); getRoot(): Storage; /** * storage.buckets.delete * @desc Permanently deletes an empty bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * auth: authClient, * }; * * storage.buckets.delete(request, function(err) { * if (err) { * console.error(err); * return; * } * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.buckets.delete * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string=} params.ifMetagenerationMatch If set, only deletes the bucket if its metageneration matches this value. * @param {string=} params.ifMetagenerationNotMatch If set, only deletes the bucket if its metageneration does not match this value. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ delete(params?: any, options?: MethodOptions): AxiosPromise<void>; delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; /** * storage.buckets.get * @desc Returns metadata for the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/application-default-credentials * // 3. Install the Node.js client library by running * // `npm install googleapis --save` * * var google = require('googleapis'); * var storage = google.storage('v1'); * * authorize(function(authClient) { * var request = { * // Name of a bucket. * bucket: 'my-bucket', // TODO: Update placeholder value. * * auth: authClient, * }; * * storage.buckets.get(request, function(err, response) { * if (err) { * console.error(err); * return; * } * * // TODO: Change code below to process the `response` object: * console.log(JSON.stringify(response, null, 2)); * }); * }); * * function authorize(callback) { * google.auth.getApplicationDefault(function(err, authClient) { * if (err) { * console.error('authentication failed: ', err); * return; * } * if (authClient.createScopedRequired && * authClient.createScopedRequired()) { var scopes = * ['https://www.googleapis.com/auth/cloud-platform']; authClient = * authClient.createScoped(scopes); * } * callback(authClient); * }); * } * @alias storage.buckets.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.bucket Name of a bucket. * @param {string=} params.ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. * @param {string=} params.ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. * @param {string=} params.projection Set of properties to return. Defaults to noAcl. * @param {string=} params.userProject The project to be billed for this request. Required for Requester Pays buckets. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Bucket>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Bucket>, callback?: BodyResponseCallback<Schema$Bucket>): void; /** * storage.buckets.getIamPolicy * @desc Returns an IAM policy for the specified bucket. * @example * * // BEFORE RUNNING: * // --------------- * // 1. If not already done, enable the Cloud Storage JSON API * // and check the quota for your project at * // https://console.developers.google.com/apis/api/storage * // 2. This sample uses Application Default Credentials for authentication. * // If not already done, install the gcloud CLI from * // https://cloud.google.com/sdk and run * // `gcloud beta auth application-default login`. * // For more information, see * // * https://developers.google.com/identity/protocols/app