Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ for details on updating existing applications using v1.x.y or v2.x.y.

## v3.8.0 - TBD

### [Cloud Quotas API](/google/cloud/cloudquotas/README.md)
- The library has been expanded to include the QuotaAdjusterSettingsManager service.

## v3.7.0 - 2026-07

### Removed Libraries
Expand Down
Binary file modified ci/abi-dumps/google_cloud_cpp_cloudquotas.expected.abi.dump.gz
Binary file not shown.
7 changes: 7 additions & 0 deletions generator/generator_config.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,13 @@ service {
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/api/cloudquotas/v1/quota_adjuster_settings.proto"
product_path: "google/cloud/cloudquotas/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

# Cloud Security Compliance
service {
service_proto_path: "google/cloud/cloudsecuritycompliance/v1/config.proto"
Expand Down
4 changes: 4 additions & 0 deletions google/cloud/cloudquotas/doc/environment-variables.dox
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ environment variables are convenient when troubleshooting problems.
`EndpointOption` (which defaults to "cloudquotas.googleapis.com")
used by `MakeCloudQuotasConnection()`.

- `GOOGLE_CLOUD_CPP_QUOTA_ADJUSTER_SETTINGS_MANAGER_ENDPOINT=...` overrides the
`EndpointOption` (which defaults to "cloudquotas.googleapis.com")
used by `MakeQuotaAdjusterSettingsManagerConnection()`.

<!-- inject-endpoint-env-vars-end -->

@see google::cloud::EndpointOption
Expand Down
16 changes: 11 additions & 5 deletions google/cloud/cloudquotas/doc/main.dox
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,18 @@ which should give you a taste of the Cloud Quotas API C++ client library API.
## Main classes

<!-- inject-client-list-start -->
The main class in this library is
[`cloudquotas_v1::CloudQuotasClient`](@ref google::cloud::cloudquotas_v1::CloudQuotasClient). All RPCs are exposed
as member functions of this class. Other classes provide helpers, configuration
parameters, and infrastructure to mock
[`cloudquotas_v1::CloudQuotasClient`](@ref google::cloud::cloudquotas_v1::CloudQuotasClient) when testing your
This library offers multiple `*Client` classes, which are listed below. Each one
of these classes exposes all the RPCs for a service as member functions of the
class. This library groups multiple services because they are part of the same
product or are often used together. A typical example may be the administrative
and data plane operations for a single product.

The library also has other classes that provide helpers, configuration
parameters, and infrastructure to mock the `*Client` classes when testing your
application.

- [\c cloudquotas_v1::CloudQuotasClient](@ref google::cloud::cloudquotas_v1::CloudQuotasClient)
- [\c cloudquotas_v1::QuotaAdjusterSettingsManagerClient](@ref google::cloud::cloudquotas_v1::QuotaAdjusterSettingsManagerClient)
<!-- inject-client-list-end -->

## More Information
Expand Down
11 changes: 11 additions & 0 deletions google/cloud/cloudquotas/doc/override-authentication.dox
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ The following example shows how to explicitly load a service account key file:
<!-- inject-service-account-snippet-start -->
@snippet cloud_quotas_client_samples.cc with-service-account

Follow these links to find examples for other \c *Client classes:

- [\c cloudquotas_v1::CloudQuotasClient](@ref cloudquotas_v1::CloudQuotasClient-service-account-snippet)
- [\c cloudquotas_v1::QuotaAdjusterSettingsManagerClient](@ref cloudquotas_v1::QuotaAdjusterSettingsManagerClient-service-account-snippet)

<!-- inject-service-account-snippet-end -->

Keep in mind that we chose this as an example because it is relatively easy to
Expand All @@ -31,5 +36,11 @@ guide for more details.

@snippet google/cloud/cloudquotas/v1/samples/cloud_quotas_client_samples.cc with-service-account

*/

/*! @page cloudquotas_v1::QuotaAdjusterSettingsManagerClient-service-account-snippet Override cloudquotas_v1::QuotaAdjusterSettingsManagerClient Authentication Defaults

@snippet google/cloud/cloudquotas/v1/samples/quota_adjuster_settings_manager_client_samples.cc with-service-account

*/
// <!-- inject-authentication-pages-end -->
11 changes: 11 additions & 0 deletions google/cloud/cloudquotas/doc/override-endpoint.dox
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ For example, this will override the default endpoint for `cloudquotas_v1::CloudQ

@snippet cloud_quotas_client_samples.cc set-client-endpoint

Follow these links to find examples for other \c *Client classes:

- [\c cloudquotas_v1::CloudQuotasClient](@ref cloudquotas_v1::CloudQuotasClient-endpoint-snippet)
- [\c cloudquotas_v1::QuotaAdjusterSettingsManagerClient](@ref cloudquotas_v1::QuotaAdjusterSettingsManagerClient-endpoint-snippet)

<!-- inject-endpoint-snippet-end -->

*/
Expand All @@ -21,5 +26,11 @@ For example, this will override the default endpoint for `cloudquotas_v1::CloudQ

@snippet google/cloud/cloudquotas/v1/samples/cloud_quotas_client_samples.cc set-client-endpoint

*/

/*! @page cloudquotas_v1::QuotaAdjusterSettingsManagerClient-endpoint-snippet Override cloudquotas_v1::QuotaAdjusterSettingsManagerClient Endpoint Configuration

@snippet google/cloud/cloudquotas/v1/samples/quota_adjuster_settings_manager_client_samples.cc set-client-endpoint

*/
// <!-- inject-endpoint-pages-end -->
17 changes: 17 additions & 0 deletions google/cloud/cloudquotas/doc/override-retry-policies.dox
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ This assumes you have created a custom idempotency policy. Such as:
@snippet cloud_quotas_client_samples.cc custom-idempotency-policy


Follow these links to find examples for other \c *Client classes:

- [\c cloudquotas_v1::CloudQuotasClient](@ref cloudquotas_v1::CloudQuotasClient-retry-snippet)
- [\c cloudquotas_v1::QuotaAdjusterSettingsManagerClient](@ref cloudquotas_v1::QuotaAdjusterSettingsManagerClient-retry-snippet)

<!-- inject-retry-snippet-end -->

@section cloudquotas-override-retry-more-information More Information
Expand All @@ -100,5 +105,17 @@ Assuming you have created a custom idempotency policy. Such as:

@snippet google/cloud/cloudquotas/v1/samples/cloud_quotas_client_samples.cc custom-idempotency-policy

*/

/*! @page cloudquotas_v1::QuotaAdjusterSettingsManagerClient-retry-snippet Override cloudquotas_v1::QuotaAdjusterSettingsManagerClient Retry Policies

This shows how to override the retry policies for cloudquotas_v1::QuotaAdjusterSettingsManagerClient:

@snippet google/cloud/cloudquotas/v1/samples/quota_adjuster_settings_manager_client_samples.cc set-retry-policy

Assuming you have created a custom idempotency policy. Such as:

@snippet google/cloud/cloudquotas/v1/samples/quota_adjuster_settings_manager_client_samples.cc custom-idempotency-policy

*/
// <!-- inject-retry-pages-end -->
11 changes: 11 additions & 0 deletions google/cloud/cloudquotas/doc/override-universe-domain.dox
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ For example, this will override the default universe domain for `cloudquotas_v1:

@snippet cloud_quotas_client_samples.cc set-client-universe-domain

Follow these links to find examples for other \c *Client classes:

- [\c cloudquotas_v1::CloudQuotasClient](@ref cloudquotas_v1::CloudQuotasClient-universe-domain-snippet)
- [\c cloudquotas_v1::QuotaAdjusterSettingsManagerClient](@ref cloudquotas_v1::QuotaAdjusterSettingsManagerClient-universe-domain-snippet)

<!-- inject-universe-domain-snippet-end -->

*/
Expand All @@ -20,5 +25,11 @@ For example, this will override the default universe domain for `cloudquotas_v1:

@snippet google/cloud/cloudquotas/v1/samples/cloud_quotas_client_samples.cc set-client-universe-domain

*/

/*! @page cloudquotas_v1::QuotaAdjusterSettingsManagerClient-universe-domain-snippet Override cloudquotas_v1::QuotaAdjusterSettingsManagerClient Universe Domain

@snippet google/cloud/cloudquotas/v1/samples/quota_adjuster_settings_manager_client_samples.cc set-client-universe-domain

*/
// <!-- inject-universe-domain-pages-end -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Copyright 2026 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 by the Codegen C++ plugin.
// If you make any local changes, they will be lost.
// source: google/api/cloudquotas/v1/quota_adjuster_settings.proto

#include "google/cloud/cloudquotas/v1/internal/quota_adjuster_settings_manager_auth_decorator.h"
#include "google/api/cloudquotas/v1/quota_adjuster_settings.grpc.pb.h"
#include <memory>
#include <utility>

// Must be included last.
#include "google/cloud/ports_def.inc"

namespace google {
namespace cloud {
namespace cloudquotas_v1_internal {
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN

QuotaAdjusterSettingsManagerAuth::QuotaAdjusterSettingsManagerAuth(
std::shared_ptr<google::cloud::internal::GrpcAuthenticationStrategy> auth,
std::shared_ptr<QuotaAdjusterSettingsManagerStub> child)
: auth_(std::move(auth)), child_(std::move(child)) {}

StatusOr<google::api::cloudquotas::v1::QuotaAdjusterSettings>
QuotaAdjusterSettingsManagerAuth::UpdateQuotaAdjusterSettings(
grpc::ClientContext& context, Options const& options,
google::api::cloudquotas::v1::UpdateQuotaAdjusterSettingsRequest const&
request) {
auto status = auth_->ConfigureContext(context);
if (!status.ok()) return status;
return child_->UpdateQuotaAdjusterSettings(context, options, request);
}

StatusOr<google::api::cloudquotas::v1::QuotaAdjusterSettings>
QuotaAdjusterSettingsManagerAuth::GetQuotaAdjusterSettings(
grpc::ClientContext& context, Options const& options,
google::api::cloudquotas::v1::GetQuotaAdjusterSettingsRequest const&
request) {
auto status = auth_->ConfigureContext(context);
if (!status.ok()) return status;
return child_->GetQuotaAdjusterSettings(context, options, request);
}

GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
} // namespace cloudquotas_v1_internal
} // namespace cloud
} // namespace google

#include "google/cloud/ports_undef.inc"
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
// Copyright 2026 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 by the Codegen C++ plugin.
// If you make any local changes, they will be lost.
// source: google/api/cloudquotas/v1/quota_adjuster_settings.proto

#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CLOUDQUOTAS_V1_INTERNAL_QUOTA_ADJUSTER_SETTINGS_MANAGER_AUTH_DECORATOR_H
#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CLOUDQUOTAS_V1_INTERNAL_QUOTA_ADJUSTER_SETTINGS_MANAGER_AUTH_DECORATOR_H

#include "google/cloud/cloudquotas/v1/internal/quota_adjuster_settings_manager_stub.h"
#include "google/cloud/internal/unified_grpc_credentials.h"
#include "google/cloud/version.h"
#include <memory>
#include <set>
#include <string>

// Must be included last.
#include "google/cloud/ports_def.inc"

namespace google {
namespace cloud {
namespace cloudquotas_v1_internal {
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN

class QuotaAdjusterSettingsManagerAuth
: public QuotaAdjusterSettingsManagerStub {
public:
~QuotaAdjusterSettingsManagerAuth() override = default;
QuotaAdjusterSettingsManagerAuth(
std::shared_ptr<google::cloud::internal::GrpcAuthenticationStrategy> auth,
std::shared_ptr<QuotaAdjusterSettingsManagerStub> child);

StatusOr<google::api::cloudquotas::v1::QuotaAdjusterSettings>
UpdateQuotaAdjusterSettings(
grpc::ClientContext& context, Options const& options,
google::api::cloudquotas::v1::UpdateQuotaAdjusterSettingsRequest const&
request) override;

StatusOr<google::api::cloudquotas::v1::QuotaAdjusterSettings>
GetQuotaAdjusterSettings(
grpc::ClientContext& context, Options const& options,
google::api::cloudquotas::v1::GetQuotaAdjusterSettingsRequest const&
request) override;

private:
std::shared_ptr<google::cloud::internal::GrpcAuthenticationStrategy> auth_;
std::shared_ptr<QuotaAdjusterSettingsManagerStub> child_;
};

GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
} // namespace cloudquotas_v1_internal
} // namespace cloud
} // namespace google

#include "google/cloud/ports_undef.inc"

#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CLOUDQUOTAS_V1_INTERNAL_QUOTA_ADJUSTER_SETTINGS_MANAGER_AUTH_DECORATOR_H
Loading
Loading