# Class CaseAttachmentServiceClient (0.77.0)

0.77.0 (latest) 0.75.0 0.72.0 0.71.0 0.69.0 0.67.0 0.66.0 0.65.0 0.64.0 0.62.0 0.60.0 0.59.0 0.58.0 0.57.0 0.56.0 0.54.0 0.52.0 0.51.0 0.48.0 0.47.0 0.46.0 0.44.0 0.43.0 0.42.0 0.41.0 0.40.0 0.39.0 0.38.0 0.37.0 0.36.0 0.35.0 0.33.0 0.32.0 0.31.0 0.30.0 0.29.0 0.28.0 0.27.0 0.26.0 0.25.0 0.24.0 0.23.0 0.21.0 0.20.0 0.19.0 0.18.0 0.17.0 0.16.0 0.15.0 0.14.0 0.13.0 0.12.0 0.11.0 0.8.0 0.7.0 0.6.0 0.5.0 0.4.0 0.3.0 0.2.0 0.1.0

> [!WARNING]
> **Beta**
>
>
> This library is covered by the [Pre-GA Offerings Terms](https://docs.cloud.google.com/terms/service-terms#1)
> of the Terms of Service. Pre-GA libraries might have limited support,
> and changes to pre-GA libraries might not be compatible with other pre-GA versions.
> For more information, see the
> [launch stage descriptions](https://docs.cloud.google.com/products#product-launch-stages).

|---|---|
| [GitHub Repository](https://github.com/googleapis/google-cloud-java/tree/main/java-cloudsupport/google-cloud-cloudsupport/src/main/java/com/google/cloud/support/v2beta/CaseAttachmentServiceClient.java) | [Product Reference](https://cloud.google.com/support/docs/reference/support-api/) |

Service Description: A service to manage file attachments for Google Cloud support cases.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       AttachmentName name =
           AttachmentName.ofOrganizationCaseAttachmentIdName(
               "[ORGANIZATION]", "[CASE]", "[ATTACHMENT_ID]");
       Attachment response = caseAttachmentServiceClient.getAttachment(name);
     }
     
Note: close() needs to be called on the CaseAttachmentServiceClient object to clean up
resources such as threads. In the example above, try-with-resources is used, which automatically
calls close().

| Method | Description | Method Variants |
|---|---|---|
| ListAttachments | List all the attachments associated with a support case. | Request object method variants only take one parameter, a request object, which must be constructed before the call. - listAttachments(ListAttachmentsRequest request) "Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method. - listAttachments(CaseName parent) - listAttachments(String parent) Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service. - listAttachmentsPagedCallable() - listAttachmentsCallable() |
| GetAttachment | Retrieve an attachment. | Request object method variants only take one parameter, a request object, which must be constructed before the call. - getAttachment(GetAttachmentRequest request) "Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method. - getAttachment(AttachmentName name) - getAttachment(String name) Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service. - getAttachmentCallable() |
[Methods]

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 CaseAttachmentServiceSettings
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
     CaseAttachmentServiceSettings caseAttachmentServiceSettings =
         CaseAttachmentServiceSettings.newBuilder()
             .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
             .build();
     CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create(caseAttachmentServiceSettings);
     
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
     CaseAttachmentServiceSettings caseAttachmentServiceSettings =
         CaseAttachmentServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
     CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create(caseAttachmentServiceSettings);
     
To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
the wire:


     // 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
     CaseAttachmentServiceSettings caseAttachmentServiceSettings =
         CaseAttachmentServiceSettings.newHttpJsonBuilder().build();
     CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create(caseAttachmentServiceSettings);
     
Please refer to the GitHub repository's samples for more quickstart code snippets.

## Inheritance

[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> CaseAttachmentServiceClient

## Static Methods

### create()

    public static final CaseAttachmentServiceClient create()

Constructs an instance of CaseAttachmentServiceClient with default settings.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient` |   |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html` |   |

### create(CaseAttachmentServiceSettings settings)

    public static final CaseAttachmentServiceClient create(CaseAttachmentServiceSettings settings)

Constructs an instance of CaseAttachmentServiceClient, using the given settings. The channels
are created based on the settings passed in, or defaults for any settings that are not set.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `settings` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceSettings` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient` |   |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html` |   |

### create(CaseAttachmentServiceStub stub)

    public static final CaseAttachmentServiceClient create(CaseAttachmentServiceStub stub)

Constructs an instance of CaseAttachmentServiceClient, using the given stub for making calls.
This is for advanced usage - prefer using create(CaseAttachmentServiceSettings).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `stub` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.stub.CaseAttachmentServiceStub` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient` |   |

## Constructors

### CaseAttachmentServiceClient(CaseAttachmentServiceSettings settings)

    protected CaseAttachmentServiceClient(CaseAttachmentServiceSettings settings)

Constructs an instance of CaseAttachmentServiceClient, 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.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `settings` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceSettings` |

### CaseAttachmentServiceClient(CaseAttachmentServiceStub stub)

    protected CaseAttachmentServiceClient(CaseAttachmentServiceStub stub)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `stub` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.stub.CaseAttachmentServiceStub` |

## Methods

### awaitTermination(long duration, TimeUnit unit)

    public boolean awaitTermination(long duration, TimeUnit unit)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `duration` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |
| `unit` | `https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html` |   |

### close()

    public final void close()

### getAttachment(AttachmentName name)

    public final Attachment getAttachment(AttachmentName name)

Retrieve an attachment.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       AttachmentName name =
           AttachmentName.ofOrganizationCaseAttachmentIdName(
               "[ORGANIZATION]", "[CASE]", "[ATTACHMENT_ID]");
       Attachment response = caseAttachmentServiceClient.getAttachment(name);
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `name` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.AttachmentName` Required. The name of the attachment to get. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.Attachment` |   |

### getAttachment(GetAttachmentRequest request)

    public final Attachment getAttachment(GetAttachmentRequest request)

Retrieve an attachment.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       GetAttachmentRequest request =
           GetAttachmentRequest.newBuilder()
               .setName(
                   AttachmentName.ofOrganizationCaseAttachmentIdName(
                           "[ORGANIZATION]", "[CASE]", "[ATTACHMENT_ID]")
                       .toString())
               .build();
       Attachment response = caseAttachmentServiceClient.getAttachment(request);
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.GetAttachmentRequest` The request object containing all of the parameters for the API call. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.Attachment` |   |

### getAttachment(String name)

    public final Attachment getAttachment(String name)

Retrieve an attachment.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       String name =
           AttachmentName.ofOrganizationCaseAttachmentIdName(
                   "[ORGANIZATION]", "[CASE]", "[ATTACHMENT_ID]")
               .toString();
       Attachment response = caseAttachmentServiceClient.getAttachment(name);
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `name` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` Required. The name of the attachment to get. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.Attachment` |   |

### getAttachmentCallable()

    public final UnaryCallable<GetAttachmentRequest,Attachment> getAttachmentCallable()

Retrieve an attachment.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       GetAttachmentRequest request =
           GetAttachmentRequest.newBuilder()
               .setName(
                   AttachmentName.ofOrganizationCaseAttachmentIdName(
                           "[ORGANIZATION]", "[CASE]", "[ATTACHMENT_ID]")
                       .toString())
               .build();
       ApiFuture<Attachment> future =
           caseAttachmentServiceClient.getAttachmentCallable().futureCall(request);
       // Do something.
       Attachment response = future.get();
     }
     
| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.rpc.UnaryCallable.html<https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.GetAttachmentRequest,https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.Attachment>` |   |

### getSettings()

    public final CaseAttachmentServiceSettings getSettings()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceSettings` |   |

### getStub()

    public CaseAttachmentServiceStub getStub()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.stub.CaseAttachmentServiceStub` |   |

### isShutdown()

    public boolean isShutdown()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### isTerminated()

    public boolean isTerminated()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### listAttachments(CaseName parent)

    public final CaseAttachmentServiceClient.ListAttachmentsPagedResponse listAttachments(CaseName parent)

List all the attachments associated with a support case.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       CaseName parent = CaseName.ofProjectCaseName("[PROJECT]", "[CASE]");
       for (Attachment element : caseAttachmentServiceClient.listAttachments(parent).iterateAll()) {
         // doThingsWith(element);
       }
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `parent` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseName` Required. The name of the case for which attachments should be listed. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient.ListAttachmentsPagedResponse` |   |

### listAttachments(ListAttachmentsRequest request)

    public final CaseAttachmentServiceClient.ListAttachmentsPagedResponse listAttachments(ListAttachmentsRequest request)

List all the attachments associated with a support case.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       ListAttachmentsRequest request =
           ListAttachmentsRequest.newBuilder()
               .setParent(CaseName.ofProjectCaseName("[PROJECT]", "[CASE]").toString())
               .setPageSize(883849137)
               .setPageToken("pageToken873572522")
               .build();
       for (Attachment element : caseAttachmentServiceClient.listAttachments(request).iterateAll()) {
         // doThingsWith(element);
       }
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.ListAttachmentsRequest` The request object containing all of the parameters for the API call. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient.ListAttachmentsPagedResponse` |   |

### listAttachments(String parent)

    public final CaseAttachmentServiceClient.ListAttachmentsPagedResponse listAttachments(String parent)

List all the attachments associated with a support case.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       String parent = CaseName.ofOrganizationCaseName("[ORGANIZATION]", "[CASE]").toString();
       for (Attachment element : caseAttachmentServiceClient.listAttachments(parent).iterateAll()) {
         // doThingsWith(element);
       }
     }
     
| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `parent` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` Required. The name of the case for which attachments should be listed. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient.ListAttachmentsPagedResponse` |   |

### listAttachmentsCallable()

    public final UnaryCallable<ListAttachmentsRequest,ListAttachmentsResponse> listAttachmentsCallable()

List all the attachments associated with a support case.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       ListAttachmentsRequest request =
           ListAttachmentsRequest.newBuilder()
               .setParent(CaseName.ofProjectCaseName("[PROJECT]", "[CASE]").toString())
               .setPageSize(883849137)
               .setPageToken("pageToken873572522")
               .build();
       while (true) {
         ListAttachmentsResponse response =
             caseAttachmentServiceClient.listAttachmentsCallable().call(request);
         for (Attachment element : response.getAttachmentsList()) {
           // doThingsWith(element);
         }
         String nextPageToken = response.getNextPageToken();
         if (!Strings.isNullOrEmpty(nextPageToken)) {
           request = request.toBuilder().setPageToken(nextPageToken).build();
         } else {
           break;
         }
       }
     }
     
| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.rpc.UnaryCallable.html<https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.ListAttachmentsRequest,https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.ListAttachmentsResponse>` |   |

### listAttachmentsPagedCallable()

    public final UnaryCallable<ListAttachmentsRequest,CaseAttachmentServiceClient.ListAttachmentsPagedResponse> listAttachmentsPagedCallable()

List all the attachments associated with a support case.

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 (CaseAttachmentServiceClient caseAttachmentServiceClient =
         CaseAttachmentServiceClient.create()) {
       ListAttachmentsRequest request =
           ListAttachmentsRequest.newBuilder()
               .setParent(CaseName.ofProjectCaseName("[PROJECT]", "[CASE]").toString())
               .setPageSize(883849137)
               .setPageToken("pageToken873572522")
               .build();
       ApiFuture<Attachment> future =
           caseAttachmentServiceClient.listAttachmentsPagedCallable().futureCall(request);
       // Do something.
       for (Attachment element : future.get().iterateAll()) {
         // doThingsWith(element);
       }
     }
     
| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.rpc.UnaryCallable.html<https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.ListAttachmentsRequest,https://docs.cloud.google.com/java/docs/reference/google-cloud-cloudsupport/latest/com.google.cloud.support.v2beta.CaseAttachmentServiceClient.ListAttachmentsPagedResponse>` |   |

### shutdown()

    public void shutdown()

### shutdownNow()

    public void shutdownNow()