...

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

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

     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/v1"
    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/v1"
    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:v1"
    95  const apiName = "firebaseappcheck"
    96  const apiVersion = "v1"
    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.Projects = NewProjectsService(s)
   149  	return s, nil
   150  }
   151  
   152  type Service struct {
   153  	client    *http.Client
   154  	BasePath  string // API endpoint base URL
   155  	UserAgent string // optional additional User-Agent fragment
   156  
   157  	Jwks *JwksService
   158  
   159  	Projects *ProjectsService
   160  }
   161  
   162  func (s *Service) userAgent() string {
   163  	if s.UserAgent == "" {
   164  		return googleapi.UserAgent
   165  	}
   166  	return googleapi.UserAgent + " " + s.UserAgent
   167  }
   168  
   169  func NewJwksService(s *Service) *JwksService {
   170  	rs := &JwksService{s: s}
   171  	return rs
   172  }
   173  
   174  type JwksService struct {
   175  	s *Service
   176  }
   177  
   178  func NewProjectsService(s *Service) *ProjectsService {
   179  	rs := &ProjectsService{s: s}
   180  	rs.Apps = NewProjectsAppsService(s)
   181  	rs.Services = NewProjectsServicesService(s)
   182  	return rs
   183  }
   184  
   185  type ProjectsService struct {
   186  	s *Service
   187  
   188  	Apps *ProjectsAppsService
   189  
   190  	Services *ProjectsServicesService
   191  }
   192  
   193  func NewProjectsAppsService(s *Service) *ProjectsAppsService {
   194  	rs := &ProjectsAppsService{s: s}
   195  	rs.AppAttestConfig = NewProjectsAppsAppAttestConfigService(s)
   196  	rs.DebugTokens = NewProjectsAppsDebugTokensService(s)
   197  	rs.DeviceCheckConfig = NewProjectsAppsDeviceCheckConfigService(s)
   198  	rs.PlayIntegrityConfig = NewProjectsAppsPlayIntegrityConfigService(s)
   199  	rs.RecaptchaEnterpriseConfig = NewProjectsAppsRecaptchaEnterpriseConfigService(s)
   200  	rs.RecaptchaV3Config = NewProjectsAppsRecaptchaV3ConfigService(s)
   201  	rs.SafetyNetConfig = NewProjectsAppsSafetyNetConfigService(s)
   202  	return rs
   203  }
   204  
   205  type ProjectsAppsService struct {
   206  	s *Service
   207  
   208  	AppAttestConfig *ProjectsAppsAppAttestConfigService
   209  
   210  	DebugTokens *ProjectsAppsDebugTokensService
   211  
   212  	DeviceCheckConfig *ProjectsAppsDeviceCheckConfigService
   213  
   214  	PlayIntegrityConfig *ProjectsAppsPlayIntegrityConfigService
   215  
   216  	RecaptchaEnterpriseConfig *ProjectsAppsRecaptchaEnterpriseConfigService
   217  
   218  	RecaptchaV3Config *ProjectsAppsRecaptchaV3ConfigService
   219  
   220  	SafetyNetConfig *ProjectsAppsSafetyNetConfigService
   221  }
   222  
   223  func NewProjectsAppsAppAttestConfigService(s *Service) *ProjectsAppsAppAttestConfigService {
   224  	rs := &ProjectsAppsAppAttestConfigService{s: s}
   225  	return rs
   226  }
   227  
   228  type ProjectsAppsAppAttestConfigService struct {
   229  	s *Service
   230  }
   231  
   232  func NewProjectsAppsDebugTokensService(s *Service) *ProjectsAppsDebugTokensService {
   233  	rs := &ProjectsAppsDebugTokensService{s: s}
   234  	return rs
   235  }
   236  
   237  type ProjectsAppsDebugTokensService struct {
   238  	s *Service
   239  }
   240  
   241  func NewProjectsAppsDeviceCheckConfigService(s *Service) *ProjectsAppsDeviceCheckConfigService {
   242  	rs := &ProjectsAppsDeviceCheckConfigService{s: s}
   243  	return rs
   244  }
   245  
   246  type ProjectsAppsDeviceCheckConfigService struct {
   247  	s *Service
   248  }
   249  
   250  func NewProjectsAppsPlayIntegrityConfigService(s *Service) *ProjectsAppsPlayIntegrityConfigService {
   251  	rs := &ProjectsAppsPlayIntegrityConfigService{s: s}
   252  	return rs
   253  }
   254  
   255  type ProjectsAppsPlayIntegrityConfigService struct {
   256  	s *Service
   257  }
   258  
   259  func NewProjectsAppsRecaptchaEnterpriseConfigService(s *Service) *ProjectsAppsRecaptchaEnterpriseConfigService {
   260  	rs := &ProjectsAppsRecaptchaEnterpriseConfigService{s: s}
   261  	return rs
   262  }
   263  
   264  type ProjectsAppsRecaptchaEnterpriseConfigService struct {
   265  	s *Service
   266  }
   267  
   268  func NewProjectsAppsRecaptchaV3ConfigService(s *Service) *ProjectsAppsRecaptchaV3ConfigService {
   269  	rs := &ProjectsAppsRecaptchaV3ConfigService{s: s}
   270  	return rs
   271  }
   272  
   273  type ProjectsAppsRecaptchaV3ConfigService struct {
   274  	s *Service
   275  }
   276  
   277  func NewProjectsAppsSafetyNetConfigService(s *Service) *ProjectsAppsSafetyNetConfigService {
   278  	rs := &ProjectsAppsSafetyNetConfigService{s: s}
   279  	return rs
   280  }
   281  
   282  type ProjectsAppsSafetyNetConfigService struct {
   283  	s *Service
   284  }
   285  
   286  func NewProjectsServicesService(s *Service) *ProjectsServicesService {
   287  	rs := &ProjectsServicesService{s: s}
   288  	return rs
   289  }
   290  
   291  type ProjectsServicesService struct {
   292  	s *Service
   293  }
   294  
   295  // GoogleFirebaseAppcheckV1AppAttestConfig: An app's App Attest configuration
   296  // object. This configuration controls certain properties of the
   297  // `AppCheckToken` returned by ExchangeAppAttestAttestation and
   298  // ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID
   299  // registered with your app is used as part of the validation process. Please
   300  // register it via the Firebase Console or programmatically via the Firebase
   301  // Management Service
   302  // (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).
   303  type GoogleFirebaseAppcheckV1AppAttestConfig struct {
   304  	// Name: Required. The relative resource name of the App Attest configuration
   305  	// object, in the format: ```
   306  	// projects/{project_number}/apps/{app_id}/appAttestConfig ```
   307  	Name string `json:"name,omitempty"`
   308  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
   309  	// App Attest artifacts will be valid. If unset, a default value of 1 hour is
   310  	// assumed. Must be between 30 minutes and 7 days, inclusive.
   311  	TokenTtl string `json:"tokenTtl,omitempty"`
   312  
   313  	// ServerResponse contains the HTTP response code and headers from the server.
   314  	googleapi.ServerResponse `json:"-"`
   315  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   316  	// include in API requests. By default, fields with empty or default values are
   317  	// omitted from API requests. See
   318  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   319  	// details.
   320  	ForceSendFields []string `json:"-"`
   321  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   322  	// with the JSON null value. By default, fields with empty values are omitted
   323  	// from API requests. See
   324  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   325  	NullFields []string `json:"-"`
   326  }
   327  
   328  func (s *GoogleFirebaseAppcheckV1AppAttestConfig) MarshalJSON() ([]byte, error) {
   329  	type NoMethod GoogleFirebaseAppcheckV1AppAttestConfig
   330  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   331  }
   332  
   333  // GoogleFirebaseAppcheckV1AppCheckToken: Encapsulates an *App Check token*,
   334  // which are used to access Firebase services protected by App Check.
   335  type GoogleFirebaseAppcheckV1AppCheckToken struct {
   336  	// Token: The App Check token. App Check tokens are signed JWTs
   337  	// (https://tools.ietf.org/html/rfc7519) containing claims that identify the
   338  	// attested app and Firebase project. This token is used to access Firebase
   339  	// services protected by App Check. These tokens can also be verified by your
   340  	// own custom backends
   341  	// (https://firebase.google.com/docs/app-check/custom-resource-backend) using
   342  	// the Firebase Admin SDK.
   343  	Token string `json:"token,omitempty"`
   344  	// Ttl: The duration from the time this token is minted until its expiration.
   345  	// This field is intended to ease client-side token management, since the
   346  	// client may have clock skew, but is still able to accurately measure a
   347  	// duration.
   348  	Ttl string `json:"ttl,omitempty"`
   349  
   350  	// ServerResponse contains the HTTP response code and headers from the server.
   351  	googleapi.ServerResponse `json:"-"`
   352  	// ForceSendFields is a list of field names (e.g. "Token") to unconditionally
   353  	// include in API requests. By default, fields with empty or default values are
   354  	// omitted from API requests. See
   355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   356  	// details.
   357  	ForceSendFields []string `json:"-"`
   358  	// NullFields is a list of field names (e.g. "Token") to include in API
   359  	// requests with the JSON null value. By default, fields with empty values are
   360  	// omitted from API requests. See
   361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   362  	NullFields []string `json:"-"`
   363  }
   364  
   365  func (s *GoogleFirebaseAppcheckV1AppCheckToken) MarshalJSON() ([]byte, error) {
   366  	type NoMethod GoogleFirebaseAppcheckV1AppCheckToken
   367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   368  }
   369  
   370  // GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse: Response message
   371  // for the BatchGetAppAttestConfigs method.
   372  type GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse struct {
   373  	// Configs: AppAttestConfigs retrieved.
   374  	Configs []*GoogleFirebaseAppcheckV1AppAttestConfig `json:"configs,omitempty"`
   375  
   376  	// ServerResponse contains the HTTP response code and headers from the server.
   377  	googleapi.ServerResponse `json:"-"`
   378  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   379  	// include in API requests. By default, fields with empty or default values are
   380  	// omitted from API requests. See
   381  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   382  	// details.
   383  	ForceSendFields []string `json:"-"`
   384  	// NullFields is a list of field names (e.g. "Configs") to include in API
   385  	// requests with the JSON null value. By default, fields with empty values are
   386  	// omitted from API requests. See
   387  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   388  	NullFields []string `json:"-"`
   389  }
   390  
   391  func (s *GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse) MarshalJSON() ([]byte, error) {
   392  	type NoMethod GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse
   393  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   394  }
   395  
   396  // GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse: Response message
   397  // for the BatchGetDeviceCheckConfigs method.
   398  type GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse struct {
   399  	// Configs: DeviceCheckConfigs retrieved.
   400  	Configs []*GoogleFirebaseAppcheckV1DeviceCheckConfig `json:"configs,omitempty"`
   401  
   402  	// ServerResponse contains the HTTP response code and headers from the server.
   403  	googleapi.ServerResponse `json:"-"`
   404  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   405  	// include in API requests. By default, fields with empty or default values are
   406  	// omitted from API requests. See
   407  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   408  	// details.
   409  	ForceSendFields []string `json:"-"`
   410  	// NullFields is a list of field names (e.g. "Configs") to include in API
   411  	// requests with the JSON null value. By default, fields with empty values are
   412  	// omitted from API requests. See
   413  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   414  	NullFields []string `json:"-"`
   415  }
   416  
   417  func (s *GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse) MarshalJSON() ([]byte, error) {
   418  	type NoMethod GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse
   419  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   420  }
   421  
   422  // GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse: Response
   423  // message for the BatchGetPlayIntegrityConfigs method.
   424  type GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse struct {
   425  	// Configs: PlayIntegrityConfigs retrieved.
   426  	Configs []*GoogleFirebaseAppcheckV1PlayIntegrityConfig `json:"configs,omitempty"`
   427  
   428  	// ServerResponse contains the HTTP response code and headers from the server.
   429  	googleapi.ServerResponse `json:"-"`
   430  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   431  	// include in API requests. By default, fields with empty or default values are
   432  	// omitted from API requests. See
   433  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   434  	// details.
   435  	ForceSendFields []string `json:"-"`
   436  	// NullFields is a list of field names (e.g. "Configs") to include in API
   437  	// requests with the JSON null value. By default, fields with empty values are
   438  	// omitted from API requests. See
   439  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   440  	NullFields []string `json:"-"`
   441  }
   442  
   443  func (s *GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse) MarshalJSON() ([]byte, error) {
   444  	type NoMethod GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse
   445  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   446  }
   447  
   448  // GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse: Response
   449  // message for the BatchGetRecaptchaEnterpriseConfigs method.
   450  type GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse struct {
   451  	// Configs: RecaptchaEnterpriseConfigs retrieved.
   452  	Configs []*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig `json:"configs,omitempty"`
   453  
   454  	// ServerResponse contains the HTTP response code and headers from the server.
   455  	googleapi.ServerResponse `json:"-"`
   456  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   457  	// include in API requests. By default, fields with empty or default values are
   458  	// omitted from API requests. See
   459  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   460  	// details.
   461  	ForceSendFields []string `json:"-"`
   462  	// NullFields is a list of field names (e.g. "Configs") to include in API
   463  	// requests with the JSON null value. By default, fields with empty values are
   464  	// omitted from API requests. See
   465  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   466  	NullFields []string `json:"-"`
   467  }
   468  
   469  func (s *GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse) MarshalJSON() ([]byte, error) {
   470  	type NoMethod GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse
   471  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   472  }
   473  
   474  // GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse: Response message
   475  // for the BatchGetRecaptchaV3Configs method.
   476  type GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse struct {
   477  	// Configs: RecaptchaV3Configs retrieved.
   478  	Configs []*GoogleFirebaseAppcheckV1RecaptchaV3Config `json:"configs,omitempty"`
   479  
   480  	// ServerResponse contains the HTTP response code and headers from the server.
   481  	googleapi.ServerResponse `json:"-"`
   482  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   483  	// include in API requests. By default, fields with empty or default values are
   484  	// omitted from API requests. See
   485  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   486  	// details.
   487  	ForceSendFields []string `json:"-"`
   488  	// NullFields is a list of field names (e.g. "Configs") to include in API
   489  	// requests with the JSON null value. By default, fields with empty values are
   490  	// omitted from API requests. See
   491  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   492  	NullFields []string `json:"-"`
   493  }
   494  
   495  func (s *GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse) MarshalJSON() ([]byte, error) {
   496  	type NoMethod GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse
   497  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   498  }
   499  
   500  // GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse: Response message
   501  // for the BatchGetSafetyNetConfigs method.
   502  type GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse struct {
   503  	// Configs: SafetyNetConfigs retrieved.
   504  	Configs []*GoogleFirebaseAppcheckV1SafetyNetConfig `json:"configs,omitempty"`
   505  
   506  	// ServerResponse contains the HTTP response code and headers from the server.
   507  	googleapi.ServerResponse `json:"-"`
   508  	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
   509  	// include in API requests. By default, fields with empty or default values are
   510  	// omitted from API requests. See
   511  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   512  	// details.
   513  	ForceSendFields []string `json:"-"`
   514  	// NullFields is a list of field names (e.g. "Configs") to include in API
   515  	// requests with the JSON null value. By default, fields with empty values are
   516  	// omitted from API requests. See
   517  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   518  	NullFields []string `json:"-"`
   519  }
   520  
   521  func (s *GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse) MarshalJSON() ([]byte, error) {
   522  	type NoMethod GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse
   523  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   524  }
   525  
   526  // GoogleFirebaseAppcheckV1BatchUpdateServicesRequest: Request message for the
   527  // BatchUpdateServices method.
   528  type GoogleFirebaseAppcheckV1BatchUpdateServicesRequest struct {
   529  	// Requests: Required. The request messages specifying the Services to update.
   530  	// A maximum of 100 objects can be updated in a batch.
   531  	Requests []*GoogleFirebaseAppcheckV1UpdateServiceRequest `json:"requests,omitempty"`
   532  	// UpdateMask: Optional. A comma-separated list of names of fields in the
   533  	// Services to update. Example: `display_name`. If the `update_mask` field is
   534  	// set in both this request and any of the UpdateServiceRequest messages, they
   535  	// must match or the entire batch fails and no updates will be committed.
   536  	UpdateMask string `json:"updateMask,omitempty"`
   537  	// ForceSendFields is a list of field names (e.g. "Requests") to
   538  	// unconditionally include in API requests. By default, fields with empty or
   539  	// default values are omitted from API requests. See
   540  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   541  	// details.
   542  	ForceSendFields []string `json:"-"`
   543  	// NullFields is a list of field names (e.g. "Requests") to include in API
   544  	// requests with the JSON null value. By default, fields with empty values are
   545  	// omitted from API requests. See
   546  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   547  	NullFields []string `json:"-"`
   548  }
   549  
   550  func (s *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest) MarshalJSON() ([]byte, error) {
   551  	type NoMethod GoogleFirebaseAppcheckV1BatchUpdateServicesRequest
   552  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   553  }
   554  
   555  // GoogleFirebaseAppcheckV1BatchUpdateServicesResponse: Response message for
   556  // the BatchUpdateServices method.
   557  type GoogleFirebaseAppcheckV1BatchUpdateServicesResponse struct {
   558  	// Services: Service objects after the updates have been applied.
   559  	Services []*GoogleFirebaseAppcheckV1Service `json:"services,omitempty"`
   560  
   561  	// ServerResponse contains the HTTP response code and headers from the server.
   562  	googleapi.ServerResponse `json:"-"`
   563  	// ForceSendFields is a list of field names (e.g. "Services") to
   564  	// unconditionally include in API requests. By default, fields with empty or
   565  	// default values are omitted from API requests. See
   566  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   567  	// details.
   568  	ForceSendFields []string `json:"-"`
   569  	// NullFields is a list of field names (e.g. "Services") to include in API
   570  	// requests with the JSON null value. By default, fields with empty values are
   571  	// omitted from API requests. See
   572  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   573  	NullFields []string `json:"-"`
   574  }
   575  
   576  func (s *GoogleFirebaseAppcheckV1BatchUpdateServicesResponse) MarshalJSON() ([]byte, error) {
   577  	type NoMethod GoogleFirebaseAppcheckV1BatchUpdateServicesResponse
   578  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   579  }
   580  
   581  // GoogleFirebaseAppcheckV1DebugToken: A *debug token* is a secret used during
   582  // the development or integration testing of an app. It essentially allows the
   583  // development or integration testing to bypass app attestation while still
   584  // allowing App Check to enforce protection on supported production Firebase
   585  // services.
   586  type GoogleFirebaseAppcheckV1DebugToken struct {
   587  	// DisplayName: Required. A human readable display name used to identify this
   588  	// debug token.
   589  	DisplayName string `json:"displayName,omitempty"`
   590  	// Name: Required. The relative resource name of the debug token, in the
   591  	// format: ```
   592  	// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
   593  	Name string `json:"name,omitempty"`
   594  	// Token: Required. Input only. Immutable. The secret token itself. Must be
   595  	// provided during creation, and must be a UUID4, case insensitive. This field
   596  	// is immutable once set, and cannot be provided during an UpdateDebugToken
   597  	// request. You can, however, delete this debug token using DeleteDebugToken to
   598  	// revoke it. For security reasons, this field will never be populated in any
   599  	// response.
   600  	Token string `json:"token,omitempty"`
   601  	// UpdateTime: Output only. Timestamp when this debug token was most recently
   602  	// updated.
   603  	UpdateTime string `json:"updateTime,omitempty"`
   604  
   605  	// ServerResponse contains the HTTP response code and headers from the server.
   606  	googleapi.ServerResponse `json:"-"`
   607  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
   608  	// unconditionally include in API requests. By default, fields with empty or
   609  	// default values are omitted from API requests. See
   610  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   611  	// details.
   612  	ForceSendFields []string `json:"-"`
   613  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
   614  	// requests with the JSON null value. By default, fields with empty values are
   615  	// omitted from API requests. See
   616  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   617  	NullFields []string `json:"-"`
   618  }
   619  
   620  func (s *GoogleFirebaseAppcheckV1DebugToken) MarshalJSON() ([]byte, error) {
   621  	type NoMethod GoogleFirebaseAppcheckV1DebugToken
   622  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   623  }
   624  
   625  // GoogleFirebaseAppcheckV1DeviceCheckConfig: An app's DeviceCheck
   626  // configuration object. This configuration is used by ExchangeDeviceCheckToken
   627  // to validate device tokens issued to apps by DeviceCheck. It also controls
   628  // certain properties of the returned `AppCheckToken`, such as its ttl. Note
   629  // that the Team ID registered with your app is used as part of the validation
   630  // process. Please register it via the Firebase Console or programmatically via
   631  // the Firebase Management Service
   632  // (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).
   633  type GoogleFirebaseAppcheckV1DeviceCheckConfig struct {
   634  	// KeyId: Required. The key identifier of a private key enabled with
   635  	// DeviceCheck, created in your Apple Developer account.
   636  	KeyId string `json:"keyId,omitempty"`
   637  	// Name: Required. The relative resource name of the DeviceCheck configuration
   638  	// object, in the format: ```
   639  	// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
   640  	Name string `json:"name,omitempty"`
   641  	// PrivateKey: Required. Input only. The contents of the private key (`.p8`)
   642  	// file associated with the key specified by `key_id`. For security reasons,
   643  	// this field will never be populated in any response.
   644  	PrivateKey string `json:"privateKey,omitempty"`
   645  	// PrivateKeySet: Output only. Whether the `private_key` field was previously
   646  	// set. Since we will never return the `private_key` field, this field is the
   647  	// only way to find out whether it was previously set.
   648  	PrivateKeySet bool `json:"privateKeySet,omitempty"`
   649  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
   650  	// DeviceCheck tokens will be valid. If unset, a default value of 1 hour is
   651  	// assumed. Must be between 30 minutes and 7 days, inclusive.
   652  	TokenTtl string `json:"tokenTtl,omitempty"`
   653  
   654  	// ServerResponse contains the HTTP response code and headers from the server.
   655  	googleapi.ServerResponse `json:"-"`
   656  	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
   657  	// include in API requests. By default, fields with empty or default values are
   658  	// omitted from API requests. See
   659  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   660  	// details.
   661  	ForceSendFields []string `json:"-"`
   662  	// NullFields is a list of field names (e.g. "KeyId") to include in API
   663  	// requests with the JSON null value. By default, fields with empty values are
   664  	// omitted from API requests. See
   665  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   666  	NullFields []string `json:"-"`
   667  }
   668  
   669  func (s *GoogleFirebaseAppcheckV1DeviceCheckConfig) MarshalJSON() ([]byte, error) {
   670  	type NoMethod GoogleFirebaseAppcheckV1DeviceCheckConfig
   671  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   672  }
   673  
   674  // GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest: Request message
   675  // for the ExchangeAppAttestAssertion method.
   676  type GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest struct {
   677  	// Artifact: Required. The artifact returned by a previous call to
   678  	// ExchangeAppAttestAttestation.
   679  	Artifact string `json:"artifact,omitempty"`
   680  	// Assertion: Required. The CBOR-encoded assertion returned by the client-side
   681  	// App Attest API.
   682  	Assertion string `json:"assertion,omitempty"`
   683  	// Challenge: Required. A one-time challenge returned by an immediately prior
   684  	// call to GenerateAppAttestChallenge.
   685  	Challenge string `json:"challenge,omitempty"`
   686  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   687  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   688  	// be used with the *replay protection* feature, set this to `true`. The
   689  	// default value is `false`.
   690  	LimitedUse bool `json:"limitedUse,omitempty"`
   691  	// ForceSendFields is a list of field names (e.g. "Artifact") to
   692  	// unconditionally include in API requests. By default, fields with empty or
   693  	// default values are omitted from API requests. See
   694  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   695  	// details.
   696  	ForceSendFields []string `json:"-"`
   697  	// NullFields is a list of field names (e.g. "Artifact") to include in API
   698  	// requests with the JSON null value. By default, fields with empty values are
   699  	// omitted from API requests. See
   700  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   701  	NullFields []string `json:"-"`
   702  }
   703  
   704  func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest) MarshalJSON() ([]byte, error) {
   705  	type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest
   706  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   707  }
   708  
   709  // GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest: Request message
   710  // for the ExchangeAppAttestAttestation method.
   711  type GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest struct {
   712  	// AttestationStatement: Required. The App Attest statement returned by the
   713  	// client-side App Attest API. This is a base64url encoded CBOR object in the
   714  	// JSON response.
   715  	AttestationStatement string `json:"attestationStatement,omitempty"`
   716  	// Challenge: Required. A one-time challenge returned by an immediately prior
   717  	// call to GenerateAppAttestChallenge.
   718  	Challenge string `json:"challenge,omitempty"`
   719  	// KeyId: Required. The key ID generated by App Attest for the client app.
   720  	KeyId string `json:"keyId,omitempty"`
   721  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   722  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   723  	// be used with the *replay protection* feature, set this to `true`. The
   724  	// default value is `false`.
   725  	LimitedUse bool `json:"limitedUse,omitempty"`
   726  	// ForceSendFields is a list of field names (e.g. "AttestationStatement") to
   727  	// unconditionally include in API requests. By default, fields with empty or
   728  	// default values are omitted from API requests. See
   729  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   730  	// details.
   731  	ForceSendFields []string `json:"-"`
   732  	// NullFields is a list of field names (e.g. "AttestationStatement") to include
   733  	// in API requests with the JSON null value. By default, fields with empty
   734  	// values are omitted from API requests. See
   735  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   736  	NullFields []string `json:"-"`
   737  }
   738  
   739  func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest) MarshalJSON() ([]byte, error) {
   740  	type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest
   741  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   742  }
   743  
   744  // GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse: Response
   745  // message for the ExchangeAppAttestAttestation method.
   746  type GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse struct {
   747  	// AppCheckToken: Encapsulates an App Check token.
   748  	AppCheckToken *GoogleFirebaseAppcheckV1AppCheckToken `json:"appCheckToken,omitempty"`
   749  	// Artifact: An artifact that can be used in future calls to
   750  	// ExchangeAppAttestAssertion.
   751  	Artifact string `json:"artifact,omitempty"`
   752  
   753  	// ServerResponse contains the HTTP response code and headers from the server.
   754  	googleapi.ServerResponse `json:"-"`
   755  	// ForceSendFields is a list of field names (e.g. "AppCheckToken") to
   756  	// unconditionally include in API requests. By default, fields with empty or
   757  	// default values are omitted from API requests. See
   758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   759  	// details.
   760  	ForceSendFields []string `json:"-"`
   761  	// NullFields is a list of field names (e.g. "AppCheckToken") to include in API
   762  	// requests with the JSON null value. By default, fields with empty values are
   763  	// omitted from API requests. See
   764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   765  	NullFields []string `json:"-"`
   766  }
   767  
   768  func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse) MarshalJSON() ([]byte, error) {
   769  	type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse
   770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   771  }
   772  
   773  // GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest: Request message for the
   774  // ExchangeCustomToken method.
   775  type GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest struct {
   776  	// CustomToken: Required. A custom token signed using your project's Admin SDK
   777  	// service account credentials.
   778  	CustomToken string `json:"customToken,omitempty"`
   779  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   780  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   781  	// be used with the *replay protection* feature, set this to `true`. The
   782  	// default value is `false`.
   783  	LimitedUse bool `json:"limitedUse,omitempty"`
   784  	// ForceSendFields is a list of field names (e.g. "CustomToken") to
   785  	// unconditionally include in API requests. By default, fields with empty or
   786  	// default values are omitted from API requests. See
   787  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   788  	// details.
   789  	ForceSendFields []string `json:"-"`
   790  	// NullFields is a list of field names (e.g. "CustomToken") to include in API
   791  	// requests with the JSON null value. By default, fields with empty values are
   792  	// omitted from API requests. See
   793  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   794  	NullFields []string `json:"-"`
   795  }
   796  
   797  func (s *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest) MarshalJSON() ([]byte, error) {
   798  	type NoMethod GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest
   799  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   800  }
   801  
   802  // GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest: Request message for the
   803  // ExchangeDebugToken method.
   804  type GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest struct {
   805  	// DebugToken: Required. A debug token secret. This string must match a debug
   806  	// token secret previously created using CreateDebugToken.
   807  	DebugToken string `json:"debugToken,omitempty"`
   808  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   809  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   810  	// be used with the *replay protection* feature, set this to `true`. The
   811  	// default value is `false`.
   812  	LimitedUse bool `json:"limitedUse,omitempty"`
   813  	// ForceSendFields is a list of field names (e.g. "DebugToken") to
   814  	// unconditionally include in API requests. By default, fields with empty or
   815  	// default values are omitted from API requests. See
   816  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   817  	// details.
   818  	ForceSendFields []string `json:"-"`
   819  	// NullFields is a list of field names (e.g. "DebugToken") to include in API
   820  	// requests with the JSON null value. By default, fields with empty values are
   821  	// omitted from API requests. See
   822  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   823  	NullFields []string `json:"-"`
   824  }
   825  
   826  func (s *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest) MarshalJSON() ([]byte, error) {
   827  	type NoMethod GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest
   828  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   829  }
   830  
   831  // GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest: Request message for
   832  // the ExchangeDeviceCheckToken method.
   833  type GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest struct {
   834  	// DeviceToken: Required. The `device_token` as returned by Apple's client-side
   835  	// DeviceCheck API
   836  	// (https://developer.apple.com/documentation/devicecheck/dcdevice). This is
   837  	// the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.
   838  	DeviceToken string `json:"deviceToken,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. "DeviceToken") 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. "DeviceToken") 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 *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest) MarshalJSON() ([]byte, error) {
   858  	type NoMethod GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest
   859  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   860  }
   861  
   862  // GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest: Request message
   863  // for the ExchangePlayIntegrityToken method.
   864  type GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest struct {
   865  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   866  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   867  	// be used with the *replay protection* feature, set this to `true`. The
   868  	// default value is `false`.
   869  	LimitedUse bool `json:"limitedUse,omitempty"`
   870  	// PlayIntegrityToken: Required. The integrity verdict response token from Play
   871  	// Integrity
   872  	// (https://developer.android.com/google/play/integrity/verdict#decrypt-verify)
   873  	// issued to your app.
   874  	PlayIntegrityToken string `json:"playIntegrityToken,omitempty"`
   875  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
   876  	// unconditionally include in API requests. By default, fields with empty or
   877  	// default values are omitted from API requests. See
   878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   879  	// details.
   880  	ForceSendFields []string `json:"-"`
   881  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
   882  	// requests with the JSON null value. By default, fields with empty values are
   883  	// omitted from API requests. See
   884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   885  	NullFields []string `json:"-"`
   886  }
   887  
   888  func (s *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest) MarshalJSON() ([]byte, error) {
   889  	type NoMethod GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest
   890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   891  }
   892  
   893  // GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest: Request
   894  // message for the ExchangeRecaptchaEnterpriseToken method.
   895  type GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest struct {
   896  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   897  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   898  	// be used with the *replay protection* feature, set this to `true`. The
   899  	// default value is `false`.
   900  	LimitedUse bool `json:"limitedUse,omitempty"`
   901  	// RecaptchaEnterpriseToken: Required. The reCAPTCHA token as returned by the
   902  	// reCAPTCHA Enterprise JavaScript API
   903  	// (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).
   904  	RecaptchaEnterpriseToken string `json:"recaptchaEnterpriseToken,omitempty"`
   905  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
   906  	// unconditionally include in API requests. By default, fields with empty or
   907  	// default values are omitted from API requests. See
   908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   909  	// details.
   910  	ForceSendFields []string `json:"-"`
   911  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
   912  	// requests with the JSON null value. By default, fields with empty values are
   913  	// omitted from API requests. See
   914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   915  	NullFields []string `json:"-"`
   916  }
   917  
   918  func (s *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest) MarshalJSON() ([]byte, error) {
   919  	type NoMethod GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest
   920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   921  }
   922  
   923  // GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest: Request message for
   924  // the ExchangeRecaptchaV3Token method.
   925  type GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest struct {
   926  	// LimitedUse: Specifies whether this attestation is for use in a *limited use*
   927  	// (`true`) or *session based* (`false`) context. To enable this attestation to
   928  	// be used with the *replay protection* feature, set this to `true`. The
   929  	// default value is `false`.
   930  	LimitedUse bool `json:"limitedUse,omitempty"`
   931  	// RecaptchaV3Token: Required. The reCAPTCHA token as returned by the reCAPTCHA
   932  	// v3 JavaScript API (https://developers.google.com/recaptcha/docs/v3).
   933  	RecaptchaV3Token string `json:"recaptchaV3Token,omitempty"`
   934  	// ForceSendFields is a list of field names (e.g. "LimitedUse") to
   935  	// unconditionally include in API requests. By default, fields with empty or
   936  	// default values are omitted from API requests. See
   937  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   938  	// details.
   939  	ForceSendFields []string `json:"-"`
   940  	// NullFields is a list of field names (e.g. "LimitedUse") to include in API
   941  	// requests with the JSON null value. By default, fields with empty values are
   942  	// omitted from API requests. See
   943  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   944  	NullFields []string `json:"-"`
   945  }
   946  
   947  func (s *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest) MarshalJSON() ([]byte, error) {
   948  	type NoMethod GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest
   949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   950  }
   951  
   952  // GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest: Request message for
   953  // the ExchangeSafetyNetToken method.
   954  type GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest struct {
   955  	// SafetyNetToken: Required. The SafetyNet attestation response
   956  	// (https://developer.android.com/training/safetynet/attestation#request-attestation-step)
   957  	// issued to your app.
   958  	SafetyNetToken string `json:"safetyNetToken,omitempty"`
   959  	// ForceSendFields is a list of field names (e.g. "SafetyNetToken") to
   960  	// unconditionally include in API requests. By default, fields with empty or
   961  	// default values are omitted from API requests. See
   962  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   963  	// details.
   964  	ForceSendFields []string `json:"-"`
   965  	// NullFields is a list of field names (e.g. "SafetyNetToken") to include in
   966  	// API requests with the JSON null value. By default, fields with empty values
   967  	// are omitted from API requests. See
   968  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   969  	NullFields []string `json:"-"`
   970  }
   971  
   972  func (s *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest) MarshalJSON() ([]byte, error) {
   973  	type NoMethod GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest
   974  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   975  }
   976  
   977  // GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest: Request message
   978  // for the GenerateAppAttestChallenge method.
   979  type GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest struct {
   980  }
   981  
   982  // GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse: Response message
   983  // for the GenerateAppAttestChallenge method.
   984  type GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse struct {
   985  	// Challenge: A one-time use challenge for the client to pass to the App Attest
   986  	// API.
   987  	Challenge string `json:"challenge,omitempty"`
   988  	// Ttl: The duration from the time this challenge is minted until its
   989  	// expiration. This field is intended to ease client-side token management,
   990  	// since the client may have clock skew, but is still able to accurately
   991  	// measure a duration.
   992  	Ttl string `json:"ttl,omitempty"`
   993  
   994  	// ServerResponse contains the HTTP response code and headers from the server.
   995  	googleapi.ServerResponse `json:"-"`
   996  	// ForceSendFields is a list of field names (e.g. "Challenge") to
   997  	// unconditionally include in API requests. By default, fields with empty or
   998  	// default values are omitted from API requests. See
   999  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1000  	// details.
  1001  	ForceSendFields []string `json:"-"`
  1002  	// NullFields is a list of field names (e.g. "Challenge") to include in API
  1003  	// requests with the JSON null value. By default, fields with empty values are
  1004  	// omitted from API requests. See
  1005  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1006  	NullFields []string `json:"-"`
  1007  }
  1008  
  1009  func (s *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse) MarshalJSON() ([]byte, error) {
  1010  	type NoMethod GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse
  1011  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1012  }
  1013  
  1014  // GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest: Request
  1015  // message for the GeneratePlayIntegrityChallenge method.
  1016  type GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest struct {
  1017  }
  1018  
  1019  // GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse: Response
  1020  // message for the GeneratePlayIntegrityChallenge method.
  1021  type GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse struct {
  1022  	// Challenge: A one-time use challenge
  1023  	// (https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks)
  1024  	// for the client to pass to the Play Integrity API.
  1025  	Challenge string `json:"challenge,omitempty"`
  1026  	// Ttl: The duration from the time this challenge is minted until its
  1027  	// expiration. This field is intended to ease client-side token management,
  1028  	// since the client may have clock skew, but is still able to accurately
  1029  	// measure a duration.
  1030  	Ttl string `json:"ttl,omitempty"`
  1031  
  1032  	// ServerResponse contains the HTTP response code and headers from the server.
  1033  	googleapi.ServerResponse `json:"-"`
  1034  	// ForceSendFields is a list of field names (e.g. "Challenge") to
  1035  	// unconditionally include in API requests. By default, fields with empty or
  1036  	// default values are omitted from API requests. See
  1037  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1038  	// details.
  1039  	ForceSendFields []string `json:"-"`
  1040  	// NullFields is a list of field names (e.g. "Challenge") to include in API
  1041  	// requests with the JSON null value. By default, fields with empty values are
  1042  	// omitted from API requests. See
  1043  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1044  	NullFields []string `json:"-"`
  1045  }
  1046  
  1047  func (s *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse) MarshalJSON() ([]byte, error) {
  1048  	type NoMethod GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse
  1049  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1050  }
  1051  
  1052  // GoogleFirebaseAppcheckV1ListDebugTokensResponse: Response message for the
  1053  // ListDebugTokens method.
  1054  type GoogleFirebaseAppcheckV1ListDebugTokensResponse struct {
  1055  	// DebugTokens: The DebugTokens retrieved.
  1056  	DebugTokens []*GoogleFirebaseAppcheckV1DebugToken `json:"debugTokens,omitempty"`
  1057  	// NextPageToken: If the result list is too large to fit in a single response,
  1058  	// then a token is returned. If the string is empty or omitted, then this
  1059  	// response is the last page of results. This token can be used in a subsequent
  1060  	// call to ListDebugTokens to find the next group of DebugTokens. Page tokens
  1061  	// are short-lived and should not be persisted.
  1062  	NextPageToken string `json:"nextPageToken,omitempty"`
  1063  
  1064  	// ServerResponse contains the HTTP response code and headers from the server.
  1065  	googleapi.ServerResponse `json:"-"`
  1066  	// ForceSendFields is a list of field names (e.g. "DebugTokens") to
  1067  	// unconditionally include in API requests. By default, fields with empty or
  1068  	// default values are omitted from API requests. See
  1069  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1070  	// details.
  1071  	ForceSendFields []string `json:"-"`
  1072  	// NullFields is a list of field names (e.g. "DebugTokens") to include in API
  1073  	// requests with the JSON null value. By default, fields with empty values are
  1074  	// omitted from API requests. See
  1075  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1076  	NullFields []string `json:"-"`
  1077  }
  1078  
  1079  func (s *GoogleFirebaseAppcheckV1ListDebugTokensResponse) MarshalJSON() ([]byte, error) {
  1080  	type NoMethod GoogleFirebaseAppcheckV1ListDebugTokensResponse
  1081  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1082  }
  1083  
  1084  // GoogleFirebaseAppcheckV1ListServicesResponse: Response message for the
  1085  // ListServices method.
  1086  type GoogleFirebaseAppcheckV1ListServicesResponse struct {
  1087  	// NextPageToken: If the result list is too large to fit in a single response,
  1088  	// then a token is returned. If the string is empty or omitted, then this
  1089  	// response is the last page of results. This token can be used in a subsequent
  1090  	// call to ListServices to find the next group of Services. Page tokens are
  1091  	// short-lived and should not be persisted.
  1092  	NextPageToken string `json:"nextPageToken,omitempty"`
  1093  	// Services: The Services retrieved.
  1094  	Services []*GoogleFirebaseAppcheckV1Service `json:"services,omitempty"`
  1095  
  1096  	// ServerResponse contains the HTTP response code and headers from the server.
  1097  	googleapi.ServerResponse `json:"-"`
  1098  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1099  	// unconditionally include in API requests. By default, fields with empty or
  1100  	// default values are omitted from API requests. See
  1101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1102  	// details.
  1103  	ForceSendFields []string `json:"-"`
  1104  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1105  	// requests with the JSON null value. By default, fields with empty values are
  1106  	// omitted from API requests. See
  1107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1108  	NullFields []string `json:"-"`
  1109  }
  1110  
  1111  func (s *GoogleFirebaseAppcheckV1ListServicesResponse) MarshalJSON() ([]byte, error) {
  1112  	type NoMethod GoogleFirebaseAppcheckV1ListServicesResponse
  1113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1114  }
  1115  
  1116  // GoogleFirebaseAppcheckV1PlayIntegrityConfig: An app's Play Integrity
  1117  // configuration object. This configuration controls certain properties of the
  1118  // `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl.
  1119  // Note that your registered SHA-256 certificate fingerprints are used to
  1120  // validate tokens issued by the Play Integrity API; please register them via
  1121  // the Firebase Console or programmatically via the Firebase Management Service
  1122  // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).
  1123  type GoogleFirebaseAppcheckV1PlayIntegrityConfig struct {
  1124  	// Name: Required. The relative resource name of the Play Integrity
  1125  	// configuration object, in the format: ```
  1126  	// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```
  1127  	Name string `json:"name,omitempty"`
  1128  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1129  	// Play Integrity tokens will be valid. If unset, a default value of 1 hour is
  1130  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1131  	TokenTtl string `json:"tokenTtl,omitempty"`
  1132  
  1133  	// ServerResponse contains the HTTP response code and headers from the server.
  1134  	googleapi.ServerResponse `json:"-"`
  1135  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1136  	// include in API requests. By default, fields with empty or default values are
  1137  	// omitted from API requests. See
  1138  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1139  	// details.
  1140  	ForceSendFields []string `json:"-"`
  1141  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1142  	// with the JSON null value. By default, fields with empty values are omitted
  1143  	// from API requests. See
  1144  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1145  	NullFields []string `json:"-"`
  1146  }
  1147  
  1148  func (s *GoogleFirebaseAppcheckV1PlayIntegrityConfig) MarshalJSON() ([]byte, error) {
  1149  	type NoMethod GoogleFirebaseAppcheckV1PlayIntegrityConfig
  1150  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1151  }
  1152  
  1153  // GoogleFirebaseAppcheckV1PublicJwk: A JWK as specified by section 4 of RFC
  1154  // 7517 (https://tools.ietf.org/html/rfc7517#section-4) and section 6.3.1 of
  1155  // RFC 7518 (https://tools.ietf.org/html/rfc7518#section-6.3.1).
  1156  type GoogleFirebaseAppcheckV1PublicJwk struct {
  1157  	// Alg: See section 4.4 of RFC 7517
  1158  	// (https://tools.ietf.org/html/rfc7517#section-4.4).
  1159  	Alg string `json:"alg,omitempty"`
  1160  	// E: See section 6.3.1.2 of RFC 7518
  1161  	// (https://tools.ietf.org/html/rfc7518#section-6.3.1.2).
  1162  	E string `json:"e,omitempty"`
  1163  	// Kid: See section 4.5 of RFC 7517
  1164  	// (https://tools.ietf.org/html/rfc7517#section-4.5).
  1165  	Kid string `json:"kid,omitempty"`
  1166  	// Kty: See section 4.1 of RFC 7517
  1167  	// (https://tools.ietf.org/html/rfc7517#section-4.1).
  1168  	Kty string `json:"kty,omitempty"`
  1169  	// N: See section 6.3.1.1 of RFC 7518
  1170  	// (https://tools.ietf.org/html/rfc7518#section-6.3.1.1).
  1171  	N string `json:"n,omitempty"`
  1172  	// Use: See section 4.2 of RFC 7517
  1173  	// (https://tools.ietf.org/html/rfc7517#section-4.2).
  1174  	Use string `json:"use,omitempty"`
  1175  	// ForceSendFields is a list of field names (e.g. "Alg") to unconditionally
  1176  	// include in API requests. By default, fields with empty or default values are
  1177  	// 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. "Alg") to include in API requests
  1182  	// with the JSON null value. By default, fields with empty values are omitted
  1183  	// 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 *GoogleFirebaseAppcheckV1PublicJwk) MarshalJSON() ([]byte, error) {
  1189  	type NoMethod GoogleFirebaseAppcheckV1PublicJwk
  1190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1191  }
  1192  
  1193  // GoogleFirebaseAppcheckV1PublicJwkSet: The currently active set of public
  1194  // keys that can be used to verify App Check tokens. This object is a JWK set
  1195  // as specified by section 5 of RFC 7517
  1196  // (https://tools.ietf.org/html/rfc7517#section-5). For security, the response
  1197  // **must not** be cached for longer than six hours.
  1198  type GoogleFirebaseAppcheckV1PublicJwkSet struct {
  1199  	// Keys: The set of public keys. See section 5.1 of RFC 7517
  1200  	// (https://tools.ietf.org/html/rfc7517#section-5).
  1201  	Keys []*GoogleFirebaseAppcheckV1PublicJwk `json:"keys,omitempty"`
  1202  
  1203  	// ServerResponse contains the HTTP response code and headers from the server.
  1204  	googleapi.ServerResponse `json:"-"`
  1205  	// ForceSendFields is a list of field names (e.g. "Keys") to unconditionally
  1206  	// include in API requests. By default, fields with empty or default values are
  1207  	// omitted from API requests. See
  1208  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1209  	// details.
  1210  	ForceSendFields []string `json:"-"`
  1211  	// NullFields is a list of field names (e.g. "Keys") to include in API requests
  1212  	// with the JSON null value. By default, fields with empty values are omitted
  1213  	// from API requests. See
  1214  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1215  	NullFields []string `json:"-"`
  1216  }
  1217  
  1218  func (s *GoogleFirebaseAppcheckV1PublicJwkSet) MarshalJSON() ([]byte, error) {
  1219  	type NoMethod GoogleFirebaseAppcheckV1PublicJwkSet
  1220  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1221  }
  1222  
  1223  // GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig: An app's reCAPTCHA
  1224  // Enterprise configuration object. This configuration is used by
  1225  // ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps
  1226  // by reCAPTCHA Enterprise. It also controls certain properties of the returned
  1227  // `AppCheckToken`, such as its ttl.
  1228  type GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig struct {
  1229  	// Name: Required. The relative resource name of the reCAPTCHA Enterprise
  1230  	// configuration object, in the format: ```
  1231  	// projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```
  1232  	Name string `json:"name,omitempty"`
  1233  	// SiteKey: The score-based site key created in reCAPTCHA Enterprise
  1234  	// (https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key)
  1235  	// used to invoke reCAPTCHA and generate the reCAPTCHA tokens
  1236  	// (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages)
  1237  	// for your application. Important: This is *not* the `site_secret` (as it is
  1238  	// in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.
  1239  	SiteKey string `json:"siteKey,omitempty"`
  1240  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1241  	// reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1
  1242  	// hour is assumed. Must be between 30 minutes and 7 days, inclusive.
  1243  	TokenTtl string `json:"tokenTtl,omitempty"`
  1244  
  1245  	// ServerResponse contains the HTTP response code and headers from the server.
  1246  	googleapi.ServerResponse `json:"-"`
  1247  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1248  	// include in API requests. By default, fields with empty or default values are
  1249  	// omitted from API requests. See
  1250  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1251  	// details.
  1252  	ForceSendFields []string `json:"-"`
  1253  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1254  	// with the JSON null value. By default, fields with empty values are omitted
  1255  	// from API requests. See
  1256  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1257  	NullFields []string `json:"-"`
  1258  }
  1259  
  1260  func (s *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig) MarshalJSON() ([]byte, error) {
  1261  	type NoMethod GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig
  1262  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1263  }
  1264  
  1265  // GoogleFirebaseAppcheckV1RecaptchaV3Config: An app's reCAPTCHA v3
  1266  // configuration object. This configuration is used by ExchangeRecaptchaV3Token
  1267  // to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also
  1268  // controls certain properties of the returned `AppCheckToken`, such as its
  1269  // ttl.
  1270  type GoogleFirebaseAppcheckV1RecaptchaV3Config struct {
  1271  	// Name: Required. The relative resource name of the reCAPTCHA v3 configuration
  1272  	// object, in the format: ```
  1273  	// projects/{project_number}/apps/{app_id}/recaptchaV3Config ```
  1274  	Name string `json:"name,omitempty"`
  1275  	// SiteSecret: Required. Input only. The site secret used to identify your
  1276  	// service for reCAPTCHA v3 verification. For security reasons, this field will
  1277  	// never be populated in any response.
  1278  	SiteSecret string `json:"siteSecret,omitempty"`
  1279  	// SiteSecretSet: Output only. Whether the `site_secret` field was previously
  1280  	// set. Since we will never return the `site_secret` field, this field is the
  1281  	// only way to find out whether it was previously set.
  1282  	SiteSecretSet bool `json:"siteSecretSet,omitempty"`
  1283  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1284  	// reCAPTCHA tokens will be valid. If unset, a default value of 1 day is
  1285  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1286  	TokenTtl string `json:"tokenTtl,omitempty"`
  1287  
  1288  	// ServerResponse contains the HTTP response code and headers from the server.
  1289  	googleapi.ServerResponse `json:"-"`
  1290  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1291  	// include in API requests. By default, fields with empty or default values are
  1292  	// omitted from API requests. See
  1293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1294  	// details.
  1295  	ForceSendFields []string `json:"-"`
  1296  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1297  	// with the JSON null value. By default, fields with empty values are omitted
  1298  	// from API requests. See
  1299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1300  	NullFields []string `json:"-"`
  1301  }
  1302  
  1303  func (s *GoogleFirebaseAppcheckV1RecaptchaV3Config) MarshalJSON() ([]byte, error) {
  1304  	type NoMethod GoogleFirebaseAppcheckV1RecaptchaV3Config
  1305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1306  }
  1307  
  1308  // GoogleFirebaseAppcheckV1SafetyNetConfig: An app's SafetyNet configuration
  1309  // object. This configuration controls certain properties of the
  1310  // `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note
  1311  // that your registered SHA-256 certificate fingerprints are used to validate
  1312  // tokens issued by SafetyNet; please register them via the Firebase Console or
  1313  // programmatically via the Firebase Management Service
  1314  // (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.androidApps.sha/create).
  1315  type GoogleFirebaseAppcheckV1SafetyNetConfig struct {
  1316  	// Name: Required. The relative resource name of the SafetyNet configuration
  1317  	// object, in the format: ```
  1318  	// projects/{project_number}/apps/{app_id}/safetyNetConfig ```
  1319  	Name string `json:"name,omitempty"`
  1320  	// TokenTtl: Specifies the duration for which App Check tokens exchanged from
  1321  	// SafetyNet tokens will be valid. If unset, a default value of 1 hour is
  1322  	// assumed. Must be between 30 minutes and 7 days, inclusive.
  1323  	TokenTtl string `json:"tokenTtl,omitempty"`
  1324  
  1325  	// ServerResponse contains the HTTP response code and headers from the server.
  1326  	googleapi.ServerResponse `json:"-"`
  1327  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1328  	// include in API requests. By default, fields with empty or default values are
  1329  	// omitted from API requests. See
  1330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1331  	// details.
  1332  	ForceSendFields []string `json:"-"`
  1333  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1334  	// with the JSON null value. By default, fields with empty values are omitted
  1335  	// from API requests. See
  1336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1337  	NullFields []string `json:"-"`
  1338  }
  1339  
  1340  func (s *GoogleFirebaseAppcheckV1SafetyNetConfig) MarshalJSON() ([]byte, error) {
  1341  	type NoMethod GoogleFirebaseAppcheckV1SafetyNetConfig
  1342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1343  }
  1344  
  1345  // GoogleFirebaseAppcheckV1Service: The enforcement configuration for a
  1346  // Firebase service supported by App Check.
  1347  type GoogleFirebaseAppcheckV1Service struct {
  1348  	// EnforcementMode: Required. The App Check enforcement mode for this service.
  1349  	//
  1350  	// Possible values:
  1351  	//   "OFF" - Firebase App Check is not enforced for the service, nor are App
  1352  	// Check metrics collected. Though the service is not protected by App Check in
  1353  	// this mode, other applicable protections, such as user authorization, are
  1354  	// still enforced. An unconfigured service is in this mode by default.
  1355  	//   "UNENFORCED" - Firebase App Check is not enforced for the service. App
  1356  	// Check metrics are collected to help you decide when to turn on enforcement
  1357  	// for the service. Though the service is not protected by App Check in this
  1358  	// mode, other applicable protections, such as user authorization, are still
  1359  	// enforced. Some services require certain conditions to be met before they
  1360  	// will work with App Check, such as requiring you to upgrade to a specific
  1361  	// service tier. Until those requirements are met for a service, this
  1362  	// `UNENFORCED` setting will have no effect and App Check will not work with
  1363  	// that service.
  1364  	//   "ENFORCED" - Firebase App Check is enforced for the service. The service
  1365  	// will reject any request that attempts to access your project's resources if
  1366  	// it does not have valid App Check token attached, with some exceptions
  1367  	// depending on the service; for example, some services will still allow
  1368  	// requests bearing the developer's privileged service account credentials
  1369  	// without an App Check token. App Check metrics continue to be collected to
  1370  	// help you detect issues with your App Check integration and monitor the
  1371  	// composition of your callers. While the service is protected by App Check,
  1372  	// other applicable protections, such as user authorization, continue to be
  1373  	// enforced at the same time. Use caution when choosing to enforce App Check on
  1374  	// a Firebase service. If your users have not updated to an App Check capable
  1375  	// version of your app, their apps will no longer be able to use your Firebase
  1376  	// services that are enforcing App Check. App Check metrics can help you decide
  1377  	// whether to enforce App Check on your Firebase services. If your app has not
  1378  	// launched yet, you should enable enforcement immediately, since there are no
  1379  	// outdated clients in use. Some services require certain conditions to be met
  1380  	// before they will work with App Check, such as requiring you to upgrade to a
  1381  	// specific service tier or requiring you to enable the service first. Until
  1382  	// those requirements are met for a service, this `ENFORCED` setting will have
  1383  	// no effect and App Check will not work with that service.
  1384  	EnforcementMode string `json:"enforcementMode,omitempty"`
  1385  	// Name: Required. The relative resource name of the service configuration
  1386  	// object, in the format: ``` projects/{project_number}/services/{service_id}
  1387  	// ``` Note that the `service_id` element must be a supported service ID.
  1388  	// Currently, the following service IDs are supported: *
  1389  	// `firebasestorage.googleapis.com` (Cloud Storage for Firebase) *
  1390  	// `firebasedatabase.googleapis.com` (Firebase Realtime Database) *
  1391  	// `firestore.googleapis.com` (Cloud Firestore)
  1392  	Name string `json:"name,omitempty"`
  1393  
  1394  	// ServerResponse contains the HTTP response code and headers from the server.
  1395  	googleapi.ServerResponse `json:"-"`
  1396  	// ForceSendFields is a list of field names (e.g. "EnforcementMode") to
  1397  	// unconditionally include in API requests. By default, fields with empty or
  1398  	// default values are omitted from API requests. See
  1399  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1400  	// details.
  1401  	ForceSendFields []string `json:"-"`
  1402  	// NullFields is a list of field names (e.g. "EnforcementMode") to include in
  1403  	// API requests with the JSON null value. By default, fields with empty values
  1404  	// are omitted from API requests. See
  1405  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1406  	NullFields []string `json:"-"`
  1407  }
  1408  
  1409  func (s *GoogleFirebaseAppcheckV1Service) MarshalJSON() ([]byte, error) {
  1410  	type NoMethod GoogleFirebaseAppcheckV1Service
  1411  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1412  }
  1413  
  1414  // GoogleFirebaseAppcheckV1UpdateServiceRequest: Request message for the
  1415  // UpdateService method as well as an individual update message for the
  1416  // BatchUpdateServices method.
  1417  type GoogleFirebaseAppcheckV1UpdateServiceRequest struct {
  1418  	// Service: Required. The Service to update. The Service's `name` field is used
  1419  	// to identify the Service to be updated, in the format: ```
  1420  	// projects/{project_number}/services/{service_id} ``` Note that the
  1421  	// `service_id` element must be a supported service ID. Currently, the
  1422  	// following service IDs are supported: * `firebasestorage.googleapis.com`
  1423  	// (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase
  1424  	// Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)
  1425  	Service *GoogleFirebaseAppcheckV1Service `json:"service,omitempty"`
  1426  	// UpdateMask: Required. A comma-separated list of names of fields in the
  1427  	// Service to update. Example: `enforcement_mode`.
  1428  	UpdateMask string `json:"updateMask,omitempty"`
  1429  	// ForceSendFields is a list of field names (e.g. "Service") to unconditionally
  1430  	// include in API requests. By default, fields with empty or default values are
  1431  	// omitted from API requests. See
  1432  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1433  	// details.
  1434  	ForceSendFields []string `json:"-"`
  1435  	// NullFields is a list of field names (e.g. "Service") to include in API
  1436  	// requests with the JSON null value. By default, fields with empty values are
  1437  	// omitted from API requests. See
  1438  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1439  	NullFields []string `json:"-"`
  1440  }
  1441  
  1442  func (s *GoogleFirebaseAppcheckV1UpdateServiceRequest) MarshalJSON() ([]byte, error) {
  1443  	type NoMethod GoogleFirebaseAppcheckV1UpdateServiceRequest
  1444  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1445  }
  1446  
  1447  // GoogleProtobufEmpty: A generic empty message that you can re-use to avoid
  1448  // defining duplicated empty messages in your APIs. A typical example is to use
  1449  // it as the request or the response type of an API method. For instance:
  1450  // service Foo { rpc Bar(google.protobuf.Empty) returns
  1451  // (google.protobuf.Empty); }
  1452  type GoogleProtobufEmpty struct {
  1453  	// ServerResponse contains the HTTP response code and headers from the server.
  1454  	googleapi.ServerResponse `json:"-"`
  1455  }
  1456  
  1457  type JwksGetCall struct {
  1458  	s            *Service
  1459  	name         string
  1460  	urlParams_   gensupport.URLParams
  1461  	ifNoneMatch_ string
  1462  	ctx_         context.Context
  1463  	header_      http.Header
  1464  }
  1465  
  1466  // Get: Returns a public JWK set as specified by RFC 7517
  1467  // (https://tools.ietf.org/html/rfc7517) that can be used to verify App Check
  1468  // tokens. Exactly one of the public keys in the returned set will successfully
  1469  // validate any App Check token that is currently valid.
  1470  //
  1471  //   - name: The relative resource name to the public JWK set. Must always be
  1472  //     exactly the string `jwks`.
  1473  func (r *JwksService) Get(name string) *JwksGetCall {
  1474  	c := &JwksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1475  	c.name = name
  1476  	return c
  1477  }
  1478  
  1479  // Fields allows partial responses to be retrieved. See
  1480  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1481  // details.
  1482  func (c *JwksGetCall) Fields(s ...googleapi.Field) *JwksGetCall {
  1483  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1484  	return c
  1485  }
  1486  
  1487  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  1488  // object's ETag matches the given value. This is useful for getting updates
  1489  // only after the object has changed since the last request.
  1490  func (c *JwksGetCall) IfNoneMatch(entityTag string) *JwksGetCall {
  1491  	c.ifNoneMatch_ = entityTag
  1492  	return c
  1493  }
  1494  
  1495  // Context sets the context to be used in this call's Do method.
  1496  func (c *JwksGetCall) Context(ctx context.Context) *JwksGetCall {
  1497  	c.ctx_ = ctx
  1498  	return c
  1499  }
  1500  
  1501  // Header returns a http.Header that can be modified by the caller to add
  1502  // headers to the request.
  1503  func (c *JwksGetCall) Header() http.Header {
  1504  	if c.header_ == nil {
  1505  		c.header_ = make(http.Header)
  1506  	}
  1507  	return c.header_
  1508  }
  1509  
  1510  func (c *JwksGetCall) doRequest(alt string) (*http.Response, error) {
  1511  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  1512  	if c.ifNoneMatch_ != "" {
  1513  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1514  	}
  1515  	var body io.Reader = nil
  1516  	c.urlParams_.Set("alt", alt)
  1517  	c.urlParams_.Set("prettyPrint", "false")
  1518  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  1519  	urls += "?" + c.urlParams_.Encode()
  1520  	req, err := http.NewRequest("GET", urls, body)
  1521  	if err != nil {
  1522  		return nil, err
  1523  	}
  1524  	req.Header = reqHeaders
  1525  	googleapi.Expand(req.URL, map[string]string{
  1526  		"name": c.name,
  1527  	})
  1528  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1529  }
  1530  
  1531  // Do executes the "firebaseappcheck.jwks.get" call.
  1532  // Any non-2xx status code is an error. Response headers are in either
  1533  // *GoogleFirebaseAppcheckV1PublicJwkSet.ServerResponse.Header or (if a
  1534  // response was returned at all) in error.(*googleapi.Error).Header. Use
  1535  // googleapi.IsNotModified to check whether the returned error was because
  1536  // http.StatusNotModified was returned.
  1537  func (c *JwksGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PublicJwkSet, error) {
  1538  	gensupport.SetOptions(c.urlParams_, opts...)
  1539  	res, err := c.doRequest("json")
  1540  	if res != nil && res.StatusCode == http.StatusNotModified {
  1541  		if res.Body != nil {
  1542  			res.Body.Close()
  1543  		}
  1544  		return nil, gensupport.WrapError(&googleapi.Error{
  1545  			Code:   res.StatusCode,
  1546  			Header: res.Header,
  1547  		})
  1548  	}
  1549  	if err != nil {
  1550  		return nil, err
  1551  	}
  1552  	defer googleapi.CloseBody(res)
  1553  	if err := googleapi.CheckResponse(res); err != nil {
  1554  		return nil, gensupport.WrapError(err)
  1555  	}
  1556  	ret := &GoogleFirebaseAppcheckV1PublicJwkSet{
  1557  		ServerResponse: googleapi.ServerResponse{
  1558  			Header:         res.Header,
  1559  			HTTPStatusCode: res.StatusCode,
  1560  		},
  1561  	}
  1562  	target := &ret
  1563  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1564  		return nil, err
  1565  	}
  1566  	return ret, nil
  1567  }
  1568  
  1569  type ProjectsAppsExchangeAppAttestAssertionCall struct {
  1570  	s                                                         *Service
  1571  	appid                                                     string
  1572  	googlefirebaseappcheckv1exchangeappattestassertionrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest
  1573  	urlParams_                                                gensupport.URLParams
  1574  	ctx_                                                      context.Context
  1575  	header_                                                   http.Header
  1576  }
  1577  
  1578  // ExchangeAppAttestAssertion: Accepts an App Attest assertion and an artifact
  1579  // previously obtained from ExchangeAppAttestAttestation and verifies those
  1580  // with Apple. If valid, returns an AppCheckToken.
  1581  //
  1582  //   - app: The relative resource name of the iOS app, in the format: ```
  1583  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  1584  //     `project_number` element can be replaced with the project ID of the
  1585  //     Firebase project. Learn more about using project identifiers in Google's
  1586  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  1587  func (r *ProjectsAppsService) ExchangeAppAttestAssertion(appid string, googlefirebaseappcheckv1exchangeappattestassertionrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest) *ProjectsAppsExchangeAppAttestAssertionCall {
  1588  	c := &ProjectsAppsExchangeAppAttestAssertionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1589  	c.appid = appid
  1590  	c.googlefirebaseappcheckv1exchangeappattestassertionrequest = googlefirebaseappcheckv1exchangeappattestassertionrequest
  1591  	return c
  1592  }
  1593  
  1594  // Fields allows partial responses to be retrieved. See
  1595  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1596  // details.
  1597  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAssertionCall {
  1598  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1599  	return c
  1600  }
  1601  
  1602  // Context sets the context to be used in this call's Do method.
  1603  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAssertionCall {
  1604  	c.ctx_ = ctx
  1605  	return c
  1606  }
  1607  
  1608  // Header returns a http.Header that can be modified by the caller to add
  1609  // headers to the request.
  1610  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Header() http.Header {
  1611  	if c.header_ == nil {
  1612  		c.header_ = make(http.Header)
  1613  	}
  1614  	return c.header_
  1615  }
  1616  
  1617  func (c *ProjectsAppsExchangeAppAttestAssertionCall) doRequest(alt string) (*http.Response, error) {
  1618  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  1619  	var body io.Reader = nil
  1620  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeappattestassertionrequest)
  1621  	if err != nil {
  1622  		return nil, err
  1623  	}
  1624  	c.urlParams_.Set("alt", alt)
  1625  	c.urlParams_.Set("prettyPrint", "false")
  1626  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeAppAttestAssertion")
  1627  	urls += "?" + c.urlParams_.Encode()
  1628  	req, err := http.NewRequest("POST", urls, body)
  1629  	if err != nil {
  1630  		return nil, err
  1631  	}
  1632  	req.Header = reqHeaders
  1633  	googleapi.Expand(req.URL, map[string]string{
  1634  		"app": c.appid,
  1635  	})
  1636  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1637  }
  1638  
  1639  // Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAssertion" call.
  1640  // Any non-2xx status code is an error. Response headers are in either
  1641  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  1642  // response was returned at all) in error.(*googleapi.Error).Header. Use
  1643  // googleapi.IsNotModified to check whether the returned error was because
  1644  // http.StatusNotModified was returned.
  1645  func (c *ProjectsAppsExchangeAppAttestAssertionCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  1646  	gensupport.SetOptions(c.urlParams_, opts...)
  1647  	res, err := c.doRequest("json")
  1648  	if res != nil && res.StatusCode == http.StatusNotModified {
  1649  		if res.Body != nil {
  1650  			res.Body.Close()
  1651  		}
  1652  		return nil, gensupport.WrapError(&googleapi.Error{
  1653  			Code:   res.StatusCode,
  1654  			Header: res.Header,
  1655  		})
  1656  	}
  1657  	if err != nil {
  1658  		return nil, err
  1659  	}
  1660  	defer googleapi.CloseBody(res)
  1661  	if err := googleapi.CheckResponse(res); err != nil {
  1662  		return nil, gensupport.WrapError(err)
  1663  	}
  1664  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  1665  		ServerResponse: googleapi.ServerResponse{
  1666  			Header:         res.Header,
  1667  			HTTPStatusCode: res.StatusCode,
  1668  		},
  1669  	}
  1670  	target := &ret
  1671  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1672  		return nil, err
  1673  	}
  1674  	return ret, nil
  1675  }
  1676  
  1677  type ProjectsAppsExchangeAppAttestAttestationCall struct {
  1678  	s                                                           *Service
  1679  	appid                                                       string
  1680  	googlefirebaseappcheckv1exchangeappattestattestationrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest
  1681  	urlParams_                                                  gensupport.URLParams
  1682  	ctx_                                                        context.Context
  1683  	header_                                                     http.Header
  1684  }
  1685  
  1686  // ExchangeAppAttestAttestation: Accepts an App Attest CBOR attestation and
  1687  // verifies it with Apple using your preconfigured team and bundle IDs. If
  1688  // valid, returns an attestation artifact that can later be exchanged for an
  1689  // AppCheckToken using ExchangeAppAttestAssertion. For convenience and
  1690  // performance, this method's response object will also contain an
  1691  // AppCheckToken (if the verification is successful).
  1692  //
  1693  //   - app: The relative resource name of the iOS app, in the format: ```
  1694  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  1695  //     `project_number` element can be replaced with the project ID of the
  1696  //     Firebase project. Learn more about using project identifiers in Google's
  1697  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  1698  func (r *ProjectsAppsService) ExchangeAppAttestAttestation(appid string, googlefirebaseappcheckv1exchangeappattestattestationrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest) *ProjectsAppsExchangeAppAttestAttestationCall {
  1699  	c := &ProjectsAppsExchangeAppAttestAttestationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1700  	c.appid = appid
  1701  	c.googlefirebaseappcheckv1exchangeappattestattestationrequest = googlefirebaseappcheckv1exchangeappattestattestationrequest
  1702  	return c
  1703  }
  1704  
  1705  // Fields allows partial responses to be retrieved. See
  1706  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1707  // details.
  1708  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAttestationCall {
  1709  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1710  	return c
  1711  }
  1712  
  1713  // Context sets the context to be used in this call's Do method.
  1714  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAttestationCall {
  1715  	c.ctx_ = ctx
  1716  	return c
  1717  }
  1718  
  1719  // Header returns a http.Header that can be modified by the caller to add
  1720  // headers to the request.
  1721  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Header() http.Header {
  1722  	if c.header_ == nil {
  1723  		c.header_ = make(http.Header)
  1724  	}
  1725  	return c.header_
  1726  }
  1727  
  1728  func (c *ProjectsAppsExchangeAppAttestAttestationCall) doRequest(alt string) (*http.Response, error) {
  1729  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  1730  	var body io.Reader = nil
  1731  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeappattestattestationrequest)
  1732  	if err != nil {
  1733  		return nil, err
  1734  	}
  1735  	c.urlParams_.Set("alt", alt)
  1736  	c.urlParams_.Set("prettyPrint", "false")
  1737  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeAppAttestAttestation")
  1738  	urls += "?" + c.urlParams_.Encode()
  1739  	req, err := http.NewRequest("POST", urls, body)
  1740  	if err != nil {
  1741  		return nil, err
  1742  	}
  1743  	req.Header = reqHeaders
  1744  	googleapi.Expand(req.URL, map[string]string{
  1745  		"app": c.appid,
  1746  	})
  1747  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1748  }
  1749  
  1750  // Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAttestation" call.
  1751  // Any non-2xx status code is an error. Response headers are in either
  1752  // *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse.ServerResponse.
  1753  // Header or (if a response was returned at all) in
  1754  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  1755  // whether the returned error was because http.StatusNotModified was returned.
  1756  func (c *ProjectsAppsExchangeAppAttestAttestationCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse, error) {
  1757  	gensupport.SetOptions(c.urlParams_, opts...)
  1758  	res, err := c.doRequest("json")
  1759  	if res != nil && res.StatusCode == http.StatusNotModified {
  1760  		if res.Body != nil {
  1761  			res.Body.Close()
  1762  		}
  1763  		return nil, gensupport.WrapError(&googleapi.Error{
  1764  			Code:   res.StatusCode,
  1765  			Header: res.Header,
  1766  		})
  1767  	}
  1768  	if err != nil {
  1769  		return nil, err
  1770  	}
  1771  	defer googleapi.CloseBody(res)
  1772  	if err := googleapi.CheckResponse(res); err != nil {
  1773  		return nil, gensupport.WrapError(err)
  1774  	}
  1775  	ret := &GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse{
  1776  		ServerResponse: googleapi.ServerResponse{
  1777  			Header:         res.Header,
  1778  			HTTPStatusCode: res.StatusCode,
  1779  		},
  1780  	}
  1781  	target := &ret
  1782  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1783  		return nil, err
  1784  	}
  1785  	return ret, nil
  1786  }
  1787  
  1788  type ProjectsAppsExchangeCustomTokenCall struct {
  1789  	s                                                  *Service
  1790  	appid                                              string
  1791  	googlefirebaseappcheckv1exchangecustomtokenrequest *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest
  1792  	urlParams_                                         gensupport.URLParams
  1793  	ctx_                                               context.Context
  1794  	header_                                            http.Header
  1795  }
  1796  
  1797  // ExchangeCustomToken: Validates a custom token signed using your project's
  1798  // Admin SDK service account credentials. If valid, returns an AppCheckToken.
  1799  //
  1800  //   - app: The relative resource name of the app, in the format: ```
  1801  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  1802  //     `project_number` element can be replaced with the project ID of the
  1803  //     Firebase project. Learn more about using project identifiers in Google's
  1804  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  1805  func (r *ProjectsAppsService) ExchangeCustomToken(appid string, googlefirebaseappcheckv1exchangecustomtokenrequest *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest) *ProjectsAppsExchangeCustomTokenCall {
  1806  	c := &ProjectsAppsExchangeCustomTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1807  	c.appid = appid
  1808  	c.googlefirebaseappcheckv1exchangecustomtokenrequest = googlefirebaseappcheckv1exchangecustomtokenrequest
  1809  	return c
  1810  }
  1811  
  1812  // Fields allows partial responses to be retrieved. See
  1813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1814  // details.
  1815  func (c *ProjectsAppsExchangeCustomTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeCustomTokenCall {
  1816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1817  	return c
  1818  }
  1819  
  1820  // Context sets the context to be used in this call's Do method.
  1821  func (c *ProjectsAppsExchangeCustomTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeCustomTokenCall {
  1822  	c.ctx_ = ctx
  1823  	return c
  1824  }
  1825  
  1826  // Header returns a http.Header that can be modified by the caller to add
  1827  // headers to the request.
  1828  func (c *ProjectsAppsExchangeCustomTokenCall) Header() http.Header {
  1829  	if c.header_ == nil {
  1830  		c.header_ = make(http.Header)
  1831  	}
  1832  	return c.header_
  1833  }
  1834  
  1835  func (c *ProjectsAppsExchangeCustomTokenCall) doRequest(alt string) (*http.Response, error) {
  1836  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  1837  	var body io.Reader = nil
  1838  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangecustomtokenrequest)
  1839  	if err != nil {
  1840  		return nil, err
  1841  	}
  1842  	c.urlParams_.Set("alt", alt)
  1843  	c.urlParams_.Set("prettyPrint", "false")
  1844  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeCustomToken")
  1845  	urls += "?" + c.urlParams_.Encode()
  1846  	req, err := http.NewRequest("POST", urls, body)
  1847  	if err != nil {
  1848  		return nil, err
  1849  	}
  1850  	req.Header = reqHeaders
  1851  	googleapi.Expand(req.URL, map[string]string{
  1852  		"app": c.appid,
  1853  	})
  1854  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1855  }
  1856  
  1857  // Do executes the "firebaseappcheck.projects.apps.exchangeCustomToken" call.
  1858  // Any non-2xx status code is an error. Response headers are in either
  1859  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  1860  // response was returned at all) in error.(*googleapi.Error).Header. Use
  1861  // googleapi.IsNotModified to check whether the returned error was because
  1862  // http.StatusNotModified was returned.
  1863  func (c *ProjectsAppsExchangeCustomTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  1864  	gensupport.SetOptions(c.urlParams_, opts...)
  1865  	res, err := c.doRequest("json")
  1866  	if res != nil && res.StatusCode == http.StatusNotModified {
  1867  		if res.Body != nil {
  1868  			res.Body.Close()
  1869  		}
  1870  		return nil, gensupport.WrapError(&googleapi.Error{
  1871  			Code:   res.StatusCode,
  1872  			Header: res.Header,
  1873  		})
  1874  	}
  1875  	if err != nil {
  1876  		return nil, err
  1877  	}
  1878  	defer googleapi.CloseBody(res)
  1879  	if err := googleapi.CheckResponse(res); err != nil {
  1880  		return nil, gensupport.WrapError(err)
  1881  	}
  1882  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  1883  		ServerResponse: googleapi.ServerResponse{
  1884  			Header:         res.Header,
  1885  			HTTPStatusCode: res.StatusCode,
  1886  		},
  1887  	}
  1888  	target := &ret
  1889  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1890  		return nil, err
  1891  	}
  1892  	return ret, nil
  1893  }
  1894  
  1895  type ProjectsAppsExchangeDebugTokenCall struct {
  1896  	s                                                 *Service
  1897  	appid                                             string
  1898  	googlefirebaseappcheckv1exchangedebugtokenrequest *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest
  1899  	urlParams_                                        gensupport.URLParams
  1900  	ctx_                                              context.Context
  1901  	header_                                           http.Header
  1902  }
  1903  
  1904  // ExchangeDebugToken: Validates a debug token secret that you have previously
  1905  // created using CreateDebugToken. If valid, returns an AppCheckToken. Note
  1906  // that a restrictive quota is enforced on this method to prevent accidental
  1907  // exposure of the app to abuse.
  1908  //
  1909  //   - app: The relative resource name of the app, in the format: ```
  1910  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  1911  //     `project_number` element can be replaced with the project ID of the
  1912  //     Firebase project. Learn more about using project identifiers in Google's
  1913  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  1914  func (r *ProjectsAppsService) ExchangeDebugToken(appid string, googlefirebaseappcheckv1exchangedebugtokenrequest *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest) *ProjectsAppsExchangeDebugTokenCall {
  1915  	c := &ProjectsAppsExchangeDebugTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1916  	c.appid = appid
  1917  	c.googlefirebaseappcheckv1exchangedebugtokenrequest = googlefirebaseappcheckv1exchangedebugtokenrequest
  1918  	return c
  1919  }
  1920  
  1921  // Fields allows partial responses to be retrieved. See
  1922  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1923  // details.
  1924  func (c *ProjectsAppsExchangeDebugTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDebugTokenCall {
  1925  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1926  	return c
  1927  }
  1928  
  1929  // Context sets the context to be used in this call's Do method.
  1930  func (c *ProjectsAppsExchangeDebugTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDebugTokenCall {
  1931  	c.ctx_ = ctx
  1932  	return c
  1933  }
  1934  
  1935  // Header returns a http.Header that can be modified by the caller to add
  1936  // headers to the request.
  1937  func (c *ProjectsAppsExchangeDebugTokenCall) Header() http.Header {
  1938  	if c.header_ == nil {
  1939  		c.header_ = make(http.Header)
  1940  	}
  1941  	return c.header_
  1942  }
  1943  
  1944  func (c *ProjectsAppsExchangeDebugTokenCall) doRequest(alt string) (*http.Response, error) {
  1945  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  1946  	var body io.Reader = nil
  1947  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangedebugtokenrequest)
  1948  	if err != nil {
  1949  		return nil, err
  1950  	}
  1951  	c.urlParams_.Set("alt", alt)
  1952  	c.urlParams_.Set("prettyPrint", "false")
  1953  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeDebugToken")
  1954  	urls += "?" + c.urlParams_.Encode()
  1955  	req, err := http.NewRequest("POST", urls, body)
  1956  	if err != nil {
  1957  		return nil, err
  1958  	}
  1959  	req.Header = reqHeaders
  1960  	googleapi.Expand(req.URL, map[string]string{
  1961  		"app": c.appid,
  1962  	})
  1963  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1964  }
  1965  
  1966  // Do executes the "firebaseappcheck.projects.apps.exchangeDebugToken" call.
  1967  // Any non-2xx status code is an error. Response headers are in either
  1968  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  1969  // response was returned at all) in error.(*googleapi.Error).Header. Use
  1970  // googleapi.IsNotModified to check whether the returned error was because
  1971  // http.StatusNotModified was returned.
  1972  func (c *ProjectsAppsExchangeDebugTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  1973  	gensupport.SetOptions(c.urlParams_, opts...)
  1974  	res, err := c.doRequest("json")
  1975  	if res != nil && res.StatusCode == http.StatusNotModified {
  1976  		if res.Body != nil {
  1977  			res.Body.Close()
  1978  		}
  1979  		return nil, gensupport.WrapError(&googleapi.Error{
  1980  			Code:   res.StatusCode,
  1981  			Header: res.Header,
  1982  		})
  1983  	}
  1984  	if err != nil {
  1985  		return nil, err
  1986  	}
  1987  	defer googleapi.CloseBody(res)
  1988  	if err := googleapi.CheckResponse(res); err != nil {
  1989  		return nil, gensupport.WrapError(err)
  1990  	}
  1991  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  1992  		ServerResponse: googleapi.ServerResponse{
  1993  			Header:         res.Header,
  1994  			HTTPStatusCode: res.StatusCode,
  1995  		},
  1996  	}
  1997  	target := &ret
  1998  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1999  		return nil, err
  2000  	}
  2001  	return ret, nil
  2002  }
  2003  
  2004  type ProjectsAppsExchangeDeviceCheckTokenCall struct {
  2005  	s                                                       *Service
  2006  	appid                                                   string
  2007  	googlefirebaseappcheckv1exchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest
  2008  	urlParams_                                              gensupport.URLParams
  2009  	ctx_                                                    context.Context
  2010  	header_                                                 http.Header
  2011  }
  2012  
  2013  // ExchangeDeviceCheckToken: Accepts a `device_token`
  2014  // (https://developer.apple.com/documentation/devicecheck/dcdevice) issued by
  2015  // DeviceCheck, and attempts to validate it with Apple. If valid, returns an
  2016  // AppCheckToken.
  2017  //
  2018  //   - app: The relative resource name of the iOS app, in the format: ```
  2019  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2020  //     `project_number` element can be replaced with the project ID of the
  2021  //     Firebase project. Learn more about using project identifiers in Google's
  2022  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2023  func (r *ProjectsAppsService) ExchangeDeviceCheckToken(appid string, googlefirebaseappcheckv1exchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest) *ProjectsAppsExchangeDeviceCheckTokenCall {
  2024  	c := &ProjectsAppsExchangeDeviceCheckTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2025  	c.appid = appid
  2026  	c.googlefirebaseappcheckv1exchangedevicechecktokenrequest = googlefirebaseappcheckv1exchangedevicechecktokenrequest
  2027  	return c
  2028  }
  2029  
  2030  // Fields allows partial responses to be retrieved. See
  2031  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2032  // details.
  2033  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDeviceCheckTokenCall {
  2034  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2035  	return c
  2036  }
  2037  
  2038  // Context sets the context to be used in this call's Do method.
  2039  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDeviceCheckTokenCall {
  2040  	c.ctx_ = ctx
  2041  	return c
  2042  }
  2043  
  2044  // Header returns a http.Header that can be modified by the caller to add
  2045  // headers to the request.
  2046  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Header() http.Header {
  2047  	if c.header_ == nil {
  2048  		c.header_ = make(http.Header)
  2049  	}
  2050  	return c.header_
  2051  }
  2052  
  2053  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) doRequest(alt string) (*http.Response, error) {
  2054  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2055  	var body io.Reader = nil
  2056  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangedevicechecktokenrequest)
  2057  	if err != nil {
  2058  		return nil, err
  2059  	}
  2060  	c.urlParams_.Set("alt", alt)
  2061  	c.urlParams_.Set("prettyPrint", "false")
  2062  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeDeviceCheckToken")
  2063  	urls += "?" + c.urlParams_.Encode()
  2064  	req, err := http.NewRequest("POST", urls, body)
  2065  	if err != nil {
  2066  		return nil, err
  2067  	}
  2068  	req.Header = reqHeaders
  2069  	googleapi.Expand(req.URL, map[string]string{
  2070  		"app": c.appid,
  2071  	})
  2072  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2073  }
  2074  
  2075  // Do executes the "firebaseappcheck.projects.apps.exchangeDeviceCheckToken" call.
  2076  // Any non-2xx status code is an error. Response headers are in either
  2077  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  2078  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2079  // googleapi.IsNotModified to check whether the returned error was because
  2080  // http.StatusNotModified was returned.
  2081  func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  2082  	gensupport.SetOptions(c.urlParams_, opts...)
  2083  	res, err := c.doRequest("json")
  2084  	if res != nil && res.StatusCode == http.StatusNotModified {
  2085  		if res.Body != nil {
  2086  			res.Body.Close()
  2087  		}
  2088  		return nil, gensupport.WrapError(&googleapi.Error{
  2089  			Code:   res.StatusCode,
  2090  			Header: res.Header,
  2091  		})
  2092  	}
  2093  	if err != nil {
  2094  		return nil, err
  2095  	}
  2096  	defer googleapi.CloseBody(res)
  2097  	if err := googleapi.CheckResponse(res); err != nil {
  2098  		return nil, gensupport.WrapError(err)
  2099  	}
  2100  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  2101  		ServerResponse: googleapi.ServerResponse{
  2102  			Header:         res.Header,
  2103  			HTTPStatusCode: res.StatusCode,
  2104  		},
  2105  	}
  2106  	target := &ret
  2107  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2108  		return nil, err
  2109  	}
  2110  	return ret, nil
  2111  }
  2112  
  2113  type ProjectsAppsExchangePlayIntegrityTokenCall struct {
  2114  	s                                                         *Service
  2115  	appid                                                     string
  2116  	googlefirebaseappcheckv1exchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest
  2117  	urlParams_                                                gensupport.URLParams
  2118  	ctx_                                                      context.Context
  2119  	header_                                                   http.Header
  2120  }
  2121  
  2122  // ExchangePlayIntegrityToken: Validates an integrity verdict response token
  2123  // from Play Integrity
  2124  // (https://developer.android.com/google/play/integrity/verdict#decrypt-verify).
  2125  // If valid, returns an AppCheckToken.
  2126  //
  2127  //   - app: The relative resource name of the Android app, in the format: ```
  2128  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2129  //     `project_number` element can be replaced with the project ID of the
  2130  //     Firebase project. Learn more about using project identifiers in Google's
  2131  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2132  func (r *ProjectsAppsService) ExchangePlayIntegrityToken(appid string, googlefirebaseappcheckv1exchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest) *ProjectsAppsExchangePlayIntegrityTokenCall {
  2133  	c := &ProjectsAppsExchangePlayIntegrityTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2134  	c.appid = appid
  2135  	c.googlefirebaseappcheckv1exchangeplayintegritytokenrequest = googlefirebaseappcheckv1exchangeplayintegritytokenrequest
  2136  	return c
  2137  }
  2138  
  2139  // Fields allows partial responses to be retrieved. See
  2140  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2141  // details.
  2142  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangePlayIntegrityTokenCall {
  2143  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2144  	return c
  2145  }
  2146  
  2147  // Context sets the context to be used in this call's Do method.
  2148  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Context(ctx context.Context) *ProjectsAppsExchangePlayIntegrityTokenCall {
  2149  	c.ctx_ = ctx
  2150  	return c
  2151  }
  2152  
  2153  // Header returns a http.Header that can be modified by the caller to add
  2154  // headers to the request.
  2155  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Header() http.Header {
  2156  	if c.header_ == nil {
  2157  		c.header_ = make(http.Header)
  2158  	}
  2159  	return c.header_
  2160  }
  2161  
  2162  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) doRequest(alt string) (*http.Response, error) {
  2163  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2164  	var body io.Reader = nil
  2165  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeplayintegritytokenrequest)
  2166  	if err != nil {
  2167  		return nil, err
  2168  	}
  2169  	c.urlParams_.Set("alt", alt)
  2170  	c.urlParams_.Set("prettyPrint", "false")
  2171  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangePlayIntegrityToken")
  2172  	urls += "?" + c.urlParams_.Encode()
  2173  	req, err := http.NewRequest("POST", urls, body)
  2174  	if err != nil {
  2175  		return nil, err
  2176  	}
  2177  	req.Header = reqHeaders
  2178  	googleapi.Expand(req.URL, map[string]string{
  2179  		"app": c.appid,
  2180  	})
  2181  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2182  }
  2183  
  2184  // Do executes the "firebaseappcheck.projects.apps.exchangePlayIntegrityToken" call.
  2185  // Any non-2xx status code is an error. Response headers are in either
  2186  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  2187  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2188  // googleapi.IsNotModified to check whether the returned error was because
  2189  // http.StatusNotModified was returned.
  2190  func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  2191  	gensupport.SetOptions(c.urlParams_, opts...)
  2192  	res, err := c.doRequest("json")
  2193  	if res != nil && res.StatusCode == http.StatusNotModified {
  2194  		if res.Body != nil {
  2195  			res.Body.Close()
  2196  		}
  2197  		return nil, gensupport.WrapError(&googleapi.Error{
  2198  			Code:   res.StatusCode,
  2199  			Header: res.Header,
  2200  		})
  2201  	}
  2202  	if err != nil {
  2203  		return nil, err
  2204  	}
  2205  	defer googleapi.CloseBody(res)
  2206  	if err := googleapi.CheckResponse(res); err != nil {
  2207  		return nil, gensupport.WrapError(err)
  2208  	}
  2209  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  2210  		ServerResponse: googleapi.ServerResponse{
  2211  			Header:         res.Header,
  2212  			HTTPStatusCode: res.StatusCode,
  2213  		},
  2214  	}
  2215  	target := &ret
  2216  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2217  		return nil, err
  2218  	}
  2219  	return ret, nil
  2220  }
  2221  
  2222  type ProjectsAppsExchangeRecaptchaEnterpriseTokenCall struct {
  2223  	s                                                               *Service
  2224  	appid                                                           string
  2225  	googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest
  2226  	urlParams_                                                      gensupport.URLParams
  2227  	ctx_                                                            context.Context
  2228  	header_                                                         http.Header
  2229  }
  2230  
  2231  // ExchangeRecaptchaEnterpriseToken: Validates a reCAPTCHA Enterprise response
  2232  // token
  2233  // (https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token).
  2234  // If valid, returns an AppCheckToken.
  2235  //
  2236  //   - app: The relative resource name of the web app, in the format: ```
  2237  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2238  //     `project_number` element can be replaced with the project ID of the
  2239  //     Firebase project. Learn more about using project identifiers in Google's
  2240  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2241  func (r *ProjectsAppsService) ExchangeRecaptchaEnterpriseToken(appid string, googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  2242  	c := &ProjectsAppsExchangeRecaptchaEnterpriseTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2243  	c.appid = appid
  2244  	c.googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest = googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest
  2245  	return c
  2246  }
  2247  
  2248  // Fields allows partial responses to be retrieved. See
  2249  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2250  // details.
  2251  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  2252  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2253  	return c
  2254  }
  2255  
  2256  // Context sets the context to be used in this call's Do method.
  2257  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall {
  2258  	c.ctx_ = ctx
  2259  	return c
  2260  }
  2261  
  2262  // Header returns a http.Header that can be modified by the caller to add
  2263  // headers to the request.
  2264  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Header() http.Header {
  2265  	if c.header_ == nil {
  2266  		c.header_ = make(http.Header)
  2267  	}
  2268  	return c.header_
  2269  }
  2270  
  2271  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) (*http.Response, error) {
  2272  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2273  	var body io.Reader = nil
  2274  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest)
  2275  	if err != nil {
  2276  		return nil, err
  2277  	}
  2278  	c.urlParams_.Set("alt", alt)
  2279  	c.urlParams_.Set("prettyPrint", "false")
  2280  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeRecaptchaEnterpriseToken")
  2281  	urls += "?" + c.urlParams_.Encode()
  2282  	req, err := http.NewRequest("POST", urls, body)
  2283  	if err != nil {
  2284  		return nil, err
  2285  	}
  2286  	req.Header = reqHeaders
  2287  	googleapi.Expand(req.URL, map[string]string{
  2288  		"app": c.appid,
  2289  	})
  2290  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2291  }
  2292  
  2293  // Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken" call.
  2294  // Any non-2xx status code is an error. Response headers are in either
  2295  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  2296  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2297  // googleapi.IsNotModified to check whether the returned error was because
  2298  // http.StatusNotModified was returned.
  2299  func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  2300  	gensupport.SetOptions(c.urlParams_, opts...)
  2301  	res, err := c.doRequest("json")
  2302  	if res != nil && res.StatusCode == http.StatusNotModified {
  2303  		if res.Body != nil {
  2304  			res.Body.Close()
  2305  		}
  2306  		return nil, gensupport.WrapError(&googleapi.Error{
  2307  			Code:   res.StatusCode,
  2308  			Header: res.Header,
  2309  		})
  2310  	}
  2311  	if err != nil {
  2312  		return nil, err
  2313  	}
  2314  	defer googleapi.CloseBody(res)
  2315  	if err := googleapi.CheckResponse(res); err != nil {
  2316  		return nil, gensupport.WrapError(err)
  2317  	}
  2318  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  2319  		ServerResponse: googleapi.ServerResponse{
  2320  			Header:         res.Header,
  2321  			HTTPStatusCode: res.StatusCode,
  2322  		},
  2323  	}
  2324  	target := &ret
  2325  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2326  		return nil, err
  2327  	}
  2328  	return ret, nil
  2329  }
  2330  
  2331  type ProjectsAppsExchangeRecaptchaV3TokenCall struct {
  2332  	s                                                       *Service
  2333  	appid                                                   string
  2334  	googlefirebaseappcheckv1exchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest
  2335  	urlParams_                                              gensupport.URLParams
  2336  	ctx_                                                    context.Context
  2337  	header_                                                 http.Header
  2338  }
  2339  
  2340  // ExchangeRecaptchaV3Token: Validates a reCAPTCHA v3 response token
  2341  // (https://developers.google.com/recaptcha/docs/v3). If valid, returns an
  2342  // AppCheckToken.
  2343  //
  2344  //   - app: The relative resource name of the web app, in the format: ```
  2345  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2346  //     `project_number` element can be replaced with the project ID of the
  2347  //     Firebase project. Learn more about using project identifiers in Google's
  2348  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2349  func (r *ProjectsAppsService) ExchangeRecaptchaV3Token(appid string, googlefirebaseappcheckv1exchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  2350  	c := &ProjectsAppsExchangeRecaptchaV3TokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2351  	c.appid = appid
  2352  	c.googlefirebaseappcheckv1exchangerecaptchav3tokenrequest = googlefirebaseappcheckv1exchangerecaptchav3tokenrequest
  2353  	return c
  2354  }
  2355  
  2356  // Fields allows partial responses to be retrieved. See
  2357  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2358  // details.
  2359  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  2360  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2361  	return c
  2362  }
  2363  
  2364  // Context sets the context to be used in this call's Do method.
  2365  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaV3TokenCall {
  2366  	c.ctx_ = ctx
  2367  	return c
  2368  }
  2369  
  2370  // Header returns a http.Header that can be modified by the caller to add
  2371  // headers to the request.
  2372  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Header() http.Header {
  2373  	if c.header_ == nil {
  2374  		c.header_ = make(http.Header)
  2375  	}
  2376  	return c.header_
  2377  }
  2378  
  2379  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http.Response, error) {
  2380  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2381  	var body io.Reader = nil
  2382  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangerecaptchav3tokenrequest)
  2383  	if err != nil {
  2384  		return nil, err
  2385  	}
  2386  	c.urlParams_.Set("alt", alt)
  2387  	c.urlParams_.Set("prettyPrint", "false")
  2388  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeRecaptchaV3Token")
  2389  	urls += "?" + c.urlParams_.Encode()
  2390  	req, err := http.NewRequest("POST", urls, body)
  2391  	if err != nil {
  2392  		return nil, err
  2393  	}
  2394  	req.Header = reqHeaders
  2395  	googleapi.Expand(req.URL, map[string]string{
  2396  		"app": c.appid,
  2397  	})
  2398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2399  }
  2400  
  2401  // Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token" call.
  2402  // Any non-2xx status code is an error. Response headers are in either
  2403  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  2404  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2405  // googleapi.IsNotModified to check whether the returned error was because
  2406  // http.StatusNotModified was returned.
  2407  func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  2408  	gensupport.SetOptions(c.urlParams_, opts...)
  2409  	res, err := c.doRequest("json")
  2410  	if res != nil && res.StatusCode == http.StatusNotModified {
  2411  		if res.Body != nil {
  2412  			res.Body.Close()
  2413  		}
  2414  		return nil, gensupport.WrapError(&googleapi.Error{
  2415  			Code:   res.StatusCode,
  2416  			Header: res.Header,
  2417  		})
  2418  	}
  2419  	if err != nil {
  2420  		return nil, err
  2421  	}
  2422  	defer googleapi.CloseBody(res)
  2423  	if err := googleapi.CheckResponse(res); err != nil {
  2424  		return nil, gensupport.WrapError(err)
  2425  	}
  2426  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  2427  		ServerResponse: googleapi.ServerResponse{
  2428  			Header:         res.Header,
  2429  			HTTPStatusCode: res.StatusCode,
  2430  		},
  2431  	}
  2432  	target := &ret
  2433  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2434  		return nil, err
  2435  	}
  2436  	return ret, nil
  2437  }
  2438  
  2439  type ProjectsAppsExchangeSafetyNetTokenCall struct {
  2440  	s                                                     *Service
  2441  	appid                                                 string
  2442  	googlefirebaseappcheckv1exchangesafetynettokenrequest *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest
  2443  	urlParams_                                            gensupport.URLParams
  2444  	ctx_                                                  context.Context
  2445  	header_                                               http.Header
  2446  }
  2447  
  2448  // ExchangeSafetyNetToken: Validates a SafetyNet token
  2449  // (https://developer.android.com/training/safetynet/attestation#request-attestation-step).
  2450  // If valid, returns an AppCheckToken.
  2451  //
  2452  //   - app: The relative resource name of the Android app, in the format: ```
  2453  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2454  //     `project_number` element can be replaced with the project ID of the
  2455  //     Firebase project. Learn more about using project identifiers in Google's
  2456  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2457  func (r *ProjectsAppsService) ExchangeSafetyNetToken(appid string, googlefirebaseappcheckv1exchangesafetynettokenrequest *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest) *ProjectsAppsExchangeSafetyNetTokenCall {
  2458  	c := &ProjectsAppsExchangeSafetyNetTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2459  	c.appid = appid
  2460  	c.googlefirebaseappcheckv1exchangesafetynettokenrequest = googlefirebaseappcheckv1exchangesafetynettokenrequest
  2461  	return c
  2462  }
  2463  
  2464  // Fields allows partial responses to be retrieved. See
  2465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2466  // details.
  2467  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeSafetyNetTokenCall {
  2468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2469  	return c
  2470  }
  2471  
  2472  // Context sets the context to be used in this call's Do method.
  2473  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeSafetyNetTokenCall {
  2474  	c.ctx_ = ctx
  2475  	return c
  2476  }
  2477  
  2478  // Header returns a http.Header that can be modified by the caller to add
  2479  // headers to the request.
  2480  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Header() http.Header {
  2481  	if c.header_ == nil {
  2482  		c.header_ = make(http.Header)
  2483  	}
  2484  	return c.header_
  2485  }
  2486  
  2487  func (c *ProjectsAppsExchangeSafetyNetTokenCall) doRequest(alt string) (*http.Response, error) {
  2488  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2489  	var body io.Reader = nil
  2490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangesafetynettokenrequest)
  2491  	if err != nil {
  2492  		return nil, err
  2493  	}
  2494  	c.urlParams_.Set("alt", alt)
  2495  	c.urlParams_.Set("prettyPrint", "false")
  2496  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeSafetyNetToken")
  2497  	urls += "?" + c.urlParams_.Encode()
  2498  	req, err := http.NewRequest("POST", urls, body)
  2499  	if err != nil {
  2500  		return nil, err
  2501  	}
  2502  	req.Header = reqHeaders
  2503  	googleapi.Expand(req.URL, map[string]string{
  2504  		"app": c.appid,
  2505  	})
  2506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2507  }
  2508  
  2509  // Do executes the "firebaseappcheck.projects.apps.exchangeSafetyNetToken" call.
  2510  // Any non-2xx status code is an error. Response headers are in either
  2511  // *GoogleFirebaseAppcheckV1AppCheckToken.ServerResponse.Header or (if a
  2512  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2513  // googleapi.IsNotModified to check whether the returned error was because
  2514  // http.StatusNotModified was returned.
  2515  func (c *ProjectsAppsExchangeSafetyNetTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) {
  2516  	gensupport.SetOptions(c.urlParams_, opts...)
  2517  	res, err := c.doRequest("json")
  2518  	if res != nil && res.StatusCode == http.StatusNotModified {
  2519  		if res.Body != nil {
  2520  			res.Body.Close()
  2521  		}
  2522  		return nil, gensupport.WrapError(&googleapi.Error{
  2523  			Code:   res.StatusCode,
  2524  			Header: res.Header,
  2525  		})
  2526  	}
  2527  	if err != nil {
  2528  		return nil, err
  2529  	}
  2530  	defer googleapi.CloseBody(res)
  2531  	if err := googleapi.CheckResponse(res); err != nil {
  2532  		return nil, gensupport.WrapError(err)
  2533  	}
  2534  	ret := &GoogleFirebaseAppcheckV1AppCheckToken{
  2535  		ServerResponse: googleapi.ServerResponse{
  2536  			Header:         res.Header,
  2537  			HTTPStatusCode: res.StatusCode,
  2538  		},
  2539  	}
  2540  	target := &ret
  2541  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2542  		return nil, err
  2543  	}
  2544  	return ret, nil
  2545  }
  2546  
  2547  type ProjectsAppsGenerateAppAttestChallengeCall struct {
  2548  	s                                                         *Service
  2549  	appid                                                     string
  2550  	googlefirebaseappcheckv1generateappattestchallengerequest *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest
  2551  	urlParams_                                                gensupport.URLParams
  2552  	ctx_                                                      context.Context
  2553  	header_                                                   http.Header
  2554  }
  2555  
  2556  // GenerateAppAttestChallenge: Generates a challenge that protects the
  2557  // integrity of an immediately following call to ExchangeAppAttestAttestation
  2558  // or ExchangeAppAttestAssertion. A challenge should not be reused for multiple
  2559  // calls.
  2560  //
  2561  //   - app: The relative resource name of the iOS app, in the format: ```
  2562  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2563  //     `project_number` element can be replaced with the project ID of the
  2564  //     Firebase project. Learn more about using project identifiers in Google's
  2565  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2566  func (r *ProjectsAppsService) GenerateAppAttestChallenge(appid string, googlefirebaseappcheckv1generateappattestchallengerequest *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest) *ProjectsAppsGenerateAppAttestChallengeCall {
  2567  	c := &ProjectsAppsGenerateAppAttestChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2568  	c.appid = appid
  2569  	c.googlefirebaseappcheckv1generateappattestchallengerequest = googlefirebaseappcheckv1generateappattestchallengerequest
  2570  	return c
  2571  }
  2572  
  2573  // Fields allows partial responses to be retrieved. See
  2574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2575  // details.
  2576  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGenerateAppAttestChallengeCall {
  2577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2578  	return c
  2579  }
  2580  
  2581  // Context sets the context to be used in this call's Do method.
  2582  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Context(ctx context.Context) *ProjectsAppsGenerateAppAttestChallengeCall {
  2583  	c.ctx_ = ctx
  2584  	return c
  2585  }
  2586  
  2587  // Header returns a http.Header that can be modified by the caller to add
  2588  // headers to the request.
  2589  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Header() http.Header {
  2590  	if c.header_ == nil {
  2591  		c.header_ = make(http.Header)
  2592  	}
  2593  	return c.header_
  2594  }
  2595  
  2596  func (c *ProjectsAppsGenerateAppAttestChallengeCall) doRequest(alt string) (*http.Response, error) {
  2597  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2598  	var body io.Reader = nil
  2599  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1generateappattestchallengerequest)
  2600  	if err != nil {
  2601  		return nil, err
  2602  	}
  2603  	c.urlParams_.Set("alt", alt)
  2604  	c.urlParams_.Set("prettyPrint", "false")
  2605  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:generateAppAttestChallenge")
  2606  	urls += "?" + c.urlParams_.Encode()
  2607  	req, err := http.NewRequest("POST", urls, body)
  2608  	if err != nil {
  2609  		return nil, err
  2610  	}
  2611  	req.Header = reqHeaders
  2612  	googleapi.Expand(req.URL, map[string]string{
  2613  		"app": c.appid,
  2614  	})
  2615  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2616  }
  2617  
  2618  // Do executes the "firebaseappcheck.projects.apps.generateAppAttestChallenge" call.
  2619  // Any non-2xx status code is an error. Response headers are in either
  2620  // *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse.ServerResponse.He
  2621  // ader or (if a response was returned at all) in
  2622  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2623  // whether the returned error was because http.StatusNotModified was returned.
  2624  func (c *ProjectsAppsGenerateAppAttestChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse, error) {
  2625  	gensupport.SetOptions(c.urlParams_, opts...)
  2626  	res, err := c.doRequest("json")
  2627  	if res != nil && res.StatusCode == http.StatusNotModified {
  2628  		if res.Body != nil {
  2629  			res.Body.Close()
  2630  		}
  2631  		return nil, gensupport.WrapError(&googleapi.Error{
  2632  			Code:   res.StatusCode,
  2633  			Header: res.Header,
  2634  		})
  2635  	}
  2636  	if err != nil {
  2637  		return nil, err
  2638  	}
  2639  	defer googleapi.CloseBody(res)
  2640  	if err := googleapi.CheckResponse(res); err != nil {
  2641  		return nil, gensupport.WrapError(err)
  2642  	}
  2643  	ret := &GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse{
  2644  		ServerResponse: googleapi.ServerResponse{
  2645  			Header:         res.Header,
  2646  			HTTPStatusCode: res.StatusCode,
  2647  		},
  2648  	}
  2649  	target := &ret
  2650  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2651  		return nil, err
  2652  	}
  2653  	return ret, nil
  2654  }
  2655  
  2656  type ProjectsAppsGeneratePlayIntegrityChallengeCall struct {
  2657  	s                                                             *Service
  2658  	appid                                                         string
  2659  	googlefirebaseappcheckv1generateplayintegritychallengerequest *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest
  2660  	urlParams_                                                    gensupport.URLParams
  2661  	ctx_                                                          context.Context
  2662  	header_                                                       http.Header
  2663  }
  2664  
  2665  // GeneratePlayIntegrityChallenge: Generates a challenge that protects the
  2666  // integrity of an immediately following integrity verdict request to the Play
  2667  // Integrity API. The next call to ExchangePlayIntegrityToken using the
  2668  // resulting integrity token will verify the presence and validity of the
  2669  // challenge. A challenge should not be reused for multiple calls.
  2670  //
  2671  //   - app: The relative resource name of the app, in the format: ```
  2672  //     projects/{project_number}/apps/{app_id} ``` If necessary, the
  2673  //     `project_number` element can be replaced with the project ID of the
  2674  //     Firebase project. Learn more about using project identifiers in Google's
  2675  //     AIP 2510 (https://google.aip.dev/cloud/2510) standard.
  2676  func (r *ProjectsAppsService) GeneratePlayIntegrityChallenge(appid string, googlefirebaseappcheckv1generateplayintegritychallengerequest *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  2677  	c := &ProjectsAppsGeneratePlayIntegrityChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2678  	c.appid = appid
  2679  	c.googlefirebaseappcheckv1generateplayintegritychallengerequest = googlefirebaseappcheckv1generateplayintegritychallengerequest
  2680  	return c
  2681  }
  2682  
  2683  // Fields allows partial responses to be retrieved. See
  2684  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2685  // details.
  2686  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  2687  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2688  	return c
  2689  }
  2690  
  2691  // Context sets the context to be used in this call's Do method.
  2692  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Context(ctx context.Context) *ProjectsAppsGeneratePlayIntegrityChallengeCall {
  2693  	c.ctx_ = ctx
  2694  	return c
  2695  }
  2696  
  2697  // Header returns a http.Header that can be modified by the caller to add
  2698  // headers to the request.
  2699  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Header() http.Header {
  2700  	if c.header_ == nil {
  2701  		c.header_ = make(http.Header)
  2702  	}
  2703  	return c.header_
  2704  }
  2705  
  2706  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) doRequest(alt string) (*http.Response, error) {
  2707  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2708  	var body io.Reader = nil
  2709  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1generateplayintegritychallengerequest)
  2710  	if err != nil {
  2711  		return nil, err
  2712  	}
  2713  	c.urlParams_.Set("alt", alt)
  2714  	c.urlParams_.Set("prettyPrint", "false")
  2715  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:generatePlayIntegrityChallenge")
  2716  	urls += "?" + c.urlParams_.Encode()
  2717  	req, err := http.NewRequest("POST", urls, body)
  2718  	if err != nil {
  2719  		return nil, err
  2720  	}
  2721  	req.Header = reqHeaders
  2722  	googleapi.Expand(req.URL, map[string]string{
  2723  		"app": c.appid,
  2724  	})
  2725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2726  }
  2727  
  2728  // Do executes the "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge" call.
  2729  // Any non-2xx status code is an error. Response headers are in either
  2730  // *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse.ServerRespons
  2731  // e.Header or (if a response was returned at all) in
  2732  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2733  // whether the returned error was because http.StatusNotModified was returned.
  2734  func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse, error) {
  2735  	gensupport.SetOptions(c.urlParams_, opts...)
  2736  	res, err := c.doRequest("json")
  2737  	if res != nil && res.StatusCode == http.StatusNotModified {
  2738  		if res.Body != nil {
  2739  			res.Body.Close()
  2740  		}
  2741  		return nil, gensupport.WrapError(&googleapi.Error{
  2742  			Code:   res.StatusCode,
  2743  			Header: res.Header,
  2744  		})
  2745  	}
  2746  	if err != nil {
  2747  		return nil, err
  2748  	}
  2749  	defer googleapi.CloseBody(res)
  2750  	if err := googleapi.CheckResponse(res); err != nil {
  2751  		return nil, gensupport.WrapError(err)
  2752  	}
  2753  	ret := &GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse{
  2754  		ServerResponse: googleapi.ServerResponse{
  2755  			Header:         res.Header,
  2756  			HTTPStatusCode: res.StatusCode,
  2757  		},
  2758  	}
  2759  	target := &ret
  2760  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2761  		return nil, err
  2762  	}
  2763  	return ret, nil
  2764  }
  2765  
  2766  type ProjectsAppsAppAttestConfigBatchGetCall struct {
  2767  	s            *Service
  2768  	parent       string
  2769  	urlParams_   gensupport.URLParams
  2770  	ifNoneMatch_ string
  2771  	ctx_         context.Context
  2772  	header_      http.Header
  2773  }
  2774  
  2775  // BatchGet: Atomically gets the AppAttestConfigs for the specified list of
  2776  // apps.
  2777  //
  2778  //   - parent: The parent project name shared by all AppAttestConfigs being
  2779  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  2780  //     collection in the `name` field of any resource being retrieved must match
  2781  //     this field, or the entire batch fails.
  2782  func (r *ProjectsAppsAppAttestConfigService) BatchGet(parent string) *ProjectsAppsAppAttestConfigBatchGetCall {
  2783  	c := &ProjectsAppsAppAttestConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2784  	c.parent = parent
  2785  	return c
  2786  }
  2787  
  2788  // Names sets the optional parameter "names": Required. The relative resource
  2789  // names of the AppAttestConfigs to retrieve, in the format ```
  2790  // projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100
  2791  // objects can be retrieved in a batch.
  2792  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Names(names ...string) *ProjectsAppsAppAttestConfigBatchGetCall {
  2793  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  2794  	return c
  2795  }
  2796  
  2797  // Fields allows partial responses to be retrieved. See
  2798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2799  // details.
  2800  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigBatchGetCall {
  2801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2802  	return c
  2803  }
  2804  
  2805  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2806  // object's ETag matches the given value. This is useful for getting updates
  2807  // only after the object has changed since the last request.
  2808  func (c *ProjectsAppsAppAttestConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigBatchGetCall {
  2809  	c.ifNoneMatch_ = entityTag
  2810  	return c
  2811  }
  2812  
  2813  // Context sets the context to be used in this call's Do method.
  2814  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigBatchGetCall {
  2815  	c.ctx_ = ctx
  2816  	return c
  2817  }
  2818  
  2819  // Header returns a http.Header that can be modified by the caller to add
  2820  // headers to the request.
  2821  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Header() http.Header {
  2822  	if c.header_ == nil {
  2823  		c.header_ = make(http.Header)
  2824  	}
  2825  	return c.header_
  2826  }
  2827  
  2828  func (c *ProjectsAppsAppAttestConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  2829  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2830  	if c.ifNoneMatch_ != "" {
  2831  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2832  	}
  2833  	var body io.Reader = nil
  2834  	c.urlParams_.Set("alt", alt)
  2835  	c.urlParams_.Set("prettyPrint", "false")
  2836  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/appAttestConfig:batchGet")
  2837  	urls += "?" + c.urlParams_.Encode()
  2838  	req, err := http.NewRequest("GET", urls, body)
  2839  	if err != nil {
  2840  		return nil, err
  2841  	}
  2842  	req.Header = reqHeaders
  2843  	googleapi.Expand(req.URL, map[string]string{
  2844  		"parent": c.parent,
  2845  	})
  2846  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2847  }
  2848  
  2849  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.batchGet" call.
  2850  // Any non-2xx status code is an error. Response headers are in either
  2851  // *GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse.ServerResponse.Head
  2852  // er or (if a response was returned at all) in
  2853  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2854  // whether the returned error was because http.StatusNotModified was returned.
  2855  func (c *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse, error) {
  2856  	gensupport.SetOptions(c.urlParams_, opts...)
  2857  	res, err := c.doRequest("json")
  2858  	if res != nil && res.StatusCode == http.StatusNotModified {
  2859  		if res.Body != nil {
  2860  			res.Body.Close()
  2861  		}
  2862  		return nil, gensupport.WrapError(&googleapi.Error{
  2863  			Code:   res.StatusCode,
  2864  			Header: res.Header,
  2865  		})
  2866  	}
  2867  	if err != nil {
  2868  		return nil, err
  2869  	}
  2870  	defer googleapi.CloseBody(res)
  2871  	if err := googleapi.CheckResponse(res); err != nil {
  2872  		return nil, gensupport.WrapError(err)
  2873  	}
  2874  	ret := &GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse{
  2875  		ServerResponse: googleapi.ServerResponse{
  2876  			Header:         res.Header,
  2877  			HTTPStatusCode: res.StatusCode,
  2878  		},
  2879  	}
  2880  	target := &ret
  2881  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2882  		return nil, err
  2883  	}
  2884  	return ret, nil
  2885  }
  2886  
  2887  type ProjectsAppsAppAttestConfigGetCall struct {
  2888  	s            *Service
  2889  	name         string
  2890  	urlParams_   gensupport.URLParams
  2891  	ifNoneMatch_ string
  2892  	ctx_         context.Context
  2893  	header_      http.Header
  2894  }
  2895  
  2896  // Get: Gets the AppAttestConfig for the specified app.
  2897  //
  2898  //   - name: The relative resource name of the AppAttestConfig, in the format:
  2899  //     ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```.
  2900  func (r *ProjectsAppsAppAttestConfigService) Get(name string) *ProjectsAppsAppAttestConfigGetCall {
  2901  	c := &ProjectsAppsAppAttestConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2902  	c.name = name
  2903  	return c
  2904  }
  2905  
  2906  // Fields allows partial responses to be retrieved. See
  2907  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2908  // details.
  2909  func (c *ProjectsAppsAppAttestConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigGetCall {
  2910  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2911  	return c
  2912  }
  2913  
  2914  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2915  // object's ETag matches the given value. This is useful for getting updates
  2916  // only after the object has changed since the last request.
  2917  func (c *ProjectsAppsAppAttestConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigGetCall {
  2918  	c.ifNoneMatch_ = entityTag
  2919  	return c
  2920  }
  2921  
  2922  // Context sets the context to be used in this call's Do method.
  2923  func (c *ProjectsAppsAppAttestConfigGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigGetCall {
  2924  	c.ctx_ = ctx
  2925  	return c
  2926  }
  2927  
  2928  // Header returns a http.Header that can be modified by the caller to add
  2929  // headers to the request.
  2930  func (c *ProjectsAppsAppAttestConfigGetCall) Header() http.Header {
  2931  	if c.header_ == nil {
  2932  		c.header_ = make(http.Header)
  2933  	}
  2934  	return c.header_
  2935  }
  2936  
  2937  func (c *ProjectsAppsAppAttestConfigGetCall) doRequest(alt string) (*http.Response, error) {
  2938  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2939  	if c.ifNoneMatch_ != "" {
  2940  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2941  	}
  2942  	var body io.Reader = nil
  2943  	c.urlParams_.Set("alt", alt)
  2944  	c.urlParams_.Set("prettyPrint", "false")
  2945  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  2946  	urls += "?" + c.urlParams_.Encode()
  2947  	req, err := http.NewRequest("GET", urls, body)
  2948  	if err != nil {
  2949  		return nil, err
  2950  	}
  2951  	req.Header = reqHeaders
  2952  	googleapi.Expand(req.URL, map[string]string{
  2953  		"name": c.name,
  2954  	})
  2955  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2956  }
  2957  
  2958  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.get" call.
  2959  // Any non-2xx status code is an error. Response headers are in either
  2960  // *GoogleFirebaseAppcheckV1AppAttestConfig.ServerResponse.Header or (if a
  2961  // response was returned at all) in error.(*googleapi.Error).Header. Use
  2962  // googleapi.IsNotModified to check whether the returned error was because
  2963  // http.StatusNotModified was returned.
  2964  func (c *ProjectsAppsAppAttestConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppAttestConfig, error) {
  2965  	gensupport.SetOptions(c.urlParams_, opts...)
  2966  	res, err := c.doRequest("json")
  2967  	if res != nil && res.StatusCode == http.StatusNotModified {
  2968  		if res.Body != nil {
  2969  			res.Body.Close()
  2970  		}
  2971  		return nil, gensupport.WrapError(&googleapi.Error{
  2972  			Code:   res.StatusCode,
  2973  			Header: res.Header,
  2974  		})
  2975  	}
  2976  	if err != nil {
  2977  		return nil, err
  2978  	}
  2979  	defer googleapi.CloseBody(res)
  2980  	if err := googleapi.CheckResponse(res); err != nil {
  2981  		return nil, gensupport.WrapError(err)
  2982  	}
  2983  	ret := &GoogleFirebaseAppcheckV1AppAttestConfig{
  2984  		ServerResponse: googleapi.ServerResponse{
  2985  			Header:         res.Header,
  2986  			HTTPStatusCode: res.StatusCode,
  2987  		},
  2988  	}
  2989  	target := &ret
  2990  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2991  		return nil, err
  2992  	}
  2993  	return ret, nil
  2994  }
  2995  
  2996  type ProjectsAppsAppAttestConfigPatchCall struct {
  2997  	s                                       *Service
  2998  	name                                    string
  2999  	googlefirebaseappcheckv1appattestconfig *GoogleFirebaseAppcheckV1AppAttestConfig
  3000  	urlParams_                              gensupport.URLParams
  3001  	ctx_                                    context.Context
  3002  	header_                                 http.Header
  3003  }
  3004  
  3005  // Patch: Updates the AppAttestConfig for the specified app. While this
  3006  // configuration is incomplete or invalid, the app will be unable to exchange
  3007  // AppAttest tokens for App Check tokens.
  3008  //
  3009  //   - name: The relative resource name of the App Attest configuration object,
  3010  //     in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig
  3011  //     ```.
  3012  func (r *ProjectsAppsAppAttestConfigService) Patch(name string, googlefirebaseappcheckv1appattestconfig *GoogleFirebaseAppcheckV1AppAttestConfig) *ProjectsAppsAppAttestConfigPatchCall {
  3013  	c := &ProjectsAppsAppAttestConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3014  	c.name = name
  3015  	c.googlefirebaseappcheckv1appattestconfig = googlefirebaseappcheckv1appattestconfig
  3016  	return c
  3017  }
  3018  
  3019  // UpdateMask sets the optional parameter "updateMask": Required. A
  3020  // comma-separated list of names of fields in the AppAttestConfig to update.
  3021  // Example: `token_ttl`.
  3022  func (c *ProjectsAppsAppAttestConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsAppAttestConfigPatchCall {
  3023  	c.urlParams_.Set("updateMask", updateMask)
  3024  	return c
  3025  }
  3026  
  3027  // Fields allows partial responses to be retrieved. See
  3028  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3029  // details.
  3030  func (c *ProjectsAppsAppAttestConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigPatchCall {
  3031  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3032  	return c
  3033  }
  3034  
  3035  // Context sets the context to be used in this call's Do method.
  3036  func (c *ProjectsAppsAppAttestConfigPatchCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigPatchCall {
  3037  	c.ctx_ = ctx
  3038  	return c
  3039  }
  3040  
  3041  // Header returns a http.Header that can be modified by the caller to add
  3042  // headers to the request.
  3043  func (c *ProjectsAppsAppAttestConfigPatchCall) Header() http.Header {
  3044  	if c.header_ == nil {
  3045  		c.header_ = make(http.Header)
  3046  	}
  3047  	return c.header_
  3048  }
  3049  
  3050  func (c *ProjectsAppsAppAttestConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  3051  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3052  	var body io.Reader = nil
  3053  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1appattestconfig)
  3054  	if err != nil {
  3055  		return nil, err
  3056  	}
  3057  	c.urlParams_.Set("alt", alt)
  3058  	c.urlParams_.Set("prettyPrint", "false")
  3059  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3060  	urls += "?" + c.urlParams_.Encode()
  3061  	req, err := http.NewRequest("PATCH", urls, body)
  3062  	if err != nil {
  3063  		return nil, err
  3064  	}
  3065  	req.Header = reqHeaders
  3066  	googleapi.Expand(req.URL, map[string]string{
  3067  		"name": c.name,
  3068  	})
  3069  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3070  }
  3071  
  3072  // Do executes the "firebaseappcheck.projects.apps.appAttestConfig.patch" call.
  3073  // Any non-2xx status code is an error. Response headers are in either
  3074  // *GoogleFirebaseAppcheckV1AppAttestConfig.ServerResponse.Header or (if a
  3075  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3076  // googleapi.IsNotModified to check whether the returned error was because
  3077  // http.StatusNotModified was returned.
  3078  func (c *ProjectsAppsAppAttestConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppAttestConfig, error) {
  3079  	gensupport.SetOptions(c.urlParams_, opts...)
  3080  	res, err := c.doRequest("json")
  3081  	if res != nil && res.StatusCode == http.StatusNotModified {
  3082  		if res.Body != nil {
  3083  			res.Body.Close()
  3084  		}
  3085  		return nil, gensupport.WrapError(&googleapi.Error{
  3086  			Code:   res.StatusCode,
  3087  			Header: res.Header,
  3088  		})
  3089  	}
  3090  	if err != nil {
  3091  		return nil, err
  3092  	}
  3093  	defer googleapi.CloseBody(res)
  3094  	if err := googleapi.CheckResponse(res); err != nil {
  3095  		return nil, gensupport.WrapError(err)
  3096  	}
  3097  	ret := &GoogleFirebaseAppcheckV1AppAttestConfig{
  3098  		ServerResponse: googleapi.ServerResponse{
  3099  			Header:         res.Header,
  3100  			HTTPStatusCode: res.StatusCode,
  3101  		},
  3102  	}
  3103  	target := &ret
  3104  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3105  		return nil, err
  3106  	}
  3107  	return ret, nil
  3108  }
  3109  
  3110  type ProjectsAppsDebugTokensCreateCall struct {
  3111  	s                                  *Service
  3112  	parent                             string
  3113  	googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken
  3114  	urlParams_                         gensupport.URLParams
  3115  	ctx_                               context.Context
  3116  	header_                            http.Header
  3117  }
  3118  
  3119  // Create: Creates a new DebugToken for the specified app. For security
  3120  // reasons, after the creation operation completes, the `token` field cannot be
  3121  // updated or retrieved, but you can revoke the debug token using
  3122  // DeleteDebugToken. Each app can have a maximum of 20 debug tokens.
  3123  //
  3124  //   - parent: The relative resource name of the parent app in which the
  3125  //     specified DebugToken will be created, in the format: ```
  3126  //     projects/{project_number}/apps/{app_id} ```.
  3127  func (r *ProjectsAppsDebugTokensService) Create(parent string, googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken) *ProjectsAppsDebugTokensCreateCall {
  3128  	c := &ProjectsAppsDebugTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3129  	c.parent = parent
  3130  	c.googlefirebaseappcheckv1debugtoken = googlefirebaseappcheckv1debugtoken
  3131  	return c
  3132  }
  3133  
  3134  // Fields allows partial responses to be retrieved. See
  3135  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3136  // details.
  3137  func (c *ProjectsAppsDebugTokensCreateCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensCreateCall {
  3138  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3139  	return c
  3140  }
  3141  
  3142  // Context sets the context to be used in this call's Do method.
  3143  func (c *ProjectsAppsDebugTokensCreateCall) Context(ctx context.Context) *ProjectsAppsDebugTokensCreateCall {
  3144  	c.ctx_ = ctx
  3145  	return c
  3146  }
  3147  
  3148  // Header returns a http.Header that can be modified by the caller to add
  3149  // headers to the request.
  3150  func (c *ProjectsAppsDebugTokensCreateCall) Header() http.Header {
  3151  	if c.header_ == nil {
  3152  		c.header_ = make(http.Header)
  3153  	}
  3154  	return c.header_
  3155  }
  3156  
  3157  func (c *ProjectsAppsDebugTokensCreateCall) doRequest(alt string) (*http.Response, error) {
  3158  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3159  	var body io.Reader = nil
  3160  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1debugtoken)
  3161  	if err != nil {
  3162  		return nil, err
  3163  	}
  3164  	c.urlParams_.Set("alt", alt)
  3165  	c.urlParams_.Set("prettyPrint", "false")
  3166  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/debugTokens")
  3167  	urls += "?" + c.urlParams_.Encode()
  3168  	req, err := http.NewRequest("POST", urls, body)
  3169  	if err != nil {
  3170  		return nil, err
  3171  	}
  3172  	req.Header = reqHeaders
  3173  	googleapi.Expand(req.URL, map[string]string{
  3174  		"parent": c.parent,
  3175  	})
  3176  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3177  }
  3178  
  3179  // Do executes the "firebaseappcheck.projects.apps.debugTokens.create" call.
  3180  // Any non-2xx status code is an error. Response headers are in either
  3181  // *GoogleFirebaseAppcheckV1DebugToken.ServerResponse.Header or (if a response
  3182  // was returned at all) in error.(*googleapi.Error).Header. Use
  3183  // googleapi.IsNotModified to check whether the returned error was because
  3184  // http.StatusNotModified was returned.
  3185  func (c *ProjectsAppsDebugTokensCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) {
  3186  	gensupport.SetOptions(c.urlParams_, opts...)
  3187  	res, err := c.doRequest("json")
  3188  	if res != nil && res.StatusCode == http.StatusNotModified {
  3189  		if res.Body != nil {
  3190  			res.Body.Close()
  3191  		}
  3192  		return nil, gensupport.WrapError(&googleapi.Error{
  3193  			Code:   res.StatusCode,
  3194  			Header: res.Header,
  3195  		})
  3196  	}
  3197  	if err != nil {
  3198  		return nil, err
  3199  	}
  3200  	defer googleapi.CloseBody(res)
  3201  	if err := googleapi.CheckResponse(res); err != nil {
  3202  		return nil, gensupport.WrapError(err)
  3203  	}
  3204  	ret := &GoogleFirebaseAppcheckV1DebugToken{
  3205  		ServerResponse: googleapi.ServerResponse{
  3206  			Header:         res.Header,
  3207  			HTTPStatusCode: res.StatusCode,
  3208  		},
  3209  	}
  3210  	target := &ret
  3211  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3212  		return nil, err
  3213  	}
  3214  	return ret, nil
  3215  }
  3216  
  3217  type ProjectsAppsDebugTokensDeleteCall struct {
  3218  	s          *Service
  3219  	name       string
  3220  	urlParams_ gensupport.URLParams
  3221  	ctx_       context.Context
  3222  	header_    http.Header
  3223  }
  3224  
  3225  // Delete: Deletes the specified DebugToken. A deleted debug token cannot be
  3226  // used to exchange for an App Check token. Use this method when you suspect
  3227  // the secret `token` has been compromised or when you no longer need the debug
  3228  // token.
  3229  //
  3230  //   - name: The relative resource name of the DebugToken to delete, in the
  3231  //     format: ```
  3232  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  3233  func (r *ProjectsAppsDebugTokensService) Delete(name string) *ProjectsAppsDebugTokensDeleteCall {
  3234  	c := &ProjectsAppsDebugTokensDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3235  	c.name = name
  3236  	return c
  3237  }
  3238  
  3239  // Fields allows partial responses to be retrieved. See
  3240  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3241  // details.
  3242  func (c *ProjectsAppsDebugTokensDeleteCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensDeleteCall {
  3243  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3244  	return c
  3245  }
  3246  
  3247  // Context sets the context to be used in this call's Do method.
  3248  func (c *ProjectsAppsDebugTokensDeleteCall) Context(ctx context.Context) *ProjectsAppsDebugTokensDeleteCall {
  3249  	c.ctx_ = ctx
  3250  	return c
  3251  }
  3252  
  3253  // Header returns a http.Header that can be modified by the caller to add
  3254  // headers to the request.
  3255  func (c *ProjectsAppsDebugTokensDeleteCall) Header() http.Header {
  3256  	if c.header_ == nil {
  3257  		c.header_ = make(http.Header)
  3258  	}
  3259  	return c.header_
  3260  }
  3261  
  3262  func (c *ProjectsAppsDebugTokensDeleteCall) doRequest(alt string) (*http.Response, error) {
  3263  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3264  	var body io.Reader = nil
  3265  	c.urlParams_.Set("alt", alt)
  3266  	c.urlParams_.Set("prettyPrint", "false")
  3267  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3268  	urls += "?" + c.urlParams_.Encode()
  3269  	req, err := http.NewRequest("DELETE", urls, body)
  3270  	if err != nil {
  3271  		return nil, err
  3272  	}
  3273  	req.Header = reqHeaders
  3274  	googleapi.Expand(req.URL, map[string]string{
  3275  		"name": c.name,
  3276  	})
  3277  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3278  }
  3279  
  3280  // Do executes the "firebaseappcheck.projects.apps.debugTokens.delete" call.
  3281  // Any non-2xx status code is an error. Response headers are in either
  3282  // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
  3283  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3284  // check whether the returned error was because http.StatusNotModified was
  3285  // returned.
  3286  func (c *ProjectsAppsDebugTokensDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
  3287  	gensupport.SetOptions(c.urlParams_, opts...)
  3288  	res, err := c.doRequest("json")
  3289  	if res != nil && res.StatusCode == http.StatusNotModified {
  3290  		if res.Body != nil {
  3291  			res.Body.Close()
  3292  		}
  3293  		return nil, gensupport.WrapError(&googleapi.Error{
  3294  			Code:   res.StatusCode,
  3295  			Header: res.Header,
  3296  		})
  3297  	}
  3298  	if err != nil {
  3299  		return nil, err
  3300  	}
  3301  	defer googleapi.CloseBody(res)
  3302  	if err := googleapi.CheckResponse(res); err != nil {
  3303  		return nil, gensupport.WrapError(err)
  3304  	}
  3305  	ret := &GoogleProtobufEmpty{
  3306  		ServerResponse: googleapi.ServerResponse{
  3307  			Header:         res.Header,
  3308  			HTTPStatusCode: res.StatusCode,
  3309  		},
  3310  	}
  3311  	target := &ret
  3312  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3313  		return nil, err
  3314  	}
  3315  	return ret, nil
  3316  }
  3317  
  3318  type ProjectsAppsDebugTokensGetCall struct {
  3319  	s            *Service
  3320  	name         string
  3321  	urlParams_   gensupport.URLParams
  3322  	ifNoneMatch_ string
  3323  	ctx_         context.Context
  3324  	header_      http.Header
  3325  }
  3326  
  3327  // Get: Gets the specified DebugToken. For security reasons, the `token` field
  3328  // is never populated in the response.
  3329  //
  3330  //   - name: The relative resource name of the debug token, in the format: ```
  3331  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  3332  func (r *ProjectsAppsDebugTokensService) Get(name string) *ProjectsAppsDebugTokensGetCall {
  3333  	c := &ProjectsAppsDebugTokensGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3334  	c.name = name
  3335  	return c
  3336  }
  3337  
  3338  // Fields allows partial responses to be retrieved. See
  3339  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3340  // details.
  3341  func (c *ProjectsAppsDebugTokensGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensGetCall {
  3342  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3343  	return c
  3344  }
  3345  
  3346  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3347  // object's ETag matches the given value. This is useful for getting updates
  3348  // only after the object has changed since the last request.
  3349  func (c *ProjectsAppsDebugTokensGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensGetCall {
  3350  	c.ifNoneMatch_ = entityTag
  3351  	return c
  3352  }
  3353  
  3354  // Context sets the context to be used in this call's Do method.
  3355  func (c *ProjectsAppsDebugTokensGetCall) Context(ctx context.Context) *ProjectsAppsDebugTokensGetCall {
  3356  	c.ctx_ = ctx
  3357  	return c
  3358  }
  3359  
  3360  // Header returns a http.Header that can be modified by the caller to add
  3361  // headers to the request.
  3362  func (c *ProjectsAppsDebugTokensGetCall) Header() http.Header {
  3363  	if c.header_ == nil {
  3364  		c.header_ = make(http.Header)
  3365  	}
  3366  	return c.header_
  3367  }
  3368  
  3369  func (c *ProjectsAppsDebugTokensGetCall) doRequest(alt string) (*http.Response, error) {
  3370  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3371  	if c.ifNoneMatch_ != "" {
  3372  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3373  	}
  3374  	var body io.Reader = nil
  3375  	c.urlParams_.Set("alt", alt)
  3376  	c.urlParams_.Set("prettyPrint", "false")
  3377  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3378  	urls += "?" + c.urlParams_.Encode()
  3379  	req, err := http.NewRequest("GET", urls, body)
  3380  	if err != nil {
  3381  		return nil, err
  3382  	}
  3383  	req.Header = reqHeaders
  3384  	googleapi.Expand(req.URL, map[string]string{
  3385  		"name": c.name,
  3386  	})
  3387  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3388  }
  3389  
  3390  // Do executes the "firebaseappcheck.projects.apps.debugTokens.get" call.
  3391  // Any non-2xx status code is an error. Response headers are in either
  3392  // *GoogleFirebaseAppcheckV1DebugToken.ServerResponse.Header or (if a response
  3393  // was returned at all) in error.(*googleapi.Error).Header. Use
  3394  // googleapi.IsNotModified to check whether the returned error was because
  3395  // http.StatusNotModified was returned.
  3396  func (c *ProjectsAppsDebugTokensGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) {
  3397  	gensupport.SetOptions(c.urlParams_, opts...)
  3398  	res, err := c.doRequest("json")
  3399  	if res != nil && res.StatusCode == http.StatusNotModified {
  3400  		if res.Body != nil {
  3401  			res.Body.Close()
  3402  		}
  3403  		return nil, gensupport.WrapError(&googleapi.Error{
  3404  			Code:   res.StatusCode,
  3405  			Header: res.Header,
  3406  		})
  3407  	}
  3408  	if err != nil {
  3409  		return nil, err
  3410  	}
  3411  	defer googleapi.CloseBody(res)
  3412  	if err := googleapi.CheckResponse(res); err != nil {
  3413  		return nil, gensupport.WrapError(err)
  3414  	}
  3415  	ret := &GoogleFirebaseAppcheckV1DebugToken{
  3416  		ServerResponse: googleapi.ServerResponse{
  3417  			Header:         res.Header,
  3418  			HTTPStatusCode: res.StatusCode,
  3419  		},
  3420  	}
  3421  	target := &ret
  3422  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3423  		return nil, err
  3424  	}
  3425  	return ret, nil
  3426  }
  3427  
  3428  type ProjectsAppsDebugTokensListCall struct {
  3429  	s            *Service
  3430  	parent       string
  3431  	urlParams_   gensupport.URLParams
  3432  	ifNoneMatch_ string
  3433  	ctx_         context.Context
  3434  	header_      http.Header
  3435  }
  3436  
  3437  // List: Lists all DebugTokens for the specified app. For security reasons, the
  3438  // `token` field is never populated in the response.
  3439  //
  3440  //   - parent: The relative resource name of the parent app for which to list
  3441  //     each associated DebugToken, in the format: ```
  3442  //     projects/{project_number}/apps/{app_id} ```.
  3443  func (r *ProjectsAppsDebugTokensService) List(parent string) *ProjectsAppsDebugTokensListCall {
  3444  	c := &ProjectsAppsDebugTokensListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3445  	c.parent = parent
  3446  	return c
  3447  }
  3448  
  3449  // PageSize sets the optional parameter "pageSize": The maximum number of
  3450  // DebugTokens to return in the response. Note that an app can have at most 20
  3451  // debug tokens. The server may return fewer than this at its own discretion.
  3452  // If no value is specified (or too large a value is specified), the server
  3453  // will impose its own limit.
  3454  func (c *ProjectsAppsDebugTokensListCall) PageSize(pageSize int64) *ProjectsAppsDebugTokensListCall {
  3455  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3456  	return c
  3457  }
  3458  
  3459  // PageToken sets the optional parameter "pageToken": Token returned from a
  3460  // previous call to ListDebugTokens indicating where in the set of DebugTokens
  3461  // to resume listing. Provide this to retrieve the subsequent page. When
  3462  // paginating, all other parameters provided to ListDebugTokens must match the
  3463  // call that provided the page token; if they do not match, the result is
  3464  // undefined.
  3465  func (c *ProjectsAppsDebugTokensListCall) PageToken(pageToken string) *ProjectsAppsDebugTokensListCall {
  3466  	c.urlParams_.Set("pageToken", pageToken)
  3467  	return c
  3468  }
  3469  
  3470  // Fields allows partial responses to be retrieved. See
  3471  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3472  // details.
  3473  func (c *ProjectsAppsDebugTokensListCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensListCall {
  3474  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3475  	return c
  3476  }
  3477  
  3478  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3479  // object's ETag matches the given value. This is useful for getting updates
  3480  // only after the object has changed since the last request.
  3481  func (c *ProjectsAppsDebugTokensListCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensListCall {
  3482  	c.ifNoneMatch_ = entityTag
  3483  	return c
  3484  }
  3485  
  3486  // Context sets the context to be used in this call's Do method.
  3487  func (c *ProjectsAppsDebugTokensListCall) Context(ctx context.Context) *ProjectsAppsDebugTokensListCall {
  3488  	c.ctx_ = ctx
  3489  	return c
  3490  }
  3491  
  3492  // Header returns a http.Header that can be modified by the caller to add
  3493  // headers to the request.
  3494  func (c *ProjectsAppsDebugTokensListCall) Header() http.Header {
  3495  	if c.header_ == nil {
  3496  		c.header_ = make(http.Header)
  3497  	}
  3498  	return c.header_
  3499  }
  3500  
  3501  func (c *ProjectsAppsDebugTokensListCall) doRequest(alt string) (*http.Response, error) {
  3502  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3503  	if c.ifNoneMatch_ != "" {
  3504  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3505  	}
  3506  	var body io.Reader = nil
  3507  	c.urlParams_.Set("alt", alt)
  3508  	c.urlParams_.Set("prettyPrint", "false")
  3509  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/debugTokens")
  3510  	urls += "?" + c.urlParams_.Encode()
  3511  	req, err := http.NewRequest("GET", urls, body)
  3512  	if err != nil {
  3513  		return nil, err
  3514  	}
  3515  	req.Header = reqHeaders
  3516  	googleapi.Expand(req.URL, map[string]string{
  3517  		"parent": c.parent,
  3518  	})
  3519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3520  }
  3521  
  3522  // Do executes the "firebaseappcheck.projects.apps.debugTokens.list" call.
  3523  // Any non-2xx status code is an error. Response headers are in either
  3524  // *GoogleFirebaseAppcheckV1ListDebugTokensResponse.ServerResponse.Header or
  3525  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  3526  // googleapi.IsNotModified to check whether the returned error was because
  3527  // http.StatusNotModified was returned.
  3528  func (c *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ListDebugTokensResponse, error) {
  3529  	gensupport.SetOptions(c.urlParams_, opts...)
  3530  	res, err := c.doRequest("json")
  3531  	if res != nil && res.StatusCode == http.StatusNotModified {
  3532  		if res.Body != nil {
  3533  			res.Body.Close()
  3534  		}
  3535  		return nil, gensupport.WrapError(&googleapi.Error{
  3536  			Code:   res.StatusCode,
  3537  			Header: res.Header,
  3538  		})
  3539  	}
  3540  	if err != nil {
  3541  		return nil, err
  3542  	}
  3543  	defer googleapi.CloseBody(res)
  3544  	if err := googleapi.CheckResponse(res); err != nil {
  3545  		return nil, gensupport.WrapError(err)
  3546  	}
  3547  	ret := &GoogleFirebaseAppcheckV1ListDebugTokensResponse{
  3548  		ServerResponse: googleapi.ServerResponse{
  3549  			Header:         res.Header,
  3550  			HTTPStatusCode: res.StatusCode,
  3551  		},
  3552  	}
  3553  	target := &ret
  3554  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3555  		return nil, err
  3556  	}
  3557  	return ret, nil
  3558  }
  3559  
  3560  // Pages invokes f for each page of results.
  3561  // A non-nil error returned from f will halt the iteration.
  3562  // The provided context supersedes any context provided to the Context method.
  3563  func (c *ProjectsAppsDebugTokensListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1ListDebugTokensResponse) error) error {
  3564  	c.ctx_ = ctx
  3565  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3566  	for {
  3567  		x, err := c.Do()
  3568  		if err != nil {
  3569  			return err
  3570  		}
  3571  		if err := f(x); err != nil {
  3572  			return err
  3573  		}
  3574  		if x.NextPageToken == "" {
  3575  			return nil
  3576  		}
  3577  		c.PageToken(x.NextPageToken)
  3578  	}
  3579  }
  3580  
  3581  type ProjectsAppsDebugTokensPatchCall struct {
  3582  	s                                  *Service
  3583  	name                               string
  3584  	googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken
  3585  	urlParams_                         gensupport.URLParams
  3586  	ctx_                               context.Context
  3587  	header_                            http.Header
  3588  }
  3589  
  3590  // Patch: Updates the specified DebugToken. For security reasons, the `token`
  3591  // field cannot be updated, nor will it be populated in the response, but you
  3592  // can revoke the debug token using DeleteDebugToken.
  3593  //
  3594  //   - name: The relative resource name of the debug token, in the format: ```
  3595  //     projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```.
  3596  func (r *ProjectsAppsDebugTokensService) Patch(name string, googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken) *ProjectsAppsDebugTokensPatchCall {
  3597  	c := &ProjectsAppsDebugTokensPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3598  	c.name = name
  3599  	c.googlefirebaseappcheckv1debugtoken = googlefirebaseappcheckv1debugtoken
  3600  	return c
  3601  }
  3602  
  3603  // UpdateMask sets the optional parameter "updateMask": Required. A
  3604  // comma-separated list of names of fields in the DebugToken to update.
  3605  // Example: `display_name`.
  3606  func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *ProjectsAppsDebugTokensPatchCall {
  3607  	c.urlParams_.Set("updateMask", updateMask)
  3608  	return c
  3609  }
  3610  
  3611  // Fields allows partial responses to be retrieved. See
  3612  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3613  // details.
  3614  func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensPatchCall {
  3615  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3616  	return c
  3617  }
  3618  
  3619  // Context sets the context to be used in this call's Do method.
  3620  func (c *ProjectsAppsDebugTokensPatchCall) Context(ctx context.Context) *ProjectsAppsDebugTokensPatchCall {
  3621  	c.ctx_ = ctx
  3622  	return c
  3623  }
  3624  
  3625  // Header returns a http.Header that can be modified by the caller to add
  3626  // headers to the request.
  3627  func (c *ProjectsAppsDebugTokensPatchCall) Header() http.Header {
  3628  	if c.header_ == nil {
  3629  		c.header_ = make(http.Header)
  3630  	}
  3631  	return c.header_
  3632  }
  3633  
  3634  func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response, error) {
  3635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3636  	var body io.Reader = nil
  3637  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1debugtoken)
  3638  	if err != nil {
  3639  		return nil, err
  3640  	}
  3641  	c.urlParams_.Set("alt", alt)
  3642  	c.urlParams_.Set("prettyPrint", "false")
  3643  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3644  	urls += "?" + c.urlParams_.Encode()
  3645  	req, err := http.NewRequest("PATCH", urls, body)
  3646  	if err != nil {
  3647  		return nil, err
  3648  	}
  3649  	req.Header = reqHeaders
  3650  	googleapi.Expand(req.URL, map[string]string{
  3651  		"name": c.name,
  3652  	})
  3653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3654  }
  3655  
  3656  // Do executes the "firebaseappcheck.projects.apps.debugTokens.patch" call.
  3657  // Any non-2xx status code is an error. Response headers are in either
  3658  // *GoogleFirebaseAppcheckV1DebugToken.ServerResponse.Header or (if a response
  3659  // was returned at all) in error.(*googleapi.Error).Header. Use
  3660  // googleapi.IsNotModified to check whether the returned error was because
  3661  // http.StatusNotModified was returned.
  3662  func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) {
  3663  	gensupport.SetOptions(c.urlParams_, opts...)
  3664  	res, err := c.doRequest("json")
  3665  	if res != nil && res.StatusCode == http.StatusNotModified {
  3666  		if res.Body != nil {
  3667  			res.Body.Close()
  3668  		}
  3669  		return nil, gensupport.WrapError(&googleapi.Error{
  3670  			Code:   res.StatusCode,
  3671  			Header: res.Header,
  3672  		})
  3673  	}
  3674  	if err != nil {
  3675  		return nil, err
  3676  	}
  3677  	defer googleapi.CloseBody(res)
  3678  	if err := googleapi.CheckResponse(res); err != nil {
  3679  		return nil, gensupport.WrapError(err)
  3680  	}
  3681  	ret := &GoogleFirebaseAppcheckV1DebugToken{
  3682  		ServerResponse: googleapi.ServerResponse{
  3683  			Header:         res.Header,
  3684  			HTTPStatusCode: res.StatusCode,
  3685  		},
  3686  	}
  3687  	target := &ret
  3688  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3689  		return nil, err
  3690  	}
  3691  	return ret, nil
  3692  }
  3693  
  3694  type ProjectsAppsDeviceCheckConfigBatchGetCall struct {
  3695  	s            *Service
  3696  	parent       string
  3697  	urlParams_   gensupport.URLParams
  3698  	ifNoneMatch_ string
  3699  	ctx_         context.Context
  3700  	header_      http.Header
  3701  }
  3702  
  3703  // BatchGet: Atomically gets the DeviceCheckConfigs for the specified list of
  3704  // apps. For security reasons, the `private_key` field is never populated in
  3705  // the response.
  3706  //
  3707  //   - parent: The parent project name shared by all DeviceCheckConfigs being
  3708  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  3709  //     collection in the `name` field of any resource being retrieved must match
  3710  //     this field, or the entire batch fails.
  3711  func (r *ProjectsAppsDeviceCheckConfigService) BatchGet(parent string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  3712  	c := &ProjectsAppsDeviceCheckConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3713  	c.parent = parent
  3714  	return c
  3715  }
  3716  
  3717  // Names sets the optional parameter "names": Required. The relative resource
  3718  // names of the DeviceCheckConfigs to retrieve, in the format ```
  3719  // projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of
  3720  // 100 objects can be retrieved in a batch.
  3721  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  3722  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  3723  	return c
  3724  }
  3725  
  3726  // Fields allows partial responses to be retrieved. See
  3727  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3728  // details.
  3729  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  3730  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3731  	return c
  3732  }
  3733  
  3734  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3735  // object's ETag matches the given value. This is useful for getting updates
  3736  // only after the object has changed since the last request.
  3737  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  3738  	c.ifNoneMatch_ = entityTag
  3739  	return c
  3740  }
  3741  
  3742  // Context sets the context to be used in this call's Do method.
  3743  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigBatchGetCall {
  3744  	c.ctx_ = ctx
  3745  	return c
  3746  }
  3747  
  3748  // Header returns a http.Header that can be modified by the caller to add
  3749  // headers to the request.
  3750  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Header() http.Header {
  3751  	if c.header_ == nil {
  3752  		c.header_ = make(http.Header)
  3753  	}
  3754  	return c.header_
  3755  }
  3756  
  3757  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  3758  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3759  	if c.ifNoneMatch_ != "" {
  3760  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3761  	}
  3762  	var body io.Reader = nil
  3763  	c.urlParams_.Set("alt", alt)
  3764  	c.urlParams_.Set("prettyPrint", "false")
  3765  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/deviceCheckConfig:batchGet")
  3766  	urls += "?" + c.urlParams_.Encode()
  3767  	req, err := http.NewRequest("GET", urls, body)
  3768  	if err != nil {
  3769  		return nil, err
  3770  	}
  3771  	req.Header = reqHeaders
  3772  	googleapi.Expand(req.URL, map[string]string{
  3773  		"parent": c.parent,
  3774  	})
  3775  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3776  }
  3777  
  3778  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet" call.
  3779  // Any non-2xx status code is an error. Response headers are in either
  3780  // *GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse.ServerResponse.He
  3781  // ader or (if a response was returned at all) in
  3782  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3783  // whether the returned error was because http.StatusNotModified was returned.
  3784  func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse, error) {
  3785  	gensupport.SetOptions(c.urlParams_, opts...)
  3786  	res, err := c.doRequest("json")
  3787  	if res != nil && res.StatusCode == http.StatusNotModified {
  3788  		if res.Body != nil {
  3789  			res.Body.Close()
  3790  		}
  3791  		return nil, gensupport.WrapError(&googleapi.Error{
  3792  			Code:   res.StatusCode,
  3793  			Header: res.Header,
  3794  		})
  3795  	}
  3796  	if err != nil {
  3797  		return nil, err
  3798  	}
  3799  	defer googleapi.CloseBody(res)
  3800  	if err := googleapi.CheckResponse(res); err != nil {
  3801  		return nil, gensupport.WrapError(err)
  3802  	}
  3803  	ret := &GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse{
  3804  		ServerResponse: googleapi.ServerResponse{
  3805  			Header:         res.Header,
  3806  			HTTPStatusCode: res.StatusCode,
  3807  		},
  3808  	}
  3809  	target := &ret
  3810  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3811  		return nil, err
  3812  	}
  3813  	return ret, nil
  3814  }
  3815  
  3816  type ProjectsAppsDeviceCheckConfigGetCall struct {
  3817  	s            *Service
  3818  	name         string
  3819  	urlParams_   gensupport.URLParams
  3820  	ifNoneMatch_ string
  3821  	ctx_         context.Context
  3822  	header_      http.Header
  3823  }
  3824  
  3825  // Get: Gets the DeviceCheckConfig for the specified app. For security reasons,
  3826  // the `private_key` field is never populated in the response.
  3827  //
  3828  //   - name: The relative resource name of the DeviceCheckConfig, in the format:
  3829  //     ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```.
  3830  func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDeviceCheckConfigGetCall {
  3831  	c := &ProjectsAppsDeviceCheckConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3832  	c.name = name
  3833  	return c
  3834  }
  3835  
  3836  // Fields allows partial responses to be retrieved. See
  3837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3838  // details.
  3839  func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigGetCall {
  3840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3841  	return c
  3842  }
  3843  
  3844  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3845  // object's ETag matches the given value. This is useful for getting updates
  3846  // only after the object has changed since the last request.
  3847  func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigGetCall {
  3848  	c.ifNoneMatch_ = entityTag
  3849  	return c
  3850  }
  3851  
  3852  // Context sets the context to be used in this call's Do method.
  3853  func (c *ProjectsAppsDeviceCheckConfigGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigGetCall {
  3854  	c.ctx_ = ctx
  3855  	return c
  3856  }
  3857  
  3858  // Header returns a http.Header that can be modified by the caller to add
  3859  // headers to the request.
  3860  func (c *ProjectsAppsDeviceCheckConfigGetCall) Header() http.Header {
  3861  	if c.header_ == nil {
  3862  		c.header_ = make(http.Header)
  3863  	}
  3864  	return c.header_
  3865  }
  3866  
  3867  func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Response, error) {
  3868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3869  	if c.ifNoneMatch_ != "" {
  3870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3871  	}
  3872  	var body io.Reader = nil
  3873  	c.urlParams_.Set("alt", alt)
  3874  	c.urlParams_.Set("prettyPrint", "false")
  3875  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3876  	urls += "?" + c.urlParams_.Encode()
  3877  	req, err := http.NewRequest("GET", urls, body)
  3878  	if err != nil {
  3879  		return nil, err
  3880  	}
  3881  	req.Header = reqHeaders
  3882  	googleapi.Expand(req.URL, map[string]string{
  3883  		"name": c.name,
  3884  	})
  3885  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3886  }
  3887  
  3888  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.get" call.
  3889  // Any non-2xx status code is an error. Response headers are in either
  3890  // *GoogleFirebaseAppcheckV1DeviceCheckConfig.ServerResponse.Header or (if a
  3891  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3892  // googleapi.IsNotModified to check whether the returned error was because
  3893  // http.StatusNotModified was returned.
  3894  func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DeviceCheckConfig, error) {
  3895  	gensupport.SetOptions(c.urlParams_, opts...)
  3896  	res, err := c.doRequest("json")
  3897  	if res != nil && res.StatusCode == http.StatusNotModified {
  3898  		if res.Body != nil {
  3899  			res.Body.Close()
  3900  		}
  3901  		return nil, gensupport.WrapError(&googleapi.Error{
  3902  			Code:   res.StatusCode,
  3903  			Header: res.Header,
  3904  		})
  3905  	}
  3906  	if err != nil {
  3907  		return nil, err
  3908  	}
  3909  	defer googleapi.CloseBody(res)
  3910  	if err := googleapi.CheckResponse(res); err != nil {
  3911  		return nil, gensupport.WrapError(err)
  3912  	}
  3913  	ret := &GoogleFirebaseAppcheckV1DeviceCheckConfig{
  3914  		ServerResponse: googleapi.ServerResponse{
  3915  			Header:         res.Header,
  3916  			HTTPStatusCode: res.StatusCode,
  3917  		},
  3918  	}
  3919  	target := &ret
  3920  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3921  		return nil, err
  3922  	}
  3923  	return ret, nil
  3924  }
  3925  
  3926  type ProjectsAppsDeviceCheckConfigPatchCall struct {
  3927  	s                                         *Service
  3928  	name                                      string
  3929  	googlefirebaseappcheckv1devicecheckconfig *GoogleFirebaseAppcheckV1DeviceCheckConfig
  3930  	urlParams_                                gensupport.URLParams
  3931  	ctx_                                      context.Context
  3932  	header_                                   http.Header
  3933  }
  3934  
  3935  // Patch: Updates the DeviceCheckConfig for the specified app. While this
  3936  // configuration is incomplete or invalid, the app will be unable to exchange
  3937  // DeviceCheck tokens for App Check tokens. For security reasons, the
  3938  // `private_key` field is never populated in the response.
  3939  //
  3940  //   - name: The relative resource name of the DeviceCheck configuration object,
  3941  //     in the format: ```
  3942  //     projects/{project_number}/apps/{app_id}/deviceCheckConfig ```.
  3943  func (r *ProjectsAppsDeviceCheckConfigService) Patch(name string, googlefirebaseappcheckv1devicecheckconfig *GoogleFirebaseAppcheckV1DeviceCheckConfig) *ProjectsAppsDeviceCheckConfigPatchCall {
  3944  	c := &ProjectsAppsDeviceCheckConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3945  	c.name = name
  3946  	c.googlefirebaseappcheckv1devicecheckconfig = googlefirebaseappcheckv1devicecheckconfig
  3947  	return c
  3948  }
  3949  
  3950  // UpdateMask sets the optional parameter "updateMask": Required. A
  3951  // comma-separated list of names of fields in the DeviceCheckConfig to update.
  3952  // Example: `key_id,private_key`.
  3953  func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsDeviceCheckConfigPatchCall {
  3954  	c.urlParams_.Set("updateMask", updateMask)
  3955  	return c
  3956  }
  3957  
  3958  // Fields allows partial responses to be retrieved. See
  3959  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3960  // details.
  3961  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigPatchCall {
  3962  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3963  	return c
  3964  }
  3965  
  3966  // Context sets the context to be used in this call's Do method.
  3967  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigPatchCall {
  3968  	c.ctx_ = ctx
  3969  	return c
  3970  }
  3971  
  3972  // Header returns a http.Header that can be modified by the caller to add
  3973  // headers to the request.
  3974  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Header() http.Header {
  3975  	if c.header_ == nil {
  3976  		c.header_ = make(http.Header)
  3977  	}
  3978  	return c.header_
  3979  }
  3980  
  3981  func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  3982  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3983  	var body io.Reader = nil
  3984  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1devicecheckconfig)
  3985  	if err != nil {
  3986  		return nil, err
  3987  	}
  3988  	c.urlParams_.Set("alt", alt)
  3989  	c.urlParams_.Set("prettyPrint", "false")
  3990  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3991  	urls += "?" + c.urlParams_.Encode()
  3992  	req, err := http.NewRequest("PATCH", urls, body)
  3993  	if err != nil {
  3994  		return nil, err
  3995  	}
  3996  	req.Header = reqHeaders
  3997  	googleapi.Expand(req.URL, map[string]string{
  3998  		"name": c.name,
  3999  	})
  4000  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4001  }
  4002  
  4003  // Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.patch" call.
  4004  // Any non-2xx status code is an error. Response headers are in either
  4005  // *GoogleFirebaseAppcheckV1DeviceCheckConfig.ServerResponse.Header or (if a
  4006  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4007  // googleapi.IsNotModified to check whether the returned error was because
  4008  // http.StatusNotModified was returned.
  4009  func (c *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DeviceCheckConfig, error) {
  4010  	gensupport.SetOptions(c.urlParams_, opts...)
  4011  	res, err := c.doRequest("json")
  4012  	if res != nil && res.StatusCode == http.StatusNotModified {
  4013  		if res.Body != nil {
  4014  			res.Body.Close()
  4015  		}
  4016  		return nil, gensupport.WrapError(&googleapi.Error{
  4017  			Code:   res.StatusCode,
  4018  			Header: res.Header,
  4019  		})
  4020  	}
  4021  	if err != nil {
  4022  		return nil, err
  4023  	}
  4024  	defer googleapi.CloseBody(res)
  4025  	if err := googleapi.CheckResponse(res); err != nil {
  4026  		return nil, gensupport.WrapError(err)
  4027  	}
  4028  	ret := &GoogleFirebaseAppcheckV1DeviceCheckConfig{
  4029  		ServerResponse: googleapi.ServerResponse{
  4030  			Header:         res.Header,
  4031  			HTTPStatusCode: res.StatusCode,
  4032  		},
  4033  	}
  4034  	target := &ret
  4035  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4036  		return nil, err
  4037  	}
  4038  	return ret, nil
  4039  }
  4040  
  4041  type ProjectsAppsPlayIntegrityConfigBatchGetCall struct {
  4042  	s            *Service
  4043  	parent       string
  4044  	urlParams_   gensupport.URLParams
  4045  	ifNoneMatch_ string
  4046  	ctx_         context.Context
  4047  	header_      http.Header
  4048  }
  4049  
  4050  // BatchGet: Atomically gets the PlayIntegrityConfigs for the specified list of
  4051  // apps.
  4052  //
  4053  //   - parent: The parent project name shared by all PlayIntegrityConfigs being
  4054  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  4055  //     collection in the `name` field of any resource being retrieved must match
  4056  //     this field, or the entire batch fails.
  4057  func (r *ProjectsAppsPlayIntegrityConfigService) BatchGet(parent string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  4058  	c := &ProjectsAppsPlayIntegrityConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4059  	c.parent = parent
  4060  	return c
  4061  }
  4062  
  4063  // Names sets the optional parameter "names": Required. The relative resource
  4064  // names of the PlayIntegrityConfigs to retrieve, in the format ```
  4065  // projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of
  4066  // 100 objects can be retrieved in a batch.
  4067  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Names(names ...string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  4068  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  4069  	return c
  4070  }
  4071  
  4072  // Fields allows partial responses to be retrieved. See
  4073  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4074  // details.
  4075  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  4076  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4077  	return c
  4078  }
  4079  
  4080  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4081  // object's ETag matches the given value. This is useful for getting updates
  4082  // only after the object has changed since the last request.
  4083  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  4084  	c.ifNoneMatch_ = entityTag
  4085  	return c
  4086  }
  4087  
  4088  // Context sets the context to be used in this call's Do method.
  4089  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigBatchGetCall {
  4090  	c.ctx_ = ctx
  4091  	return c
  4092  }
  4093  
  4094  // Header returns a http.Header that can be modified by the caller to add
  4095  // headers to the request.
  4096  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Header() http.Header {
  4097  	if c.header_ == nil {
  4098  		c.header_ = make(http.Header)
  4099  	}
  4100  	return c.header_
  4101  }
  4102  
  4103  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  4104  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4105  	if c.ifNoneMatch_ != "" {
  4106  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4107  	}
  4108  	var body io.Reader = nil
  4109  	c.urlParams_.Set("alt", alt)
  4110  	c.urlParams_.Set("prettyPrint", "false")
  4111  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/playIntegrityConfig:batchGet")
  4112  	urls += "?" + c.urlParams_.Encode()
  4113  	req, err := http.NewRequest("GET", urls, body)
  4114  	if err != nil {
  4115  		return nil, err
  4116  	}
  4117  	req.Header = reqHeaders
  4118  	googleapi.Expand(req.URL, map[string]string{
  4119  		"parent": c.parent,
  4120  	})
  4121  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4122  }
  4123  
  4124  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet" call.
  4125  // Any non-2xx status code is an error. Response headers are in either
  4126  // *GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse.ServerResponse.
  4127  // Header or (if a response was returned at all) in
  4128  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4129  // whether the returned error was because http.StatusNotModified was returned.
  4130  func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse, error) {
  4131  	gensupport.SetOptions(c.urlParams_, opts...)
  4132  	res, err := c.doRequest("json")
  4133  	if res != nil && res.StatusCode == http.StatusNotModified {
  4134  		if res.Body != nil {
  4135  			res.Body.Close()
  4136  		}
  4137  		return nil, gensupport.WrapError(&googleapi.Error{
  4138  			Code:   res.StatusCode,
  4139  			Header: res.Header,
  4140  		})
  4141  	}
  4142  	if err != nil {
  4143  		return nil, err
  4144  	}
  4145  	defer googleapi.CloseBody(res)
  4146  	if err := googleapi.CheckResponse(res); err != nil {
  4147  		return nil, gensupport.WrapError(err)
  4148  	}
  4149  	ret := &GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse{
  4150  		ServerResponse: googleapi.ServerResponse{
  4151  			Header:         res.Header,
  4152  			HTTPStatusCode: res.StatusCode,
  4153  		},
  4154  	}
  4155  	target := &ret
  4156  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4157  		return nil, err
  4158  	}
  4159  	return ret, nil
  4160  }
  4161  
  4162  type ProjectsAppsPlayIntegrityConfigGetCall struct {
  4163  	s            *Service
  4164  	name         string
  4165  	urlParams_   gensupport.URLParams
  4166  	ifNoneMatch_ string
  4167  	ctx_         context.Context
  4168  	header_      http.Header
  4169  }
  4170  
  4171  // Get: Gets the PlayIntegrityConfig for the specified app.
  4172  //
  4173  //   - name: The relative resource name of the PlayIntegrityConfig, in the
  4174  //     format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig
  4175  //     ```.
  4176  func (r *ProjectsAppsPlayIntegrityConfigService) Get(name string) *ProjectsAppsPlayIntegrityConfigGetCall {
  4177  	c := &ProjectsAppsPlayIntegrityConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4178  	c.name = name
  4179  	return c
  4180  }
  4181  
  4182  // Fields allows partial responses to be retrieved. See
  4183  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4184  // details.
  4185  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigGetCall {
  4186  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4187  	return c
  4188  }
  4189  
  4190  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4191  // object's ETag matches the given value. This is useful for getting updates
  4192  // only after the object has changed since the last request.
  4193  func (c *ProjectsAppsPlayIntegrityConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigGetCall {
  4194  	c.ifNoneMatch_ = entityTag
  4195  	return c
  4196  }
  4197  
  4198  // Context sets the context to be used in this call's Do method.
  4199  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigGetCall {
  4200  	c.ctx_ = ctx
  4201  	return c
  4202  }
  4203  
  4204  // Header returns a http.Header that can be modified by the caller to add
  4205  // headers to the request.
  4206  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Header() http.Header {
  4207  	if c.header_ == nil {
  4208  		c.header_ = make(http.Header)
  4209  	}
  4210  	return c.header_
  4211  }
  4212  
  4213  func (c *ProjectsAppsPlayIntegrityConfigGetCall) doRequest(alt string) (*http.Response, error) {
  4214  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4215  	if c.ifNoneMatch_ != "" {
  4216  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4217  	}
  4218  	var body io.Reader = nil
  4219  	c.urlParams_.Set("alt", alt)
  4220  	c.urlParams_.Set("prettyPrint", "false")
  4221  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4222  	urls += "?" + c.urlParams_.Encode()
  4223  	req, err := http.NewRequest("GET", urls, body)
  4224  	if err != nil {
  4225  		return nil, err
  4226  	}
  4227  	req.Header = reqHeaders
  4228  	googleapi.Expand(req.URL, map[string]string{
  4229  		"name": c.name,
  4230  	})
  4231  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4232  }
  4233  
  4234  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.get" call.
  4235  // Any non-2xx status code is an error. Response headers are in either
  4236  // *GoogleFirebaseAppcheckV1PlayIntegrityConfig.ServerResponse.Header or (if a
  4237  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4238  // googleapi.IsNotModified to check whether the returned error was because
  4239  // http.StatusNotModified was returned.
  4240  func (c *ProjectsAppsPlayIntegrityConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PlayIntegrityConfig, error) {
  4241  	gensupport.SetOptions(c.urlParams_, opts...)
  4242  	res, err := c.doRequest("json")
  4243  	if res != nil && res.StatusCode == http.StatusNotModified {
  4244  		if res.Body != nil {
  4245  			res.Body.Close()
  4246  		}
  4247  		return nil, gensupport.WrapError(&googleapi.Error{
  4248  			Code:   res.StatusCode,
  4249  			Header: res.Header,
  4250  		})
  4251  	}
  4252  	if err != nil {
  4253  		return nil, err
  4254  	}
  4255  	defer googleapi.CloseBody(res)
  4256  	if err := googleapi.CheckResponse(res); err != nil {
  4257  		return nil, gensupport.WrapError(err)
  4258  	}
  4259  	ret := &GoogleFirebaseAppcheckV1PlayIntegrityConfig{
  4260  		ServerResponse: googleapi.ServerResponse{
  4261  			Header:         res.Header,
  4262  			HTTPStatusCode: res.StatusCode,
  4263  		},
  4264  	}
  4265  	target := &ret
  4266  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4267  		return nil, err
  4268  	}
  4269  	return ret, nil
  4270  }
  4271  
  4272  type ProjectsAppsPlayIntegrityConfigPatchCall struct {
  4273  	s                                           *Service
  4274  	name                                        string
  4275  	googlefirebaseappcheckv1playintegrityconfig *GoogleFirebaseAppcheckV1PlayIntegrityConfig
  4276  	urlParams_                                  gensupport.URLParams
  4277  	ctx_                                        context.Context
  4278  	header_                                     http.Header
  4279  }
  4280  
  4281  // Patch: Updates the PlayIntegrityConfig for the specified app. While this
  4282  // configuration is incomplete or invalid, the app will be unable to exchange
  4283  // Play Integrity tokens for App Check tokens.
  4284  //
  4285  //   - name: The relative resource name of the Play Integrity configuration
  4286  //     object, in the format: ```
  4287  //     projects/{project_number}/apps/{app_id}/playIntegrityConfig ```.
  4288  func (r *ProjectsAppsPlayIntegrityConfigService) Patch(name string, googlefirebaseappcheckv1playintegrityconfig *GoogleFirebaseAppcheckV1PlayIntegrityConfig) *ProjectsAppsPlayIntegrityConfigPatchCall {
  4289  	c := &ProjectsAppsPlayIntegrityConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4290  	c.name = name
  4291  	c.googlefirebaseappcheckv1playintegrityconfig = googlefirebaseappcheckv1playintegrityconfig
  4292  	return c
  4293  }
  4294  
  4295  // UpdateMask sets the optional parameter "updateMask": Required. A
  4296  // comma-separated list of names of fields in the PlayIntegrityConfig to
  4297  // update. Example: `token_ttl`.
  4298  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsPlayIntegrityConfigPatchCall {
  4299  	c.urlParams_.Set("updateMask", updateMask)
  4300  	return c
  4301  }
  4302  
  4303  // Fields allows partial responses to be retrieved. See
  4304  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4305  // details.
  4306  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigPatchCall {
  4307  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4308  	return c
  4309  }
  4310  
  4311  // Context sets the context to be used in this call's Do method.
  4312  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigPatchCall {
  4313  	c.ctx_ = ctx
  4314  	return c
  4315  }
  4316  
  4317  // Header returns a http.Header that can be modified by the caller to add
  4318  // headers to the request.
  4319  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Header() http.Header {
  4320  	if c.header_ == nil {
  4321  		c.header_ = make(http.Header)
  4322  	}
  4323  	return c.header_
  4324  }
  4325  
  4326  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  4327  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4328  	var body io.Reader = nil
  4329  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1playintegrityconfig)
  4330  	if err != nil {
  4331  		return nil, err
  4332  	}
  4333  	c.urlParams_.Set("alt", alt)
  4334  	c.urlParams_.Set("prettyPrint", "false")
  4335  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4336  	urls += "?" + c.urlParams_.Encode()
  4337  	req, err := http.NewRequest("PATCH", urls, body)
  4338  	if err != nil {
  4339  		return nil, err
  4340  	}
  4341  	req.Header = reqHeaders
  4342  	googleapi.Expand(req.URL, map[string]string{
  4343  		"name": c.name,
  4344  	})
  4345  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4346  }
  4347  
  4348  // Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.patch" call.
  4349  // Any non-2xx status code is an error. Response headers are in either
  4350  // *GoogleFirebaseAppcheckV1PlayIntegrityConfig.ServerResponse.Header or (if a
  4351  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4352  // googleapi.IsNotModified to check whether the returned error was because
  4353  // http.StatusNotModified was returned.
  4354  func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PlayIntegrityConfig, error) {
  4355  	gensupport.SetOptions(c.urlParams_, opts...)
  4356  	res, err := c.doRequest("json")
  4357  	if res != nil && res.StatusCode == http.StatusNotModified {
  4358  		if res.Body != nil {
  4359  			res.Body.Close()
  4360  		}
  4361  		return nil, gensupport.WrapError(&googleapi.Error{
  4362  			Code:   res.StatusCode,
  4363  			Header: res.Header,
  4364  		})
  4365  	}
  4366  	if err != nil {
  4367  		return nil, err
  4368  	}
  4369  	defer googleapi.CloseBody(res)
  4370  	if err := googleapi.CheckResponse(res); err != nil {
  4371  		return nil, gensupport.WrapError(err)
  4372  	}
  4373  	ret := &GoogleFirebaseAppcheckV1PlayIntegrityConfig{
  4374  		ServerResponse: googleapi.ServerResponse{
  4375  			Header:         res.Header,
  4376  			HTTPStatusCode: res.StatusCode,
  4377  		},
  4378  	}
  4379  	target := &ret
  4380  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4381  		return nil, err
  4382  	}
  4383  	return ret, nil
  4384  }
  4385  
  4386  type ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall struct {
  4387  	s            *Service
  4388  	parent       string
  4389  	urlParams_   gensupport.URLParams
  4390  	ifNoneMatch_ string
  4391  	ctx_         context.Context
  4392  	header_      http.Header
  4393  }
  4394  
  4395  // BatchGet: Atomically gets the RecaptchaEnterpriseConfigs for the specified
  4396  // list of apps.
  4397  //
  4398  //   - parent: The parent project name shared by all RecaptchaEnterpriseConfigs
  4399  //     being retrieved, in the format ``` projects/{project_number} ``` The
  4400  //     parent collection in the `name` field of any resource being retrieved must
  4401  //     match this field, or the entire batch fails.
  4402  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  4403  	c := &ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4404  	c.parent = parent
  4405  	return c
  4406  }
  4407  
  4408  // Names sets the optional parameter "names": Required. The relative resource
  4409  // names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ```
  4410  // projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A
  4411  // maximum of 100 objects can be retrieved in a batch.
  4412  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  4413  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  4414  	return c
  4415  }
  4416  
  4417  // Fields allows partial responses to be retrieved. See
  4418  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4419  // details.
  4420  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  4421  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4422  	return c
  4423  }
  4424  
  4425  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4426  // object's ETag matches the given value. This is useful for getting updates
  4427  // only after the object has changed since the last request.
  4428  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  4429  	c.ifNoneMatch_ = entityTag
  4430  	return c
  4431  }
  4432  
  4433  // Context sets the context to be used in this call's Do method.
  4434  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall {
  4435  	c.ctx_ = ctx
  4436  	return c
  4437  }
  4438  
  4439  // Header returns a http.Header that can be modified by the caller to add
  4440  // headers to the request.
  4441  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Header() http.Header {
  4442  	if c.header_ == nil {
  4443  		c.header_ = make(http.Header)
  4444  	}
  4445  	return c.header_
  4446  }
  4447  
  4448  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  4449  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4450  	if c.ifNoneMatch_ != "" {
  4451  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4452  	}
  4453  	var body io.Reader = nil
  4454  	c.urlParams_.Set("alt", alt)
  4455  	c.urlParams_.Set("prettyPrint", "false")
  4456  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet")
  4457  	urls += "?" + c.urlParams_.Encode()
  4458  	req, err := http.NewRequest("GET", urls, body)
  4459  	if err != nil {
  4460  		return nil, err
  4461  	}
  4462  	req.Header = reqHeaders
  4463  	googleapi.Expand(req.URL, map[string]string{
  4464  		"parent": c.parent,
  4465  	})
  4466  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4467  }
  4468  
  4469  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet" call.
  4470  // Any non-2xx status code is an error. Response headers are in either
  4471  // *GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse.ServerRes
  4472  // ponse.Header or (if a response was returned at all) in
  4473  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4474  // whether the returned error was because http.StatusNotModified was returned.
  4475  func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse, error) {
  4476  	gensupport.SetOptions(c.urlParams_, opts...)
  4477  	res, err := c.doRequest("json")
  4478  	if res != nil && res.StatusCode == http.StatusNotModified {
  4479  		if res.Body != nil {
  4480  			res.Body.Close()
  4481  		}
  4482  		return nil, gensupport.WrapError(&googleapi.Error{
  4483  			Code:   res.StatusCode,
  4484  			Header: res.Header,
  4485  		})
  4486  	}
  4487  	if err != nil {
  4488  		return nil, err
  4489  	}
  4490  	defer googleapi.CloseBody(res)
  4491  	if err := googleapi.CheckResponse(res); err != nil {
  4492  		return nil, gensupport.WrapError(err)
  4493  	}
  4494  	ret := &GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse{
  4495  		ServerResponse: googleapi.ServerResponse{
  4496  			Header:         res.Header,
  4497  			HTTPStatusCode: res.StatusCode,
  4498  		},
  4499  	}
  4500  	target := &ret
  4501  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4502  		return nil, err
  4503  	}
  4504  	return ret, nil
  4505  }
  4506  
  4507  type ProjectsAppsRecaptchaEnterpriseConfigGetCall struct {
  4508  	s            *Service
  4509  	name         string
  4510  	urlParams_   gensupport.URLParams
  4511  	ifNoneMatch_ string
  4512  	ctx_         context.Context
  4513  	header_      http.Header
  4514  }
  4515  
  4516  // Get: Gets the RecaptchaEnterpriseConfig for the specified app.
  4517  //
  4518  //   - name: The relative resource name of the RecaptchaEnterpriseConfig, in the
  4519  //     format: ```
  4520  //     projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```.
  4521  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Get(name string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  4522  	c := &ProjectsAppsRecaptchaEnterpriseConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4523  	c.name = name
  4524  	return c
  4525  }
  4526  
  4527  // Fields allows partial responses to be retrieved. See
  4528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4529  // details.
  4530  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  4531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4532  	return c
  4533  }
  4534  
  4535  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4536  // object's ETag matches the given value. This is useful for getting updates
  4537  // only after the object has changed since the last request.
  4538  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  4539  	c.ifNoneMatch_ = entityTag
  4540  	return c
  4541  }
  4542  
  4543  // Context sets the context to be used in this call's Do method.
  4544  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigGetCall {
  4545  	c.ctx_ = ctx
  4546  	return c
  4547  }
  4548  
  4549  // Header returns a http.Header that can be modified by the caller to add
  4550  // headers to the request.
  4551  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Header() http.Header {
  4552  	if c.header_ == nil {
  4553  		c.header_ = make(http.Header)
  4554  	}
  4555  	return c.header_
  4556  }
  4557  
  4558  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) doRequest(alt string) (*http.Response, error) {
  4559  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4560  	if c.ifNoneMatch_ != "" {
  4561  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4562  	}
  4563  	var body io.Reader = nil
  4564  	c.urlParams_.Set("alt", alt)
  4565  	c.urlParams_.Set("prettyPrint", "false")
  4566  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4567  	urls += "?" + c.urlParams_.Encode()
  4568  	req, err := http.NewRequest("GET", urls, body)
  4569  	if err != nil {
  4570  		return nil, err
  4571  	}
  4572  	req.Header = reqHeaders
  4573  	googleapi.Expand(req.URL, map[string]string{
  4574  		"name": c.name,
  4575  	})
  4576  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4577  }
  4578  
  4579  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get" call.
  4580  // Any non-2xx status code is an error. Response headers are in either
  4581  // *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig.ServerResponse.Header or
  4582  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  4583  // googleapi.IsNotModified to check whether the returned error was because
  4584  // http.StatusNotModified was returned.
  4585  func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig, error) {
  4586  	gensupport.SetOptions(c.urlParams_, opts...)
  4587  	res, err := c.doRequest("json")
  4588  	if res != nil && res.StatusCode == http.StatusNotModified {
  4589  		if res.Body != nil {
  4590  			res.Body.Close()
  4591  		}
  4592  		return nil, gensupport.WrapError(&googleapi.Error{
  4593  			Code:   res.StatusCode,
  4594  			Header: res.Header,
  4595  		})
  4596  	}
  4597  	if err != nil {
  4598  		return nil, err
  4599  	}
  4600  	defer googleapi.CloseBody(res)
  4601  	if err := googleapi.CheckResponse(res); err != nil {
  4602  		return nil, gensupport.WrapError(err)
  4603  	}
  4604  	ret := &GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig{
  4605  		ServerResponse: googleapi.ServerResponse{
  4606  			Header:         res.Header,
  4607  			HTTPStatusCode: res.StatusCode,
  4608  		},
  4609  	}
  4610  	target := &ret
  4611  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4612  		return nil, err
  4613  	}
  4614  	return ret, nil
  4615  }
  4616  
  4617  type ProjectsAppsRecaptchaEnterpriseConfigPatchCall struct {
  4618  	s                                                 *Service
  4619  	name                                              string
  4620  	googlefirebaseappcheckv1recaptchaenterpriseconfig *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig
  4621  	urlParams_                                        gensupport.URLParams
  4622  	ctx_                                              context.Context
  4623  	header_                                           http.Header
  4624  }
  4625  
  4626  // Patch: Updates the RecaptchaEnterpriseConfig for the specified app. While
  4627  // this configuration is incomplete or invalid, the app will be unable to
  4628  // exchange reCAPTCHA Enterprise tokens for App Check tokens.
  4629  //
  4630  //   - name: The relative resource name of the reCAPTCHA Enterprise configuration
  4631  //     object, in the format: ```
  4632  //     projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```.
  4633  func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Patch(name string, googlefirebaseappcheckv1recaptchaenterpriseconfig *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  4634  	c := &ProjectsAppsRecaptchaEnterpriseConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4635  	c.name = name
  4636  	c.googlefirebaseappcheckv1recaptchaenterpriseconfig = googlefirebaseappcheckv1recaptchaenterpriseconfig
  4637  	return c
  4638  }
  4639  
  4640  // UpdateMask sets the optional parameter "updateMask": Required. A
  4641  // comma-separated list of names of fields in the RecaptchaEnterpriseConfig to
  4642  // update. Example: `site_key`.
  4643  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  4644  	c.urlParams_.Set("updateMask", updateMask)
  4645  	return c
  4646  }
  4647  
  4648  // Fields allows partial responses to be retrieved. See
  4649  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4650  // details.
  4651  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  4652  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4653  	return c
  4654  }
  4655  
  4656  // Context sets the context to be used in this call's Do method.
  4657  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall {
  4658  	c.ctx_ = ctx
  4659  	return c
  4660  }
  4661  
  4662  // Header returns a http.Header that can be modified by the caller to add
  4663  // headers to the request.
  4664  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Header() http.Header {
  4665  	if c.header_ == nil {
  4666  		c.header_ = make(http.Header)
  4667  	}
  4668  	return c.header_
  4669  }
  4670  
  4671  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  4672  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4673  	var body io.Reader = nil
  4674  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1recaptchaenterpriseconfig)
  4675  	if err != nil {
  4676  		return nil, err
  4677  	}
  4678  	c.urlParams_.Set("alt", alt)
  4679  	c.urlParams_.Set("prettyPrint", "false")
  4680  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4681  	urls += "?" + c.urlParams_.Encode()
  4682  	req, err := http.NewRequest("PATCH", urls, body)
  4683  	if err != nil {
  4684  		return nil, err
  4685  	}
  4686  	req.Header = reqHeaders
  4687  	googleapi.Expand(req.URL, map[string]string{
  4688  		"name": c.name,
  4689  	})
  4690  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4691  }
  4692  
  4693  // Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch" call.
  4694  // Any non-2xx status code is an error. Response headers are in either
  4695  // *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig.ServerResponse.Header or
  4696  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
  4697  // googleapi.IsNotModified to check whether the returned error was because
  4698  // http.StatusNotModified was returned.
  4699  func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig, error) {
  4700  	gensupport.SetOptions(c.urlParams_, opts...)
  4701  	res, err := c.doRequest("json")
  4702  	if res != nil && res.StatusCode == http.StatusNotModified {
  4703  		if res.Body != nil {
  4704  			res.Body.Close()
  4705  		}
  4706  		return nil, gensupport.WrapError(&googleapi.Error{
  4707  			Code:   res.StatusCode,
  4708  			Header: res.Header,
  4709  		})
  4710  	}
  4711  	if err != nil {
  4712  		return nil, err
  4713  	}
  4714  	defer googleapi.CloseBody(res)
  4715  	if err := googleapi.CheckResponse(res); err != nil {
  4716  		return nil, gensupport.WrapError(err)
  4717  	}
  4718  	ret := &GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig{
  4719  		ServerResponse: googleapi.ServerResponse{
  4720  			Header:         res.Header,
  4721  			HTTPStatusCode: res.StatusCode,
  4722  		},
  4723  	}
  4724  	target := &ret
  4725  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4726  		return nil, err
  4727  	}
  4728  	return ret, nil
  4729  }
  4730  
  4731  type ProjectsAppsRecaptchaV3ConfigBatchGetCall struct {
  4732  	s            *Service
  4733  	parent       string
  4734  	urlParams_   gensupport.URLParams
  4735  	ifNoneMatch_ string
  4736  	ctx_         context.Context
  4737  	header_      http.Header
  4738  }
  4739  
  4740  // BatchGet: Atomically gets the RecaptchaV3Configs for the specified list of
  4741  // apps. For security reasons, the `site_secret` field is never populated in
  4742  // the response.
  4743  //
  4744  //   - parent: The parent project name shared by all RecaptchaV3Configs being
  4745  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  4746  //     collection in the `name` field of any resource being retrieved must match
  4747  //     this field, or the entire batch fails.
  4748  func (r *ProjectsAppsRecaptchaV3ConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  4749  	c := &ProjectsAppsRecaptchaV3ConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4750  	c.parent = parent
  4751  	return c
  4752  }
  4753  
  4754  // Names sets the optional parameter "names": Required. The relative resource
  4755  // names of the RecaptchaV3Configs to retrieve, in the format: ```
  4756  // projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of
  4757  // 100 objects can be retrieved in a batch.
  4758  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  4759  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  4760  	return c
  4761  }
  4762  
  4763  // Fields allows partial responses to be retrieved. See
  4764  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4765  // details.
  4766  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  4767  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4768  	return c
  4769  }
  4770  
  4771  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4772  // object's ETag matches the given value. This is useful for getting updates
  4773  // only after the object has changed since the last request.
  4774  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  4775  	c.ifNoneMatch_ = entityTag
  4776  	return c
  4777  }
  4778  
  4779  // Context sets the context to be used in this call's Do method.
  4780  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigBatchGetCall {
  4781  	c.ctx_ = ctx
  4782  	return c
  4783  }
  4784  
  4785  // Header returns a http.Header that can be modified by the caller to add
  4786  // headers to the request.
  4787  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Header() http.Header {
  4788  	if c.header_ == nil {
  4789  		c.header_ = make(http.Header)
  4790  	}
  4791  	return c.header_
  4792  }
  4793  
  4794  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  4795  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4796  	if c.ifNoneMatch_ != "" {
  4797  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4798  	}
  4799  	var body io.Reader = nil
  4800  	c.urlParams_.Set("alt", alt)
  4801  	c.urlParams_.Set("prettyPrint", "false")
  4802  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/recaptchaV3Config:batchGet")
  4803  	urls += "?" + c.urlParams_.Encode()
  4804  	req, err := http.NewRequest("GET", urls, body)
  4805  	if err != nil {
  4806  		return nil, err
  4807  	}
  4808  	req.Header = reqHeaders
  4809  	googleapi.Expand(req.URL, map[string]string{
  4810  		"parent": c.parent,
  4811  	})
  4812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4813  }
  4814  
  4815  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet" call.
  4816  // Any non-2xx status code is an error. Response headers are in either
  4817  // *GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse.ServerResponse.He
  4818  // ader or (if a response was returned at all) in
  4819  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4820  // whether the returned error was because http.StatusNotModified was returned.
  4821  func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse, error) {
  4822  	gensupport.SetOptions(c.urlParams_, opts...)
  4823  	res, err := c.doRequest("json")
  4824  	if res != nil && res.StatusCode == http.StatusNotModified {
  4825  		if res.Body != nil {
  4826  			res.Body.Close()
  4827  		}
  4828  		return nil, gensupport.WrapError(&googleapi.Error{
  4829  			Code:   res.StatusCode,
  4830  			Header: res.Header,
  4831  		})
  4832  	}
  4833  	if err != nil {
  4834  		return nil, err
  4835  	}
  4836  	defer googleapi.CloseBody(res)
  4837  	if err := googleapi.CheckResponse(res); err != nil {
  4838  		return nil, gensupport.WrapError(err)
  4839  	}
  4840  	ret := &GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse{
  4841  		ServerResponse: googleapi.ServerResponse{
  4842  			Header:         res.Header,
  4843  			HTTPStatusCode: res.StatusCode,
  4844  		},
  4845  	}
  4846  	target := &ret
  4847  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4848  		return nil, err
  4849  	}
  4850  	return ret, nil
  4851  }
  4852  
  4853  type ProjectsAppsRecaptchaV3ConfigGetCall struct {
  4854  	s            *Service
  4855  	name         string
  4856  	urlParams_   gensupport.URLParams
  4857  	ifNoneMatch_ string
  4858  	ctx_         context.Context
  4859  	header_      http.Header
  4860  }
  4861  
  4862  // Get: Gets the RecaptchaV3Config for the specified app. For security reasons,
  4863  // the `site_secret` field is never populated in the response.
  4864  //
  4865  //   - name: The relative resource name of the RecaptchaV3Config, in the format:
  4866  //     ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```.
  4867  func (r *ProjectsAppsRecaptchaV3ConfigService) Get(name string) *ProjectsAppsRecaptchaV3ConfigGetCall {
  4868  	c := &ProjectsAppsRecaptchaV3ConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4869  	c.name = name
  4870  	return c
  4871  }
  4872  
  4873  // Fields allows partial responses to be retrieved. See
  4874  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4875  // details.
  4876  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigGetCall {
  4877  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4878  	return c
  4879  }
  4880  
  4881  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4882  // object's ETag matches the given value. This is useful for getting updates
  4883  // only after the object has changed since the last request.
  4884  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigGetCall {
  4885  	c.ifNoneMatch_ = entityTag
  4886  	return c
  4887  }
  4888  
  4889  // Context sets the context to be used in this call's Do method.
  4890  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigGetCall {
  4891  	c.ctx_ = ctx
  4892  	return c
  4893  }
  4894  
  4895  // Header returns a http.Header that can be modified by the caller to add
  4896  // headers to the request.
  4897  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Header() http.Header {
  4898  	if c.header_ == nil {
  4899  		c.header_ = make(http.Header)
  4900  	}
  4901  	return c.header_
  4902  }
  4903  
  4904  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) doRequest(alt string) (*http.Response, error) {
  4905  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4906  	if c.ifNoneMatch_ != "" {
  4907  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4908  	}
  4909  	var body io.Reader = nil
  4910  	c.urlParams_.Set("alt", alt)
  4911  	c.urlParams_.Set("prettyPrint", "false")
  4912  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4913  	urls += "?" + c.urlParams_.Encode()
  4914  	req, err := http.NewRequest("GET", urls, body)
  4915  	if err != nil {
  4916  		return nil, err
  4917  	}
  4918  	req.Header = reqHeaders
  4919  	googleapi.Expand(req.URL, map[string]string{
  4920  		"name": c.name,
  4921  	})
  4922  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4923  }
  4924  
  4925  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.get" call.
  4926  // Any non-2xx status code is an error. Response headers are in either
  4927  // *GoogleFirebaseAppcheckV1RecaptchaV3Config.ServerResponse.Header or (if a
  4928  // response was returned at all) in error.(*googleapi.Error).Header. Use
  4929  // googleapi.IsNotModified to check whether the returned error was because
  4930  // http.StatusNotModified was returned.
  4931  func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaV3Config, error) {
  4932  	gensupport.SetOptions(c.urlParams_, opts...)
  4933  	res, err := c.doRequest("json")
  4934  	if res != nil && res.StatusCode == http.StatusNotModified {
  4935  		if res.Body != nil {
  4936  			res.Body.Close()
  4937  		}
  4938  		return nil, gensupport.WrapError(&googleapi.Error{
  4939  			Code:   res.StatusCode,
  4940  			Header: res.Header,
  4941  		})
  4942  	}
  4943  	if err != nil {
  4944  		return nil, err
  4945  	}
  4946  	defer googleapi.CloseBody(res)
  4947  	if err := googleapi.CheckResponse(res); err != nil {
  4948  		return nil, gensupport.WrapError(err)
  4949  	}
  4950  	ret := &GoogleFirebaseAppcheckV1RecaptchaV3Config{
  4951  		ServerResponse: googleapi.ServerResponse{
  4952  			Header:         res.Header,
  4953  			HTTPStatusCode: res.StatusCode,
  4954  		},
  4955  	}
  4956  	target := &ret
  4957  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4958  		return nil, err
  4959  	}
  4960  	return ret, nil
  4961  }
  4962  
  4963  type ProjectsAppsRecaptchaV3ConfigPatchCall struct {
  4964  	s                                         *Service
  4965  	name                                      string
  4966  	googlefirebaseappcheckv1recaptchav3config *GoogleFirebaseAppcheckV1RecaptchaV3Config
  4967  	urlParams_                                gensupport.URLParams
  4968  	ctx_                                      context.Context
  4969  	header_                                   http.Header
  4970  }
  4971  
  4972  // Patch: Updates the RecaptchaV3Config for the specified app. While this
  4973  // configuration is incomplete or invalid, the app will be unable to exchange
  4974  // reCAPTCHA tokens for App Check tokens. For security reasons, the
  4975  // `site_secret` field is never populated in the response.
  4976  //
  4977  //   - name: The relative resource name of the reCAPTCHA v3 configuration object,
  4978  //     in the format: ```
  4979  //     projects/{project_number}/apps/{app_id}/recaptchaV3Config ```.
  4980  func (r *ProjectsAppsRecaptchaV3ConfigService) Patch(name string, googlefirebaseappcheckv1recaptchav3config *GoogleFirebaseAppcheckV1RecaptchaV3Config) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  4981  	c := &ProjectsAppsRecaptchaV3ConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4982  	c.name = name
  4983  	c.googlefirebaseappcheckv1recaptchav3config = googlefirebaseappcheckv1recaptchav3config
  4984  	return c
  4985  }
  4986  
  4987  // UpdateMask sets the optional parameter "updateMask": Required. A
  4988  // comma-separated list of names of fields in the RecaptchaV3Config to update.
  4989  // Example: `site_secret`.
  4990  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  4991  	c.urlParams_.Set("updateMask", updateMask)
  4992  	return c
  4993  }
  4994  
  4995  // Fields allows partial responses to be retrieved. See
  4996  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4997  // details.
  4998  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  4999  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5000  	return c
  5001  }
  5002  
  5003  // Context sets the context to be used in this call's Do method.
  5004  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigPatchCall {
  5005  	c.ctx_ = ctx
  5006  	return c
  5007  }
  5008  
  5009  // Header returns a http.Header that can be modified by the caller to add
  5010  // headers to the request.
  5011  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Header() http.Header {
  5012  	if c.header_ == nil {
  5013  		c.header_ = make(http.Header)
  5014  	}
  5015  	return c.header_
  5016  }
  5017  
  5018  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  5019  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5020  	var body io.Reader = nil
  5021  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1recaptchav3config)
  5022  	if err != nil {
  5023  		return nil, err
  5024  	}
  5025  	c.urlParams_.Set("alt", alt)
  5026  	c.urlParams_.Set("prettyPrint", "false")
  5027  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5028  	urls += "?" + c.urlParams_.Encode()
  5029  	req, err := http.NewRequest("PATCH", urls, body)
  5030  	if err != nil {
  5031  		return nil, err
  5032  	}
  5033  	req.Header = reqHeaders
  5034  	googleapi.Expand(req.URL, map[string]string{
  5035  		"name": c.name,
  5036  	})
  5037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5038  }
  5039  
  5040  // Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.patch" call.
  5041  // Any non-2xx status code is an error. Response headers are in either
  5042  // *GoogleFirebaseAppcheckV1RecaptchaV3Config.ServerResponse.Header or (if a
  5043  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5044  // googleapi.IsNotModified to check whether the returned error was because
  5045  // http.StatusNotModified was returned.
  5046  func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaV3Config, error) {
  5047  	gensupport.SetOptions(c.urlParams_, opts...)
  5048  	res, err := c.doRequest("json")
  5049  	if res != nil && res.StatusCode == http.StatusNotModified {
  5050  		if res.Body != nil {
  5051  			res.Body.Close()
  5052  		}
  5053  		return nil, gensupport.WrapError(&googleapi.Error{
  5054  			Code:   res.StatusCode,
  5055  			Header: res.Header,
  5056  		})
  5057  	}
  5058  	if err != nil {
  5059  		return nil, err
  5060  	}
  5061  	defer googleapi.CloseBody(res)
  5062  	if err := googleapi.CheckResponse(res); err != nil {
  5063  		return nil, gensupport.WrapError(err)
  5064  	}
  5065  	ret := &GoogleFirebaseAppcheckV1RecaptchaV3Config{
  5066  		ServerResponse: googleapi.ServerResponse{
  5067  			Header:         res.Header,
  5068  			HTTPStatusCode: res.StatusCode,
  5069  		},
  5070  	}
  5071  	target := &ret
  5072  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5073  		return nil, err
  5074  	}
  5075  	return ret, nil
  5076  }
  5077  
  5078  type ProjectsAppsSafetyNetConfigBatchGetCall struct {
  5079  	s            *Service
  5080  	parent       string
  5081  	urlParams_   gensupport.URLParams
  5082  	ifNoneMatch_ string
  5083  	ctx_         context.Context
  5084  	header_      http.Header
  5085  }
  5086  
  5087  // BatchGet: Atomically gets the SafetyNetConfigs for the specified list of
  5088  // apps.
  5089  //
  5090  //   - parent: The parent project name shared by all SafetyNetConfigs being
  5091  //     retrieved, in the format ``` projects/{project_number} ``` The parent
  5092  //     collection in the `name` field of any resource being retrieved must match
  5093  //     this field, or the entire batch fails.
  5094  func (r *ProjectsAppsSafetyNetConfigService) BatchGet(parent string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  5095  	c := &ProjectsAppsSafetyNetConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5096  	c.parent = parent
  5097  	return c
  5098  }
  5099  
  5100  // Names sets the optional parameter "names": Required. The relative resource
  5101  // names of the SafetyNetConfigs to retrieve, in the format ```
  5102  // projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100
  5103  // objects can be retrieved in a batch.
  5104  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Names(names ...string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  5105  	c.urlParams_.SetMulti("names", append([]string{}, names...))
  5106  	return c
  5107  }
  5108  
  5109  // Fields allows partial responses to be retrieved. See
  5110  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5111  // details.
  5112  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigBatchGetCall {
  5113  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5114  	return c
  5115  }
  5116  
  5117  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5118  // object's ETag matches the given value. This is useful for getting updates
  5119  // only after the object has changed since the last request.
  5120  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigBatchGetCall {
  5121  	c.ifNoneMatch_ = entityTag
  5122  	return c
  5123  }
  5124  
  5125  // Context sets the context to be used in this call's Do method.
  5126  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigBatchGetCall {
  5127  	c.ctx_ = ctx
  5128  	return c
  5129  }
  5130  
  5131  // Header returns a http.Header that can be modified by the caller to add
  5132  // headers to the request.
  5133  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Header() http.Header {
  5134  	if c.header_ == nil {
  5135  		c.header_ = make(http.Header)
  5136  	}
  5137  	return c.header_
  5138  }
  5139  
  5140  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) doRequest(alt string) (*http.Response, error) {
  5141  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5142  	if c.ifNoneMatch_ != "" {
  5143  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5144  	}
  5145  	var body io.Reader = nil
  5146  	c.urlParams_.Set("alt", alt)
  5147  	c.urlParams_.Set("prettyPrint", "false")
  5148  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/safetyNetConfig:batchGet")
  5149  	urls += "?" + c.urlParams_.Encode()
  5150  	req, err := http.NewRequest("GET", urls, body)
  5151  	if err != nil {
  5152  		return nil, err
  5153  	}
  5154  	req.Header = reqHeaders
  5155  	googleapi.Expand(req.URL, map[string]string{
  5156  		"parent": c.parent,
  5157  	})
  5158  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5159  }
  5160  
  5161  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.batchGet" call.
  5162  // Any non-2xx status code is an error. Response headers are in either
  5163  // *GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse.ServerResponse.Head
  5164  // er or (if a response was returned at all) in
  5165  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5166  // whether the returned error was because http.StatusNotModified was returned.
  5167  func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse, error) {
  5168  	gensupport.SetOptions(c.urlParams_, opts...)
  5169  	res, err := c.doRequest("json")
  5170  	if res != nil && res.StatusCode == http.StatusNotModified {
  5171  		if res.Body != nil {
  5172  			res.Body.Close()
  5173  		}
  5174  		return nil, gensupport.WrapError(&googleapi.Error{
  5175  			Code:   res.StatusCode,
  5176  			Header: res.Header,
  5177  		})
  5178  	}
  5179  	if err != nil {
  5180  		return nil, err
  5181  	}
  5182  	defer googleapi.CloseBody(res)
  5183  	if err := googleapi.CheckResponse(res); err != nil {
  5184  		return nil, gensupport.WrapError(err)
  5185  	}
  5186  	ret := &GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse{
  5187  		ServerResponse: googleapi.ServerResponse{
  5188  			Header:         res.Header,
  5189  			HTTPStatusCode: res.StatusCode,
  5190  		},
  5191  	}
  5192  	target := &ret
  5193  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5194  		return nil, err
  5195  	}
  5196  	return ret, nil
  5197  }
  5198  
  5199  type ProjectsAppsSafetyNetConfigGetCall struct {
  5200  	s            *Service
  5201  	name         string
  5202  	urlParams_   gensupport.URLParams
  5203  	ifNoneMatch_ string
  5204  	ctx_         context.Context
  5205  	header_      http.Header
  5206  }
  5207  
  5208  // Get: Gets the SafetyNetConfig for the specified app.
  5209  //
  5210  //   - name: The relative resource name of the SafetyNetConfig, in the format:
  5211  //     ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```.
  5212  func (r *ProjectsAppsSafetyNetConfigService) Get(name string) *ProjectsAppsSafetyNetConfigGetCall {
  5213  	c := &ProjectsAppsSafetyNetConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5214  	c.name = name
  5215  	return c
  5216  }
  5217  
  5218  // Fields allows partial responses to be retrieved. See
  5219  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5220  // details.
  5221  func (c *ProjectsAppsSafetyNetConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigGetCall {
  5222  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5223  	return c
  5224  }
  5225  
  5226  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5227  // object's ETag matches the given value. This is useful for getting updates
  5228  // only after the object has changed since the last request.
  5229  func (c *ProjectsAppsSafetyNetConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigGetCall {
  5230  	c.ifNoneMatch_ = entityTag
  5231  	return c
  5232  }
  5233  
  5234  // Context sets the context to be used in this call's Do method.
  5235  func (c *ProjectsAppsSafetyNetConfigGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigGetCall {
  5236  	c.ctx_ = ctx
  5237  	return c
  5238  }
  5239  
  5240  // Header returns a http.Header that can be modified by the caller to add
  5241  // headers to the request.
  5242  func (c *ProjectsAppsSafetyNetConfigGetCall) Header() http.Header {
  5243  	if c.header_ == nil {
  5244  		c.header_ = make(http.Header)
  5245  	}
  5246  	return c.header_
  5247  }
  5248  
  5249  func (c *ProjectsAppsSafetyNetConfigGetCall) doRequest(alt string) (*http.Response, error) {
  5250  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5251  	if c.ifNoneMatch_ != "" {
  5252  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5253  	}
  5254  	var body io.Reader = nil
  5255  	c.urlParams_.Set("alt", alt)
  5256  	c.urlParams_.Set("prettyPrint", "false")
  5257  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5258  	urls += "?" + c.urlParams_.Encode()
  5259  	req, err := http.NewRequest("GET", urls, body)
  5260  	if err != nil {
  5261  		return nil, err
  5262  	}
  5263  	req.Header = reqHeaders
  5264  	googleapi.Expand(req.URL, map[string]string{
  5265  		"name": c.name,
  5266  	})
  5267  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5268  }
  5269  
  5270  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.get" call.
  5271  // Any non-2xx status code is an error. Response headers are in either
  5272  // *GoogleFirebaseAppcheckV1SafetyNetConfig.ServerResponse.Header or (if a
  5273  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5274  // googleapi.IsNotModified to check whether the returned error was because
  5275  // http.StatusNotModified was returned.
  5276  func (c *ProjectsAppsSafetyNetConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1SafetyNetConfig, error) {
  5277  	gensupport.SetOptions(c.urlParams_, opts...)
  5278  	res, err := c.doRequest("json")
  5279  	if res != nil && res.StatusCode == http.StatusNotModified {
  5280  		if res.Body != nil {
  5281  			res.Body.Close()
  5282  		}
  5283  		return nil, gensupport.WrapError(&googleapi.Error{
  5284  			Code:   res.StatusCode,
  5285  			Header: res.Header,
  5286  		})
  5287  	}
  5288  	if err != nil {
  5289  		return nil, err
  5290  	}
  5291  	defer googleapi.CloseBody(res)
  5292  	if err := googleapi.CheckResponse(res); err != nil {
  5293  		return nil, gensupport.WrapError(err)
  5294  	}
  5295  	ret := &GoogleFirebaseAppcheckV1SafetyNetConfig{
  5296  		ServerResponse: googleapi.ServerResponse{
  5297  			Header:         res.Header,
  5298  			HTTPStatusCode: res.StatusCode,
  5299  		},
  5300  	}
  5301  	target := &ret
  5302  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5303  		return nil, err
  5304  	}
  5305  	return ret, nil
  5306  }
  5307  
  5308  type ProjectsAppsSafetyNetConfigPatchCall struct {
  5309  	s                                       *Service
  5310  	name                                    string
  5311  	googlefirebaseappcheckv1safetynetconfig *GoogleFirebaseAppcheckV1SafetyNetConfig
  5312  	urlParams_                              gensupport.URLParams
  5313  	ctx_                                    context.Context
  5314  	header_                                 http.Header
  5315  }
  5316  
  5317  // Patch: Updates the SafetyNetConfig for the specified app. While this
  5318  // configuration is incomplete or invalid, the app will be unable to exchange
  5319  // SafetyNet tokens for App Check tokens.
  5320  //
  5321  //   - name: The relative resource name of the SafetyNet configuration object, in
  5322  //     the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig
  5323  //     ```.
  5324  func (r *ProjectsAppsSafetyNetConfigService) Patch(name string, googlefirebaseappcheckv1safetynetconfig *GoogleFirebaseAppcheckV1SafetyNetConfig) *ProjectsAppsSafetyNetConfigPatchCall {
  5325  	c := &ProjectsAppsSafetyNetConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5326  	c.name = name
  5327  	c.googlefirebaseappcheckv1safetynetconfig = googlefirebaseappcheckv1safetynetconfig
  5328  	return c
  5329  }
  5330  
  5331  // UpdateMask sets the optional parameter "updateMask": Required. A
  5332  // comma-separated list of names of fields in the SafetyNetConfig to update.
  5333  // Example: `token_ttl`.
  5334  func (c *ProjectsAppsSafetyNetConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsSafetyNetConfigPatchCall {
  5335  	c.urlParams_.Set("updateMask", updateMask)
  5336  	return c
  5337  }
  5338  
  5339  // Fields allows partial responses to be retrieved. See
  5340  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5341  // details.
  5342  func (c *ProjectsAppsSafetyNetConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigPatchCall {
  5343  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5344  	return c
  5345  }
  5346  
  5347  // Context sets the context to be used in this call's Do method.
  5348  func (c *ProjectsAppsSafetyNetConfigPatchCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigPatchCall {
  5349  	c.ctx_ = ctx
  5350  	return c
  5351  }
  5352  
  5353  // Header returns a http.Header that can be modified by the caller to add
  5354  // headers to the request.
  5355  func (c *ProjectsAppsSafetyNetConfigPatchCall) Header() http.Header {
  5356  	if c.header_ == nil {
  5357  		c.header_ = make(http.Header)
  5358  	}
  5359  	return c.header_
  5360  }
  5361  
  5362  func (c *ProjectsAppsSafetyNetConfigPatchCall) doRequest(alt string) (*http.Response, error) {
  5363  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5364  	var body io.Reader = nil
  5365  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1safetynetconfig)
  5366  	if err != nil {
  5367  		return nil, err
  5368  	}
  5369  	c.urlParams_.Set("alt", alt)
  5370  	c.urlParams_.Set("prettyPrint", "false")
  5371  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5372  	urls += "?" + c.urlParams_.Encode()
  5373  	req, err := http.NewRequest("PATCH", urls, body)
  5374  	if err != nil {
  5375  		return nil, err
  5376  	}
  5377  	req.Header = reqHeaders
  5378  	googleapi.Expand(req.URL, map[string]string{
  5379  		"name": c.name,
  5380  	})
  5381  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5382  }
  5383  
  5384  // Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.patch" call.
  5385  // Any non-2xx status code is an error. Response headers are in either
  5386  // *GoogleFirebaseAppcheckV1SafetyNetConfig.ServerResponse.Header or (if a
  5387  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5388  // googleapi.IsNotModified to check whether the returned error was because
  5389  // http.StatusNotModified was returned.
  5390  func (c *ProjectsAppsSafetyNetConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1SafetyNetConfig, error) {
  5391  	gensupport.SetOptions(c.urlParams_, opts...)
  5392  	res, err := c.doRequest("json")
  5393  	if res != nil && res.StatusCode == http.StatusNotModified {
  5394  		if res.Body != nil {
  5395  			res.Body.Close()
  5396  		}
  5397  		return nil, gensupport.WrapError(&googleapi.Error{
  5398  			Code:   res.StatusCode,
  5399  			Header: res.Header,
  5400  		})
  5401  	}
  5402  	if err != nil {
  5403  		return nil, err
  5404  	}
  5405  	defer googleapi.CloseBody(res)
  5406  	if err := googleapi.CheckResponse(res); err != nil {
  5407  		return nil, gensupport.WrapError(err)
  5408  	}
  5409  	ret := &GoogleFirebaseAppcheckV1SafetyNetConfig{
  5410  		ServerResponse: googleapi.ServerResponse{
  5411  			Header:         res.Header,
  5412  			HTTPStatusCode: res.StatusCode,
  5413  		},
  5414  	}
  5415  	target := &ret
  5416  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5417  		return nil, err
  5418  	}
  5419  	return ret, nil
  5420  }
  5421  
  5422  type ProjectsServicesBatchUpdateCall struct {
  5423  	s                                                  *Service
  5424  	parent                                             string
  5425  	googlefirebaseappcheckv1batchupdateservicesrequest *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest
  5426  	urlParams_                                         gensupport.URLParams
  5427  	ctx_                                               context.Context
  5428  	header_                                            http.Header
  5429  }
  5430  
  5431  // BatchUpdate: Atomically updates the specified Service configurations.
  5432  //
  5433  //   - parent: The parent project name shared by all Service configurations being
  5434  //     updated, in the format ``` projects/{project_number} ``` The parent
  5435  //     collection in the `name` field of any resource being updated must match
  5436  //     this field, or the entire batch fails.
  5437  func (r *ProjectsServicesService) BatchUpdate(parent string, googlefirebaseappcheckv1batchupdateservicesrequest *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest) *ProjectsServicesBatchUpdateCall {
  5438  	c := &ProjectsServicesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5439  	c.parent = parent
  5440  	c.googlefirebaseappcheckv1batchupdateservicesrequest = googlefirebaseappcheckv1batchupdateservicesrequest
  5441  	return c
  5442  }
  5443  
  5444  // Fields allows partial responses to be retrieved. See
  5445  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5446  // details.
  5447  func (c *ProjectsServicesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsServicesBatchUpdateCall {
  5448  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5449  	return c
  5450  }
  5451  
  5452  // Context sets the context to be used in this call's Do method.
  5453  func (c *ProjectsServicesBatchUpdateCall) Context(ctx context.Context) *ProjectsServicesBatchUpdateCall {
  5454  	c.ctx_ = ctx
  5455  	return c
  5456  }
  5457  
  5458  // Header returns a http.Header that can be modified by the caller to add
  5459  // headers to the request.
  5460  func (c *ProjectsServicesBatchUpdateCall) Header() http.Header {
  5461  	if c.header_ == nil {
  5462  		c.header_ = make(http.Header)
  5463  	}
  5464  	return c.header_
  5465  }
  5466  
  5467  func (c *ProjectsServicesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  5468  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5469  	var body io.Reader = nil
  5470  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1batchupdateservicesrequest)
  5471  	if err != nil {
  5472  		return nil, err
  5473  	}
  5474  	c.urlParams_.Set("alt", alt)
  5475  	c.urlParams_.Set("prettyPrint", "false")
  5476  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/services:batchUpdate")
  5477  	urls += "?" + c.urlParams_.Encode()
  5478  	req, err := http.NewRequest("POST", urls, body)
  5479  	if err != nil {
  5480  		return nil, err
  5481  	}
  5482  	req.Header = reqHeaders
  5483  	googleapi.Expand(req.URL, map[string]string{
  5484  		"parent": c.parent,
  5485  	})
  5486  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5487  }
  5488  
  5489  // Do executes the "firebaseappcheck.projects.services.batchUpdate" call.
  5490  // Any non-2xx status code is an error. Response headers are in either
  5491  // *GoogleFirebaseAppcheckV1BatchUpdateServicesResponse.ServerResponse.Header
  5492  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  5493  // Use googleapi.IsNotModified to check whether the returned error was because
  5494  // http.StatusNotModified was returned.
  5495  func (c *ProjectsServicesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchUpdateServicesResponse, error) {
  5496  	gensupport.SetOptions(c.urlParams_, opts...)
  5497  	res, err := c.doRequest("json")
  5498  	if res != nil && res.StatusCode == http.StatusNotModified {
  5499  		if res.Body != nil {
  5500  			res.Body.Close()
  5501  		}
  5502  		return nil, gensupport.WrapError(&googleapi.Error{
  5503  			Code:   res.StatusCode,
  5504  			Header: res.Header,
  5505  		})
  5506  	}
  5507  	if err != nil {
  5508  		return nil, err
  5509  	}
  5510  	defer googleapi.CloseBody(res)
  5511  	if err := googleapi.CheckResponse(res); err != nil {
  5512  		return nil, gensupport.WrapError(err)
  5513  	}
  5514  	ret := &GoogleFirebaseAppcheckV1BatchUpdateServicesResponse{
  5515  		ServerResponse: googleapi.ServerResponse{
  5516  			Header:         res.Header,
  5517  			HTTPStatusCode: res.StatusCode,
  5518  		},
  5519  	}
  5520  	target := &ret
  5521  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5522  		return nil, err
  5523  	}
  5524  	return ret, nil
  5525  }
  5526  
  5527  type ProjectsServicesGetCall struct {
  5528  	s            *Service
  5529  	name         string
  5530  	urlParams_   gensupport.URLParams
  5531  	ifNoneMatch_ string
  5532  	ctx_         context.Context
  5533  	header_      http.Header
  5534  }
  5535  
  5536  // Get: Gets the Service configuration for the specified service name.
  5537  //
  5538  //   - name: The relative resource name of the Service to retrieve, in the
  5539  //     format: ``` projects/{project_number}/services/{service_id} ``` Note that
  5540  //     the `service_id` element must be a supported service ID. Currently, the
  5541  //     following service IDs are supported: * `firebasestorage.googleapis.com`
  5542  //     (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase
  5543  //     Realtime Database) * `firestore.googleapis.com` (Cloud Firestore).
  5544  func (r *ProjectsServicesService) Get(name string) *ProjectsServicesGetCall {
  5545  	c := &ProjectsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5546  	c.name = name
  5547  	return c
  5548  }
  5549  
  5550  // Fields allows partial responses to be retrieved. See
  5551  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5552  // details.
  5553  func (c *ProjectsServicesGetCall) Fields(s ...googleapi.Field) *ProjectsServicesGetCall {
  5554  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5555  	return c
  5556  }
  5557  
  5558  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5559  // object's ETag matches the given value. This is useful for getting updates
  5560  // only after the object has changed since the last request.
  5561  func (c *ProjectsServicesGetCall) IfNoneMatch(entityTag string) *ProjectsServicesGetCall {
  5562  	c.ifNoneMatch_ = entityTag
  5563  	return c
  5564  }
  5565  
  5566  // Context sets the context to be used in this call's Do method.
  5567  func (c *ProjectsServicesGetCall) Context(ctx context.Context) *ProjectsServicesGetCall {
  5568  	c.ctx_ = ctx
  5569  	return c
  5570  }
  5571  
  5572  // Header returns a http.Header that can be modified by the caller to add
  5573  // headers to the request.
  5574  func (c *ProjectsServicesGetCall) Header() http.Header {
  5575  	if c.header_ == nil {
  5576  		c.header_ = make(http.Header)
  5577  	}
  5578  	return c.header_
  5579  }
  5580  
  5581  func (c *ProjectsServicesGetCall) doRequest(alt string) (*http.Response, error) {
  5582  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5583  	if c.ifNoneMatch_ != "" {
  5584  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5585  	}
  5586  	var body io.Reader = nil
  5587  	c.urlParams_.Set("alt", alt)
  5588  	c.urlParams_.Set("prettyPrint", "false")
  5589  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5590  	urls += "?" + c.urlParams_.Encode()
  5591  	req, err := http.NewRequest("GET", urls, body)
  5592  	if err != nil {
  5593  		return nil, err
  5594  	}
  5595  	req.Header = reqHeaders
  5596  	googleapi.Expand(req.URL, map[string]string{
  5597  		"name": c.name,
  5598  	})
  5599  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5600  }
  5601  
  5602  // Do executes the "firebaseappcheck.projects.services.get" call.
  5603  // Any non-2xx status code is an error. Response headers are in either
  5604  // *GoogleFirebaseAppcheckV1Service.ServerResponse.Header or (if a response was
  5605  // returned at all) in error.(*googleapi.Error).Header. Use
  5606  // googleapi.IsNotModified to check whether the returned error was because
  5607  // http.StatusNotModified was returned.
  5608  func (c *ProjectsServicesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1Service, error) {
  5609  	gensupport.SetOptions(c.urlParams_, opts...)
  5610  	res, err := c.doRequest("json")
  5611  	if res != nil && res.StatusCode == http.StatusNotModified {
  5612  		if res.Body != nil {
  5613  			res.Body.Close()
  5614  		}
  5615  		return nil, gensupport.WrapError(&googleapi.Error{
  5616  			Code:   res.StatusCode,
  5617  			Header: res.Header,
  5618  		})
  5619  	}
  5620  	if err != nil {
  5621  		return nil, err
  5622  	}
  5623  	defer googleapi.CloseBody(res)
  5624  	if err := googleapi.CheckResponse(res); err != nil {
  5625  		return nil, gensupport.WrapError(err)
  5626  	}
  5627  	ret := &GoogleFirebaseAppcheckV1Service{
  5628  		ServerResponse: googleapi.ServerResponse{
  5629  			Header:         res.Header,
  5630  			HTTPStatusCode: res.StatusCode,
  5631  		},
  5632  	}
  5633  	target := &ret
  5634  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5635  		return nil, err
  5636  	}
  5637  	return ret, nil
  5638  }
  5639  
  5640  type ProjectsServicesListCall struct {
  5641  	s            *Service
  5642  	parent       string
  5643  	urlParams_   gensupport.URLParams
  5644  	ifNoneMatch_ string
  5645  	ctx_         context.Context
  5646  	header_      http.Header
  5647  }
  5648  
  5649  // List: Lists all Service configurations for the specified project. Only
  5650  // Services which were explicitly configured using UpdateService or
  5651  // BatchUpdateServices will be returned.
  5652  //
  5653  //   - parent: The relative resource name of the parent project for which to list
  5654  //     each associated Service, in the format: ``` projects/{project_number} ```.
  5655  func (r *ProjectsServicesService) List(parent string) *ProjectsServicesListCall {
  5656  	c := &ProjectsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5657  	c.parent = parent
  5658  	return c
  5659  }
  5660  
  5661  // PageSize sets the optional parameter "pageSize": The maximum number of
  5662  // Services to return in the response. Only explicitly configured services are
  5663  // returned. The server may return fewer than this at its own discretion. If no
  5664  // value is specified (or too large a value is specified), the server will
  5665  // impose its own limit.
  5666  func (c *ProjectsServicesListCall) PageSize(pageSize int64) *ProjectsServicesListCall {
  5667  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5668  	return c
  5669  }
  5670  
  5671  // PageToken sets the optional parameter "pageToken": Token returned from a
  5672  // previous call to ListServices indicating where in the set of Services to
  5673  // resume listing. Provide this to retrieve the subsequent page. When
  5674  // paginating, all other parameters provided to ListServices must match the
  5675  // call that provided the page token; if they do not match, the result is
  5676  // undefined.
  5677  func (c *ProjectsServicesListCall) PageToken(pageToken string) *ProjectsServicesListCall {
  5678  	c.urlParams_.Set("pageToken", pageToken)
  5679  	return c
  5680  }
  5681  
  5682  // Fields allows partial responses to be retrieved. See
  5683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5684  // details.
  5685  func (c *ProjectsServicesListCall) Fields(s ...googleapi.Field) *ProjectsServicesListCall {
  5686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5687  	return c
  5688  }
  5689  
  5690  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5691  // object's ETag matches the given value. This is useful for getting updates
  5692  // only after the object has changed since the last request.
  5693  func (c *ProjectsServicesListCall) IfNoneMatch(entityTag string) *ProjectsServicesListCall {
  5694  	c.ifNoneMatch_ = entityTag
  5695  	return c
  5696  }
  5697  
  5698  // Context sets the context to be used in this call's Do method.
  5699  func (c *ProjectsServicesListCall) Context(ctx context.Context) *ProjectsServicesListCall {
  5700  	c.ctx_ = ctx
  5701  	return c
  5702  }
  5703  
  5704  // Header returns a http.Header that can be modified by the caller to add
  5705  // headers to the request.
  5706  func (c *ProjectsServicesListCall) Header() http.Header {
  5707  	if c.header_ == nil {
  5708  		c.header_ = make(http.Header)
  5709  	}
  5710  	return c.header_
  5711  }
  5712  
  5713  func (c *ProjectsServicesListCall) doRequest(alt string) (*http.Response, error) {
  5714  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5715  	if c.ifNoneMatch_ != "" {
  5716  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5717  	}
  5718  	var body io.Reader = nil
  5719  	c.urlParams_.Set("alt", alt)
  5720  	c.urlParams_.Set("prettyPrint", "false")
  5721  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/services")
  5722  	urls += "?" + c.urlParams_.Encode()
  5723  	req, err := http.NewRequest("GET", urls, body)
  5724  	if err != nil {
  5725  		return nil, err
  5726  	}
  5727  	req.Header = reqHeaders
  5728  	googleapi.Expand(req.URL, map[string]string{
  5729  		"parent": c.parent,
  5730  	})
  5731  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5732  }
  5733  
  5734  // Do executes the "firebaseappcheck.projects.services.list" call.
  5735  // Any non-2xx status code is an error. Response headers are in either
  5736  // *GoogleFirebaseAppcheckV1ListServicesResponse.ServerResponse.Header or (if a
  5737  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5738  // googleapi.IsNotModified to check whether the returned error was because
  5739  // http.StatusNotModified was returned.
  5740  func (c *ProjectsServicesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ListServicesResponse, error) {
  5741  	gensupport.SetOptions(c.urlParams_, opts...)
  5742  	res, err := c.doRequest("json")
  5743  	if res != nil && res.StatusCode == http.StatusNotModified {
  5744  		if res.Body != nil {
  5745  			res.Body.Close()
  5746  		}
  5747  		return nil, gensupport.WrapError(&googleapi.Error{
  5748  			Code:   res.StatusCode,
  5749  			Header: res.Header,
  5750  		})
  5751  	}
  5752  	if err != nil {
  5753  		return nil, err
  5754  	}
  5755  	defer googleapi.CloseBody(res)
  5756  	if err := googleapi.CheckResponse(res); err != nil {
  5757  		return nil, gensupport.WrapError(err)
  5758  	}
  5759  	ret := &GoogleFirebaseAppcheckV1ListServicesResponse{
  5760  		ServerResponse: googleapi.ServerResponse{
  5761  			Header:         res.Header,
  5762  			HTTPStatusCode: res.StatusCode,
  5763  		},
  5764  	}
  5765  	target := &ret
  5766  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5767  		return nil, err
  5768  	}
  5769  	return ret, nil
  5770  }
  5771  
  5772  // Pages invokes f for each page of results.
  5773  // A non-nil error returned from f will halt the iteration.
  5774  // The provided context supersedes any context provided to the Context method.
  5775  func (c *ProjectsServicesListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1ListServicesResponse) error) error {
  5776  	c.ctx_ = ctx
  5777  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5778  	for {
  5779  		x, err := c.Do()
  5780  		if err != nil {
  5781  			return err
  5782  		}
  5783  		if err := f(x); err != nil {
  5784  			return err
  5785  		}
  5786  		if x.NextPageToken == "" {
  5787  			return nil
  5788  		}
  5789  		c.PageToken(x.NextPageToken)
  5790  	}
  5791  }
  5792  
  5793  type ProjectsServicesPatchCall struct {
  5794  	s                               *Service
  5795  	name                            string
  5796  	googlefirebaseappcheckv1service *GoogleFirebaseAppcheckV1Service
  5797  	urlParams_                      gensupport.URLParams
  5798  	ctx_                            context.Context
  5799  	header_                         http.Header
  5800  }
  5801  
  5802  // Patch: Updates the specified Service configuration.
  5803  //
  5804  //   - name: The relative resource name of the service configuration object, in
  5805  //     the format: ``` projects/{project_number}/services/{service_id} ``` Note
  5806  //     that the `service_id` element must be a supported service ID. Currently,
  5807  //     the following service IDs are supported: *
  5808  //     `firebasestorage.googleapis.com` (Cloud Storage for Firebase) *
  5809  //     `firebasedatabase.googleapis.com` (Firebase Realtime Database) *
  5810  //     `firestore.googleapis.com` (Cloud Firestore).
  5811  func (r *ProjectsServicesService) Patch(name string, googlefirebaseappcheckv1service *GoogleFirebaseAppcheckV1Service) *ProjectsServicesPatchCall {
  5812  	c := &ProjectsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5813  	c.name = name
  5814  	c.googlefirebaseappcheckv1service = googlefirebaseappcheckv1service
  5815  	return c
  5816  }
  5817  
  5818  // UpdateMask sets the optional parameter "updateMask": Required. A
  5819  // comma-separated list of names of fields in the Service to update. Example:
  5820  // `enforcement_mode`.
  5821  func (c *ProjectsServicesPatchCall) UpdateMask(updateMask string) *ProjectsServicesPatchCall {
  5822  	c.urlParams_.Set("updateMask", updateMask)
  5823  	return c
  5824  }
  5825  
  5826  // Fields allows partial responses to be retrieved. See
  5827  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5828  // details.
  5829  func (c *ProjectsServicesPatchCall) Fields(s ...googleapi.Field) *ProjectsServicesPatchCall {
  5830  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5831  	return c
  5832  }
  5833  
  5834  // Context sets the context to be used in this call's Do method.
  5835  func (c *ProjectsServicesPatchCall) Context(ctx context.Context) *ProjectsServicesPatchCall {
  5836  	c.ctx_ = ctx
  5837  	return c
  5838  }
  5839  
  5840  // Header returns a http.Header that can be modified by the caller to add
  5841  // headers to the request.
  5842  func (c *ProjectsServicesPatchCall) Header() http.Header {
  5843  	if c.header_ == nil {
  5844  		c.header_ = make(http.Header)
  5845  	}
  5846  	return c.header_
  5847  }
  5848  
  5849  func (c *ProjectsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
  5850  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5851  	var body io.Reader = nil
  5852  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1service)
  5853  	if err != nil {
  5854  		return nil, err
  5855  	}
  5856  	c.urlParams_.Set("alt", alt)
  5857  	c.urlParams_.Set("prettyPrint", "false")
  5858  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5859  	urls += "?" + c.urlParams_.Encode()
  5860  	req, err := http.NewRequest("PATCH", urls, body)
  5861  	if err != nil {
  5862  		return nil, err
  5863  	}
  5864  	req.Header = reqHeaders
  5865  	googleapi.Expand(req.URL, map[string]string{
  5866  		"name": c.name,
  5867  	})
  5868  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5869  }
  5870  
  5871  // Do executes the "firebaseappcheck.projects.services.patch" call.
  5872  // Any non-2xx status code is an error. Response headers are in either
  5873  // *GoogleFirebaseAppcheckV1Service.ServerResponse.Header or (if a response was
  5874  // returned at all) in error.(*googleapi.Error).Header. Use
  5875  // googleapi.IsNotModified to check whether the returned error was because
  5876  // http.StatusNotModified was returned.
  5877  func (c *ProjectsServicesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1Service, error) {
  5878  	gensupport.SetOptions(c.urlParams_, opts...)
  5879  	res, err := c.doRequest("json")
  5880  	if res != nil && res.StatusCode == http.StatusNotModified {
  5881  		if res.Body != nil {
  5882  			res.Body.Close()
  5883  		}
  5884  		return nil, gensupport.WrapError(&googleapi.Error{
  5885  			Code:   res.StatusCode,
  5886  			Header: res.Header,
  5887  		})
  5888  	}
  5889  	if err != nil {
  5890  		return nil, err
  5891  	}
  5892  	defer googleapi.CloseBody(res)
  5893  	if err := googleapi.CheckResponse(res); err != nil {
  5894  		return nil, gensupport.WrapError(err)
  5895  	}
  5896  	ret := &GoogleFirebaseAppcheckV1Service{
  5897  		ServerResponse: googleapi.ServerResponse{
  5898  			Header:         res.Header,
  5899  			HTTPStatusCode: res.StatusCode,
  5900  		},
  5901  	}
  5902  	target := &ret
  5903  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5904  		return nil, err
  5905  	}
  5906  	return ret, nil
  5907  }
  5908  

View as plain text