1361 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			1361 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Go
		
	
	
	
| // Copyright 2025 Google LLC.
 | |
| // Use of this source code is governed by a BSD-style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| // Code generated file. DO NOT EDIT.
 | |
| 
 | |
| // Package iamcredentials provides access to the IAM Service Account Credentials API.
 | |
| //
 | |
| // For product documentation, see: https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials
 | |
| //
 | |
| // # Library status
 | |
| //
 | |
| // These client libraries are officially supported by Google. However, this
 | |
| // library is considered complete and is in maintenance mode. This means
 | |
| // that we will address critical bugs and security issues but will not add
 | |
| // any new features.
 | |
| //
 | |
| // When possible, we recommend using our newer
 | |
| // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
 | |
| // that are still actively being worked and iterated on.
 | |
| //
 | |
| // # Creating a client
 | |
| //
 | |
| // Usage example:
 | |
| //
 | |
| //	import "google.golang.org/api/iamcredentials/v1"
 | |
| //	...
 | |
| //	ctx := context.Background()
 | |
| //	iamcredentialsService, err := iamcredentials.NewService(ctx)
 | |
| //
 | |
| // In this example, Google Application Default Credentials are used for
 | |
| // authentication. For information on how to create and obtain Application
 | |
| // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
 | |
| //
 | |
| // # Other authentication options
 | |
| //
 | |
| // To use an API key for authentication (note: some APIs do not support API
 | |
| // keys), use [google.golang.org/api/option.WithAPIKey]:
 | |
| //
 | |
| //	iamcredentialsService, err := iamcredentials.NewService(ctx, option.WithAPIKey("AIza..."))
 | |
| //
 | |
| // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
 | |
| // flow, use [google.golang.org/api/option.WithTokenSource]:
 | |
| //
 | |
| //	config := &oauth2.Config{...}
 | |
| //	// ...
 | |
| //	token, err := config.Exchange(ctx, ...)
 | |
| //	iamcredentialsService, err := iamcredentials.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
 | |
| //
 | |
| // See [google.golang.org/api/option.ClientOption] for details on options.
 | |
| package iamcredentials // import "google.golang.org/api/iamcredentials/v1"
 | |
| 
 | |
| import (
 | |
| 	"bytes"
 | |
| 	"context"
 | |
| 	"encoding/json"
 | |
| 	"errors"
 | |
| 	"fmt"
 | |
| 	"io"
 | |
| 	"log/slog"
 | |
| 	"net/http"
 | |
| 	"net/url"
 | |
| 	"strconv"
 | |
| 	"strings"
 | |
| 
 | |
| 	"github.com/googleapis/gax-go/v2/internallog"
 | |
| 	googleapi "google.golang.org/api/googleapi"
 | |
| 	internal "google.golang.org/api/internal"
 | |
| 	gensupport "google.golang.org/api/internal/gensupport"
 | |
| 	option "google.golang.org/api/option"
 | |
| 	internaloption "google.golang.org/api/option/internaloption"
 | |
| 	htransport "google.golang.org/api/transport/http"
 | |
| )
 | |
| 
 | |
| // Always reference these packages, just in case the auto-generated code
 | |
| // below doesn't.
 | |
| var _ = bytes.NewBuffer
 | |
| var _ = strconv.Itoa
 | |
| var _ = fmt.Sprintf
 | |
| var _ = json.NewDecoder
 | |
| var _ = io.Copy
 | |
| var _ = url.Parse
 | |
| var _ = gensupport.MarshalJSON
 | |
| var _ = googleapi.Version
 | |
| var _ = errors.New
 | |
| var _ = strings.Replace
 | |
| var _ = context.Canceled
 | |
| var _ = internaloption.WithDefaultEndpoint
 | |
| var _ = internal.Version
 | |
| var _ = internallog.New
 | |
| 
 | |
| const apiId = "iamcredentials:v1"
 | |
| const apiName = "iamcredentials"
 | |
| const apiVersion = "v1"
 | |
| const basePath = "https://iamcredentials.googleapis.com/"
 | |
| const basePathTemplate = "https://iamcredentials.UNIVERSE_DOMAIN/"
 | |
| const mtlsBasePath = "https://iamcredentials.mtls.googleapis.com/"
 | |
| 
 | |
| // OAuth2 scopes used by this API.
 | |
| const (
 | |
| 	// See, edit, configure, and delete your Google Cloud data and see the email
 | |
| 	// address for your Google Account.
 | |
| 	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
 | |
| )
 | |
| 
 | |
| // NewService creates a new Service.
 | |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
 | |
| 	scopesOption := internaloption.WithDefaultScopes(
 | |
| 		"https://www.googleapis.com/auth/cloud-platform",
 | |
| 	)
 | |
| 	// NOTE: prepend, so we don't override user-specified scopes.
 | |
| 	opts = append([]option.ClientOption{scopesOption}, opts...)
 | |
| 	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
 | |
| 	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
 | |
| 	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
 | |
| 	opts = append(opts, internaloption.EnableNewAuthLibrary())
 | |
| 	client, endpoint, err := htransport.NewClient(ctx, opts...)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
 | |
| 	s.Locations = NewLocationsService(s)
 | |
| 	s.Projects = NewProjectsService(s)
 | |
| 	if endpoint != "" {
 | |
| 		s.BasePath = endpoint
 | |
| 	}
 | |
| 	return s, nil
 | |
| }
 | |
| 
 | |
| // New creates a new Service. It uses the provided http.Client for requests.
 | |
| //
 | |
| // Deprecated: please use NewService instead.
 | |
| // To provide a custom HTTP client, use option.WithHTTPClient.
 | |
| // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
 | |
| func New(client *http.Client) (*Service, error) {
 | |
| 	if client == nil {
 | |
| 		return nil, errors.New("client is nil")
 | |
| 	}
 | |
| 	return NewService(context.TODO(), option.WithHTTPClient(client))
 | |
| }
 | |
| 
 | |
| type Service struct {
 | |
| 	client    *http.Client
 | |
| 	logger    *slog.Logger
 | |
| 	BasePath  string // API endpoint base URL
 | |
| 	UserAgent string // optional additional User-Agent fragment
 | |
| 
 | |
| 	Locations *LocationsService
 | |
| 
 | |
| 	Projects *ProjectsService
 | |
| }
 | |
| 
 | |
| func (s *Service) userAgent() string {
 | |
| 	if s.UserAgent == "" {
 | |
| 		return googleapi.UserAgent
 | |
| 	}
 | |
| 	return googleapi.UserAgent + " " + s.UserAgent
 | |
| }
 | |
| 
 | |
| func NewLocationsService(s *Service) *LocationsService {
 | |
| 	rs := &LocationsService{s: s}
 | |
| 	rs.WorkforcePools = NewLocationsWorkforcePoolsService(s)
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type LocationsService struct {
 | |
| 	s *Service
 | |
| 
 | |
| 	WorkforcePools *LocationsWorkforcePoolsService
 | |
| }
 | |
| 
 | |
| func NewLocationsWorkforcePoolsService(s *Service) *LocationsWorkforcePoolsService {
 | |
| 	rs := &LocationsWorkforcePoolsService{s: s}
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type LocationsWorkforcePoolsService struct {
 | |
| 	s *Service
 | |
| }
 | |
| 
 | |
| func NewProjectsService(s *Service) *ProjectsService {
 | |
| 	rs := &ProjectsService{s: s}
 | |
| 	rs.Locations = NewProjectsLocationsService(s)
 | |
| 	rs.ServiceAccounts = NewProjectsServiceAccountsService(s)
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type ProjectsService struct {
 | |
| 	s *Service
 | |
| 
 | |
| 	Locations *ProjectsLocationsService
 | |
| 
 | |
| 	ServiceAccounts *ProjectsServiceAccountsService
 | |
| }
 | |
| 
 | |
| func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
 | |
| 	rs := &ProjectsLocationsService{s: s}
 | |
| 	rs.WorkloadIdentityPools = NewProjectsLocationsWorkloadIdentityPoolsService(s)
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type ProjectsLocationsService struct {
 | |
| 	s *Service
 | |
| 
 | |
| 	WorkloadIdentityPools *ProjectsLocationsWorkloadIdentityPoolsService
 | |
| }
 | |
| 
 | |
| func NewProjectsLocationsWorkloadIdentityPoolsService(s *Service) *ProjectsLocationsWorkloadIdentityPoolsService {
 | |
| 	rs := &ProjectsLocationsWorkloadIdentityPoolsService{s: s}
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type ProjectsLocationsWorkloadIdentityPoolsService struct {
 | |
| 	s *Service
 | |
| }
 | |
| 
 | |
| func NewProjectsServiceAccountsService(s *Service) *ProjectsServiceAccountsService {
 | |
| 	rs := &ProjectsServiceAccountsService{s: s}
 | |
| 	return rs
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsService struct {
 | |
| 	s *Service
 | |
| }
 | |
| 
 | |
| type GenerateAccessTokenRequest struct {
 | |
| 	// Delegates: The sequence of service accounts in a delegation chain. This
 | |
| 	// field is required for delegated requests
 | |
| 	// (https://cloud.google.com/iam/help/credentials/delegated-request). For
 | |
| 	// direct requests
 | |
| 	// (https://cloud.google.com/iam/help/credentials/direct-request), which are
 | |
| 	// more common, do not specify this field. Each service account must be granted
 | |
| 	// the `roles/iam.serviceAccountTokenCreator` role on its next service account
 | |
| 	// in the chain. The last service account in the chain must be granted the
 | |
| 	// `roles/iam.serviceAccountTokenCreator` role on the service account that is
 | |
| 	// specified in the `name` field of the request. The delegates must have the
 | |
| 	// following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`.
 | |
| 	// The `-` wildcard character is required; replacing it with a project ID is
 | |
| 	// invalid.
 | |
| 	Delegates []string `json:"delegates,omitempty"`
 | |
| 	// Lifetime: The desired lifetime duration of the access token in seconds. By
 | |
| 	// default, the maximum allowed value is 1 hour. To set a lifetime of up to 12
 | |
| 	// hours, you can add the service account as an allowed value in an
 | |
| 	// Organization Policy that enforces the
 | |
| 	// `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint.
 | |
| 	// See detailed instructions at
 | |
| 	// https://cloud.google.com/iam/help/credentials/lifetime If a value is not
 | |
| 	// specified, the token's lifetime will be set to a default value of 1 hour.
 | |
| 	Lifetime string `json:"lifetime,omitempty"`
 | |
| 	// Scope: Required. Code to identify the scopes to be included in the OAuth 2.0
 | |
| 	// access token. See
 | |
| 	// https://developers.google.com/identity/protocols/googlescopes for more
 | |
| 	// information. At least one value required.
 | |
| 	Scope []string `json:"scope,omitempty"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "Delegates") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "Delegates") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s GenerateAccessTokenRequest) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod GenerateAccessTokenRequest
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type GenerateAccessTokenResponse struct {
 | |
| 	// AccessToken: The OAuth 2.0 access token.
 | |
| 	AccessToken string `json:"accessToken,omitempty"`
 | |
| 	// ExpireTime: Token expiration time. The expiration time is always set.
 | |
| 	ExpireTime string `json:"expireTime,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "AccessToken") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "AccessToken") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s GenerateAccessTokenResponse) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod GenerateAccessTokenResponse
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type GenerateIdTokenRequest struct {
 | |
| 	// Audience: Required. The audience for the token, such as the API or account
 | |
| 	// that this token grants access to.
 | |
| 	Audience string `json:"audience,omitempty"`
 | |
| 	// Delegates: The sequence of service accounts in a delegation chain. Each
 | |
| 	// service account must be granted the `roles/iam.serviceAccountTokenCreator`
 | |
| 	// role on its next service account in the chain. The last service account in
 | |
| 	// the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on
 | |
| 	// the service account that is specified in the `name` field of the request.
 | |
| 	// The delegates must have the following format:
 | |
| 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| 	// character is required; replacing it with a project ID is invalid.
 | |
| 	Delegates []string `json:"delegates,omitempty"`
 | |
| 	// IncludeEmail: Include the service account email in the token. If set to
 | |
| 	// `true`, the token will contain `email` and `email_verified` claims.
 | |
| 	IncludeEmail bool `json:"includeEmail,omitempty"`
 | |
| 	// OrganizationNumberIncluded: Include the organization number of the service
 | |
| 	// account in the token. If set to `true`, the token will contain a
 | |
| 	// `google.organization_number` claim. The value of the claim will be `null` if
 | |
| 	// the service account isn't associated with an organization.
 | |
| 	OrganizationNumberIncluded bool `json:"organizationNumberIncluded,omitempty"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "Audience") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "Audience") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s GenerateIdTokenRequest) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod GenerateIdTokenRequest
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type GenerateIdTokenResponse struct {
 | |
| 	// Token: The OpenId Connect ID token. The token is a JSON Web Token (JWT) that
 | |
| 	// contains a payload with claims. See the JSON Web Token spec
 | |
| 	// (https://tools.ietf.org/html/rfc7519) for more information. Here is an
 | |
| 	// example of a decoded JWT payload: ``` { "iss":
 | |
| 	// "https://accounts.google.com", "iat": 1496953245, "exp": 1496953245, "aud":
 | |
| 	// "https://www.example.com", "sub": "107517467455664443765", "azp":
 | |
| 	// "107517467455664443765", "email":
 | |
| 	// "my-iam-account@my-project.iam.gserviceaccount.com", "email_verified": true,
 | |
| 	// "google": { "organization_number": 123456 } } ```
 | |
| 	Token string `json:"token,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "Token") to unconditionally
 | |
| 	// include in API requests. By default, fields with empty or default values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "Token") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s GenerateIdTokenResponse) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod GenerateIdTokenResponse
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| // ServiceAccountAllowedLocations: Represents a list of allowed locations for
 | |
| // given service account.
 | |
| type ServiceAccountAllowedLocations struct {
 | |
| 	// EncodedLocations: Output only. The hex encoded bitmap of the trust boundary
 | |
| 	// locations
 | |
| 	EncodedLocations string `json:"encodedLocations,omitempty"`
 | |
| 	// Locations: Output only. The human readable trust boundary locations. For
 | |
| 	// example, ["us-central1", "europe-west1"]
 | |
| 	Locations []string `json:"locations,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "EncodedLocations") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "EncodedLocations") to include in
 | |
| 	// API requests with the JSON null value. By default, fields with empty values
 | |
| 	// are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s ServiceAccountAllowedLocations) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod ServiceAccountAllowedLocations
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type SignBlobRequest struct {
 | |
| 	// Delegates: The sequence of service accounts in a delegation chain. Each
 | |
| 	// service account must be granted the `roles/iam.serviceAccountTokenCreator`
 | |
| 	// role on its next service account in the chain. The last service account in
 | |
| 	// the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on
 | |
| 	// the service account that is specified in the `name` field of the request.
 | |
| 	// The delegates must have the following format:
 | |
| 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| 	// character is required; replacing it with a project ID is invalid.
 | |
| 	Delegates []string `json:"delegates,omitempty"`
 | |
| 	// Payload: Required. The bytes to sign.
 | |
| 	Payload string `json:"payload,omitempty"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "Delegates") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "Delegates") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s SignBlobRequest) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod SignBlobRequest
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type SignBlobResponse struct {
 | |
| 	// KeyId: The ID of the key used to sign the blob. The key used for signing
 | |
| 	// will remain valid for at least 12 hours after the blob is signed. To verify
 | |
| 	// the signature, you can retrieve the public key in several formats from the
 | |
| 	// following endpoints: - RSA public key wrapped in an X.509 v3 certificate:
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}
 | |
| 	// ` - Raw key in JSON format:
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`
 | |
| 	//  - JSON Web Key (JWK):
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`
 | |
| 	KeyId string `json:"keyId,omitempty"`
 | |
| 	// SignedBlob: The signature for the blob. Does not include the original blob.
 | |
| 	// After the key pair referenced by the `key_id` response field expires, Google
 | |
| 	// no longer exposes the public key that can be used to verify the blob. As a
 | |
| 	// result, the receiver can no longer verify the signature.
 | |
| 	SignedBlob string `json:"signedBlob,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
 | |
| 	// include in API requests. By default, fields with empty or default values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "KeyId") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s SignBlobResponse) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod SignBlobResponse
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type SignJwtRequest struct {
 | |
| 	// Delegates: The sequence of service accounts in a delegation chain. Each
 | |
| 	// service account must be granted the `roles/iam.serviceAccountTokenCreator`
 | |
| 	// role on its next service account in the chain. The last service account in
 | |
| 	// the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on
 | |
| 	// the service account that is specified in the `name` field of the request.
 | |
| 	// The delegates must have the following format:
 | |
| 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| 	// character is required; replacing it with a project ID is invalid.
 | |
| 	Delegates []string `json:"delegates,omitempty"`
 | |
| 	// Payload: Required. The JWT payload to sign. Must be a serialized JSON object
 | |
| 	// that contains a JWT Claims Set. For example: `{"sub": "user@example.com",
 | |
| 	// "iat": 313435}` If the JWT Claims Set contains an expiration time (`exp`)
 | |
| 	// claim, it must be an integer timestamp that is not in the past and no more
 | |
| 	// than 12 hours in the future.
 | |
| 	Payload string `json:"payload,omitempty"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "Delegates") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "Delegates") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s SignJwtRequest) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod SignJwtRequest
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type SignJwtResponse struct {
 | |
| 	// KeyId: The ID of the key used to sign the JWT. The key used for signing will
 | |
| 	// remain valid for at least 12 hours after the JWT is signed. To verify the
 | |
| 	// signature, you can retrieve the public key in several formats from the
 | |
| 	// following endpoints: - RSA public key wrapped in an X.509 v3 certificate:
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}
 | |
| 	// ` - Raw key in JSON format:
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`
 | |
| 	//  - JSON Web Key (JWK):
 | |
| 	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`
 | |
| 	KeyId string `json:"keyId,omitempty"`
 | |
| 	// SignedJwt: The signed JWT. Contains the automatically generated header; the
 | |
| 	// client-supplied payload; and the signature, which is generated using the key
 | |
| 	// referenced by the `kid` field in the header. After the key pair referenced
 | |
| 	// by the `key_id` response field expires, Google no longer exposes the public
 | |
| 	// key that can be used to verify the JWT. As a result, the receiver can no
 | |
| 	// longer verify the signature.
 | |
| 	SignedJwt string `json:"signedJwt,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
 | |
| 	// include in API requests. By default, fields with empty or default values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "KeyId") to include in API
 | |
| 	// requests with the JSON null value. By default, fields with empty values are
 | |
| 	// omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s SignJwtResponse) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod SignJwtResponse
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| // WorkforcePoolAllowedLocations: Represents a list of allowed locations for
 | |
| // given workforce pool.
 | |
| type WorkforcePoolAllowedLocations struct {
 | |
| 	// EncodedLocations: Output only. The hex encoded bitmap of the trust boundary
 | |
| 	// locations
 | |
| 	EncodedLocations string `json:"encodedLocations,omitempty"`
 | |
| 	// Locations: Output only. The human readable trust boundary locations. For
 | |
| 	// example, ["us-central1", "europe-west1"]
 | |
| 	Locations []string `json:"locations,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "EncodedLocations") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "EncodedLocations") to include in
 | |
| 	// API requests with the JSON null value. By default, fields with empty values
 | |
| 	// are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s WorkforcePoolAllowedLocations) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod WorkforcePoolAllowedLocations
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| // WorkloadIdentityPoolAllowedLocations: Represents a list of allowed locations
 | |
| // for given workload identity pool.
 | |
| type WorkloadIdentityPoolAllowedLocations struct {
 | |
| 	// EncodedLocations: Output only. The hex encoded bitmap of the trust boundary
 | |
| 	// locations
 | |
| 	EncodedLocations string `json:"encodedLocations,omitempty"`
 | |
| 	// Locations: Output only. The human readable trust boundary locations. For
 | |
| 	// example, ["us-central1", "europe-west1"]
 | |
| 	Locations []string `json:"locations,omitempty"`
 | |
| 
 | |
| 	// ServerResponse contains the HTTP response code and headers from the server.
 | |
| 	googleapi.ServerResponse `json:"-"`
 | |
| 	// ForceSendFields is a list of field names (e.g. "EncodedLocations") to
 | |
| 	// unconditionally include in API requests. By default, fields with empty or
 | |
| 	// default values are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 | |
| 	// details.
 | |
| 	ForceSendFields []string `json:"-"`
 | |
| 	// NullFields is a list of field names (e.g. "EncodedLocations") to include in
 | |
| 	// API requests with the JSON null value. By default, fields with empty values
 | |
| 	// are omitted from API requests. See
 | |
| 	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 | |
| 	NullFields []string `json:"-"`
 | |
| }
 | |
| 
 | |
| func (s WorkloadIdentityPoolAllowedLocations) MarshalJSON() ([]byte, error) {
 | |
| 	type NoMethod WorkloadIdentityPoolAllowedLocations
 | |
| 	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
 | |
| }
 | |
| 
 | |
| type LocationsWorkforcePoolsGetAllowedLocationsCall struct {
 | |
| 	s            *Service
 | |
| 	name         string
 | |
| 	urlParams_   gensupport.URLParams
 | |
| 	ifNoneMatch_ string
 | |
| 	ctx_         context.Context
 | |
| 	header_      http.Header
 | |
| }
 | |
| 
 | |
| // GetAllowedLocations: Returns the trust boundary info for a given workforce
 | |
| // pool.
 | |
| //
 | |
| // - name: Resource name of workforce pool.
 | |
| func (r *LocationsWorkforcePoolsService) GetAllowedLocations(name string) *LocationsWorkforcePoolsGetAllowedLocationsCall {
 | |
| 	c := &LocationsWorkforcePoolsGetAllowedLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) Fields(s ...googleapi.Field) *LocationsWorkforcePoolsGetAllowedLocationsCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // IfNoneMatch sets an optional parameter which makes the operation fail if the
 | |
| // object's ETag matches the given value. This is useful for getting updates
 | |
| // only after the object has changed since the last request.
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) IfNoneMatch(entityTag string) *LocationsWorkforcePoolsGetAllowedLocationsCall {
 | |
| 	c.ifNoneMatch_ = entityTag
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) Context(ctx context.Context) *LocationsWorkforcePoolsGetAllowedLocationsCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 | |
| 	if c.ifNoneMatch_ != "" {
 | |
| 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/allowedLocations")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("GET", urls, nil)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.locations.workforcePools.getAllowedLocations", "request", internallog.HTTPRequest(req, nil))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.locations.workforcePools.getAllowedLocations" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *WorkforcePoolAllowedLocations.ServerResponse.Header or (if a response was
 | |
| // returned at all) in error.(*googleapi.Error).Header. Use
 | |
| // googleapi.IsNotModified to check whether the returned error was because
 | |
| // http.StatusNotModified was returned.
 | |
| func (c *LocationsWorkforcePoolsGetAllowedLocationsCall) Do(opts ...googleapi.CallOption) (*WorkforcePoolAllowedLocations, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &WorkforcePoolAllowedLocations{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.locations.workforcePools.getAllowedLocations", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall struct {
 | |
| 	s            *Service
 | |
| 	name         string
 | |
| 	urlParams_   gensupport.URLParams
 | |
| 	ifNoneMatch_ string
 | |
| 	ctx_         context.Context
 | |
| 	header_      http.Header
 | |
| }
 | |
| 
 | |
| // GetAllowedLocations: Returns the trust boundary info for a given workload
 | |
| // identity pool.
 | |
| //
 | |
| // - name: Resource name of workload identity pool.
 | |
| func (r *ProjectsLocationsWorkloadIdentityPoolsService) GetAllowedLocations(name string) *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall {
 | |
| 	c := &ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // IfNoneMatch sets an optional parameter which makes the operation fail if the
 | |
| // object's ETag matches the given value. This is useful for getting updates
 | |
| // only after the object has changed since the last request.
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall {
 | |
| 	c.ifNoneMatch_ = entityTag
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) Context(ctx context.Context) *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 | |
| 	if c.ifNoneMatch_ != "" {
 | |
| 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/allowedLocations")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("GET", urls, nil)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.locations.workloadIdentityPools.getAllowedLocations", "request", internallog.HTTPRequest(req, nil))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.locations.workloadIdentityPools.getAllowedLocations" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *WorkloadIdentityPoolAllowedLocations.ServerResponse.Header or (if a
 | |
| // response was returned at all) in error.(*googleapi.Error).Header. Use
 | |
| // googleapi.IsNotModified to check whether the returned error was because
 | |
| // http.StatusNotModified was returned.
 | |
| func (c *ProjectsLocationsWorkloadIdentityPoolsGetAllowedLocationsCall) Do(opts ...googleapi.CallOption) (*WorkloadIdentityPoolAllowedLocations, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &WorkloadIdentityPoolAllowedLocations{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.locations.workloadIdentityPools.getAllowedLocations", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsGenerateAccessTokenCall struct {
 | |
| 	s                          *Service
 | |
| 	name                       string
 | |
| 	generateaccesstokenrequest *GenerateAccessTokenRequest
 | |
| 	urlParams_                 gensupport.URLParams
 | |
| 	ctx_                       context.Context
 | |
| 	header_                    http.Header
 | |
| }
 | |
| 
 | |
| // GenerateAccessToken: Generates an OAuth 2.0 access token for a service
 | |
| // account.
 | |
| //
 | |
| //   - name: The resource name of the service account for which the credentials
 | |
| //     are requested, in the following format:
 | |
| //     `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| //     character is required; replacing it with a project ID is invalid.
 | |
| func (r *ProjectsServiceAccountsService) GenerateAccessToken(name string, generateaccesstokenrequest *GenerateAccessTokenRequest) *ProjectsServiceAccountsGenerateAccessTokenCall {
 | |
| 	c := &ProjectsServiceAccountsGenerateAccessTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	c.generateaccesstokenrequest = generateaccesstokenrequest
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsGenerateAccessTokenCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Context(ctx context.Context) *ProjectsServiceAccountsGenerateAccessTokenCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsServiceAccountsGenerateAccessTokenCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 | |
| 	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generateaccesstokenrequest)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateAccessToken")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("POST", urls, body)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.generateAccessToken", "request", internallog.HTTPRequest(req, body.Bytes()))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.serviceAccounts.generateAccessToken" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *GenerateAccessTokenResponse.ServerResponse.Header or (if a response was
 | |
| // returned at all) in error.(*googleapi.Error).Header. Use
 | |
| // googleapi.IsNotModified to check whether the returned error was because
 | |
| // http.StatusNotModified was returned.
 | |
| func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Do(opts ...googleapi.CallOption) (*GenerateAccessTokenResponse, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &GenerateAccessTokenResponse{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.generateAccessToken", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsGenerateIdTokenCall struct {
 | |
| 	s                      *Service
 | |
| 	name                   string
 | |
| 	generateidtokenrequest *GenerateIdTokenRequest
 | |
| 	urlParams_             gensupport.URLParams
 | |
| 	ctx_                   context.Context
 | |
| 	header_                http.Header
 | |
| }
 | |
| 
 | |
| // GenerateIdToken: Generates an OpenID Connect ID token for a service account.
 | |
| //
 | |
| //   - name: The resource name of the service account for which the credentials
 | |
| //     are requested, in the following format:
 | |
| //     `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| //     character is required; replacing it with a project ID is invalid.
 | |
| func (r *ProjectsServiceAccountsService) GenerateIdToken(name string, generateidtokenrequest *GenerateIdTokenRequest) *ProjectsServiceAccountsGenerateIdTokenCall {
 | |
| 	c := &ProjectsServiceAccountsGenerateIdTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	c.generateidtokenrequest = generateidtokenrequest
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsServiceAccountsGenerateIdTokenCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsGenerateIdTokenCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsServiceAccountsGenerateIdTokenCall) Context(ctx context.Context) *ProjectsServiceAccountsGenerateIdTokenCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsServiceAccountsGenerateIdTokenCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsServiceAccountsGenerateIdTokenCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 | |
| 	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generateidtokenrequest)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateIdToken")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("POST", urls, body)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.generateIdToken", "request", internallog.HTTPRequest(req, body.Bytes()))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.serviceAccounts.generateIdToken" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *GenerateIdTokenResponse.ServerResponse.Header or (if a response was
 | |
| // returned at all) in error.(*googleapi.Error).Header. Use
 | |
| // googleapi.IsNotModified to check whether the returned error was because
 | |
| // http.StatusNotModified was returned.
 | |
| func (c *ProjectsServiceAccountsGenerateIdTokenCall) Do(opts ...googleapi.CallOption) (*GenerateIdTokenResponse, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &GenerateIdTokenResponse{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.generateIdToken", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsGetAllowedLocationsCall struct {
 | |
| 	s            *Service
 | |
| 	name         string
 | |
| 	urlParams_   gensupport.URLParams
 | |
| 	ifNoneMatch_ string
 | |
| 	ctx_         context.Context
 | |
| 	header_      http.Header
 | |
| }
 | |
| 
 | |
| // GetAllowedLocations: Returns the trust boundary info for a given service
 | |
| // account.
 | |
| //
 | |
| // - name: Resource name of service account.
 | |
| func (r *ProjectsServiceAccountsService) GetAllowedLocations(name string) *ProjectsServiceAccountsGetAllowedLocationsCall {
 | |
| 	c := &ProjectsServiceAccountsGetAllowedLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsGetAllowedLocationsCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // IfNoneMatch sets an optional parameter which makes the operation fail if the
 | |
| // object's ETag matches the given value. This is useful for getting updates
 | |
| // only after the object has changed since the last request.
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) IfNoneMatch(entityTag string) *ProjectsServiceAccountsGetAllowedLocationsCall {
 | |
| 	c.ifNoneMatch_ = entityTag
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) Context(ctx context.Context) *ProjectsServiceAccountsGetAllowedLocationsCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 | |
| 	if c.ifNoneMatch_ != "" {
 | |
| 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/allowedLocations")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("GET", urls, nil)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.getAllowedLocations", "request", internallog.HTTPRequest(req, nil))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.serviceAccounts.getAllowedLocations" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *ServiceAccountAllowedLocations.ServerResponse.Header or (if a response was
 | |
| // returned at all) in error.(*googleapi.Error).Header. Use
 | |
| // googleapi.IsNotModified to check whether the returned error was because
 | |
| // http.StatusNotModified was returned.
 | |
| func (c *ProjectsServiceAccountsGetAllowedLocationsCall) Do(opts ...googleapi.CallOption) (*ServiceAccountAllowedLocations, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &ServiceAccountAllowedLocations{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.getAllowedLocations", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsSignBlobCall struct {
 | |
| 	s               *Service
 | |
| 	name            string
 | |
| 	signblobrequest *SignBlobRequest
 | |
| 	urlParams_      gensupport.URLParams
 | |
| 	ctx_            context.Context
 | |
| 	header_         http.Header
 | |
| }
 | |
| 
 | |
| // SignBlob: Signs a blob using a service account's system-managed private key.
 | |
| //
 | |
| //   - name: The resource name of the service account for which the credentials
 | |
| //     are requested, in the following format:
 | |
| //     `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| //     character is required; replacing it with a project ID is invalid.
 | |
| func (r *ProjectsServiceAccountsService) SignBlob(name string, signblobrequest *SignBlobRequest) *ProjectsServiceAccountsSignBlobCall {
 | |
| 	c := &ProjectsServiceAccountsSignBlobCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	c.signblobrequest = signblobrequest
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsServiceAccountsSignBlobCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsSignBlobCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsServiceAccountsSignBlobCall) Context(ctx context.Context) *ProjectsServiceAccountsSignBlobCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsServiceAccountsSignBlobCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsServiceAccountsSignBlobCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 | |
| 	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.signblobrequest)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:signBlob")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("POST", urls, body)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.signBlob", "request", internallog.HTTPRequest(req, body.Bytes()))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.serviceAccounts.signBlob" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *SignBlobResponse.ServerResponse.Header or (if a response was returned at
 | |
| // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 | |
| // check whether the returned error was because http.StatusNotModified was
 | |
| // returned.
 | |
| func (c *ProjectsServiceAccountsSignBlobCall) Do(opts ...googleapi.CallOption) (*SignBlobResponse, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &SignBlobResponse{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.signBlob", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 | |
| 
 | |
| type ProjectsServiceAccountsSignJwtCall struct {
 | |
| 	s              *Service
 | |
| 	name           string
 | |
| 	signjwtrequest *SignJwtRequest
 | |
| 	urlParams_     gensupport.URLParams
 | |
| 	ctx_           context.Context
 | |
| 	header_        http.Header
 | |
| }
 | |
| 
 | |
| // SignJwt: Signs a JWT using a service account's system-managed private key.
 | |
| //
 | |
| //   - name: The resource name of the service account for which the credentials
 | |
| //     are requested, in the following format:
 | |
| //     `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard
 | |
| //     character is required; replacing it with a project ID is invalid.
 | |
| func (r *ProjectsServiceAccountsService) SignJwt(name string, signjwtrequest *SignJwtRequest) *ProjectsServiceAccountsSignJwtCall {
 | |
| 	c := &ProjectsServiceAccountsSignJwtCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 | |
| 	c.name = name
 | |
| 	c.signjwtrequest = signjwtrequest
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Fields allows partial responses to be retrieved. See
 | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 | |
| // details.
 | |
| func (c *ProjectsServiceAccountsSignJwtCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsSignJwtCall {
 | |
| 	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Context sets the context to be used in this call's Do method.
 | |
| func (c *ProjectsServiceAccountsSignJwtCall) Context(ctx context.Context) *ProjectsServiceAccountsSignJwtCall {
 | |
| 	c.ctx_ = ctx
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // Header returns a http.Header that can be modified by the caller to add
 | |
| // headers to the request.
 | |
| func (c *ProjectsServiceAccountsSignJwtCall) Header() http.Header {
 | |
| 	if c.header_ == nil {
 | |
| 		c.header_ = make(http.Header)
 | |
| 	}
 | |
| 	return c.header_
 | |
| }
 | |
| 
 | |
| func (c *ProjectsServiceAccountsSignJwtCall) doRequest(alt string) (*http.Response, error) {
 | |
| 	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 | |
| 	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.signjwtrequest)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.urlParams_.Set("alt", alt)
 | |
| 	c.urlParams_.Set("prettyPrint", "false")
 | |
| 	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:signJwt")
 | |
| 	urls += "?" + c.urlParams_.Encode()
 | |
| 	req, err := http.NewRequest("POST", urls, body)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	req.Header = reqHeaders
 | |
| 	googleapi.Expand(req.URL, map[string]string{
 | |
| 		"name": c.name,
 | |
| 	})
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.signJwt", "request", internallog.HTTPRequest(req, body.Bytes()))
 | |
| 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 | |
| }
 | |
| 
 | |
| // Do executes the "iamcredentials.projects.serviceAccounts.signJwt" call.
 | |
| // Any non-2xx status code is an error. Response headers are in either
 | |
| // *SignJwtResponse.ServerResponse.Header or (if a response was returned at
 | |
| // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 | |
| // check whether the returned error was because http.StatusNotModified was
 | |
| // returned.
 | |
| func (c *ProjectsServiceAccountsSignJwtCall) Do(opts ...googleapi.CallOption) (*SignJwtResponse, error) {
 | |
| 	gensupport.SetOptions(c.urlParams_, opts...)
 | |
| 	res, err := c.doRequest("json")
 | |
| 	if res != nil && res.StatusCode == http.StatusNotModified {
 | |
| 		if res.Body != nil {
 | |
| 			res.Body.Close()
 | |
| 		}
 | |
| 		return nil, gensupport.WrapError(&googleapi.Error{
 | |
| 			Code:   res.StatusCode,
 | |
| 			Header: res.Header,
 | |
| 		})
 | |
| 	}
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer googleapi.CloseBody(res)
 | |
| 	if err := googleapi.CheckResponse(res); err != nil {
 | |
| 		return nil, gensupport.WrapError(err)
 | |
| 	}
 | |
| 	ret := &SignJwtResponse{
 | |
| 		ServerResponse: googleapi.ServerResponse{
 | |
| 			Header:         res.Header,
 | |
| 			HTTPStatusCode: res.StatusCode,
 | |
| 		},
 | |
| 	}
 | |
| 	target := &ret
 | |
| 	b, err := gensupport.DecodeResponseBytes(target, res)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "iamcredentials.projects.serviceAccounts.signJwt", "response", internallog.HTTPResponse(res, b))
 | |
| 	return ret, nil
 | |
| }
 |