Clientbibliotheken für Cloud-Kontingente

Auf dieser Seite werden die ersten Schritte mit den Cloud-Clientbibliotheken für die Cloud Kontingente API beschrieben. Clientbibliotheken erleichtern den Zugriff auf Google Cloud APIs mit einer unterstützten Sprache. Sie können Google Cloud APIs direkt verwenden, indem Sie Rohanfragen an den Server senden. Clientbibliotheken bieten jedoch Vereinfachungen, die den zu schreibenden Code erheblich reduzieren.

Weitere Informationen zu den Cloud-Clientbibliotheken und den älteren Google API-Clientbibliotheken finden Sie unter Erläuterung zu Clientbibliotheken.

Clientbibliothek installieren

C++

Informationen zu den Anforderungen dieser Clientbibliothek und zu Installationsabhängigkeiten finden Sie unter C++-Entwicklungsumgebung einrichten.

C#

Installieren Sie das Paket Google.Cloud.CloudQuotas.V1 aus NuGet. Fügen Sie sie wie gewohnt zu Ihrem Projekt hinzu (z. B. indem Sie in Visual Studio mit der rechten Maustaste auf das Projekt klicken und „NuGet-Pakete verwalten...“) auswählen. Aktivieren Sie Vorabveröffentlichungspakete (z. B. in der Benutzeroberfläche von Visual Studio NuGet durch das Kästchen „Vorabversion einbeziehen“). Einige der folgenden Beispiele funktionieren möglicherweise nur mit der neuesten Vorabversion (1.0.0-beta01) von Google.Cloud.CloudQuotas.V1.

Weitere Informationen finden Sie unter .NET-Entwicklungsumgebung einrichten.

Go

go get cloud.google.com/go/cloudquotas

Weitere Informationen finden Sie unter Go-Entwicklungsumgebung einrichten.

Java

If you are using Maven, add the following to your pom.xml file. For more information about BOMs, see The Google Cloud Platform Libraries BOM.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.48.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-cloudquotas</artifactId>
  </dependency>
</dependencies>

If you are using Gradle, add the following to your dependencies:

implementation 'com.google.cloud:google-cloud-cloudquotas:0.20.0'

If you are using sbt, add the following to your dependencies:

libraryDependencies += "com.google.cloud" % "google-cloud-cloudquotas" % "0.20.0"

Weitere Informationen finden Sie unter Java-Entwicklungsumgebung einrichten.

Node.js

npm install @google-cloud/cloudquotas

Weitere Informationen finden Sie unter Node.js-Entwicklungsumgebung einrichten.

PHP

composer require google/cloud

Weitere Informationen finden Sie unter PHP auf Google Cloud verwenden.

Python

pip install google-cloud-quotas

Weitere Informationen finden Sie unter Python-Entwicklungsumgebung einrichten.

Ruby

gem install google-cloud-cloud_quotas

Weitere Informationen finden Sie unter Ruby-Entwicklungsumgebung einrichten.

Authentifizierung einrichten

Zur Authentifizierung von Aufrufen an Google Cloud APIs unterstützen Clientbibliotheken Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Die Bibliotheken suchen nach Anmeldedaten an einer Reihe von definierten Standorten und verwenden diese Anmeldedaten für Authentifizierungsanfragen an die API. Mit ADC können Sie Anmeldedaten für Ihre Anwendung in verschiedenen Umgebungen bereitstellen, z. B. in der lokalen Entwicklung oder Produktion, ohne den Anwendungscode ändern zu müssen.

In Produktionsumgebungen hängt die Art der Einrichtung von ADC vom Dienst und Kontext ab. Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen einrichten.

Für eine lokale Entwicklungsumgebung können Sie ADC mit den Anmeldedaten einrichten, die Ihrem Google-Konto zugeordnet sind:

  1. Installieren und initialisieren Sie die gcloud CLI.

    Achten Sie bei der Initialisierung der gcloud CLI auf ein Google Cloud-Projekt, in dem Sie die Berechtigung für den Zugriff auf die Ressourcen haben, die Ihre Anwendung benötigt.

  2. Erstellen Sie Ihre Datei mit Anmeldedaten:

    gcloud auth application-default login

    Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der lokalen Anmeldedatendatei für ADC gespeichert.

Clientbibliothek verwenden

Das folgende Beispiel zeigt die Verwendung der Clientbibliothek.

C++

// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! [all]
#include "google/cloud/cloudquotas/v1/cloud_quotas_client.h"
#include "google/cloud/location.h"
#include <iostream>
#include <string>

int main(int argc, char* argv[]) try {
  if (argc != 2) {
    std::cerr << "Usage: " << argv[0] << " project-id\n";
    return 1;
  }

  namespace cloudquotas = ::google::cloud::cloudquotas_v1;
  auto client =
      cloudquotas::CloudQuotasClient(cloudquotas::MakeCloudQuotasConnection());

  auto const parent = google::cloud::Location(argv[1], "global").FullName();
  for (auto r : client.ListQuotaPreferences(parent)) {
    if (!r) throw std::move(r).status();
    std::cout << r->DebugString() << "\n";
  }

  return 0;
} catch (google::cloud::Status const& status) {
  std::cerr << "google::cloud::Status thrown: " << status << "\n";
  return 1;
}
//! [all]

C#

// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{
    using Google.Api.Gax;
    using Google.Cloud.CloudQuotas.V1;
    using Google.Protobuf.WellKnownTypes;
    using System;
    using System.Linq;
    using System.Threading.Tasks;

    /// <summary>Generated snippets.</summary>
    public sealed class AllGeneratedCloudQuotasClientSnippets
    {
        /// <summary>Snippet for ListQuotaInfos</summary>
        public void ListQuotaInfosRequestObject()
        {
            // Snippet: ListQuotaInfos(ListQuotaInfosRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            ListQuotaInfosRequest request = new ListQuotaInfosRequest
            {
                ParentAsServiceName = ServiceName.FromProjectLocationService("[PROJECT]", "[LOCATION]", "[SERVICE]"),
            };
            // Make the request
            PagedEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfos(request);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaInfo item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaInfosResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaInfosAsync</summary>
        public async Task ListQuotaInfosRequestObjectAsync()
        {
            // Snippet: ListQuotaInfosAsync(ListQuotaInfosRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            ListQuotaInfosRequest request = new ListQuotaInfosRequest
            {
                ParentAsServiceName = ServiceName.FromProjectLocationService("[PROJECT]", "[LOCATION]", "[SERVICE]"),
            };
            // Make the request
            PagedAsyncEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfosAsync(request);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaInfo item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaInfosResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaInfos</summary>
        public void ListQuotaInfos()
        {
            // Snippet: ListQuotaInfos(string, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]/services/[SERVICE]";
            // Make the request
            PagedEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfos(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaInfo item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaInfosResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaInfosAsync</summary>
        public async Task ListQuotaInfosAsync()
        {
            // Snippet: ListQuotaInfosAsync(string, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]/services/[SERVICE]";
            // Make the request
            PagedAsyncEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfosAsync(parent);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaInfo item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaInfosResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaInfos</summary>
        public void ListQuotaInfosResourceNames()
        {
            // Snippet: ListQuotaInfos(ServiceName, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            ServiceName parent = ServiceName.FromProjectLocationService("[PROJECT]", "[LOCATION]", "[SERVICE]");
            // Make the request
            PagedEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfos(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaInfo item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaInfosResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaInfosAsync</summary>
        public async Task ListQuotaInfosResourceNamesAsync()
        {
            // Snippet: ListQuotaInfosAsync(ServiceName, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            ServiceName parent = ServiceName.FromProjectLocationService("[PROJECT]", "[LOCATION]", "[SERVICE]");
            // Make the request
            PagedAsyncEnumerable<ListQuotaInfosResponse, QuotaInfo> response = cloudQuotasClient.ListQuotaInfosAsync(parent);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaInfo item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaInfosResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaInfo item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaInfo> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaInfo item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfo</summary>
        public void GetQuotaInfoRequestObject()
        {
            // Snippet: GetQuotaInfo(GetQuotaInfoRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            GetQuotaInfoRequest request = new GetQuotaInfoRequest
            {
                QuotaInfoName = QuotaInfoName.FromProjectLocationServiceQuotaInfo("[PROJECT]", "[LOCATION]", "[SERVICE]", "[QUOTA_INFO]"),
            };
            // Make the request
            QuotaInfo response = cloudQuotasClient.GetQuotaInfo(request);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfoAsync</summary>
        public async Task GetQuotaInfoRequestObjectAsync()
        {
            // Snippet: GetQuotaInfoAsync(GetQuotaInfoRequest, CallSettings)
            // Additional: GetQuotaInfoAsync(GetQuotaInfoRequest, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            GetQuotaInfoRequest request = new GetQuotaInfoRequest
            {
                QuotaInfoName = QuotaInfoName.FromProjectLocationServiceQuotaInfo("[PROJECT]", "[LOCATION]", "[SERVICE]", "[QUOTA_INFO]"),
            };
            // Make the request
            QuotaInfo response = await cloudQuotasClient.GetQuotaInfoAsync(request);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfo</summary>
        public void GetQuotaInfo()
        {
            // Snippet: GetQuotaInfo(string, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string name = "projects/[PROJECT]/locations/[LOCATION]/services/[SERVICE]/quotaInfos/[QUOTA_INFO]";
            // Make the request
            QuotaInfo response = cloudQuotasClient.GetQuotaInfo(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfoAsync</summary>
        public async Task GetQuotaInfoAsync()
        {
            // Snippet: GetQuotaInfoAsync(string, CallSettings)
            // Additional: GetQuotaInfoAsync(string, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string name = "projects/[PROJECT]/locations/[LOCATION]/services/[SERVICE]/quotaInfos/[QUOTA_INFO]";
            // Make the request
            QuotaInfo response = await cloudQuotasClient.GetQuotaInfoAsync(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfo</summary>
        public void GetQuotaInfoResourceNames()
        {
            // Snippet: GetQuotaInfo(QuotaInfoName, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            QuotaInfoName name = QuotaInfoName.FromProjectLocationServiceQuotaInfo("[PROJECT]", "[LOCATION]", "[SERVICE]", "[QUOTA_INFO]");
            // Make the request
            QuotaInfo response = cloudQuotasClient.GetQuotaInfo(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaInfoAsync</summary>
        public async Task GetQuotaInfoResourceNamesAsync()
        {
            // Snippet: GetQuotaInfoAsync(QuotaInfoName, CallSettings)
            // Additional: GetQuotaInfoAsync(QuotaInfoName, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            QuotaInfoName name = QuotaInfoName.FromProjectLocationServiceQuotaInfo("[PROJECT]", "[LOCATION]", "[SERVICE]", "[QUOTA_INFO]");
            // Make the request
            QuotaInfo response = await cloudQuotasClient.GetQuotaInfoAsync(name);
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferences</summary>
        public void ListQuotaPreferencesRequestObject()
        {
            // Snippet: ListQuotaPreferences(ListQuotaPreferencesRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            ListQuotaPreferencesRequest request = new ListQuotaPreferencesRequest
            {
                ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
                Filter = "",
                OrderBy = "",
            };
            // Make the request
            PagedEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferences(request);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaPreference item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaPreferencesResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferencesAsync</summary>
        public async Task ListQuotaPreferencesRequestObjectAsync()
        {
            // Snippet: ListQuotaPreferencesAsync(ListQuotaPreferencesRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            ListQuotaPreferencesRequest request = new ListQuotaPreferencesRequest
            {
                ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
                Filter = "",
                OrderBy = "",
            };
            // Make the request
            PagedAsyncEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferencesAsync(request);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaPreference item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaPreferencesResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferences</summary>
        public void ListQuotaPreferences()
        {
            // Snippet: ListQuotaPreferences(string, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            // Make the request
            PagedEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferences(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaPreference item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaPreferencesResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferencesAsync</summary>
        public async Task ListQuotaPreferencesAsync()
        {
            // Snippet: ListQuotaPreferencesAsync(string, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            // Make the request
            PagedAsyncEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferencesAsync(parent);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaPreference item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaPreferencesResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferences</summary>
        public void ListQuotaPreferencesResourceNames()
        {
            // Snippet: ListQuotaPreferences(LocationName, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            // Make the request
            PagedEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferences(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (QuotaPreference item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListQuotaPreferencesResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for ListQuotaPreferencesAsync</summary>
        public async Task ListQuotaPreferencesResourceNamesAsync()
        {
            // Snippet: ListQuotaPreferencesAsync(LocationName, string, int?, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            // Make the request
            PagedAsyncEnumerable<ListQuotaPreferencesResponse, QuotaPreference> response = cloudQuotasClient.ListQuotaPreferencesAsync(parent);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((QuotaPreference item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListQuotaPreferencesResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (QuotaPreference item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<QuotaPreference> singlePage = await response.ReadPageAsync(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (QuotaPreference item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreference</summary>
        public void GetQuotaPreferenceRequestObject()
        {
            // Snippet: GetQuotaPreference(GetQuotaPreferenceRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            GetQuotaPreferenceRequest request = new GetQuotaPreferenceRequest
            {
                QuotaPreferenceName = QuotaPreferenceName.FromProjectLocationQuotaPreference("[PROJECT]", "[LOCATION]", "[QUOTA_PREFERENCE]"),
            };
            // Make the request
            QuotaPreference response = cloudQuotasClient.GetQuotaPreference(request);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreferenceAsync</summary>
        public async Task GetQuotaPreferenceRequestObjectAsync()
        {
            // Snippet: GetQuotaPreferenceAsync(GetQuotaPreferenceRequest, CallSettings)
            // Additional: GetQuotaPreferenceAsync(GetQuotaPreferenceRequest, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            GetQuotaPreferenceRequest request = new GetQuotaPreferenceRequest
            {
                QuotaPreferenceName = QuotaPreferenceName.FromProjectLocationQuotaPreference("[PROJECT]", "[LOCATION]", "[QUOTA_PREFERENCE]"),
            };
            // Make the request
            QuotaPreference response = await cloudQuotasClient.GetQuotaPreferenceAsync(request);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreference</summary>
        public void GetQuotaPreference()
        {
            // Snippet: GetQuotaPreference(string, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string name = "projects/[PROJECT]/locations/[LOCATION]/quotaPreferences/[QUOTA_PREFERENCE]";
            // Make the request
            QuotaPreference response = cloudQuotasClient.GetQuotaPreference(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreferenceAsync</summary>
        public async Task GetQuotaPreferenceAsync()
        {
            // Snippet: GetQuotaPreferenceAsync(string, CallSettings)
            // Additional: GetQuotaPreferenceAsync(string, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string name = "projects/[PROJECT]/locations/[LOCATION]/quotaPreferences/[QUOTA_PREFERENCE]";
            // Make the request
            QuotaPreference response = await cloudQuotasClient.GetQuotaPreferenceAsync(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreference</summary>
        public void GetQuotaPreferenceResourceNames()
        {
            // Snippet: GetQuotaPreference(QuotaPreferenceName, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            QuotaPreferenceName name = QuotaPreferenceName.FromProjectLocationQuotaPreference("[PROJECT]", "[LOCATION]", "[QUOTA_PREFERENCE]");
            // Make the request
            QuotaPreference response = cloudQuotasClient.GetQuotaPreference(name);
            // End snippet
        }

        /// <summary>Snippet for GetQuotaPreferenceAsync</summary>
        public async Task GetQuotaPreferenceResourceNamesAsync()
        {
            // Snippet: GetQuotaPreferenceAsync(QuotaPreferenceName, CallSettings)
            // Additional: GetQuotaPreferenceAsync(QuotaPreferenceName, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            QuotaPreferenceName name = QuotaPreferenceName.FromProjectLocationQuotaPreference("[PROJECT]", "[LOCATION]", "[QUOTA_PREFERENCE]");
            // Make the request
            QuotaPreference response = await cloudQuotasClient.GetQuotaPreferenceAsync(name);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreference</summary>
        public void CreateQuotaPreferenceRequestObject()
        {
            // Snippet: CreateQuotaPreference(CreateQuotaPreferenceRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            CreateQuotaPreferenceRequest request = new CreateQuotaPreferenceRequest
            {
                ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
                QuotaPreferenceId = "",
                QuotaPreference = new QuotaPreference(),
                IgnoreSafetyChecks =
                {
                    QuotaSafetyCheck.Unspecified,
                },
            };
            // Make the request
            QuotaPreference response = cloudQuotasClient.CreateQuotaPreference(request);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreferenceAsync</summary>
        public async Task CreateQuotaPreferenceRequestObjectAsync()
        {
            // Snippet: CreateQuotaPreferenceAsync(CreateQuotaPreferenceRequest, CallSettings)
            // Additional: CreateQuotaPreferenceAsync(CreateQuotaPreferenceRequest, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            CreateQuotaPreferenceRequest request = new CreateQuotaPreferenceRequest
            {
                ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
                QuotaPreferenceId = "",
                QuotaPreference = new QuotaPreference(),
                IgnoreSafetyChecks =
                {
                    QuotaSafetyCheck.Unspecified,
                },
            };
            // Make the request
            QuotaPreference response = await cloudQuotasClient.CreateQuotaPreferenceAsync(request);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreference</summary>
        public void CreateQuotaPreference1()
        {
            // Snippet: CreateQuotaPreference(string, QuotaPreference, string, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            QuotaPreference quotaPreference = new QuotaPreference();
            string quotaPreferenceId = "";
            // Make the request
            QuotaPreference response = cloudQuotasClient.CreateQuotaPreference(parent, quotaPreference, quotaPreferenceId);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreferenceAsync</summary>
        public async Task CreateQuotaPreference1Async()
        {
            // Snippet: CreateQuotaPreferenceAsync(string, QuotaPreference, string, CallSettings)
            // Additional: CreateQuotaPreferenceAsync(string, QuotaPreference, string, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            QuotaPreference quotaPreference = new QuotaPreference();
            string quotaPreferenceId = "";
            // Make the request
            QuotaPreference response = await cloudQuotasClient.CreateQuotaPreferenceAsync(parent, quotaPreference, quotaPreferenceId);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreference</summary>
        public void CreateQuotaPreference1ResourceNames()
        {
            // Snippet: CreateQuotaPreference(LocationName, QuotaPreference, string, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            QuotaPreference quotaPreference = new QuotaPreference();
            string quotaPreferenceId = "";
            // Make the request
            QuotaPreference response = cloudQuotasClient.CreateQuotaPreference(parent, quotaPreference, quotaPreferenceId);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreferenceAsync</summary>
        public async Task CreateQuotaPreference1ResourceNamesAsync()
        {
            // Snippet: CreateQuotaPreferenceAsync(LocationName, QuotaPreference, string, CallSettings)
            // Additional: CreateQuotaPreferenceAsync(LocationName, QuotaPreference, string, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            QuotaPreference quotaPreference = new QuotaPreference();
            string quotaPreferenceId = "";
            // Make the request
            QuotaPreference response = await cloudQuotasClient.CreateQuotaPreferenceAsync(parent, quotaPreference, quotaPreferenceId);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreference</summary>
        public void CreateQuotaPreference2()
        {
            // Snippet: CreateQuotaPreference(string, QuotaPreference, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            QuotaPreference quotaPreference = new QuotaPreference();
            // Make the request
            QuotaPreference response = cloudQuotasClient.CreateQuotaPreference(parent, quotaPreference);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreferenceAsync</summary>
        public async Task CreateQuotaPreference2Async()
        {
            // Snippet: CreateQuotaPreferenceAsync(string, QuotaPreference, CallSettings)
            // Additional: CreateQuotaPreferenceAsync(string, QuotaPreference, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            string parent = "projects/[PROJECT]/locations/[LOCATION]";
            QuotaPreference quotaPreference = new QuotaPreference();
            // Make the request
            QuotaPreference response = await cloudQuotasClient.CreateQuotaPreferenceAsync(parent, quotaPreference);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreference</summary>
        public void CreateQuotaPreference2ResourceNames()
        {
            // Snippet: CreateQuotaPreference(LocationName, QuotaPreference, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            QuotaPreference quotaPreference = new QuotaPreference();
            // Make the request
            QuotaPreference response = cloudQuotasClient.CreateQuotaPreference(parent, quotaPreference);
            // End snippet
        }

        /// <summary>Snippet for CreateQuotaPreferenceAsync</summary>
        public async Task CreateQuotaPreference2ResourceNamesAsync()
        {
            // Snippet: CreateQuotaPreferenceAsync(LocationName, QuotaPreference, CallSettings)
            // Additional: CreateQuotaPreferenceAsync(LocationName, QuotaPreference, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]");
            QuotaPreference quotaPreference = new QuotaPreference();
            // Make the request
            QuotaPreference response = await cloudQuotasClient.CreateQuotaPreferenceAsync(parent, quotaPreference);
            // End snippet
        }

        /// <summary>Snippet for UpdateQuotaPreference</summary>
        public void UpdateQuotaPreferenceRequestObject()
        {
            // Snippet: UpdateQuotaPreference(UpdateQuotaPreferenceRequest, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            UpdateQuotaPreferenceRequest request = new UpdateQuotaPreferenceRequest
            {
                UpdateMask = new FieldMask(),
                QuotaPreference = new QuotaPreference(),
                AllowMissing = false,
                ValidateOnly = false,
                IgnoreSafetyChecks =
                {
                    QuotaSafetyCheck.Unspecified,
                },
            };
            // Make the request
            QuotaPreference response = cloudQuotasClient.UpdateQuotaPreference(request);
            // End snippet
        }

        /// <summary>Snippet for UpdateQuotaPreferenceAsync</summary>
        public async Task UpdateQuotaPreferenceRequestObjectAsync()
        {
            // Snippet: UpdateQuotaPreferenceAsync(UpdateQuotaPreferenceRequest, CallSettings)
            // Additional: UpdateQuotaPreferenceAsync(UpdateQuotaPreferenceRequest, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            UpdateQuotaPreferenceRequest request = new UpdateQuotaPreferenceRequest
            {
                UpdateMask = new FieldMask(),
                QuotaPreference = new QuotaPreference(),
                AllowMissing = false,
                ValidateOnly = false,
                IgnoreSafetyChecks =
                {
                    QuotaSafetyCheck.Unspecified,
                },
            };
            // Make the request
            QuotaPreference response = await cloudQuotasClient.UpdateQuotaPreferenceAsync(request);
            // End snippet
        }

        /// <summary>Snippet for UpdateQuotaPreference</summary>
        public void UpdateQuotaPreference()
        {
            // Snippet: UpdateQuotaPreference(QuotaPreference, FieldMask, CallSettings)
            // Create client
            CloudQuotasClient cloudQuotasClient = CloudQuotasClient.Create();
            // Initialize request argument(s)
            QuotaPreference quotaPreference = new QuotaPreference();
            FieldMask updateMask = new FieldMask();
            // Make the request
            QuotaPreference response = cloudQuotasClient.UpdateQuotaPreference(quotaPreference, updateMask);
            // End snippet
        }

        /// <summary>Snippet for UpdateQuotaPreferenceAsync</summary>
        public async Task UpdateQuotaPreferenceAsync()
        {
            // Snippet: UpdateQuotaPreferenceAsync(QuotaPreference, FieldMask, CallSettings)
            // Additional: UpdateQuotaPreferenceAsync(QuotaPreference, FieldMask, CancellationToken)
            // Create client
            CloudQuotasClient cloudQuotasClient = await CloudQuotasClient.CreateAsync();
            // Initialize request argument(s)
            QuotaPreference quotaPreference = new QuotaPreference();
            FieldMask updateMask = new FieldMask();
            // Make the request
            QuotaPreference response = await cloudQuotasClient.UpdateQuotaPreferenceAsync(quotaPreference, updateMask);
            // End snippet
        }
    }
}

Go

// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go_gapic. DO NOT EDIT.

package cloudquotas_test

import (
	"context"

	cloudquotas "cloud.google.com/go/cloudquotas/apiv1"
	cloudquotaspb "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb"
	"google.golang.org/api/iterator"
)

func ExampleNewClient() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}

func ExampleNewRESTClient() {
	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 := cloudquotas.NewRESTClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}

func ExampleClient_CreateQuotaPreference() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.CreateQuotaPreferenceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#CreateQuotaPreferenceRequest.
	}
	resp, err := c.CreateQuotaPreference(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func ExampleClient_GetQuotaInfo() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.GetQuotaInfoRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#GetQuotaInfoRequest.
	}
	resp, err := c.GetQuotaInfo(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func ExampleClient_GetQuotaPreference() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.GetQuotaPreferenceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#GetQuotaPreferenceRequest.
	}
	resp, err := c.GetQuotaPreference(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func ExampleClient_ListQuotaInfos() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.ListQuotaInfosRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#ListQuotaInfosRequest.
	}
	it := c.ListQuotaInfos(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}

func ExampleClient_ListQuotaPreferences() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.ListQuotaPreferencesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#ListQuotaPreferencesRequest.
	}
	it := c.ListQuotaPreferences(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}

func ExampleClient_UpdateQuotaPreference() {
	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 := cloudquotas.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &cloudquotaspb.UpdateQuotaPreferenceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb#UpdateQuotaPreferenceRequest.
	}
	resp, err := c.UpdateQuotaPreference(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

/*
 * Copyright 2024 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.api.cloudquotas.v1.samples;

import com.google.api.cloudquotas.v1.CloudQuotasClient;
import com.google.api.cloudquotas.v1.GetQuotaInfoRequest;
import com.google.api.cloudquotas.v1.QuotaInfo;
import com.google.api.cloudquotas.v1.QuotaInfoName;

public class SyncGetQuotaInfo {

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

  public static void syncGetQuotaInfo() 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 (CloudQuotasClient cloudQuotasClient = CloudQuotasClient.create()) {
      GetQuotaInfoRequest request =
          GetQuotaInfoRequest.newBuilder()
              .setName(
                  QuotaInfoName.ofProjectLocationServiceQuotaInfoName(
                          "[PROJECT]", "[LOCATION]", "[SERVICE]", "[QUOTA_INFO]")
                      .toString())
              .build();
      QuotaInfo response = cloudQuotasClient.getQuotaInfo(request);
    }
  }
}

Node.js

// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ** This file is automatically generated by gapic-generator-typescript. **
// ** https://github.com/googleapis/gapic-generator-typescript **
// ** All changes to this file may be overwritten. **

'use strict';

function main(parent) {
  /**
   * 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. Parent value of QuotaPreference resources.
   *  Listing across different resource containers (such as 'projects/-') is not
   *  allowed.
   *  When the value starts with 'folders' or 'organizations', it lists the
   *  QuotaPreferences for org quotas in the container. It does not list the
   *  QuotaPreferences in the descendant projects of the container.
   *  Example parents:
   *  `projects/123/locations/global`
   */
  // const parent = 'abc123'
  /**
   *  Optional. Requested page size. Server may return fewer items than
   *  requested. If unspecified, server will pick an appropriate default.
   */
  // const pageSize = 1234
  /**
   *  Optional. A token identifying a page of results the server should return.
   */
  // const pageToken = 'abc123'
  /**
   *  Optional. Filter result QuotaPreferences by their state, type,
   *  create/update time range.
   *  Example filters:
   *  `state=PENDING OR state=PENDING_PARTIALLY_GRANTED`
   *  `state=PENDING OR state=PENDING_PARTIALLY_GRANTED AND
   *   creation_time>2022-12-03T10:30:00`
   *  If no filter is provided, returns all pending quota preferences.
   */
  // const filter = 'abc123'
  /**
   *  Optional. How to order of the results. By default, the results are ordered
   *  by create time.
   *  Example orders:
   *  `type`
   *  `state, create_time`
   */
  // const orderBy = 'abc123'

  // Imports the Cloudquotas library
  const {CloudQuotasClient} = require('@google-cloud/cloudquotas').v1;

  // Instantiates a client
  const cloudquotasClient = new CloudQuotasClient();

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

    // Run request
    const iterable = await cloudquotasClient.listQuotaPreferencesAsync(request);
    for await (const response of iterable) {
      console.log(response);
    }
  }

  callListQuotaPreferences();
}

process.on('unhandledRejection', err => {
  console.error(err.message);
  process.exitCode = 1;
});
main(...process.argv.slice(2));

PHP

<?php
/*
 * Copyright 2023 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * GENERATED CODE WARNING
 * This file was automatically generated - do not edit!
 */

require_once __DIR__ . '/../../../vendor/autoload.php';

use Google\ApiCore\ApiException;
use Google\Cloud\CloudQuotas\V1\Client\CloudQuotasClient;
use Google\Cloud\CloudQuotas\V1\GetQuotaInfoRequest;
use Google\Cloud\CloudQuotas\V1\QuotaInfo;

/**
 * Retrieve the QuotaInfo of a quota for a project, folder or organization.
 *
 * @param string $formattedName The resource name of the quota info.
 *
 *                              An example name:
 *                              `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`
 *                              Please see {@see CloudQuotasClient::quotaInfoName()} for help formatting this field.
 */
function get_quota_info_sample(string $formattedName): void
{
    // Create a client.
    $cloudQuotasClient = new CloudQuotasClient();

    // Prepare the request message.
    $request = (new GetQuotaInfoRequest())
        ->setName($formattedName);

    // Call the API and handle any network failures.
    try {
        /** @var QuotaInfo $response */
        $response = $cloudQuotasClient->getQuotaInfo($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
{
    $formattedName = CloudQuotasClient::quotaInfoName(
        '[PROJECT]',
        '[LOCATION]',
        '[SERVICE]',
        '[QUOTA_INFO]'
    );

    get_quota_info_sample($formattedName);
}

Python

# -*- coding: utf-8 -*-
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Generated code. DO NOT EDIT!
#
# Snippet for GetQuotaInfo
# NOTE: This snippet has been automatically generated for illustrative purposes only.
# It may require modifications to work in your environment.

# To install the latest published package dependency, execute the following:
#   python3 -m pip install google-cloud-quotas

# 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 cloudquotas_v1

def sample_get_quota_info():
    # Create a client
    client = cloudquotas_v1.CloudQuotasClient()

    # Initialize request argument(s)
    request = cloudquotas_v1.GetQuotaInfoRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_quota_info(request=request)

    # Handle the response
    print(response)

Ruby

# frozen_string_literal: true

# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Auto-generated by gapic-generator-ruby. DO NOT EDIT!

require "google/cloud/cloud_quotas/v1"

##
# Snippet for the get_quota_info call in the CloudQuotas 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::CloudQuotas::V1::CloudQuotas::Client#get_quota_info.
#
def get_quota_info
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::CloudQuotas::V1::CloudQuotas::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::CloudQuotas::V1::GetQuotaInfoRequest.new

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

  # The returned object is of type Google::Cloud::CloudQuotas::V1::QuotaInfo.
  p result
end

Weitere Ressourcen

C++

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für C++:

C#

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für C#:

Go

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für Go:

Java

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für Java:

Node.js

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für Node.js:

PHP

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für PHP:

Python

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für Python:

Ruby

Die folgende Liste enthält Links zu weiteren Ressourcen im Zusammenhang mit der Clientbibliothek für Ruby: