This page shows how to get started with the Cloud Client Libraries for the
Capacity Planner API. Client libraries make it easier to access
Google Cloud APIs from a supported language. Although you can use
Google Cloud APIs directly by making raw requests to the server, client
libraries provide simplifications that significantly reduce the amount of code
you need to write.

Read more about the Cloud Client Libraries
and the older Google API Client Libraries in
[Client libraries explained](https://docs.cloud.google.com/apis/docs/client-libraries-explained).

> [!WARNING]
>
> **Preview**
>
>
> This library is
>
> subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the
> [Service Specific
> Terms](https://docs.cloud.google.com/terms/service-terms#1).
>
> Pre-GA libraries are available "as is" and might have limited support.
>
> For more information, see the
> [launch stage descriptions](https://cloud.google.com/products/#product-launch-stages).

## Install the client library

### C#

Run the following
[`Install-Package` command](https://learn.microsoft.com/en-us/nuget/reference/ps-reference/ps-ref-install-package):

```
Install-Package Google.Cloud.CapacityPlanner.V1Beta -Pre
```

For more information, see [Setting Up a C# Development Environment](https://docs.cloud.google.com/dotnet/docs/setup).

### Go

```
go get cloud.google.com/go/capacityplanner
```

For more information, see [Setting Up a Go Development Environment](https://docs.cloud.google.com/go/docs/setup).

### Java

Select one of the following options:

- If you are using [Maven](https://maven.apache.org/) with [BOM](https://docs.cloud.google.com/java/docs/bom), add the following to your `pom.xml` file:

  ```
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>libraries-bom</artifactId>
        <version>26.71.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-capacityplanner</artifactId>
    </dependency>
  </dependencies>
  ```
- If you are using Maven without BOM, add the following to your dependencies:

  ```
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-capacityplanner</artifactId>
    <version>0.1.0</version>
  </dependency>
  ```
- If you are using [Gradle](https://gradle.org/) with BOM, add the following to your dependencies:

  ```
  implementation platform('com.google.cloud:libraries-bom:26.71.0')
  implementation 'com.google.cloud:google-cloud-capacityplanner'
  ```
- If you are using Gradle without BOM, add the following to your dependencies:

  ```
  implementation 'com.google.cloud:google-cloud-capacityplanner:0.1.0'
  ```
- If you are using [SBT](https://www.scala-sbt.org/), add the following to your dependencies:

  ```
  libraryDependencies += "com.google.cloud" % "google-cloud-capacityplanner" % "0.1.0"
  ```

For more information, see [Setting Up a Java Development Environment](https://docs.cloud.google.com/java/docs/setup).

### Node.js

```
npm install @google-cloud/capacityplanner
```

For more information, see [Setting Up a Node.js Development Environment](https://docs.cloud.google.com/nodejs/docs/setup).

### PHP

Run the following [Composer](https://getcomposer.org/) command:

```
composer require google/cloud-capacityplanner
```

For more information, see [Using PHP on Google Cloud](https://docs.cloud.google.com/php/docs).

### Python

```
pip install --upgrade google-cloud-capacityplanner
```

For more information, see [Setting Up a Python Development Environment](https://docs.cloud.google.com/python/docs/setup).

### Ruby

```
gem install google-cloud-capacity_planner-v1beta
```

For more information, see [Setting Up a Ruby Development Environment](https://docs.cloud.google.com/ruby/docs/setup).

<br />

## Set up authentication

To authenticate calls to Google Cloud APIs, client libraries support [Application Default Credentials (ADC)](https://docs.cloud.google.com/docs/authentication/application-default-credentials); the libraries look for credentials in a set of defined locations and use those credentials to authenticate requests to the API. With ADC, you can make credentials available to your application in a variety of environments, such as local development or production, without needing to modify your application code.

For production environments, the way you set up ADC depends on the service
and context. For more information, see [Set up Application Default Credentials](https://docs.cloud.google.com/docs/authentication/provide-credentials-adc).

For a local development environment, you can set up ADC with the credentials
that are associated with your Google Account:

1.
   [Install](https://docs.cloud.google.com/sdk/docs/install) the Google Cloud CLI.

   After installation,
   [initialize](https://docs.cloud.google.com/sdk/docs/initializing) the Google Cloud CLI by running the following command:

   ```bash
   gcloud init
   ```


   If you're using an external identity provider (IdP), you must first
   [sign in to the gcloud CLI with your federated identity](https://docs.cloud.google.com/iam/docs/workforce-log-in-gcloud).
2.

   If you're using a local shell, then create local authentication credentials for your user
   account:

   ```bash
   gcloud auth application-default login
   ```

   You don't need to do this if you're using Cloud Shell.


   If an authentication error is returned, and you are using an external identity provider
   (IdP), confirm that you have
   [signed in to the gcloud CLI with your federated identity](https://docs.cloud.google.com/iam/docs/workforce-log-in-gcloud).


   A sign-in screen appears. After you sign in, your credentials are stored in the
   [local credential file used by ADC](https://docs.cloud.google.com/docs/authentication/application-default-credentials#personal).

## Use the client library


The following example shows how to use the client library to
[query historical usage](https://docs.cloud.google.com/capacity-planner/docs/view-data).

> [!NOTE]
> **Note:** Depending on the language, the sample to query historical usage might be [asynchronous or synchronous](https://en.wikipedia.org/wiki/Asynchronous_I/O) or both samples might be provided.

<br />

### C#

    using https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.ResourceNames.html;
    using https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.html;
    using https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Type.html;

    public sealed partial class GeneratedUsageServiceClientSnippets
    {
        /// <summary>Snippet for QueryUsageHistories</summary>
        /// <remarks>
        /// 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/dotnet/docs/reference/help/client-configuration#endpoint.
        /// </remarks>
        public void QueryUsageHistoriesRequestObject()
        {
            // Create client
            https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageServiceClient.html usageServiceClient = https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageServiceClient.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageServiceClient.html#Google_Cloud_CapacityPlanner_V1Beta_UsageServiceClient_Create();
            // Initialize request argument(s)
            https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.QueryUsageHistoriesRequest.html request = new https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.QueryUsageHistoriesRequest.html
            {
                ParentAsLocationName = https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.ResourceNames.LocationName.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.ResourceNames.LocationName.html#Google_Api_Gax_ResourceNames_LocationName_FromProjectLocation_System_String_System_String_("[PROJECT]", "[LOCATION]"),
                MachineFamily = "",
                CloudResourceType = "",
                UsageAggregationMethod = https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageHistory.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageHistory.Types.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageHistory.Types.AggregationMethod.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageHistory.Types.AggregationMethod.html#Google_Cloud_CapacityPlanner_V1Beta_UsageHistory_Types_AggregationMethod_Unspecified,
                DiskType = "",
                GpuType = "",
                StartDate = new https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Type.Date.html(),
                EndDate = new https://docs.cloud.google.com/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Type.Date.html(),
                LocationLevel = https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.TimeSeries.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.TimeSeries.Types.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.TimeSeries.Types.LocationType.html.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.TimeSeries.Types.LocationType.html#Google_Cloud_CapacityPlanner_V1Beta_TimeSeries_Types_LocationType_Unspecified,
                TpuType = "",
                MachineShape = new https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.MachineShape.html(),
                IsSpot = false,
                ConfidentialMode = false,
            };
            // Make the request
            https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.QueryUsageHistoriesResponse.html response = usageServiceClient.https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest/Google.Cloud.CapacityPlanner.V1Beta.UsageServiceClient.html#Google_Cloud_CapacityPlanner_V1Beta_UsageServiceClient_QueryUsageHistories_Google_Cloud_CapacityPlanner_V1Beta_QueryUsageHistoriesRequest_Google_Api_Gax_Grpc_CallSettings_(request);
        }
    }

### Go


    //go:build examples

    package main

    import (
    	"context"

    	capacityplanner "cloud.google.com/go/capacityplanner/apiv1beta"
    	capacityplannerpb "cloud.google.com/go/capacityplanner/apiv1beta/capacityplannerpb"
    )

    func main() {
    	ctx := context.Background()
    	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
    	c, err := capacityplanner.https://docs.cloud.google.com/go/docs/reference/cloud.google.com/go/capacityplanner/latest/apiv1beta.html#cloud_google_com_go_capacityplanner_apiv1beta_UsageClient_NewUsageClient(ctx)
    	if err != nil {
    		// TODO: Handle error.
    	}
    	defer c.https://docs.cloud.google.com/go/docs/reference/cloud.google.com/go/capacityplanner/latest/apiv1beta.html#cloud_google_com_go_capacityplanner_apiv1beta_UsageClient_Close()

    	req := &capacityplannerpb.QueryUsageHistoriesRequest{
    		// TODO: Fill request struct fields.
    		// See https://pkg.go.dev/cloud.google.com/go/capacityplanner/apiv1beta/capacityplannerpb#QueryUsageHistoriesRequest.
    	}
    	resp, err := c.QueryUsageHistories(ctx, req)
    	if err != nil {
    		// TODO: Handle error.
    	}
    	// TODO: Use resp.
    	_ = resp
    }

### Java

    import com.google.cloud.capacityplanner.v1beta.LocationName;
    import com.google.cloud.capacityplanner.v1beta.MachineShape;
    import com.google.cloud.capacityplanner.v1beta.QueryUsageHistoriesRequest;
    import com.google.cloud.capacityplanner.v1beta.QueryUsageHistoriesResponse;
    import com.google.cloud.capacityplanner.v1beta.UsageServiceClient;
    import com.google.type.https://docs.cloud.google.com/java/docs/reference/proto-google-common-protos/latest/com.google.type.Date.html;

    public class SyncQueryUsageHistories {

      public static void main(String[] args) throws Exception {
        syncQueryUsageHistories();
      }

      public static void syncQueryUsageHistories() throws Exception {
        // 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 (UsageServiceClient usageServiceClient = UsageServiceClient.create()) {
          QueryUsageHistoriesRequest request =
              QueryUsageHistoriesRequest.newBuilder()
                  .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
                  .setIsSpot(true)
                  .setMachineFamily("machineFamily419822219")
                  .setMachineShape(MachineShape.newBuilder().build())
                  .setDiskType("diskType279771767")
                  .setConfidentialMode(true)
                  .setGpuType("gpuType240737798")
                  .setTpuType("tpuType-1106616237")
                  .setCloudResourceType("cloudResourceType-1446274243")
                  .setStartDate(https://docs.cloud.google.com/java/docs/reference/proto-google-common-protos/latest/com.google.type.Date.html.newBuilder().build())
                  .setEndDate(https://docs.cloud.google.com/java/docs/reference/proto-google-common-protos/latest/com.google.type.Date.html.newBuilder().build())
                  .build();
          QueryUsageHistoriesResponse response = usageServiceClient.queryUsageHistories(request);
        }
      }
    }

### Node.js

    /**
     * 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.
     * TODO(developer): Uncomment these variables before running the sample.
     */
    /**
     *  Required. The compute engine resource and location for the time series
     *  values to return. The format is:
     *      projects/{project}/locations/{location} or
     *      organizations/{organization}/locations/{location} or
     *      folders/{folder}/locations/{location}
     */
    // const parent = 'abc123'
    /**
     *  Optional. The location level of the reservations usage timeseries.
     */
    // const locationLevel = {}
    /**
     *  Optional. The is_spot flag is used to fetch the usage data for preemptible
     *  Resources.
     */
    // const isSpot = true
    /**
     *  The machine family for the `UsageHistory` values to return. Possible values
     *  include "n1", and "n2d". See
     *  https://cloud.google.com/compute/docs/machine-types for more examples.
     *  Empty machine_family will return results matching all machine families.
     */
    // const machineFamily = 'abc123'
    /**
     *  Optional. The machine shape for the `UsageHistory` values to return.
     */
    // const machineShape = {}
    /**
     *  Optional. The disk_type for the `UsageHistory` values to return request
     *  with persistent-disk cloud_resource_type. Empty disk_type will return
     *  results matching all disk types.
     */
    // const diskType = 'abc123'
    /**
     *  Optional. Whether the persistent disk is in confidential mode.
     */
    // const confidentialMode = true
    /**
     *  Optional. The GPU type for the `UsageHistory` values to return. Sample
     *  values are "nvidia-tesla-t4", and "nvidia-tesla-a100". See
     *  https://cloud.google.com/compute/docs/gpus for a list. Empty gpu_type
     *  will return results matching all GPUs.
     */
    // const gpuType = 'abc123'
    /**
     *  Optional. The TPU type for the `UsageHistory` values to return. Empty
     *  tpu_type will return results matching all TPUs.
     */
    // const tpuType = 'abc123'
    /**
     *  Required. The resource for the `UsageHistory` values to return. Possible
     *  values include "gce-vcpus", "gce-ram", "gce-local-ssd",
     *  "gce-persistent-disk", "gce-gpu" and "gce-tpu". Empty cloud_resource_type
     *  will return results matching all resources.
     */
    // const cloudResourceType = 'abc123'
    /**
     *  The method that should be used to convert sampled usage data to daily
     *  usage values.
     *  AGGREGATION_METHOD_UNSPECIFIED will return results matching all the
     *  aggregation methods.
     */
    // const usageAggregationMethod = {}
    /**
     *  Optional. The start date of reservations usage.
     */
    // const startDate = {}
    /**
     *  Optional. The end date of reservations usage.
     */
    // const endDate = {}

    // Imports the Capacityplanner library
    const {UsageServiceClient} = require('https://docs.cloud.google.com/nodejs/docs/reference/capacityplanner/latest/overview.html').v1beta;

    // Instantiates a client
    const capacityplannerClient = new https://docs.cloud.google.com/nodejs/docs/reference/capacityplanner/latest/overview.html();

    async function callQueryUsageHistories() {
      // Construct request
      const request = {
        parent,
        cloudResourceType,
      };

      // Run request
      const response = await capacityplannerClient.queryUsageHistories(request);
      console.log(response);
    }

    callQueryUsageHistories();

### PHP

    use Google\ApiCore\ApiException;
    use Google\Cloud\CapacityPlanner\V1beta\Client\UsageServiceClient;
    use Google\Cloud\CapacityPlanner\V1beta\QueryUsageHistoriesRequest;
    use Google\Cloud\CapacityPlanner\V1beta\QueryUsageHistoriesResponse;

    /**
     * Returns a list of the usage histories that are in the parent parameter
     * and match your specified filters.
     *
     * @param string $formattedParent   The compute engine resource and location for the time series
     *                                  values to return. The format is:
     *
     *                                  projects/{project}/locations/{location} or
     *                                  organizations/{organization}/locations/{location} or
     *                                  folders/{folder}/locations/{location}
     *                                  Please see {@see UsageServiceClient::locationName()} for help formatting this field.
     * @param string $cloudResourceType The resource for the `UsageHistory` values to return. Possible
     *                                  values include "gce-vcpus", "gce-ram", "gce-local-ssd",
     *                                  "gce-persistent-disk", "gce-gpu" and "gce-tpu". Empty cloud_resource_type
     *                                  will return results matching all resources.
     */
    function query_usage_histories_sample(string $formattedParent, string $cloudResourceType): void
    {
        // Create a client.
        $usageServiceClient = new UsageServiceClient();

        // Prepare the request message.
        $request = (new QueryUsageHistoriesRequest())
            ->setParent($formattedParent)
            ->setCloudResourceType($cloudResourceType);

        // Call the API and handle any network failures.
        try {
            /** @var QueryUsageHistoriesResponse $response */
            $response = $usageServiceClient->queryUsageHistories($request);
            printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
        } catch (ApiException $ex) {
            printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
        }
    }

    /**
     * Helper to execute the sample.
     *
     * This sample 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,
     *    please see the apiEndpoint client configuration option for more details.
     */
    function callSample(): void
    {
        $formattedParent = UsageServiceClient::locationName('[PROJECT]', '[LOCATION]');
        $cloudResourceType = '[CLOUD_RESOURCE_TYPE]';

        query_usage_histories_sample($formattedParent, $cloudResourceType);
    }

### Python

    # 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://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest


    def sample_query_usage_histories():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest.https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest/google.cloud.capacityplanner_v1beta.services.usage_service.UsageServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest.https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest/google.cloud.capacityplanner_v1beta.types.QueryUsageHistoriesRequest.html(
            parent="parent_value",
            cloud_resource_type="cloud_resource_type_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest/google.cloud.capacityplanner_v1beta.services.usage_service.UsageServiceClient.html#google_cloud_capacityplanner_v1beta_services_usage_service_UsageServiceClient_query_usage_histories(request=request)

        # Handle the response
        print(response)

### Ruby

    require "google/cloud/capacity_planner/v1beta"

    ##
    # Snippet for the query_usage_histories call in the UsageService service
    #
    # 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/ruby/docs/reference.
    #
    # This is an auto-generated example demonstrating basic usage of
    # Google::Cloud::CapacityPlanner::V1beta::UsageService::Client#query_usage_histories.
    #
    def query_usage_histories
      # Create a client object. The client can be reused for multiple calls.
      client = Google::Cloud::CapacityPlanner::V1beta::UsageService::Client.new

      # Create a request. To set request fields, pass in keyword arguments.
      request = Google::Cloud::CapacityPlanner::V1beta::QueryUsageHistoriesRequest.new

      # Call the query_usage_histories method.
      result = client.query_usage_histories request

      # The returned object is of type Google::Cloud::CapacityPlanner::V1beta::QueryUsageHistoriesResponse.
      p result
    end

<br />

## Additional resources

### C#

The following list contains links to more resources related to the
client library for C#:

- [API reference](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.CapacityPlanner.V1Beta/latest)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-dotnet/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bc%23%5D)
- [Source code](https://github.com/googleapis/google-cloud-dotnet/tree/main/apis/Google.Cloud.CapacityPlanner.V1Beta)

### Go

The following list contains links to more resources related to the
client library for Go:

- [API reference](https://docs.cloud.google.com/go/docs/reference/cloud.google.com/go/capacityplanner/latest/apiv1beta)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-go/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bgo%5D)
- [Source code](https://github.com/googleapis/google-cloud-go/tree/main/capacityplanner)

### Java

The following list contains links to more resources related to the
client library for Java:

- [API reference](https://docs.cloud.google.com/java/docs/reference/google-cloud-capacityplanner/latest/overview)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-java/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bjava%5D)
- [Source code](https://github.com/googleapis/google-cloud-java/tree/main/java-capacityplanner)

### Node.js

The following list contains links to more resources related to the
client library for Node.js:

- [API reference](https://docs.cloud.google.com/nodejs/docs/reference/capacityplanner/latest)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-node/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bnode.js%5D)
- [Source code](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-capacityplanner)

### PHP

The following list contains links to more resources related to the
client library for PHP:

- [API reference](https://docs.cloud.google.com/php/docs/reference/cloud-capacityplanner/latest)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-php/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bphp%5D)
- [Source code](https://github.com/googleapis/google-cloud-php/tree/main/CapacityPlanner)

### Python

The following list contains links to more resources related to the
client library for Python:

- [API reference](https://docs.cloud.google.com/python/docs/reference/google-cloud-capacityplanner/latest)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-python/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bpython%5D)
- [Source code](https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-capacityplanner)

### Ruby

The following list contains links to more resources related to the
client library for Ruby:

- [API reference](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-capacity_planner-v1beta/latest)
- [Client libraries best practices](https://docs.cloud.google.com/apis/docs/client-libraries-best-practices)
- [Issue tracker](https://github.com/googleapis/google-cloud-ruby/issues)
- [`google-cloud-capacity-planner` on Stack Overflow](https://stackoverflow.com/search?q=%5Bgoogle-cloud-capacity-planner%5D+%5Bruby%5D)
- [Source code](https://github.com/googleapis/google-cloud-ruby/tree/main/google-cloud-capacity_planner-v1beta)

<br />