Google Cloud IAM C++ Client 2.13.0
A C++ Client Library for Google Cloud IAM
Loading...
Searching...
No Matches
iam_credentials_client.h
1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Generated by the Codegen C++ plugin.
16// If you make any local changes, they will be lost.
17// source: google/iam/credentials/v1/iamcredentials.proto
18
19#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_IAM_CREDENTIALS_V1_IAM_CREDENTIALS_CLIENT_H
20#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_IAM_CREDENTIALS_V1_IAM_CREDENTIALS_CLIENT_H
21
22#include "google/cloud/iam/credentials/v1/iam_credentials_connection.h"
23#include "google/cloud/future.h"
24#include "google/cloud/options.h"
25#include "google/cloud/polling_policy.h"
26#include "google/cloud/status_or.h"
27#include "google/cloud/version.h"
28#include <google/protobuf/duration.pb.h>
29#include <memory>
30
31namespace google {
32namespace cloud {
33namespace iam_credentials_v1 {
34GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
35
36///
37/// A service account is a special type of Google account that belongs to your
38/// application or a virtual machine (VM), instead of to an individual end user.
39/// Your application assumes the identity of the service account to call Google
40/// APIs, so that the users aren't directly involved.
41///
42/// Service account credentials are used to temporarily assume the identity
43/// of the service account. Supported credential types include OAuth 2.0 access
44/// tokens, OpenID Connect ID tokens, self-signed JSON Web Tokens (JWTs), and
45/// more.
46///
47/// @par Equality
48///
49/// Instances of this class created via copy-construction or copy-assignment
50/// always compare equal. Instances created with equal
51/// `std::shared_ptr<*Connection>` objects compare equal. Objects that compare
52/// equal share the same underlying resources.
53///
54/// @par Performance
55///
56/// Creating a new instance of this class is a relatively expensive operation,
57/// new objects establish new connections to the service. In contrast,
58/// copy-construction, move-construction, and the corresponding assignment
59/// operations are relatively efficient as the copies share all underlying
60/// resources.
61///
62/// @par Thread Safety
63///
64/// Concurrent access to different instances of this class, even if they compare
65/// equal, is guaranteed to work. Two or more threads operating on the same
66/// instance of this class is not guaranteed to work. Since copy-construction
67/// and move-construction is a relatively efficient operation, consider using
68/// such a copy when using this class from multiple threads.
69///
71 public:
72 explicit IAMCredentialsClient(
73 std::shared_ptr<IAMCredentialsConnection> connection, Options opts = {});
75
76 ///@{
77 /// @name Copy and move support
82 ///@}
83
84 ///@{
85 /// @name Equality
86 friend bool operator==(IAMCredentialsClient const& a,
87 IAMCredentialsClient const& b) {
88 return a.connection_ == b.connection_;
89 }
90 friend bool operator!=(IAMCredentialsClient const& a,
91 IAMCredentialsClient const& b) {
92 return !(a == b);
93 }
94 ///@}
95
96 // clang-format off
97 ///
98 /// Generates an OAuth 2.0 access token for a service account.
99 ///
100 /// @param name Required. The resource name of the service account for which the credentials
101 /// are requested, in the following format:
102 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
103 /// character is required; replacing it with a project ID is invalid.
104 /// @param delegates The sequence of service accounts in a delegation chain. Each service
105 /// account must be granted the `roles/iam.serviceAccountTokenCreator` role
106 /// on its next service account in the chain. The last service account in the
107 /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role
108 /// on the service account that is specified in the `name` field of the
109 /// request.
110 /// @n
111 /// The delegates must have the following format:
112 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
113 /// character is required; replacing it with a project ID is invalid.
114 /// @param scope Required. Code to identify the scopes to be included in the OAuth 2.0 access token.
115 /// See https://developers.google.com/identity/protocols/googlescopes for more
116 /// information.
117 /// At least one value required.
118 /// @param lifetime The desired lifetime duration of the access token in seconds.
119 /// Must be set to a value less than or equal to 3600 (1 hour). If a value is
120 /// not specified, the token's lifetime will be set to a default value of one
121 /// hour.
122 /// @param opts Optional. Override the class-level options, such as retry and
123 /// backoff policies.
124 /// @return the result of the RPC. The response message type
125 /// ([google.iam.credentials.v1.GenerateAccessTokenResponse])
126 /// is mapped to a C++ class using the [Protobuf mapping rules].
127 /// If the request fails, the [`StatusOr`] contains the error details.
128 ///
129 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
130 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
131 /// [Long Running Operation]: https://google.aip.dev/151
132 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
133 /// [`future`]: @ref google::cloud::future
134 /// [`StatusOr`]: @ref google::cloud::StatusOr
135 /// [`Status`]: @ref google::cloud::Status
136 /// [google.iam.credentials.v1.GenerateAccessTokenRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L36}
137 /// [google.iam.credentials.v1.GenerateAccessTokenResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L73}
138 ///
139 // clang-format on
140 StatusOr<google::iam::credentials::v1::GenerateAccessTokenResponse>
141 GenerateAccessToken(std::string const& name,
142 std::vector<std::string> const& delegates,
143 std::vector<std::string> const& scope,
144 google::protobuf::Duration const& lifetime,
145 Options opts = {});
146
147 // clang-format off
148 ///
149 /// Generates an OAuth 2.0 access token for a service account.
150 ///
151 /// @param request Unary RPCs, such as the one wrapped by this
152 /// function, receive a single `request` proto message which includes all
153 /// the inputs for the RPC. In this case, the proto message is a
154 /// [google.iam.credentials.v1.GenerateAccessTokenRequest].
155 /// Proto messages are converted to C++ classes by Protobuf, using the
156 /// [Protobuf mapping rules].
157 /// @param opts Optional. Override the class-level options, such as retry and
158 /// backoff policies.
159 /// @return the result of the RPC. The response message type
160 /// ([google.iam.credentials.v1.GenerateAccessTokenResponse])
161 /// is mapped to a C++ class using the [Protobuf mapping rules].
162 /// If the request fails, the [`StatusOr`] contains the error details.
163 ///
164 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
165 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
166 /// [Long Running Operation]: https://google.aip.dev/151
167 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
168 /// [`future`]: @ref google::cloud::future
169 /// [`StatusOr`]: @ref google::cloud::StatusOr
170 /// [`Status`]: @ref google::cloud::Status
171 /// [google.iam.credentials.v1.GenerateAccessTokenRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L36}
172 /// [google.iam.credentials.v1.GenerateAccessTokenResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L73}
173 ///
174 // clang-format on
175 StatusOr<google::iam::credentials::v1::GenerateAccessTokenResponse>
177 google::iam::credentials::v1::GenerateAccessTokenRequest const& request,
178 Options opts = {});
179
180 // clang-format off
181 ///
182 /// Generates an OpenID Connect ID token for a service account.
183 ///
184 /// @param name Required. The resource name of the service account for which the credentials
185 /// are requested, in the following format:
186 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
187 /// character is required; replacing it with a project ID is invalid.
188 /// @param delegates The sequence of service accounts in a delegation chain. Each service
189 /// account must be granted the `roles/iam.serviceAccountTokenCreator` role
190 /// on its next service account in the chain. The last service account in the
191 /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role
192 /// on the service account that is specified in the `name` field of the
193 /// request.
194 /// @n
195 /// The delegates must have the following format:
196 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
197 /// character is required; replacing it with a project ID is invalid.
198 /// @param audience Required. The audience for the token, such as the API or account that this token
199 /// grants access to.
200 /// @param include_email Include the service account email in the token. If set to `true`, the
201 /// token will contain `email` and `email_verified` claims.
202 /// @param opts Optional. Override the class-level options, such as retry and
203 /// backoff policies.
204 /// @return the result of the RPC. The response message type
205 /// ([google.iam.credentials.v1.GenerateIdTokenResponse])
206 /// is mapped to a C++ class using the [Protobuf mapping rules].
207 /// If the request fails, the [`StatusOr`] contains the error details.
208 ///
209 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
210 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
211 /// [Long Running Operation]: https://google.aip.dev/151
212 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
213 /// [`future`]: @ref google::cloud::future
214 /// [`StatusOr`]: @ref google::cloud::StatusOr
215 /// [`Status`]: @ref google::cloud::Status
216 /// [google.iam.credentials.v1.GenerateIdTokenRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L154}
217 /// [google.iam.credentials.v1.GenerateIdTokenResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L187}
218 ///
219 // clang-format on
220 StatusOr<google::iam::credentials::v1::GenerateIdTokenResponse>
221 GenerateIdToken(std::string const& name,
222 std::vector<std::string> const& delegates,
223 std::string const& audience, bool include_email,
224 Options opts = {});
225
226 // clang-format off
227 ///
228 /// Generates an OpenID Connect ID token for a service account.
229 ///
230 /// @param request Unary RPCs, such as the one wrapped by this
231 /// function, receive a single `request` proto message which includes all
232 /// the inputs for the RPC. In this case, the proto message is a
233 /// [google.iam.credentials.v1.GenerateIdTokenRequest].
234 /// Proto messages are converted to C++ classes by Protobuf, using the
235 /// [Protobuf mapping rules].
236 /// @param opts Optional. Override the class-level options, such as retry and
237 /// backoff policies.
238 /// @return the result of the RPC. The response message type
239 /// ([google.iam.credentials.v1.GenerateIdTokenResponse])
240 /// is mapped to a C++ class using the [Protobuf mapping rules].
241 /// If the request fails, the [`StatusOr`] contains the error details.
242 ///
243 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
244 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
245 /// [Long Running Operation]: https://google.aip.dev/151
246 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
247 /// [`future`]: @ref google::cloud::future
248 /// [`StatusOr`]: @ref google::cloud::StatusOr
249 /// [`Status`]: @ref google::cloud::Status
250 /// [google.iam.credentials.v1.GenerateIdTokenRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L154}
251 /// [google.iam.credentials.v1.GenerateIdTokenResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L187}
252 ///
253 // clang-format on
254 StatusOr<google::iam::credentials::v1::GenerateIdTokenResponse>
256 google::iam::credentials::v1::GenerateIdTokenRequest const& request,
257 Options opts = {});
258
259 // clang-format off
260 ///
261 /// Signs a blob using a service account's system-managed private key.
262 ///
263 /// @param name Required. The resource name of the service account for which the credentials
264 /// are requested, in the following format:
265 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
266 /// character is required; replacing it with a project ID is invalid.
267 /// @param delegates The sequence of service accounts in a delegation chain. Each service
268 /// account must be granted the `roles/iam.serviceAccountTokenCreator` role
269 /// on its next service account in the chain. The last service account in the
270 /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role
271 /// on the service account that is specified in the `name` field of the
272 /// request.
273 /// @n
274 /// The delegates must have the following format:
275 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
276 /// character is required; replacing it with a project ID is invalid.
277 /// @param payload Required. The bytes to sign.
278 /// @param opts Optional. Override the class-level options, such as retry and
279 /// backoff policies.
280 /// @return the result of the RPC. The response message type
281 /// ([google.iam.credentials.v1.SignBlobResponse])
282 /// is mapped to a C++ class using the [Protobuf mapping rules].
283 /// If the request fails, the [`StatusOr`] contains the error details.
284 ///
285 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
286 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
287 /// [Long Running Operation]: https://google.aip.dev/151
288 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
289 /// [`future`]: @ref google::cloud::future
290 /// [`StatusOr`]: @ref google::cloud::StatusOr
291 /// [`Status`]: @ref google::cloud::Status
292 /// [google.iam.credentials.v1.SignBlobRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L82}
293 /// [google.iam.credentials.v1.SignBlobResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L110}
294 ///
295 // clang-format on
296 StatusOr<google::iam::credentials::v1::SignBlobResponse> SignBlob(
297 std::string const& name, std::vector<std::string> const& delegates,
298 std::string const& payload, Options opts = {});
299
300 // clang-format off
301 ///
302 /// Signs a blob using a service account's system-managed private key.
303 ///
304 /// @param request Unary RPCs, such as the one wrapped by this
305 /// function, receive a single `request` proto message which includes all
306 /// the inputs for the RPC. In this case, the proto message is a
307 /// [google.iam.credentials.v1.SignBlobRequest].
308 /// Proto messages are converted to C++ classes by Protobuf, using the
309 /// [Protobuf mapping rules].
310 /// @param opts Optional. Override the class-level options, such as retry and
311 /// backoff policies.
312 /// @return the result of the RPC. The response message type
313 /// ([google.iam.credentials.v1.SignBlobResponse])
314 /// is mapped to a C++ class using the [Protobuf mapping rules].
315 /// If the request fails, the [`StatusOr`] contains the error details.
316 ///
317 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
318 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
319 /// [Long Running Operation]: https://google.aip.dev/151
320 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
321 /// [`future`]: @ref google::cloud::future
322 /// [`StatusOr`]: @ref google::cloud::StatusOr
323 /// [`Status`]: @ref google::cloud::Status
324 /// [google.iam.credentials.v1.SignBlobRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L82}
325 /// [google.iam.credentials.v1.SignBlobResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L110}
326 ///
327 // clang-format on
328 StatusOr<google::iam::credentials::v1::SignBlobResponse> SignBlob(
329 google::iam::credentials::v1::SignBlobRequest const& request,
330 Options opts = {});
331
332 // clang-format off
333 ///
334 /// Signs a JWT using a service account's system-managed private key.
335 ///
336 /// @param name Required. The resource name of the service account for which the credentials
337 /// are requested, in the following format:
338 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
339 /// character is required; replacing it with a project ID is invalid.
340 /// @param delegates The sequence of service accounts in a delegation chain. Each service
341 /// account must be granted the `roles/iam.serviceAccountTokenCreator` role
342 /// on its next service account in the chain. The last service account in the
343 /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role
344 /// on the service account that is specified in the `name` field of the
345 /// request.
346 /// @n
347 /// The delegates must have the following format:
348 /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
349 /// character is required; replacing it with a project ID is invalid.
350 /// @param payload Required. The JWT payload to sign: a JSON object that contains a JWT Claims Set.
351 /// @param opts Optional. Override the class-level options, such as retry and
352 /// backoff policies.
353 /// @return the result of the RPC. The response message type
354 /// ([google.iam.credentials.v1.SignJwtResponse])
355 /// is mapped to a C++ class using the [Protobuf mapping rules].
356 /// If the request fails, the [`StatusOr`] contains the error details.
357 ///
358 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
359 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
360 /// [Long Running Operation]: https://google.aip.dev/151
361 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
362 /// [`future`]: @ref google::cloud::future
363 /// [`StatusOr`]: @ref google::cloud::StatusOr
364 /// [`Status`]: @ref google::cloud::Status
365 /// [google.iam.credentials.v1.SignJwtRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L118}
366 /// [google.iam.credentials.v1.SignJwtResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L146}
367 ///
368 // clang-format on
369 StatusOr<google::iam::credentials::v1::SignJwtResponse> SignJwt(
370 std::string const& name, std::vector<std::string> const& delegates,
371 std::string const& payload, Options opts = {});
372
373 // clang-format off
374 ///
375 /// Signs a JWT using a service account's system-managed private key.
376 ///
377 /// @param request Unary RPCs, such as the one wrapped by this
378 /// function, receive a single `request` proto message which includes all
379 /// the inputs for the RPC. In this case, the proto message is a
380 /// [google.iam.credentials.v1.SignJwtRequest].
381 /// Proto messages are converted to C++ classes by Protobuf, using the
382 /// [Protobuf mapping rules].
383 /// @param opts Optional. Override the class-level options, such as retry and
384 /// backoff policies.
385 /// @return the result of the RPC. The response message type
386 /// ([google.iam.credentials.v1.SignJwtResponse])
387 /// is mapped to a C++ class using the [Protobuf mapping rules].
388 /// If the request fails, the [`StatusOr`] contains the error details.
389 ///
390 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
391 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
392 /// [Long Running Operation]: https://google.aip.dev/151
393 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
394 /// [`future`]: @ref google::cloud::future
395 /// [`StatusOr`]: @ref google::cloud::StatusOr
396 /// [`Status`]: @ref google::cloud::Status
397 /// [google.iam.credentials.v1.SignJwtRequest]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L118}
398 /// [google.iam.credentials.v1.SignJwtResponse]: @googleapis_reference_link{google/iam/credentials/v1/common.proto#L146}
399 ///
400 // clang-format on
401 StatusOr<google::iam::credentials::v1::SignJwtResponse> SignJwt(
402 google::iam::credentials::v1::SignJwtRequest const& request,
403 Options opts = {});
404
405 private:
406 std::shared_ptr<IAMCredentialsConnection> connection_;
407 Options options_;
408};
409
410GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
411namespace gcpcxxV1 = GOOGLE_CLOUD_CPP_NS; // NOLINT(misc-unused-alias-decls)
412} // namespace iam_credentials_v1
413} // namespace cloud
414} // namespace google
415
416#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_IAM_CREDENTIALS_V1_IAM_CREDENTIALS_CLIENT_H
A service account is a special type of Google account that belongs to your application or a virtual m...
Definition: iam_credentials_client.h:70
StatusOr< google::iam::credentials::v1::SignBlobResponse > SignBlob(google::iam::credentials::v1::SignBlobRequest const &request, Options opts={})
Signs a blob using a service account's system-managed private key.
StatusOr< google::iam::credentials::v1::GenerateAccessTokenResponse > GenerateAccessToken(google::iam::credentials::v1::GenerateAccessTokenRequest const &request, Options opts={})
Generates an OAuth 2.0 access token for a service account.
IAMCredentialsClient & operator=(IAMCredentialsClient const &)=default
StatusOr< google::iam::credentials::v1::GenerateIdTokenResponse > GenerateIdToken(google::iam::credentials::v1::GenerateIdTokenRequest const &request, Options opts={})
Generates an OpenID Connect ID token for a service account.
StatusOr< google::iam::credentials::v1::SignBlobResponse > SignBlob(std::string const &name, std::vector< std::string > const &delegates, std::string const &payload, Options opts={})
Signs a blob using a service account's system-managed private key.
StatusOr< google::iam::credentials::v1::SignJwtResponse > SignJwt(google::iam::credentials::v1::SignJwtRequest const &request, Options opts={})
Signs a JWT using a service account's system-managed private key.
StatusOr< google::iam::credentials::v1::GenerateAccessTokenResponse > GenerateAccessToken(std::string const &name, std::vector< std::string > const &delegates, std::vector< std::string > const &scope, google::protobuf::Duration const &lifetime, Options opts={})
Generates an OAuth 2.0 access token for a service account.
StatusOr< google::iam::credentials::v1::GenerateIdTokenResponse > GenerateIdToken(std::string const &name, std::vector< std::string > const &delegates, std::string const &audience, bool include_email, Options opts={})
Generates an OpenID Connect ID token for a service account.
friend bool operator==(IAMCredentialsClient const &a, IAMCredentialsClient const &b)
Definition: iam_credentials_client.h:86
IAMCredentialsClient(IAMCredentialsClient &&)=default
friend bool operator!=(IAMCredentialsClient const &a, IAMCredentialsClient const &b)
Definition: iam_credentials_client.h:90
StatusOr< google::iam::credentials::v1::SignJwtResponse > SignJwt(std::string const &name, std::vector< std::string > const &delegates, std::string const &payload, Options opts={})
Signs a JWT using a service account's system-managed private key.
IAMCredentialsClient(IAMCredentialsClient const &)=default
IAMCredentialsClient(std::shared_ptr< IAMCredentialsConnection > connection, Options opts={})
IAMCredentialsClient & operator=(IAMCredentialsClient &&)=default
The IAMCredentialsConnection object for IAMCredentialsClient.
Definition: iam_credentials_connection.h:60
Definition: iam_credentials_client.h:33