Class StorageClient

java.lang.Object
com.google.storage.v2.StorageClient
All Implemented Interfaces:
com.google.api.gax.core.BackgroundResource, AutoCloseable

@Generated("by gapic-generator-java") public class StorageClient extends Object implements com.google.api.gax.core.BackgroundResource
Service Description: ## API Overview and Naming Syntax

The Cloud Storage gRPC API allows applications to read and write data through the abstractions of buckets and objects. For a description of these abstractions please see https://cloud.google.com/storage/docs.

Resources are named as follows: - Projects are referred to as they are defined by the Resource Manager API, using strings like `projects/123456` or `projects/my-string-id`. - Buckets are named using string names of the form: `projects/{project}/buckets/{bucket}` For globally unique buckets, `_` may be substituted for the project. - Objects are uniquely identified by their name along with the name of the bucket they belong to, as separate strings in this API. For example:

ReadObjectRequest { bucket: 'projects/_/buckets/my-bucket' object: 'my-object' } Note that object names can contain `/` characters, which are treated as any other character (no special directory semantics).

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (StorageClient storageClient = StorageClient.create()) {
   BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
   storageClient.deleteBucket(name);
 }
 

Note: close() needs to be called on the StorageClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of StorageSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 StorageSettings storageSettings =
     StorageSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 StorageClient storageClient = StorageClient.create(storageSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 StorageSettings storageSettings = StorageSettings.newBuilder().setEndpoint(myEndpoint).build();
 StorageClient storageClient = StorageClient.create(storageSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

  • Constructor Details

    • StorageClient

      protected StorageClient(StorageSettings settings) throws IOException
      Constructs an instance of StorageClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
      Throws:
      IOException
    • StorageClient

      protected StorageClient(StorageStub stub)
  • Method Details

    • create

      public static final StorageClient create() throws IOException
      Constructs an instance of StorageClient with default settings.
      Throws:
      IOException
    • create

      public static final StorageClient create(StorageSettings settings) throws IOException
      Constructs an instance of StorageClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
      Throws:
      IOException
    • create

      public static final StorageClient create(StorageStub stub)
      Constructs an instance of StorageClient, using the given stub for making calls. This is for advanced usage - prefer using create(StorageSettings).
    • getSettings

      public final StorageSettings getSettings()
    • getStub

      public StorageStub getStub()
    • deleteBucket

      public final void deleteBucket(BucketName name)
      Permanently deletes an empty bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
         storageClient.deleteBucket(name);
       }
       
      Parameters:
      name - Required. Name of a bucket to delete.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteBucket

      public final void deleteBucket(String name)
      Permanently deletes an empty bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String name = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         storageClient.deleteBucket(name);
       }
       
      Parameters:
      name - Required. Name of a bucket to delete.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteBucket

      public final void deleteBucket(DeleteBucketRequest request)
      Permanently deletes an empty bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteBucketRequest request =
             DeleteBucketRequest.newBuilder()
                 .setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .build();
         storageClient.deleteBucket(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteBucketCallable

      public final com.google.api.gax.rpc.UnaryCallable<DeleteBucketRequest,com.google.protobuf.Empty> deleteBucketCallable()
      Permanently deletes an empty bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteBucketRequest request =
             DeleteBucketRequest.newBuilder()
                 .setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .build();
         ApiFuture<Empty> future = storageClient.deleteBucketCallable().futureCall(request);
         // Do something.
         future.get();
       }
       
    • getBucket

      public final Bucket getBucket(BucketName name)
      Returns metadata for the specified bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
         Bucket response = storageClient.getBucket(name);
       }
       
      Parameters:
      name - Required. Name of a bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getBucket

      public final Bucket getBucket(String name)
      Returns metadata for the specified bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String name = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         Bucket response = storageClient.getBucket(name);
       }
       
      Parameters:
      name - Required. Name of a bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getBucket

      public final Bucket getBucket(GetBucketRequest request)
      Returns metadata for the specified bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetBucketRequest request =
             GetBucketRequest.newBuilder()
                 .setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         Bucket response = storageClient.getBucket(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getBucketCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetBucketRequest,Bucket> getBucketCallable()
      Returns metadata for the specified bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetBucketRequest request =
             GetBucketRequest.newBuilder()
                 .setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Bucket> future = storageClient.getBucketCallable().futureCall(request);
         // Do something.
         Bucket response = future.get();
       }
       
    • createBucket

      public final Bucket createBucket(ProjectName parent, Bucket bucket, String bucketId)
      Creates a new bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ProjectName parent = ProjectName.of("[PROJECT]");
         Bucket bucket = Bucket.newBuilder().build();
         String bucketId = "bucketId-1603305307";
         Bucket response = storageClient.createBucket(parent, bucket, bucketId);
       }
       
      Parameters:
      parent - Required. The project to which this bucket will belong.
      bucket - Properties of the new bucket being inserted. The name of the bucket is specified in the `bucket_id` field. Populating `bucket.name` field will result in an error. The project of the bucket must be specified in the `bucket.project` field. This field must be in `projects/{projectIdentifier}` format, {projectIdentifier} can be the project ID or project number. The `parent` field must be either empty or `projects/_`.
      bucketId - Required. The ID to use for this bucket, which will become the final component of the bucket's resource name. For example, the value `foo` might result in a bucket with the name `projects/123456/buckets/foo`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createBucket

      public final Bucket createBucket(String parent, Bucket bucket, String bucketId)
      Creates a new bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String parent = ProjectName.of("[PROJECT]").toString();
         Bucket bucket = Bucket.newBuilder().build();
         String bucketId = "bucketId-1603305307";
         Bucket response = storageClient.createBucket(parent, bucket, bucketId);
       }
       
      Parameters:
      parent - Required. The project to which this bucket will belong.
      bucket - Properties of the new bucket being inserted. The name of the bucket is specified in the `bucket_id` field. Populating `bucket.name` field will result in an error. The project of the bucket must be specified in the `bucket.project` field. This field must be in `projects/{projectIdentifier}` format, {projectIdentifier} can be the project ID or project number. The `parent` field must be either empty or `projects/_`.
      bucketId - Required. The ID to use for this bucket, which will become the final component of the bucket's resource name. For example, the value `foo` might result in a bucket with the name `projects/123456/buckets/foo`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createBucket

      public final Bucket createBucket(CreateBucketRequest request)
      Creates a new bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateBucketRequest request =
             CreateBucketRequest.newBuilder()
                 .setParent(ProjectName.of("[PROJECT]").toString())
                 .setBucket(Bucket.newBuilder().build())
                 .setBucketId("bucketId-1603305307")
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
                 .build();
         Bucket response = storageClient.createBucket(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createBucketCallable

      public final com.google.api.gax.rpc.UnaryCallable<CreateBucketRequest,Bucket> createBucketCallable()
      Creates a new bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateBucketRequest request =
             CreateBucketRequest.newBuilder()
                 .setParent(ProjectName.of("[PROJECT]").toString())
                 .setBucket(Bucket.newBuilder().build())
                 .setBucketId("bucketId-1603305307")
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
                 .build();
         ApiFuture<Bucket> future = storageClient.createBucketCallable().futureCall(request);
         // Do something.
         Bucket response = future.get();
       }
       
    • listBuckets

      public final StorageClient.ListBucketsPagedResponse listBuckets(ProjectName parent)
      Retrieves a list of buckets for a given project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ProjectName parent = ProjectName.of("[PROJECT]");
         for (Bucket element : storageClient.listBuckets(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. The project whose buckets we are listing.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listBuckets

      public final StorageClient.ListBucketsPagedResponse listBuckets(String parent)
      Retrieves a list of buckets for a given project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String parent = ProjectName.of("[PROJECT]").toString();
         for (Bucket element : storageClient.listBuckets(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. The project whose buckets we are listing.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listBuckets

      public final StorageClient.ListBucketsPagedResponse listBuckets(ListBucketsRequest request)
      Retrieves a list of buckets for a given project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListBucketsRequest request =
             ListBucketsRequest.newBuilder()
                 .setParent(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setPrefix("prefix-980110702")
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         for (Bucket element : storageClient.listBuckets(request).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listBucketsPagedCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListBucketsRequest,StorageClient.ListBucketsPagedResponse> listBucketsPagedCallable()
      Retrieves a list of buckets for a given project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListBucketsRequest request =
             ListBucketsRequest.newBuilder()
                 .setParent(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setPrefix("prefix-980110702")
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Bucket> future = storageClient.listBucketsPagedCallable().futureCall(request);
         // Do something.
         for (Bucket element : future.get().iterateAll()) {
           // doThingsWith(element);
         }
       }
       
    • listBucketsCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListBucketsRequest,ListBucketsResponse> listBucketsCallable()
      Retrieves a list of buckets for a given project.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListBucketsRequest request =
             ListBucketsRequest.newBuilder()
                 .setParent(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setPrefix("prefix-980110702")
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         while (true) {
           ListBucketsResponse response = storageClient.listBucketsCallable().call(request);
           for (Bucket element : response.getBucketsList()) {
             // doThingsWith(element);
           }
           String nextPageToken = response.getNextPageToken();
           if (!Strings.isNullOrEmpty(nextPageToken)) {
             request = request.toBuilder().setPageToken(nextPageToken).build();
           } else {
             break;
           }
         }
       }
       
    • lockBucketRetentionPolicy

      public final Bucket lockBucketRetentionPolicy(BucketName bucket)
      Locks retention policy on a bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         Bucket response = storageClient.lockBucketRetentionPolicy(bucket);
       }
       
      Parameters:
      bucket - Required. Name of a bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • lockBucketRetentionPolicy

      public final Bucket lockBucketRetentionPolicy(String bucket)
      Locks retention policy on a bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         Bucket response = storageClient.lockBucketRetentionPolicy(bucket);
       }
       
      Parameters:
      bucket - Required. Name of a bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • lockBucketRetentionPolicy

      public final Bucket lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request)
      Locks retention policy on a bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         LockBucketRetentionPolicyRequest request =
             LockBucketRetentionPolicyRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .build();
         Bucket response = storageClient.lockBucketRetentionPolicy(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • lockBucketRetentionPolicyCallable

      public final com.google.api.gax.rpc.UnaryCallable<LockBucketRetentionPolicyRequest,Bucket> lockBucketRetentionPolicyCallable()
      Locks retention policy on a bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         LockBucketRetentionPolicyRequest request =
             LockBucketRetentionPolicyRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setIfMetagenerationMatch(1043427781)
                 .build();
         ApiFuture<Bucket> future =
             storageClient.lockBucketRetentionPolicyCallable().futureCall(request);
         // Do something.
         Bucket response = future.get();
       }
       
    • getIamPolicy

      public final com.google.iam.v1.Policy getIamPolicy(com.google.api.resourcenames.ResourceName resource)
      Gets the IAM policy for a specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ResourceName resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
         Policy response = storageClient.getIamPolicy(resource);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getIamPolicy

      public final com.google.iam.v1.Policy getIamPolicy(String resource)
      Gets the IAM policy for a specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
         Policy response = storageClient.getIamPolicy(resource);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getIamPolicy

      public final com.google.iam.v1.Policy getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
      Gets the IAM policy for a specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetIamPolicyRequest request =
             GetIamPolicyRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setOptions(GetPolicyOptions.newBuilder().build())
                 .build();
         Policy response = storageClient.getIamPolicy(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getIamPolicyCallable

      public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> getIamPolicyCallable()
      Gets the IAM policy for a specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetIamPolicyRequest request =
             GetIamPolicyRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setOptions(GetPolicyOptions.newBuilder().build())
                 .build();
         ApiFuture<Policy> future = storageClient.getIamPolicyCallable().futureCall(request);
         // Do something.
         Policy response = future.get();
       }
       
    • setIamPolicy

      public final com.google.iam.v1.Policy setIamPolicy(com.google.api.resourcenames.ResourceName resource, com.google.iam.v1.Policy policy)
      Updates an IAM policy for the specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ResourceName resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
         Policy policy = Policy.newBuilder().build();
         Policy response = storageClient.setIamPolicy(resource, policy);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
      policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • setIamPolicy

      public final com.google.iam.v1.Policy setIamPolicy(String resource, com.google.iam.v1.Policy policy)
      Updates an IAM policy for the specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
         Policy policy = Policy.newBuilder().build();
         Policy response = storageClient.setIamPolicy(resource, policy);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
      policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • setIamPolicy

      public final com.google.iam.v1.Policy setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
      Updates an IAM policy for the specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         SetIamPolicyRequest request =
             SetIamPolicyRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setPolicy(Policy.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         Policy response = storageClient.setIamPolicy(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • setIamPolicyCallable

      public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> setIamPolicyCallable()
      Updates an IAM policy for the specified bucket or object. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         SetIamPolicyRequest request =
             SetIamPolicyRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setPolicy(Policy.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Policy> future = storageClient.setIamPolicyCallable().futureCall(request);
         // Do something.
         Policy response = future.get();
       }
       
    • testIamPermissions

      public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.api.resourcenames.ResourceName resource, List<String> permissions)
      Tests a set of permissions on the given bucket or object to see which, if any, are held by the caller. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ResourceName resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
         List<String> permissions = new ArrayList<>();
         TestIamPermissionsResponse response = storageClient.testIamPermissions(resource, permissions);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.
      permissions - The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • testIamPermissions

      public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
      Tests a set of permissions on the given bucket or object to see which, if any, are held by the caller. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String resource =
             CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
         List<String> permissions = new ArrayList<>();
         TestIamPermissionsResponse response = storageClient.testIamPermissions(resource, permissions);
       }
       
      Parameters:
      resource - REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.
      permissions - The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • testIamPermissions

      public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request)
      Tests a set of permissions on the given bucket or object to see which, if any, are held by the caller. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         TestIamPermissionsRequest request =
             TestIamPermissionsRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .addAllPermissions(new ArrayList<String>())
                 .build();
         TestIamPermissionsResponse response = storageClient.testIamPermissions(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • testIamPermissionsCallable

      public final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> testIamPermissionsCallable()
      Tests a set of permissions on the given bucket or object to see which, if any, are held by the caller. The `resource` field in the request should be `projects/_/buckets/{bucket}` for a bucket or `projects/_/buckets/{bucket}/objects/{object}` for an object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         TestIamPermissionsRequest request =
             TestIamPermissionsRequest.newBuilder()
                 .setResource(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .addAllPermissions(new ArrayList<String>())
                 .build();
         ApiFuture<TestIamPermissionsResponse> future =
             storageClient.testIamPermissionsCallable().futureCall(request);
         // Do something.
         TestIamPermissionsResponse response = future.get();
       }
       
    • updateBucket

      public final Bucket updateBucket(Bucket bucket, com.google.protobuf.FieldMask updateMask)
      Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         Bucket bucket = Bucket.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         Bucket response = storageClient.updateBucket(bucket, updateMask);
       }
       
      Parameters:
      bucket - Required. The bucket to update. The bucket's `name` field will be used to identify the bucket.
      updateMask - Required. List of fields to be updated.

      To specify ALL fields, equivalent to the JSON API's "update" function, specify a single field with the value `*`. Note: not recommended. If a new field is introduced at a later time, an older client updating with the `*` may accidentally reset the new field's value.

      Not specifying any fields is an error.

      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateBucket

      public final Bucket updateBucket(UpdateBucketRequest request)
      Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateBucketRequest request =
             UpdateBucketRequest.newBuilder()
                 .setBucket(Bucket.newBuilder().build())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         Bucket response = storageClient.updateBucket(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateBucketCallable

      public final com.google.api.gax.rpc.UnaryCallable<UpdateBucketRequest,Bucket> updateBucketCallable()
      Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateBucketRequest request =
             UpdateBucketRequest.newBuilder()
                 .setBucket(Bucket.newBuilder().build())
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Bucket> future = storageClient.updateBucketCallable().futureCall(request);
         // Do something.
         Bucket response = future.get();
       }
       
    • deleteNotificationConfig

      public final void deleteNotificationConfig(NotificationConfigName name)
      Permanently deletes a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         NotificationConfigName name =
             NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]");
         storageClient.deleteNotificationConfig(name);
       }
       
      Parameters:
      name - Required. The parent bucket of the NotificationConfig.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteNotificationConfig

      public final void deleteNotificationConfig(String name)
      Permanently deletes a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String name =
             NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]").toString();
         storageClient.deleteNotificationConfig(name);
       }
       
      Parameters:
      name - Required. The parent bucket of the NotificationConfig.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteNotificationConfig

      public final void deleteNotificationConfig(DeleteNotificationConfigRequest request)
      Permanently deletes a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteNotificationConfigRequest request =
             DeleteNotificationConfigRequest.newBuilder()
                 .setName(
                     NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]")
                         .toString())
                 .build();
         storageClient.deleteNotificationConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteNotificationConfigCallable

      public final com.google.api.gax.rpc.UnaryCallable<DeleteNotificationConfigRequest,com.google.protobuf.Empty> deleteNotificationConfigCallable()
      Permanently deletes a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteNotificationConfigRequest request =
             DeleteNotificationConfigRequest.newBuilder()
                 .setName(
                     NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]")
                         .toString())
                 .build();
         ApiFuture<Empty> future =
             storageClient.deleteNotificationConfigCallable().futureCall(request);
         // Do something.
         future.get();
       }
       
    • getNotificationConfig

      public final NotificationConfig getNotificationConfig(NotificationConfigName name)
      View a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         NotificationConfigName name =
             NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]");
         NotificationConfig response = storageClient.getNotificationConfig(name);
       }
       
      Parameters:
      name - Required. The parent bucket of the NotificationConfig. Format: `projects/{project}/buckets/{bucket}/notificationConfigs/{notificationConfig}`
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getNotificationConfig

      public final NotificationConfig getNotificationConfig(String name)
      View a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String name =
             NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]").toString();
         NotificationConfig response = storageClient.getNotificationConfig(name);
       }
       
      Parameters:
      name - Required. The parent bucket of the NotificationConfig. Format: `projects/{project}/buckets/{bucket}/notificationConfigs/{notificationConfig}`
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getNotificationConfig

      public final NotificationConfig getNotificationConfig(GetNotificationConfigRequest request)
      View a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetNotificationConfigRequest request =
             GetNotificationConfigRequest.newBuilder()
                 .setName(
                     NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]")
                         .toString())
                 .build();
         NotificationConfig response = storageClient.getNotificationConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getNotificationConfigCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetNotificationConfigRequest,NotificationConfig> getNotificationConfigCallable()
      View a NotificationConfig.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetNotificationConfigRequest request =
             GetNotificationConfigRequest.newBuilder()
                 .setName(
                     NotificationConfigName.of("[PROJECT]", "[BUCKET]", "[NOTIFICATION_CONFIG]")
                         .toString())
                 .build();
         ApiFuture<NotificationConfig> future =
             storageClient.getNotificationConfigCallable().futureCall(request);
         // Do something.
         NotificationConfig response = future.get();
       }
       
    • createNotificationConfig

      public final NotificationConfig createNotificationConfig(BucketName parent, NotificationConfig notificationConfig)
      Creates a NotificationConfig for a given bucket. These NotificationConfigs, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName parent = BucketName.of("[PROJECT]", "[BUCKET]");
         NotificationConfig notificationConfig = NotificationConfig.newBuilder().build();
         NotificationConfig response =
             storageClient.createNotificationConfig(parent, notificationConfig);
       }
       
      Parameters:
      parent - Required. The bucket to which this NotificationConfig belongs.
      notificationConfig - Required. Properties of the NotificationConfig to be inserted.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createNotificationConfig

      public final NotificationConfig createNotificationConfig(String parent, NotificationConfig notificationConfig)
      Creates a NotificationConfig for a given bucket. These NotificationConfigs, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String parent = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         NotificationConfig notificationConfig = NotificationConfig.newBuilder().build();
         NotificationConfig response =
             storageClient.createNotificationConfig(parent, notificationConfig);
       }
       
      Parameters:
      parent - Required. The bucket to which this NotificationConfig belongs.
      notificationConfig - Required. Properties of the NotificationConfig to be inserted.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createNotificationConfig

      public final NotificationConfig createNotificationConfig(CreateNotificationConfigRequest request)
      Creates a NotificationConfig for a given bucket. These NotificationConfigs, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateNotificationConfigRequest request =
             CreateNotificationConfigRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setNotificationConfig(NotificationConfig.newBuilder().build())
                 .build();
         NotificationConfig response = storageClient.createNotificationConfig(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createNotificationConfigCallable

      public final com.google.api.gax.rpc.UnaryCallable<CreateNotificationConfigRequest,NotificationConfig> createNotificationConfigCallable()
      Creates a NotificationConfig for a given bucket. These NotificationConfigs, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateNotificationConfigRequest request =
             CreateNotificationConfigRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setNotificationConfig(NotificationConfig.newBuilder().build())
                 .build();
         ApiFuture<NotificationConfig> future =
             storageClient.createNotificationConfigCallable().futureCall(request);
         // Do something.
         NotificationConfig response = future.get();
       }
       
    • listNotificationConfigs

      public final StorageClient.ListNotificationConfigsPagedResponse listNotificationConfigs(BucketName parent)
      Retrieves a list of NotificationConfigs for a given bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName parent = BucketName.of("[PROJECT]", "[BUCKET]");
         for (NotificationConfig element :
             storageClient.listNotificationConfigs(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. Name of a Google Cloud Storage bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listNotificationConfigs

      public final StorageClient.ListNotificationConfigsPagedResponse listNotificationConfigs(String parent)
      Retrieves a list of NotificationConfigs for a given bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String parent = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         for (NotificationConfig element :
             storageClient.listNotificationConfigs(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. Name of a Google Cloud Storage bucket.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listNotificationConfigs

      Retrieves a list of NotificationConfigs for a given bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListNotificationConfigsRequest request =
             ListNotificationConfigsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         for (NotificationConfig element :
             storageClient.listNotificationConfigs(request).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listNotificationConfigsPagedCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListNotificationConfigsRequest,StorageClient.ListNotificationConfigsPagedResponse> listNotificationConfigsPagedCallable()
      Retrieves a list of NotificationConfigs for a given bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListNotificationConfigsRequest request =
             ListNotificationConfigsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         ApiFuture<NotificationConfig> future =
             storageClient.listNotificationConfigsPagedCallable().futureCall(request);
         // Do something.
         for (NotificationConfig element : future.get().iterateAll()) {
           // doThingsWith(element);
         }
       }
       
    • listNotificationConfigsCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListNotificationConfigsRequest,ListNotificationConfigsResponse> listNotificationConfigsCallable()
      Retrieves a list of NotificationConfigs for a given bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListNotificationConfigsRequest request =
             ListNotificationConfigsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .build();
         while (true) {
           ListNotificationConfigsResponse response =
               storageClient.listNotificationConfigsCallable().call(request);
           for (NotificationConfig element : response.getNotificationConfigsList()) {
             // doThingsWith(element);
           }
           String nextPageToken = response.getNextPageToken();
           if (!Strings.isNullOrEmpty(nextPageToken)) {
             request = request.toBuilder().setPageToken(nextPageToken).build();
           } else {
             break;
           }
         }
       }
       
    • composeObject

      public final Object composeObject(ComposeObjectRequest request)
      Concatenates a list of existing objects into a new object in the same bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ComposeObjectRequest request =
             ComposeObjectRequest.newBuilder()
                 .setDestination(Object.newBuilder().build())
                 .addAllSourceObjects(new ArrayList<ComposeObjectRequest.SourceObject>())
                 .setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
                 .setIfGenerationMatch(-1086241088)
                 .setIfMetagenerationMatch(1043427781)
                 .setKmsKey(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         Object response = storageClient.composeObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • composeObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<ComposeObjectRequest,Object> composeObjectCallable()
      Concatenates a list of existing objects into a new object in the same bucket.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ComposeObjectRequest request =
             ComposeObjectRequest.newBuilder()
                 .setDestination(Object.newBuilder().build())
                 .addAllSourceObjects(new ArrayList<ComposeObjectRequest.SourceObject>())
                 .setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
                 .setIfGenerationMatch(-1086241088)
                 .setIfMetagenerationMatch(1043427781)
                 .setKmsKey(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         ApiFuture<Object> future = storageClient.composeObjectCallable().futureCall(request);
         // Do something.
         Object response = future.get();
       }
       
    • deleteObject

      public final void deleteObject(BucketName bucket, String object)
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         String object = "object-1023368385";
         storageClient.deleteObject(bucket, object);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the finalized object to delete. Note: If you want to delete an unfinalized resumable upload please use `CancelResumableWrite`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteObject

      public final void deleteObject(String bucket, String object)
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         String object = "object-1023368385";
         storageClient.deleteObject(bucket, object);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the finalized object to delete. Note: If you want to delete an unfinalized resumable upload please use `CancelResumableWrite`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteObject

      public final void deleteObject(BucketName bucket, String object, long generation)
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         String object = "object-1023368385";
         long generation = 305703192;
         storageClient.deleteObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the finalized object to delete. Note: If you want to delete an unfinalized resumable upload please use `CancelResumableWrite`.
      generation - If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteObject

      public final void deleteObject(String bucket, String object, long generation)
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         String object = "object-1023368385";
         long generation = 305703192;
         storageClient.deleteObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the finalized object to delete. Note: If you want to delete an unfinalized resumable upload please use `CancelResumableWrite`.
      generation - If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteObject

      public final void deleteObject(DeleteObjectRequest request)
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteObjectRequest request =
             DeleteObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         storageClient.deleteObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<DeleteObjectRequest,com.google.protobuf.Empty> deleteObjectCallable()
      Deletes an object and its metadata.

      Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteObjectRequest request =
             DeleteObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         ApiFuture<Empty> future = storageClient.deleteObjectCallable().futureCall(request);
         // Do something.
         future.get();
       }
       
    • restoreObject

      public final Object restoreObject(BucketName bucket, String object, long generation)
      Restores a soft-deleted object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         String object = "object-1023368385";
         long generation = 305703192;
         Object response = storageClient.restoreObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the object to restore.
      generation - Required. The specific revision of the object to restore.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • restoreObject

      public final Object restoreObject(String bucket, String object, long generation)
      Restores a soft-deleted object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         String object = "object-1023368385";
         long generation = 305703192;
         Object response = storageClient.restoreObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. The name of the object to restore.
      generation - Required. The specific revision of the object to restore.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • restoreObject

      public final Object restoreObject(RestoreObjectRequest request)
      Restores a soft-deleted object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         RestoreObjectRequest request =
             RestoreObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCopySourceAcl(true)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         Object response = storageClient.restoreObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • restoreObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<RestoreObjectRequest,Object> restoreObjectCallable()
      Restores a soft-deleted object.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         RestoreObjectRequest request =
             RestoreObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCopySourceAcl(true)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         ApiFuture<Object> future = storageClient.restoreObjectCallable().futureCall(request);
         // Do something.
         Object response = future.get();
       }
       
    • cancelResumableWrite

      public final CancelResumableWriteResponse cancelResumableWrite(String uploadId)
      Cancels an in-progress resumable upload.

      Any attempts to write to the resumable upload after cancelling the upload will fail.

      The behavior for currently in progress write operations is not guaranteed - they could either complete before the cancellation or fail if the cancellation completes first.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String uploadId = "uploadId1563990780";
         CancelResumableWriteResponse response = storageClient.cancelResumableWrite(uploadId);
       }
       
      Parameters:
      uploadId - Required. The upload_id of the resumable upload to cancel. This should be copied from the `upload_id` field of `StartResumableWriteResponse`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • cancelResumableWrite

      public final CancelResumableWriteResponse cancelResumableWrite(CancelResumableWriteRequest request)
      Cancels an in-progress resumable upload.

      Any attempts to write to the resumable upload after cancelling the upload will fail.

      The behavior for currently in progress write operations is not guaranteed - they could either complete before the cancellation or fail if the cancellation completes first.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CancelResumableWriteRequest request =
             CancelResumableWriteRequest.newBuilder().setUploadId("uploadId1563990780").build();
         CancelResumableWriteResponse response = storageClient.cancelResumableWrite(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • cancelResumableWriteCallable

      public final com.google.api.gax.rpc.UnaryCallable<CancelResumableWriteRequest,CancelResumableWriteResponse> cancelResumableWriteCallable()
      Cancels an in-progress resumable upload.

      Any attempts to write to the resumable upload after cancelling the upload will fail.

      The behavior for currently in progress write operations is not guaranteed - they could either complete before the cancellation or fail if the cancellation completes first.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CancelResumableWriteRequest request =
             CancelResumableWriteRequest.newBuilder().setUploadId("uploadId1563990780").build();
         ApiFuture<CancelResumableWriteResponse> future =
             storageClient.cancelResumableWriteCallable().futureCall(request);
         // Do something.
         CancelResumableWriteResponse response = future.get();
       }
       
    • getObject

      public final Object getObject(BucketName bucket, String object)
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         String object = "object-1023368385";
         Object response = storageClient.getObject(bucket, object);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. Name of the object.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getObject

      public final Object getObject(String bucket, String object)
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         String object = "object-1023368385";
         Object response = storageClient.getObject(bucket, object);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. Name of the object.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getObject

      public final Object getObject(BucketName bucket, String object, long generation)
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
         String object = "object-1023368385";
         long generation = 305703192;
         Object response = storageClient.getObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. Name of the object.
      generation - If present, selects a specific revision of this object (as opposed to the latest version, the default).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getObject

      public final Object getObject(String bucket, String object, long generation)
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         String object = "object-1023368385";
         long generation = 305703192;
         Object response = storageClient.getObject(bucket, object, generation);
       }
       
      Parameters:
      bucket - Required. Name of the bucket in which the object resides.
      object - Required. Name of the object.
      generation - If present, selects a specific revision of this object (as opposed to the latest version, the default).
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getObject

      public final Object getObject(GetObjectRequest request)
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetObjectRequest request =
             GetObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setSoftDeleted(true)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         Object response = storageClient.getObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetObjectRequest,Object> getObjectCallable()
      Retrieves an object's metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetObjectRequest request =
             GetObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setSoftDeleted(true)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<Object> future = storageClient.getObjectCallable().futureCall(request);
         // Do something.
         Object response = future.get();
       }
       
    • readObjectCallable

      public final com.google.api.gax.rpc.ServerStreamingCallable<ReadObjectRequest,ReadObjectResponse> readObjectCallable()
      Reads an object's data.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ReadObjectRequest request =
             ReadObjectRequest.newBuilder()
                 .setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setObject("object-1023368385")
                 .setGeneration(305703192)
                 .setReadOffset(-715377828)
                 .setReadLimit(-164298798)
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setReadMask(FieldMask.newBuilder().build())
                 .build();
         ServerStream<ReadObjectResponse> stream = storageClient.readObjectCallable().call(request);
         for (ReadObjectResponse response : stream) {
           // Do something when a response is received.
         }
       }
       
    • updateObject

      public final Object updateObject(Object object, com.google.protobuf.FieldMask updateMask)
      Updates an object's metadata. Equivalent to JSON API's storage.objects.patch.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         Object object = Object.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         Object response = storageClient.updateObject(object, updateMask);
       }
       
      Parameters:
      object - Required. The object to update. The object's bucket and name fields are used to identify the object to update. If present, the object's generation field selects a specific revision of this object whose metadata should be updated. Otherwise, assumes the live version of the object.
      updateMask - Required. List of fields to be updated.

      To specify ALL fields, equivalent to the JSON API's "update" function, specify a single field with the value `*`. Note: not recommended. If a new field is introduced at a later time, an older client updating with the `*` may accidentally reset the new field's value.

      Not specifying any fields is an error.

      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateObject

      public final Object updateObject(UpdateObjectRequest request)
      Updates an object's metadata. Equivalent to JSON API's storage.objects.patch.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateObjectRequest request =
             UpdateObjectRequest.newBuilder()
                 .setObject(Object.newBuilder().build())
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         Object response = storageClient.updateObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<UpdateObjectRequest,Object> updateObjectCallable()
      Updates an object's metadata. Equivalent to JSON API's storage.objects.patch.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateObjectRequest request =
             UpdateObjectRequest.newBuilder()
                 .setObject(Object.newBuilder().build())
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setPredefinedAcl("predefinedAcl1207041188")
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         ApiFuture<Object> future = storageClient.updateObjectCallable().futureCall(request);
         // Do something.
         Object response = future.get();
       }
       
    • writeObjectCallable

      public final com.google.api.gax.rpc.ClientStreamingCallable<WriteObjectRequest,WriteObjectResponse> writeObjectCallable()
      Stores a new object and metadata.

      An object can be written either in a single message stream or in a resumable sequence of message streams. To write using a single stream, the client should include in the first message of the stream an `WriteObjectSpec` describing the destination bucket, object, and any preconditions. Additionally, the final message must set 'finish_write' to true, or else it is an error.

      For a resumable write, the client should instead call `StartResumableWrite()`, populating a `WriteObjectSpec` into that request. They should then attach the returned `upload_id` to the first message of each following call to `WriteObject`. If the stream is closed before finishing the upload (either explicitly by the client or due to a network error or an error response from the server), the client should do as follows: - Check the result Status of the stream, to determine if writing can be resumed on this stream or must be restarted from scratch (by calling `StartResumableWrite()`). The resumable errors are DEADLINE_EXCEEDED, INTERNAL, and UNAVAILABLE. For each case, the client should use binary exponential backoff before retrying. Additionally, writes can be resumed after RESOURCE_EXHAUSTED errors, but only after taking appropriate measures, which may include reducing aggregate send rate across clients and/or requesting a quota increase for your project. - If the call to `WriteObject` returns `ABORTED`, that indicates concurrent attempts to update the resumable write, caused either by multiple racing clients or by a single client where the previous request was timed out on the client side but nonetheless reached the server. In this case the client should take steps to prevent further concurrent writes (e.g., increase the timeouts, stop using more than one process to perform the upload, etc.), and then should follow the steps below for resuming the upload. - For resumable errors, the client should call `QueryWriteStatus()` and then continue writing from the returned `persisted_size`. This may be less than the amount of data the client previously sent. Note also that it is acceptable to send data starting at an offset earlier than the returned `persisted_size`; in this case, the service will skip data at offsets that were already persisted (without checking that it matches the previously written data), and write only the data starting from the persisted offset. Even though the data isn't written, it may still incur a performance cost over resuming at the correct write offset. This behavior can make client-side handling simpler in some cases. - Clients must only send data that is a multiple of 256 KiB per message, unless the object is being finished with `finish_write` set to `true`.

      The service will not view the object as complete until the client has sent a `WriteObjectRequest` with `finish_write` set to `true`. Sending any requests on a stream after sending a request with `finish_write` set to `true` will cause an error. The client **should** check the response it receives to determine how much data the service was able to commit and whether the service views the object as complete.

      Attempting to resume an already finalized object will result in an OK status, with a WriteObjectResponse containing the finalized object's metadata.

      Alternatively, the BidiWriteObject operation may be used to write an object with controls over flushing and the ability to fetch the ability to determine the current persisted size.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ApiStreamObserver<WriteObjectRequest> responseObserver =
             new ApiStreamObserver<WriteObjectRequest>() {
               {@literal @}Override
               public void onNext(WriteObjectResponse response) {
                 // Do something when a response is received.
               }
      
               {@literal @}Override
               public void onError(Throwable t) {
                 // Add error-handling
               }
      
               {@literal @}Override
               public void onCompleted() {
                 // Do something when complete.
               }
             };
         ApiStreamObserver<WriteObjectRequest> requestObserver =
             storageClient.writeObject().clientStreamingCall(responseObserver);
         WriteObjectRequest request =
             WriteObjectRequest.newBuilder()
                 .setWriteOffset(-1559543565)
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .setFinishWrite(true)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         requestObserver.onNext(request);
       }
       
    • bidiWriteObjectCallable

      public final com.google.api.gax.rpc.BidiStreamingCallable<BidiWriteObjectRequest,BidiWriteObjectResponse> bidiWriteObjectCallable()
      Stores a new object and metadata.

      This is similar to the WriteObject call with the added support for manual flushing of persisted state, and the ability to determine current persisted size without closing the stream.

      The client may specify one or both of the `state_lookup` and `flush` fields in each BidiWriteObjectRequest. If `flush` is specified, the data written so far will be persisted to storage. If `state_lookup` is specified, the service will respond with a BidiWriteObjectResponse that contains the persisted size. If both `flush` and `state_lookup` are specified, the flush will always occur before a `state_lookup`, so that both may be set in the same request and the returned state will be the state of the object post-flush. When the stream is closed, a BidiWriteObjectResponse will always be sent to the client, regardless of the value of `state_lookup`.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BidiStream<BidiWriteObjectRequest, BidiWriteObjectResponse> bidiStream =
             storageClient.bidiWriteObjectCallable().call();
         BidiWriteObjectRequest request =
             BidiWriteObjectRequest.newBuilder()
                 .setWriteOffset(-1559543565)
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .setStateLookup(true)
                 .setFlush(true)
                 .setFinishWrite(true)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         bidiStream.send(request);
         for (BidiWriteObjectResponse response : bidiStream) {
           // Do something when a response is received.
         }
       }
       
    • listObjects

      public final StorageClient.ListObjectsPagedResponse listObjects(BucketName parent)
      Retrieves a list of objects matching the criteria.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         BucketName parent = BucketName.of("[PROJECT]", "[BUCKET]");
         for (Object element : storageClient.listObjects(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. Name of the bucket in which to look for objects.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listObjects

      public final StorageClient.ListObjectsPagedResponse listObjects(String parent)
      Retrieves a list of objects matching the criteria.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String parent = BucketName.of("[PROJECT]", "[BUCKET]").toString();
         for (Object element : storageClient.listObjects(parent).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      parent - Required. Name of the bucket in which to look for objects.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listObjects

      public final StorageClient.ListObjectsPagedResponse listObjects(ListObjectsRequest request)
      Retrieves a list of objects matching the criteria.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListObjectsRequest request =
             ListObjectsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setDelimiter("delimiter-250518009")
                 .setIncludeTrailingDelimiter(true)
                 .setPrefix("prefix-980110702")
                 .setVersions(true)
                 .setReadMask(FieldMask.newBuilder().build())
                 .setLexicographicStart("lexicographicStart-2093413008")
                 .setLexicographicEnd("lexicographicEnd1646968169")
                 .setSoftDeleted(true)
                 .setMatchGlob("matchGlob613636317")
                 .build();
         for (Object element : storageClient.listObjects(request).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listObjectsPagedCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListObjectsRequest,StorageClient.ListObjectsPagedResponse> listObjectsPagedCallable()
      Retrieves a list of objects matching the criteria.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListObjectsRequest request =
             ListObjectsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setDelimiter("delimiter-250518009")
                 .setIncludeTrailingDelimiter(true)
                 .setPrefix("prefix-980110702")
                 .setVersions(true)
                 .setReadMask(FieldMask.newBuilder().build())
                 .setLexicographicStart("lexicographicStart-2093413008")
                 .setLexicographicEnd("lexicographicEnd1646968169")
                 .setSoftDeleted(true)
                 .setMatchGlob("matchGlob613636317")
                 .build();
         ApiFuture<Object> future = storageClient.listObjectsPagedCallable().futureCall(request);
         // Do something.
         for (Object element : future.get().iterateAll()) {
           // doThingsWith(element);
         }
       }
       
    • listObjectsCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListObjectsRequest,ListObjectsResponse> listObjectsCallable()
      Retrieves a list of objects matching the criteria.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListObjectsRequest request =
             ListObjectsRequest.newBuilder()
                 .setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setDelimiter("delimiter-250518009")
                 .setIncludeTrailingDelimiter(true)
                 .setPrefix("prefix-980110702")
                 .setVersions(true)
                 .setReadMask(FieldMask.newBuilder().build())
                 .setLexicographicStart("lexicographicStart-2093413008")
                 .setLexicographicEnd("lexicographicEnd1646968169")
                 .setSoftDeleted(true)
                 .setMatchGlob("matchGlob613636317")
                 .build();
         while (true) {
           ListObjectsResponse response = storageClient.listObjectsCallable().call(request);
           for (Object element : response.getObjectsList()) {
             // doThingsWith(element);
           }
           String nextPageToken = response.getNextPageToken();
           if (!Strings.isNullOrEmpty(nextPageToken)) {
             request = request.toBuilder().setPageToken(nextPageToken).build();
           } else {
             break;
           }
         }
       }
       
    • rewriteObject

      public final RewriteResponse rewriteObject(RewriteObjectRequest request)
      Rewrites a source object to a destination object. Optionally overrides metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         RewriteObjectRequest request =
             RewriteObjectRequest.newBuilder()
                 .setDestinationName("destinationName-1762755655")
                 .setDestinationBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setDestinationKmsKey(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setDestination(Object.newBuilder().build())
                 .setSourceBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setSourceObject("sourceObject1196439354")
                 .setSourceGeneration(1232209852)
                 .setRewriteToken("rewriteToken80654285")
                 .setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setIfSourceGenerationMatch(-1427877280)
                 .setIfSourceGenerationNotMatch(1575612532)
                 .setIfSourceMetagenerationMatch(1143319909)
                 .setIfSourceMetagenerationNotMatch(1900822777)
                 .setMaxBytesRewrittenPerCall(1178170730)
                 .setCopySourceEncryptionAlgorithm("copySourceEncryptionAlgorithm-1524952548")
                 .setCopySourceEncryptionKeyBytes(ByteString.EMPTY)
                 .setCopySourceEncryptionKeySha256Bytes(ByteString.EMPTY)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         RewriteResponse response = storageClient.rewriteObject(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • rewriteObjectCallable

      public final com.google.api.gax.rpc.UnaryCallable<RewriteObjectRequest,RewriteResponse> rewriteObjectCallable()
      Rewrites a source object to a destination object. Optionally overrides metadata.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         RewriteObjectRequest request =
             RewriteObjectRequest.newBuilder()
                 .setDestinationName("destinationName-1762755655")
                 .setDestinationBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setDestinationKmsKey(
                     CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                         .toString())
                 .setDestination(Object.newBuilder().build())
                 .setSourceBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
                 .setSourceObject("sourceObject1196439354")
                 .setSourceGeneration(1232209852)
                 .setRewriteToken("rewriteToken80654285")
                 .setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
                 .setIfGenerationMatch(-1086241088)
                 .setIfGenerationNotMatch(1475720404)
                 .setIfMetagenerationMatch(1043427781)
                 .setIfMetagenerationNotMatch(1025430873)
                 .setIfSourceGenerationMatch(-1427877280)
                 .setIfSourceGenerationNotMatch(1575612532)
                 .setIfSourceMetagenerationMatch(1143319909)
                 .setIfSourceMetagenerationNotMatch(1900822777)
                 .setMaxBytesRewrittenPerCall(1178170730)
                 .setCopySourceEncryptionAlgorithm("copySourceEncryptionAlgorithm-1524952548")
                 .setCopySourceEncryptionKeyBytes(ByteString.EMPTY)
                 .setCopySourceEncryptionKeySha256Bytes(ByteString.EMPTY)
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         ApiFuture<RewriteResponse> future = storageClient.rewriteObjectCallable().futureCall(request);
         // Do something.
         RewriteResponse response = future.get();
       }
       
    • startResumableWrite

      public final StartResumableWriteResponse startResumableWrite(StartResumableWriteRequest request)
      Starts a resumable write. How long the write operation remains valid, and what happens when the write operation becomes invalid, are service-dependent.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         StartResumableWriteRequest request =
             StartResumableWriteRequest.newBuilder()
                 .setWriteObjectSpec(WriteObjectSpec.newBuilder().build())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         StartResumableWriteResponse response = storageClient.startResumableWrite(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • startResumableWriteCallable

      public final com.google.api.gax.rpc.UnaryCallable<StartResumableWriteRequest,StartResumableWriteResponse> startResumableWriteCallable()
      Starts a resumable write. How long the write operation remains valid, and what happens when the write operation becomes invalid, are service-dependent.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         StartResumableWriteRequest request =
             StartResumableWriteRequest.newBuilder()
                 .setWriteObjectSpec(WriteObjectSpec.newBuilder().build())
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .setObjectChecksums(ObjectChecksums.newBuilder().build())
                 .build();
         ApiFuture<StartResumableWriteResponse> future =
             storageClient.startResumableWriteCallable().futureCall(request);
         // Do something.
         StartResumableWriteResponse response = future.get();
       }
       
    • queryWriteStatus

      public final QueryWriteStatusResponse queryWriteStatus(String uploadId)
      Determines the `persisted_size` for an object that is being written, which can then be used as the `write_offset` for the next `Write()` call.

      If the object does not exist (i.e., the object has been deleted, or the first `Write()` has not yet reached the service), this method returns the error `NOT_FOUND`.

      The client **may** call `QueryWriteStatus()` at any time to determine how much data has been processed for this object. This is useful if the client is buffering data and needs to know which data can be safely evicted. For any sequence of `QueryWriteStatus()` calls for a given object name, the sequence of returned `persisted_size` values will be non-decreasing.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String uploadId = "uploadId1563990780";
         QueryWriteStatusResponse response = storageClient.queryWriteStatus(uploadId);
       }
       
      Parameters:
      uploadId - Required. The name of the resume token for the object whose write status is being requested.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • queryWriteStatus

      public final QueryWriteStatusResponse queryWriteStatus(QueryWriteStatusRequest request)
      Determines the `persisted_size` for an object that is being written, which can then be used as the `write_offset` for the next `Write()` call.

      If the object does not exist (i.e., the object has been deleted, or the first `Write()` has not yet reached the service), this method returns the error `NOT_FOUND`.

      The client **may** call `QueryWriteStatus()` at any time to determine how much data has been processed for this object. This is useful if the client is buffering data and needs to know which data can be safely evicted. For any sequence of `QueryWriteStatus()` calls for a given object name, the sequence of returned `persisted_size` values will be non-decreasing.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         QueryWriteStatusRequest request =
             QueryWriteStatusRequest.newBuilder()
                 .setUploadId("uploadId1563990780")
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         QueryWriteStatusResponse response = storageClient.queryWriteStatus(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • queryWriteStatusCallable

      public final com.google.api.gax.rpc.UnaryCallable<QueryWriteStatusRequest,QueryWriteStatusResponse> queryWriteStatusCallable()
      Determines the `persisted_size` for an object that is being written, which can then be used as the `write_offset` for the next `Write()` call.

      If the object does not exist (i.e., the object has been deleted, or the first `Write()` has not yet reached the service), this method returns the error `NOT_FOUND`.

      The client **may** call `QueryWriteStatus()` at any time to determine how much data has been processed for this object. This is useful if the client is buffering data and needs to know which data can be safely evicted. For any sequence of `QueryWriteStatus()` calls for a given object name, the sequence of returned `persisted_size` values will be non-decreasing.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         QueryWriteStatusRequest request =
             QueryWriteStatusRequest.newBuilder()
                 .setUploadId("uploadId1563990780")
                 .setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
                 .build();
         ApiFuture<QueryWriteStatusResponse> future =
             storageClient.queryWriteStatusCallable().futureCall(request);
         // Do something.
         QueryWriteStatusResponse response = future.get();
       }
       
    • getServiceAccount

      public final ServiceAccount getServiceAccount(ProjectName project)
      Retrieves the name of a project's Google Cloud Storage service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ProjectName project = ProjectName.of("[PROJECT]");
         ServiceAccount response = storageClient.getServiceAccount(project);
       }
       
      Parameters:
      project - Required. Project ID, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getServiceAccount

      public final ServiceAccount getServiceAccount(String project)
      Retrieves the name of a project's Google Cloud Storage service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String project = ProjectName.of("[PROJECT]").toString();
         ServiceAccount response = storageClient.getServiceAccount(project);
       }
       
      Parameters:
      project - Required. Project ID, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getServiceAccount

      public final ServiceAccount getServiceAccount(GetServiceAccountRequest request)
      Retrieves the name of a project's Google Cloud Storage service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetServiceAccountRequest request =
             GetServiceAccountRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         ServiceAccount response = storageClient.getServiceAccount(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getServiceAccountCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetServiceAccountRequest,ServiceAccount> getServiceAccountCallable()
      Retrieves the name of a project's Google Cloud Storage service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetServiceAccountRequest request =
             GetServiceAccountRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         ApiFuture<ServiceAccount> future =
             storageClient.getServiceAccountCallable().futureCall(request);
         // Do something.
         ServiceAccount response = future.get();
       }
       
    • createHmacKey

      public final CreateHmacKeyResponse createHmacKey(ProjectName project, String serviceAccountEmail)
      Creates a new HMAC key for the given service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ProjectName project = ProjectName.of("[PROJECT]");
         String serviceAccountEmail = "serviceAccountEmail1825953988";
         CreateHmacKeyResponse response = storageClient.createHmacKey(project, serviceAccountEmail);
       }
       
      Parameters:
      project - Required. The project that the HMAC-owning service account lives in, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      serviceAccountEmail - Required. The service account to create the HMAC for.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createHmacKey

      public final CreateHmacKeyResponse createHmacKey(String project, String serviceAccountEmail)
      Creates a new HMAC key for the given service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String project = ProjectName.of("[PROJECT]").toString();
         String serviceAccountEmail = "serviceAccountEmail1825953988";
         CreateHmacKeyResponse response = storageClient.createHmacKey(project, serviceAccountEmail);
       }
       
      Parameters:
      project - Required. The project that the HMAC-owning service account lives in, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      serviceAccountEmail - Required. The service account to create the HMAC for.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createHmacKey

      public final CreateHmacKeyResponse createHmacKey(CreateHmacKeyRequest request)
      Creates a new HMAC key for the given service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateHmacKeyRequest request =
             CreateHmacKeyRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .setServiceAccountEmail("serviceAccountEmail1825953988")
                 .build();
         CreateHmacKeyResponse response = storageClient.createHmacKey(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • createHmacKeyCallable

      public final com.google.api.gax.rpc.UnaryCallable<CreateHmacKeyRequest,CreateHmacKeyResponse> createHmacKeyCallable()
      Creates a new HMAC key for the given service account.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         CreateHmacKeyRequest request =
             CreateHmacKeyRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .setServiceAccountEmail("serviceAccountEmail1825953988")
                 .build();
         ApiFuture<CreateHmacKeyResponse> future =
             storageClient.createHmacKeyCallable().futureCall(request);
         // Do something.
         CreateHmacKeyResponse response = future.get();
       }
       
    • deleteHmacKey

      public final void deleteHmacKey(String accessId, ProjectName project)
      Deletes a given HMAC key. Key must be in an INACTIVE state.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String accessId = "accessId-2146437729";
         ProjectName project = ProjectName.of("[PROJECT]");
         storageClient.deleteHmacKey(accessId, project);
       }
       
      Parameters:
      accessId - Required. The identifying key for the HMAC to delete.
      project - Required. The project that owns the HMAC key, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteHmacKey

      public final void deleteHmacKey(String accessId, String project)
      Deletes a given HMAC key. Key must be in an INACTIVE state.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String accessId = "accessId-2146437729";
         String project = ProjectName.of("[PROJECT]").toString();
         storageClient.deleteHmacKey(accessId, project);
       }
       
      Parameters:
      accessId - Required. The identifying key for the HMAC to delete.
      project - Required. The project that owns the HMAC key, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteHmacKey

      public final void deleteHmacKey(DeleteHmacKeyRequest request)
      Deletes a given HMAC key. Key must be in an INACTIVE state.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteHmacKeyRequest request =
             DeleteHmacKeyRequest.newBuilder()
                 .setAccessId("accessId-2146437729")
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         storageClient.deleteHmacKey(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • deleteHmacKeyCallable

      public final com.google.api.gax.rpc.UnaryCallable<DeleteHmacKeyRequest,com.google.protobuf.Empty> deleteHmacKeyCallable()
      Deletes a given HMAC key. Key must be in an INACTIVE state.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         DeleteHmacKeyRequest request =
             DeleteHmacKeyRequest.newBuilder()
                 .setAccessId("accessId-2146437729")
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         ApiFuture<Empty> future = storageClient.deleteHmacKeyCallable().futureCall(request);
         // Do something.
         future.get();
       }
       
    • getHmacKey

      public final HmacKeyMetadata getHmacKey(String accessId, ProjectName project)
      Gets an existing HMAC key metadata for the given id.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String accessId = "accessId-2146437729";
         ProjectName project = ProjectName.of("[PROJECT]");
         HmacKeyMetadata response = storageClient.getHmacKey(accessId, project);
       }
       
      Parameters:
      accessId - Required. The identifying key for the HMAC to delete.
      project - Required. The project the HMAC key lies in, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getHmacKey

      public final HmacKeyMetadata getHmacKey(String accessId, String project)
      Gets an existing HMAC key metadata for the given id.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String accessId = "accessId-2146437729";
         String project = ProjectName.of("[PROJECT]").toString();
         HmacKeyMetadata response = storageClient.getHmacKey(accessId, project);
       }
       
      Parameters:
      accessId - Required. The identifying key for the HMAC to delete.
      project - Required. The project the HMAC key lies in, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getHmacKey

      public final HmacKeyMetadata getHmacKey(GetHmacKeyRequest request)
      Gets an existing HMAC key metadata for the given id.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetHmacKeyRequest request =
             GetHmacKeyRequest.newBuilder()
                 .setAccessId("accessId-2146437729")
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         HmacKeyMetadata response = storageClient.getHmacKey(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • getHmacKeyCallable

      public final com.google.api.gax.rpc.UnaryCallable<GetHmacKeyRequest,HmacKeyMetadata> getHmacKeyCallable()
      Gets an existing HMAC key metadata for the given id.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         GetHmacKeyRequest request =
             GetHmacKeyRequest.newBuilder()
                 .setAccessId("accessId-2146437729")
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .build();
         ApiFuture<HmacKeyMetadata> future = storageClient.getHmacKeyCallable().futureCall(request);
         // Do something.
         HmacKeyMetadata response = future.get();
       }
       
    • listHmacKeys

      public final StorageClient.ListHmacKeysPagedResponse listHmacKeys(ProjectName project)
      Lists HMAC keys under a given project with the additional filters provided.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ProjectName project = ProjectName.of("[PROJECT]");
         for (HmacKeyMetadata element : storageClient.listHmacKeys(project).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      project - Required. The project to list HMAC keys for, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listHmacKeys

      public final StorageClient.ListHmacKeysPagedResponse listHmacKeys(String project)
      Lists HMAC keys under a given project with the additional filters provided.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         String project = ProjectName.of("[PROJECT]").toString();
         for (HmacKeyMetadata element : storageClient.listHmacKeys(project).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      project - Required. The project to list HMAC keys for, in the format of "projects/{projectIdentifier}". {projectIdentifier} can be the project ID or project number.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listHmacKeys

      public final StorageClient.ListHmacKeysPagedResponse listHmacKeys(ListHmacKeysRequest request)
      Lists HMAC keys under a given project with the additional filters provided.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListHmacKeysRequest request =
             ListHmacKeysRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setServiceAccountEmail("serviceAccountEmail1825953988")
                 .setShowDeletedKeys(true)
                 .build();
         for (HmacKeyMetadata element : storageClient.listHmacKeys(request).iterateAll()) {
           // doThingsWith(element);
         }
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • listHmacKeysPagedCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListHmacKeysRequest,StorageClient.ListHmacKeysPagedResponse> listHmacKeysPagedCallable()
      Lists HMAC keys under a given project with the additional filters provided.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListHmacKeysRequest request =
             ListHmacKeysRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setServiceAccountEmail("serviceAccountEmail1825953988")
                 .setShowDeletedKeys(true)
                 .build();
         ApiFuture<HmacKeyMetadata> future =
             storageClient.listHmacKeysPagedCallable().futureCall(request);
         // Do something.
         for (HmacKeyMetadata element : future.get().iterateAll()) {
           // doThingsWith(element);
         }
       }
       
    • listHmacKeysCallable

      public final com.google.api.gax.rpc.UnaryCallable<ListHmacKeysRequest,ListHmacKeysResponse> listHmacKeysCallable()
      Lists HMAC keys under a given project with the additional filters provided.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         ListHmacKeysRequest request =
             ListHmacKeysRequest.newBuilder()
                 .setProject(ProjectName.of("[PROJECT]").toString())
                 .setPageSize(883849137)
                 .setPageToken("pageToken873572522")
                 .setServiceAccountEmail("serviceAccountEmail1825953988")
                 .setShowDeletedKeys(true)
                 .build();
         while (true) {
           ListHmacKeysResponse response = storageClient.listHmacKeysCallable().call(request);
           for (HmacKeyMetadata element : response.getHmacKeysList()) {
             // doThingsWith(element);
           }
           String nextPageToken = response.getNextPageToken();
           if (!Strings.isNullOrEmpty(nextPageToken)) {
             request = request.toBuilder().setPageToken(nextPageToken).build();
           } else {
             break;
           }
         }
       }
       
    • updateHmacKey

      public final HmacKeyMetadata updateHmacKey(HmacKeyMetadata hmacKey, com.google.protobuf.FieldMask updateMask)
      Updates a given HMAC key state between ACTIVE and INACTIVE.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         HmacKeyMetadata hmacKey = HmacKeyMetadata.newBuilder().build();
         FieldMask updateMask = FieldMask.newBuilder().build();
         HmacKeyMetadata response = storageClient.updateHmacKey(hmacKey, updateMask);
       }
       
      Parameters:
      hmacKey - Required. The HMAC key to update. If present, the hmac_key's `id` field will be used to identify the key. Otherwise, the hmac_key's access_id and project fields will be used to identify the key.
      updateMask - Update mask for hmac_key. Not specifying any fields will mean only the `state` field is updated to the value specified in `hmac_key`.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateHmacKey

      public final HmacKeyMetadata updateHmacKey(UpdateHmacKeyRequest request)
      Updates a given HMAC key state between ACTIVE and INACTIVE.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateHmacKeyRequest request =
             UpdateHmacKeyRequest.newBuilder()
                 .setHmacKey(HmacKeyMetadata.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         HmacKeyMetadata response = storageClient.updateHmacKey(request);
       }
       
      Parameters:
      request - The request object containing all of the parameters for the API call.
      Throws:
      com.google.api.gax.rpc.ApiException - if the remote call fails
    • updateHmacKeyCallable

      public final com.google.api.gax.rpc.UnaryCallable<UpdateHmacKeyRequest,HmacKeyMetadata> updateHmacKeyCallable()
      Updates a given HMAC key state between ACTIVE and INACTIVE.

      Sample code:

      
       // This snippet has been automatically generated and should be regarded as a code template only.
       // It will require modifications to work:
       // - It may require correct/in-range values for request initialization.
       // - It may require specifying regional endpoints when creating the service client as shown in
       // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
       try (StorageClient storageClient = StorageClient.create()) {
         UpdateHmacKeyRequest request =
             UpdateHmacKeyRequest.newBuilder()
                 .setHmacKey(HmacKeyMetadata.newBuilder().build())
                 .setUpdateMask(FieldMask.newBuilder().build())
                 .build();
         ApiFuture<HmacKeyMetadata> future = storageClient.updateHmacKeyCallable().futureCall(request);
         // Do something.
         HmacKeyMetadata response = future.get();
       }
       
    • close

      public final void close()
      Specified by:
      close in interface AutoCloseable
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface com.google.api.gax.core.BackgroundResource
    • isShutdown

      public boolean isShutdown()
      Specified by:
      isShutdown in interface com.google.api.gax.core.BackgroundResource
    • isTerminated

      public boolean isTerminated()
      Specified by:
      isTerminated in interface com.google.api.gax.core.BackgroundResource
    • shutdownNow

      public void shutdownNow()
      Specified by:
      shutdownNow in interface com.google.api.gax.core.BackgroundResource
    • awaitTermination

      public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
      Specified by:
      awaitTermination in interface com.google.api.gax.core.BackgroundResource
      Throws:
      InterruptedException