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
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>
34GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
88 return a.connection_ == b.connection_;
140 StatusOr<
google::iam::credentials::v1::GenerateAccessTokenResponse>
142 std::vector<std::string>
const& delegates,
143 std::vector<std::string>
const& scope,
144 google::protobuf::Duration
const& lifetime,
175 StatusOr<
google::iam::credentials::v1::GenerateAccessTokenResponse>
177 google::iam::credentials::v1::GenerateAccessTokenRequest
const& request,
220 StatusOr<
google::iam::credentials::v1::GenerateIdTokenResponse>
222 std::vector<std::string>
const& delegates,
223 std::string
const& audience,
bool include_email,
254 StatusOr<
google::iam::credentials::v1::GenerateIdTokenResponse>
256 google::iam::credentials::v1::GenerateIdTokenRequest
const& request,
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
= {});
328 StatusOr<
google::iam::credentials::v1::SignBlobResponse>
SignBlob(
329 google::iam::credentials::v1::SignBlobRequest
const& request,
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
= {});
401 StatusOr<
google::iam::credentials::v1::SignJwtResponse>
SignJwt(
402 google::iam::credentials::v1::SignJwtRequest
const& request,
410GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
411namespace gcpcxxV1 = GOOGLE_CLOUD_CPP_NS;
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