...

Source file src/google.golang.org/api/firebaseappcheck/v1beta/firebaseappcheck-gen.go

Documentation: google.golang.org/api/firebaseappcheck/v1beta

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package firebaseappcheck provides access to the Firebase App Check API.
     8  //
     9  // For product documentation, see: https://firebase.google.com/docs/app-check
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/firebaseappcheck/v1beta"
    27  //	...
    28  //	ctx := context.Background()
    29  //	firebaseappcheckService, err := firebaseappcheck.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithScopes(firebaseappcheck.FirebaseScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package firebaseappcheck // import "google.golang.org/api/firebaseappcheck/v1beta"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "firebaseappcheck:v1beta"
    95  const apiName = "firebaseappcheck"
    96  const apiVersion = "v1beta"
    97  const basePath = "https://firebaseappcheck.googleapis.com/"
    98  const basePathTemplate = "https://firebaseappcheck.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://firebaseappcheck.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// See, edit, configure, and delete your Google Cloud data and see the email
   104  	// address for your Google Account.
   105  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   106  
   107  	// View and administer all your Firebase data and settings
   108  	FirebaseScope = "https://www.googleapis.com/auth/firebase"
   109  )
   110  
   111  // NewService creates a new Service.
   112  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   113  	scopesOption := internaloption.WithDefaultScopes(
   114  		"https://www.googleapis.com/auth/cloud-platform",
   115  		"https://www.googleapis.com/auth/firebase",
   116  	)
   117  	// NOTE: prepend, so we don't override user-specified scopes.
   118  	opts = append([]option.ClientOption{scopesOption}, opts...)
   119  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   120  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   121  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   122  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   123  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   124  	if err != nil {
   125  		return nil, err
   126  	}
   127  	s, err := New(client)
   128  	if err != nil {
   129  		return nil, err
   130  	}
   131  	if endpoint != "" {
   132  		s.BasePath = endpoint
   133  	}
   134  	return s, nil
   135  }
   136  
   137  // New creates a new Service. It uses the provided http.Client for requests.
   138  //
   139  // Deprecated: please use NewService instead.
   140  // To provide a custom HTTP client, use option.WithHTTPClient.
   141  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   142  func New(client *http.Client) (*Service, error) {
   143  	if client == nil {
   144  		return nil, errors.New("client is nil")
   145  	}
   146  	s := &Service{client: client, BasePath: basePath}
   147  	s.Jwks = NewJwksService(s)
   148  	s.OauthClients = NewOauthClientsService(s)
   149  	s.Projects = NewProjectsService(s)
   150  	return s, nil
   151  }
   152  
   153  type Service struct {
   154  	client    *http.Client
   155  	BasePath  string // API endpoint base URL
   156  	UserAgent string // optional additional User-Agent fragment
   157  
   158  	Jwks *JwksService
   159  
   160  	OauthClients *OauthClientsService
   161  
   162  	Projects *ProjectsService
   163  }
   164  
   165  func (s *Service) userAgent() string {
   166  	if s.UserAgent == "" {
   167  		return googleapi.UserAgent
   168  	}
   169  	return googleapi.UserAgent + " " + s.UserAgent
   170  }
   171  
   172  func NewJwksService(s *Service) *JwksService {
   173  	rs := &JwksService{s: s}
   174  	return rs
   175  }
   176  
   177  type JwksService struct {
   178  	s *Service
   179  }
   180  
   181  func NewOauthClientsService(s *Service) *OauthClientsService {
   182  	rs := &OauthClientsService{s: s}
   183  	return rs
   184  }
   185  
   186  type OauthClientsService struct {
   187  	s *Service
   188  }
   189  
   190  func NewProjectsService(s *Service) *ProjectsService {
   191  	rs := &ProjectsService{s: s}
   192  	rs.Apps = NewProjectsAppsService(s)
   193  	rs.Services = NewProjectsServicesService(s)
   194  	return rs
   195  }
   196  
   197  type ProjectsService struct {
   198  	s *Service
   199  
   200  	Apps *ProjectsAppsService
   201  
   202  	Services *ProjectsServicesService
   203  }
   204  
   205  func NewProjectsAppsService(s *Service) *ProjectsAppsService {
   206  	rs := &ProjectsAppsService{s: s}
   207  	rs.AppAttestConfig = NewProjectsAppsAppAttestConfigService(s)
   208  	rs.DebugTokens = NewProjectsAppsDebugTokensService(s)
   209  	rs.DeviceCheckConfig = NewProjectsAppsDeviceCheckConfigService(s)
   210  	rs.PlayIntegrityConfig = NewProjectsAppsPlayIntegrityConfigService(s)
   211  	rs.RecaptchaConfig = NewProjectsAppsRecaptchaConfigService(s)
   212  	rs.RecaptchaEnterpriseConfig = NewProjectsAppsRecaptchaEnterpriseConfigService(s)
   213  	rs.RecaptchaV3Config = NewProjectsAppsRecaptchaV3ConfigService(s)
   214  	rs.SafetyNetConfig = NewProjectsAppsSafetyNetConfigService(s)
   215  	return rs
   216  }
   217  
   218  type ProjectsAppsService struct {
   219  	s *Service
   220  
   221  	AppAttestConfig *ProjectsAppsAppAttestConfigService
   222  
   223  	DebugTokens *ProjectsAppsDebugTokensService
   224  
   225  	DeviceCheckConfig *ProjectsAppsDeviceCheckConfigService
   226  
   227  	PlayIntegrityConfig *ProjectsAppsPlayIntegrityConfigService
   228  
   229  	RecaptchaConfig *ProjectsAppsRecaptchaConfigService
   230  
   231  	RecaptchaEnterpriseConfig *ProjectsAppsRecaptchaEnterpriseConfigService
   232  
   233  	RecaptchaV3Config *ProjectsAppsRecaptchaV3ConfigService
   234  
   235  	SafetyNetConfig *ProjectsAppsSafetyNetConfigService
   236  }
   237  
   238  func NewProjectsAppsAppAttestConfigService(s *Service) *ProjectsAppsAppAttestConfigService {
   239  	rs := &ProjectsAppsAppAttestConfigService{s: s}
   240  	return rs
   241  }
   242  
   243  type ProjectsAppsAppAttestConfigService struct {
   244  	s *Service
   245  }
   246  
   247  func NewProjectsAppsDebugTokensService(s *Service) *ProjectsAppsDebugTokensService {
   248  	rs := &ProjectsAppsDebugTokensService{s: s}
   249  	return rs
   250  }
   251  
   252  type ProjectsAppsDebugTokensService struct {
   253  	s *Service
   254  }
   255  
   256  func NewProjectsAppsDeviceCheckConfigService(s *Service) *ProjectsAppsDeviceCheckConfigService {
   257  	rs := &ProjectsAppsDeviceCheckConfigService{s: s}
   258  	return rs
   259  }
   260  
   261  type ProjectsAppsDeviceCheckConfigService struct {
   262  	s *Service
   263  }
   264  
   265  func NewProjectsAppsPlayIntegrityConfigService(s *Service) *ProjectsAppsPlayIntegrityConfigService {
   266  	rs := &ProjectsAppsPlayIntegrityConfigService{s: s}
   267  	return rs
   268  }
   269  
   270  type ProjectsAppsPlayIntegrityConfigService struct {
   271  	s *Service
   272  }
   273  
   274  func NewProjectsAppsRecaptchaConfigService(s *Service) *ProjectsAppsRecaptchaConfigService {
   275  	rs := &ProjectsAppsRecaptchaConfigService{s: s}
   276  	return rs
   277  }
   278  
   279  type ProjectsAppsRecaptchaConfigService struct {
   280  	s *Service
   281  }
   282  
   283  func NewProjectsAppsRecaptchaEnterpriseConfigService(s *Service) *ProjectsAppsRecaptchaEnterpriseConfigService {
   284  	rs := &ProjectsAppsRecaptchaEnterpriseConfigService{s: s}
   285  	return rs
   286  }
   287  
   288  type ProjectsAppsRecaptchaEnterpriseConfigService struct {
   289  	s *Service
   290  }
   291  
   292  func NewProjectsAppsRecaptchaV3ConfigService(s *Service) *ProjectsAppsRecaptchaV3ConfigService {
   293  	rs := &ProjectsAppsRecaptchaV3ConfigService{s: s}
   294  	return rs
   295  }
   296  
   297  type ProjectsAppsRecaptchaV3ConfigService struct {
   298  	s *Service
   299  }
   300  
   301  func NewProjectsAppsSafetyNetConfigService(s *Service) *ProjectsAppsSafetyNetConfigService {
   302  	rs := &ProjectsAppsSafetyNetConfigService{s: s}
   303  	return rs
   304  }
   305  
   306  type ProjectsAppsSafetyNetConfigService struct {
   307  	s *Service
   308  }
   309  
   310  func NewProjectsServicesService(s *Service) *ProjectsServicesService {
   311  	rs := &ProjectsServicesService{s: s}
   312  	rs.ResourcePolicies = NewProjectsServicesResourcePoliciesService(s)
   313  	return rs
   314  }
   315  
   316  type ProjectsServicesService struct {
   317  	s *Service
   318  
   319  	ResourcePolicies *ProjectsServicesResourcePoliciesService
   320  }
   321  
   322  func NewProjectsServicesResourcePoliciesService(s *Service) *ProjectsServicesResourcePoliciesService {
   323  	rs := &ProjectsServicesResourcePoliciesService{s: s}
   324  	return rs
   325  }
   326  
   327  type ProjectsServicesResourcePoliciesService struct {
   328  	s *Service
   329  }
   330  
   331  // GoogleFirebaseAppcheckV1betaAppAttestConfig: An app's App Attest
   332  // configuration object. This configuration controls certain properties of the
   333  // `AppCheckToken` returned by ExchangeAppAttestAttestation and
   334  // ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID
   335  // registered with your app is used as part of the validation process. Please
   336  // register it via the Firebase Console or programmatically via the Firebase
   337  // Management Service
   338  // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).
   339  type GoogleFirebaseAppcheckV1betaAppAttestConfig struct {
   340  	// Name: Required. The relative resource name of the App Attest configuration
   341  	// object, in the format: ```
   342  	// projects/{project_number}/apps/{app_id}/appAttestConfig ```
   343  	Name string `json:"name,omitempty"`
   344  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
   345  	// App Attest artifacts will be valid. If unset, a default value of 1 hour is
   346  	// assumed. Must be between 30 minutes and 7 days, inclusive.
   347  	TokenTtl string `json:"tokenTtl,omitempty"`
   348  
   349  	// ServerResponse contains the HTTP response code and headers from the server.
   350  	googleapi.ServerResponse `json:"-"`
   351  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   352  	// include in API requests. By default, fields with empty or default values are
   353  	// omitted from API requests. See
   354  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   355  	// details.
   356  	ForceSendFields []string `json:"-"`
   357  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   358  	// with the JSON null value. By default, fields with empty values are omitted
   359  	// from API requests. See
   360  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   361  	NullFields []string `json:"-"`
   362  }
   363  
   364  func (s *GoogleFirebaseAppcheckV1betaAppAttestConfig) MarshalJSON() ([]byte, error) {
   365  	type NoMethod GoogleFirebaseAppcheckV1betaAppAttestConfig
   366  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   367  }
   368  
   369  // GoogleFirebaseAppcheckV1betaAppCheckToken: Encapsulates an *App Check
   370  // token*, which are used to access Firebase services protected by App Check.
   371  type GoogleFirebaseAppcheckV1betaAppCheckToken struct {
   372  	// AttestationToken: An App Check token. App Check tokens are signed JWTs
   373  	// (https://tools.ietf.org/html/rfc7519) containing claims that identify the
   374  	// attested app and Firebase project. This token is used to access Firebase
   375  	// services protected by App Check.
   376  	AttestationToken string `json:"attestationToken,omitempty"`
   377  	// Token: An App Check token. App Check tokens are signed JWTs
   378  	// (https://tools.ietf.org/html/rfc7519) containing claims that identify the
   379  	// attested app and Firebase project. This token is used to access Firebase
   380  	// services protected by App Check.
   381  	Token string `json:"token,omitempty"`
   382  	// Ttl: The duration from the time this token is minted until its expiration.
   383  	// This field is intended to ease client-side token management, since the
   384  	// client may have clock skew, but is still able to accurately measure a
   385  	// duration.
   386  	Ttl string `json:"ttl,omitempty"`
   387  
   388  	// ServerResponse contains the HTTP response code and headers from the server.
   389  	googleapi.ServerResponse `json:"-"`
   390  	// ForceSendFields is a list of field names (e.g. "AttestationToken") to
   391  	// unconditionally include in API requests. By default, fields with empty or
   392  	// default values are omitted from API requests. See
   393  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   394  	// details.
   395  	ForceSendFields []string `json:"-"`
   396  	// NullFields is a list of field names (e.g. "AttestationToken") to include in
   397  	// API requests with the JSON null value. By default, fields with empty values
   398  	// are omitted from API requests. See
   399  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   400  	NullFields []string `json:"-"`
   401  }
   402  
   403  func (s *GoogleFirebaseAppcheckV1betaAppCheckToken) MarshalJSON() ([]byte, error) {
   404  	type NoMethod GoogleFirebaseAppcheckV1betaAppCheckToken
   405  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   406  }
   407  
   408  // GoogleFirebaseAppcheckV1betaAttestationTokenResponse: Encapsulates an *App
   409  // Check token*, which are used to access Firebase services protected by App
   410  // Check.
   411  type GoogleFirebaseAppcheckV1betaAttestationTokenResponse struct {
   412  	// AttestationToken: An App Check token. App Check tokens are signed JWTs
   413  	// (https://tools.ietf.org/html/rfc7519) containing claims that identify the
   414  	// attested app and Firebase project. This token is used to access Firebase
   415  	// services protected by App Check.
   416  	AttestationToken string `json:"attestationToken,omitempty"`
   417  	// Ttl: The duration from the time this token is minted until its expiration.
   418  	// This field is intended to ease client-side token management, since the
   419  	// client may have clock skew, but is still able to accurately measure a
   420  	// duration.
   421  	Ttl string `json:"ttl,omitempty"`
   422  	// ForceSendFields is a list of field names (e.g. "AttestationToken") to
   423  	// unconditionally include in API requests. By default, fields with empty or
   424  	// default values are omitted from API requests. See
   425  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   426  	// details.
   427  	ForceSendFields []string `json:"-"`
   428  	// NullFields is a list of field names (e.g. "AttestationToken") to include in
   429  	// API requests with the JSON null value. By default, fields with empty values
   430  	// are omitted from API requests. See
   431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   432  	NullFields []string `json:"-"`
   433  }
   434  
   435  func (s *GoogleFirebaseAppcheckV1betaAttestationTokenResponse) MarshalJSON() ([]byte, error) {
   436  	type NoMethod GoogleFirebaseAppcheckV1betaAttestationTokenResponse
   437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   438  }
   439  
   440  // GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse: Response
   441  // message for the BatchGetAppAttestConfigs method.
   442  type GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse struct {
   443  	// Configs: AppAttestConfigs retrieved.
   444  	Configs []*GoogleFirebaseAppcheckV1betaAppAttestConfig `json:"configs,omitempty"`
   445  
   446  	// ServerResponse contains the HTTP response code and headers from the server.
   447  	googleapi.ServerResponse `json:"-"`
   448  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   449  	// include in API requests. By default, fields with empty or default values are
   450  	// omitted from API requests. See
   451  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   452  	// details.
   453  	ForceSendFields []string `json:"-"`
   454  	// NullFields is a list of field names (e.g. "Configs") to include in API
   455  	// requests with the JSON null value. By default, fields with empty values are
   456  	// omitted from API requests. See
   457  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   458  	NullFields []string `json:"-"`
   459  }
   460  
   461  func (s *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse) MarshalJSON() ([]byte, error) {
   462  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse
   463  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   464  }
   465  
   466  // GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse: Response
   467  // message for the BatchGetDeviceCheckConfigs method.
   468  type GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse struct {
   469  	// Configs: DeviceCheckConfigs retrieved.
   470  	Configs []*GoogleFirebaseAppcheckV1betaDeviceCheckConfig `json:"configs,omitempty"`
   471  
   472  	// ServerResponse contains the HTTP response code and headers from the server.
   473  	googleapi.ServerResponse `json:"-"`
   474  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   475  	// include in API requests. By default, fields with empty or default values are
   476  	// omitted from API requests. See
   477  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   478  	// details.
   479  	ForceSendFields []string `json:"-"`
   480  	// NullFields is a list of field names (e.g. "Configs") to include in API
   481  	// requests with the JSON null value. By default, fields with empty values are
   482  	// omitted from API requests. See
   483  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   484  	NullFields []string `json:"-"`
   485  }
   486  
   487  func (s *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse) MarshalJSON() ([]byte, error) {
   488  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse
   489  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   490  }
   491  
   492  // GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse: Response
   493  // message for the BatchGetPlayIntegrityConfigs method.
   494  type GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse struct {
   495  	// Configs: PlayIntegrityConfigs retrieved.
   496  	Configs []*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig `json:"configs,omitempty"`
   497  
   498  	// ServerResponse contains the HTTP response code and headers from the server.
   499  	googleapi.ServerResponse `json:"-"`
   500  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   501  	// include in API requests. By default, fields with empty or default values are
   502  	// omitted from API requests. See
   503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   504  	// details.
   505  	ForceSendFields []string `json:"-"`
   506  	// NullFields is a list of field names (e.g. "Configs") to include in API
   507  	// requests with the JSON null value. By default, fields with empty values are
   508  	// omitted from API requests. See
   509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   510  	NullFields []string `json:"-"`
   511  }
   512  
   513  func (s *GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse) MarshalJSON() ([]byte, error) {
   514  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse
   515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   516  }
   517  
   518  // GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse: Response
   519  // message for the BatchGetRecaptchaConfigs method.
   520  type GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse struct {
   521  	// Configs: RecaptchaConfigs retrieved.
   522  	Configs []*GoogleFirebaseAppcheckV1betaRecaptchaConfig `json:"configs,omitempty"`
   523  
   524  	// ServerResponse contains the HTTP response code and headers from the server.
   525  	googleapi.ServerResponse `json:"-"`
   526  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   527  	// include in API requests. By default, fields with empty or default values are
   528  	// omitted from API requests. See
   529  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   530  	// details.
   531  	ForceSendFields []string `json:"-"`
   532  	// NullFields is a list of field names (e.g. "Configs") to include in API
   533  	// requests with the JSON null value. By default, fields with empty values are
   534  	// omitted from API requests. See
   535  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   536  	NullFields []string `json:"-"`
   537  }
   538  
   539  func (s *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse) MarshalJSON() ([]byte, error) {
   540  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse
   541  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   542  }
   543  
   544  // GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse:
   545  // Response message for the BatchGetRecaptchaEnterpriseConfigs method.
   546  type GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse struct {
   547  	// Configs: RecaptchaEnterpriseConfigs retrieved.
   548  	Configs []*GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig `json:"configs,omitempty"`
   549  
   550  	// ServerResponse contains the HTTP response code and headers from the server.
   551  	googleapi.ServerResponse `json:"-"`
   552  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   553  	// include in API requests. By default, fields with empty or default values are
   554  	// omitted from API requests. See
   555  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   556  	// details.
   557  	ForceSendFields []string `json:"-"`
   558  	// NullFields is a list of field names (e.g. "Configs") to include in API
   559  	// requests with the JSON null value. By default, fields with empty values are
   560  	// omitted from API requests. See
   561  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   562  	NullFields []string `json:"-"`
   563  }
   564  
   565  func (s *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse) MarshalJSON() ([]byte, error) {
   566  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse
   567  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   568  }
   569  
   570  // GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse: Response
   571  // message for the BatchGetRecaptchaV3Configs method.
   572  type GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse struct {
   573  	// Configs: RecaptchaV3Configs retrieved.
   574  	Configs []*GoogleFirebaseAppcheckV1betaRecaptchaV3Config `json:"configs,omitempty"`
   575  
   576  	// ServerResponse contains the HTTP response code and headers from the server.
   577  	googleapi.ServerResponse `json:"-"`
   578  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   579  	// include in API requests. By default, fields with empty or default values are
   580  	// omitted from API requests. See
   581  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   582  	// details.
   583  	ForceSendFields []string `json:"-"`
   584  	// NullFields is a list of field names (e.g. "Configs") to include in API
   585  	// requests with the JSON null value. By default, fields with empty values are
   586  	// omitted from API requests. See
   587  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   588  	NullFields []string `json:"-"`
   589  }
   590  
   591  func (s *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse) MarshalJSON() ([]byte, error) {
   592  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse
   593  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   594  }
   595  
   596  // GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse: Response
   597  // message for the BatchGetSafetyNetConfigs method.
   598  type GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse struct {
   599  	// Configs: SafetyNetConfigs retrieved.
   600  	Configs []*GoogleFirebaseAppcheckV1betaSafetyNetConfig `json:"configs,omitempty"`
   601  
   602  	// ServerResponse contains the HTTP response code and headers from the server.
   603  	googleapi.ServerResponse `json:"-"`
   604  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   605  	// include in API requests. By default, fields with empty or default values are
   606  	// omitted from API requests. See
   607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   608  	// details.
   609  	ForceSendFields []string `json:"-"`
   610  	// NullFields is a list of field names (e.g. "Configs") to include in API
   611  	// requests with the JSON null value. By default, fields with empty values are
   612  	// omitted from API requests. See
   613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   614  	NullFields []string `json:"-"`
   615  }
   616  
   617  func (s *GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse) MarshalJSON() ([]byte, error) {
   618  	type NoMethod GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse
   619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   620  }
   621  
   622  // GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest: Request
   623  // message for the BatchUpdateResourcePolicies method.
   624  type GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest struct {
   625  	// Requests: Required. The request messages specifying the ResourcePolicy
   626  	// objects to update. A maximum of 100 objects can be updated in a batch.
   627  	Requests []*GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest `json:"requests,omitempty"`
   628  	// UpdateMask: Optional. A comma-separated list of names of fields in the
   629  	// ResourcePolicy objects to update. Example: `enforcement_mode`. If this field
   630  	// is present, the `update_mask` field in the UpdateResourcePolicyRequest
   631  	// messages must all match this field, or the entire batch fails and no updates
   632  	// will be committed.
   633  	UpdateMask string `json:"updateMask,omitempty"`
   634  	// ForceSendFields is a list of field names (e.g. "Requests") to
   635  	// unconditionally include in API requests. By default, fields with empty or
   636  	// default values are omitted from API requests. See
   637  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   638  	// details.
   639  	ForceSendFields []string `json:"-"`
   640  	// NullFields is a list of field names (e.g. "Requests") to include in API
   641  	// requests with the JSON null value. By default, fields with empty values are
   642  	// omitted from API requests. See
   643  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   644  	NullFields []string `json:"-"`
   645  }
   646  
   647  func (s *GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest) MarshalJSON() ([]byte, error) {
   648  	type NoMethod GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest
   649  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   650  }
   651  
   652  // GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse: Response
   653  // message for the BatchUpdateResourcePolicies method.
   654  type GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse struct {
   655  	// ResourcePolicies: ResourcePolicy objects after the updates have been
   656  	// applied.
   657  	ResourcePolicies []*GoogleFirebaseAppcheckV1betaResourcePolicy `json:"resourcePolicies,omitempty"`
   658  
   659  	// ServerResponse contains the HTTP response code and headers from the server.
   660  	googleapi.ServerResponse `json:"-"`
   661  	// ForceSendFields is a list of field names (e.g. "ResourcePolicies") to
   662  	// unconditionally include in API requests. By default, fields with empty or
   663  	// default values are omitted from API requests. See
   664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   665  	// details.
   666  	ForceSendFields []string `json:"-"`
   667  	// NullFields is a list of field names (e.g. "ResourcePolicies") to include in
   668  	// API requests with the JSON null value. By default, fields with empty values
   669  	// are omitted from API requests. See
   670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   671  	NullFields []string `json:"-"`
   672  }
   673  
   674  func (s *GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse) MarshalJSON() ([]byte, error) {
   675  	type NoMethod GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse
   676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   677  }
   678  
   679  // GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest: Request message for
   680  // the BatchUpdateServices method.
   681  type GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest struct {
   682  	// Requests: Required. The request messages specifying the Services to update.
   683  	// A maximum of 100 objects can be updated in a batch.
   684  	Requests []*GoogleFirebaseAppcheckV1betaUpdateServiceRequest `json:"requests,omitempty"`
   685  	// UpdateMask: Optional. A comma-separated list of names of fields in the
   686  	// Services to update. Example: `display_name`. If this field is present, the
   687  	// `update_mask` field in the UpdateServiceRequest messages must all match this
   688  	// field, or the entire batch fails and no updates will be committed.
   689  	UpdateMask string `json:"updateMask,omitempty"`
   690  	// ForceSendFields is a list of field names (e.g. "Requests") to
   691  	// unconditionally include in API requests. By default, fields with empty or
   692  	// default values are omitted from API requests. See
   693  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   694  	// details.
   695  	ForceSendFields []string `json:"-"`
   696  	// NullFields is a list of field names (e.g. "Requests") to include in API
   697  	// requests with the JSON null value. By default, fields with empty values are
   698  	// omitted from API requests. See
   699  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   700  	NullFields []string `json:"-"`
   701  }
   702  
   703  func (s *GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest) MarshalJSON() ([]byte, error) {
   704  	type NoMethod GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest
   705  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   706  }
   707  
   708  // GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse: Response message
   709  // for the BatchUpdateServices method.
   710  type GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse struct {
   711  	// Services: Service objects after the updates have been applied.
   712  	Services []*GoogleFirebaseAppcheckV1betaService `json:"services,omitempty"`
   713  
   714  	// ServerResponse contains the HTTP response code and headers from the server.
   715  	googleapi.ServerResponse `json:"-"`
   716  	// ForceSendFields is a list of field names (e.g. "Services") to
   717  	// unconditionally include in API requests. By default, fields with empty or
   718  	// default values are omitted from API requests. See
   719  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   720  	// details.
   721  	ForceSendFields []string `json:"-"`
   722  	// NullFields is a list of field names (e.g. "Services") to include in API
   723  	// requests with the JSON null value. By default, fields with empty values are
   724  	// omitted from API requests. See
   725  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   726  	NullFields []string `json:"-"`
   727  }
   728  
   729  func (s *GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse) MarshalJSON() ([]byte, error) {
   730  	type NoMethod GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse
   731  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   732  }
   733  
   734  // GoogleFirebaseAppcheckV1betaDebugToken: A *debug token* is a secret used
   735  // during the development or integration testing of an app. It essentially
   736  // allows the development or integration testing to bypass app attestation
   737  // while still allowing App Check to enforce protection on supported production
   738  // Firebase services.
   739  type GoogleFirebaseAppcheckV1betaDebugToken struct {
   740  	// DisplayName: Required. A human readable display name used to identify this
   741  	// debug token.
   742  	DisplayName string `json:"displayName,omitempty"`
   743  	// Name: Required. The relative resource name of the debug token, in the
   744  	// format: ```
   745  	// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
   746  	Name string `json:"name,omitempty"`
   747  	// Token: Required. Input only. Immutable. The secret token itself. Must be
   748  	// provided during creation, and must be a UUID4, case insensitive. This field
   749  	// is immutable once set, and cannot be provided during an UpdateDebugToken
   750  	// request. You can, however, delete this debug token using DeleteDebugToken to
   751  	// revoke it. For security reasons, this field will never be populated in any
   752  	// response.
   753  	Token string `json:"token,omitempty"`
   754  	// UpdateTime: Output only. Timestamp when this debug token was most recently
   755  	// updated.
   756  	UpdateTime string `json:"updateTime,omitempty"`
   757  
   758  	// ServerResponse contains the HTTP response code and headers from the server.
   759  	googleapi.ServerResponse `json:"-"`
   760  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
   761  	// unconditionally include in API requests. By default, fields with empty or
   762  	// default values are omitted from API requests. See
   763  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   764  	// details.
   765  	ForceSendFields []string `json:"-"`
   766  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
   767  	// requests with the JSON null value. By default, fields with empty values are
   768  	// omitted from API requests. See
   769  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   770  	NullFields []string `json:"-"`
   771  }
   772  
   773  func (s *GoogleFirebaseAppcheckV1betaDebugToken) MarshalJSON() ([]byte, error) {
   774  	type NoMethod GoogleFirebaseAppcheckV1betaDebugToken
   775  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   776  }
   777  
   778  // GoogleFirebaseAppcheckV1betaDeviceCheckConfig: An app's DeviceCheck
   779  // configuration object. This configuration is used by ExchangeDeviceCheckToken
   780  // to validate device tokens issued to apps by DeviceCheck. It also controls
   781  // certain properties of the returned `AppCheckToken`, such as its ttl. Note
   782  // that the Team ID registered with your app is used as part of the validation
   783  // process. Please register it via the Firebase Console or programmatically via
   784  // the Firebase Management Service
   785  // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).
   786  type GoogleFirebaseAppcheckV1betaDeviceCheckConfig struct {
   787  	// KeyId: Required. The key identifier of a private key enabled with
   788  	// DeviceCheck, created in your Apple Developer account.
   789  	KeyId string `json:"keyId,omitempty"`
   790  	// Name: Required. The relative resource name of the DeviceCheck configuration
   791  	// object, in the format: ```
   792  	// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
   793  	Name string `json:"name,omitempty"`
   794  	// PrivateKey: Required. Input only. The contents of the private key (`.p8`)
   795  	// file associated with the key specified by `key_id`. For security reasons,
   796  	// this field will never be populated in any response.
   797  	PrivateKey string `json:"privateKey,omitempty"`
   798  	// PrivateKeySet: Output only. Whether the `private_key` field was previously
   799  	// set. Since we will never return the `private_key` field, this field is the
   800  	// only way to find out whether it was previously set.
   801  	PrivateKeySet bool `json:"privateKeySet,omitempty"`
   802  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
   803  	// DeviceCheck tokens will be valid. If unset, a default value of 1 hour is
   804  	// assumed. Must be between 30 minutes and 7 days, inclusive.
   805  	TokenTtl string `json:"tokenTtl,omitempty"`
   806  
   807  	// ServerResponse contains the HTTP response code and headers from the server.
   808  	googleapi.ServerResponse `json:"-"`
   809  	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
   810  	// include in API requests. By default, fields with empty or default values are
   811  	// omitted from API requests. See
   812  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   813  	// details.
   814  	ForceSendFields []string `json:"-"`
   815  	// NullFields is a list of field names (e.g. "KeyId") to include in API
   816  	// requests with the JSON null value. By default, fields with empty values are
   817  	// omitted from API requests. See
   818  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   819  	NullFields []string `json:"-"`
   820  }
   821  
   822  func (s *GoogleFirebaseAppcheckV1betaDeviceCheckConfig) MarshalJSON() ([]byte, error) {
   823  	type NoMethod GoogleFirebaseAppcheckV1betaDeviceCheckConfig
   824  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   825  }
   826  
   827  // GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest: Request
   828  // message for the ExchangeAppAttestAssertion method.
   829  type GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest struct {
   830  	// Artifact: Required. The artifact returned by a previous call to
   831  	// ExchangeAppAttestAttestation.
   832  	Artifact string `json:"artifact,omitempty"`
   833  	// Assertion: Required. The CBOR-encoded assertion returned by the client-side
   834  	// App Attest API.
   835  	Assertion string `json:"assertion,omitempty"`
   836  	// Challenge: Required. A one-time challenge returned by an immediately prior
   837  	// call to GenerateAppAttestChallenge.
   838  	Challenge string `json:"challenge,omitempty"`
   839  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   840  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   841  	// be used with the *replay protection* feature, set this to `true`. The
   842  	// default value is `false`.
   843  	LimitedUse bool `json:"limitedUse,omitempty"`
   844  	// ForceSendFields is a list of field names (e.g. "Artifact") to
   845  	// unconditionally include in API requests. By default, fields with empty or
   846  	// default values are omitted from API requests. See
   847  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   848  	// details.
   849  	ForceSendFields []string `json:"-"`
   850  	// NullFields is a list of field names (e.g. "Artifact") to include in API
   851  	// requests with the JSON null value. By default, fields with empty values are
   852  	// omitted from API requests. See
   853  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   854  	NullFields []string `json:"-"`
   855  }
   856  
   857  func (s *GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest) MarshalJSON() ([]byte, error) {
   858  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest
   859  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   860  }
   861  
   862  // GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest: Request
   863  // message for the ExchangeAppAttestAttestation method.
   864  type GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest struct {
   865  	// AttestationStatement: Required. The App Attest statement returned by the
   866  	// client-side App Attest API. This is a base64url encoded CBOR object in the
   867  	// JSON response.
   868  	AttestationStatement string `json:"attestationStatement,omitempty"`
   869  	// Challenge: Required. A one-time challenge returned by an immediately prior
   870  	// call to GenerateAppAttestChallenge.
   871  	Challenge string `json:"challenge,omitempty"`
   872  	// KeyId: Required. The key ID generated by App Attest for the client app.
   873  	KeyId string `json:"keyId,omitempty"`
   874  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   875  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   876  	// be used with the *replay protection* feature, set this to `true`. The
   877  	// default value is `false`.
   878  	LimitedUse bool `json:"limitedUse,omitempty"`
   879  	// ForceSendFields is a list of field names (e.g. "AttestationStatement") to
   880  	// unconditionally include in API requests. By default, fields with empty or
   881  	// default values are omitted from API requests. See
   882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   883  	// details.
   884  	ForceSendFields []string `json:"-"`
   885  	// NullFields is a list of field names (e.g. "AttestationStatement") to include
   886  	// in API requests with the JSON null value. By default, fields with empty
   887  	// values are omitted from API requests. See
   888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   889  	NullFields []string `json:"-"`
   890  }
   891  
   892  func (s *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest) MarshalJSON() ([]byte, error) {
   893  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest
   894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   895  }
   896  
   897  // GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse: Response
   898  // message for the ExchangeAppAttestAttestation method.
   899  type GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse struct {
   900  	// AppCheckToken: Encapsulates an App Check token.
   901  	AppCheckToken *GoogleFirebaseAppcheckV1betaAppCheckToken `json:"appCheckToken,omitempty"`
   902  	// Artifact: An artifact that can be used in future calls to
   903  	// ExchangeAppAttestAssertion.
   904  	Artifact string `json:"artifact,omitempty"`
   905  	// AttestationToken: Encapsulates an App Check token.
   906  	AttestationToken *GoogleFirebaseAppcheckV1betaAttestationTokenResponse `json:"attestationToken,omitempty"`
   907  
   908  	// ServerResponse contains the HTTP response code and headers from the server.
   909  	googleapi.ServerResponse `json:"-"`
   910  	// ForceSendFields is a list of field names (e.g. "AppCheckToken") to
   911  	// unconditionally include in API requests. By default, fields with empty or
   912  	// default values are omitted from API requests. See
   913  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   914  	// details.
   915  	ForceSendFields []string `json:"-"`
   916  	// NullFields is a list of field names (e.g. "AppCheckToken") to include in API
   917  	// requests with the JSON null value. By default, fields with empty values are
   918  	// omitted from API requests. See
   919  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   920  	NullFields []string `json:"-"`
   921  }
   922  
   923  func (s *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse) MarshalJSON() ([]byte, error) {
   924  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse
   925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   926  }
   927  
   928  // GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest: Request message for
   929  // the ExchangeCustomToken method.
   930  type GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest struct {
   931  	// CustomToken: Required. A custom token signed using your project's Admin SDK
   932  	// service account credentials.
   933  	CustomToken string `json:"customToken,omitempty"`
   934  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   935  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   936  	// be used with the *replay protection* feature, set this to `true`. The
   937  	// default value is `false`.
   938  	LimitedUse bool `json:"limitedUse,omitempty"`
   939  	// ForceSendFields is a list of field names (e.g. "CustomToken") to
   940  	// unconditionally include in API requests. By default, fields with empty or
   941  	// default values are omitted from API requests. See
   942  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   943  	// details.
   944  	ForceSendFields []string `json:"-"`
   945  	// NullFields is a list of field names (e.g. "CustomToken") to include in API
   946  	// requests with the JSON null value. By default, fields with empty values are
   947  	// omitted from API requests. See
   948  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   949  	NullFields []string `json:"-"`
   950  }
   951  
   952  func (s *GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest) MarshalJSON() ([]byte, error) {
   953  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest
   954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   955  }
   956  
   957  // GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest: Request message for
   958  // the ExchangeDebugToken method.
   959  type GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest struct {
   960  	// DebugToken: Required. A debug token secret. This string must match a debug
   961  	// token secret previously created using CreateDebugToken.
   962  	DebugToken string `json:"debugToken,omitempty"`
   963  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   964  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   965  	// be used with the *replay protection* feature, set this to `true`. The
   966  	// default value is `false`.
   967  	LimitedUse bool `json:"limitedUse,omitempty"`
   968  	// ForceSendFields is a list of field names (e.g. "DebugToken") to
   969  	// unconditionally include in API requests. By default, fields with empty or
   970  	// default values are omitted from API requests. See
   971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   972  	// details.
   973  	ForceSendFields []string `json:"-"`
   974  	// NullFields is a list of field names (e.g. "DebugToken") to include in API
   975  	// requests with the JSON null value. By default, fields with empty values are
   976  	// omitted from API requests. See
   977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   978  	NullFields []string `json:"-"`
   979  }
   980  
   981  func (s *GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest) MarshalJSON() ([]byte, error) {
   982  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest
   983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   984  }
   985  
   986  // GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest: Request message
   987  // for the ExchangeDeviceCheckToken method.
   988  type GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest struct {
   989  	// DeviceToken: Required. The `device_token` as returned by Apple's client-side
   990  	// DeviceCheck API
   991  	// (https://developer.apple.com/documentation/devicecheck/dcdevice). This is
   992  	// the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.
   993  	DeviceToken string `json:"deviceToken,omitempty"`
   994  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   995  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   996  	// be used with the *replay protection* feature, set this to `true`. The
   997  	// default value is `false`.
   998  	LimitedUse bool `json:"limitedUse,omitempty"`
   999  	// ForceSendFields is a list of field names (e.g. "DeviceToken") to
  1000  	// unconditionally include in API requests. By default, fields with empty or
  1001  	// default values are omitted from API requests. See
  1002  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1003  	// details.
  1004  	ForceSendFields []string `json:"-"`
  1005  	// NullFields is a list of field names (e.g. "DeviceToken") to include in API
  1006  	// requests with the JSON null value. By default, fields with empty values are
  1007  	// omitted from API requests. See
  1008  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1009  	NullFields []string `json:"-"`
  1010  }
  1011  
  1012  func (s *GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest) MarshalJSON() ([]byte, error) {
  1013  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest
  1014  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1015  }
  1016  
  1017  // GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest: Request
  1018  // message for the ExchangePlayIntegrityToken method.
  1019  type GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest struct {
  1020  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
  1021  	// (`true`) or *session based* (`false`) context. To enable this attestation to
  1022  	// be used with the *replay protection* feature, set this to `true`. The
  1023  	// default value is `false`.
  1024  	LimitedUse bool `json:"limitedUse,omitempty"`
  1025  	// PlayIntegrityToken: Required. The integrity verdict response token from Play
  1026  	// Integrity
  1027  	// (https://developer.android.com/google/play/integrity/verdict#decrypt-verify)
  1028  	// issued to your app.
  1029  	PlayIntegrityToken string `json:"playIntegrityToken,omitempty"`
  1030  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
  1031  	// unconditionally include in API requests. By default, fields with empty or
  1032  	// default values are omitted from API requests. See
  1033  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1034  	// details.
  1035  	ForceSendFields []string `json:"-"`
  1036  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
  1037  	// requests with the JSON null value. By default, fields with empty values are
  1038  	// omitted from API requests. See
  1039  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1040  	NullFields []string `json:"-"`
  1041  }
  1042  
  1043  func (s *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest) MarshalJSON() ([]byte, error) {
  1044  	type NoMethod GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest
  1045  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1046  }
  1047  
  1048  // GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest: Request
  1049  // message for the ExchangeRecaptchaEnterpriseToken method.
  1050  type GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest struct {
  1051  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
  1052  	// (`true`) or *session based* (`false`) context. To enable this attestation to
  1053  	// be used with the *replay protection* feature, set this to `true`. The
  1054  	// default value is `false`.
  1055  	LimitedUse bool `json:"limitedUse,omitempty"`
  1056  	// RecaptchaEnterpriseToken: Required. The reCAPTCHA token as returned by the
  1057  	// reCAPTCHA Enterprise JavaScript API
  1058  	// (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).
  1059  	RecaptchaEnterpriseToken string `json:"recaptchaEnterpriseToken,omitempty"`
  1060  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
  1061  	// unconditionally include in API requests. By default, fields with empty or
  1062  	// default values are omitted from API requests. See
  1063  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1064  	// details.
  1065  	ForceSendFields []string `json:"-"`
  1066  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
  1067  	// requests with the JSON null value. By default, fields with empty values are
  1068  	// omitted from API requests. See
  1069  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1070  	NullFields []string `json:"-"`
  1071  }
  1072  
  1073  func (s *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest) MarshalJSON() ([]byte, error) {
  1074  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest
  1075  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1076  }
  1077  
  1078  // GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest: Request message
  1079  // for the ExchangeRecaptchaToken method.
  1080  type GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest struct {
  1081  	// RecaptchaToken: Required. The reCAPTCHA token as returned by the reCAPTCHA
  1082  	// v3 JavaScript API (https://developers.google.com/recaptcha/docs/v3).
  1083  	RecaptchaToken string `json:"recaptchaToken,omitempty"`
  1084  	// ForceSendFields is a list of field names (e.g. "RecaptchaToken") to
  1085  	// unconditionally include in API requests. By default, fields with empty or
  1086  	// default values are omitted from API requests. See
  1087  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1088  	// details.
  1089  	ForceSendFields []string `json:"-"`
  1090  	// NullFields is a list of field names (e.g. "RecaptchaToken") to include in
  1091  	// API requests with the JSON null value. By default, fields with empty values
  1092  	// are omitted from API requests. See
  1093  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1094  	NullFields []string `json:"-"`
  1095  }
  1096  
  1097  func (s *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest) MarshalJSON() ([]byte, error) {
  1098  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest
  1099  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1100  }
  1101  
  1102  // GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest: Request message
  1103  // for the ExchangeRecaptchaV3Token method.
  1104  type GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest struct {
  1105  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
  1106  	// (`true`) or *session based* (`false`) context. To enable this attestation to
  1107  	// be used with the *replay protection* feature, set this to `true`. The
  1108  	// default value is `false`.
  1109  	LimitedUse bool `json:"limitedUse,omitempty"`
  1110  	// RecaptchaV3Token: Required. The reCAPTCHA token as returned by the reCAPTCHA
  1111  	// v3 JavaScript API (https://developers.google.com/recaptcha/docs/v3).
  1112  	RecaptchaV3Token string `json:"recaptchaV3Token,omitempty"`
  1113  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
  1114  	// unconditionally include in API requests. By default, fields with empty or
  1115  	// default values are omitted from API requests. See
  1116  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1117  	// details.
  1118  	ForceSendFields []string `json:"-"`
  1119  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
  1120  	// requests with the JSON null value. By default, fields with empty values are
  1121  	// omitted from API requests. See
  1122  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1123  	NullFields []string `json:"-"`
  1124  }
  1125  
  1126  func (s *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest) MarshalJSON() ([]byte, error) {
  1127  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest
  1128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1129  }
  1130  
  1131  // GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest: Request message
  1132  // for the ExchangeSafetyNetToken method.
  1133  type GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest struct {
  1134  	// SafetyNetToken: Required. The SafetyNet attestation response
  1135  	// (https://developer.android.com/training/safetynet/attestation#request-attestation-step)
  1136  	// issued to your app.
  1137  	SafetyNetToken string `json:"safetyNetToken,omitempty"`
  1138  	// ForceSendFields is a list of field names (e.g. "SafetyNetToken") to
  1139  	// unconditionally include in API requests. By default, fields with empty or
  1140  	// default values are omitted from API requests. See
  1141  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1142  	// details.
  1143  	ForceSendFields []string `json:"-"`
  1144  	// NullFields is a list of field names (e.g. "SafetyNetToken") to include in
  1145  	// API requests with the JSON null value. By default, fields with empty values
  1146  	// are omitted from API requests. See
  1147  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1148  	NullFields []string `json:"-"`
  1149  }
  1150  
  1151  func (s *GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest) MarshalJSON() ([]byte, error) {
  1152  	type NoMethod GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest
  1153  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1154  }
  1155  
  1156  // GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest: Request
  1157  // message for the GenerateAppAttestChallenge method.
  1158  type GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest struct {
  1159  }
  1160  
  1161  // GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse: Response
  1162  // message for the GenerateAppAttestChallenge method.
  1163  type GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse struct {
  1164  	// Challenge: A one-time use challenge for the client to pass to the App Attest
  1165  	// API.
  1166  	Challenge string `json:"challenge,omitempty"`
  1167  	// Ttl: The duration from the time this challenge is minted until its
  1168  	// expiration. This field is intended to ease client-side token management,
  1169  	// since the client may have clock skew, but is still able to accurately
  1170  	// measure a duration.
  1171  	Ttl string `json:"ttl,omitempty"`
  1172  
  1173  	// ServerResponse contains the HTTP response code and headers from the server.
  1174  	googleapi.ServerResponse `json:"-"`
  1175  	// ForceSendFields is a list of field names (e.g. "Challenge") to
  1176  	// unconditionally include in API requests. By default, fields with empty or
  1177  	// default values are omitted from API requests. See
  1178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1179  	// details.
  1180  	ForceSendFields []string `json:"-"`
  1181  	// NullFields is a list of field names (e.g. "Challenge") to include in API
  1182  	// requests with the JSON null value. By default, fields with empty values are
  1183  	// omitted from API requests. See
  1184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1185  	NullFields []string `json:"-"`
  1186  }
  1187  
  1188  func (s *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse) MarshalJSON() ([]byte, error) {
  1189  	type NoMethod GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse
  1190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1191  }
  1192  
  1193  // GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest: Request
  1194  // message for the GeneratePlayIntegrityChallenge method.
  1195  type GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest struct {
  1196  }
  1197  
  1198  // GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse: Response
  1199  // message for the GeneratePlayIntegrityChallenge method.
  1200  type GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse struct {
  1201  	// Challenge: A one-time use challenge
  1202  	// (https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks)
  1203  	// for the client to pass to the Play Integrity API.
  1204  	Challenge string `json:"challenge,omitempty"`
  1205  	// Ttl: The duration from the time this challenge is minted until its
  1206  	// expiration. This field is intended to ease client-side token management,
  1207  	// since the client may have clock skew, but is still able to accurately
  1208  	// measure a duration.
  1209  	Ttl string `json:"ttl,omitempty"`
  1210  
  1211  	// ServerResponse contains the HTTP response code and headers from the server.
  1212  	googleapi.ServerResponse `json:"-"`
  1213  	// ForceSendFields is a list of field names (e.g. "Challenge") to
  1214  	// unconditionally include in API requests. By default, fields with empty or
  1215  	// default values are omitted from API requests. See
  1216  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1217  	// details.
  1218  	ForceSendFields []string `json:"-"`
  1219  	// NullFields is a list of field names (e.g. "Challenge") to include in API
  1220  	// requests with the JSON null value. By default, fields with empty values are
  1221  	// omitted from API requests. See
  1222  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1223  	NullFields []string `json:"-"`
  1224  }
  1225  
  1226  func (s *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse) MarshalJSON() ([]byte, error) {
  1227  	type NoMethod GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse
  1228  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1229  }
  1230  
  1231  // GoogleFirebaseAppcheckV1betaListDebugTokensResponse: Response message for
  1232  // the ListDebugTokens method.
  1233  type GoogleFirebaseAppcheckV1betaListDebugTokensResponse struct {
  1234  	// DebugTokens: The DebugTokens retrieved.
  1235  	DebugTokens []*GoogleFirebaseAppcheckV1betaDebugToken `json:"debugTokens,omitempty"`
  1236  	// NextPageToken: If the result list is too large to fit in a single response,
  1237  	// then a token is returned. If the string is empty or omitted, then this
  1238  	// response is the last page of results. This token can be used in a subsequent
  1239  	// call to ListDebugTokens to find the next group of DebugTokens. Page tokens
  1240  	// are short-lived and should not be persisted.
  1241  	NextPageToken string `json:"nextPageToken,omitempty"`
  1242  
  1243  	// ServerResponse contains the HTTP response code and headers from the server.
  1244  	googleapi.ServerResponse `json:"-"`
  1245  	// ForceSendFields is a list of field names (e.g. "DebugTokens") to
  1246  	// unconditionally include in API requests. By default, fields with empty or
  1247  	// default values are omitted from API requests. See
  1248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1249  	// details.
  1250  	ForceSendFields []string `json:"-"`
  1251  	// NullFields is a list of field names (e.g. "DebugTokens") to include in API
  1252  	// requests with the JSON null value. By default, fields with empty values are
  1253  	// omitted from API requests. See
  1254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1255  	NullFields []string `json:"-"`
  1256  }
  1257  
  1258  func (s *GoogleFirebaseAppcheckV1betaListDebugTokensResponse) MarshalJSON() ([]byte, error) {
  1259  	type NoMethod GoogleFirebaseAppcheckV1betaListDebugTokensResponse
  1260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1261  }
  1262  
  1263  // GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse: Response message
  1264  // for the ListResourcePolicies method.
  1265  type GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse struct {
  1266  	// NextPageToken: If the result list is too large to fit in a single response,
  1267  	// then a token is returned. If the string is empty or omitted, then this
  1268  	// response is the last page of results. This token can be used in a subsequent
  1269  	// call to ListResourcePolicies to find the next group of ResourcePolicy
  1270  	// objects. Page tokens are short-lived and should not be persisted.
  1271  	NextPageToken string `json:"nextPageToken,omitempty"`
  1272  	// ResourcePolicies: The ResourcePolicy objects retrieved.
  1273  	ResourcePolicies []*GoogleFirebaseAppcheckV1betaResourcePolicy `json:"resourcePolicies,omitempty"`
  1274  
  1275  	// ServerResponse contains the HTTP response code and headers from the server.
  1276  	googleapi.ServerResponse `json:"-"`
  1277  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1278  	// unconditionally include in API requests. By default, fields with empty or
  1279  	// default values are omitted from API requests. See
  1280  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1281  	// details.
  1282  	ForceSendFields []string `json:"-"`
  1283  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1284  	// requests with the JSON null value. By default, fields with empty values are
  1285  	// omitted from API requests. See
  1286  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1287  	NullFields []string `json:"-"`
  1288  }
  1289  
  1290  func (s *GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse) MarshalJSON() ([]byte, error) {
  1291  	type NoMethod GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse
  1292  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1293  }
  1294  
  1295  // GoogleFirebaseAppcheckV1betaListServicesResponse: Response message for the
  1296  // ListServices method.
  1297  type GoogleFirebaseAppcheckV1betaListServicesResponse struct {
  1298  	// NextPageToken: If the result list is too large to fit in a single response,
  1299  	// then a token is returned. If the string is empty or omitted, then this
  1300  	// response is the last page of results. This token can be used in a subsequent
  1301  	// call to ListServices to find the next group of Services. Page tokens are
  1302  	// short-lived and should not be persisted.
  1303  	NextPageToken string `json:"nextPageToken,omitempty"`
  1304  	// Services: The Services retrieved.
  1305  	Services []*GoogleFirebaseAppcheckV1betaService `json:"services,omitempty"`
  1306  
  1307  	// ServerResponse contains the HTTP response code and headers from the server.
  1308  	googleapi.ServerResponse `json:"-"`
  1309  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1310  	// unconditionally include in API requests. By default, fields with empty or
  1311  	// default values are omitted from API requests. See
  1312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1313  	// details.
  1314  	ForceSendFields []string `json:"-"`
  1315  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1316  	// requests with the JSON null value. By default, fields with empty values are
  1317  	// omitted from API requests. See
  1318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1319  	NullFields []string `json:"-"`
  1320  }
  1321  
  1322  func (s *GoogleFirebaseAppcheckV1betaListServicesResponse) MarshalJSON() ([]byte, error) {
  1323  	type NoMethod GoogleFirebaseAppcheckV1betaListServicesResponse
  1324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1325  }
  1326  
  1327  // GoogleFirebaseAppcheckV1betaPlayIntegrityConfig: An app's Play Integrity
  1328  // configuration object. This configuration controls certain properties of the
  1329  // `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl.
  1330  // Note that your registered SHA-256 certificate fingerprints are used to
  1331  // validate tokens issued by the Play Integrity API; please register them via
  1332  // the Firebase Console or programmatically via the Firebase Management Service
  1333  // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).
  1334  type GoogleFirebaseAppcheckV1betaPlayIntegrityConfig struct {
  1335  	// Name: Required. The relative resource name of the Play Integrity
  1336  	// configuration object, in the format: ```
  1337  	// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```
  1338  	Name string `json:"name,omitempty"`
  1339  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1340  	// Play Integrity tokens will be valid. If unset, a default value of 1 hour is
  1341  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1342  	TokenTtl string `json:"tokenTtl,omitempty"`
  1343  
  1344  	// ServerResponse contains the HTTP response code and headers from the server.
  1345  	googleapi.ServerResponse `json:"-"`
  1346  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1347  	// include in API requests. By default, fields with empty or default values are
  1348  	// omitted from API requests. See
  1349  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1350  	// details.
  1351  	ForceSendFields []string `json:"-"`
  1352  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1353  	// with the JSON null value. By default, fields with empty values are omitted
  1354  	// from API requests. See
  1355  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1356  	NullFields []string `json:"-"`
  1357  }
  1358  
  1359  func (s *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig) MarshalJSON() ([]byte, error) {
  1360  	type NoMethod GoogleFirebaseAppcheckV1betaPlayIntegrityConfig
  1361  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1362  }
  1363  
  1364  // GoogleFirebaseAppcheckV1betaPublicJwk: A JWK as specified by section 4 of
  1365  // RFC 7517 (https://tools.ietf.org/html/rfc7517#section-4) and section 6.3.1
  1366  // of RFC 7518 (https://tools.ietf.org/html/rfc7518#section-6.3.1).
  1367  type GoogleFirebaseAppcheckV1betaPublicJwk struct {
  1368  	// Alg: See section 4.4 of RFC 7517
  1369  	// (https://tools.ietf.org/html/rfc7517#section-4.4).
  1370  	Alg string `json:"alg,omitempty"`
  1371  	// E: See section 6.3.1.2 of RFC 7518
  1372  	// (https://tools.ietf.org/html/rfc7518#section-6.3.1.2).
  1373  	E string `json:"e,omitempty"`
  1374  	// Kid: See section 4.5 of RFC 7517
  1375  	// (https://tools.ietf.org/html/rfc7517#section-4.5).
  1376  	Kid string `json:"kid,omitempty"`
  1377  	// Kty: See section 4.1 of RFC 7517
  1378  	// (https://tools.ietf.org/html/rfc7517#section-4.1).
  1379  	Kty string `json:"kty,omitempty"`
  1380  	// N: See section 6.3.1.1 of RFC 7518
  1381  	// (https://tools.ietf.org/html/rfc7518#section-6.3.1.1).
  1382  	N string `json:"n,omitempty"`
  1383  	// Use: See section 4.2 of RFC 7517
  1384  	// (https://tools.ietf.org/html/rfc7517#section-4.2).
  1385  	Use string `json:"use,omitempty"`
  1386  	// ForceSendFields is a list of field names (e.g. "Alg") to unconditionally
  1387  	// include in API requests. By default, fields with empty or default values are
  1388  	// omitted from API requests. See
  1389  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1390  	// details.
  1391  	ForceSendFields []string `json:"-"`
  1392  	// NullFields is a list of field names (e.g. "Alg") to include in API requests
  1393  	// with the JSON null value. By default, fields with empty values are omitted
  1394  	// from API requests. See
  1395  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1396  	NullFields []string `json:"-"`
  1397  }
  1398  
  1399  func (s *GoogleFirebaseAppcheckV1betaPublicJwk) MarshalJSON() ([]byte, error) {
  1400  	type NoMethod GoogleFirebaseAppcheckV1betaPublicJwk
  1401  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1402  }
  1403  
  1404  // GoogleFirebaseAppcheckV1betaPublicJwkSet: The currently active set of public
  1405  // keys that can be used to verify App Check tokens. This object is a JWK set
  1406  // as specified by section 5 of RFC 7517
  1407  // (https://tools.ietf.org/html/rfc7517#section-5). For security, the response
  1408  // **must not** be cached for longer than six hours.
  1409  type GoogleFirebaseAppcheckV1betaPublicJwkSet struct {
  1410  	// Keys: The set of public keys. See section 5.1 of RFC 7517
  1411  	// (https://tools.ietf.org/html/rfc7517#section-5).
  1412  	Keys []*GoogleFirebaseAppcheckV1betaPublicJwk `json:"keys,omitempty"`
  1413  
  1414  	// ServerResponse contains the HTTP response code and headers from the server.
  1415  	googleapi.ServerResponse `json:"-"`
  1416  	// ForceSendFields is a list of field names (e.g. "Keys") to unconditionally
  1417  	// include in API requests. By default, fields with empty or default values are
  1418  	// omitted from API requests. See
  1419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1420  	// details.
  1421  	ForceSendFields []string `json:"-"`
  1422  	// NullFields is a list of field names (e.g. "Keys") to include in API requests
  1423  	// with the JSON null value. By default, fields with empty values are omitted
  1424  	// from API requests. See
  1425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1426  	NullFields []string `json:"-"`
  1427  }
  1428  
  1429  func (s *GoogleFirebaseAppcheckV1betaPublicJwkSet) MarshalJSON() ([]byte, error) {
  1430  	type NoMethod GoogleFirebaseAppcheckV1betaPublicJwkSet
  1431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1432  }
  1433  
  1434  // GoogleFirebaseAppcheckV1betaRecaptchaConfig: An app's reCAPTCHA v3
  1435  // configuration object. This configuration is used by ExchangeRecaptchaToken
  1436  // to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also
  1437  // controls certain properties of the returned `AppCheckToken`, such as its
  1438  // ttl.
  1439  type GoogleFirebaseAppcheckV1betaRecaptchaConfig struct {
  1440  	// Name: Required. The relative resource name of the reCAPTCHA v3 configuration
  1441  	// object, in the format: ```
  1442  	// projects/{project_number}/apps/{app_id}/recaptchaConfig ```
  1443  	Name string `json:"name,omitempty"`
  1444  	// SiteSecret: Required. Input only. The site secret used to identify your
  1445  	// service for reCAPTCHA v3 verification. For security reasons, this field will
  1446  	// never be populated in any response.
  1447  	SiteSecret string `json:"siteSecret,omitempty"`
  1448  	// SiteSecretSet: Output only. Whether the `site_secret` field was previously
  1449  	// set. Since we will never return the `site_secret` field, this field is the
  1450  	// only way to find out whether it was previously set.
  1451  	SiteSecretSet bool `json:"siteSecretSet,omitempty"`
  1452  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1453  	// reCAPTCHA tokens will be valid. If unset, a default value of 1 day is
  1454  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1455  	TokenTtl string `json:"tokenTtl,omitempty"`
  1456  
  1457  	// ServerResponse contains the HTTP response code and headers from the server.
  1458  	googleapi.ServerResponse `json:"-"`
  1459  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1460  	// include in API requests. By default, fields with empty or default values are
  1461  	// omitted from API requests. See
  1462  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1463  	// details.
  1464  	ForceSendFields []string `json:"-"`
  1465  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1466  	// with the JSON null value. By default, fields with empty values are omitted
  1467  	// from API requests. See
  1468  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1469  	NullFields []string `json:"-"`
  1470  }
  1471  
  1472  func (s *GoogleFirebaseAppcheckV1betaRecaptchaConfig) MarshalJSON() ([]byte, error) {
  1473  	type NoMethod GoogleFirebaseAppcheckV1betaRecaptchaConfig
  1474  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1475  }
  1476  
  1477  // GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig: An app's reCAPTCHA
  1478  // Enterprise configuration object. This configuration is used by
  1479  // ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps
  1480  // by reCAPTCHA Enterprise. It also controls certain properties of the returned
  1481  // `AppCheckToken`, such as its ttl.
  1482  type GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig struct {
  1483  	// Name: Required. The relative resource name of the reCAPTCHA Enterprise
  1484  	// configuration object, in the format: ```
  1485  	// projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```
  1486  	Name string `json:"name,omitempty"`
  1487  	// SiteKey: The score-based site key created in reCAPTCHA Enterprise
  1488  	// (https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key)
  1489  	// used to invoke reCAPTCHA and generate the reCAPTCHA tokens
  1490  	// (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages)
  1491  	// for your application. Important: This is *not* the `site_secret` (as it is
  1492  	// in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.
  1493  	SiteKey string `json:"siteKey,omitempty"`
  1494  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1495  	// reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1
  1496  	// hour is assumed. Must be between 30 minutes and 7 days, inclusive.
  1497  	TokenTtl string `json:"tokenTtl,omitempty"`
  1498  
  1499  	// ServerResponse contains the HTTP response code and headers from the server.
  1500  	googleapi.ServerResponse `json:"-"`
  1501  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1502  	// include in API requests. By default, fields with empty or default values are
  1503  	// omitted from API requests. See
  1504  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1505  	// details.
  1506  	ForceSendFields []string `json:"-"`
  1507  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1508  	// with the JSON null value. By default, fields with empty values are omitted
  1509  	// from API requests. See
  1510  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1511  	NullFields []string `json:"-"`
  1512  }
  1513  
  1514  func (s *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig) MarshalJSON() ([]byte, error) {
  1515  	type NoMethod GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig
  1516  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1517  }
  1518  
  1519  // GoogleFirebaseAppcheckV1betaRecaptchaV3Config: An app's reCAPTCHA v3
  1520  // configuration object. This configuration is used by ExchangeRecaptchaV3Token
  1521  // to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also
  1522  // controls certain properties of the returned `AppCheckToken`, such as its
  1523  // ttl.
  1524  type GoogleFirebaseAppcheckV1betaRecaptchaV3Config struct {
  1525  	// Name: Required. The relative resource name of the reCAPTCHA v3 configuration
  1526  	// object, in the format: ```
  1527  	// projects/{project_number}/apps/{app_id}/recaptchaV3Config ```
  1528  	Name string `json:"name,omitempty"`
  1529  	// SiteSecret: Required. Input only. The site secret used to identify your
  1530  	// service for reCAPTCHA v3 verification. For security reasons, this field will
  1531  	// never be populated in any response.
  1532  	SiteSecret string `json:"siteSecret,omitempty"`
  1533  	// SiteSecretSet: Output only. Whether the `site_secret` field was previously
  1534  	// set. Since we will never return the `site_secret` field, this field is the
  1535  	// only way to find out whether it was previously set.
  1536  	SiteSecretSet bool `json:"siteSecretSet,omitempty"`
  1537  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1538  	// reCAPTCHA tokens will be valid. If unset, a default value of 1 day is
  1539  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1540  	TokenTtl string `json:"tokenTtl,omitempty"`
  1541  
  1542  	// ServerResponse contains the HTTP response code and headers from the server.
  1543  	googleapi.ServerResponse `json:"-"`
  1544  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1545  	// include in API requests. By default, fields with empty or default values are
  1546  	// omitted from API requests. See
  1547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1548  	// details.
  1549  	ForceSendFields []string `json:"-"`
  1550  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1551  	// with the JSON null value. By default, fields with empty values are omitted
  1552  	// from API requests. See
  1553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1554  	NullFields []string `json:"-"`
  1555  }
  1556  
  1557  func (s *GoogleFirebaseAppcheckV1betaRecaptchaV3Config) MarshalJSON() ([]byte, error) {
  1558  	type NoMethod GoogleFirebaseAppcheckV1betaRecaptchaV3Config
  1559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1560  }
  1561  
  1562  // GoogleFirebaseAppcheckV1betaResourcePolicy: App Check enforcement policy for
  1563  // a specific resource of a Firebase service supported by App Check. Note that
  1564  // this policy will override the service-level configuration.
  1565  type GoogleFirebaseAppcheckV1betaResourcePolicy struct {
  1566  	// EnforcementMode: Required. The App Check enforcement mode for this resource.
  1567  	// This will override the EnforcementMode setting on the parent service.
  1568  	//
  1569  	// Possible values:
  1570  	//   "OFF" - Firebase App Check is not enforced for the service, nor are App
  1571  	// Check metrics collected. Though the service is not protected by App Check in
  1572  	// this mode, other applicable protections, such as user authorization, are
  1573  	// still enforced. An unconfigured service is in this mode by default.
  1574  	//   "UNENFORCED" - Firebase App Check is not enforced for the service. App
  1575  	// Check metrics are collected to help you decide when to turn on enforcement
  1576  	// for the service. Though the service is not protected by App Check in this
  1577  	// mode, other applicable protections, such as user authorization, are still
  1578  	// enforced. Some services require certain conditions to be met before they
  1579  	// will work with App Check, such as requiring you to upgrade to a specific
  1580  	// service tier. Until those requirements are met for a service, this
  1581  	// `UNENFORCED` setting will have no effect and App Check will not work with
  1582  	// that service.
  1583  	//   "ENFORCED" - Firebase App Check is enforced for the service. The service
  1584  	// will reject any request that attempts to access your project's resources if
  1585  	// it does not have valid App Check token attached, with some exceptions
  1586  	// depending on the service; for example, some services will still allow
  1587  	// requests bearing the developer's privileged service account credentials
  1588  	// without an App Check token. App Check metrics continue to be collected to
  1589  	// help you detect issues with your App Check integration and monitor the
  1590  	// composition of your callers. While the service is protected by App Check,
  1591  	// other applicable protections, such as user authorization, continue to be
  1592  	// enforced at the same time. Use caution when choosing to enforce App Check on
  1593  	// a Firebase service. If your users have not updated to an App Check capable
  1594  	// version of your app, their apps will no longer be able to use your Firebase
  1595  	// services that are enforcing App Check. App Check metrics can help you decide
  1596  	// whether to enforce App Check on your Firebase services. If your app has not
  1597  	// launched yet, you should enable enforcement immediately, since there are no
  1598  	// outdated clients in use. Some services require certain conditions to be met
  1599  	// before they will work with App Check, such as requiring you to upgrade to a
  1600  	// specific service tier. Until those requirements are met for a service, this
  1601  	// `ENFORCED` setting will have no effect and App Check will not work with that
  1602  	// service.
  1603  	EnforcementMode string `json:"enforcementMode,omitempty"`
  1604  	// Etag: This checksum is computed by the server based on the value of other
  1605  	// fields, and may be sent on update and delete requests to ensure the client
  1606  	// has an up-to-date value before proceeding. This etag is strongly validated
  1607  	// as defined by RFC 7232.
  1608  	Etag string `json:"etag,omitempty"`
  1609  	// Name: Required. The relative name of the resource policy object, in the
  1610  	// format: ```
  1611  	// projects/{project_number}/services/{service_id}/resourcePolicies/{resource_po
  1612  	// licy_id} ``` Note that the `service_id` element must be a supported service
  1613  	// ID. Currently, the following service IDs are supported: *
  1614  	// `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a
  1615  	// system-generated UID.
  1616  	Name string `json:"name,omitempty"`
  1617  	// TargetResource: Required. Service specific name of the resource object to
  1618  	// which this policy applies, in the format: *
  1619  	// `//oauth2.googleapis.com/projects/{project_number}/oauthClients/{oauth_client
  1620  	// _id}` (Google Identity for iOS) Note that the resource must belong to the
  1621  	// service specified in the `name` and be from the same project as this policy,
  1622  	// but the resource is allowed to be missing at the time of creation of this
  1623  	// policy; in that case, we make a best-effort attempt at respecting this
  1624  	// policy, but it may not have any effect until the resource is fully created.
  1625  	TargetResource string `json:"targetResource,omitempty"`
  1626  	// UpdateTime: Output only. Timestamp when this resource policy configuration
  1627  	// object was most recently updated.
  1628  	UpdateTime string `json:"updateTime,omitempty"`
  1629  
  1630  	// ServerResponse contains the HTTP response code and headers from the server.
  1631  	googleapi.ServerResponse `json:"-"`
  1632  	// ForceSendFields is a list of field names (e.g. "EnforcementMode") to
  1633  	// unconditionally include in API requests. By default, fields with empty or
  1634  	// default values are omitted from API requests. See
  1635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1636  	// details.
  1637  	ForceSendFields []string `json:"-"`
  1638  	// NullFields is a list of field names (e.g. "EnforcementMode") to include in
  1639  	// API requests with the JSON null value. By default, fields with empty values
  1640  	// are omitted from API requests. See
  1641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1642  	NullFields []string `json:"-"`
  1643  }
  1644  
  1645  func (s *GoogleFirebaseAppcheckV1betaResourcePolicy) MarshalJSON() ([]byte, error) {
  1646  	type NoMethod GoogleFirebaseAppcheckV1betaResourcePolicy
  1647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1648  }
  1649  
  1650  // GoogleFirebaseAppcheckV1betaSafetyNetConfig: An app's SafetyNet
  1651  // configuration object. This configuration controls certain properties of the
  1652  // `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note
  1653  // that your registered SHA-256 certificate fingerprints are used to validate
  1654  // tokens issued by SafetyNet; please register them via the Firebase Console or
  1655  // programmatically via the Firebase Management Service
  1656  // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).
  1657  type GoogleFirebaseAppcheckV1betaSafetyNetConfig struct {
  1658  	// Name: Required. The relative resource name of the SafetyNet configuration
  1659  	// object, in the format: ```
  1660  	// projects/{project_number}/apps/{app_id}/safetyNetConfig ```
  1661  	Name string `json:"name,omitempty"`
  1662  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1663  	// SafetyNet tokens will be valid. If unset, a default value of 1 hour is
  1664  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1665  	TokenTtl string `json:"tokenTtl,omitempty"`
  1666  
  1667  	// ServerResponse contains the HTTP response code and headers from the server.
  1668  	googleapi.ServerResponse `json:"-"`
  1669  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1670  	// include in API requests. By default, fields with empty or default values are
  1671  	// omitted from API requests. See
  1672  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1673  	// details.
  1674  	ForceSendFields []string `json:"-"`
  1675  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1676  	// with the JSON null value. By default, fields with empty values are omitted
  1677  	// from API requests. See
  1678  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1679  	NullFields []string `json:"-"`
  1680  }
  1681  
  1682  func (s *GoogleFirebaseAppcheckV1betaSafetyNetConfig) MarshalJSON() ([]byte, error) {
  1683  	type NoMethod GoogleFirebaseAppcheckV1betaSafetyNetConfig
  1684  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1685  }
  1686  
  1687  // GoogleFirebaseAppcheckV1betaService: The enforcement configuration for a
  1688  // Firebase service supported by App Check.
  1689  type GoogleFirebaseAppcheckV1betaService struct {
  1690  	// EnforcementMode: Required. The App Check enforcement mode for this service.
  1691  	//
  1692  	// Possible values:
  1693  	//   "OFF" - Firebase App Check is not enforced for the service, nor are App
  1694  	// Check metrics collected. Though the service is not protected by App Check in
  1695  	// this mode, other applicable protections, such as user authorization, are
  1696  	// still enforced. An unconfigured service is in this mode by default.
  1697  	//   "UNENFORCED" - Firebase App Check is not enforced for the service. App
  1698  	// Check metrics are collected to help you decide when to turn on enforcement
  1699  	// for the service. Though the service is not protected by App Check in this
  1700  	// mode, other applicable protections, such as user authorization, are still
  1701  	// enforced. Some services require certain conditions to be met before they
  1702  	// will work with App Check, such as requiring you to upgrade to a specific
  1703  	// service tier. Until those requirements are met for a service, this
  1704  	// `UNENFORCED` setting will have no effect and App Check will not work with
  1705  	// that service.
  1706  	//   "ENFORCED" - Firebase App Check is enforced for the service. The service
  1707  	// will reject any request that attempts to access your project's resources if
  1708  	// it does not have valid App Check token attached, with some exceptions
  1709  	// depending on the service; for example, some services will still allow
  1710  	// requests bearing the developer's privileged service account credentials
  1711  	// without an App Check token. App Check metrics continue to be collected to
  1712  	// help you detect issues with your App Check integration and monitor the
  1713  	// composition of your callers. While the service is protected by App Check,
  1714  	// other applicable protections, such as user authorization, continue to be
  1715  	// enforced at the same time. Use caution when choosing to enforce App Check on
  1716  	// a Firebase service. If your users have not updated to an App Check capable
  1717  	// version of your app, their apps will no longer be able to use your Firebase
  1718  	// services that are enforcing App Check. App Check metrics can help you decide
  1719  	// whether to enforce App Check on your Firebase services. If your app has not
  1720  	// launched yet, you should enable enforcement immediately, since there are no
  1721  	// outdated clients in use. Some services require certain conditions to be met
  1722  	// before they will work with App Check, such as requiring you to upgrade to a
  1723  	// specific service tier. Until those requirements are met for a service, this
  1724  	// `ENFORCED` setting will have no effect and App Check will not work with that
  1725  	// service.
  1726  	EnforcementMode string `json:"enforcementMode,omitempty"`
  1727  	// Etag: This checksum is computed by the server based on the value of other
  1728  	// fields, and may be sent on update and delete requests to ensure the client
  1729  	// has an up-to-date value before proceeding. This etag is strongly validated
  1730  	// as defined by RFC 7232.
  1731  	Etag string `json:"etag,omitempty"`
  1732  	// Name: Required. The relative resource name of the service configuration
  1733  	// object, in the format: ``` projects/{project_number}/services/{service_id}
  1734  	// ``` Note that the `service_id` element must be a supported service ID.
  1735  	// Currently, the following service IDs are supported: *
  1736  	// `firebasestorage.googleapis.com` (Cloud Storage for Firebase) *
  1737  	// `firebasedatabase.googleapis.com` (Firebase Realtime Database) *
  1738  	// `firestore.googleapis.com` (Cloud Firestore) *
  1739  	// `identitytoolkit.googleapis.com` (Firebase Authentication with Identity
  1740  	// Platform)
  1741  	Name string `json:"name,omitempty"`
  1742  	// UpdateTime: Output only. Timestamp when this service configuration object
  1743  	// was most recently updated.
  1744  	UpdateTime string `json:"updateTime,omitempty"`
  1745  
  1746  	// ServerResponse contains the HTTP response code and headers from the server.
  1747  	googleapi.ServerResponse `json:"-"`
  1748  	// ForceSendFields is a list of field names (e.g. "EnforcementMode") to
  1749  	// unconditionally include in API requests. By default, fields with empty or
  1750  	// default values are omitted from API requests. See
  1751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1752  	// details.
  1753  	ForceSendFields []string `json:"-"`
  1754  	// NullFields is a list of field names (e.g. "EnforcementMode") to include in
  1755  	// API requests with the JSON null value. By default, fields with empty values
  1756  	// are omitted from API requests. See
  1757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1758  	NullFields []string `json:"-"`
  1759  }
  1760  
  1761  func (s *GoogleFirebaseAppcheckV1betaService) MarshalJSON() ([]byte, error) {
  1762  	type NoMethod GoogleFirebaseAppcheckV1betaService
  1763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1764  }
  1765  
  1766  // GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest: Request message for
  1767  // the UpdateResourcePolicy method as well as an individual update message for
  1768  // the BatchUpdateResourcePolicies method.
  1769  type GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest struct {
  1770  	// ResourcePolicy: Required. The ResourcePolicy to update. The ResourcePolicy's
  1771  	// `name` field is used to identify the ResourcePolicy to be updated, in the
  1772  	// format: ```
  1773  	// projects/{project_number}/services/{service_id}/resourcePolicies/{resource_po
  1774  	// licy_id} ``` Note that the `service_id` element must be a supported service
  1775  	// ID. Currently, the following service IDs are supported: *
  1776  	// `oauth2.googleapis.com` (Google Identity for iOS)
  1777  	ResourcePolicy *GoogleFirebaseAppcheckV1betaResourcePolicy `json:"resourcePolicy,omitempty"`
  1778  	// UpdateMask: Required. A comma-separated list of names of fields in the
  1779  	// ResourcePolicy to update. Example: `enforcement_mode`.
  1780  	UpdateMask string `json:"updateMask,omitempty"`
  1781  	// ForceSendFields is a list of field names (e.g. "ResourcePolicy") to
  1782  	// unconditionally include in API requests. By default, fields with empty or
  1783  	// default values are omitted from API requests. See
  1784  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1785  	// details.
  1786  	ForceSendFields []string `json:"-"`
  1787  	// NullFields is a list of field names (e.g. "ResourcePolicy") to include in
  1788  	// API requests with the JSON null value. By default, fields with empty values
  1789  	// are omitted from API requests. See
  1790  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1791  	NullFields []string `json:"-"`
  1792  }
  1793  
  1794  func (s *GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest) MarshalJSON() ([]byte, error) {
  1795  	type NoMethod GoogleFirebaseAppcheckV1betaUpdateResourcePolicyRequest
  1796  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1797  }
  1798  
  1799  // GoogleFirebaseAppcheckV1betaUpdateServiceRequest: Request message for the
  1800  // UpdateService method as well as an individual update message for the
  1801  // BatchUpdateServices method.
  1802  type GoogleFirebaseAppcheckV1betaUpdateServiceRequest struct {
  1803  	// Service: Required. The Service to update. The Service's `name` field is used
  1804  	// to identify the Service to be updated, in the format: ```
  1805  	// projects/{project_number}/services/{service_id} ``` Note that the
  1806  	// `service_id` element must be a supported service ID. Currently, the
  1807  	// following service IDs are supported: * `firebasestorage.googleapis.com`
  1808  	// (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase
  1809  	// Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) *
  1810  	// `identitytoolkit.googleapis.com` (Firebase Authentication with Identity
  1811  	// Platform) For Firebase Authentication to work with App Check, you must first
  1812  	// upgrade to Firebase Authentication with Identity Platform
  1813  	// (https://firebase.google.com/docs/auth#identity-platform).
  1814  	Service *GoogleFirebaseAppcheckV1betaService `json:"service,omitempty"`
  1815  	// UpdateMask: Required. A comma-separated list of names of fields in the
  1816  	// Service to update. Example: `enforcement_mode`.
  1817  	UpdateMask string `json:"updateMask,omitempty"`
  1818  	// ForceSendFields is a list of field names (e.g. "Service") to unconditionally
  1819  	// include in API requests. By default, fields with empty or default values are
  1820  	// omitted from API requests. See
  1821  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1822  	// details.
  1823  	ForceSendFields []string `json:"-"`
  1824  	// NullFields is a list of field names (e.g. "Service") to include in API
  1825  	// requests with the JSON null value. By default, fields with empty values are
  1826  	// omitted from API requests. See
  1827  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1828  	NullFields []string `json:"-"`
  1829  }
  1830  
  1831  func (s *GoogleFirebaseAppcheckV1betaUpdateServiceRequest) MarshalJSON() ([]byte, error) {
  1832  	type NoMethod GoogleFirebaseAppcheckV1betaUpdateServiceRequest
  1833  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1834  }
  1835  
  1836  // GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest: Request message for
  1837  // the VerifyAppCheckToken method.
  1838  type GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest struct {
  1839  	// AppCheckToken: Required. The App Check token to verify. App Check tokens
  1840  	// exchanged from the SafetyNet provider are not supported; an HTTP 400 error
  1841  	// will be returned.
  1842  	AppCheckToken string `json:"appCheckToken,omitempty"`
  1843  	// ForceSendFields is a list of field names (e.g. "AppCheckToken") to
  1844  	// unconditionally include in API requests. By default, fields with empty or
  1845  	// default values are omitted from API requests. See
  1846  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1847  	// details.
  1848  	ForceSendFields []string `json:"-"`
  1849  	// NullFields is a list of field names (e.g. "AppCheckToken") to include in API
  1850  	// requests with the JSON null value. By default, fields with empty values are
  1851  	// omitted from API requests. See
  1852  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1853  	NullFields []string `json:"-"`
  1854  }
  1855  
  1856  func (s *GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest) MarshalJSON() ([]byte, error) {
  1857  	type NoMethod GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest
  1858  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1859  }
  1860  
  1861  // GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse: Response message
  1862  // for the VerifyAppCheckToken method.
  1863  type GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse struct {
  1864  	// AlreadyConsumed: Whether this token was already consumed. If this is the
  1865  	// first time this method has seen the given App Check token, this field will
  1866  	// be omitted from the response. The given token will then be marked as
  1867  	// `already_consumed` (set to `true`) for all future invocations of this method
  1868  	// for that token. Note that if the given App Check token is invalid, an HTTP
  1869  	// 403 error is returned instead of a response containing this field,
  1870  	// regardless whether the token was already consumed.
  1871  	AlreadyConsumed bool `json:"alreadyConsumed,omitempty"`
  1872  
  1873  	// ServerResponse contains the HTTP response code and headers from the server.
  1874  	googleapi.ServerResponse `json:"-"`
  1875  	// ForceSendFields is a list of field names (e.g. "AlreadyConsumed") to
  1876  	// unconditionally include in API requests. By default, fields with empty or
  1877  	// default values are omitted from API requests. See
  1878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1879  	// details.
  1880  	ForceSendFields []string `json:"-"`
  1881  	// NullFields is a list of field names (e.g. "AlreadyConsumed") to include in
  1882  	// API requests with the JSON null value. By default, fields with empty values
  1883  	// are omitted from API requests. See
  1884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1885  	NullFields []string `json:"-"`
  1886  }
  1887  
  1888  func (s *GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse) MarshalJSON() ([]byte, error) {
  1889  	type NoMethod GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse
  1890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1891  }
  1892  
  1893  // GoogleProtobufEmpty: A generic empty message that you can re-use to avoid
  1894  // defining duplicated empty messages in your APIs. A typical example is to use
  1895  // it as the request or the response type of an API method. For instance:
  1896  // service Foo { rpc Bar(google.protobuf.Empty) returns
  1897  // (google.protobuf.Empty); }
  1898  type GoogleProtobufEmpty struct {
  1899  	// ServerResponse contains the HTTP response code and headers from the server.
  1900  	googleapi.ServerResponse `json:"-"`
  1901  }
  1902  
  1903  type JwksGetCall struct {
  1904  	s            *Service
  1905  	name         string
  1906  	urlParams_   gensupport.URLParams
  1907  	ifNoneMatch_ string
  1908  	ctx_         context.Context
  1909  	header_      http.Header
  1910  }
  1911  
  1912  // Get: Returns a public JWK set as specified by RFC 7517
  1913  // (https://tools.ietf.org/html/rfc7517) that can be used to verify App Check
  1914  // tokens. Exactly one of the public keys in the returned set will successfully
  1915  // validate any App Check token that is currently valid.
  1916  //
  1917  //   - name: The relative resource name to the public JWK set. Must always be
  1918  //     exactly the string `jwks`.
  1919  func (r *JwksService) Get(name string) *JwksGetCall {
  1920  	c := &JwksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1921  	c.name = name
  1922  	return c
  1923  }
  1924  
  1925  // Fields allows partial responses to be retrieved. See
  1926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1927  // details.
  1928  func (c *JwksGetCall) Fields(s ...googleapi.Field) *JwksGetCall {
  1929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1930  	return c
  1931  }
  1932  
  1933  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  1934  // object's ETag matches the given value. This is useful for getting updates
  1935  // only after the object has changed since the last request.
  1936  func (c *JwksGetCall) IfNoneMatch(entityTag string) *JwksGetCall {
  1937  	c.ifNoneMatch_ = entityTag
  1938  	return c
  1939  }
  1940  
  1941  // Context sets the context to be used in this call's Do method.
  1942  func (c *JwksGetCall) Context(ctx context.Context) *JwksGetCall {
  1943  	c.ctx_ = ctx
  1944  	return c
  1945  }
  1946  
  1947  // Header returns a http.Header that can be modified by the caller to add
  1948  // headers to the request.
  1949  func (c *JwksGetCall) Header() http.Header {
  1950  	if c.header_ == nil {
  1951  		c.header_ = make(http.Header)
  1952  	}
  1953  	return c.header_
  1954  }
  1955  
  1956  func (c *JwksGetCall) doRequest(alt string) (*http.Response, error) {
  1957  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  1958  	if c.ifNoneMatch_ != "" {
  1959  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1960  	}
  1961  	var body io.Reader = nil
  1962  	c.urlParams_.Set("alt", alt)
  1963  	c.urlParams_.Set("prettyPrint", "false")
  1964  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  1965  	urls += "?" + c.urlParams_.Encode()
  1966  	req, err := http.NewRequest("GET", urls, body)
  1967  	if err != nil {
  1968  		return nil, err
  1969  	}
  1970  	req.Header = reqHeaders
  1971  	googleapi.Expand(req.URL, map[string]string{
  1972  		"name": c.name,
  1973  	})
  1974  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1975  }
  1976  
  1977  // Do executes the "firebaseappcheck.jwks.get" call.
  1978  // Any non-2xx status code is an error. Response headers are in either
  1979  // *GoogleFirebaseAppcheckV1betaPublicJwkSet.ServerResponse.Header or (if a
  1980  // response was returned at all) in error.(*googleapi.Error).Header. Use
  1981  // googleapi.IsNotModified to check whether the returned error was because
  1982  // http.StatusNotModified was returned.
  1983  func (c *JwksGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaPublicJwkSet, error) {
  1984  	gensupport.SetOptions(c.urlParams_, opts...)
  1985  	res, err := c.doRequest("json")
  1986  	if res != nil && res.StatusCode == http.StatusNotModified {
  1987  		if res.Body != nil {
  1988  			res.Body.Close()
  1989  		}
  1990  		return nil, gensupport.WrapError(&googleapi.Error{
  1991  			Code:   res.StatusCode,
  1992  			Header: res.Header,
  1993  		})
  1994  	}
  1995  	if err != nil {
  1996  		return nil, err
  1997  	}
  1998  	defer googleapi.CloseBody(res)
  1999  	if err := googleapi.CheckResponse(res); err != nil {
  2000  		return nil, gensupport.WrapError(err)
  2001  	}
  2002  	ret := &GoogleFirebaseAppcheckV1betaPublicJwkSet{
  2003  		ServerResponse: googleapi.ServerResponse{
  2004  			Header:         res.Header,
  2005  			HTTPStatusCode: res.StatusCode,
  2006  		},
  2007  	}
  2008  	target := &ret
  2009  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2010  		return nil, err
  2011  	}
  2012  	return ret, nil
  2013  }
  2014  
  2015  type OauthClientsExchangeAppAttestAssertionCall struct {
  2016  	s                                                             *Service
  2017  	appid                                                         string
  2018  	googlefirebaseappcheckv1betaexchangeappattestassertionrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest
  2019  	urlParams_                                                    gensupport.URLParams
  2020  	ctx_                                                          context.Context
  2021  	header_                                                       http.Header
  2022  }
  2023  
  2024  // ExchangeAppAttestAssertion: Accepts an App Attest assertion and an artifact
  2025  // previously obtained from ExchangeAppAttestAttestation and verifies those
  2026  // with Apple. If valid, returns an AppCheckToken.
  2027  //
  2028  //   - app: The relative resource name of the iOS app, in the format: ```
  2029  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2030  //     `project_number` element can be replaced with the project ID of the
  2031  //     Firebase project. Learn more about using project identifiers in Google's
  2032  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2033  //     this method is being called for an OAuth client protected by App Check,
  2034  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2035  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2036  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2037  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2038  //     see the documentation
  2039  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2040  //     for more information.
  2041  func (r *OauthClientsService) ExchangeAppAttestAssertion(appid string, googlefirebaseappcheckv1betaexchangeappattestassertionrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest) *OauthClientsExchangeAppAttestAssertionCall {
  2042  	c := &OauthClientsExchangeAppAttestAssertionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2043  	c.appid = appid
  2044  	c.googlefirebaseappcheckv1betaexchangeappattestassertionrequest = googlefirebaseappcheckv1betaexchangeappattestassertionrequest
  2045  	return c
  2046  }
  2047  
  2048  // Fields allows partial responses to be retrieved. See
  2049  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2050  // details.
  2051  func (c *OauthClientsExchangeAppAttestAssertionCall) Fields(s ...googleapi.Field) *OauthClientsExchangeAppAttestAssertionCall {
  2052  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2053  	return c
  2054  }
  2055  
  2056  // Context sets the context to be used in this call's Do method.
  2057  func (c *OauthClientsExchangeAppAttestAssertionCall) Context(ctx context.Context) *OauthClientsExchangeAppAttestAssertionCall {
  2058  	c.ctx_ = ctx
  2059  	return c
  2060  }
  2061  
  2062  // Header returns a http.Header that can be modified by the caller to add
  2063  // headers to the request.
  2064  func (c *OauthClientsExchangeAppAttestAssertionCall) Header() http.Header {
  2065  	if c.header_ == nil {
  2066  		c.header_ = make(http.Header)
  2067  	}
  2068  	return c.header_
  2069  }
  2070  
  2071  func (c *OauthClientsExchangeAppAttestAssertionCall) doRequest(alt string) (*http.Response, error) {
  2072  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2073  	var body io.Reader = nil
  2074  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeappattestassertionrequest)
  2075  	if err != nil {
  2076  		return nil, err
  2077  	}
  2078  	c.urlParams_.Set("alt", alt)
  2079  	c.urlParams_.Set("prettyPrint", "false")
  2080  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeAppAttestAssertion")
  2081  	urls += "?" + c.urlParams_.Encode()
  2082  	req, err := http.NewRequest("POST", urls, body)
  2083  	if err != nil {
  2084  		return nil, err
  2085  	}
  2086  	req.Header = reqHeaders
  2087  	googleapi.Expand(req.URL, map[string]string{
  2088  		"app": c.appid,
  2089  	})
  2090  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2091  }
  2092  
  2093  // Do executes the "firebaseappcheck.oauthClients.exchangeAppAttestAssertion" call.
  2094  // Any non-2xx status code is an error. Response headers are in either
  2095  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  2096  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2097  // googleapi.IsNotModified to check whether the returned error was because
  2098  // http.StatusNotModified was returned.
  2099  func (c *OauthClientsExchangeAppAttestAssertionCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  2100  	gensupport.SetOptions(c.urlParams_, opts...)
  2101  	res, err := c.doRequest("json")
  2102  	if res != nil && res.StatusCode == http.StatusNotModified {
  2103  		if res.Body != nil {
  2104  			res.Body.Close()
  2105  		}
  2106  		return nil, gensupport.WrapError(&googleapi.Error{
  2107  			Code:   res.StatusCode,
  2108  			Header: res.Header,
  2109  		})
  2110  	}
  2111  	if err != nil {
  2112  		return nil, err
  2113  	}
  2114  	defer googleapi.CloseBody(res)
  2115  	if err := googleapi.CheckResponse(res); err != nil {
  2116  		return nil, gensupport.WrapError(err)
  2117  	}
  2118  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  2119  		ServerResponse: googleapi.ServerResponse{
  2120  			Header:         res.Header,
  2121  			HTTPStatusCode: res.StatusCode,
  2122  		},
  2123  	}
  2124  	target := &ret
  2125  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2126  		return nil, err
  2127  	}
  2128  	return ret, nil
  2129  }
  2130  
  2131  type OauthClientsExchangeAppAttestAttestationCall struct {
  2132  	s                                                               *Service
  2133  	appid                                                           string
  2134  	googlefirebaseappcheckv1betaexchangeappattestattestationrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest
  2135  	urlParams_                                                      gensupport.URLParams
  2136  	ctx_                                                            context.Context
  2137  	header_                                                         http.Header
  2138  }
  2139  
  2140  // ExchangeAppAttestAttestation: Accepts an App Attest CBOR attestation and
  2141  // verifies it with Apple using your preconfigured team and bundle IDs. If
  2142  // valid, returns an attestation artifact that can later be exchanged for an
  2143  // AppCheckToken using ExchangeAppAttestAssertion. For convenience and
  2144  // performance, this method's response object will also contain an
  2145  // AppCheckToken (if the verification is successful).
  2146  //
  2147  //   - app: The relative resource name of the iOS app, in the format: ```
  2148  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2149  //     `project_number` element can be replaced with the project ID of the
  2150  //     Firebase project. Learn more about using project identifiers in Google's
  2151  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2152  //     this method is being called for an OAuth client protected by App Check,
  2153  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2154  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2155  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2156  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2157  //     see the documentation
  2158  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2159  //     for more information.
  2160  func (r *OauthClientsService) ExchangeAppAttestAttestation(appid string, googlefirebaseappcheckv1betaexchangeappattestattestationrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest) *OauthClientsExchangeAppAttestAttestationCall {
  2161  	c := &OauthClientsExchangeAppAttestAttestationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2162  	c.appid = appid
  2163  	c.googlefirebaseappcheckv1betaexchangeappattestattestationrequest = googlefirebaseappcheckv1betaexchangeappattestattestationrequest
  2164  	return c
  2165  }
  2166  
  2167  // Fields allows partial responses to be retrieved. See
  2168  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2169  // details.
  2170  func (c *OauthClientsExchangeAppAttestAttestationCall) Fields(s ...googleapi.Field) *OauthClientsExchangeAppAttestAttestationCall {
  2171  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2172  	return c
  2173  }
  2174  
  2175  // Context sets the context to be used in this call's Do method.
  2176  func (c *OauthClientsExchangeAppAttestAttestationCall) Context(ctx context.Context) *OauthClientsExchangeAppAttestAttestationCall {
  2177  	c.ctx_ = ctx
  2178  	return c
  2179  }
  2180  
  2181  // Header returns a http.Header that can be modified by the caller to add
  2182  // headers to the request.
  2183  func (c *OauthClientsExchangeAppAttestAttestationCall) Header() http.Header {
  2184  	if c.header_ == nil {
  2185  		c.header_ = make(http.Header)
  2186  	}
  2187  	return c.header_
  2188  }
  2189  
  2190  func (c *OauthClientsExchangeAppAttestAttestationCall) doRequest(alt string) (*http.Response, error) {
  2191  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2192  	var body io.Reader = nil
  2193  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeappattestattestationrequest)
  2194  	if err != nil {
  2195  		return nil, err
  2196  	}
  2197  	c.urlParams_.Set("alt", alt)
  2198  	c.urlParams_.Set("prettyPrint", "false")
  2199  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeAppAttestAttestation")
  2200  	urls += "?" + c.urlParams_.Encode()
  2201  	req, err := http.NewRequest("POST", urls, body)
  2202  	if err != nil {
  2203  		return nil, err
  2204  	}
  2205  	req.Header = reqHeaders
  2206  	googleapi.Expand(req.URL, map[string]string{
  2207  		"app": c.appid,
  2208  	})
  2209  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2210  }
  2211  
  2212  // Do executes the "firebaseappcheck.oauthClients.exchangeAppAttestAttestation" call.
  2213  // Any non-2xx status code is an error. Response headers are in either
  2214  // *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse.ServerRespo
  2215  // nse.Header or (if a response was returned at all) in
  2216  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2217  // whether the returned error was because http.StatusNotModified was returned.
  2218  func (c *OauthClientsExchangeAppAttestAttestationCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse, error) {
  2219  	gensupport.SetOptions(c.urlParams_, opts...)
  2220  	res, err := c.doRequest("json")
  2221  	if res != nil && res.StatusCode == http.StatusNotModified {
  2222  		if res.Body != nil {
  2223  			res.Body.Close()
  2224  		}
  2225  		return nil, gensupport.WrapError(&googleapi.Error{
  2226  			Code:   res.StatusCode,
  2227  			Header: res.Header,
  2228  		})
  2229  	}
  2230  	if err != nil {
  2231  		return nil, err
  2232  	}
  2233  	defer googleapi.CloseBody(res)
  2234  	if err := googleapi.CheckResponse(res); err != nil {
  2235  		return nil, gensupport.WrapError(err)
  2236  	}
  2237  	ret := &GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse{
  2238  		ServerResponse: googleapi.ServerResponse{
  2239  			Header:         res.Header,
  2240  			HTTPStatusCode: res.StatusCode,
  2241  		},
  2242  	}
  2243  	target := &ret
  2244  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2245  		return nil, err
  2246  	}
  2247  	return ret, nil
  2248  }
  2249  
  2250  type OauthClientsExchangeDebugTokenCall struct {
  2251  	s                                                     *Service
  2252  	appid                                                 string
  2253  	googlefirebaseappcheckv1betaexchangedebugtokenrequest *GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest
  2254  	urlParams_                                            gensupport.URLParams
  2255  	ctx_                                                  context.Context
  2256  	header_                                               http.Header
  2257  }
  2258  
  2259  // ExchangeDebugToken: Validates a debug token secret that you have previously
  2260  // created using CreateDebugToken. If valid, returns an AppCheckToken. Note
  2261  // that a restrictive quota is enforced on this method to prevent accidental
  2262  // exposure of the app to abuse.
  2263  //
  2264  //   - app: The relative resource name of the app, in the format: ```
  2265  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2266  //     `project_number` element can be replaced with the project ID of the
  2267  //     Firebase project. Learn more about using project identifiers in Google's
  2268  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2269  //     this method is being called for an OAuth client protected by App Check,
  2270  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2271  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2272  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2273  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2274  //     see the documentation
  2275  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2276  //     for more information.
  2277  func (r *OauthClientsService) ExchangeDebugToken(appid string, googlefirebaseappcheckv1betaexchangedebugtokenrequest *GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest) *OauthClientsExchangeDebugTokenCall {
  2278  	c := &OauthClientsExchangeDebugTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2279  	c.appid = appid
  2280  	c.googlefirebaseappcheckv1betaexchangedebugtokenrequest = googlefirebaseappcheckv1betaexchangedebugtokenrequest
  2281  	return c
  2282  }
  2283  
  2284  // Fields allows partial responses to be retrieved. See
  2285  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2286  // details.
  2287  func (c *OauthClientsExchangeDebugTokenCall) Fields(s ...googleapi.Field) *OauthClientsExchangeDebugTokenCall {
  2288  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2289  	return c
  2290  }
  2291  
  2292  // Context sets the context to be used in this call's Do method.
  2293  func (c *OauthClientsExchangeDebugTokenCall) Context(ctx context.Context) *OauthClientsExchangeDebugTokenCall {
  2294  	c.ctx_ = ctx
  2295  	return c
  2296  }
  2297  
  2298  // Header returns a http.Header that can be modified by the caller to add
  2299  // headers to the request.
  2300  func (c *OauthClientsExchangeDebugTokenCall) Header() http.Header {
  2301  	if c.header_ == nil {
  2302  		c.header_ = make(http.Header)
  2303  	}
  2304  	return c.header_
  2305  }
  2306  
  2307  func (c *OauthClientsExchangeDebugTokenCall) doRequest(alt string) (*http.Response, error) {
  2308  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2309  	var body io.Reader = nil
  2310  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangedebugtokenrequest)
  2311  	if err != nil {
  2312  		return nil, err
  2313  	}
  2314  	c.urlParams_.Set("alt", alt)
  2315  	c.urlParams_.Set("prettyPrint", "false")
  2316  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeDebugToken")
  2317  	urls += "?" + c.urlParams_.Encode()
  2318  	req, err := http.NewRequest("POST", urls, body)
  2319  	if err != nil {
  2320  		return nil, err
  2321  	}
  2322  	req.Header = reqHeaders
  2323  	googleapi.Expand(req.URL, map[string]string{
  2324  		"app": c.appid,
  2325  	})
  2326  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2327  }
  2328  
  2329  // Do executes the "firebaseappcheck.oauthClients.exchangeDebugToken" call.
  2330  // Any non-2xx status code is an error. Response headers are in either
  2331  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  2332  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2333  // googleapi.IsNotModified to check whether the returned error was because
  2334  // http.StatusNotModified was returned.
  2335  func (c *OauthClientsExchangeDebugTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  2336  	gensupport.SetOptions(c.urlParams_, opts...)
  2337  	res, err := c.doRequest("json")
  2338  	if res != nil && res.StatusCode == http.StatusNotModified {
  2339  		if res.Body != nil {
  2340  			res.Body.Close()
  2341  		}
  2342  		return nil, gensupport.WrapError(&googleapi.Error{
  2343  			Code:   res.StatusCode,
  2344  			Header: res.Header,
  2345  		})
  2346  	}
  2347  	if err != nil {
  2348  		return nil, err
  2349  	}
  2350  	defer googleapi.CloseBody(res)
  2351  	if err := googleapi.CheckResponse(res); err != nil {
  2352  		return nil, gensupport.WrapError(err)
  2353  	}
  2354  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  2355  		ServerResponse: googleapi.ServerResponse{
  2356  			Header:         res.Header,
  2357  			HTTPStatusCode: res.StatusCode,
  2358  		},
  2359  	}
  2360  	target := &ret
  2361  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2362  		return nil, err
  2363  	}
  2364  	return ret, nil
  2365  }
  2366  
  2367  type OauthClientsGenerateAppAttestChallengeCall struct {
  2368  	s                                                             *Service
  2369  	appid                                                         string
  2370  	googlefirebaseappcheckv1betagenerateappattestchallengerequest *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest
  2371  	urlParams_                                                    gensupport.URLParams
  2372  	ctx_                                                          context.Context
  2373  	header_                                                       http.Header
  2374  }
  2375  
  2376  // GenerateAppAttestChallenge: Generates a challenge that protects the
  2377  // integrity of an immediately following call to ExchangeAppAttestAttestation
  2378  // or ExchangeAppAttestAssertion. A challenge should not be reused for multiple
  2379  // calls.
  2380  //
  2381  //   - app: The relative resource name of the iOS app, in the format: ```
  2382  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2383  //     `project_number` element can be replaced with the project ID of the
  2384  //     Firebase project. Learn more about using project identifiers in Google's
  2385  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2386  //     this method is being called for an OAuth client protected by App Check,
  2387  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2388  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2389  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2390  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2391  //     see the documentation
  2392  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2393  //     for more information.
  2394  func (r *OauthClientsService) GenerateAppAttestChallenge(appid string, googlefirebaseappcheckv1betagenerateappattestchallengerequest *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest) *OauthClientsGenerateAppAttestChallengeCall {
  2395  	c := &OauthClientsGenerateAppAttestChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2396  	c.appid = appid
  2397  	c.googlefirebaseappcheckv1betagenerateappattestchallengerequest = googlefirebaseappcheckv1betagenerateappattestchallengerequest
  2398  	return c
  2399  }
  2400  
  2401  // Fields allows partial responses to be retrieved. See
  2402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2403  // details.
  2404  func (c *OauthClientsGenerateAppAttestChallengeCall) Fields(s ...googleapi.Field) *OauthClientsGenerateAppAttestChallengeCall {
  2405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2406  	return c
  2407  }
  2408  
  2409  // Context sets the context to be used in this call's Do method.
  2410  func (c *OauthClientsGenerateAppAttestChallengeCall) Context(ctx context.Context) *OauthClientsGenerateAppAttestChallengeCall {
  2411  	c.ctx_ = ctx
  2412  	return c
  2413  }
  2414  
  2415  // Header returns a http.Header that can be modified by the caller to add
  2416  // headers to the request.
  2417  func (c *OauthClientsGenerateAppAttestChallengeCall) Header() http.Header {
  2418  	if c.header_ == nil {
  2419  		c.header_ = make(http.Header)
  2420  	}
  2421  	return c.header_
  2422  }
  2423  
  2424  func (c *OauthClientsGenerateAppAttestChallengeCall) doRequest(alt string) (*http.Response, error) {
  2425  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2426  	var body io.Reader = nil
  2427  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betagenerateappattestchallengerequest)
  2428  	if err != nil {
  2429  		return nil, err
  2430  	}
  2431  	c.urlParams_.Set("alt", alt)
  2432  	c.urlParams_.Set("prettyPrint", "false")
  2433  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:generateAppAttestChallenge")
  2434  	urls += "?" + c.urlParams_.Encode()
  2435  	req, err := http.NewRequest("POST", urls, body)
  2436  	if err != nil {
  2437  		return nil, err
  2438  	}
  2439  	req.Header = reqHeaders
  2440  	googleapi.Expand(req.URL, map[string]string{
  2441  		"app": c.appid,
  2442  	})
  2443  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2444  }
  2445  
  2446  // Do executes the "firebaseappcheck.oauthClients.generateAppAttestChallenge" call.
  2447  // Any non-2xx status code is an error. Response headers are in either
  2448  // *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse.ServerRespons
  2449  // e.Header or (if a response was returned at all) in
  2450  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2451  // whether the returned error was because http.StatusNotModified was returned.
  2452  func (c *OauthClientsGenerateAppAttestChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse, error) {
  2453  	gensupport.SetOptions(c.urlParams_, opts...)
  2454  	res, err := c.doRequest("json")
  2455  	if res != nil && res.StatusCode == http.StatusNotModified {
  2456  		if res.Body != nil {
  2457  			res.Body.Close()
  2458  		}
  2459  		return nil, gensupport.WrapError(&googleapi.Error{
  2460  			Code:   res.StatusCode,
  2461  			Header: res.Header,
  2462  		})
  2463  	}
  2464  	if err != nil {
  2465  		return nil, err
  2466  	}
  2467  	defer googleapi.CloseBody(res)
  2468  	if err := googleapi.CheckResponse(res); err != nil {
  2469  		return nil, gensupport.WrapError(err)
  2470  	}
  2471  	ret := &GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse{
  2472  		ServerResponse: googleapi.ServerResponse{
  2473  			Header:         res.Header,
  2474  			HTTPStatusCode: res.StatusCode,
  2475  		},
  2476  	}
  2477  	target := &ret
  2478  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2479  		return nil, err
  2480  	}
  2481  	return ret, nil
  2482  }
  2483  
  2484  type ProjectsVerifyAppCheckTokenCall struct {
  2485  	s                                                      *Service
  2486  	projectid                                              string
  2487  	googlefirebaseappcheckv1betaverifyappchecktokenrequest *GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest
  2488  	urlParams_                                             gensupport.URLParams
  2489  	ctx_                                                   context.Context
  2490  	header_                                                http.Header
  2491  }
  2492  
  2493  // VerifyAppCheckToken: Verifies the given App Check token and returns token
  2494  // usage signals that callers may act upon. This method currently only supports
  2495  // App Check tokens exchanged from the following attestation providers: * Play
  2496  // Integrity API * App Attest * DeviceCheck (`DCDevice` tokens) * reCAPTCHA
  2497  // Enterprise * reCAPTCHA v3 * Custom providers App Check tokens exchanged from
  2498  // debug secrets are also supported. Calling this method on an otherwise valid
  2499  // App Check token with an unsupported provider will cause an HTTP 400 error to
  2500  // be returned. Returns whether this token was already consumed before this
  2501  // call. If this is the first time this method has seen the given App Check
  2502  // token, the field `already_consumed` in the response will be absent. The
  2503  // given token will then be marked as `already_consumed` (set to `true`) for
  2504  // all future invocations of this method for that token. Note that if the given
  2505  // App Check token is invalid, an HTTP 403 error is returned instead of a
  2506  // response object, regardless whether the token was already consumed.
  2507  // Currently, when evaluating whether an App Check token was already consumed,
  2508  // only calls to this exact method are counted. Use of the App Check token
  2509  // elsewhere will not mark the token as being already consumed. The caller must
  2510  // have the `firebaseappcheck.appCheckTokens.verify`
  2511  // (https://firebase.google.com/docs/projects/iam/permissions#app-check)
  2512  // permission to call this method. This permission is part of the Firebase App
  2513  // Check Token Verifier role
  2514  // (https://firebase.google.com/docs/projects/iam/roles-predefined-product#app-check).
  2515  //
  2516  //   - project: The relative resource name of the project for which the token was
  2517  //     minted, in the format: ``` projects/{project_number} ``` If necessary, the
  2518  //     `project_number` element can be replaced with the project ID of the
  2519  //     Firebase project. Learn more about using project identifiers in Google's
  2520  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2521  func (r *ProjectsService) VerifyAppCheckToken(projectid string, googlefirebaseappcheckv1betaverifyappchecktokenrequest *GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenRequest) *ProjectsVerifyAppCheckTokenCall {
  2522  	c := &ProjectsVerifyAppCheckTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2523  	c.projectid = projectid
  2524  	c.googlefirebaseappcheckv1betaverifyappchecktokenrequest = googlefirebaseappcheckv1betaverifyappchecktokenrequest
  2525  	return c
  2526  }
  2527  
  2528  // Fields allows partial responses to be retrieved. See
  2529  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2530  // details.
  2531  func (c *ProjectsVerifyAppCheckTokenCall) Fields(s ...googleapi.Field) *ProjectsVerifyAppCheckTokenCall {
  2532  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2533  	return c
  2534  }
  2535  
  2536  // Context sets the context to be used in this call's Do method.
  2537  func (c *ProjectsVerifyAppCheckTokenCall) Context(ctx context.Context) *ProjectsVerifyAppCheckTokenCall {
  2538  	c.ctx_ = ctx
  2539  	return c
  2540  }
  2541  
  2542  // Header returns a http.Header that can be modified by the caller to add
  2543  // headers to the request.
  2544  func (c *ProjectsVerifyAppCheckTokenCall) Header() http.Header {
  2545  	if c.header_ == nil {
  2546  		c.header_ = make(http.Header)
  2547  	}
  2548  	return c.header_
  2549  }
  2550  
  2551  func (c *ProjectsVerifyAppCheckTokenCall) doRequest(alt string) (*http.Response, error) {
  2552  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2553  	var body io.Reader = nil
  2554  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaverifyappchecktokenrequest)
  2555  	if err != nil {
  2556  		return nil, err
  2557  	}
  2558  	c.urlParams_.Set("alt", alt)
  2559  	c.urlParams_.Set("prettyPrint", "false")
  2560  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+project}:verifyAppCheckToken")
  2561  	urls += "?" + c.urlParams_.Encode()
  2562  	req, err := http.NewRequest("POST", urls, body)
  2563  	if err != nil {
  2564  		return nil, err
  2565  	}
  2566  	req.Header = reqHeaders
  2567  	googleapi.Expand(req.URL, map[string]string{
  2568  		"project": c.projectid,
  2569  	})
  2570  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2571  }
  2572  
  2573  // Do executes the "firebaseappcheck.projects.verifyAppCheckToken" call.
  2574  // Any non-2xx status code is an error. Response headers are in either
  2575  // *GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse.ServerResponse.Heade
  2576  // r or (if a response was returned at all) in error.(*googleapi.Error).Header.
  2577  // Use googleapi.IsNotModified to check whether the returned error was because
  2578  // http.StatusNotModified was returned.
  2579  func (c *ProjectsVerifyAppCheckTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse, error) {
  2580  	gensupport.SetOptions(c.urlParams_, opts...)
  2581  	res, err := c.doRequest("json")
  2582  	if res != nil && res.StatusCode == http.StatusNotModified {
  2583  		if res.Body != nil {
  2584  			res.Body.Close()
  2585  		}
  2586  		return nil, gensupport.WrapError(&googleapi.Error{
  2587  			Code:   res.StatusCode,
  2588  			Header: res.Header,
  2589  		})
  2590  	}
  2591  	if err != nil {
  2592  		return nil, err
  2593  	}
  2594  	defer googleapi.CloseBody(res)
  2595  	if err := googleapi.CheckResponse(res); err != nil {
  2596  		return nil, gensupport.WrapError(err)
  2597  	}
  2598  	ret := &GoogleFirebaseAppcheckV1betaVerifyAppCheckTokenResponse{
  2599  		ServerResponse: googleapi.ServerResponse{
  2600  			Header:         res.Header,
  2601  			HTTPStatusCode: res.StatusCode,
  2602  		},
  2603  	}
  2604  	target := &ret
  2605  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2606  		return nil, err
  2607  	}
  2608  	return ret, nil
  2609  }
  2610  
  2611  type ProjectsAppsExchangeAppAttestAssertionCall struct {
  2612  	s                                                             *Service
  2613  	appid                                                         string
  2614  	googlefirebaseappcheckv1betaexchangeappattestassertionrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest
  2615  	urlParams_                                                    gensupport.URLParams
  2616  	ctx_                                                          context.Context
  2617  	header_                                                       http.Header
  2618  }
  2619  
  2620  // ExchangeAppAttestAssertion: Accepts an App Attest assertion and an artifact
  2621  // previously obtained from ExchangeAppAttestAttestation and verifies those
  2622  // with Apple. If valid, returns an AppCheckToken.
  2623  //
  2624  //   - app: The relative resource name of the iOS app, in the format: ```
  2625  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2626  //     `project_number` element can be replaced with the project ID of the
  2627  //     Firebase project. Learn more about using project identifiers in Google's
  2628  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2629  //     this method is being called for an OAuth client protected by App Check,
  2630  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2631  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2632  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2633  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2634  //     see the documentation
  2635  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2636  //     for more information.
  2637  func (r *ProjectsAppsService) ExchangeAppAttestAssertion(appid string, googlefirebaseappcheckv1betaexchangeappattestassertionrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest) *ProjectsAppsExchangeAppAttestAssertionCall {
  2638  	c := &ProjectsAppsExchangeAppAttestAssertionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2639  	c.appid = appid
  2640  	c.googlefirebaseappcheckv1betaexchangeappattestassertionrequest = googlefirebaseappcheckv1betaexchangeappattestassertionrequest
  2641  	return c
  2642  }
  2643  
  2644  // Fields allows partial responses to be retrieved. See
  2645  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2646  // details.
  2647  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAssertionCall {
  2648  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2649  	return c
  2650  }
  2651  
  2652  // Context sets the context to be used in this call's Do method.
  2653  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAssertionCall {
  2654  	c.ctx_ = ctx
  2655  	return c
  2656  }
  2657  
  2658  // Header returns a http.Header that can be modified by the caller to add
  2659  // headers to the request.
  2660  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Header() http.Header {
  2661  	if c.header_ == nil {
  2662  		c.header_ = make(http.Header)
  2663  	}
  2664  	return c.header_
  2665  }
  2666  
  2667  func (c *ProjectsAppsExchangeAppAttestAssertionCall) doRequest(alt string) (*http.Response, error) {
  2668  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2669  	var body io.Reader = nil
  2670  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeappattestassertionrequest)
  2671  	if err != nil {
  2672  		return nil, err
  2673  	}
  2674  	c.urlParams_.Set("alt", alt)
  2675  	c.urlParams_.Set("prettyPrint", "false")
  2676  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeAppAttestAssertion")
  2677  	urls += "?" + c.urlParams_.Encode()
  2678  	req, err := http.NewRequest("POST", urls, body)
  2679  	if err != nil {
  2680  		return nil, err
  2681  	}
  2682  	req.Header = reqHeaders
  2683  	googleapi.Expand(req.URL, map[string]string{
  2684  		"app": c.appid,
  2685  	})
  2686  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2687  }
  2688  
  2689  // Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAssertion" call.
  2690  // Any non-2xx status code is an error. Response headers are in either
  2691  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  2692  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2693  // googleapi.IsNotModified to check whether the returned error was because
  2694  // http.StatusNotModified was returned.
  2695  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  2696  	gensupport.SetOptions(c.urlParams_, opts...)
  2697  	res, err := c.doRequest("json")
  2698  	if res != nil && res.StatusCode == http.StatusNotModified {
  2699  		if res.Body != nil {
  2700  			res.Body.Close()
  2701  		}
  2702  		return nil, gensupport.WrapError(&googleapi.Error{
  2703  			Code:   res.StatusCode,
  2704  			Header: res.Header,
  2705  		})
  2706  	}
  2707  	if err != nil {
  2708  		return nil, err
  2709  	}
  2710  	defer googleapi.CloseBody(res)
  2711  	if err := googleapi.CheckResponse(res); err != nil {
  2712  		return nil, gensupport.WrapError(err)
  2713  	}
  2714  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  2715  		ServerResponse: googleapi.ServerResponse{
  2716  			Header:         res.Header,
  2717  			HTTPStatusCode: res.StatusCode,
  2718  		},
  2719  	}
  2720  	target := &ret
  2721  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2722  		return nil, err
  2723  	}
  2724  	return ret, nil
  2725  }
  2726  
  2727  type ProjectsAppsExchangeAppAttestAttestationCall struct {
  2728  	s                                                               *Service
  2729  	appid                                                           string
  2730  	googlefirebaseappcheckv1betaexchangeappattestattestationrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest
  2731  	urlParams_                                                      gensupport.URLParams
  2732  	ctx_                                                            context.Context
  2733  	header_                                                         http.Header
  2734  }
  2735  
  2736  // ExchangeAppAttestAttestation: Accepts an App Attest CBOR attestation and
  2737  // verifies it with Apple using your preconfigured team and bundle IDs. If
  2738  // valid, returns an attestation artifact that can later be exchanged for an
  2739  // AppCheckToken using ExchangeAppAttestAssertion. For convenience and
  2740  // performance, this method's response object will also contain an
  2741  // AppCheckToken (if the verification is successful).
  2742  //
  2743  //   - app: The relative resource name of the iOS app, in the format: ```
  2744  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2745  //     `project_number` element can be replaced with the project ID of the
  2746  //     Firebase project. Learn more about using project identifiers in Google's
  2747  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2748  //     this method is being called for an OAuth client protected by App Check,
  2749  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2750  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2751  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2752  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2753  //     see the documentation
  2754  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2755  //     for more information.
  2756  func (r *ProjectsAppsService) ExchangeAppAttestAttestation(appid string, googlefirebaseappcheckv1betaexchangeappattestattestationrequest *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest) *ProjectsAppsExchangeAppAttestAttestationCall {
  2757  	c := &ProjectsAppsExchangeAppAttestAttestationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2758  	c.appid = appid
  2759  	c.googlefirebaseappcheckv1betaexchangeappattestattestationrequest = googlefirebaseappcheckv1betaexchangeappattestattestationrequest
  2760  	return c
  2761  }
  2762  
  2763  // Fields allows partial responses to be retrieved. See
  2764  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2765  // details.
  2766  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAttestationCall {
  2767  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2768  	return c
  2769  }
  2770  
  2771  // Context sets the context to be used in this call's Do method.
  2772  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAttestationCall {
  2773  	c.ctx_ = ctx
  2774  	return c
  2775  }
  2776  
  2777  // Header returns a http.Header that can be modified by the caller to add
  2778  // headers to the request.
  2779  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Header() http.Header {
  2780  	if c.header_ == nil {
  2781  		c.header_ = make(http.Header)
  2782  	}
  2783  	return c.header_
  2784  }
  2785  
  2786  func (c *ProjectsAppsExchangeAppAttestAttestationCall) doRequest(alt string) (*http.Response, error) {
  2787  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2788  	var body io.Reader = nil
  2789  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeappattestattestationrequest)
  2790  	if err != nil {
  2791  		return nil, err
  2792  	}
  2793  	c.urlParams_.Set("alt", alt)
  2794  	c.urlParams_.Set("prettyPrint", "false")
  2795  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeAppAttestAttestation")
  2796  	urls += "?" + c.urlParams_.Encode()
  2797  	req, err := http.NewRequest("POST", urls, body)
  2798  	if err != nil {
  2799  		return nil, err
  2800  	}
  2801  	req.Header = reqHeaders
  2802  	googleapi.Expand(req.URL, map[string]string{
  2803  		"app": c.appid,
  2804  	})
  2805  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2806  }
  2807  
  2808  // Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAttestation" call.
  2809  // Any non-2xx status code is an error. Response headers are in either
  2810  // *GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse.ServerRespo
  2811  // nse.Header or (if a response was returned at all) in
  2812  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2813  // whether the returned error was because http.StatusNotModified was returned.
  2814  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse, error) {
  2815  	gensupport.SetOptions(c.urlParams_, opts...)
  2816  	res, err := c.doRequest("json")
  2817  	if res != nil && res.StatusCode == http.StatusNotModified {
  2818  		if res.Body != nil {
  2819  			res.Body.Close()
  2820  		}
  2821  		return nil, gensupport.WrapError(&googleapi.Error{
  2822  			Code:   res.StatusCode,
  2823  			Header: res.Header,
  2824  		})
  2825  	}
  2826  	if err != nil {
  2827  		return nil, err
  2828  	}
  2829  	defer googleapi.CloseBody(res)
  2830  	if err := googleapi.CheckResponse(res); err != nil {
  2831  		return nil, gensupport.WrapError(err)
  2832  	}
  2833  	ret := &GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse{
  2834  		ServerResponse: googleapi.ServerResponse{
  2835  			Header:         res.Header,
  2836  			HTTPStatusCode: res.StatusCode,
  2837  		},
  2838  	}
  2839  	target := &ret
  2840  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2841  		return nil, err
  2842  	}
  2843  	return ret, nil
  2844  }
  2845  
  2846  type ProjectsAppsExchangeCustomTokenCall struct {
  2847  	s                                                      *Service
  2848  	appid                                                  string
  2849  	googlefirebaseappcheckv1betaexchangecustomtokenrequest *GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest
  2850  	urlParams_                                             gensupport.URLParams
  2851  	ctx_                                                   context.Context
  2852  	header_                                                http.Header
  2853  }
  2854  
  2855  // ExchangeCustomToken: Validates a custom token signed using your project's
  2856  // Admin SDK service account credentials. If valid, returns an AppCheckToken.
  2857  //
  2858  //   - app: The relative resource name of the app, in the format: ```
  2859  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2860  //     `project_number` element can be replaced with the project ID of the
  2861  //     Firebase project. Learn more about using project identifiers in Google's
  2862  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2863  func (r *ProjectsAppsService) ExchangeCustomToken(appid string, googlefirebaseappcheckv1betaexchangecustomtokenrequest *GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest) *ProjectsAppsExchangeCustomTokenCall {
  2864  	c := &ProjectsAppsExchangeCustomTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2865  	c.appid = appid
  2866  	c.googlefirebaseappcheckv1betaexchangecustomtokenrequest = googlefirebaseappcheckv1betaexchangecustomtokenrequest
  2867  	return c
  2868  }
  2869  
  2870  // Fields allows partial responses to be retrieved. See
  2871  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2872  // details.
  2873  func (c *ProjectsAppsExchangeCustomTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeCustomTokenCall {
  2874  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2875  	return c
  2876  }
  2877  
  2878  // Context sets the context to be used in this call's Do method.
  2879  func (c *ProjectsAppsExchangeCustomTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeCustomTokenCall {
  2880  	c.ctx_ = ctx
  2881  	return c
  2882  }
  2883  
  2884  // Header returns a http.Header that can be modified by the caller to add
  2885  // headers to the request.
  2886  func (c *ProjectsAppsExchangeCustomTokenCall) Header() http.Header {
  2887  	if c.header_ == nil {
  2888  		c.header_ = make(http.Header)
  2889  	}
  2890  	return c.header_
  2891  }
  2892  
  2893  func (c *ProjectsAppsExchangeCustomTokenCall) doRequest(alt string) (*http.Response, error) {
  2894  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2895  	var body io.Reader = nil
  2896  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangecustomtokenrequest)
  2897  	if err != nil {
  2898  		return nil, err
  2899  	}
  2900  	c.urlParams_.Set("alt", alt)
  2901  	c.urlParams_.Set("prettyPrint", "false")
  2902  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeCustomToken")
  2903  	urls += "?" + c.urlParams_.Encode()
  2904  	req, err := http.NewRequest("POST", urls, body)
  2905  	if err != nil {
  2906  		return nil, err
  2907  	}
  2908  	req.Header = reqHeaders
  2909  	googleapi.Expand(req.URL, map[string]string{
  2910  		"app": c.appid,
  2911  	})
  2912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2913  }
  2914  
  2915  // Do executes the "firebaseappcheck.projects.apps.exchangeCustomToken" call.
  2916  // Any non-2xx status code is an error. Response headers are in either
  2917  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  2918  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2919  // googleapi.IsNotModified to check whether the returned error was because
  2920  // http.StatusNotModified was returned.
  2921  func (c *ProjectsAppsExchangeCustomTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  2922  	gensupport.SetOptions(c.urlParams_, opts...)
  2923  	res, err := c.doRequest("json")
  2924  	if res != nil && res.StatusCode == http.StatusNotModified {
  2925  		if res.Body != nil {
  2926  			res.Body.Close()
  2927  		}
  2928  		return nil, gensupport.WrapError(&googleapi.Error{
  2929  			Code:   res.StatusCode,
  2930  			Header: res.Header,
  2931  		})
  2932  	}
  2933  	if err != nil {
  2934  		return nil, err
  2935  	}
  2936  	defer googleapi.CloseBody(res)
  2937  	if err := googleapi.CheckResponse(res); err != nil {
  2938  		return nil, gensupport.WrapError(err)
  2939  	}
  2940  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  2941  		ServerResponse: googleapi.ServerResponse{
  2942  			Header:         res.Header,
  2943  			HTTPStatusCode: res.StatusCode,
  2944  		},
  2945  	}
  2946  	target := &ret
  2947  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2948  		return nil, err
  2949  	}
  2950  	return ret, nil
  2951  }
  2952  
  2953  type ProjectsAppsExchangeDebugTokenCall struct {
  2954  	s                                                     *Service
  2955  	appid                                                 string
  2956  	googlefirebaseappcheckv1betaexchangedebugtokenrequest *GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest
  2957  	urlParams_                                            gensupport.URLParams
  2958  	ctx_                                                  context.Context
  2959  	header_                                               http.Header
  2960  }
  2961  
  2962  // ExchangeDebugToken: Validates a debug token secret that you have previously
  2963  // created using CreateDebugToken. If valid, returns an AppCheckToken. Note
  2964  // that a restrictive quota is enforced on this method to prevent accidental
  2965  // exposure of the app to abuse.
  2966  //
  2967  //   - app: The relative resource name of the app, in the format: ```
  2968  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2969  //     `project_number` element can be replaced with the project ID of the
  2970  //     Firebase project. Learn more about using project identifiers in Google's
  2971  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  2972  //     this method is being called for an OAuth client protected by App Check,
  2973  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  2974  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  2975  //     Cloud console. Note that only iOS OAuth clients are supported at this
  2976  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  2977  //     see the documentation
  2978  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  2979  //     for more information.
  2980  func (r *ProjectsAppsService) ExchangeDebugToken(appid string, googlefirebaseappcheckv1betaexchangedebugtokenrequest *GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest) *ProjectsAppsExchangeDebugTokenCall {
  2981  	c := &ProjectsAppsExchangeDebugTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2982  	c.appid = appid
  2983  	c.googlefirebaseappcheckv1betaexchangedebugtokenrequest = googlefirebaseappcheckv1betaexchangedebugtokenrequest
  2984  	return c
  2985  }
  2986  
  2987  // Fields allows partial responses to be retrieved. See
  2988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2989  // details.
  2990  func (c *ProjectsAppsExchangeDebugTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDebugTokenCall {
  2991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2992  	return c
  2993  }
  2994  
  2995  // Context sets the context to be used in this call's Do method.
  2996  func (c *ProjectsAppsExchangeDebugTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDebugTokenCall {
  2997  	c.ctx_ = ctx
  2998  	return c
  2999  }
  3000  
  3001  // Header returns a http.Header that can be modified by the caller to add
  3002  // headers to the request.
  3003  func (c *ProjectsAppsExchangeDebugTokenCall) Header() http.Header {
  3004  	if c.header_ == nil {
  3005  		c.header_ = make(http.Header)
  3006  	}
  3007  	return c.header_
  3008  }
  3009  
  3010  func (c *ProjectsAppsExchangeDebugTokenCall) doRequest(alt string) (*http.Response, error) {
  3011  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3012  	var body io.Reader = nil
  3013  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangedebugtokenrequest)
  3014  	if err != nil {
  3015  		return nil, err
  3016  	}
  3017  	c.urlParams_.Set("alt", alt)
  3018  	c.urlParams_.Set("prettyPrint", "false")
  3019  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeDebugToken")
  3020  	urls += "?" + c.urlParams_.Encode()
  3021  	req, err := http.NewRequest("POST", urls, body)
  3022  	if err != nil {
  3023  		return nil, err
  3024  	}
  3025  	req.Header = reqHeaders
  3026  	googleapi.Expand(req.URL, map[string]string{
  3027  		"app": c.appid,
  3028  	})
  3029  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3030  }
  3031  
  3032  // Do executes the "firebaseappcheck.projects.apps.exchangeDebugToken" call.
  3033  // Any non-2xx status code is an error. Response headers are in either
  3034  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3035  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3036  // googleapi.IsNotModified to check whether the returned error was because
  3037  // http.StatusNotModified was returned.
  3038  func (c *ProjectsAppsExchangeDebugTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3039  	gensupport.SetOptions(c.urlParams_, opts...)
  3040  	res, err := c.doRequest("json")
  3041  	if res != nil && res.StatusCode == http.StatusNotModified {
  3042  		if res.Body != nil {
  3043  			res.Body.Close()
  3044  		}
  3045  		return nil, gensupport.WrapError(&googleapi.Error{
  3046  			Code:   res.StatusCode,
  3047  			Header: res.Header,
  3048  		})
  3049  	}
  3050  	if err != nil {
  3051  		return nil, err
  3052  	}
  3053  	defer googleapi.CloseBody(res)
  3054  	if err := googleapi.CheckResponse(res); err != nil {
  3055  		return nil, gensupport.WrapError(err)
  3056  	}
  3057  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3058  		ServerResponse: googleapi.ServerResponse{
  3059  			Header:         res.Header,
  3060  			HTTPStatusCode: res.StatusCode,
  3061  		},
  3062  	}
  3063  	target := &ret
  3064  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3065  		return nil, err
  3066  	}
  3067  	return ret, nil
  3068  }
  3069  
  3070  type ProjectsAppsExchangeDeviceCheckTokenCall struct {
  3071  	s                                                           *Service
  3072  	appid                                                       string
  3073  	googlefirebaseappcheckv1betaexchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest
  3074  	urlParams_                                                  gensupport.URLParams
  3075  	ctx_                                                        context.Context
  3076  	header_                                                     http.Header
  3077  }
  3078  
  3079  // ExchangeDeviceCheckToken: Accepts a `device_token`
  3080  // (https://developer.apple.com/documentation/devicecheck/dcdevice) issued by
  3081  // DeviceCheck, and attempts to validate it with Apple. If valid, returns an
  3082  // AppCheckToken.
  3083  //
  3084  //   - app: The relative resource name of the iOS app, in the format: ```
  3085  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3086  //     `project_number` element can be replaced with the project ID of the
  3087  //     Firebase project. Learn more about using project identifiers in Google's
  3088  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3089  func (r *ProjectsAppsService) ExchangeDeviceCheckToken(appid string, googlefirebaseappcheckv1betaexchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest) *ProjectsAppsExchangeDeviceCheckTokenCall {
  3090  	c := &ProjectsAppsExchangeDeviceCheckTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3091  	c.appid = appid
  3092  	c.googlefirebaseappcheckv1betaexchangedevicechecktokenrequest = googlefirebaseappcheckv1betaexchangedevicechecktokenrequest
  3093  	return c
  3094  }
  3095  
  3096  // Fields allows partial responses to be retrieved. See
  3097  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3098  // details.
  3099  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDeviceCheckTokenCall {
  3100  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3101  	return c
  3102  }
  3103  
  3104  // Context sets the context to be used in this call's Do method.
  3105  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDeviceCheckTokenCall {
  3106  	c.ctx_ = ctx
  3107  	return c
  3108  }
  3109  
  3110  // Header returns a http.Header that can be modified by the caller to add
  3111  // headers to the request.
  3112  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Header() http.Header {
  3113  	if c.header_ == nil {
  3114  		c.header_ = make(http.Header)
  3115  	}
  3116  	return c.header_
  3117  }
  3118  
  3119  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) doRequest(alt string) (*http.Response, error) {
  3120  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3121  	var body io.Reader = nil
  3122  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangedevicechecktokenrequest)
  3123  	if err != nil {
  3124  		return nil, err
  3125  	}
  3126  	c.urlParams_.Set("alt", alt)
  3127  	c.urlParams_.Set("prettyPrint", "false")
  3128  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeDeviceCheckToken")
  3129  	urls += "?" + c.urlParams_.Encode()
  3130  	req, err := http.NewRequest("POST", urls, body)
  3131  	if err != nil {
  3132  		return nil, err
  3133  	}
  3134  	req.Header = reqHeaders
  3135  	googleapi.Expand(req.URL, map[string]string{
  3136  		"app": c.appid,
  3137  	})
  3138  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3139  }
  3140  
  3141  // Do executes the "firebaseappcheck.projects.apps.exchangeDeviceCheckToken" call.
  3142  // Any non-2xx status code is an error. Response headers are in either
  3143  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3144  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3145  // googleapi.IsNotModified to check whether the returned error was because
  3146  // http.StatusNotModified was returned.
  3147  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3148  	gensupport.SetOptions(c.urlParams_, opts...)
  3149  	res, err := c.doRequest("json")
  3150  	if res != nil && res.StatusCode == http.StatusNotModified {
  3151  		if res.Body != nil {
  3152  			res.Body.Close()
  3153  		}
  3154  		return nil, gensupport.WrapError(&googleapi.Error{
  3155  			Code:   res.StatusCode,
  3156  			Header: res.Header,
  3157  		})
  3158  	}
  3159  	if err != nil {
  3160  		return nil, err
  3161  	}
  3162  	defer googleapi.CloseBody(res)
  3163  	if err := googleapi.CheckResponse(res); err != nil {
  3164  		return nil, gensupport.WrapError(err)
  3165  	}
  3166  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3167  		ServerResponse: googleapi.ServerResponse{
  3168  			Header:         res.Header,
  3169  			HTTPStatusCode: res.StatusCode,
  3170  		},
  3171  	}
  3172  	target := &ret
  3173  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3174  		return nil, err
  3175  	}
  3176  	return ret, nil
  3177  }
  3178  
  3179  type ProjectsAppsExchangePlayIntegrityTokenCall struct {
  3180  	s                                                             *Service
  3181  	appid                                                         string
  3182  	googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest
  3183  	urlParams_                                                    gensupport.URLParams
  3184  	ctx_                                                          context.Context
  3185  	header_                                                       http.Header
  3186  }
  3187  
  3188  // ExchangePlayIntegrityToken: Validates an integrity verdict response token
  3189  // from Play Integrity
  3190  // (https://developer.android.com/google/play/integrity/verdict#decrypt-verify).
  3191  // If valid, returns an AppCheckToken.
  3192  //
  3193  //   - app: The relative resource name of the Android app, in the format: ```
  3194  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3195  //     `project_number` element can be replaced with the project ID of the
  3196  //     Firebase project. Learn more about using project identifiers in Google's
  3197  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3198  func (r *ProjectsAppsService) ExchangePlayIntegrityToken(appid string, googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest) *ProjectsAppsExchangePlayIntegrityTokenCall {
  3199  	c := &ProjectsAppsExchangePlayIntegrityTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3200  	c.appid = appid
  3201  	c.googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest = googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest
  3202  	return c
  3203  }
  3204  
  3205  // Fields allows partial responses to be retrieved. See
  3206  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3207  // details.
  3208  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangePlayIntegrityTokenCall {
  3209  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3210  	return c
  3211  }
  3212  
  3213  // Context sets the context to be used in this call's Do method.
  3214  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Context(ctx context.Context) *ProjectsAppsExchangePlayIntegrityTokenCall {
  3215  	c.ctx_ = ctx
  3216  	return c
  3217  }
  3218  
  3219  // Header returns a http.Header that can be modified by the caller to add
  3220  // headers to the request.
  3221  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Header() http.Header {
  3222  	if c.header_ == nil {
  3223  		c.header_ = make(http.Header)
  3224  	}
  3225  	return c.header_
  3226  }
  3227  
  3228  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) doRequest(alt string) (*http.Response, error) {
  3229  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3230  	var body io.Reader = nil
  3231  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest)
  3232  	if err != nil {
  3233  		return nil, err
  3234  	}
  3235  	c.urlParams_.Set("alt", alt)
  3236  	c.urlParams_.Set("prettyPrint", "false")
  3237  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangePlayIntegrityToken")
  3238  	urls += "?" + c.urlParams_.Encode()
  3239  	req, err := http.NewRequest("POST", urls, body)
  3240  	if err != nil {
  3241  		return nil, err
  3242  	}
  3243  	req.Header = reqHeaders
  3244  	googleapi.Expand(req.URL, map[string]string{
  3245  		"app": c.appid,
  3246  	})
  3247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3248  }
  3249  
  3250  // Do executes the "firebaseappcheck.projects.apps.exchangePlayIntegrityToken" call.
  3251  // Any non-2xx status code is an error. Response headers are in either
  3252  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3253  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3254  // googleapi.IsNotModified to check whether the returned error was because
  3255  // http.StatusNotModified was returned.
  3256  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3257  	gensupport.SetOptions(c.urlParams_, opts...)
  3258  	res, err := c.doRequest("json")
  3259  	if res != nil && res.StatusCode == http.StatusNotModified {
  3260  		if res.Body != nil {
  3261  			res.Body.Close()
  3262  		}
  3263  		return nil, gensupport.WrapError(&googleapi.Error{
  3264  			Code:   res.StatusCode,
  3265  			Header: res.Header,
  3266  		})
  3267  	}
  3268  	if err != nil {
  3269  		return nil, err
  3270  	}
  3271  	defer googleapi.CloseBody(res)
  3272  	if err := googleapi.CheckResponse(res); err != nil {
  3273  		return nil, gensupport.WrapError(err)
  3274  	}
  3275  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3276  		ServerResponse: googleapi.ServerResponse{
  3277  			Header:         res.Header,
  3278  			HTTPStatusCode: res.StatusCode,
  3279  		},
  3280  	}
  3281  	target := &ret
  3282  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3283  		return nil, err
  3284  	}
  3285  	return ret, nil
  3286  }
  3287  
  3288  type ProjectsAppsExchangeRecaptchaEnterpriseTokenCall struct {
  3289  	s                                                                   *Service
  3290  	appid                                                               string
  3291  	googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest
  3292  	urlParams_                                                          gensupport.URLParams
  3293  	ctx_                                                                context.Context
  3294  	header_                                                             http.Header
  3295  }
  3296  
  3297  // ExchangeRecaptchaEnterpriseToken: Validates a reCAPTCHA Enterprise response
  3298  // token
  3299  // (https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token).
  3300  // If valid, returns an App Check token AppCheckToken.
  3301  //
  3302  //   - app: The relative resource name of the web app, in the format: ```
  3303  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3304  //     `project_number` element can be replaced with the project ID of the
  3305  //     Firebase project. Learn more about using project identifiers in Google's
  3306  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3307  func (r *ProjectsAppsService) ExchangeRecaptchaEnterpriseToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  3308  	c := &ProjectsAppsExchangeRecaptchaEnterpriseTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3309  	c.appid = appid
  3310  	c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest = googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest
  3311  	return c
  3312  }
  3313  
  3314  // Fields allows partial responses to be retrieved. See
  3315  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3316  // details.
  3317  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  3318  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3319  	return c
  3320  }
  3321  
  3322  // Context sets the context to be used in this call's Do method.
  3323  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  3324  	c.ctx_ = ctx
  3325  	return c
  3326  }
  3327  
  3328  // Header returns a http.Header that can be modified by the caller to add
  3329  // headers to the request.
  3330  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Header() http.Header {
  3331  	if c.header_ == nil {
  3332  		c.header_ = make(http.Header)
  3333  	}
  3334  	return c.header_
  3335  }
  3336  
  3337  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) (*http.Response, error) {
  3338  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3339  	var body io.Reader = nil
  3340  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest)
  3341  	if err != nil {
  3342  		return nil, err
  3343  	}
  3344  	c.urlParams_.Set("alt", alt)
  3345  	c.urlParams_.Set("prettyPrint", "false")
  3346  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaEnterpriseToken")
  3347  	urls += "?" + c.urlParams_.Encode()
  3348  	req, err := http.NewRequest("POST", urls, body)
  3349  	if err != nil {
  3350  		return nil, err
  3351  	}
  3352  	req.Header = reqHeaders
  3353  	googleapi.Expand(req.URL, map[string]string{
  3354  		"app": c.appid,
  3355  	})
  3356  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3357  }
  3358  
  3359  // Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken" call.
  3360  // Any non-2xx status code is an error. Response headers are in either
  3361  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3362  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3363  // googleapi.IsNotModified to check whether the returned error was because
  3364  // http.StatusNotModified was returned.
  3365  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3366  	gensupport.SetOptions(c.urlParams_, opts...)
  3367  	res, err := c.doRequest("json")
  3368  	if res != nil && res.StatusCode == http.StatusNotModified {
  3369  		if res.Body != nil {
  3370  			res.Body.Close()
  3371  		}
  3372  		return nil, gensupport.WrapError(&googleapi.Error{
  3373  			Code:   res.StatusCode,
  3374  			Header: res.Header,
  3375  		})
  3376  	}
  3377  	if err != nil {
  3378  		return nil, err
  3379  	}
  3380  	defer googleapi.CloseBody(res)
  3381  	if err := googleapi.CheckResponse(res); err != nil {
  3382  		return nil, gensupport.WrapError(err)
  3383  	}
  3384  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3385  		ServerResponse: googleapi.ServerResponse{
  3386  			Header:         res.Header,
  3387  			HTTPStatusCode: res.StatusCode,
  3388  		},
  3389  	}
  3390  	target := &ret
  3391  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3392  		return nil, err
  3393  	}
  3394  	return ret, nil
  3395  }
  3396  
  3397  type ProjectsAppsExchangeRecaptchaTokenCall struct {
  3398  	s                                                         *Service
  3399  	appid                                                     string
  3400  	googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest
  3401  	urlParams_                                                gensupport.URLParams
  3402  	ctx_                                                      context.Context
  3403  	header_                                                   http.Header
  3404  }
  3405  
  3406  // ExchangeRecaptchaToken: Validates a reCAPTCHA v3 response token
  3407  // (https://developers.google.com/recaptcha/docs/v3). If valid, returns an
  3408  // AppCheckToken.
  3409  //
  3410  //   - app: The relative resource name of the web app, in the format: ```
  3411  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3412  //     `project_number` element can be replaced with the project ID of the
  3413  //     Firebase project. Learn more about using project identifiers in Google's
  3414  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3415  func (r *ProjectsAppsService) ExchangeRecaptchaToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest) *ProjectsAppsExchangeRecaptchaTokenCall {
  3416  	c := &ProjectsAppsExchangeRecaptchaTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3417  	c.appid = appid
  3418  	c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest = googlefirebaseappcheckv1betaexchangerecaptchatokenrequest
  3419  	return c
  3420  }
  3421  
  3422  // Fields allows partial responses to be retrieved. See
  3423  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3424  // details.
  3425  func (c *ProjectsAppsExchangeRecaptchaTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaTokenCall {
  3426  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3427  	return c
  3428  }
  3429  
  3430  // Context sets the context to be used in this call's Do method.
  3431  func (c *ProjectsAppsExchangeRecaptchaTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaTokenCall {
  3432  	c.ctx_ = ctx
  3433  	return c
  3434  }
  3435  
  3436  // Header returns a http.Header that can be modified by the caller to add
  3437  // headers to the request.
  3438  func (c *ProjectsAppsExchangeRecaptchaTokenCall) Header() http.Header {
  3439  	if c.header_ == nil {
  3440  		c.header_ = make(http.Header)
  3441  	}
  3442  	return c.header_
  3443  }
  3444  
  3445  func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Response, error) {
  3446  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3447  	var body io.Reader = nil
  3448  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest)
  3449  	if err != nil {
  3450  		return nil, err
  3451  	}
  3452  	c.urlParams_.Set("alt", alt)
  3453  	c.urlParams_.Set("prettyPrint", "false")
  3454  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaToken")
  3455  	urls += "?" + c.urlParams_.Encode()
  3456  	req, err := http.NewRequest("POST", urls, body)
  3457  	if err != nil {
  3458  		return nil, err
  3459  	}
  3460  	req.Header = reqHeaders
  3461  	googleapi.Expand(req.URL, map[string]string{
  3462  		"app": c.appid,
  3463  	})
  3464  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3465  }
  3466  
  3467  // Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaToken" call.
  3468  // Any non-2xx status code is an error. Response headers are in either
  3469  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3470  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3471  // googleapi.IsNotModified to check whether the returned error was because
  3472  // http.StatusNotModified was returned.
  3473  func (c *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3474  	gensupport.SetOptions(c.urlParams_, opts...)
  3475  	res, err := c.doRequest("json")
  3476  	if res != nil && res.StatusCode == http.StatusNotModified {
  3477  		if res.Body != nil {
  3478  			res.Body.Close()
  3479  		}
  3480  		return nil, gensupport.WrapError(&googleapi.Error{
  3481  			Code:   res.StatusCode,
  3482  			Header: res.Header,
  3483  		})
  3484  	}
  3485  	if err != nil {
  3486  		return nil, err
  3487  	}
  3488  	defer googleapi.CloseBody(res)
  3489  	if err := googleapi.CheckResponse(res); err != nil {
  3490  		return nil, gensupport.WrapError(err)
  3491  	}
  3492  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3493  		ServerResponse: googleapi.ServerResponse{
  3494  			Header:         res.Header,
  3495  			HTTPStatusCode: res.StatusCode,
  3496  		},
  3497  	}
  3498  	target := &ret
  3499  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3500  		return nil, err
  3501  	}
  3502  	return ret, nil
  3503  }
  3504  
  3505  type ProjectsAppsExchangeRecaptchaV3TokenCall struct {
  3506  	s                                                           *Service
  3507  	appid                                                       string
  3508  	googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest
  3509  	urlParams_                                                  gensupport.URLParams
  3510  	ctx_                                                        context.Context
  3511  	header_                                                     http.Header
  3512  }
  3513  
  3514  // ExchangeRecaptchaV3Token: Validates a reCAPTCHA v3 response token
  3515  // (https://developers.google.com/recaptcha/docs/v3). If valid, returns an
  3516  // AppCheckToken.
  3517  //
  3518  //   - app: The relative resource name of the web app, in the format: ```
  3519  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3520  //     `project_number` element can be replaced with the project ID of the
  3521  //     Firebase project. Learn more about using project identifiers in Google's
  3522  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3523  func (r *ProjectsAppsService) ExchangeRecaptchaV3Token(appid string, googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  3524  	c := &ProjectsAppsExchangeRecaptchaV3TokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3525  	c.appid = appid
  3526  	c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest = googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest
  3527  	return c
  3528  }
  3529  
  3530  // Fields allows partial responses to be retrieved. See
  3531  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3532  // details.
  3533  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  3534  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3535  	return c
  3536  }
  3537  
  3538  // Context sets the context to be used in this call's Do method.
  3539  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  3540  	c.ctx_ = ctx
  3541  	return c
  3542  }
  3543  
  3544  // Header returns a http.Header that can be modified by the caller to add
  3545  // headers to the request.
  3546  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Header() http.Header {
  3547  	if c.header_ == nil {
  3548  		c.header_ = make(http.Header)
  3549  	}
  3550  	return c.header_
  3551  }
  3552  
  3553  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http.Response, error) {
  3554  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3555  	var body io.Reader = nil
  3556  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest)
  3557  	if err != nil {
  3558  		return nil, err
  3559  	}
  3560  	c.urlParams_.Set("alt", alt)
  3561  	c.urlParams_.Set("prettyPrint", "false")
  3562  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaV3Token")
  3563  	urls += "?" + c.urlParams_.Encode()
  3564  	req, err := http.NewRequest("POST", urls, body)
  3565  	if err != nil {
  3566  		return nil, err
  3567  	}
  3568  	req.Header = reqHeaders
  3569  	googleapi.Expand(req.URL, map[string]string{
  3570  		"app": c.appid,
  3571  	})
  3572  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3573  }
  3574  
  3575  // Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token" call.
  3576  // Any non-2xx status code is an error. Response headers are in either
  3577  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3578  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3579  // googleapi.IsNotModified to check whether the returned error was because
  3580  // http.StatusNotModified was returned.
  3581  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3582  	gensupport.SetOptions(c.urlParams_, opts...)
  3583  	res, err := c.doRequest("json")
  3584  	if res != nil && res.StatusCode == http.StatusNotModified {
  3585  		if res.Body != nil {
  3586  			res.Body.Close()
  3587  		}
  3588  		return nil, gensupport.WrapError(&googleapi.Error{
  3589  			Code:   res.StatusCode,
  3590  			Header: res.Header,
  3591  		})
  3592  	}
  3593  	if err != nil {
  3594  		return nil, err
  3595  	}
  3596  	defer googleapi.CloseBody(res)
  3597  	if err := googleapi.CheckResponse(res); err != nil {
  3598  		return nil, gensupport.WrapError(err)
  3599  	}
  3600  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3601  		ServerResponse: googleapi.ServerResponse{
  3602  			Header:         res.Header,
  3603  			HTTPStatusCode: res.StatusCode,
  3604  		},
  3605  	}
  3606  	target := &ret
  3607  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3608  		return nil, err
  3609  	}
  3610  	return ret, nil
  3611  }
  3612  
  3613  type ProjectsAppsExchangeSafetyNetTokenCall struct {
  3614  	s                                                         *Service
  3615  	appid                                                     string
  3616  	googlefirebaseappcheckv1betaexchangesafetynettokenrequest *GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest
  3617  	urlParams_                                                gensupport.URLParams
  3618  	ctx_                                                      context.Context
  3619  	header_                                                   http.Header
  3620  }
  3621  
  3622  // ExchangeSafetyNetToken: Validates a SafetyNet token
  3623  // (https://developer.android.com/training/safetynet/attestation#request-attestation-step).
  3624  // If valid, returns an AppCheckToken.
  3625  //
  3626  //   - app: The relative resource name of the Android app, in the format: ```
  3627  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3628  //     `project_number` element can be replaced with the project ID of the
  3629  //     Firebase project. Learn more about using project identifiers in Google's
  3630  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3631  func (r *ProjectsAppsService) ExchangeSafetyNetToken(appid string, googlefirebaseappcheckv1betaexchangesafetynettokenrequest *GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest) *ProjectsAppsExchangeSafetyNetTokenCall {
  3632  	c := &ProjectsAppsExchangeSafetyNetTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3633  	c.appid = appid
  3634  	c.googlefirebaseappcheckv1betaexchangesafetynettokenrequest = googlefirebaseappcheckv1betaexchangesafetynettokenrequest
  3635  	return c
  3636  }
  3637  
  3638  // Fields allows partial responses to be retrieved. See
  3639  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3640  // details.
  3641  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeSafetyNetTokenCall {
  3642  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3643  	return c
  3644  }
  3645  
  3646  // Context sets the context to be used in this call's Do method.
  3647  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeSafetyNetTokenCall {
  3648  	c.ctx_ = ctx
  3649  	return c
  3650  }
  3651  
  3652  // Header returns a http.Header that can be modified by the caller to add
  3653  // headers to the request.
  3654  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Header() http.Header {
  3655  	if c.header_ == nil {
  3656  		c.header_ = make(http.Header)
  3657  	}
  3658  	return c.header_
  3659  }
  3660  
  3661  func (c *ProjectsAppsExchangeSafetyNetTokenCall) doRequest(alt string) (*http.Response, error) {
  3662  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3663  	var body io.Reader = nil
  3664  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangesafetynettokenrequest)
  3665  	if err != nil {
  3666  		return nil, err
  3667  	}
  3668  	c.urlParams_.Set("alt", alt)
  3669  	c.urlParams_.Set("prettyPrint", "false")
  3670  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeSafetyNetToken")
  3671  	urls += "?" + c.urlParams_.Encode()
  3672  	req, err := http.NewRequest("POST", urls, body)
  3673  	if err != nil {
  3674  		return nil, err
  3675  	}
  3676  	req.Header = reqHeaders
  3677  	googleapi.Expand(req.URL, map[string]string{
  3678  		"app": c.appid,
  3679  	})
  3680  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3681  }
  3682  
  3683  // Do executes the "firebaseappcheck.projects.apps.exchangeSafetyNetToken" call.
  3684  // Any non-2xx status code is an error. Response headers are in either
  3685  // *GoogleFirebaseAppcheckV1betaAppCheckToken.ServerResponse.Header or (if a
  3686  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3687  // googleapi.IsNotModified to check whether the returned error was because
  3688  // http.StatusNotModified was returned.
  3689  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) {
  3690  	gensupport.SetOptions(c.urlParams_, opts...)
  3691  	res, err := c.doRequest("json")
  3692  	if res != nil && res.StatusCode == http.StatusNotModified {
  3693  		if res.Body != nil {
  3694  			res.Body.Close()
  3695  		}
  3696  		return nil, gensupport.WrapError(&googleapi.Error{
  3697  			Code:   res.StatusCode,
  3698  			Header: res.Header,
  3699  		})
  3700  	}
  3701  	if err != nil {
  3702  		return nil, err
  3703  	}
  3704  	defer googleapi.CloseBody(res)
  3705  	if err := googleapi.CheckResponse(res); err != nil {
  3706  		return nil, gensupport.WrapError(err)
  3707  	}
  3708  	ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{
  3709  		ServerResponse: googleapi.ServerResponse{
  3710  			Header:         res.Header,
  3711  			HTTPStatusCode: res.StatusCode,
  3712  		},
  3713  	}
  3714  	target := &ret
  3715  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3716  		return nil, err
  3717  	}
  3718  	return ret, nil
  3719  }
  3720  
  3721  type ProjectsAppsGenerateAppAttestChallengeCall struct {
  3722  	s                                                             *Service
  3723  	appid                                                         string
  3724  	googlefirebaseappcheckv1betagenerateappattestchallengerequest *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest
  3725  	urlParams_                                                    gensupport.URLParams
  3726  	ctx_                                                          context.Context
  3727  	header_                                                       http.Header
  3728  }
  3729  
  3730  // GenerateAppAttestChallenge: Generates a challenge that protects the
  3731  // integrity of an immediately following call to ExchangeAppAttestAttestation
  3732  // or ExchangeAppAttestAssertion. A challenge should not be reused for multiple
  3733  // calls.
  3734  //
  3735  //   - app: The relative resource name of the iOS app, in the format: ```
  3736  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3737  //     `project_number` element can be replaced with the project ID of the
  3738  //     Firebase project. Learn more about using project identifiers in Google's
  3739  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard. Alternatively, if
  3740  //     this method is being called for an OAuth client protected by App Check,
  3741  //     this field can also be in the format: ``` oauthClients/{oauth_client_id}
  3742  //     ``` You can view the OAuth client ID for your OAuth clients in the Google
  3743  //     Cloud console. Note that only iOS OAuth clients are supported at this
  3744  //     time, and they must be linked to corresponding iOS Firebase apps. Please
  3745  //     see the documentation
  3746  //     (https://developers.google.com/identity/sign-in/ios/appcheck/get-started#project-setup)
  3747  //     for more information.
  3748  func (r *ProjectsAppsService) GenerateAppAttestChallenge(appid string, googlefirebaseappcheckv1betagenerateappattestchallengerequest *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest) *ProjectsAppsGenerateAppAttestChallengeCall {
  3749  	c := &ProjectsAppsGenerateAppAttestChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3750  	c.appid = appid
  3751  	c.googlefirebaseappcheckv1betagenerateappattestchallengerequest = googlefirebaseappcheckv1betagenerateappattestchallengerequest
  3752  	return c
  3753  }
  3754  
  3755  // Fields allows partial responses to be retrieved. See
  3756  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3757  // details.
  3758  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGenerateAppAttestChallengeCall {
  3759  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3760  	return c
  3761  }
  3762  
  3763  // Context sets the context to be used in this call's Do method.
  3764  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Context(ctx context.Context) *ProjectsAppsGenerateAppAttestChallengeCall {
  3765  	c.ctx_ = ctx
  3766  	return c
  3767  }
  3768  
  3769  // Header returns a http.Header that can be modified by the caller to add
  3770  // headers to the request.
  3771  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Header() http.Header {
  3772  	if c.header_ == nil {
  3773  		c.header_ = make(http.Header)
  3774  	}
  3775  	return c.header_
  3776  }
  3777  
  3778  func (c *ProjectsAppsGenerateAppAttestChallengeCall) doRequest(alt string) (*http.Response, error) {
  3779  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3780  	var body io.Reader = nil
  3781  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betagenerateappattestchallengerequest)
  3782  	if err != nil {
  3783  		return nil, err
  3784  	}
  3785  	c.urlParams_.Set("alt", alt)
  3786  	c.urlParams_.Set("prettyPrint", "false")
  3787  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:generateAppAttestChallenge")
  3788  	urls += "?" + c.urlParams_.Encode()
  3789  	req, err := http.NewRequest("POST", urls, body)
  3790  	if err != nil {
  3791  		return nil, err
  3792  	}
  3793  	req.Header = reqHeaders
  3794  	googleapi.Expand(req.URL, map[string]string{
  3795  		"app": c.appid,
  3796  	})
  3797  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3798  }
  3799  
  3800  // Do executes the "firebaseappcheck.projects.apps.generateAppAttestChallenge" call.
  3801  // Any non-2xx status code is an error. Response headers are in either
  3802  // *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse.ServerRespons
  3803  // e.Header or (if a response was returned at all) in
  3804  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3805  // whether the returned error was because http.StatusNotModified was returned.
  3806  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse, error) {
  3807  	gensupport.SetOptions(c.urlParams_, opts...)
  3808  	res, err := c.doRequest("json")
  3809  	if res != nil && res.StatusCode == http.StatusNotModified {
  3810  		if res.Body != nil {
  3811  			res.Body.Close()
  3812  		}
  3813  		return nil, gensupport.WrapError(&googleapi.Error{
  3814  			Code:   res.StatusCode,
  3815  			Header: res.Header,
  3816  		})
  3817  	}
  3818  	if err != nil {
  3819  		return nil, err
  3820  	}
  3821  	defer googleapi.CloseBody(res)
  3822  	if err := googleapi.CheckResponse(res); err != nil {
  3823  		return nil, gensupport.WrapError(err)
  3824  	}
  3825  	ret := &GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse{
  3826  		ServerResponse: googleapi.ServerResponse{
  3827  			Header:         res.Header,
  3828  			HTTPStatusCode: res.StatusCode,
  3829  		},
  3830  	}
  3831  	target := &ret
  3832  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3833  		return nil, err
  3834  	}
  3835  	return ret, nil
  3836  }
  3837  
  3838  type ProjectsAppsGeneratePlayIntegrityChallengeCall struct {
  3839  	s                                                                 *Service
  3840  	appid                                                             string
  3841  	googlefirebaseappcheckv1betagenerateplayintegritychallengerequest *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest
  3842  	urlParams_                                                        gensupport.URLParams
  3843  	ctx_                                                              context.Context
  3844  	header_                                                           http.Header
  3845  }
  3846  
  3847  // GeneratePlayIntegrityChallenge: Generates a challenge that protects the
  3848  // integrity of an immediately following integrity verdict request to the Play
  3849  // Integrity API. The next call to ExchangePlayIntegrityToken using the
  3850  // resulting integrity token will verify the presence and validity of the
  3851  // challenge. A challenge should not be reused for multiple calls.
  3852  //
  3853  //   - app: The relative resource name of the app, in the format: ```
  3854  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  3855  //     `project_number` element can be replaced with the project ID of the
  3856  //     Firebase project. Learn more about using project identifiers in Google's
  3857  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  3858  func (r *ProjectsAppsService) GeneratePlayIntegrityChallenge(appid string, googlefirebaseappcheckv1betagenerateplayintegritychallengerequest *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  3859  	c := &ProjectsAppsGeneratePlayIntegrityChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3860  	c.appid = appid
  3861  	c.googlefirebaseappcheckv1betagenerateplayintegritychallengerequest = googlefirebaseappcheckv1betagenerateplayintegritychallengerequest
  3862  	return c
  3863  }
  3864  
  3865  // Fields allows partial responses to be retrieved. See
  3866  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3867  // details.
  3868  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  3869  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3870  	return c
  3871  }
  3872  
  3873  // Context sets the context to be used in this call's Do method.
  3874  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Context(ctx context.Context) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  3875  	c.ctx_ = ctx
  3876  	return c
  3877  }
  3878  
  3879  // Header returns a http.Header that can be modified by the caller to add
  3880  // headers to the request.
  3881  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Header() http.Header {
  3882  	if c.header_ == nil {
  3883  		c.header_ = make(http.Header)
  3884  	}
  3885  	return c.header_
  3886  }
  3887  
  3888  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) doRequest(alt string) (*http.Response, error) {
  3889  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3890  	var body io.Reader = nil
  3891  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betagenerateplayintegritychallengerequest)
  3892  	if err != nil {
  3893  		return nil, err
  3894  	}
  3895  	c.urlParams_.Set("alt", alt)
  3896  	c.urlParams_.Set("prettyPrint", "false")
  3897  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:generatePlayIntegrityChallenge")
  3898  	urls += "?" + c.urlParams_.Encode()
  3899  	req, err := http.NewRequest("POST", urls, body)
  3900  	if err != nil {
  3901  		return nil, err
  3902  	}
  3903  	req.Header = reqHeaders
  3904  	googleapi.Expand(req.URL, map[string]string{
  3905  		"app": c.appid,
  3906  	})
  3907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3908  }
  3909  
  3910  // Do executes the "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge" call.
  3911  // Any non-2xx status code is an error. Response headers are in either
  3912  // *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse.ServerRes
  3913  // ponse.Header or (if a response was returned at all) in
  3914  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3915  // whether the returned error was because http.StatusNotModified was returned.
  3916  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse, error) {
  3917  	gensupport.SetOptions(c.urlParams_, opts...)
  3918  	res, err := c.doRequest("json")
  3919  	if res != nil && res.StatusCode == http.StatusNotModified {
  3920  		if res.Body != nil {
  3921  			res.Body.Close()
  3922  		}
  3923  		return nil, gensupport.WrapError(&googleapi.Error{
  3924  			Code:   res.StatusCode,
  3925  			Header: res.Header,
  3926  		})
  3927  	}
  3928  	if err != nil {
  3929  		return nil, err
  3930  	}
  3931  	defer googleapi.CloseBody(res)
  3932  	if err := googleapi.CheckResponse(res); err != nil {
  3933  		return nil, gensupport.WrapError(err)
  3934  	}
  3935  	ret := &GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse{
  3936  		ServerResponse: googleapi.ServerResponse{
  3937  			Header:         res.Header,
  3938  			HTTPStatusCode: res.StatusCode,
  3939  		},
  3940  	}
  3941  	target := &ret
  3942  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3943  		return nil, err
  3944  	}
  3945  	return ret, nil
  3946  }
  3947  
  3948  type ProjectsAppsAppAttestConfigBatchGetCall struct {
  3949  	s            *Service
  3950  	parent       string
  3951  	urlParams_   gensupport.URLParams
  3952  	ifNoneMatch_ string
  3953  	ctx_         context.Context
  3954  	header_      http.Header
  3955  }
  3956  
  3957  // BatchGet: Atomically gets the AppAttestConfigs for the specified list of
  3958  // apps.
  3959  //
  3960  //   - parent: The parent project name shared by all AppAttestConfigs being
  3961  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  3962  //     collection in the `name` field of any resource being retrieved must match
  3963  //     this field, or the entire batch fails.
  3964  func (r *ProjectsAppsAppAttestConfigService) BatchGet(parent string) *ProjectsAppsAppAttestConfigBatchGetCall {
  3965  	c := &ProjectsAppsAppAttestConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3966  	c.parent = parent
  3967  	return c
  3968  }
  3969  
  3970  // Names sets the optional parameter "names": Required. The relative resource
  3971  // names of the AppAttestConfigs to retrieve, in the format ```
  3972  // projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100
  3973  // objects can be retrieved in a batch.
  3974  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Names(names ...string) *ProjectsAppsAppAttestConfigBatchGetCall {
  3975  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  3976  	return c
  3977  }
  3978  
  3979  // Fields allows partial responses to be retrieved. See
  3980  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3981  // details.
  3982  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigBatchGetCall {
  3983  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3984  	return c
  3985  }
  3986  
  3987  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3988  // object's ETag matches the given value. This is useful for getting updates
  3989  // only after the object has changed since the last request.
  3990  func (c *ProjectsAppsAppAttestConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigBatchGetCall {
  3991  	c.ifNoneMatch_ = entityTag
  3992  	return c
  3993  }
  3994  
  3995  // Context sets the context to be used in this call's Do method.
  3996  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigBatchGetCall {
  3997  	c.ctx_ = ctx
  3998  	return c
  3999  }
  4000  
  4001  // Header returns a http.Header that can be modified by the caller to add
  4002  // headers to the request.
  4003  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Header() http.Header {
  4004  	if c.header_ == nil {
  4005  		c.header_ = make(http.Header)
  4006  	}
  4007  	return c.header_
  4008  }
  4009  
  4010  func (c *ProjectsAppsAppAttestConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  4011  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4012  	if c.ifNoneMatch_ != "" {
  4013  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4014  	}
  4015  	var body io.Reader = nil
  4016  	c.urlParams_.Set("alt", alt)
  4017  	c.urlParams_.Set("prettyPrint", "false")
  4018  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/appAttestConfig:batchGet")
  4019  	urls += "?" + c.urlParams_.Encode()
  4020  	req, err := http.NewRequest("GET", urls, body)
  4021  	if err != nil {
  4022  		return nil, err
  4023  	}
  4024  	req.Header = reqHeaders
  4025  	googleapi.Expand(req.URL, map[string]string{
  4026  		"parent": c.parent,
  4027  	})
  4028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4029  }
  4030  
  4031  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.batchGet" call.
  4032  // Any non-2xx status code is an error. Response headers are in either
  4033  // *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse.ServerResponse.
  4034  // Header or (if a response was returned at all) in
  4035  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4036  // whether the returned error was because http.StatusNotModified was returned.
  4037  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse, error) {
  4038  	gensupport.SetOptions(c.urlParams_, opts...)
  4039  	res, err := c.doRequest("json")
  4040  	if res != nil && res.StatusCode == http.StatusNotModified {
  4041  		if res.Body != nil {
  4042  			res.Body.Close()
  4043  		}
  4044  		return nil, gensupport.WrapError(&googleapi.Error{
  4045  			Code:   res.StatusCode,
  4046  			Header: res.Header,
  4047  		})
  4048  	}
  4049  	if err != nil {
  4050  		return nil, err
  4051  	}
  4052  	defer googleapi.CloseBody(res)
  4053  	if err := googleapi.CheckResponse(res); err != nil {
  4054  		return nil, gensupport.WrapError(err)
  4055  	}
  4056  	ret := &GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse{
  4057  		ServerResponse: googleapi.ServerResponse{
  4058  			Header:         res.Header,
  4059  			HTTPStatusCode: res.StatusCode,
  4060  		},
  4061  	}
  4062  	target := &ret
  4063  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4064  		return nil, err
  4065  	}
  4066  	return ret, nil
  4067  }
  4068  
  4069  type ProjectsAppsAppAttestConfigGetCall struct {
  4070  	s            *Service
  4071  	name         string
  4072  	urlParams_   gensupport.URLParams
  4073  	ifNoneMatch_ string
  4074  	ctx_         context.Context
  4075  	header_      http.Header
  4076  }
  4077  
  4078  // Get: Gets the AppAttestConfig for the specified app.
  4079  //
  4080  //   - name: The relative resource name of the AppAttestConfig, in the format:
  4081  //     ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```.
  4082  func (r *ProjectsAppsAppAttestConfigService) Get(name string) *ProjectsAppsAppAttestConfigGetCall {
  4083  	c := &ProjectsAppsAppAttestConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4084  	c.name = name
  4085  	return c
  4086  }
  4087  
  4088  // Fields allows partial responses to be retrieved. See
  4089  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4090  // details.
  4091  func (c *ProjectsAppsAppAttestConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigGetCall {
  4092  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4093  	return c
  4094  }
  4095  
  4096  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4097  // object's ETag matches the given value. This is useful for getting updates
  4098  // only after the object has changed since the last request.
  4099  func (c *ProjectsAppsAppAttestConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigGetCall {
  4100  	c.ifNoneMatch_ = entityTag
  4101  	return c
  4102  }
  4103  
  4104  // Context sets the context to be used in this call's Do method.
  4105  func (c *ProjectsAppsAppAttestConfigGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigGetCall {
  4106  	c.ctx_ = ctx
  4107  	return c
  4108  }
  4109  
  4110  // Header returns a http.Header that can be modified by the caller to add
  4111  // headers to the request.
  4112  func (c *ProjectsAppsAppAttestConfigGetCall) Header() http.Header {
  4113  	if c.header_ == nil {
  4114  		c.header_ = make(http.Header)
  4115  	}
  4116  	return c.header_
  4117  }
  4118  
  4119  func (c *ProjectsAppsAppAttestConfigGetCall) doRequest(alt string) (*http.Response, error) {
  4120  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4121  	if c.ifNoneMatch_ != "" {
  4122  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4123  	}
  4124  	var body io.Reader = nil
  4125  	c.urlParams_.Set("alt", alt)
  4126  	c.urlParams_.Set("prettyPrint", "false")
  4127  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  4128  	urls += "?" + c.urlParams_.Encode()
  4129  	req, err := http.NewRequest("GET", urls, body)
  4130  	if err != nil {
  4131  		return nil, err
  4132  	}
  4133  	req.Header = reqHeaders
  4134  	googleapi.Expand(req.URL, map[string]string{
  4135  		"name": c.name,
  4136  	})
  4137  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4138  }
  4139  
  4140  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.get" call.
  4141  // Any non-2xx status code is an error. Response headers are in either
  4142  // *GoogleFirebaseAppcheckV1betaAppAttestConfig.ServerResponse.Header or (if a
  4143  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4144  // googleapi.IsNotModified to check whether the returned error was because
  4145  // http.StatusNotModified was returned.
  4146  func (c *ProjectsAppsAppAttestConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppAttestConfig, error) {
  4147  	gensupport.SetOptions(c.urlParams_, opts...)
  4148  	res, err := c.doRequest("json")
  4149  	if res != nil && res.StatusCode == http.StatusNotModified {
  4150  		if res.Body != nil {
  4151  			res.Body.Close()
  4152  		}
  4153  		return nil, gensupport.WrapError(&googleapi.Error{
  4154  			Code:   res.StatusCode,
  4155  			Header: res.Header,
  4156  		})
  4157  	}
  4158  	if err != nil {
  4159  		return nil, err
  4160  	}
  4161  	defer googleapi.CloseBody(res)
  4162  	if err := googleapi.CheckResponse(res); err != nil {
  4163  		return nil, gensupport.WrapError(err)
  4164  	}
  4165  	ret := &GoogleFirebaseAppcheckV1betaAppAttestConfig{
  4166  		ServerResponse: googleapi.ServerResponse{
  4167  			Header:         res.Header,
  4168  			HTTPStatusCode: res.StatusCode,
  4169  		},
  4170  	}
  4171  	target := &ret
  4172  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4173  		return nil, err
  4174  	}
  4175  	return ret, nil
  4176  }
  4177  
  4178  type ProjectsAppsAppAttestConfigPatchCall struct {
  4179  	s                                           *Service
  4180  	name                                        string
  4181  	googlefirebaseappcheckv1betaappattestconfig *GoogleFirebaseAppcheckV1betaAppAttestConfig
  4182  	urlParams_                                  gensupport.URLParams
  4183  	ctx_                                        context.Context
  4184  	header_                                     http.Header
  4185  }
  4186  
  4187  // Patch: Updates the AppAttestConfig for the specified app. While this
  4188  // configuration is incomplete or invalid, the app will be unable to exchange
  4189  // AppAttest tokens for App Check tokens.
  4190  //
  4191  //   - name: The relative resource name of the App Attest configuration object,
  4192  //     in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig
  4193  //     ```.
  4194  func (r *ProjectsAppsAppAttestConfigService) Patch(name string, googlefirebaseappcheckv1betaappattestconfig *GoogleFirebaseAppcheckV1betaAppAttestConfig) *ProjectsAppsAppAttestConfigPatchCall {
  4195  	c := &ProjectsAppsAppAttestConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4196  	c.name = name
  4197  	c.googlefirebaseappcheckv1betaappattestconfig = googlefirebaseappcheckv1betaappattestconfig
  4198  	return c
  4199  }
  4200  
  4201  // UpdateMask sets the optional parameter "updateMask": Required. A
  4202  // comma-separated list of names of fields in the AppAttestConfig to update.
  4203  // Example: `token_ttl`.
  4204  func (c *ProjectsAppsAppAttestConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsAppAttestConfigPatchCall {
  4205  	c.urlParams_.Set("updateMask", updateMask)
  4206  	return c
  4207  }
  4208  
  4209  // Fields allows partial responses to be retrieved. See
  4210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4211  // details.
  4212  func (c *ProjectsAppsAppAttestConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigPatchCall {
  4213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4214  	return c
  4215  }
  4216  
  4217  // Context sets the context to be used in this call's Do method.
  4218  func (c *ProjectsAppsAppAttestConfigPatchCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigPatchCall {
  4219  	c.ctx_ = ctx
  4220  	return c
  4221  }
  4222  
  4223  // Header returns a http.Header that can be modified by the caller to add
  4224  // headers to the request.
  4225  func (c *ProjectsAppsAppAttestConfigPatchCall) Header() http.Header {
  4226  	if c.header_ == nil {
  4227  		c.header_ = make(http.Header)
  4228  	}
  4229  	return c.header_
  4230  }
  4231  
  4232  func (c *ProjectsAppsAppAttestConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  4233  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4234  	var body io.Reader = nil
  4235  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaappattestconfig)
  4236  	if err != nil {
  4237  		return nil, err
  4238  	}
  4239  	c.urlParams_.Set("alt", alt)
  4240  	c.urlParams_.Set("prettyPrint", "false")
  4241  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  4242  	urls += "?" + c.urlParams_.Encode()
  4243  	req, err := http.NewRequest("PATCH", urls, body)
  4244  	if err != nil {
  4245  		return nil, err
  4246  	}
  4247  	req.Header = reqHeaders
  4248  	googleapi.Expand(req.URL, map[string]string{
  4249  		"name": c.name,
  4250  	})
  4251  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4252  }
  4253  
  4254  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.patch" call.
  4255  // Any non-2xx status code is an error. Response headers are in either
  4256  // *GoogleFirebaseAppcheckV1betaAppAttestConfig.ServerResponse.Header or (if a
  4257  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4258  // googleapi.IsNotModified to check whether the returned error was because
  4259  // http.StatusNotModified was returned.
  4260  func (c *ProjectsAppsAppAttestConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppAttestConfig, error) {
  4261  	gensupport.SetOptions(c.urlParams_, opts...)
  4262  	res, err := c.doRequest("json")
  4263  	if res != nil && res.StatusCode == http.StatusNotModified {
  4264  		if res.Body != nil {
  4265  			res.Body.Close()
  4266  		}
  4267  		return nil, gensupport.WrapError(&googleapi.Error{
  4268  			Code:   res.StatusCode,
  4269  			Header: res.Header,
  4270  		})
  4271  	}
  4272  	if err != nil {
  4273  		return nil, err
  4274  	}
  4275  	defer googleapi.CloseBody(res)
  4276  	if err := googleapi.CheckResponse(res); err != nil {
  4277  		return nil, gensupport.WrapError(err)
  4278  	}
  4279  	ret := &GoogleFirebaseAppcheckV1betaAppAttestConfig{
  4280  		ServerResponse: googleapi.ServerResponse{
  4281  			Header:         res.Header,
  4282  			HTTPStatusCode: res.StatusCode,
  4283  		},
  4284  	}
  4285  	target := &ret
  4286  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4287  		return nil, err
  4288  	}
  4289  	return ret, nil
  4290  }
  4291  
  4292  type ProjectsAppsDebugTokensCreateCall struct {
  4293  	s                                      *Service
  4294  	parent                                 string
  4295  	googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken
  4296  	urlParams_                             gensupport.URLParams
  4297  	ctx_                                   context.Context
  4298  	header_                                http.Header
  4299  }
  4300  
  4301  // Create: Creates a new DebugToken for the specified app. For security
  4302  // reasons, after the creation operation completes, the `token` field cannot be
  4303  // updated or retrieved, but you can revoke the debug token using
  4304  // DeleteDebugToken. Each app can have a maximum of 20 debug tokens.
  4305  //
  4306  //   - parent: The relative resource name of the parent app in which the
  4307  //     specified DebugToken will be created, in the format: ```
  4308  //     projects/{project_number}/apps/{app_id} ```.
  4309  func (r *ProjectsAppsDebugTokensService) Create(parent string, googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken) *ProjectsAppsDebugTokensCreateCall {
  4310  	c := &ProjectsAppsDebugTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4311  	c.parent = parent
  4312  	c.googlefirebaseappcheckv1betadebugtoken = googlefirebaseappcheckv1betadebugtoken
  4313  	return c
  4314  }
  4315  
  4316  // Fields allows partial responses to be retrieved. See
  4317  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4318  // details.
  4319  func (c *ProjectsAppsDebugTokensCreateCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensCreateCall {
  4320  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4321  	return c
  4322  }
  4323  
  4324  // Context sets the context to be used in this call's Do method.
  4325  func (c *ProjectsAppsDebugTokensCreateCall) Context(ctx context.Context) *ProjectsAppsDebugTokensCreateCall {
  4326  	c.ctx_ = ctx
  4327  	return c
  4328  }
  4329  
  4330  // Header returns a http.Header that can be modified by the caller to add
  4331  // headers to the request.
  4332  func (c *ProjectsAppsDebugTokensCreateCall) Header() http.Header {
  4333  	if c.header_ == nil {
  4334  		c.header_ = make(http.Header)
  4335  	}
  4336  	return c.header_
  4337  }
  4338  
  4339  func (c *ProjectsAppsDebugTokensCreateCall) doRequest(alt string) (*http.Response, error) {
  4340  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4341  	var body io.Reader = nil
  4342  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadebugtoken)
  4343  	if err != nil {
  4344  		return nil, err
  4345  	}
  4346  	c.urlParams_.Set("alt", alt)
  4347  	c.urlParams_.Set("prettyPrint", "false")
  4348  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/debugTokens")
  4349  	urls += "?" + c.urlParams_.Encode()
  4350  	req, err := http.NewRequest("POST", urls, body)
  4351  	if err != nil {
  4352  		return nil, err
  4353  	}
  4354  	req.Header = reqHeaders
  4355  	googleapi.Expand(req.URL, map[string]string{
  4356  		"parent": c.parent,
  4357  	})
  4358  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4359  }
  4360  
  4361  // Do executes the "firebaseappcheck.projects.apps.debugTokens.create" call.
  4362  // Any non-2xx status code is an error. Response headers are in either
  4363  // *GoogleFirebaseAppcheckV1betaDebugToken.ServerResponse.Header or (if a
  4364  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4365  // googleapi.IsNotModified to check whether the returned error was because
  4366  // http.StatusNotModified was returned.
  4367  func (c *ProjectsAppsDebugTokensCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDebugToken, error) {
  4368  	gensupport.SetOptions(c.urlParams_, opts...)
  4369  	res, err := c.doRequest("json")
  4370  	if res != nil && res.StatusCode == http.StatusNotModified {
  4371  		if res.Body != nil {
  4372  			res.Body.Close()
  4373  		}
  4374  		return nil, gensupport.WrapError(&googleapi.Error{
  4375  			Code:   res.StatusCode,
  4376  			Header: res.Header,
  4377  		})
  4378  	}
  4379  	if err != nil {
  4380  		return nil, err
  4381  	}
  4382  	defer googleapi.CloseBody(res)
  4383  	if err := googleapi.CheckResponse(res); err != nil {
  4384  		return nil, gensupport.WrapError(err)
  4385  	}
  4386  	ret := &GoogleFirebaseAppcheckV1betaDebugToken{
  4387  		ServerResponse: googleapi.ServerResponse{
  4388  			Header:         res.Header,
  4389  			HTTPStatusCode: res.StatusCode,
  4390  		},
  4391  	}
  4392  	target := &ret
  4393  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4394  		return nil, err
  4395  	}
  4396  	return ret, nil
  4397  }
  4398  
  4399  type ProjectsAppsDebugTokensDeleteCall struct {
  4400  	s          *Service
  4401  	name       string
  4402  	urlParams_ gensupport.URLParams
  4403  	ctx_       context.Context
  4404  	header_    http.Header
  4405  }
  4406  
  4407  // Delete: Deletes the specified DebugToken. A deleted debug token cannot be
  4408  // used to exchange for an App Check token. Use this method when you suspect
  4409  // the secret `token` has been compromised or when you no longer need the debug
  4410  // token.
  4411  //
  4412  //   - name: The relative resource name of the DebugToken to delete, in the
  4413  //     format: ```
  4414  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  4415  func (r *ProjectsAppsDebugTokensService) Delete(name string) *ProjectsAppsDebugTokensDeleteCall {
  4416  	c := &ProjectsAppsDebugTokensDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4417  	c.name = name
  4418  	return c
  4419  }
  4420  
  4421  // Fields allows partial responses to be retrieved. See
  4422  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4423  // details.
  4424  func (c *ProjectsAppsDebugTokensDeleteCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensDeleteCall {
  4425  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4426  	return c
  4427  }
  4428  
  4429  // Context sets the context to be used in this call's Do method.
  4430  func (c *ProjectsAppsDebugTokensDeleteCall) Context(ctx context.Context) *ProjectsAppsDebugTokensDeleteCall {
  4431  	c.ctx_ = ctx
  4432  	return c
  4433  }
  4434  
  4435  // Header returns a http.Header that can be modified by the caller to add
  4436  // headers to the request.
  4437  func (c *ProjectsAppsDebugTokensDeleteCall) Header() http.Header {
  4438  	if c.header_ == nil {
  4439  		c.header_ = make(http.Header)
  4440  	}
  4441  	return c.header_
  4442  }
  4443  
  4444  func (c *ProjectsAppsDebugTokensDeleteCall) doRequest(alt string) (*http.Response, error) {
  4445  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4446  	var body io.Reader = nil
  4447  	c.urlParams_.Set("alt", alt)
  4448  	c.urlParams_.Set("prettyPrint", "false")
  4449  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  4450  	urls += "?" + c.urlParams_.Encode()
  4451  	req, err := http.NewRequest("DELETE", urls, body)
  4452  	if err != nil {
  4453  		return nil, err
  4454  	}
  4455  	req.Header = reqHeaders
  4456  	googleapi.Expand(req.URL, map[string]string{
  4457  		"name": c.name,
  4458  	})
  4459  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4460  }
  4461  
  4462  // Do executes the "firebaseappcheck.projects.apps.debugTokens.delete" call.
  4463  // Any non-2xx status code is an error. Response headers are in either
  4464  // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
  4465  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4466  // check whether the returned error was because http.StatusNotModified was
  4467  // returned.
  4468  func (c *ProjectsAppsDebugTokensDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
  4469  	gensupport.SetOptions(c.urlParams_, opts...)
  4470  	res, err := c.doRequest("json")
  4471  	if res != nil && res.StatusCode == http.StatusNotModified {
  4472  		if res.Body != nil {
  4473  			res.Body.Close()
  4474  		}
  4475  		return nil, gensupport.WrapError(&googleapi.Error{
  4476  			Code:   res.StatusCode,
  4477  			Header: res.Header,
  4478  		})
  4479  	}
  4480  	if err != nil {
  4481  		return nil, err
  4482  	}
  4483  	defer googleapi.CloseBody(res)
  4484  	if err := googleapi.CheckResponse(res); err != nil {
  4485  		return nil, gensupport.WrapError(err)
  4486  	}
  4487  	ret := &GoogleProtobufEmpty{
  4488  		ServerResponse: googleapi.ServerResponse{
  4489  			Header:         res.Header,
  4490  			HTTPStatusCode: res.StatusCode,
  4491  		},
  4492  	}
  4493  	target := &ret
  4494  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4495  		return nil, err
  4496  	}
  4497  	return ret, nil
  4498  }
  4499  
  4500  type ProjectsAppsDebugTokensGetCall struct {
  4501  	s            *Service
  4502  	name         string
  4503  	urlParams_   gensupport.URLParams
  4504  	ifNoneMatch_ string
  4505  	ctx_         context.Context
  4506  	header_      http.Header
  4507  }
  4508  
  4509  // Get: Gets the specified DebugToken. For security reasons, the `token` field
  4510  // is never populated in the response.
  4511  //
  4512  //   - name: The relative resource name of the debug token, in the format: ```
  4513  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  4514  func (r *ProjectsAppsDebugTokensService) Get(name string) *ProjectsAppsDebugTokensGetCall {
  4515  	c := &ProjectsAppsDebugTokensGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4516  	c.name = name
  4517  	return c
  4518  }
  4519  
  4520  // Fields allows partial responses to be retrieved. See
  4521  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4522  // details.
  4523  func (c *ProjectsAppsDebugTokensGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensGetCall {
  4524  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4525  	return c
  4526  }
  4527  
  4528  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4529  // object's ETag matches the given value. This is useful for getting updates
  4530  // only after the object has changed since the last request.
  4531  func (c *ProjectsAppsDebugTokensGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensGetCall {
  4532  	c.ifNoneMatch_ = entityTag
  4533  	return c
  4534  }
  4535  
  4536  // Context sets the context to be used in this call's Do method.
  4537  func (c *ProjectsAppsDebugTokensGetCall) Context(ctx context.Context) *ProjectsAppsDebugTokensGetCall {
  4538  	c.ctx_ = ctx
  4539  	return c
  4540  }
  4541  
  4542  // Header returns a http.Header that can be modified by the caller to add
  4543  // headers to the request.
  4544  func (c *ProjectsAppsDebugTokensGetCall) Header() http.Header {
  4545  	if c.header_ == nil {
  4546  		c.header_ = make(http.Header)
  4547  	}
  4548  	return c.header_
  4549  }
  4550  
  4551  func (c *ProjectsAppsDebugTokensGetCall) doRequest(alt string) (*http.Response, error) {
  4552  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4553  	if c.ifNoneMatch_ != "" {
  4554  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4555  	}
  4556  	var body io.Reader = nil
  4557  	c.urlParams_.Set("alt", alt)
  4558  	c.urlParams_.Set("prettyPrint", "false")
  4559  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  4560  	urls += "?" + c.urlParams_.Encode()
  4561  	req, err := http.NewRequest("GET", urls, body)
  4562  	if err != nil {
  4563  		return nil, err
  4564  	}
  4565  	req.Header = reqHeaders
  4566  	googleapi.Expand(req.URL, map[string]string{
  4567  		"name": c.name,
  4568  	})
  4569  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4570  }
  4571  
  4572  // Do executes the "firebaseappcheck.projects.apps.debugTokens.get" call.
  4573  // Any non-2xx status code is an error. Response headers are in either
  4574  // *GoogleFirebaseAppcheckV1betaDebugToken.ServerResponse.Header or (if a
  4575  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4576  // googleapi.IsNotModified to check whether the returned error was because
  4577  // http.StatusNotModified was returned.
  4578  func (c *ProjectsAppsDebugTokensGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDebugToken, error) {
  4579  	gensupport.SetOptions(c.urlParams_, opts...)
  4580  	res, err := c.doRequest("json")
  4581  	if res != nil && res.StatusCode == http.StatusNotModified {
  4582  		if res.Body != nil {
  4583  			res.Body.Close()
  4584  		}
  4585  		return nil, gensupport.WrapError(&googleapi.Error{
  4586  			Code:   res.StatusCode,
  4587  			Header: res.Header,
  4588  		})
  4589  	}
  4590  	if err != nil {
  4591  		return nil, err
  4592  	}
  4593  	defer googleapi.CloseBody(res)
  4594  	if err := googleapi.CheckResponse(res); err != nil {
  4595  		return nil, gensupport.WrapError(err)
  4596  	}
  4597  	ret := &GoogleFirebaseAppcheckV1betaDebugToken{
  4598  		ServerResponse: googleapi.ServerResponse{
  4599  			Header:         res.Header,
  4600  			HTTPStatusCode: res.StatusCode,
  4601  		},
  4602  	}
  4603  	target := &ret
  4604  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4605  		return nil, err
  4606  	}
  4607  	return ret, nil
  4608  }
  4609  
  4610  type ProjectsAppsDebugTokensListCall struct {
  4611  	s            *Service
  4612  	parent       string
  4613  	urlParams_   gensupport.URLParams
  4614  	ifNoneMatch_ string
  4615  	ctx_         context.Context
  4616  	header_      http.Header
  4617  }
  4618  
  4619  // List: Lists all DebugTokens for the specified app. For security reasons, the
  4620  // `token` field is never populated in the response.
  4621  //
  4622  //   - parent: The relative resource name of the parent app for which to list
  4623  //     each associated DebugToken, in the format: ```
  4624  //     projects/{project_number}/apps/{app_id} ```.
  4625  func (r *ProjectsAppsDebugTokensService) List(parent string) *ProjectsAppsDebugTokensListCall {
  4626  	c := &ProjectsAppsDebugTokensListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4627  	c.parent = parent
  4628  	return c
  4629  }
  4630  
  4631  // PageSize sets the optional parameter "pageSize": The maximum number of
  4632  // DebugTokens to return in the response. Note that an app can have at most 20
  4633  // debug tokens. The server may return fewer than this at its own discretion.
  4634  // If no value is specified (or too large a value is specified), the server
  4635  // will impose its own limit.
  4636  func (c *ProjectsAppsDebugTokensListCall) PageSize(pageSize int64) *ProjectsAppsDebugTokensListCall {
  4637  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4638  	return c
  4639  }
  4640  
  4641  // PageToken sets the optional parameter "pageToken": Token returned from a
  4642  // previous call to ListDebugTokens indicating where in the set of DebugTokens
  4643  // to resume listing. Provide this to retrieve the subsequent page. When
  4644  // paginating, all other parameters provided to ListDebugTokens must match the
  4645  // call that provided the page token; if they do not match, the result is
  4646  // undefined.
  4647  func (c *ProjectsAppsDebugTokensListCall) PageToken(pageToken string) *ProjectsAppsDebugTokensListCall {
  4648  	c.urlParams_.Set("pageToken", pageToken)
  4649  	return c
  4650  }
  4651  
  4652  // Fields allows partial responses to be retrieved. See
  4653  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4654  // details.
  4655  func (c *ProjectsAppsDebugTokensListCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensListCall {
  4656  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4657  	return c
  4658  }
  4659  
  4660  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4661  // object's ETag matches the given value. This is useful for getting updates
  4662  // only after the object has changed since the last request.
  4663  func (c *ProjectsAppsDebugTokensListCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensListCall {
  4664  	c.ifNoneMatch_ = entityTag
  4665  	return c
  4666  }
  4667  
  4668  // Context sets the context to be used in this call's Do method.
  4669  func (c *ProjectsAppsDebugTokensListCall) Context(ctx context.Context) *ProjectsAppsDebugTokensListCall {
  4670  	c.ctx_ = ctx
  4671  	return c
  4672  }
  4673  
  4674  // Header returns a http.Header that can be modified by the caller to add
  4675  // headers to the request.
  4676  func (c *ProjectsAppsDebugTokensListCall) Header() http.Header {
  4677  	if c.header_ == nil {
  4678  		c.header_ = make(http.Header)
  4679  	}
  4680  	return c.header_
  4681  }
  4682  
  4683  func (c *ProjectsAppsDebugTokensListCall) doRequest(alt string) (*http.Response, error) {
  4684  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4685  	if c.ifNoneMatch_ != "" {
  4686  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4687  	}
  4688  	var body io.Reader = nil
  4689  	c.urlParams_.Set("alt", alt)
  4690  	c.urlParams_.Set("prettyPrint", "false")
  4691  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/debugTokens")
  4692  	urls += "?" + c.urlParams_.Encode()
  4693  	req, err := http.NewRequest("GET", urls, body)
  4694  	if err != nil {
  4695  		return nil, err
  4696  	}
  4697  	req.Header = reqHeaders
  4698  	googleapi.Expand(req.URL, map[string]string{
  4699  		"parent": c.parent,
  4700  	})
  4701  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4702  }
  4703  
  4704  // Do executes the "firebaseappcheck.projects.apps.debugTokens.list" call.
  4705  // Any non-2xx status code is an error. Response headers are in either
  4706  // *GoogleFirebaseAppcheckV1betaListDebugTokensResponse.ServerResponse.Header
  4707  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  4708  // Use googleapi.IsNotModified to check whether the returned error was because
  4709  // http.StatusNotModified was returned.
  4710  func (c *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaListDebugTokensResponse, error) {
  4711  	gensupport.SetOptions(c.urlParams_, opts...)
  4712  	res, err := c.doRequest("json")
  4713  	if res != nil && res.StatusCode == http.StatusNotModified {
  4714  		if res.Body != nil {
  4715  			res.Body.Close()
  4716  		}
  4717  		return nil, gensupport.WrapError(&googleapi.Error{
  4718  			Code:   res.StatusCode,
  4719  			Header: res.Header,
  4720  		})
  4721  	}
  4722  	if err != nil {
  4723  		return nil, err
  4724  	}
  4725  	defer googleapi.CloseBody(res)
  4726  	if err := googleapi.CheckResponse(res); err != nil {
  4727  		return nil, gensupport.WrapError(err)
  4728  	}
  4729  	ret := &GoogleFirebaseAppcheckV1betaListDebugTokensResponse{
  4730  		ServerResponse: googleapi.ServerResponse{
  4731  			Header:         res.Header,
  4732  			HTTPStatusCode: res.StatusCode,
  4733  		},
  4734  	}
  4735  	target := &ret
  4736  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4737  		return nil, err
  4738  	}
  4739  	return ret, nil
  4740  }
  4741  
  4742  // Pages invokes f for each page of results.
  4743  // A non-nil error returned from f will halt the iteration.
  4744  // The provided context supersedes any context provided to the Context method.
  4745  func (c *ProjectsAppsDebugTokensListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1betaListDebugTokensResponse) error) error {
  4746  	c.ctx_ = ctx
  4747  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4748  	for {
  4749  		x, err := c.Do()
  4750  		if err != nil {
  4751  			return err
  4752  		}
  4753  		if err := f(x); err != nil {
  4754  			return err
  4755  		}
  4756  		if x.NextPageToken == "" {
  4757  			return nil
  4758  		}
  4759  		c.PageToken(x.NextPageToken)
  4760  	}
  4761  }
  4762  
  4763  type ProjectsAppsDebugTokensPatchCall struct {
  4764  	s                                      *Service
  4765  	name                                   string
  4766  	googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken
  4767  	urlParams_                             gensupport.URLParams
  4768  	ctx_                                   context.Context
  4769  	header_                                http.Header
  4770  }
  4771  
  4772  // Patch: Updates the specified DebugToken. For security reasons, the `token`
  4773  // field cannot be updated, nor will it be populated in the response, but you
  4774  // can revoke the debug token using DeleteDebugToken.
  4775  //
  4776  //   - name: The relative resource name of the debug token, in the format: ```
  4777  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  4778  func (r *ProjectsAppsDebugTokensService) Patch(name string, googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken) *ProjectsAppsDebugTokensPatchCall {
  4779  	c := &ProjectsAppsDebugTokensPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4780  	c.name = name
  4781  	c.googlefirebaseappcheckv1betadebugtoken = googlefirebaseappcheckv1betadebugtoken
  4782  	return c
  4783  }
  4784  
  4785  // UpdateMask sets the optional parameter "updateMask": Required. A
  4786  // comma-separated list of names of fields in the DebugToken to update.
  4787  // Example: `display_name`.
  4788  func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *ProjectsAppsDebugTokensPatchCall {
  4789  	c.urlParams_.Set("updateMask", updateMask)
  4790  	return c
  4791  }
  4792  
  4793  // Fields allows partial responses to be retrieved. See
  4794  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4795  // details.
  4796  func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensPatchCall {
  4797  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4798  	return c
  4799  }
  4800  
  4801  // Context sets the context to be used in this call's Do method.
  4802  func (c *ProjectsAppsDebugTokensPatchCall) Context(ctx context.Context) *ProjectsAppsDebugTokensPatchCall {
  4803  	c.ctx_ = ctx
  4804  	return c
  4805  }
  4806  
  4807  // Header returns a http.Header that can be modified by the caller to add
  4808  // headers to the request.
  4809  func (c *ProjectsAppsDebugTokensPatchCall) Header() http.Header {
  4810  	if c.header_ == nil {
  4811  		c.header_ = make(http.Header)
  4812  	}
  4813  	return c.header_
  4814  }
  4815  
  4816  func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response, error) {
  4817  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4818  	var body io.Reader = nil
  4819  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadebugtoken)
  4820  	if err != nil {
  4821  		return nil, err
  4822  	}
  4823  	c.urlParams_.Set("alt", alt)
  4824  	c.urlParams_.Set("prettyPrint", "false")
  4825  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  4826  	urls += "?" + c.urlParams_.Encode()
  4827  	req, err := http.NewRequest("PATCH", urls, body)
  4828  	if err != nil {
  4829  		return nil, err
  4830  	}
  4831  	req.Header = reqHeaders
  4832  	googleapi.Expand(req.URL, map[string]string{
  4833  		"name": c.name,
  4834  	})
  4835  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4836  }
  4837  
  4838  // Do executes the "firebaseappcheck.projects.apps.debugTokens.patch" call.
  4839  // Any non-2xx status code is an error. Response headers are in either
  4840  // *GoogleFirebaseAppcheckV1betaDebugToken.ServerResponse.Header or (if a
  4841  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4842  // googleapi.IsNotModified to check whether the returned error was because
  4843  // http.StatusNotModified was returned.
  4844  func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDebugToken, error) {
  4845  	gensupport.SetOptions(c.urlParams_, opts...)
  4846  	res, err := c.doRequest("json")
  4847  	if res != nil && res.StatusCode == http.StatusNotModified {
  4848  		if res.Body != nil {
  4849  			res.Body.Close()
  4850  		}
  4851  		return nil, gensupport.WrapError(&googleapi.Error{
  4852  			Code:   res.StatusCode,
  4853  			Header: res.Header,
  4854  		})
  4855  	}
  4856  	if err != nil {
  4857  		return nil, err
  4858  	}
  4859  	defer googleapi.CloseBody(res)
  4860  	if err := googleapi.CheckResponse(res); err != nil {
  4861  		return nil, gensupport.WrapError(err)
  4862  	}
  4863  	ret := &GoogleFirebaseAppcheckV1betaDebugToken{
  4864  		ServerResponse: googleapi.ServerResponse{
  4865  			Header:         res.Header,
  4866  			HTTPStatusCode: res.StatusCode,
  4867  		},
  4868  	}
  4869  	target := &ret
  4870  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4871  		return nil, err
  4872  	}
  4873  	return ret, nil
  4874  }
  4875  
  4876  type ProjectsAppsDeviceCheckConfigBatchGetCall struct {
  4877  	s            *Service
  4878  	parent       string
  4879  	urlParams_   gensupport.URLParams
  4880  	ifNoneMatch_ string
  4881  	ctx_         context.Context
  4882  	header_      http.Header
  4883  }
  4884  
  4885  // BatchGet: Atomically gets the DeviceCheckConfigs for the specified list of
  4886  // apps. For security reasons, the `private_key` field is never populated in
  4887  // the response.
  4888  //
  4889  //   - parent: The parent project name shared by all DeviceCheckConfigs being
  4890  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  4891  //     collection in the `name` field of any resource being retrieved must match
  4892  //     this field, or the entire batch fails.
  4893  func (r *ProjectsAppsDeviceCheckConfigService) BatchGet(parent string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  4894  	c := &ProjectsAppsDeviceCheckConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4895  	c.parent = parent
  4896  	return c
  4897  }
  4898  
  4899  // Names sets the optional parameter "names": Required. The relative resource
  4900  // names of the DeviceCheckConfigs to retrieve, in the format ```
  4901  // projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of
  4902  // 100 objects can be retrieved in a batch.
  4903  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  4904  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  4905  	return c
  4906  }
  4907  
  4908  // Fields allows partial responses to be retrieved. See
  4909  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4910  // details.
  4911  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  4912  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4913  	return c
  4914  }
  4915  
  4916  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4917  // object's ETag matches the given value. This is useful for getting updates
  4918  // only after the object has changed since the last request.
  4919  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  4920  	c.ifNoneMatch_ = entityTag
  4921  	return c
  4922  }
  4923  
  4924  // Context sets the context to be used in this call's Do method.
  4925  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  4926  	c.ctx_ = ctx
  4927  	return c
  4928  }
  4929  
  4930  // Header returns a http.Header that can be modified by the caller to add
  4931  // headers to the request.
  4932  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Header() http.Header {
  4933  	if c.header_ == nil {
  4934  		c.header_ = make(http.Header)
  4935  	}
  4936  	return c.header_
  4937  }
  4938  
  4939  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  4940  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4941  	if c.ifNoneMatch_ != "" {
  4942  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4943  	}
  4944  	var body io.Reader = nil
  4945  	c.urlParams_.Set("alt", alt)
  4946  	c.urlParams_.Set("prettyPrint", "false")
  4947  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet")
  4948  	urls += "?" + c.urlParams_.Encode()
  4949  	req, err := http.NewRequest("GET", urls, body)
  4950  	if err != nil {
  4951  		return nil, err
  4952  	}
  4953  	req.Header = reqHeaders
  4954  	googleapi.Expand(req.URL, map[string]string{
  4955  		"parent": c.parent,
  4956  	})
  4957  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4958  }
  4959  
  4960  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet" call.
  4961  // Any non-2xx status code is an error. Response headers are in either
  4962  // *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse.ServerRespons
  4963  // e.Header or (if a response was returned at all) in
  4964  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4965  // whether the returned error was because http.StatusNotModified was returned.
  4966  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse, error) {
  4967  	gensupport.SetOptions(c.urlParams_, opts...)
  4968  	res, err := c.doRequest("json")
  4969  	if res != nil && res.StatusCode == http.StatusNotModified {
  4970  		if res.Body != nil {
  4971  			res.Body.Close()
  4972  		}
  4973  		return nil, gensupport.WrapError(&googleapi.Error{
  4974  			Code:   res.StatusCode,
  4975  			Header: res.Header,
  4976  		})
  4977  	}
  4978  	if err != nil {
  4979  		return nil, err
  4980  	}
  4981  	defer googleapi.CloseBody(res)
  4982  	if err := googleapi.CheckResponse(res); err != nil {
  4983  		return nil, gensupport.WrapError(err)
  4984  	}
  4985  	ret := &GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse{
  4986  		ServerResponse: googleapi.ServerResponse{
  4987  			Header:         res.Header,
  4988  			HTTPStatusCode: res.StatusCode,
  4989  		},
  4990  	}
  4991  	target := &ret
  4992  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4993  		return nil, err
  4994  	}
  4995  	return ret, nil
  4996  }
  4997  
  4998  type ProjectsAppsDeviceCheckConfigGetCall struct {
  4999  	s            *Service
  5000  	name         string
  5001  	urlParams_   gensupport.URLParams
  5002  	ifNoneMatch_ string
  5003  	ctx_         context.Context
  5004  	header_      http.Header
  5005  }
  5006  
  5007  // Get: Gets the DeviceCheckConfig for the specified app. For security reasons,
  5008  // the `private_key` field is never populated in the response.
  5009  //
  5010  //   - name: The relative resource name of the DeviceCheckConfig, in the format:
  5011  //     ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```.
  5012  func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDeviceCheckConfigGetCall {
  5013  	c := &ProjectsAppsDeviceCheckConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5014  	c.name = name
  5015  	return c
  5016  }
  5017  
  5018  // Fields allows partial responses to be retrieved. See
  5019  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5020  // details.
  5021  func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigGetCall {
  5022  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5023  	return c
  5024  }
  5025  
  5026  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5027  // object's ETag matches the given value. This is useful for getting updates
  5028  // only after the object has changed since the last request.
  5029  func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigGetCall {
  5030  	c.ifNoneMatch_ = entityTag
  5031  	return c
  5032  }
  5033  
  5034  // Context sets the context to be used in this call's Do method.
  5035  func (c *ProjectsAppsDeviceCheckConfigGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigGetCall {
  5036  	c.ctx_ = ctx
  5037  	return c
  5038  }
  5039  
  5040  // Header returns a http.Header that can be modified by the caller to add
  5041  // headers to the request.
  5042  func (c *ProjectsAppsDeviceCheckConfigGetCall) Header() http.Header {
  5043  	if c.header_ == nil {
  5044  		c.header_ = make(http.Header)
  5045  	}
  5046  	return c.header_
  5047  }
  5048  
  5049  func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Response, error) {
  5050  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5051  	if c.ifNoneMatch_ != "" {
  5052  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5053  	}
  5054  	var body io.Reader = nil
  5055  	c.urlParams_.Set("alt", alt)
  5056  	c.urlParams_.Set("prettyPrint", "false")
  5057  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5058  	urls += "?" + c.urlParams_.Encode()
  5059  	req, err := http.NewRequest("GET", urls, body)
  5060  	if err != nil {
  5061  		return nil, err
  5062  	}
  5063  	req.Header = reqHeaders
  5064  	googleapi.Expand(req.URL, map[string]string{
  5065  		"name": c.name,
  5066  	})
  5067  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5068  }
  5069  
  5070  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.get" call.
  5071  // Any non-2xx status code is an error. Response headers are in either
  5072  // *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.ServerResponse.Header or (if
  5073  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  5074  // googleapi.IsNotModified to check whether the returned error was because
  5075  // http.StatusNotModified was returned.
  5076  func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) {
  5077  	gensupport.SetOptions(c.urlParams_, opts...)
  5078  	res, err := c.doRequest("json")
  5079  	if res != nil && res.StatusCode == http.StatusNotModified {
  5080  		if res.Body != nil {
  5081  			res.Body.Close()
  5082  		}
  5083  		return nil, gensupport.WrapError(&googleapi.Error{
  5084  			Code:   res.StatusCode,
  5085  			Header: res.Header,
  5086  		})
  5087  	}
  5088  	if err != nil {
  5089  		return nil, err
  5090  	}
  5091  	defer googleapi.CloseBody(res)
  5092  	if err := googleapi.CheckResponse(res); err != nil {
  5093  		return nil, gensupport.WrapError(err)
  5094  	}
  5095  	ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{
  5096  		ServerResponse: googleapi.ServerResponse{
  5097  			Header:         res.Header,
  5098  			HTTPStatusCode: res.StatusCode,
  5099  		},
  5100  	}
  5101  	target := &ret
  5102  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5103  		return nil, err
  5104  	}
  5105  	return ret, nil
  5106  }
  5107  
  5108  type ProjectsAppsDeviceCheckConfigPatchCall struct {
  5109  	s                                             *Service
  5110  	name                                          string
  5111  	googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig
  5112  	urlParams_                                    gensupport.URLParams
  5113  	ctx_                                          context.Context
  5114  	header_                                       http.Header
  5115  }
  5116  
  5117  // Patch: Updates the DeviceCheckConfig for the specified app. While this
  5118  // configuration is incomplete or invalid, the app will be unable to exchange
  5119  // DeviceCheck tokens for App Check tokens. For security reasons, the
  5120  // `private_key` field is never populated in the response.
  5121  //
  5122  //   - name: The relative resource name of the DeviceCheck configuration object,
  5123  //     in the format: ```
  5124  //     projects/{project_number}/apps/{app_id}/deviceCheckConfig ```.
  5125  func (r *ProjectsAppsDeviceCheckConfigService) Patch(name string, googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig) *ProjectsAppsDeviceCheckConfigPatchCall {
  5126  	c := &ProjectsAppsDeviceCheckConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5127  	c.name = name
  5128  	c.googlefirebaseappcheckv1betadevicecheckconfig = googlefirebaseappcheckv1betadevicecheckconfig
  5129  	return c
  5130  }
  5131  
  5132  // UpdateMask sets the optional parameter "updateMask": Required. A
  5133  // comma-separated list of names of fields in the DeviceCheckConfig to update.
  5134  // Example: `key_id,private_key`.
  5135  func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsDeviceCheckConfigPatchCall {
  5136  	c.urlParams_.Set("updateMask", updateMask)
  5137  	return c
  5138  }
  5139  
  5140  // Fields allows partial responses to be retrieved. See
  5141  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5142  // details.
  5143  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigPatchCall {
  5144  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5145  	return c
  5146  }
  5147  
  5148  // Context sets the context to be used in this call's Do method.
  5149  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigPatchCall {
  5150  	c.ctx_ = ctx
  5151  	return c
  5152  }
  5153  
  5154  // Header returns a http.Header that can be modified by the caller to add
  5155  // headers to the request.
  5156  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Header() http.Header {
  5157  	if c.header_ == nil {
  5158  		c.header_ = make(http.Header)
  5159  	}
  5160  	return c.header_
  5161  }
  5162  
  5163  func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  5164  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5165  	var body io.Reader = nil
  5166  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadevicecheckconfig)
  5167  	if err != nil {
  5168  		return nil, err
  5169  	}
  5170  	c.urlParams_.Set("alt", alt)
  5171  	c.urlParams_.Set("prettyPrint", "false")
  5172  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5173  	urls += "?" + c.urlParams_.Encode()
  5174  	req, err := http.NewRequest("PATCH", urls, body)
  5175  	if err != nil {
  5176  		return nil, err
  5177  	}
  5178  	req.Header = reqHeaders
  5179  	googleapi.Expand(req.URL, map[string]string{
  5180  		"name": c.name,
  5181  	})
  5182  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5183  }
  5184  
  5185  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.patch" call.
  5186  // Any non-2xx status code is an error. Response headers are in either
  5187  // *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.ServerResponse.Header or (if
  5188  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  5189  // googleapi.IsNotModified to check whether the returned error was because
  5190  // http.StatusNotModified was returned.
  5191  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) {
  5192  	gensupport.SetOptions(c.urlParams_, opts...)
  5193  	res, err := c.doRequest("json")
  5194  	if res != nil && res.StatusCode == http.StatusNotModified {
  5195  		if res.Body != nil {
  5196  			res.Body.Close()
  5197  		}
  5198  		return nil, gensupport.WrapError(&googleapi.Error{
  5199  			Code:   res.StatusCode,
  5200  			Header: res.Header,
  5201  		})
  5202  	}
  5203  	if err != nil {
  5204  		return nil, err
  5205  	}
  5206  	defer googleapi.CloseBody(res)
  5207  	if err := googleapi.CheckResponse(res); err != nil {
  5208  		return nil, gensupport.WrapError(err)
  5209  	}
  5210  	ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{
  5211  		ServerResponse: googleapi.ServerResponse{
  5212  			Header:         res.Header,
  5213  			HTTPStatusCode: res.StatusCode,
  5214  		},
  5215  	}
  5216  	target := &ret
  5217  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5218  		return nil, err
  5219  	}
  5220  	return ret, nil
  5221  }
  5222  
  5223  type ProjectsAppsPlayIntegrityConfigBatchGetCall struct {
  5224  	s            *Service
  5225  	parent       string
  5226  	urlParams_   gensupport.URLParams
  5227  	ifNoneMatch_ string
  5228  	ctx_         context.Context
  5229  	header_      http.Header
  5230  }
  5231  
  5232  // BatchGet: Atomically gets the PlayIntegrityConfigs for the specified list of
  5233  // apps.
  5234  //
  5235  //   - parent: The parent project name shared by all PlayIntegrityConfigs being
  5236  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  5237  //     collection in the `name` field of any resource being retrieved must match
  5238  //     this field, or the entire batch fails.
  5239  func (r *ProjectsAppsPlayIntegrityConfigService) BatchGet(parent string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  5240  	c := &ProjectsAppsPlayIntegrityConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5241  	c.parent = parent
  5242  	return c
  5243  }
  5244  
  5245  // Names sets the optional parameter "names": Required. The relative resource
  5246  // names of the PlayIntegrityConfigs to retrieve, in the format ```
  5247  // projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of
  5248  // 100 objects can be retrieved in a batch.
  5249  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Names(names ...string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  5250  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  5251  	return c
  5252  }
  5253  
  5254  // Fields allows partial responses to be retrieved. See
  5255  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5256  // details.
  5257  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  5258  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5259  	return c
  5260  }
  5261  
  5262  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5263  // object's ETag matches the given value. This is useful for getting updates
  5264  // only after the object has changed since the last request.
  5265  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  5266  	c.ifNoneMatch_ = entityTag
  5267  	return c
  5268  }
  5269  
  5270  // Context sets the context to be used in this call's Do method.
  5271  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  5272  	c.ctx_ = ctx
  5273  	return c
  5274  }
  5275  
  5276  // Header returns a http.Header that can be modified by the caller to add
  5277  // headers to the request.
  5278  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Header() http.Header {
  5279  	if c.header_ == nil {
  5280  		c.header_ = make(http.Header)
  5281  	}
  5282  	return c.header_
  5283  }
  5284  
  5285  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  5286  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5287  	if c.ifNoneMatch_ != "" {
  5288  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5289  	}
  5290  	var body io.Reader = nil
  5291  	c.urlParams_.Set("alt", alt)
  5292  	c.urlParams_.Set("prettyPrint", "false")
  5293  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/playIntegrityConfig:batchGet")
  5294  	urls += "?" + c.urlParams_.Encode()
  5295  	req, err := http.NewRequest("GET", urls, body)
  5296  	if err != nil {
  5297  		return nil, err
  5298  	}
  5299  	req.Header = reqHeaders
  5300  	googleapi.Expand(req.URL, map[string]string{
  5301  		"parent": c.parent,
  5302  	})
  5303  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5304  }
  5305  
  5306  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet" call.
  5307  // Any non-2xx status code is an error. Response headers are in either
  5308  // *GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse.ServerRespo
  5309  // nse.Header or (if a response was returned at all) in
  5310  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5311  // whether the returned error was because http.StatusNotModified was returned.
  5312  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse, error) {
  5313  	gensupport.SetOptions(c.urlParams_, opts...)
  5314  	res, err := c.doRequest("json")
  5315  	if res != nil && res.StatusCode == http.StatusNotModified {
  5316  		if res.Body != nil {
  5317  			res.Body.Close()
  5318  		}
  5319  		return nil, gensupport.WrapError(&googleapi.Error{
  5320  			Code:   res.StatusCode,
  5321  			Header: res.Header,
  5322  		})
  5323  	}
  5324  	if err != nil {
  5325  		return nil, err
  5326  	}
  5327  	defer googleapi.CloseBody(res)
  5328  	if err := googleapi.CheckResponse(res); err != nil {
  5329  		return nil, gensupport.WrapError(err)
  5330  	}
  5331  	ret := &GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse{
  5332  		ServerResponse: googleapi.ServerResponse{
  5333  			Header:         res.Header,
  5334  			HTTPStatusCode: res.StatusCode,
  5335  		},
  5336  	}
  5337  	target := &ret
  5338  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5339  		return nil, err
  5340  	}
  5341  	return ret, nil
  5342  }
  5343  
  5344  type ProjectsAppsPlayIntegrityConfigGetCall struct {
  5345  	s            *Service
  5346  	name         string
  5347  	urlParams_   gensupport.URLParams
  5348  	ifNoneMatch_ string
  5349  	ctx_         context.Context
  5350  	header_      http.Header
  5351  }
  5352  
  5353  // Get: Gets the PlayIntegrityConfig for the specified app.
  5354  //
  5355  //   - name: The relative resource name of the PlayIntegrityConfig, in the
  5356  //     format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig
  5357  //     ```.
  5358  func (r *ProjectsAppsPlayIntegrityConfigService) Get(name string) *ProjectsAppsPlayIntegrityConfigGetCall {
  5359  	c := &ProjectsAppsPlayIntegrityConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5360  	c.name = name
  5361  	return c
  5362  }
  5363  
  5364  // Fields allows partial responses to be retrieved. See
  5365  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5366  // details.
  5367  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigGetCall {
  5368  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5369  	return c
  5370  }
  5371  
  5372  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5373  // object's ETag matches the given value. This is useful for getting updates
  5374  // only after the object has changed since the last request.
  5375  func (c *ProjectsAppsPlayIntegrityConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigGetCall {
  5376  	c.ifNoneMatch_ = entityTag
  5377  	return c
  5378  }
  5379  
  5380  // Context sets the context to be used in this call's Do method.
  5381  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigGetCall {
  5382  	c.ctx_ = ctx
  5383  	return c
  5384  }
  5385  
  5386  // Header returns a http.Header that can be modified by the caller to add
  5387  // headers to the request.
  5388  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Header() http.Header {
  5389  	if c.header_ == nil {
  5390  		c.header_ = make(http.Header)
  5391  	}
  5392  	return c.header_
  5393  }
  5394  
  5395  func (c *ProjectsAppsPlayIntegrityConfigGetCall) doRequest(alt string) (*http.Response, error) {
  5396  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5397  	if c.ifNoneMatch_ != "" {
  5398  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5399  	}
  5400  	var body io.Reader = nil
  5401  	c.urlParams_.Set("alt", alt)
  5402  	c.urlParams_.Set("prettyPrint", "false")
  5403  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5404  	urls += "?" + c.urlParams_.Encode()
  5405  	req, err := http.NewRequest("GET", urls, body)
  5406  	if err != nil {
  5407  		return nil, err
  5408  	}
  5409  	req.Header = reqHeaders
  5410  	googleapi.Expand(req.URL, map[string]string{
  5411  		"name": c.name,
  5412  	})
  5413  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5414  }
  5415  
  5416  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.get" call.
  5417  // Any non-2xx status code is an error. Response headers are in either
  5418  // *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig.ServerResponse.Header or
  5419  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  5420  // googleapi.IsNotModified to check whether the returned error was because
  5421  // http.StatusNotModified was returned.
  5422  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig, error) {
  5423  	gensupport.SetOptions(c.urlParams_, opts...)
  5424  	res, err := c.doRequest("json")
  5425  	if res != nil && res.StatusCode == http.StatusNotModified {
  5426  		if res.Body != nil {
  5427  			res.Body.Close()
  5428  		}
  5429  		return nil, gensupport.WrapError(&googleapi.Error{
  5430  			Code:   res.StatusCode,
  5431  			Header: res.Header,
  5432  		})
  5433  	}
  5434  	if err != nil {
  5435  		return nil, err
  5436  	}
  5437  	defer googleapi.CloseBody(res)
  5438  	if err := googleapi.CheckResponse(res); err != nil {
  5439  		return nil, gensupport.WrapError(err)
  5440  	}
  5441  	ret := &GoogleFirebaseAppcheckV1betaPlayIntegrityConfig{
  5442  		ServerResponse: googleapi.ServerResponse{
  5443  			Header:         res.Header,
  5444  			HTTPStatusCode: res.StatusCode,
  5445  		},
  5446  	}
  5447  	target := &ret
  5448  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5449  		return nil, err
  5450  	}
  5451  	return ret, nil
  5452  }
  5453  
  5454  type ProjectsAppsPlayIntegrityConfigPatchCall struct {
  5455  	s                                               *Service
  5456  	name                                            string
  5457  	googlefirebaseappcheckv1betaplayintegrityconfig *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig
  5458  	urlParams_                                      gensupport.URLParams
  5459  	ctx_                                            context.Context
  5460  	header_                                         http.Header
  5461  }
  5462  
  5463  // Patch: Updates the PlayIntegrityConfig for the specified app. While this
  5464  // configuration is incomplete or invalid, the app will be unable to exchange
  5465  // Play Integrity tokens for App Check tokens.
  5466  //
  5467  //   - name: The relative resource name of the Play Integrity configuration
  5468  //     object, in the format: ```
  5469  //     projects/{project_number}/apps/{app_id}/playIntegrityConfig ```.
  5470  func (r *ProjectsAppsPlayIntegrityConfigService) Patch(name string, googlefirebaseappcheckv1betaplayintegrityconfig *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig) *ProjectsAppsPlayIntegrityConfigPatchCall {
  5471  	c := &ProjectsAppsPlayIntegrityConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5472  	c.name = name
  5473  	c.googlefirebaseappcheckv1betaplayintegrityconfig = googlefirebaseappcheckv1betaplayintegrityconfig
  5474  	return c
  5475  }
  5476  
  5477  // UpdateMask sets the optional parameter "updateMask": Required. A
  5478  // comma-separated list of names of fields in the PlayIntegrityConfig to
  5479  // update. Example: `token_ttl`.
  5480  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsPlayIntegrityConfigPatchCall {
  5481  	c.urlParams_.Set("updateMask", updateMask)
  5482  	return c
  5483  }
  5484  
  5485  // Fields allows partial responses to be retrieved. See
  5486  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5487  // details.
  5488  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigPatchCall {
  5489  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5490  	return c
  5491  }
  5492  
  5493  // Context sets the context to be used in this call's Do method.
  5494  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigPatchCall {
  5495  	c.ctx_ = ctx
  5496  	return c
  5497  }
  5498  
  5499  // Header returns a http.Header that can be modified by the caller to add
  5500  // headers to the request.
  5501  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Header() http.Header {
  5502  	if c.header_ == nil {
  5503  		c.header_ = make(http.Header)
  5504  	}
  5505  	return c.header_
  5506  }
  5507  
  5508  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  5509  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5510  	var body io.Reader = nil
  5511  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaplayintegrityconfig)
  5512  	if err != nil {
  5513  		return nil, err
  5514  	}
  5515  	c.urlParams_.Set("alt", alt)
  5516  	c.urlParams_.Set("prettyPrint", "false")
  5517  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5518  	urls += "?" + c.urlParams_.Encode()
  5519  	req, err := http.NewRequest("PATCH", urls, body)
  5520  	if err != nil {
  5521  		return nil, err
  5522  	}
  5523  	req.Header = reqHeaders
  5524  	googleapi.Expand(req.URL, map[string]string{
  5525  		"name": c.name,
  5526  	})
  5527  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5528  }
  5529  
  5530  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.patch" call.
  5531  // Any non-2xx status code is an error. Response headers are in either
  5532  // *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig.ServerResponse.Header or
  5533  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  5534  // googleapi.IsNotModified to check whether the returned error was because
  5535  // http.StatusNotModified was returned.
  5536  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig, error) {
  5537  	gensupport.SetOptions(c.urlParams_, opts...)
  5538  	res, err := c.doRequest("json")
  5539  	if res != nil && res.StatusCode == http.StatusNotModified {
  5540  		if res.Body != nil {
  5541  			res.Body.Close()
  5542  		}
  5543  		return nil, gensupport.WrapError(&googleapi.Error{
  5544  			Code:   res.StatusCode,
  5545  			Header: res.Header,
  5546  		})
  5547  	}
  5548  	if err != nil {
  5549  		return nil, err
  5550  	}
  5551  	defer googleapi.CloseBody(res)
  5552  	if err := googleapi.CheckResponse(res); err != nil {
  5553  		return nil, gensupport.WrapError(err)
  5554  	}
  5555  	ret := &GoogleFirebaseAppcheckV1betaPlayIntegrityConfig{
  5556  		ServerResponse: googleapi.ServerResponse{
  5557  			Header:         res.Header,
  5558  			HTTPStatusCode: res.StatusCode,
  5559  		},
  5560  	}
  5561  	target := &ret
  5562  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5563  		return nil, err
  5564  	}
  5565  	return ret, nil
  5566  }
  5567  
  5568  type ProjectsAppsRecaptchaConfigBatchGetCall struct {
  5569  	s            *Service
  5570  	parent       string
  5571  	urlParams_   gensupport.URLParams
  5572  	ifNoneMatch_ string
  5573  	ctx_         context.Context
  5574  	header_      http.Header
  5575  }
  5576  
  5577  // BatchGet: Atomically gets the RecaptchaConfigs for the specified list of
  5578  // apps. For security reasons, the `site_secret` field is never populated in
  5579  // the response.
  5580  //
  5581  //   - parent: The parent project name shared by all RecaptchaConfigs being
  5582  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  5583  //     collection in the `name` field of any resource being retrieved must match
  5584  //     this field, or the entire batch fails.
  5585  func (r *ProjectsAppsRecaptchaConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaConfigBatchGetCall {
  5586  	c := &ProjectsAppsRecaptchaConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5587  	c.parent = parent
  5588  	return c
  5589  }
  5590  
  5591  // Names sets the optional parameter "names": Required. The relative resource
  5592  // names of the RecaptchaConfigs to retrieve, in the format: ```
  5593  // projects/{project_number}/apps/{app_id}/recaptchaConfig ``` A maximum of 100
  5594  // objects can be retrieved in a batch.
  5595  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaConfigBatchGetCall {
  5596  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  5597  	return c
  5598  }
  5599  
  5600  // Fields allows partial responses to be retrieved. See
  5601  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5602  // details.
  5603  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaConfigBatchGetCall {
  5604  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5605  	return c
  5606  }
  5607  
  5608  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5609  // object's ETag matches the given value. This is useful for getting updates
  5610  // only after the object has changed since the last request.
  5611  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaConfigBatchGetCall {
  5612  	c.ifNoneMatch_ = entityTag
  5613  	return c
  5614  }
  5615  
  5616  // Context sets the context to be used in this call's Do method.
  5617  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaConfigBatchGetCall {
  5618  	c.ctx_ = ctx
  5619  	return c
  5620  }
  5621  
  5622  // Header returns a http.Header that can be modified by the caller to add
  5623  // headers to the request.
  5624  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Header() http.Header {
  5625  	if c.header_ == nil {
  5626  		c.header_ = make(http.Header)
  5627  	}
  5628  	return c.header_
  5629  }
  5630  
  5631  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  5632  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5633  	if c.ifNoneMatch_ != "" {
  5634  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5635  	}
  5636  	var body io.Reader = nil
  5637  	c.urlParams_.Set("alt", alt)
  5638  	c.urlParams_.Set("prettyPrint", "false")
  5639  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/recaptchaConfig:batchGet")
  5640  	urls += "?" + c.urlParams_.Encode()
  5641  	req, err := http.NewRequest("GET", urls, body)
  5642  	if err != nil {
  5643  		return nil, err
  5644  	}
  5645  	req.Header = reqHeaders
  5646  	googleapi.Expand(req.URL, map[string]string{
  5647  		"parent": c.parent,
  5648  	})
  5649  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5650  }
  5651  
  5652  // Do executes the "firebaseappcheck.projects.apps.recaptchaConfig.batchGet" call.
  5653  // Any non-2xx status code is an error. Response headers are in either
  5654  // *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse.ServerResponse.
  5655  // Header or (if a response was returned at all) in
  5656  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5657  // whether the returned error was because http.StatusNotModified was returned.
  5658  func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse, error) {
  5659  	gensupport.SetOptions(c.urlParams_, opts...)
  5660  	res, err := c.doRequest("json")
  5661  	if res != nil && res.StatusCode == http.StatusNotModified {
  5662  		if res.Body != nil {
  5663  			res.Body.Close()
  5664  		}
  5665  		return nil, gensupport.WrapError(&googleapi.Error{
  5666  			Code:   res.StatusCode,
  5667  			Header: res.Header,
  5668  		})
  5669  	}
  5670  	if err != nil {
  5671  		return nil, err
  5672  	}
  5673  	defer googleapi.CloseBody(res)
  5674  	if err := googleapi.CheckResponse(res); err != nil {
  5675  		return nil, gensupport.WrapError(err)
  5676  	}
  5677  	ret := &GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse{
  5678  		ServerResponse: googleapi.ServerResponse{
  5679  			Header:         res.Header,
  5680  			HTTPStatusCode: res.StatusCode,
  5681  		},
  5682  	}
  5683  	target := &ret
  5684  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5685  		return nil, err
  5686  	}
  5687  	return ret, nil
  5688  }
  5689  
  5690  type ProjectsAppsRecaptchaConfigGetCall struct {
  5691  	s            *Service
  5692  	name         string
  5693  	urlParams_   gensupport.URLParams
  5694  	ifNoneMatch_ string
  5695  	ctx_         context.Context
  5696  	header_      http.Header
  5697  }
  5698  
  5699  // Get: Gets the RecaptchaConfig for the specified app. For security reasons,
  5700  // the `site_secret` field is never populated in the response.
  5701  //
  5702  //   - name: The relative resource name of the RecaptchaConfig, in the format:
  5703  //     ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```.
  5704  func (r *ProjectsAppsRecaptchaConfigService) Get(name string) *ProjectsAppsRecaptchaConfigGetCall {
  5705  	c := &ProjectsAppsRecaptchaConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5706  	c.name = name
  5707  	return c
  5708  }
  5709  
  5710  // Fields allows partial responses to be retrieved. See
  5711  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5712  // details.
  5713  func (c *ProjectsAppsRecaptchaConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaConfigGetCall {
  5714  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5715  	return c
  5716  }
  5717  
  5718  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5719  // object's ETag matches the given value. This is useful for getting updates
  5720  // only after the object has changed since the last request.
  5721  func (c *ProjectsAppsRecaptchaConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaConfigGetCall {
  5722  	c.ifNoneMatch_ = entityTag
  5723  	return c
  5724  }
  5725  
  5726  // Context sets the context to be used in this call's Do method.
  5727  func (c *ProjectsAppsRecaptchaConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaConfigGetCall {
  5728  	c.ctx_ = ctx
  5729  	return c
  5730  }
  5731  
  5732  // Header returns a http.Header that can be modified by the caller to add
  5733  // headers to the request.
  5734  func (c *ProjectsAppsRecaptchaConfigGetCall) Header() http.Header {
  5735  	if c.header_ == nil {
  5736  		c.header_ = make(http.Header)
  5737  	}
  5738  	return c.header_
  5739  }
  5740  
  5741  func (c *ProjectsAppsRecaptchaConfigGetCall) doRequest(alt string) (*http.Response, error) {
  5742  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5743  	if c.ifNoneMatch_ != "" {
  5744  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5745  	}
  5746  	var body io.Reader = nil
  5747  	c.urlParams_.Set("alt", alt)
  5748  	c.urlParams_.Set("prettyPrint", "false")
  5749  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5750  	urls += "?" + c.urlParams_.Encode()
  5751  	req, err := http.NewRequest("GET", urls, body)
  5752  	if err != nil {
  5753  		return nil, err
  5754  	}
  5755  	req.Header = reqHeaders
  5756  	googleapi.Expand(req.URL, map[string]string{
  5757  		"name": c.name,
  5758  	})
  5759  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5760  }
  5761  
  5762  // Do executes the "firebaseappcheck.projects.apps.recaptchaConfig.get" call.
  5763  // Any non-2xx status code is an error. Response headers are in either
  5764  // *GoogleFirebaseAppcheckV1betaRecaptchaConfig.ServerResponse.Header or (if a
  5765  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5766  // googleapi.IsNotModified to check whether the returned error was because
  5767  // http.StatusNotModified was returned.
  5768  func (c *ProjectsAppsRecaptchaConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaConfig, error) {
  5769  	gensupport.SetOptions(c.urlParams_, opts...)
  5770  	res, err := c.doRequest("json")
  5771  	if res != nil && res.StatusCode == http.StatusNotModified {
  5772  		if res.Body != nil {
  5773  			res.Body.Close()
  5774  		}
  5775  		return nil, gensupport.WrapError(&googleapi.Error{
  5776  			Code:   res.StatusCode,
  5777  			Header: res.Header,
  5778  		})
  5779  	}
  5780  	if err != nil {
  5781  		return nil, err
  5782  	}
  5783  	defer googleapi.CloseBody(res)
  5784  	if err := googleapi.CheckResponse(res); err != nil {
  5785  		return nil, gensupport.WrapError(err)
  5786  	}
  5787  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaConfig{
  5788  		ServerResponse: googleapi.ServerResponse{
  5789  			Header:         res.Header,
  5790  			HTTPStatusCode: res.StatusCode,
  5791  		},
  5792  	}
  5793  	target := &ret
  5794  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5795  		return nil, err
  5796  	}
  5797  	return ret, nil
  5798  }
  5799  
  5800  type ProjectsAppsRecaptchaConfigPatchCall struct {
  5801  	s                                           *Service
  5802  	name                                        string
  5803  	googlefirebaseappcheckv1betarecaptchaconfig *GoogleFirebaseAppcheckV1betaRecaptchaConfig
  5804  	urlParams_                                  gensupport.URLParams
  5805  	ctx_                                        context.Context
  5806  	header_                                     http.Header
  5807  }
  5808  
  5809  // Patch: Updates the RecaptchaConfig for the specified app. While this
  5810  // configuration is incomplete or invalid, the app will be unable to exchange
  5811  // reCAPTCHA tokens for App Check tokens. For security reasons, the
  5812  // `site_secret` field is never populated in the response.
  5813  //
  5814  //   - name: The relative resource name of the reCAPTCHA v3 configuration object,
  5815  //     in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig
  5816  //     ```.
  5817  func (r *ProjectsAppsRecaptchaConfigService) Patch(name string, googlefirebaseappcheckv1betarecaptchaconfig *GoogleFirebaseAppcheckV1betaRecaptchaConfig) *ProjectsAppsRecaptchaConfigPatchCall {
  5818  	c := &ProjectsAppsRecaptchaConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5819  	c.name = name
  5820  	c.googlefirebaseappcheckv1betarecaptchaconfig = googlefirebaseappcheckv1betarecaptchaconfig
  5821  	return c
  5822  }
  5823  
  5824  // UpdateMask sets the optional parameter "updateMask": Required. A
  5825  // comma-separated list of names of fields in the RecaptchaConfig to update.
  5826  // Example: `site_secret`.
  5827  func (c *ProjectsAppsRecaptchaConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaConfigPatchCall {
  5828  	c.urlParams_.Set("updateMask", updateMask)
  5829  	return c
  5830  }
  5831  
  5832  // Fields allows partial responses to be retrieved. See
  5833  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5834  // details.
  5835  func (c *ProjectsAppsRecaptchaConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaConfigPatchCall {
  5836  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5837  	return c
  5838  }
  5839  
  5840  // Context sets the context to be used in this call's Do method.
  5841  func (c *ProjectsAppsRecaptchaConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaConfigPatchCall {
  5842  	c.ctx_ = ctx
  5843  	return c
  5844  }
  5845  
  5846  // Header returns a http.Header that can be modified by the caller to add
  5847  // headers to the request.
  5848  func (c *ProjectsAppsRecaptchaConfigPatchCall) Header() http.Header {
  5849  	if c.header_ == nil {
  5850  		c.header_ = make(http.Header)
  5851  	}
  5852  	return c.header_
  5853  }
  5854  
  5855  func (c *ProjectsAppsRecaptchaConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  5856  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5857  	var body io.Reader = nil
  5858  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betarecaptchaconfig)
  5859  	if err != nil {
  5860  		return nil, err
  5861  	}
  5862  	c.urlParams_.Set("alt", alt)
  5863  	c.urlParams_.Set("prettyPrint", "false")
  5864  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  5865  	urls += "?" + c.urlParams_.Encode()
  5866  	req, err := http.NewRequest("PATCH", urls, body)
  5867  	if err != nil {
  5868  		return nil, err
  5869  	}
  5870  	req.Header = reqHeaders
  5871  	googleapi.Expand(req.URL, map[string]string{
  5872  		"name": c.name,
  5873  	})
  5874  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5875  }
  5876  
  5877  // Do executes the "firebaseappcheck.projects.apps.recaptchaConfig.patch" call.
  5878  // Any non-2xx status code is an error. Response headers are in either
  5879  // *GoogleFirebaseAppcheckV1betaRecaptchaConfig.ServerResponse.Header or (if a
  5880  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5881  // googleapi.IsNotModified to check whether the returned error was because
  5882  // http.StatusNotModified was returned.
  5883  func (c *ProjectsAppsRecaptchaConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaConfig, error) {
  5884  	gensupport.SetOptions(c.urlParams_, opts...)
  5885  	res, err := c.doRequest("json")
  5886  	if res != nil && res.StatusCode == http.StatusNotModified {
  5887  		if res.Body != nil {
  5888  			res.Body.Close()
  5889  		}
  5890  		return nil, gensupport.WrapError(&googleapi.Error{
  5891  			Code:   res.StatusCode,
  5892  			Header: res.Header,
  5893  		})
  5894  	}
  5895  	if err != nil {
  5896  		return nil, err
  5897  	}
  5898  	defer googleapi.CloseBody(res)
  5899  	if err := googleapi.CheckResponse(res); err != nil {
  5900  		return nil, gensupport.WrapError(err)
  5901  	}
  5902  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaConfig{
  5903  		ServerResponse: googleapi.ServerResponse{
  5904  			Header:         res.Header,
  5905  			HTTPStatusCode: res.StatusCode,
  5906  		},
  5907  	}
  5908  	target := &ret
  5909  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5910  		return nil, err
  5911  	}
  5912  	return ret, nil
  5913  }
  5914  
  5915  type ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall struct {
  5916  	s            *Service
  5917  	parent       string
  5918  	urlParams_   gensupport.URLParams
  5919  	ifNoneMatch_ string
  5920  	ctx_         context.Context
  5921  	header_      http.Header
  5922  }
  5923  
  5924  // BatchGet: Atomically gets the RecaptchaEnterpriseConfigs for the specified
  5925  // list of apps.
  5926  //
  5927  //   - parent: The parent project name shared by all RecaptchaEnterpriseConfigs
  5928  //     being retrieved, in the format ``` projects/{project_number} ``` The
  5929  //     parent collection in the `name` field of any resource being retrieved must
  5930  //     match this field, or the entire batch fails.
  5931  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  5932  	c := &ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5933  	c.parent = parent
  5934  	return c
  5935  }
  5936  
  5937  // Names sets the optional parameter "names": Required. The relative resource
  5938  // names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ```
  5939  // projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A
  5940  // maximum of 100 objects can be retrieved in a batch.
  5941  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  5942  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  5943  	return c
  5944  }
  5945  
  5946  // Fields allows partial responses to be retrieved. See
  5947  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5948  // details.
  5949  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  5950  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5951  	return c
  5952  }
  5953  
  5954  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5955  // object's ETag matches the given value. This is useful for getting updates
  5956  // only after the object has changed since the last request.
  5957  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  5958  	c.ifNoneMatch_ = entityTag
  5959  	return c
  5960  }
  5961  
  5962  // Context sets the context to be used in this call's Do method.
  5963  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  5964  	c.ctx_ = ctx
  5965  	return c
  5966  }
  5967  
  5968  // Header returns a http.Header that can be modified by the caller to add
  5969  // headers to the request.
  5970  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Header() http.Header {
  5971  	if c.header_ == nil {
  5972  		c.header_ = make(http.Header)
  5973  	}
  5974  	return c.header_
  5975  }
  5976  
  5977  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  5978  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5979  	if c.ifNoneMatch_ != "" {
  5980  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5981  	}
  5982  	var body io.Reader = nil
  5983  	c.urlParams_.Set("alt", alt)
  5984  	c.urlParams_.Set("prettyPrint", "false")
  5985  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet")
  5986  	urls += "?" + c.urlParams_.Encode()
  5987  	req, err := http.NewRequest("GET", urls, body)
  5988  	if err != nil {
  5989  		return nil, err
  5990  	}
  5991  	req.Header = reqHeaders
  5992  	googleapi.Expand(req.URL, map[string]string{
  5993  		"parent": c.parent,
  5994  	})
  5995  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5996  }
  5997  
  5998  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet" call.
  5999  // Any non-2xx status code is an error. Response headers are in either
  6000  // *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse.Serve
  6001  // rResponse.Header or (if a response was returned at all) in
  6002  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6003  // whether the returned error was because http.StatusNotModified was returned.
  6004  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse, error) {
  6005  	gensupport.SetOptions(c.urlParams_, opts...)
  6006  	res, err := c.doRequest("json")
  6007  	if res != nil && res.StatusCode == http.StatusNotModified {
  6008  		if res.Body != nil {
  6009  			res.Body.Close()
  6010  		}
  6011  		return nil, gensupport.WrapError(&googleapi.Error{
  6012  			Code:   res.StatusCode,
  6013  			Header: res.Header,
  6014  		})
  6015  	}
  6016  	if err != nil {
  6017  		return nil, err
  6018  	}
  6019  	defer googleapi.CloseBody(res)
  6020  	if err := googleapi.CheckResponse(res); err != nil {
  6021  		return nil, gensupport.WrapError(err)
  6022  	}
  6023  	ret := &GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse{
  6024  		ServerResponse: googleapi.ServerResponse{
  6025  			Header:         res.Header,
  6026  			HTTPStatusCode: res.StatusCode,
  6027  		},
  6028  	}
  6029  	target := &ret
  6030  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6031  		return nil, err
  6032  	}
  6033  	return ret, nil
  6034  }
  6035  
  6036  type ProjectsAppsRecaptchaEnterpriseConfigGetCall struct {
  6037  	s            *Service
  6038  	name         string
  6039  	urlParams_   gensupport.URLParams
  6040  	ifNoneMatch_ string
  6041  	ctx_         context.Context
  6042  	header_      http.Header
  6043  }
  6044  
  6045  // Get: Gets the RecaptchaEnterpriseConfig for the specified app.
  6046  //
  6047  //   - name: The relative resource name of the RecaptchaEnterpriseConfig, in the
  6048  //     format: ```
  6049  //     projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```.
  6050  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Get(name string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  6051  	c := &ProjectsAppsRecaptchaEnterpriseConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6052  	c.name = name
  6053  	return c
  6054  }
  6055  
  6056  // Fields allows partial responses to be retrieved. See
  6057  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6058  // details.
  6059  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  6060  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6061  	return c
  6062  }
  6063  
  6064  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6065  // object's ETag matches the given value. This is useful for getting updates
  6066  // only after the object has changed since the last request.
  6067  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  6068  	c.ifNoneMatch_ = entityTag
  6069  	return c
  6070  }
  6071  
  6072  // Context sets the context to be used in this call's Do method.
  6073  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  6074  	c.ctx_ = ctx
  6075  	return c
  6076  }
  6077  
  6078  // Header returns a http.Header that can be modified by the caller to add
  6079  // headers to the request.
  6080  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Header() http.Header {
  6081  	if c.header_ == nil {
  6082  		c.header_ = make(http.Header)
  6083  	}
  6084  	return c.header_
  6085  }
  6086  
  6087  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) doRequest(alt string) (*http.Response, error) {
  6088  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6089  	if c.ifNoneMatch_ != "" {
  6090  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6091  	}
  6092  	var body io.Reader = nil
  6093  	c.urlParams_.Set("alt", alt)
  6094  	c.urlParams_.Set("prettyPrint", "false")
  6095  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6096  	urls += "?" + c.urlParams_.Encode()
  6097  	req, err := http.NewRequest("GET", urls, body)
  6098  	if err != nil {
  6099  		return nil, err
  6100  	}
  6101  	req.Header = reqHeaders
  6102  	googleapi.Expand(req.URL, map[string]string{
  6103  		"name": c.name,
  6104  	})
  6105  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6106  }
  6107  
  6108  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get" call.
  6109  // Any non-2xx status code is an error. Response headers are in either
  6110  // *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig.ServerResponse.Header
  6111  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  6112  // Use googleapi.IsNotModified to check whether the returned error was because
  6113  // http.StatusNotModified was returned.
  6114  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig, error) {
  6115  	gensupport.SetOptions(c.urlParams_, opts...)
  6116  	res, err := c.doRequest("json")
  6117  	if res != nil && res.StatusCode == http.StatusNotModified {
  6118  		if res.Body != nil {
  6119  			res.Body.Close()
  6120  		}
  6121  		return nil, gensupport.WrapError(&googleapi.Error{
  6122  			Code:   res.StatusCode,
  6123  			Header: res.Header,
  6124  		})
  6125  	}
  6126  	if err != nil {
  6127  		return nil, err
  6128  	}
  6129  	defer googleapi.CloseBody(res)
  6130  	if err := googleapi.CheckResponse(res); err != nil {
  6131  		return nil, gensupport.WrapError(err)
  6132  	}
  6133  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig{
  6134  		ServerResponse: googleapi.ServerResponse{
  6135  			Header:         res.Header,
  6136  			HTTPStatusCode: res.StatusCode,
  6137  		},
  6138  	}
  6139  	target := &ret
  6140  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6141  		return nil, err
  6142  	}
  6143  	return ret, nil
  6144  }
  6145  
  6146  type ProjectsAppsRecaptchaEnterpriseConfigPatchCall struct {
  6147  	s                                                     *Service
  6148  	name                                                  string
  6149  	googlefirebaseappcheckv1betarecaptchaenterpriseconfig *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig
  6150  	urlParams_                                            gensupport.URLParams
  6151  	ctx_                                                  context.Context
  6152  	header_                                               http.Header
  6153  }
  6154  
  6155  // Patch: Updates the RecaptchaEnterpriseConfig for the specified app. While
  6156  // this configuration is incomplete or invalid, the app will be unable to
  6157  // exchange reCAPTCHA Enterprise tokens for App Check tokens.
  6158  //
  6159  //   - name: The relative resource name of the reCAPTCHA Enterprise configuration
  6160  //     object, in the format: ```
  6161  //     projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```.
  6162  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Patch(name string, googlefirebaseappcheckv1betarecaptchaenterpriseconfig *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  6163  	c := &ProjectsAppsRecaptchaEnterpriseConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6164  	c.name = name
  6165  	c.googlefirebaseappcheckv1betarecaptchaenterpriseconfig = googlefirebaseappcheckv1betarecaptchaenterpriseconfig
  6166  	return c
  6167  }
  6168  
  6169  // UpdateMask sets the optional parameter "updateMask": Required. A
  6170  // comma-separated list of names of fields in the RecaptchaEnterpriseConfig to
  6171  // update. Example: `site_key`.
  6172  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  6173  	c.urlParams_.Set("updateMask", updateMask)
  6174  	return c
  6175  }
  6176  
  6177  // Fields allows partial responses to be retrieved. See
  6178  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6179  // details.
  6180  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  6181  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6182  	return c
  6183  }
  6184  
  6185  // Context sets the context to be used in this call's Do method.
  6186  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  6187  	c.ctx_ = ctx
  6188  	return c
  6189  }
  6190  
  6191  // Header returns a http.Header that can be modified by the caller to add
  6192  // headers to the request.
  6193  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Header() http.Header {
  6194  	if c.header_ == nil {
  6195  		c.header_ = make(http.Header)
  6196  	}
  6197  	return c.header_
  6198  }
  6199  
  6200  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  6201  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6202  	var body io.Reader = nil
  6203  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betarecaptchaenterpriseconfig)
  6204  	if err != nil {
  6205  		return nil, err
  6206  	}
  6207  	c.urlParams_.Set("alt", alt)
  6208  	c.urlParams_.Set("prettyPrint", "false")
  6209  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6210  	urls += "?" + c.urlParams_.Encode()
  6211  	req, err := http.NewRequest("PATCH", urls, body)
  6212  	if err != nil {
  6213  		return nil, err
  6214  	}
  6215  	req.Header = reqHeaders
  6216  	googleapi.Expand(req.URL, map[string]string{
  6217  		"name": c.name,
  6218  	})
  6219  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6220  }
  6221  
  6222  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch" call.
  6223  // Any non-2xx status code is an error. Response headers are in either
  6224  // *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig.ServerResponse.Header
  6225  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  6226  // Use googleapi.IsNotModified to check whether the returned error was because
  6227  // http.StatusNotModified was returned.
  6228  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig, error) {
  6229  	gensupport.SetOptions(c.urlParams_, opts...)
  6230  	res, err := c.doRequest("json")
  6231  	if res != nil && res.StatusCode == http.StatusNotModified {
  6232  		if res.Body != nil {
  6233  			res.Body.Close()
  6234  		}
  6235  		return nil, gensupport.WrapError(&googleapi.Error{
  6236  			Code:   res.StatusCode,
  6237  			Header: res.Header,
  6238  		})
  6239  	}
  6240  	if err != nil {
  6241  		return nil, err
  6242  	}
  6243  	defer googleapi.CloseBody(res)
  6244  	if err := googleapi.CheckResponse(res); err != nil {
  6245  		return nil, gensupport.WrapError(err)
  6246  	}
  6247  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig{
  6248  		ServerResponse: googleapi.ServerResponse{
  6249  			Header:         res.Header,
  6250  			HTTPStatusCode: res.StatusCode,
  6251  		},
  6252  	}
  6253  	target := &ret
  6254  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6255  		return nil, err
  6256  	}
  6257  	return ret, nil
  6258  }
  6259  
  6260  type ProjectsAppsRecaptchaV3ConfigBatchGetCall struct {
  6261  	s            *Service
  6262  	parent       string
  6263  	urlParams_   gensupport.URLParams
  6264  	ifNoneMatch_ string
  6265  	ctx_         context.Context
  6266  	header_      http.Header
  6267  }
  6268  
  6269  // BatchGet: Atomically gets the RecaptchaV3Configs for the specified list of
  6270  // apps. For security reasons, the `site_secret` field is never populated in
  6271  // the response.
  6272  //
  6273  //   - parent: The parent project name shared by all RecaptchaV3Configs being
  6274  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  6275  //     collection in the `name` field of any resource being retrieved must match
  6276  //     this field, or the entire batch fails.
  6277  func (r *ProjectsAppsRecaptchaV3ConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  6278  	c := &ProjectsAppsRecaptchaV3ConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6279  	c.parent = parent
  6280  	return c
  6281  }
  6282  
  6283  // Names sets the optional parameter "names": Required. The relative resource
  6284  // names of the RecaptchaV3Configs to retrieve, in the format: ```
  6285  // projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of
  6286  // 100 objects can be retrieved in a batch.
  6287  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  6288  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  6289  	return c
  6290  }
  6291  
  6292  // Fields allows partial responses to be retrieved. See
  6293  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6294  // details.
  6295  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  6296  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6297  	return c
  6298  }
  6299  
  6300  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6301  // object's ETag matches the given value. This is useful for getting updates
  6302  // only after the object has changed since the last request.
  6303  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  6304  	c.ifNoneMatch_ = entityTag
  6305  	return c
  6306  }
  6307  
  6308  // Context sets the context to be used in this call's Do method.
  6309  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  6310  	c.ctx_ = ctx
  6311  	return c
  6312  }
  6313  
  6314  // Header returns a http.Header that can be modified by the caller to add
  6315  // headers to the request.
  6316  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Header() http.Header {
  6317  	if c.header_ == nil {
  6318  		c.header_ = make(http.Header)
  6319  	}
  6320  	return c.header_
  6321  }
  6322  
  6323  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  6324  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6325  	if c.ifNoneMatch_ != "" {
  6326  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6327  	}
  6328  	var body io.Reader = nil
  6329  	c.urlParams_.Set("alt", alt)
  6330  	c.urlParams_.Set("prettyPrint", "false")
  6331  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/recaptchaV3Config:batchGet")
  6332  	urls += "?" + c.urlParams_.Encode()
  6333  	req, err := http.NewRequest("GET", urls, body)
  6334  	if err != nil {
  6335  		return nil, err
  6336  	}
  6337  	req.Header = reqHeaders
  6338  	googleapi.Expand(req.URL, map[string]string{
  6339  		"parent": c.parent,
  6340  	})
  6341  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6342  }
  6343  
  6344  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet" call.
  6345  // Any non-2xx status code is an error. Response headers are in either
  6346  // *GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse.ServerRespons
  6347  // e.Header or (if a response was returned at all) in
  6348  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6349  // whether the returned error was because http.StatusNotModified was returned.
  6350  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse, error) {
  6351  	gensupport.SetOptions(c.urlParams_, opts...)
  6352  	res, err := c.doRequest("json")
  6353  	if res != nil && res.StatusCode == http.StatusNotModified {
  6354  		if res.Body != nil {
  6355  			res.Body.Close()
  6356  		}
  6357  		return nil, gensupport.WrapError(&googleapi.Error{
  6358  			Code:   res.StatusCode,
  6359  			Header: res.Header,
  6360  		})
  6361  	}
  6362  	if err != nil {
  6363  		return nil, err
  6364  	}
  6365  	defer googleapi.CloseBody(res)
  6366  	if err := googleapi.CheckResponse(res); err != nil {
  6367  		return nil, gensupport.WrapError(err)
  6368  	}
  6369  	ret := &GoogleFirebaseAppcheckV1betaBatchGetRecaptchaV3ConfigsResponse{
  6370  		ServerResponse: googleapi.ServerResponse{
  6371  			Header:         res.Header,
  6372  			HTTPStatusCode: res.StatusCode,
  6373  		},
  6374  	}
  6375  	target := &ret
  6376  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6377  		return nil, err
  6378  	}
  6379  	return ret, nil
  6380  }
  6381  
  6382  type ProjectsAppsRecaptchaV3ConfigGetCall struct {
  6383  	s            *Service
  6384  	name         string
  6385  	urlParams_   gensupport.URLParams
  6386  	ifNoneMatch_ string
  6387  	ctx_         context.Context
  6388  	header_      http.Header
  6389  }
  6390  
  6391  // Get: Gets the RecaptchaV3Config for the specified app. For security reasons,
  6392  // the `site_secret` field is never populated in the response.
  6393  //
  6394  //   - name: The relative resource name of the RecaptchaV3Config, in the format:
  6395  //     ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```.
  6396  func (r *ProjectsAppsRecaptchaV3ConfigService) Get(name string) *ProjectsAppsRecaptchaV3ConfigGetCall {
  6397  	c := &ProjectsAppsRecaptchaV3ConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6398  	c.name = name
  6399  	return c
  6400  }
  6401  
  6402  // Fields allows partial responses to be retrieved. See
  6403  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6404  // details.
  6405  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigGetCall {
  6406  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6407  	return c
  6408  }
  6409  
  6410  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6411  // object's ETag matches the given value. This is useful for getting updates
  6412  // only after the object has changed since the last request.
  6413  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigGetCall {
  6414  	c.ifNoneMatch_ = entityTag
  6415  	return c
  6416  }
  6417  
  6418  // Context sets the context to be used in this call's Do method.
  6419  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigGetCall {
  6420  	c.ctx_ = ctx
  6421  	return c
  6422  }
  6423  
  6424  // Header returns a http.Header that can be modified by the caller to add
  6425  // headers to the request.
  6426  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Header() http.Header {
  6427  	if c.header_ == nil {
  6428  		c.header_ = make(http.Header)
  6429  	}
  6430  	return c.header_
  6431  }
  6432  
  6433  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) doRequest(alt string) (*http.Response, error) {
  6434  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6435  	if c.ifNoneMatch_ != "" {
  6436  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6437  	}
  6438  	var body io.Reader = nil
  6439  	c.urlParams_.Set("alt", alt)
  6440  	c.urlParams_.Set("prettyPrint", "false")
  6441  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6442  	urls += "?" + c.urlParams_.Encode()
  6443  	req, err := http.NewRequest("GET", urls, body)
  6444  	if err != nil {
  6445  		return nil, err
  6446  	}
  6447  	req.Header = reqHeaders
  6448  	googleapi.Expand(req.URL, map[string]string{
  6449  		"name": c.name,
  6450  	})
  6451  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6452  }
  6453  
  6454  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.get" call.
  6455  // Any non-2xx status code is an error. Response headers are in either
  6456  // *GoogleFirebaseAppcheckV1betaRecaptchaV3Config.ServerResponse.Header or (if
  6457  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  6458  // googleapi.IsNotModified to check whether the returned error was because
  6459  // http.StatusNotModified was returned.
  6460  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaV3Config, error) {
  6461  	gensupport.SetOptions(c.urlParams_, opts...)
  6462  	res, err := c.doRequest("json")
  6463  	if res != nil && res.StatusCode == http.StatusNotModified {
  6464  		if res.Body != nil {
  6465  			res.Body.Close()
  6466  		}
  6467  		return nil, gensupport.WrapError(&googleapi.Error{
  6468  			Code:   res.StatusCode,
  6469  			Header: res.Header,
  6470  		})
  6471  	}
  6472  	if err != nil {
  6473  		return nil, err
  6474  	}
  6475  	defer googleapi.CloseBody(res)
  6476  	if err := googleapi.CheckResponse(res); err != nil {
  6477  		return nil, gensupport.WrapError(err)
  6478  	}
  6479  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaV3Config{
  6480  		ServerResponse: googleapi.ServerResponse{
  6481  			Header:         res.Header,
  6482  			HTTPStatusCode: res.StatusCode,
  6483  		},
  6484  	}
  6485  	target := &ret
  6486  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6487  		return nil, err
  6488  	}
  6489  	return ret, nil
  6490  }
  6491  
  6492  type ProjectsAppsRecaptchaV3ConfigPatchCall struct {
  6493  	s                                             *Service
  6494  	name                                          string
  6495  	googlefirebaseappcheckv1betarecaptchav3config *GoogleFirebaseAppcheckV1betaRecaptchaV3Config
  6496  	urlParams_                                    gensupport.URLParams
  6497  	ctx_                                          context.Context
  6498  	header_                                       http.Header
  6499  }
  6500  
  6501  // Patch: Updates the RecaptchaV3Config for the specified app. While this
  6502  // configuration is incomplete or invalid, the app will be unable to exchange
  6503  // reCAPTCHA V3 tokens for App Check tokens. For security reasons, the
  6504  // `site_secret` field is never populated in the response.
  6505  //
  6506  //   - name: The relative resource name of the reCAPTCHA v3 configuration object,
  6507  //     in the format: ```
  6508  //     projects/{project_number}/apps/{app_id}/recaptchaV3Config ```.
  6509  func (r *ProjectsAppsRecaptchaV3ConfigService) Patch(name string, googlefirebaseappcheckv1betarecaptchav3config *GoogleFirebaseAppcheckV1betaRecaptchaV3Config) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  6510  	c := &ProjectsAppsRecaptchaV3ConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6511  	c.name = name
  6512  	c.googlefirebaseappcheckv1betarecaptchav3config = googlefirebaseappcheckv1betarecaptchav3config
  6513  	return c
  6514  }
  6515  
  6516  // UpdateMask sets the optional parameter "updateMask": Required. A
  6517  // comma-separated list of names of fields in the RecaptchaV3Config to update.
  6518  // Example: `site_secret`.
  6519  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  6520  	c.urlParams_.Set("updateMask", updateMask)
  6521  	return c
  6522  }
  6523  
  6524  // Fields allows partial responses to be retrieved. See
  6525  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6526  // details.
  6527  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  6528  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6529  	return c
  6530  }
  6531  
  6532  // Context sets the context to be used in this call's Do method.
  6533  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  6534  	c.ctx_ = ctx
  6535  	return c
  6536  }
  6537  
  6538  // Header returns a http.Header that can be modified by the caller to add
  6539  // headers to the request.
  6540  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Header() http.Header {
  6541  	if c.header_ == nil {
  6542  		c.header_ = make(http.Header)
  6543  	}
  6544  	return c.header_
  6545  }
  6546  
  6547  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  6548  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6549  	var body io.Reader = nil
  6550  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betarecaptchav3config)
  6551  	if err != nil {
  6552  		return nil, err
  6553  	}
  6554  	c.urlParams_.Set("alt", alt)
  6555  	c.urlParams_.Set("prettyPrint", "false")
  6556  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6557  	urls += "?" + c.urlParams_.Encode()
  6558  	req, err := http.NewRequest("PATCH", urls, body)
  6559  	if err != nil {
  6560  		return nil, err
  6561  	}
  6562  	req.Header = reqHeaders
  6563  	googleapi.Expand(req.URL, map[string]string{
  6564  		"name": c.name,
  6565  	})
  6566  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6567  }
  6568  
  6569  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.patch" call.
  6570  // Any non-2xx status code is an error. Response headers are in either
  6571  // *GoogleFirebaseAppcheckV1betaRecaptchaV3Config.ServerResponse.Header or (if
  6572  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  6573  // googleapi.IsNotModified to check whether the returned error was because
  6574  // http.StatusNotModified was returned.
  6575  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaRecaptchaV3Config, error) {
  6576  	gensupport.SetOptions(c.urlParams_, opts...)
  6577  	res, err := c.doRequest("json")
  6578  	if res != nil && res.StatusCode == http.StatusNotModified {
  6579  		if res.Body != nil {
  6580  			res.Body.Close()
  6581  		}
  6582  		return nil, gensupport.WrapError(&googleapi.Error{
  6583  			Code:   res.StatusCode,
  6584  			Header: res.Header,
  6585  		})
  6586  	}
  6587  	if err != nil {
  6588  		return nil, err
  6589  	}
  6590  	defer googleapi.CloseBody(res)
  6591  	if err := googleapi.CheckResponse(res); err != nil {
  6592  		return nil, gensupport.WrapError(err)
  6593  	}
  6594  	ret := &GoogleFirebaseAppcheckV1betaRecaptchaV3Config{
  6595  		ServerResponse: googleapi.ServerResponse{
  6596  			Header:         res.Header,
  6597  			HTTPStatusCode: res.StatusCode,
  6598  		},
  6599  	}
  6600  	target := &ret
  6601  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6602  		return nil, err
  6603  	}
  6604  	return ret, nil
  6605  }
  6606  
  6607  type ProjectsAppsSafetyNetConfigBatchGetCall struct {
  6608  	s            *Service
  6609  	parent       string
  6610  	urlParams_   gensupport.URLParams
  6611  	ifNoneMatch_ string
  6612  	ctx_         context.Context
  6613  	header_      http.Header
  6614  }
  6615  
  6616  // BatchGet: Atomically gets the SafetyNetConfigs for the specified list of
  6617  // apps.
  6618  //
  6619  //   - parent: The parent project name shared by all SafetyNetConfigs being
  6620  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  6621  //     collection in the `name` field of any resource being retrieved must match
  6622  //     this field, or the entire batch fails.
  6623  func (r *ProjectsAppsSafetyNetConfigService) BatchGet(parent string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  6624  	c := &ProjectsAppsSafetyNetConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6625  	c.parent = parent
  6626  	return c
  6627  }
  6628  
  6629  // Names sets the optional parameter "names": Required. The relative resource
  6630  // names of the SafetyNetConfigs to retrieve, in the format ```
  6631  // projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100
  6632  // objects can be retrieved in a batch.
  6633  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Names(names ...string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  6634  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  6635  	return c
  6636  }
  6637  
  6638  // Fields allows partial responses to be retrieved. See
  6639  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6640  // details.
  6641  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigBatchGetCall {
  6642  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6643  	return c
  6644  }
  6645  
  6646  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6647  // object's ETag matches the given value. This is useful for getting updates
  6648  // only after the object has changed since the last request.
  6649  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  6650  	c.ifNoneMatch_ = entityTag
  6651  	return c
  6652  }
  6653  
  6654  // Context sets the context to be used in this call's Do method.
  6655  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigBatchGetCall {
  6656  	c.ctx_ = ctx
  6657  	return c
  6658  }
  6659  
  6660  // Header returns a http.Header that can be modified by the caller to add
  6661  // headers to the request.
  6662  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Header() http.Header {
  6663  	if c.header_ == nil {
  6664  		c.header_ = make(http.Header)
  6665  	}
  6666  	return c.header_
  6667  }
  6668  
  6669  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  6670  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6671  	if c.ifNoneMatch_ != "" {
  6672  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6673  	}
  6674  	var body io.Reader = nil
  6675  	c.urlParams_.Set("alt", alt)
  6676  	c.urlParams_.Set("prettyPrint", "false")
  6677  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/safetyNetConfig:batchGet")
  6678  	urls += "?" + c.urlParams_.Encode()
  6679  	req, err := http.NewRequest("GET", urls, body)
  6680  	if err != nil {
  6681  		return nil, err
  6682  	}
  6683  	req.Header = reqHeaders
  6684  	googleapi.Expand(req.URL, map[string]string{
  6685  		"parent": c.parent,
  6686  	})
  6687  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6688  }
  6689  
  6690  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.batchGet" call.
  6691  // Any non-2xx status code is an error. Response headers are in either
  6692  // *GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse.ServerResponse.
  6693  // Header or (if a response was returned at all) in
  6694  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6695  // whether the returned error was because http.StatusNotModified was returned.
  6696  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse, error) {
  6697  	gensupport.SetOptions(c.urlParams_, opts...)
  6698  	res, err := c.doRequest("json")
  6699  	if res != nil && res.StatusCode == http.StatusNotModified {
  6700  		if res.Body != nil {
  6701  			res.Body.Close()
  6702  		}
  6703  		return nil, gensupport.WrapError(&googleapi.Error{
  6704  			Code:   res.StatusCode,
  6705  			Header: res.Header,
  6706  		})
  6707  	}
  6708  	if err != nil {
  6709  		return nil, err
  6710  	}
  6711  	defer googleapi.CloseBody(res)
  6712  	if err := googleapi.CheckResponse(res); err != nil {
  6713  		return nil, gensupport.WrapError(err)
  6714  	}
  6715  	ret := &GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse{
  6716  		ServerResponse: googleapi.ServerResponse{
  6717  			Header:         res.Header,
  6718  			HTTPStatusCode: res.StatusCode,
  6719  		},
  6720  	}
  6721  	target := &ret
  6722  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6723  		return nil, err
  6724  	}
  6725  	return ret, nil
  6726  }
  6727  
  6728  type ProjectsAppsSafetyNetConfigGetCall struct {
  6729  	s            *Service
  6730  	name         string
  6731  	urlParams_   gensupport.URLParams
  6732  	ifNoneMatch_ string
  6733  	ctx_         context.Context
  6734  	header_      http.Header
  6735  }
  6736  
  6737  // Get: Gets the SafetyNetConfig for the specified app.
  6738  //
  6739  //   - name: The relative resource name of the SafetyNetConfig, in the format:
  6740  //     ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```.
  6741  func (r *ProjectsAppsSafetyNetConfigService) Get(name string) *ProjectsAppsSafetyNetConfigGetCall {
  6742  	c := &ProjectsAppsSafetyNetConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6743  	c.name = name
  6744  	return c
  6745  }
  6746  
  6747  // Fields allows partial responses to be retrieved. See
  6748  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6749  // details.
  6750  func (c *ProjectsAppsSafetyNetConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigGetCall {
  6751  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6752  	return c
  6753  }
  6754  
  6755  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6756  // object's ETag matches the given value. This is useful for getting updates
  6757  // only after the object has changed since the last request.
  6758  func (c *ProjectsAppsSafetyNetConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigGetCall {
  6759  	c.ifNoneMatch_ = entityTag
  6760  	return c
  6761  }
  6762  
  6763  // Context sets the context to be used in this call's Do method.
  6764  func (c *ProjectsAppsSafetyNetConfigGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigGetCall {
  6765  	c.ctx_ = ctx
  6766  	return c
  6767  }
  6768  
  6769  // Header returns a http.Header that can be modified by the caller to add
  6770  // headers to the request.
  6771  func (c *ProjectsAppsSafetyNetConfigGetCall) Header() http.Header {
  6772  	if c.header_ == nil {
  6773  		c.header_ = make(http.Header)
  6774  	}
  6775  	return c.header_
  6776  }
  6777  
  6778  func (c *ProjectsAppsSafetyNetConfigGetCall) doRequest(alt string) (*http.Response, error) {
  6779  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6780  	if c.ifNoneMatch_ != "" {
  6781  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6782  	}
  6783  	var body io.Reader = nil
  6784  	c.urlParams_.Set("alt", alt)
  6785  	c.urlParams_.Set("prettyPrint", "false")
  6786  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6787  	urls += "?" + c.urlParams_.Encode()
  6788  	req, err := http.NewRequest("GET", urls, body)
  6789  	if err != nil {
  6790  		return nil, err
  6791  	}
  6792  	req.Header = reqHeaders
  6793  	googleapi.Expand(req.URL, map[string]string{
  6794  		"name": c.name,
  6795  	})
  6796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6797  }
  6798  
  6799  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.get" call.
  6800  // Any non-2xx status code is an error. Response headers are in either
  6801  // *GoogleFirebaseAppcheckV1betaSafetyNetConfig.ServerResponse.Header or (if a
  6802  // response was returned at all) in error.(*googleapi.Error).Header. Use
  6803  // googleapi.IsNotModified to check whether the returned error was because
  6804  // http.StatusNotModified was returned.
  6805  func (c *ProjectsAppsSafetyNetConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaSafetyNetConfig, error) {
  6806  	gensupport.SetOptions(c.urlParams_, opts...)
  6807  	res, err := c.doRequest("json")
  6808  	if res != nil && res.StatusCode == http.StatusNotModified {
  6809  		if res.Body != nil {
  6810  			res.Body.Close()
  6811  		}
  6812  		return nil, gensupport.WrapError(&googleapi.Error{
  6813  			Code:   res.StatusCode,
  6814  			Header: res.Header,
  6815  		})
  6816  	}
  6817  	if err != nil {
  6818  		return nil, err
  6819  	}
  6820  	defer googleapi.CloseBody(res)
  6821  	if err := googleapi.CheckResponse(res); err != nil {
  6822  		return nil, gensupport.WrapError(err)
  6823  	}
  6824  	ret := &GoogleFirebaseAppcheckV1betaSafetyNetConfig{
  6825  		ServerResponse: googleapi.ServerResponse{
  6826  			Header:         res.Header,
  6827  			HTTPStatusCode: res.StatusCode,
  6828  		},
  6829  	}
  6830  	target := &ret
  6831  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6832  		return nil, err
  6833  	}
  6834  	return ret, nil
  6835  }
  6836  
  6837  type ProjectsAppsSafetyNetConfigPatchCall struct {
  6838  	s                                           *Service
  6839  	name                                        string
  6840  	googlefirebaseappcheckv1betasafetynetconfig *GoogleFirebaseAppcheckV1betaSafetyNetConfig
  6841  	urlParams_                                  gensupport.URLParams
  6842  	ctx_                                        context.Context
  6843  	header_                                     http.Header
  6844  }
  6845  
  6846  // Patch: Updates the SafetyNetConfig for the specified app. While this
  6847  // configuration is incomplete or invalid, the app will be unable to exchange
  6848  // SafetyNet tokens for App Check tokens.
  6849  //
  6850  //   - name: The relative resource name of the SafetyNet configuration object, in
  6851  //     the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig
  6852  //     ```.
  6853  func (r *ProjectsAppsSafetyNetConfigService) Patch(name string, googlefirebaseappcheckv1betasafetynetconfig *GoogleFirebaseAppcheckV1betaSafetyNetConfig) *ProjectsAppsSafetyNetConfigPatchCall {
  6854  	c := &ProjectsAppsSafetyNetConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6855  	c.name = name
  6856  	c.googlefirebaseappcheckv1betasafetynetconfig = googlefirebaseappcheckv1betasafetynetconfig
  6857  	return c
  6858  }
  6859  
  6860  // UpdateMask sets the optional parameter "updateMask": Required. A
  6861  // comma-separated list of names of fields in the SafetyNetConfig to update.
  6862  // Example: `token_ttl`.
  6863  func (c *ProjectsAppsSafetyNetConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsSafetyNetConfigPatchCall {
  6864  	c.urlParams_.Set("updateMask", updateMask)
  6865  	return c
  6866  }
  6867  
  6868  // Fields allows partial responses to be retrieved. See
  6869  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6870  // details.
  6871  func (c *ProjectsAppsSafetyNetConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigPatchCall {
  6872  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6873  	return c
  6874  }
  6875  
  6876  // Context sets the context to be used in this call's Do method.
  6877  func (c *ProjectsAppsSafetyNetConfigPatchCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigPatchCall {
  6878  	c.ctx_ = ctx
  6879  	return c
  6880  }
  6881  
  6882  // Header returns a http.Header that can be modified by the caller to add
  6883  // headers to the request.
  6884  func (c *ProjectsAppsSafetyNetConfigPatchCall) Header() http.Header {
  6885  	if c.header_ == nil {
  6886  		c.header_ = make(http.Header)
  6887  	}
  6888  	return c.header_
  6889  }
  6890  
  6891  func (c *ProjectsAppsSafetyNetConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  6892  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6893  	var body io.Reader = nil
  6894  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betasafetynetconfig)
  6895  	if err != nil {
  6896  		return nil, err
  6897  	}
  6898  	c.urlParams_.Set("alt", alt)
  6899  	c.urlParams_.Set("prettyPrint", "false")
  6900  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6901  	urls += "?" + c.urlParams_.Encode()
  6902  	req, err := http.NewRequest("PATCH", urls, body)
  6903  	if err != nil {
  6904  		return nil, err
  6905  	}
  6906  	req.Header = reqHeaders
  6907  	googleapi.Expand(req.URL, map[string]string{
  6908  		"name": c.name,
  6909  	})
  6910  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6911  }
  6912  
  6913  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.patch" call.
  6914  // Any non-2xx status code is an error. Response headers are in either
  6915  // *GoogleFirebaseAppcheckV1betaSafetyNetConfig.ServerResponse.Header or (if a
  6916  // response was returned at all) in error.(*googleapi.Error).Header. Use
  6917  // googleapi.IsNotModified to check whether the returned error was because
  6918  // http.StatusNotModified was returned.
  6919  func (c *ProjectsAppsSafetyNetConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaSafetyNetConfig, error) {
  6920  	gensupport.SetOptions(c.urlParams_, opts...)
  6921  	res, err := c.doRequest("json")
  6922  	if res != nil && res.StatusCode == http.StatusNotModified {
  6923  		if res.Body != nil {
  6924  			res.Body.Close()
  6925  		}
  6926  		return nil, gensupport.WrapError(&googleapi.Error{
  6927  			Code:   res.StatusCode,
  6928  			Header: res.Header,
  6929  		})
  6930  	}
  6931  	if err != nil {
  6932  		return nil, err
  6933  	}
  6934  	defer googleapi.CloseBody(res)
  6935  	if err := googleapi.CheckResponse(res); err != nil {
  6936  		return nil, gensupport.WrapError(err)
  6937  	}
  6938  	ret := &GoogleFirebaseAppcheckV1betaSafetyNetConfig{
  6939  		ServerResponse: googleapi.ServerResponse{
  6940  			Header:         res.Header,
  6941  			HTTPStatusCode: res.StatusCode,
  6942  		},
  6943  	}
  6944  	target := &ret
  6945  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6946  		return nil, err
  6947  	}
  6948  	return ret, nil
  6949  }
  6950  
  6951  type ProjectsServicesBatchUpdateCall struct {
  6952  	s                                                      *Service
  6953  	parent                                                 string
  6954  	googlefirebaseappcheckv1betabatchupdateservicesrequest *GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest
  6955  	urlParams_                                             gensupport.URLParams
  6956  	ctx_                                                   context.Context
  6957  	header_                                                http.Header
  6958  }
  6959  
  6960  // BatchUpdate: Atomically updates the specified Service configurations.
  6961  //
  6962  //   - parent: The parent project name shared by all Service configurations being
  6963  //     updated, in the format ``` projects/{project_number} ``` The parent
  6964  //     collection in the `name` field of any resource being updated must match
  6965  //     this field, or the entire batch fails.
  6966  func (r *ProjectsServicesService) BatchUpdate(parent string, googlefirebaseappcheckv1betabatchupdateservicesrequest *GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest) *ProjectsServicesBatchUpdateCall {
  6967  	c := &ProjectsServicesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6968  	c.parent = parent
  6969  	c.googlefirebaseappcheckv1betabatchupdateservicesrequest = googlefirebaseappcheckv1betabatchupdateservicesrequest
  6970  	return c
  6971  }
  6972  
  6973  // Fields allows partial responses to be retrieved. See
  6974  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6975  // details.
  6976  func (c *ProjectsServicesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsServicesBatchUpdateCall {
  6977  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6978  	return c
  6979  }
  6980  
  6981  // Context sets the context to be used in this call's Do method.
  6982  func (c *ProjectsServicesBatchUpdateCall) Context(ctx context.Context) *ProjectsServicesBatchUpdateCall {
  6983  	c.ctx_ = ctx
  6984  	return c
  6985  }
  6986  
  6987  // Header returns a http.Header that can be modified by the caller to add
  6988  // headers to the request.
  6989  func (c *ProjectsServicesBatchUpdateCall) Header() http.Header {
  6990  	if c.header_ == nil {
  6991  		c.header_ = make(http.Header)
  6992  	}
  6993  	return c.header_
  6994  }
  6995  
  6996  func (c *ProjectsServicesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  6997  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6998  	var body io.Reader = nil
  6999  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betabatchupdateservicesrequest)
  7000  	if err != nil {
  7001  		return nil, err
  7002  	}
  7003  	c.urlParams_.Set("alt", alt)
  7004  	c.urlParams_.Set("prettyPrint", "false")
  7005  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/services:batchUpdate")
  7006  	urls += "?" + c.urlParams_.Encode()
  7007  	req, err := http.NewRequest("POST", urls, body)
  7008  	if err != nil {
  7009  		return nil, err
  7010  	}
  7011  	req.Header = reqHeaders
  7012  	googleapi.Expand(req.URL, map[string]string{
  7013  		"parent": c.parent,
  7014  	})
  7015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7016  }
  7017  
  7018  // Do executes the "firebaseappcheck.projects.services.batchUpdate" call.
  7019  // Any non-2xx status code is an error. Response headers are in either
  7020  // *GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse.ServerResponse.Heade
  7021  // r or (if a response was returned at all) in error.(*googleapi.Error).Header.
  7022  // Use googleapi.IsNotModified to check whether the returned error was because
  7023  // http.StatusNotModified was returned.
  7024  func (c *ProjectsServicesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse, error) {
  7025  	gensupport.SetOptions(c.urlParams_, opts...)
  7026  	res, err := c.doRequest("json")
  7027  	if res != nil && res.StatusCode == http.StatusNotModified {
  7028  		if res.Body != nil {
  7029  			res.Body.Close()
  7030  		}
  7031  		return nil, gensupport.WrapError(&googleapi.Error{
  7032  			Code:   res.StatusCode,
  7033  			Header: res.Header,
  7034  		})
  7035  	}
  7036  	if err != nil {
  7037  		return nil, err
  7038  	}
  7039  	defer googleapi.CloseBody(res)
  7040  	if err := googleapi.CheckResponse(res); err != nil {
  7041  		return nil, gensupport.WrapError(err)
  7042  	}
  7043  	ret := &GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse{
  7044  		ServerResponse: googleapi.ServerResponse{
  7045  			Header:         res.Header,
  7046  			HTTPStatusCode: res.StatusCode,
  7047  		},
  7048  	}
  7049  	target := &ret
  7050  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7051  		return nil, err
  7052  	}
  7053  	return ret, nil
  7054  }
  7055  
  7056  type ProjectsServicesGetCall struct {
  7057  	s            *Service
  7058  	name         string
  7059  	urlParams_   gensupport.URLParams
  7060  	ifNoneMatch_ string
  7061  	ctx_         context.Context
  7062  	header_      http.Header
  7063  }
  7064  
  7065  // Get: Gets the Service configuration for the specified service name.
  7066  //
  7067  //   - name: The relative resource name of the Service to retrieve, in the
  7068  //     format: ``` projects/{project_number}/services/{service_id} ``` Note that
  7069  //     the `service_id` element must be a supported service ID. Currently, the
  7070  //     following service IDs are supported: * `firebasestorage.googleapis.com`
  7071  //     (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase
  7072  //     Realtime Database) * `firestore.googleapis.com` (Cloud Firestore) *
  7073  //     `identitytoolkit.googleapis.com` (Firebase Authentication with Identity
  7074  //     Platform).
  7075  func (r *ProjectsServicesService) Get(name string) *ProjectsServicesGetCall {
  7076  	c := &ProjectsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7077  	c.name = name
  7078  	return c
  7079  }
  7080  
  7081  // Fields allows partial responses to be retrieved. See
  7082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7083  // details.
  7084  func (c *ProjectsServicesGetCall) Fields(s ...googleapi.Field) *ProjectsServicesGetCall {
  7085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7086  	return c
  7087  }
  7088  
  7089  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7090  // object's ETag matches the given value. This is useful for getting updates
  7091  // only after the object has changed since the last request.
  7092  func (c *ProjectsServicesGetCall) IfNoneMatch(entityTag string) *ProjectsServicesGetCall {
  7093  	c.ifNoneMatch_ = entityTag
  7094  	return c
  7095  }
  7096  
  7097  // Context sets the context to be used in this call's Do method.
  7098  func (c *ProjectsServicesGetCall) Context(ctx context.Context) *ProjectsServicesGetCall {
  7099  	c.ctx_ = ctx
  7100  	return c
  7101  }
  7102  
  7103  // Header returns a http.Header that can be modified by the caller to add
  7104  // headers to the request.
  7105  func (c *ProjectsServicesGetCall) Header() http.Header {
  7106  	if c.header_ == nil {
  7107  		c.header_ = make(http.Header)
  7108  	}
  7109  	return c.header_
  7110  }
  7111  
  7112  func (c *ProjectsServicesGetCall) doRequest(alt string) (*http.Response, error) {
  7113  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7114  	if c.ifNoneMatch_ != "" {
  7115  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7116  	}
  7117  	var body io.Reader = nil
  7118  	c.urlParams_.Set("alt", alt)
  7119  	c.urlParams_.Set("prettyPrint", "false")
  7120  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7121  	urls += "?" + c.urlParams_.Encode()
  7122  	req, err := http.NewRequest("GET", urls, body)
  7123  	if err != nil {
  7124  		return nil, err
  7125  	}
  7126  	req.Header = reqHeaders
  7127  	googleapi.Expand(req.URL, map[string]string{
  7128  		"name": c.name,
  7129  	})
  7130  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7131  }
  7132  
  7133  // Do executes the "firebaseappcheck.projects.services.get" call.
  7134  // Any non-2xx status code is an error. Response headers are in either
  7135  // *GoogleFirebaseAppcheckV1betaService.ServerResponse.Header or (if a response
  7136  // was returned at all) in error.(*googleapi.Error).Header. Use
  7137  // googleapi.IsNotModified to check whether the returned error was because
  7138  // http.StatusNotModified was returned.
  7139  func (c *ProjectsServicesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaService, error) {
  7140  	gensupport.SetOptions(c.urlParams_, opts...)
  7141  	res, err := c.doRequest("json")
  7142  	if res != nil && res.StatusCode == http.StatusNotModified {
  7143  		if res.Body != nil {
  7144  			res.Body.Close()
  7145  		}
  7146  		return nil, gensupport.WrapError(&googleapi.Error{
  7147  			Code:   res.StatusCode,
  7148  			Header: res.Header,
  7149  		})
  7150  	}
  7151  	if err != nil {
  7152  		return nil, err
  7153  	}
  7154  	defer googleapi.CloseBody(res)
  7155  	if err := googleapi.CheckResponse(res); err != nil {
  7156  		return nil, gensupport.WrapError(err)
  7157  	}
  7158  	ret := &GoogleFirebaseAppcheckV1betaService{
  7159  		ServerResponse: googleapi.ServerResponse{
  7160  			Header:         res.Header,
  7161  			HTTPStatusCode: res.StatusCode,
  7162  		},
  7163  	}
  7164  	target := &ret
  7165  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7166  		return nil, err
  7167  	}
  7168  	return ret, nil
  7169  }
  7170  
  7171  type ProjectsServicesListCall struct {
  7172  	s            *Service
  7173  	parent       string
  7174  	urlParams_   gensupport.URLParams
  7175  	ifNoneMatch_ string
  7176  	ctx_         context.Context
  7177  	header_      http.Header
  7178  }
  7179  
  7180  // List: Lists all Service configurations for the specified project. Only
  7181  // Services which were explicitly configured using UpdateService or
  7182  // BatchUpdateServices will be returned.
  7183  //
  7184  //   - parent: The relative resource name of the parent project for which to list
  7185  //     each associated Service, in the format: ``` projects/{project_number} ```.
  7186  func (r *ProjectsServicesService) List(parent string) *ProjectsServicesListCall {
  7187  	c := &ProjectsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7188  	c.parent = parent
  7189  	return c
  7190  }
  7191  
  7192  // PageSize sets the optional parameter "pageSize": The maximum number of
  7193  // Services to return in the response. Only explicitly configured services are
  7194  // returned. The server may return fewer than this at its own discretion. If no
  7195  // value is specified or set to zero (or too large a value is specified), the
  7196  // server will impose its own limit.
  7197  func (c *ProjectsServicesListCall) PageSize(pageSize int64) *ProjectsServicesListCall {
  7198  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7199  	return c
  7200  }
  7201  
  7202  // PageToken sets the optional parameter "pageToken": Token returned from a
  7203  // previous call to ListServices indicating where in the set of Services to
  7204  // resume listing. Provide this to retrieve the subsequent page. When
  7205  // paginating, all other parameters provided to ListServices must match the
  7206  // call that provided the page token; if they do not match, the result is
  7207  // undefined.
  7208  func (c *ProjectsServicesListCall) PageToken(pageToken string) *ProjectsServicesListCall {
  7209  	c.urlParams_.Set("pageToken", pageToken)
  7210  	return c
  7211  }
  7212  
  7213  // Fields allows partial responses to be retrieved. See
  7214  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7215  // details.
  7216  func (c *ProjectsServicesListCall) Fields(s ...googleapi.Field) *ProjectsServicesListCall {
  7217  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7218  	return c
  7219  }
  7220  
  7221  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7222  // object's ETag matches the given value. This is useful for getting updates
  7223  // only after the object has changed since the last request.
  7224  func (c *ProjectsServicesListCall) IfNoneMatch(entityTag string) *ProjectsServicesListCall {
  7225  	c.ifNoneMatch_ = entityTag
  7226  	return c
  7227  }
  7228  
  7229  // Context sets the context to be used in this call's Do method.
  7230  func (c *ProjectsServicesListCall) Context(ctx context.Context) *ProjectsServicesListCall {
  7231  	c.ctx_ = ctx
  7232  	return c
  7233  }
  7234  
  7235  // Header returns a http.Header that can be modified by the caller to add
  7236  // headers to the request.
  7237  func (c *ProjectsServicesListCall) Header() http.Header {
  7238  	if c.header_ == nil {
  7239  		c.header_ = make(http.Header)
  7240  	}
  7241  	return c.header_
  7242  }
  7243  
  7244  func (c *ProjectsServicesListCall) doRequest(alt string) (*http.Response, error) {
  7245  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7246  	if c.ifNoneMatch_ != "" {
  7247  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7248  	}
  7249  	var body io.Reader = nil
  7250  	c.urlParams_.Set("alt", alt)
  7251  	c.urlParams_.Set("prettyPrint", "false")
  7252  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/services")
  7253  	urls += "?" + c.urlParams_.Encode()
  7254  	req, err := http.NewRequest("GET", urls, body)
  7255  	if err != nil {
  7256  		return nil, err
  7257  	}
  7258  	req.Header = reqHeaders
  7259  	googleapi.Expand(req.URL, map[string]string{
  7260  		"parent": c.parent,
  7261  	})
  7262  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7263  }
  7264  
  7265  // Do executes the "firebaseappcheck.projects.services.list" call.
  7266  // Any non-2xx status code is an error. Response headers are in either
  7267  // *GoogleFirebaseAppcheckV1betaListServicesResponse.ServerResponse.Header or
  7268  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  7269  // googleapi.IsNotModified to check whether the returned error was because
  7270  // http.StatusNotModified was returned.
  7271  func (c *ProjectsServicesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaListServicesResponse, error) {
  7272  	gensupport.SetOptions(c.urlParams_, opts...)
  7273  	res, err := c.doRequest("json")
  7274  	if res != nil && res.StatusCode == http.StatusNotModified {
  7275  		if res.Body != nil {
  7276  			res.Body.Close()
  7277  		}
  7278  		return nil, gensupport.WrapError(&googleapi.Error{
  7279  			Code:   res.StatusCode,
  7280  			Header: res.Header,
  7281  		})
  7282  	}
  7283  	if err != nil {
  7284  		return nil, err
  7285  	}
  7286  	defer googleapi.CloseBody(res)
  7287  	if err := googleapi.CheckResponse(res); err != nil {
  7288  		return nil, gensupport.WrapError(err)
  7289  	}
  7290  	ret := &GoogleFirebaseAppcheckV1betaListServicesResponse{
  7291  		ServerResponse: googleapi.ServerResponse{
  7292  			Header:         res.Header,
  7293  			HTTPStatusCode: res.StatusCode,
  7294  		},
  7295  	}
  7296  	target := &ret
  7297  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7298  		return nil, err
  7299  	}
  7300  	return ret, nil
  7301  }
  7302  
  7303  // Pages invokes f for each page of results.
  7304  // A non-nil error returned from f will halt the iteration.
  7305  // The provided context supersedes any context provided to the Context method.
  7306  func (c *ProjectsServicesListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1betaListServicesResponse) error) error {
  7307  	c.ctx_ = ctx
  7308  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7309  	for {
  7310  		x, err := c.Do()
  7311  		if err != nil {
  7312  			return err
  7313  		}
  7314  		if err := f(x); err != nil {
  7315  			return err
  7316  		}
  7317  		if x.NextPageToken == "" {
  7318  			return nil
  7319  		}
  7320  		c.PageToken(x.NextPageToken)
  7321  	}
  7322  }
  7323  
  7324  type ProjectsServicesPatchCall struct {
  7325  	s                                   *Service
  7326  	name                                string
  7327  	googlefirebaseappcheckv1betaservice *GoogleFirebaseAppcheckV1betaService
  7328  	urlParams_                          gensupport.URLParams
  7329  	ctx_                                context.Context
  7330  	header_                             http.Header
  7331  }
  7332  
  7333  // Patch: Updates the specified Service configuration.
  7334  //
  7335  //   - name: The relative resource name of the service configuration object, in
  7336  //     the format: ``` projects/{project_number}/services/{service_id} ``` Note
  7337  //     that the `service_id` element must be a supported service ID. Currently,
  7338  //     the following service IDs are supported: *
  7339  //     `firebasestorage.googleapis.com` (Cloud Storage for Firebase) *
  7340  //     `firebasedatabase.googleapis.com` (Firebase Realtime Database) *
  7341  //     `firestore.googleapis.com` (Cloud Firestore) *
  7342  //     `identitytoolkit.googleapis.com` (Firebase Authentication with Identity
  7343  //     Platform).
  7344  func (r *ProjectsServicesService) Patch(name string, googlefirebaseappcheckv1betaservice *GoogleFirebaseAppcheckV1betaService) *ProjectsServicesPatchCall {
  7345  	c := &ProjectsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7346  	c.name = name
  7347  	c.googlefirebaseappcheckv1betaservice = googlefirebaseappcheckv1betaservice
  7348  	return c
  7349  }
  7350  
  7351  // UpdateMask sets the optional parameter "updateMask": Required. A
  7352  // comma-separated list of names of fields in the Service to update. Example:
  7353  // `enforcement_mode`.
  7354  func (c *ProjectsServicesPatchCall) UpdateMask(updateMask string) *ProjectsServicesPatchCall {
  7355  	c.urlParams_.Set("updateMask", updateMask)
  7356  	return c
  7357  }
  7358  
  7359  // Fields allows partial responses to be retrieved. See
  7360  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7361  // details.
  7362  func (c *ProjectsServicesPatchCall) Fields(s ...googleapi.Field) *ProjectsServicesPatchCall {
  7363  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7364  	return c
  7365  }
  7366  
  7367  // Context sets the context to be used in this call's Do method.
  7368  func (c *ProjectsServicesPatchCall) Context(ctx context.Context) *ProjectsServicesPatchCall {
  7369  	c.ctx_ = ctx
  7370  	return c
  7371  }
  7372  
  7373  // Header returns a http.Header that can be modified by the caller to add
  7374  // headers to the request.
  7375  func (c *ProjectsServicesPatchCall) Header() http.Header {
  7376  	if c.header_ == nil {
  7377  		c.header_ = make(http.Header)
  7378  	}
  7379  	return c.header_
  7380  }
  7381  
  7382  func (c *ProjectsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
  7383  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7384  	var body io.Reader = nil
  7385  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaservice)
  7386  	if err != nil {
  7387  		return nil, err
  7388  	}
  7389  	c.urlParams_.Set("alt", alt)
  7390  	c.urlParams_.Set("prettyPrint", "false")
  7391  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7392  	urls += "?" + c.urlParams_.Encode()
  7393  	req, err := http.NewRequest("PATCH", urls, body)
  7394  	if err != nil {
  7395  		return nil, err
  7396  	}
  7397  	req.Header = reqHeaders
  7398  	googleapi.Expand(req.URL, map[string]string{
  7399  		"name": c.name,
  7400  	})
  7401  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7402  }
  7403  
  7404  // Do executes the "firebaseappcheck.projects.services.patch" call.
  7405  // Any non-2xx status code is an error. Response headers are in either
  7406  // *GoogleFirebaseAppcheckV1betaService.ServerResponse.Header or (if a response
  7407  // was returned at all) in error.(*googleapi.Error).Header. Use
  7408  // googleapi.IsNotModified to check whether the returned error was because
  7409  // http.StatusNotModified was returned.
  7410  func (c *ProjectsServicesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaService, error) {
  7411  	gensupport.SetOptions(c.urlParams_, opts...)
  7412  	res, err := c.doRequest("json")
  7413  	if res != nil && res.StatusCode == http.StatusNotModified {
  7414  		if res.Body != nil {
  7415  			res.Body.Close()
  7416  		}
  7417  		return nil, gensupport.WrapError(&googleapi.Error{
  7418  			Code:   res.StatusCode,
  7419  			Header: res.Header,
  7420  		})
  7421  	}
  7422  	if err != nil {
  7423  		return nil, err
  7424  	}
  7425  	defer googleapi.CloseBody(res)
  7426  	if err := googleapi.CheckResponse(res); err != nil {
  7427  		return nil, gensupport.WrapError(err)
  7428  	}
  7429  	ret := &GoogleFirebaseAppcheckV1betaService{
  7430  		ServerResponse: googleapi.ServerResponse{
  7431  			Header:         res.Header,
  7432  			HTTPStatusCode: res.StatusCode,
  7433  		},
  7434  	}
  7435  	target := &ret
  7436  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7437  		return nil, err
  7438  	}
  7439  	return ret, nil
  7440  }
  7441  
  7442  type ProjectsServicesResourcePoliciesBatchUpdateCall struct {
  7443  	s                                                              *Service
  7444  	parent                                                         string
  7445  	googlefirebaseappcheckv1betabatchupdateresourcepoliciesrequest *GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest
  7446  	urlParams_                                                     gensupport.URLParams
  7447  	ctx_                                                           context.Context
  7448  	header_                                                        http.Header
  7449  }
  7450  
  7451  // BatchUpdate: Atomically updates the specified ResourcePolicy configurations.
  7452  //
  7453  //   - parent: The parent service name, in the format ```
  7454  //     projects/{project_number}/services/{service_id} ``` The parent collection
  7455  //     in the `name` field of any resource being updated must match this field,
  7456  //     or the entire batch fails.
  7457  func (r *ProjectsServicesResourcePoliciesService) BatchUpdate(parent string, googlefirebaseappcheckv1betabatchupdateresourcepoliciesrequest *GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesRequest) *ProjectsServicesResourcePoliciesBatchUpdateCall {
  7458  	c := &ProjectsServicesResourcePoliciesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7459  	c.parent = parent
  7460  	c.googlefirebaseappcheckv1betabatchupdateresourcepoliciesrequest = googlefirebaseappcheckv1betabatchupdateresourcepoliciesrequest
  7461  	return c
  7462  }
  7463  
  7464  // Fields allows partial responses to be retrieved. See
  7465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7466  // details.
  7467  func (c *ProjectsServicesResourcePoliciesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesBatchUpdateCall {
  7468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7469  	return c
  7470  }
  7471  
  7472  // Context sets the context to be used in this call's Do method.
  7473  func (c *ProjectsServicesResourcePoliciesBatchUpdateCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesBatchUpdateCall {
  7474  	c.ctx_ = ctx
  7475  	return c
  7476  }
  7477  
  7478  // Header returns a http.Header that can be modified by the caller to add
  7479  // headers to the request.
  7480  func (c *ProjectsServicesResourcePoliciesBatchUpdateCall) Header() http.Header {
  7481  	if c.header_ == nil {
  7482  		c.header_ = make(http.Header)
  7483  	}
  7484  	return c.header_
  7485  }
  7486  
  7487  func (c *ProjectsServicesResourcePoliciesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  7488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7489  	var body io.Reader = nil
  7490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betabatchupdateresourcepoliciesrequest)
  7491  	if err != nil {
  7492  		return nil, err
  7493  	}
  7494  	c.urlParams_.Set("alt", alt)
  7495  	c.urlParams_.Set("prettyPrint", "false")
  7496  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/resourcePolicies:batchUpdate")
  7497  	urls += "?" + c.urlParams_.Encode()
  7498  	req, err := http.NewRequest("POST", urls, body)
  7499  	if err != nil {
  7500  		return nil, err
  7501  	}
  7502  	req.Header = reqHeaders
  7503  	googleapi.Expand(req.URL, map[string]string{
  7504  		"parent": c.parent,
  7505  	})
  7506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7507  }
  7508  
  7509  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.batchUpdate" call.
  7510  // Any non-2xx status code is an error. Response headers are in either
  7511  // *GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse.ServerRespon
  7512  // se.Header or (if a response was returned at all) in
  7513  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7514  // whether the returned error was because http.StatusNotModified was returned.
  7515  func (c *ProjectsServicesResourcePoliciesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse, error) {
  7516  	gensupport.SetOptions(c.urlParams_, opts...)
  7517  	res, err := c.doRequest("json")
  7518  	if res != nil && res.StatusCode == http.StatusNotModified {
  7519  		if res.Body != nil {
  7520  			res.Body.Close()
  7521  		}
  7522  		return nil, gensupport.WrapError(&googleapi.Error{
  7523  			Code:   res.StatusCode,
  7524  			Header: res.Header,
  7525  		})
  7526  	}
  7527  	if err != nil {
  7528  		return nil, err
  7529  	}
  7530  	defer googleapi.CloseBody(res)
  7531  	if err := googleapi.CheckResponse(res); err != nil {
  7532  		return nil, gensupport.WrapError(err)
  7533  	}
  7534  	ret := &GoogleFirebaseAppcheckV1betaBatchUpdateResourcePoliciesResponse{
  7535  		ServerResponse: googleapi.ServerResponse{
  7536  			Header:         res.Header,
  7537  			HTTPStatusCode: res.StatusCode,
  7538  		},
  7539  	}
  7540  	target := &ret
  7541  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7542  		return nil, err
  7543  	}
  7544  	return ret, nil
  7545  }
  7546  
  7547  type ProjectsServicesResourcePoliciesCreateCall struct {
  7548  	s                                          *Service
  7549  	parent                                     string
  7550  	googlefirebaseappcheckv1betaresourcepolicy *GoogleFirebaseAppcheckV1betaResourcePolicy
  7551  	urlParams_                                 gensupport.URLParams
  7552  	ctx_                                       context.Context
  7553  	header_                                    http.Header
  7554  }
  7555  
  7556  // Create: Creates the specified ResourcePolicy configuration.
  7557  //
  7558  //   - parent: The relative resource name of the parent Service in which the
  7559  //     specified ResourcePolicy will be created, in the format: ```
  7560  //     projects/{project_number}/services/{service_id} ``` Note that the
  7561  //     `service_id` element must be a supported service ID. Currently, the
  7562  //     following service IDs are supported: * `oauth2.googleapis.com` (Google
  7563  //     Identity for iOS).
  7564  func (r *ProjectsServicesResourcePoliciesService) Create(parent string, googlefirebaseappcheckv1betaresourcepolicy *GoogleFirebaseAppcheckV1betaResourcePolicy) *ProjectsServicesResourcePoliciesCreateCall {
  7565  	c := &ProjectsServicesResourcePoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7566  	c.parent = parent
  7567  	c.googlefirebaseappcheckv1betaresourcepolicy = googlefirebaseappcheckv1betaresourcepolicy
  7568  	return c
  7569  }
  7570  
  7571  // Fields allows partial responses to be retrieved. See
  7572  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7573  // details.
  7574  func (c *ProjectsServicesResourcePoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesCreateCall {
  7575  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7576  	return c
  7577  }
  7578  
  7579  // Context sets the context to be used in this call's Do method.
  7580  func (c *ProjectsServicesResourcePoliciesCreateCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesCreateCall {
  7581  	c.ctx_ = ctx
  7582  	return c
  7583  }
  7584  
  7585  // Header returns a http.Header that can be modified by the caller to add
  7586  // headers to the request.
  7587  func (c *ProjectsServicesResourcePoliciesCreateCall) Header() http.Header {
  7588  	if c.header_ == nil {
  7589  		c.header_ = make(http.Header)
  7590  	}
  7591  	return c.header_
  7592  }
  7593  
  7594  func (c *ProjectsServicesResourcePoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
  7595  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7596  	var body io.Reader = nil
  7597  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaresourcepolicy)
  7598  	if err != nil {
  7599  		return nil, err
  7600  	}
  7601  	c.urlParams_.Set("alt", alt)
  7602  	c.urlParams_.Set("prettyPrint", "false")
  7603  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/resourcePolicies")
  7604  	urls += "?" + c.urlParams_.Encode()
  7605  	req, err := http.NewRequest("POST", urls, body)
  7606  	if err != nil {
  7607  		return nil, err
  7608  	}
  7609  	req.Header = reqHeaders
  7610  	googleapi.Expand(req.URL, map[string]string{
  7611  		"parent": c.parent,
  7612  	})
  7613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7614  }
  7615  
  7616  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.create" call.
  7617  // Any non-2xx status code is an error. Response headers are in either
  7618  // *GoogleFirebaseAppcheckV1betaResourcePolicy.ServerResponse.Header or (if a
  7619  // response was returned at all) in error.(*googleapi.Error).Header. Use
  7620  // googleapi.IsNotModified to check whether the returned error was because
  7621  // http.StatusNotModified was returned.
  7622  func (c *ProjectsServicesResourcePoliciesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaResourcePolicy, error) {
  7623  	gensupport.SetOptions(c.urlParams_, opts...)
  7624  	res, err := c.doRequest("json")
  7625  	if res != nil && res.StatusCode == http.StatusNotModified {
  7626  		if res.Body != nil {
  7627  			res.Body.Close()
  7628  		}
  7629  		return nil, gensupport.WrapError(&googleapi.Error{
  7630  			Code:   res.StatusCode,
  7631  			Header: res.Header,
  7632  		})
  7633  	}
  7634  	if err != nil {
  7635  		return nil, err
  7636  	}
  7637  	defer googleapi.CloseBody(res)
  7638  	if err := googleapi.CheckResponse(res); err != nil {
  7639  		return nil, gensupport.WrapError(err)
  7640  	}
  7641  	ret := &GoogleFirebaseAppcheckV1betaResourcePolicy{
  7642  		ServerResponse: googleapi.ServerResponse{
  7643  			Header:         res.Header,
  7644  			HTTPStatusCode: res.StatusCode,
  7645  		},
  7646  	}
  7647  	target := &ret
  7648  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7649  		return nil, err
  7650  	}
  7651  	return ret, nil
  7652  }
  7653  
  7654  type ProjectsServicesResourcePoliciesDeleteCall struct {
  7655  	s          *Service
  7656  	name       string
  7657  	urlParams_ gensupport.URLParams
  7658  	ctx_       context.Context
  7659  	header_    http.Header
  7660  }
  7661  
  7662  // Delete: Deletes the specified ResourcePolicy configuration.
  7663  //
  7664  //   - name: The relative resource name of the ResourcePolicy to delete, in the
  7665  //     format: ```
  7666  //     projects/{project_number}/services/{service_id}/resourcePolicies/{resource_
  7667  //     policy_id} ```.
  7668  func (r *ProjectsServicesResourcePoliciesService) Delete(name string) *ProjectsServicesResourcePoliciesDeleteCall {
  7669  	c := &ProjectsServicesResourcePoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7670  	c.name = name
  7671  	return c
  7672  }
  7673  
  7674  // Etag sets the optional parameter "etag": The checksum to be validated
  7675  // against the current ResourcePolicy, to ensure the client has an up-to-date
  7676  // value before proceeding. This checksum is computed by the server based on
  7677  // the values of fields in the ResourcePolicy object, and can be obtained from
  7678  // the ResourcePolicy object received from the last CreateResourcePolicy,
  7679  // GetResourcePolicy, ListResourcePolicies, UpdateResourcePolicy, or
  7680  // BatchUpdateResourcePolicies call. This etag is strongly validated as defined
  7681  // by RFC 7232.
  7682  func (c *ProjectsServicesResourcePoliciesDeleteCall) Etag(etag string) *ProjectsServicesResourcePoliciesDeleteCall {
  7683  	c.urlParams_.Set("etag", etag)
  7684  	return c
  7685  }
  7686  
  7687  // Fields allows partial responses to be retrieved. See
  7688  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7689  // details.
  7690  func (c *ProjectsServicesResourcePoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesDeleteCall {
  7691  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7692  	return c
  7693  }
  7694  
  7695  // Context sets the context to be used in this call's Do method.
  7696  func (c *ProjectsServicesResourcePoliciesDeleteCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesDeleteCall {
  7697  	c.ctx_ = ctx
  7698  	return c
  7699  }
  7700  
  7701  // Header returns a http.Header that can be modified by the caller to add
  7702  // headers to the request.
  7703  func (c *ProjectsServicesResourcePoliciesDeleteCall) Header() http.Header {
  7704  	if c.header_ == nil {
  7705  		c.header_ = make(http.Header)
  7706  	}
  7707  	return c.header_
  7708  }
  7709  
  7710  func (c *ProjectsServicesResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
  7711  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7712  	var body io.Reader = nil
  7713  	c.urlParams_.Set("alt", alt)
  7714  	c.urlParams_.Set("prettyPrint", "false")
  7715  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7716  	urls += "?" + c.urlParams_.Encode()
  7717  	req, err := http.NewRequest("DELETE", urls, body)
  7718  	if err != nil {
  7719  		return nil, err
  7720  	}
  7721  	req.Header = reqHeaders
  7722  	googleapi.Expand(req.URL, map[string]string{
  7723  		"name": c.name,
  7724  	})
  7725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7726  }
  7727  
  7728  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.delete" call.
  7729  // Any non-2xx status code is an error. Response headers are in either
  7730  // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
  7731  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7732  // check whether the returned error was because http.StatusNotModified was
  7733  // returned.
  7734  func (c *ProjectsServicesResourcePoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
  7735  	gensupport.SetOptions(c.urlParams_, opts...)
  7736  	res, err := c.doRequest("json")
  7737  	if res != nil && res.StatusCode == http.StatusNotModified {
  7738  		if res.Body != nil {
  7739  			res.Body.Close()
  7740  		}
  7741  		return nil, gensupport.WrapError(&googleapi.Error{
  7742  			Code:   res.StatusCode,
  7743  			Header: res.Header,
  7744  		})
  7745  	}
  7746  	if err != nil {
  7747  		return nil, err
  7748  	}
  7749  	defer googleapi.CloseBody(res)
  7750  	if err := googleapi.CheckResponse(res); err != nil {
  7751  		return nil, gensupport.WrapError(err)
  7752  	}
  7753  	ret := &GoogleProtobufEmpty{
  7754  		ServerResponse: googleapi.ServerResponse{
  7755  			Header:         res.Header,
  7756  			HTTPStatusCode: res.StatusCode,
  7757  		},
  7758  	}
  7759  	target := &ret
  7760  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7761  		return nil, err
  7762  	}
  7763  	return ret, nil
  7764  }
  7765  
  7766  type ProjectsServicesResourcePoliciesGetCall struct {
  7767  	s            *Service
  7768  	name         string
  7769  	urlParams_   gensupport.URLParams
  7770  	ifNoneMatch_ string
  7771  	ctx_         context.Context
  7772  	header_      http.Header
  7773  }
  7774  
  7775  // Get: Gets the requested ResourcePolicy configuration.
  7776  //
  7777  //   - name: The relative resource name of the ResourcePolicy to retrieve, in the
  7778  //     format: ```
  7779  //     projects/{project_number}/services/{service_id}/resourcePolicies/{resource_
  7780  //     policy_id} ``` Note that the `service_id` element must be a supported
  7781  //     service ID. Currently, the following service IDs are supported: *
  7782  //     `oauth2.googleapis.com` (Google Identity for iOS).
  7783  func (r *ProjectsServicesResourcePoliciesService) Get(name string) *ProjectsServicesResourcePoliciesGetCall {
  7784  	c := &ProjectsServicesResourcePoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7785  	c.name = name
  7786  	return c
  7787  }
  7788  
  7789  // Fields allows partial responses to be retrieved. See
  7790  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7791  // details.
  7792  func (c *ProjectsServicesResourcePoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesGetCall {
  7793  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7794  	return c
  7795  }
  7796  
  7797  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7798  // object's ETag matches the given value. This is useful for getting updates
  7799  // only after the object has changed since the last request.
  7800  func (c *ProjectsServicesResourcePoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsServicesResourcePoliciesGetCall {
  7801  	c.ifNoneMatch_ = entityTag
  7802  	return c
  7803  }
  7804  
  7805  // Context sets the context to be used in this call's Do method.
  7806  func (c *ProjectsServicesResourcePoliciesGetCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesGetCall {
  7807  	c.ctx_ = ctx
  7808  	return c
  7809  }
  7810  
  7811  // Header returns a http.Header that can be modified by the caller to add
  7812  // headers to the request.
  7813  func (c *ProjectsServicesResourcePoliciesGetCall) Header() http.Header {
  7814  	if c.header_ == nil {
  7815  		c.header_ = make(http.Header)
  7816  	}
  7817  	return c.header_
  7818  }
  7819  
  7820  func (c *ProjectsServicesResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
  7821  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7822  	if c.ifNoneMatch_ != "" {
  7823  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7824  	}
  7825  	var body io.Reader = nil
  7826  	c.urlParams_.Set("alt", alt)
  7827  	c.urlParams_.Set("prettyPrint", "false")
  7828  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7829  	urls += "?" + c.urlParams_.Encode()
  7830  	req, err := http.NewRequest("GET", urls, body)
  7831  	if err != nil {
  7832  		return nil, err
  7833  	}
  7834  	req.Header = reqHeaders
  7835  	googleapi.Expand(req.URL, map[string]string{
  7836  		"name": c.name,
  7837  	})
  7838  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7839  }
  7840  
  7841  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.get" call.
  7842  // Any non-2xx status code is an error. Response headers are in either
  7843  // *GoogleFirebaseAppcheckV1betaResourcePolicy.ServerResponse.Header or (if a
  7844  // response was returned at all) in error.(*googleapi.Error).Header. Use
  7845  // googleapi.IsNotModified to check whether the returned error was because
  7846  // http.StatusNotModified was returned.
  7847  func (c *ProjectsServicesResourcePoliciesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaResourcePolicy, error) {
  7848  	gensupport.SetOptions(c.urlParams_, opts...)
  7849  	res, err := c.doRequest("json")
  7850  	if res != nil && res.StatusCode == http.StatusNotModified {
  7851  		if res.Body != nil {
  7852  			res.Body.Close()
  7853  		}
  7854  		return nil, gensupport.WrapError(&googleapi.Error{
  7855  			Code:   res.StatusCode,
  7856  			Header: res.Header,
  7857  		})
  7858  	}
  7859  	if err != nil {
  7860  		return nil, err
  7861  	}
  7862  	defer googleapi.CloseBody(res)
  7863  	if err := googleapi.CheckResponse(res); err != nil {
  7864  		return nil, gensupport.WrapError(err)
  7865  	}
  7866  	ret := &GoogleFirebaseAppcheckV1betaResourcePolicy{
  7867  		ServerResponse: googleapi.ServerResponse{
  7868  			Header:         res.Header,
  7869  			HTTPStatusCode: res.StatusCode,
  7870  		},
  7871  	}
  7872  	target := &ret
  7873  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7874  		return nil, err
  7875  	}
  7876  	return ret, nil
  7877  }
  7878  
  7879  type ProjectsServicesResourcePoliciesListCall struct {
  7880  	s            *Service
  7881  	parent       string
  7882  	urlParams_   gensupport.URLParams
  7883  	ifNoneMatch_ string
  7884  	ctx_         context.Context
  7885  	header_      http.Header
  7886  }
  7887  
  7888  // List: Lists all ResourcePolicy configurations for the specified project and
  7889  // service.
  7890  //
  7891  //   - parent: The relative resource name of the parent Service for which to list
  7892  //     each associated ResourcePolicy, in the format: ```
  7893  //     projects/{project_number}/services/{service_id} ``` Note that the
  7894  //     `service_id` element must be a supported service ID. Currently, the
  7895  //     following service IDs are supported: * `oauth2.googleapis.com` (Google
  7896  //     Identity for iOS).
  7897  func (r *ProjectsServicesResourcePoliciesService) List(parent string) *ProjectsServicesResourcePoliciesListCall {
  7898  	c := &ProjectsServicesResourcePoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7899  	c.parent = parent
  7900  	return c
  7901  }
  7902  
  7903  // Filter sets the optional parameter "filter": Filters the results by the
  7904  // specified rule. For the exact syntax of this field, please consult the
  7905  // AIP-160 (https://google.aip.dev/160) standard. Currently, since the only
  7906  // fields in the ResourcePolicy resource are the scalar fields
  7907  // `enforcement_mode` and `target_resource`, this method does not support the
  7908  // traversal operator (`.`) or the has operator (`:`). Here are some examples
  7909  // of valid filters: * `enforcement_mode = ENFORCED` * `target_resource =
  7910  // "//oauth2.googleapis.com/projects/12345/oauthClients/" * `enforcement_mode
  7911  // = ENFORCED AND target_resource =
  7912  // "//oauth2.googleapis.com/projects/12345/oauthClients/"
  7913  func (c *ProjectsServicesResourcePoliciesListCall) Filter(filter string) *ProjectsServicesResourcePoliciesListCall {
  7914  	c.urlParams_.Set("filter", filter)
  7915  	return c
  7916  }
  7917  
  7918  // PageSize sets the optional parameter "pageSize": The maximum number of
  7919  // ResourcePolicy objects to return in the response. The server may return
  7920  // fewer than this at its own discretion. If no value is specified (or too
  7921  // large a value is specified), the server will impose its own limit.
  7922  func (c *ProjectsServicesResourcePoliciesListCall) PageSize(pageSize int64) *ProjectsServicesResourcePoliciesListCall {
  7923  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7924  	return c
  7925  }
  7926  
  7927  // PageToken sets the optional parameter "pageToken": Token returned from a
  7928  // previous call to ListResourcePolicies indicating where in the set of
  7929  // ResourcePolicy objects to resume listing. Provide this to retrieve the
  7930  // subsequent page. When paginating, all other parameters provided to
  7931  // ListResourcePolicies must match the call that provided the page token; if
  7932  // they do not match, the result is undefined.
  7933  func (c *ProjectsServicesResourcePoliciesListCall) PageToken(pageToken string) *ProjectsServicesResourcePoliciesListCall {
  7934  	c.urlParams_.Set("pageToken", pageToken)
  7935  	return c
  7936  }
  7937  
  7938  // Fields allows partial responses to be retrieved. See
  7939  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7940  // details.
  7941  func (c *ProjectsServicesResourcePoliciesListCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesListCall {
  7942  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7943  	return c
  7944  }
  7945  
  7946  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7947  // object's ETag matches the given value. This is useful for getting updates
  7948  // only after the object has changed since the last request.
  7949  func (c *ProjectsServicesResourcePoliciesListCall) IfNoneMatch(entityTag string) *ProjectsServicesResourcePoliciesListCall {
  7950  	c.ifNoneMatch_ = entityTag
  7951  	return c
  7952  }
  7953  
  7954  // Context sets the context to be used in this call's Do method.
  7955  func (c *ProjectsServicesResourcePoliciesListCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesListCall {
  7956  	c.ctx_ = ctx
  7957  	return c
  7958  }
  7959  
  7960  // Header returns a http.Header that can be modified by the caller to add
  7961  // headers to the request.
  7962  func (c *ProjectsServicesResourcePoliciesListCall) Header() http.Header {
  7963  	if c.header_ == nil {
  7964  		c.header_ = make(http.Header)
  7965  	}
  7966  	return c.header_
  7967  }
  7968  
  7969  func (c *ProjectsServicesResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
  7970  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7971  	if c.ifNoneMatch_ != "" {
  7972  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7973  	}
  7974  	var body io.Reader = nil
  7975  	c.urlParams_.Set("alt", alt)
  7976  	c.urlParams_.Set("prettyPrint", "false")
  7977  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/resourcePolicies")
  7978  	urls += "?" + c.urlParams_.Encode()
  7979  	req, err := http.NewRequest("GET", urls, body)
  7980  	if err != nil {
  7981  		return nil, err
  7982  	}
  7983  	req.Header = reqHeaders
  7984  	googleapi.Expand(req.URL, map[string]string{
  7985  		"parent": c.parent,
  7986  	})
  7987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7988  }
  7989  
  7990  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.list" call.
  7991  // Any non-2xx status code is an error. Response headers are in either
  7992  // *GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse.ServerResponse.Head
  7993  // er or (if a response was returned at all) in
  7994  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7995  // whether the returned error was because http.StatusNotModified was returned.
  7996  func (c *ProjectsServicesResourcePoliciesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse, error) {
  7997  	gensupport.SetOptions(c.urlParams_, opts...)
  7998  	res, err := c.doRequest("json")
  7999  	if res != nil && res.StatusCode == http.StatusNotModified {
  8000  		if res.Body != nil {
  8001  			res.Body.Close()
  8002  		}
  8003  		return nil, gensupport.WrapError(&googleapi.Error{
  8004  			Code:   res.StatusCode,
  8005  			Header: res.Header,
  8006  		})
  8007  	}
  8008  	if err != nil {
  8009  		return nil, err
  8010  	}
  8011  	defer googleapi.CloseBody(res)
  8012  	if err := googleapi.CheckResponse(res); err != nil {
  8013  		return nil, gensupport.WrapError(err)
  8014  	}
  8015  	ret := &GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse{
  8016  		ServerResponse: googleapi.ServerResponse{
  8017  			Header:         res.Header,
  8018  			HTTPStatusCode: res.StatusCode,
  8019  		},
  8020  	}
  8021  	target := &ret
  8022  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8023  		return nil, err
  8024  	}
  8025  	return ret, nil
  8026  }
  8027  
  8028  // Pages invokes f for each page of results.
  8029  // A non-nil error returned from f will halt the iteration.
  8030  // The provided context supersedes any context provided to the Context method.
  8031  func (c *ProjectsServicesResourcePoliciesListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1betaListResourcePoliciesResponse) error) error {
  8032  	c.ctx_ = ctx
  8033  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8034  	for {
  8035  		x, err := c.Do()
  8036  		if err != nil {
  8037  			return err
  8038  		}
  8039  		if err := f(x); err != nil {
  8040  			return err
  8041  		}
  8042  		if x.NextPageToken == "" {
  8043  			return nil
  8044  		}
  8045  		c.PageToken(x.NextPageToken)
  8046  	}
  8047  }
  8048  
  8049  type ProjectsServicesResourcePoliciesPatchCall struct {
  8050  	s                                          *Service
  8051  	name                                       string
  8052  	googlefirebaseappcheckv1betaresourcepolicy *GoogleFirebaseAppcheckV1betaResourcePolicy
  8053  	urlParams_                                 gensupport.URLParams
  8054  	ctx_                                       context.Context
  8055  	header_                                    http.Header
  8056  }
  8057  
  8058  // Patch: Updates the specified ResourcePolicy configuration.
  8059  //
  8060  //   - name: The relative name of the resource policy object, in the format: ```
  8061  //     projects/{project_number}/services/{service_id}/resourcePolicies/{resource_
  8062  //     policy_id} ``` Note that the `service_id` element must be a supported
  8063  //     service ID. Currently, the following service IDs are supported: *
  8064  //     `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is
  8065  //     a system-generated UID.
  8066  func (r *ProjectsServicesResourcePoliciesService) Patch(name string, googlefirebaseappcheckv1betaresourcepolicy *GoogleFirebaseAppcheckV1betaResourcePolicy) *ProjectsServicesResourcePoliciesPatchCall {
  8067  	c := &ProjectsServicesResourcePoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8068  	c.name = name
  8069  	c.googlefirebaseappcheckv1betaresourcepolicy = googlefirebaseappcheckv1betaresourcepolicy
  8070  	return c
  8071  }
  8072  
  8073  // UpdateMask sets the optional parameter "updateMask": Required. A
  8074  // comma-separated list of names of fields in the ResourcePolicy to update.
  8075  // Example: `enforcement_mode`.
  8076  func (c *ProjectsServicesResourcePoliciesPatchCall) UpdateMask(updateMask string) *ProjectsServicesResourcePoliciesPatchCall {
  8077  	c.urlParams_.Set("updateMask", updateMask)
  8078  	return c
  8079  }
  8080  
  8081  // Fields allows partial responses to be retrieved. See
  8082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8083  // details.
  8084  func (c *ProjectsServicesResourcePoliciesPatchCall) Fields(s ...googleapi.Field) *ProjectsServicesResourcePoliciesPatchCall {
  8085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8086  	return c
  8087  }
  8088  
  8089  // Context sets the context to be used in this call's Do method.
  8090  func (c *ProjectsServicesResourcePoliciesPatchCall) Context(ctx context.Context) *ProjectsServicesResourcePoliciesPatchCall {
  8091  	c.ctx_ = ctx
  8092  	return c
  8093  }
  8094  
  8095  // Header returns a http.Header that can be modified by the caller to add
  8096  // headers to the request.
  8097  func (c *ProjectsServicesResourcePoliciesPatchCall) Header() http.Header {
  8098  	if c.header_ == nil {
  8099  		c.header_ = make(http.Header)
  8100  	}
  8101  	return c.header_
  8102  }
  8103  
  8104  func (c *ProjectsServicesResourcePoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
  8105  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8106  	var body io.Reader = nil
  8107  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaresourcepolicy)
  8108  	if err != nil {
  8109  		return nil, err
  8110  	}
  8111  	c.urlParams_.Set("alt", alt)
  8112  	c.urlParams_.Set("prettyPrint", "false")
  8113  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  8114  	urls += "?" + c.urlParams_.Encode()
  8115  	req, err := http.NewRequest("PATCH", urls, body)
  8116  	if err != nil {
  8117  		return nil, err
  8118  	}
  8119  	req.Header = reqHeaders
  8120  	googleapi.Expand(req.URL, map[string]string{
  8121  		"name": c.name,
  8122  	})
  8123  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8124  }
  8125  
  8126  // Do executes the "firebaseappcheck.projects.services.resourcePolicies.patch" call.
  8127  // Any non-2xx status code is an error. Response headers are in either
  8128  // *GoogleFirebaseAppcheckV1betaResourcePolicy.ServerResponse.Header or (if a
  8129  // response was returned at all) in error.(*googleapi.Error).Header. Use
  8130  // googleapi.IsNotModified to check whether the returned error was because
  8131  // http.StatusNotModified was returned.
  8132  func (c *ProjectsServicesResourcePoliciesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaResourcePolicy, error) {
  8133  	gensupport.SetOptions(c.urlParams_, opts...)
  8134  	res, err := c.doRequest("json")
  8135  	if res != nil && res.StatusCode == http.StatusNotModified {
  8136  		if res.Body != nil {
  8137  			res.Body.Close()
  8138  		}
  8139  		return nil, gensupport.WrapError(&googleapi.Error{
  8140  			Code:   res.StatusCode,
  8141  			Header: res.Header,
  8142  		})
  8143  	}
  8144  	if err != nil {
  8145  		return nil, err
  8146  	}
  8147  	defer googleapi.CloseBody(res)
  8148  	if err := googleapi.CheckResponse(res); err != nil {
  8149  		return nil, gensupport.WrapError(err)
  8150  	}
  8151  	ret := &GoogleFirebaseAppcheckV1betaResourcePolicy{
  8152  		ServerResponse: googleapi.ServerResponse{
  8153  			Header:         res.Header,
  8154  			HTTPStatusCode: res.StatusCode,
  8155  		},
  8156  	}
  8157  	target := &ret
  8158  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8159  		return nil, err
  8160  	}
  8161  	return ret, nil
  8162  }
  8163  

View as plain text