...

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

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

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package appengine provides access to the App Engine Admin API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/appengine/docs/admin-api/
    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/appengine/v1beta"
    27  //	...
    28  //	ctx := context.Background()
    29  //	appengineService, err := appengine.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  //	appengineService, err := appengine.NewService(ctx, option.WithScopes(appengine.CloudPlatformReadOnlyScope))
    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  //	appengineService, err := appengine.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  //	appengineService, err := appengine.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package appengine // import "google.golang.org/api/appengine/v1beta"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "appengine:v1beta"
    95  const apiName = "appengine"
    96  const apiVersion = "v1beta"
    97  const basePath = "https://appengine.googleapis.com/"
    98  const basePathTemplate = "https://appengine.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://appengine.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// View and manage your applications deployed on Google App Engine
   104  	AppengineAdminScope = "https://www.googleapis.com/auth/appengine.admin"
   105  
   106  	// See, edit, configure, and delete your Google Cloud data and see the email
   107  	// address for your Google Account.
   108  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   109  
   110  	// View your data across Google Cloud services and see the email address of
   111  	// your Google Account
   112  	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
   113  )
   114  
   115  // NewService creates a new APIService.
   116  func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) {
   117  	scopesOption := internaloption.WithDefaultScopes(
   118  		"https://www.googleapis.com/auth/appengine.admin",
   119  		"https://www.googleapis.com/auth/cloud-platform",
   120  		"https://www.googleapis.com/auth/cloud-platform.read-only",
   121  	)
   122  	// NOTE: prepend, so we don't override user-specified scopes.
   123  	opts = append([]option.ClientOption{scopesOption}, opts...)
   124  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   125  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   126  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   127  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   128  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	s, err := New(client)
   133  	if err != nil {
   134  		return nil, err
   135  	}
   136  	if endpoint != "" {
   137  		s.BasePath = endpoint
   138  	}
   139  	return s, nil
   140  }
   141  
   142  // New creates a new APIService. It uses the provided http.Client for requests.
   143  //
   144  // Deprecated: please use NewService instead.
   145  // To provide a custom HTTP client, use option.WithHTTPClient.
   146  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   147  func New(client *http.Client) (*APIService, error) {
   148  	if client == nil {
   149  		return nil, errors.New("client is nil")
   150  	}
   151  	s := &APIService{client: client, BasePath: basePath}
   152  	s.Apps = NewAppsService(s)
   153  	s.Projects = NewProjectsService(s)
   154  	return s, nil
   155  }
   156  
   157  type APIService struct {
   158  	client    *http.Client
   159  	BasePath  string // API endpoint base URL
   160  	UserAgent string // optional additional User-Agent fragment
   161  
   162  	Apps *AppsService
   163  
   164  	Projects *ProjectsService
   165  }
   166  
   167  func (s *APIService) userAgent() string {
   168  	if s.UserAgent == "" {
   169  		return googleapi.UserAgent
   170  	}
   171  	return googleapi.UserAgent + " " + s.UserAgent
   172  }
   173  
   174  func NewAppsService(s *APIService) *AppsService {
   175  	rs := &AppsService{s: s}
   176  	rs.AuthorizedCertificates = NewAppsAuthorizedCertificatesService(s)
   177  	rs.AuthorizedDomains = NewAppsAuthorizedDomainsService(s)
   178  	rs.DomainMappings = NewAppsDomainMappingsService(s)
   179  	rs.Firewall = NewAppsFirewallService(s)
   180  	rs.Locations = NewAppsLocationsService(s)
   181  	rs.Operations = NewAppsOperationsService(s)
   182  	rs.Services = NewAppsServicesService(s)
   183  	return rs
   184  }
   185  
   186  type AppsService struct {
   187  	s *APIService
   188  
   189  	AuthorizedCertificates *AppsAuthorizedCertificatesService
   190  
   191  	AuthorizedDomains *AppsAuthorizedDomainsService
   192  
   193  	DomainMappings *AppsDomainMappingsService
   194  
   195  	Firewall *AppsFirewallService
   196  
   197  	Locations *AppsLocationsService
   198  
   199  	Operations *AppsOperationsService
   200  
   201  	Services *AppsServicesService
   202  }
   203  
   204  func NewAppsAuthorizedCertificatesService(s *APIService) *AppsAuthorizedCertificatesService {
   205  	rs := &AppsAuthorizedCertificatesService{s: s}
   206  	return rs
   207  }
   208  
   209  type AppsAuthorizedCertificatesService struct {
   210  	s *APIService
   211  }
   212  
   213  func NewAppsAuthorizedDomainsService(s *APIService) *AppsAuthorizedDomainsService {
   214  	rs := &AppsAuthorizedDomainsService{s: s}
   215  	return rs
   216  }
   217  
   218  type AppsAuthorizedDomainsService struct {
   219  	s *APIService
   220  }
   221  
   222  func NewAppsDomainMappingsService(s *APIService) *AppsDomainMappingsService {
   223  	rs := &AppsDomainMappingsService{s: s}
   224  	return rs
   225  }
   226  
   227  type AppsDomainMappingsService struct {
   228  	s *APIService
   229  }
   230  
   231  func NewAppsFirewallService(s *APIService) *AppsFirewallService {
   232  	rs := &AppsFirewallService{s: s}
   233  	rs.IngressRules = NewAppsFirewallIngressRulesService(s)
   234  	return rs
   235  }
   236  
   237  type AppsFirewallService struct {
   238  	s *APIService
   239  
   240  	IngressRules *AppsFirewallIngressRulesService
   241  }
   242  
   243  func NewAppsFirewallIngressRulesService(s *APIService) *AppsFirewallIngressRulesService {
   244  	rs := &AppsFirewallIngressRulesService{s: s}
   245  	return rs
   246  }
   247  
   248  type AppsFirewallIngressRulesService struct {
   249  	s *APIService
   250  }
   251  
   252  func NewAppsLocationsService(s *APIService) *AppsLocationsService {
   253  	rs := &AppsLocationsService{s: s}
   254  	return rs
   255  }
   256  
   257  type AppsLocationsService struct {
   258  	s *APIService
   259  }
   260  
   261  func NewAppsOperationsService(s *APIService) *AppsOperationsService {
   262  	rs := &AppsOperationsService{s: s}
   263  	return rs
   264  }
   265  
   266  type AppsOperationsService struct {
   267  	s *APIService
   268  }
   269  
   270  func NewAppsServicesService(s *APIService) *AppsServicesService {
   271  	rs := &AppsServicesService{s: s}
   272  	rs.Versions = NewAppsServicesVersionsService(s)
   273  	return rs
   274  }
   275  
   276  type AppsServicesService struct {
   277  	s *APIService
   278  
   279  	Versions *AppsServicesVersionsService
   280  }
   281  
   282  func NewAppsServicesVersionsService(s *APIService) *AppsServicesVersionsService {
   283  	rs := &AppsServicesVersionsService{s: s}
   284  	rs.Instances = NewAppsServicesVersionsInstancesService(s)
   285  	return rs
   286  }
   287  
   288  type AppsServicesVersionsService struct {
   289  	s *APIService
   290  
   291  	Instances *AppsServicesVersionsInstancesService
   292  }
   293  
   294  func NewAppsServicesVersionsInstancesService(s *APIService) *AppsServicesVersionsInstancesService {
   295  	rs := &AppsServicesVersionsInstancesService{s: s}
   296  	return rs
   297  }
   298  
   299  type AppsServicesVersionsInstancesService struct {
   300  	s *APIService
   301  }
   302  
   303  func NewProjectsService(s *APIService) *ProjectsService {
   304  	rs := &ProjectsService{s: s}
   305  	rs.Locations = NewProjectsLocationsService(s)
   306  	return rs
   307  }
   308  
   309  type ProjectsService struct {
   310  	s *APIService
   311  
   312  	Locations *ProjectsLocationsService
   313  }
   314  
   315  func NewProjectsLocationsService(s *APIService) *ProjectsLocationsService {
   316  	rs := &ProjectsLocationsService{s: s}
   317  	rs.Applications = NewProjectsLocationsApplicationsService(s)
   318  	rs.Operations = NewProjectsLocationsOperationsService(s)
   319  	return rs
   320  }
   321  
   322  type ProjectsLocationsService struct {
   323  	s *APIService
   324  
   325  	Applications *ProjectsLocationsApplicationsService
   326  
   327  	Operations *ProjectsLocationsOperationsService
   328  }
   329  
   330  func NewProjectsLocationsApplicationsService(s *APIService) *ProjectsLocationsApplicationsService {
   331  	rs := &ProjectsLocationsApplicationsService{s: s}
   332  	rs.AuthorizedDomains = NewProjectsLocationsApplicationsAuthorizedDomainsService(s)
   333  	return rs
   334  }
   335  
   336  type ProjectsLocationsApplicationsService struct {
   337  	s *APIService
   338  
   339  	AuthorizedDomains *ProjectsLocationsApplicationsAuthorizedDomainsService
   340  }
   341  
   342  func NewProjectsLocationsApplicationsAuthorizedDomainsService(s *APIService) *ProjectsLocationsApplicationsAuthorizedDomainsService {
   343  	rs := &ProjectsLocationsApplicationsAuthorizedDomainsService{s: s}
   344  	return rs
   345  }
   346  
   347  type ProjectsLocationsApplicationsAuthorizedDomainsService struct {
   348  	s *APIService
   349  }
   350  
   351  func NewProjectsLocationsOperationsService(s *APIService) *ProjectsLocationsOperationsService {
   352  	rs := &ProjectsLocationsOperationsService{s: s}
   353  	return rs
   354  }
   355  
   356  type ProjectsLocationsOperationsService struct {
   357  	s *APIService
   358  }
   359  
   360  // ApiConfigHandler: Google Cloud Endpoints
   361  // (https://cloud.google.com/endpoints) configuration for API handlers.
   362  type ApiConfigHandler struct {
   363  	// AuthFailAction: Action to take when users access resources that require
   364  	// authentication. Defaults to redirect.
   365  	//
   366  	// Possible values:
   367  	//   "AUTH_FAIL_ACTION_UNSPECIFIED" - Not specified. AUTH_FAIL_ACTION_REDIRECT
   368  	// is assumed.
   369  	//   "AUTH_FAIL_ACTION_REDIRECT" - Redirects user to "accounts.google.com". The
   370  	// user is redirected back to the application URL after signing in or creating
   371  	// an account.
   372  	//   "AUTH_FAIL_ACTION_UNAUTHORIZED" - Rejects request with a 401 HTTP status
   373  	// code and an error message.
   374  	AuthFailAction string `json:"authFailAction,omitempty"`
   375  	// Login: Level of login required to access this resource. Defaults to
   376  	// optional.
   377  	//
   378  	// Possible values:
   379  	//   "LOGIN_UNSPECIFIED" - Not specified. LOGIN_OPTIONAL is assumed.
   380  	//   "LOGIN_OPTIONAL" - Does not require that the user is signed in.
   381  	//   "LOGIN_ADMIN" - If the user is not signed in, the auth_fail_action is
   382  	// taken. In addition, if the user is not an administrator for the application,
   383  	// they are given an error message regardless of auth_fail_action. If the user
   384  	// is an administrator, the handler proceeds.
   385  	//   "LOGIN_REQUIRED" - If the user has signed in, the handler proceeds
   386  	// normally. Otherwise, the auth_fail_action is taken.
   387  	Login string `json:"login,omitempty"`
   388  	// Script: Path to the script from the application root directory.
   389  	Script string `json:"script,omitempty"`
   390  	// SecurityLevel: Security (HTTPS) enforcement for this URL.
   391  	//
   392  	// Possible values:
   393  	//   "SECURE_UNSPECIFIED" - Not specified.
   394  	//   "SECURE_DEFAULT" - Both HTTP and HTTPS requests with URLs that match the
   395  	// handler succeed without redirects. The application can examine the request
   396  	// to determine which protocol was used, and respond accordingly.
   397  	//   "SECURE_NEVER" - Requests for a URL that match this handler that use HTTPS
   398  	// are automatically redirected to the HTTP equivalent URL.
   399  	//   "SECURE_OPTIONAL" - Both HTTP and HTTPS requests with URLs that match the
   400  	// handler succeed without redirects. The application can examine the request
   401  	// to determine which protocol was used and respond accordingly.
   402  	//   "SECURE_ALWAYS" - Requests for a URL that match this handler that do not
   403  	// use HTTPS are automatically redirected to the HTTPS URL with the same path.
   404  	// Query parameters are reserved for the redirect.
   405  	SecurityLevel string `json:"securityLevel,omitempty"`
   406  	// Url: URL to serve the endpoint at.
   407  	Url string `json:"url,omitempty"`
   408  	// ForceSendFields is a list of field names (e.g. "AuthFailAction") to
   409  	// unconditionally include in API requests. By default, fields with empty or
   410  	// default values are omitted from API requests. See
   411  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   412  	// details.
   413  	ForceSendFields []string `json:"-"`
   414  	// NullFields is a list of field names (e.g. "AuthFailAction") to include in
   415  	// API requests with the JSON null value. By default, fields with empty values
   416  	// are omitted from API requests. See
   417  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   418  	NullFields []string `json:"-"`
   419  }
   420  
   421  func (s *ApiConfigHandler) MarshalJSON() ([]byte, error) {
   422  	type NoMethod ApiConfigHandler
   423  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   424  }
   425  
   426  // ApiEndpointHandler: Uses Google Cloud Endpoints to handle requests.
   427  type ApiEndpointHandler struct {
   428  	// ScriptPath: Path to the script from the application root directory.
   429  	ScriptPath string `json:"scriptPath,omitempty"`
   430  	// ForceSendFields is a list of field names (e.g. "ScriptPath") to
   431  	// unconditionally include in API requests. By default, fields with empty or
   432  	// default values are 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. "ScriptPath") 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 *ApiEndpointHandler) MarshalJSON() ([]byte, error) {
   444  	type NoMethod ApiEndpointHandler
   445  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   446  }
   447  
   448  // Application: An Application resource contains the top-level configuration of
   449  // an App Engine application.
   450  type Application struct {
   451  	// AuthDomain: Google Apps authentication domain that controls which users can
   452  	// access this application.Defaults to open access for any Google Account.
   453  	AuthDomain string `json:"authDomain,omitempty"`
   454  	// CodeBucket: Output only. Google Cloud Storage bucket that can be used for
   455  	// storing files associated with this application. This bucket is associated
   456  	// with the application and can be used by the gcloud deployment
   457  	// commands.@OutputOnly
   458  	CodeBucket string `json:"codeBucket,omitempty"`
   459  	// DatabaseType: The type of the Cloud Firestore or Cloud Datastore database
   460  	// associated with this application.
   461  	//
   462  	// Possible values:
   463  	//   "DATABASE_TYPE_UNSPECIFIED" - Database type is unspecified.
   464  	//   "CLOUD_DATASTORE" - Cloud Datastore
   465  	//   "CLOUD_FIRESTORE" - Cloud Firestore Native
   466  	//   "CLOUD_DATASTORE_COMPATIBILITY" - Cloud Firestore in Datastore Mode
   467  	DatabaseType string `json:"databaseType,omitempty"`
   468  	// DefaultBucket: Output only. Google Cloud Storage bucket that can be used by
   469  	// this application to store content.@OutputOnly
   470  	DefaultBucket string `json:"defaultBucket,omitempty"`
   471  	// DefaultCookieExpiration: Cookie expiration policy for this application.
   472  	DefaultCookieExpiration string `json:"defaultCookieExpiration,omitempty"`
   473  	// DefaultHostname: Output only. Hostname used to reach this application, as
   474  	// resolved by App Engine.@OutputOnly
   475  	DefaultHostname string `json:"defaultHostname,omitempty"`
   476  	// DispatchRules: HTTP path dispatch rules for requests to the application that
   477  	// do not explicitly target a service or version. Rules are order-dependent. Up
   478  	// to 20 dispatch rules can be supported.
   479  	DispatchRules []*UrlDispatchRule `json:"dispatchRules,omitempty"`
   480  	// FeatureSettings: The feature specific settings to be used in the
   481  	// application.
   482  	FeatureSettings *FeatureSettings `json:"featureSettings,omitempty"`
   483  	// GcrDomain: Output only. The Google Container Registry domain used for
   484  	// storing managed build docker images for this application.
   485  	GcrDomain string `json:"gcrDomain,omitempty"`
   486  	// GeneratedCustomerMetadata: Additional Google Generated Customer Metadata,
   487  	// this field won't be provided by default and can be requested by setting the
   488  	// IncludeExtraData field in GetApplicationRequest
   489  	GeneratedCustomerMetadata googleapi.RawMessage `json:"generatedCustomerMetadata,omitempty"`
   490  	Iap                       *IdentityAwareProxy  `json:"iap,omitempty"`
   491  	// Id: Identifier of the Application resource. This identifier is equivalent to
   492  	// the project ID of the Google Cloud Platform project where you want to deploy
   493  	// your application. Example: myapp.
   494  	Id string `json:"id,omitempty"`
   495  	// LocationId: Location from which this application runs. Application instances
   496  	// run out of the data centers in the specified location, which is also where
   497  	// all of the application's end user content is stored.Defaults to
   498  	// us-central.View the list of supported locations
   499  	// (https://cloud.google.com/appengine/docs/locations).
   500  	LocationId string `json:"locationId,omitempty"`
   501  	// Name: Output only. Full path to the Application resource in the API.
   502  	// Example: apps/myapp.@OutputOnly
   503  	Name string `json:"name,omitempty"`
   504  	// ServiceAccount: The service account associated with the application. This is
   505  	// the app-level default identity. If no identity provided during create
   506  	// version, Admin API will fallback to this one.
   507  	ServiceAccount string `json:"serviceAccount,omitempty"`
   508  	// ServingStatus: Serving status of this application.
   509  	//
   510  	// Possible values:
   511  	//   "UNSPECIFIED" - Serving status is unspecified.
   512  	//   "SERVING" - Application is serving.
   513  	//   "USER_DISABLED" - Application has been disabled by the user.
   514  	//   "SYSTEM_DISABLED" - Application has been disabled by the system.
   515  	ServingStatus string `json:"servingStatus,omitempty"`
   516  
   517  	// ServerResponse contains the HTTP response code and headers from the server.
   518  	googleapi.ServerResponse `json:"-"`
   519  	// ForceSendFields is a list of field names (e.g. "AuthDomain") to
   520  	// unconditionally include in API requests. By default, fields with empty or
   521  	// default values are omitted from API requests. See
   522  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   523  	// details.
   524  	ForceSendFields []string `json:"-"`
   525  	// NullFields is a list of field names (e.g. "AuthDomain") to include in API
   526  	// requests with the JSON null value. By default, fields with empty values are
   527  	// omitted from API requests. See
   528  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   529  	NullFields []string `json:"-"`
   530  }
   531  
   532  func (s *Application) MarshalJSON() ([]byte, error) {
   533  	type NoMethod Application
   534  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   535  }
   536  
   537  // AuthorizedCertificate: An SSL certificate that a user has been authorized to
   538  // administer. A user is authorized to administer any certificate that applies
   539  // to one of their authorized domains.
   540  type AuthorizedCertificate struct {
   541  	// CertificateRawData: The SSL certificate serving the AuthorizedCertificate
   542  	// resource. This must be obtained independently from a certificate authority.
   543  	CertificateRawData *CertificateRawData `json:"certificateRawData,omitempty"`
   544  	// DisplayName: The user-specified display name of the certificate. This is not
   545  	// guaranteed to be unique. Example: My Certificate.
   546  	DisplayName string `json:"displayName,omitempty"`
   547  	// DomainMappingsCount: Aggregate count of the domain mappings with this
   548  	// certificate mapped. This count includes domain mappings on applications for
   549  	// which the user does not have VIEWER permissions.Only returned by GET or LIST
   550  	// requests when specifically requested by the view=FULL_CERTIFICATE
   551  	// option.@OutputOnly
   552  	DomainMappingsCount int64 `json:"domainMappingsCount,omitempty"`
   553  	// DomainNames: Topmost applicable domains of this certificate. This
   554  	// certificate applies to these domains and their subdomains. Example:
   555  	// example.com.@OutputOnly
   556  	DomainNames []string `json:"domainNames,omitempty"`
   557  	// ExpireTime: The time when this certificate expires. To update the renewal
   558  	// time on this certificate, upload an SSL certificate with a different
   559  	// expiration time using
   560  	// AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly
   561  	ExpireTime string `json:"expireTime,omitempty"`
   562  	// Id: Relative name of the certificate. This is a unique value autogenerated
   563  	// on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly
   564  	Id string `json:"id,omitempty"`
   565  	// ManagedCertificate: Only applicable if this certificate is managed by App
   566  	// Engine. Managed certificates are tied to the lifecycle of a DomainMapping
   567  	// and cannot be updated or deleted via the AuthorizedCertificates API. If this
   568  	// certificate is manually administered by the user, this field will be
   569  	// empty.@OutputOnly
   570  	ManagedCertificate *ManagedCertificate `json:"managedCertificate,omitempty"`
   571  	// Name: Full path to the AuthorizedCertificate resource in the API. Example:
   572  	// apps/myapp/authorizedCertificates/12345.@OutputOnly
   573  	Name string `json:"name,omitempty"`
   574  	// VisibleDomainMappings: The full paths to user visible Domain Mapping
   575  	// resources that have this certificate mapped. Example:
   576  	// apps/myapp/domainMappings/example.com.This may not represent the full list
   577  	// of mapped domain mappings if the user does not have VIEWER permissions on
   578  	// all of the applications that have this certificate mapped. See
   579  	// domain_mappings_count for a complete count.Only returned by GET or LIST
   580  	// requests when specifically requested by the view=FULL_CERTIFICATE
   581  	// option.@OutputOnly
   582  	VisibleDomainMappings []string `json:"visibleDomainMappings,omitempty"`
   583  
   584  	// ServerResponse contains the HTTP response code and headers from the server.
   585  	googleapi.ServerResponse `json:"-"`
   586  	// ForceSendFields is a list of field names (e.g. "CertificateRawData") to
   587  	// unconditionally include in API requests. By default, fields with empty or
   588  	// default values are omitted from API requests. See
   589  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   590  	// details.
   591  	ForceSendFields []string `json:"-"`
   592  	// NullFields is a list of field names (e.g. "CertificateRawData") to include
   593  	// in API requests with the JSON null value. By default, fields with empty
   594  	// values are omitted from API requests. See
   595  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   596  	NullFields []string `json:"-"`
   597  }
   598  
   599  func (s *AuthorizedCertificate) MarshalJSON() ([]byte, error) {
   600  	type NoMethod AuthorizedCertificate
   601  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   602  }
   603  
   604  // AuthorizedDomain: A domain that a user has been authorized to administer. To
   605  // authorize use of a domain, verify ownership via Search Console
   606  // (https://search.google.com/search-console/welcome).
   607  type AuthorizedDomain struct {
   608  	// Id: Fully qualified domain name of the domain authorized for use. Example:
   609  	// example.com.
   610  	Id string `json:"id,omitempty"`
   611  	// Name: Full path to the AuthorizedDomain resource in the API. Example:
   612  	// apps/myapp/authorizedDomains/example.com.@OutputOnly
   613  	Name string `json:"name,omitempty"`
   614  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
   615  	// include in API requests. By default, fields with empty or default values are
   616  	// omitted from API requests. See
   617  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   618  	// details.
   619  	ForceSendFields []string `json:"-"`
   620  	// NullFields is a list of field names (e.g. "Id") to include in API requests
   621  	// with the JSON null value. By default, fields with empty values are omitted
   622  	// from API requests. See
   623  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   624  	NullFields []string `json:"-"`
   625  }
   626  
   627  func (s *AuthorizedDomain) MarshalJSON() ([]byte, error) {
   628  	type NoMethod AuthorizedDomain
   629  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   630  }
   631  
   632  // AutomaticScaling: Automatic scaling is based on request rate, response
   633  // latencies, and other application metrics.
   634  type AutomaticScaling struct {
   635  	// CoolDownPeriod: The time period that the Autoscaler
   636  	// (https://cloud.google.com/compute/docs/autoscaler/) should wait before it
   637  	// starts collecting information from a new instance. This prevents the
   638  	// autoscaler from collecting information when the instance is initializing,
   639  	// during which the collected usage would not be reliable. Only applicable in
   640  	// the App Engine flexible environment.
   641  	CoolDownPeriod string `json:"coolDownPeriod,omitempty"`
   642  	// CpuUtilization: Target scaling by CPU usage.
   643  	CpuUtilization *CpuUtilization `json:"cpuUtilization,omitempty"`
   644  	// CustomMetrics: Target scaling by user-provided metrics. Only applicable in
   645  	// the App Engine flexible environment.
   646  	CustomMetrics []*CustomMetric `json:"customMetrics,omitempty"`
   647  	// DiskUtilization: Target scaling by disk usage.
   648  	DiskUtilization *DiskUtilization `json:"diskUtilization,omitempty"`
   649  	// MaxConcurrentRequests: Number of concurrent requests an automatic scaling
   650  	// instance can accept before the scheduler spawns a new instance.Defaults to a
   651  	// runtime-specific value.
   652  	MaxConcurrentRequests int64 `json:"maxConcurrentRequests,omitempty"`
   653  	// MaxIdleInstances: Maximum number of idle instances that should be maintained
   654  	// for this version.
   655  	MaxIdleInstances int64 `json:"maxIdleInstances,omitempty"`
   656  	// MaxPendingLatency: Maximum amount of time that a request should wait in the
   657  	// pending queue before starting a new instance to handle it.
   658  	MaxPendingLatency string `json:"maxPendingLatency,omitempty"`
   659  	// MaxTotalInstances: Maximum number of instances that should be started to
   660  	// handle requests for this version.
   661  	MaxTotalInstances int64 `json:"maxTotalInstances,omitempty"`
   662  	// MinIdleInstances: Minimum number of idle instances that should be maintained
   663  	// for this version. Only applicable for the default version of a service.
   664  	MinIdleInstances int64 `json:"minIdleInstances,omitempty"`
   665  	// MinPendingLatency: Minimum amount of time a request should wait in the
   666  	// pending queue before starting a new instance to handle it.
   667  	MinPendingLatency string `json:"minPendingLatency,omitempty"`
   668  	// MinTotalInstances: Minimum number of running instances that should be
   669  	// maintained for this version.
   670  	MinTotalInstances int64 `json:"minTotalInstances,omitempty"`
   671  	// NetworkUtilization: Target scaling by network usage.
   672  	NetworkUtilization *NetworkUtilization `json:"networkUtilization,omitempty"`
   673  	// RequestUtilization: Target scaling by request utilization.
   674  	RequestUtilization *RequestUtilization `json:"requestUtilization,omitempty"`
   675  	// StandardSchedulerSettings: Scheduler settings for standard environment.
   676  	StandardSchedulerSettings *StandardSchedulerSettings `json:"standardSchedulerSettings,omitempty"`
   677  	// ForceSendFields is a list of field names (e.g. "CoolDownPeriod") to
   678  	// unconditionally include in API requests. By default, fields with empty or
   679  	// default values are omitted from API requests. See
   680  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   681  	// details.
   682  	ForceSendFields []string `json:"-"`
   683  	// NullFields is a list of field names (e.g. "CoolDownPeriod") to include in
   684  	// API requests with the JSON null value. By default, fields with empty values
   685  	// are omitted from API requests. See
   686  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   687  	NullFields []string `json:"-"`
   688  }
   689  
   690  func (s *AutomaticScaling) MarshalJSON() ([]byte, error) {
   691  	type NoMethod AutomaticScaling
   692  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   693  }
   694  
   695  // BasicScaling: A service with basic scaling will create an instance when the
   696  // application receives a request. The instance will be turned down when the
   697  // app becomes idle. Basic scaling is ideal for work that is intermittent or
   698  // driven by user activity.
   699  type BasicScaling struct {
   700  	// IdleTimeout: Duration of time after the last request that an instance must
   701  	// wait before the instance is shut down.
   702  	IdleTimeout string `json:"idleTimeout,omitempty"`
   703  	// MaxInstances: Maximum number of instances to create for this version.
   704  	MaxInstances int64 `json:"maxInstances,omitempty"`
   705  	// ForceSendFields is a list of field names (e.g. "IdleTimeout") to
   706  	// unconditionally include in API requests. By default, fields with empty or
   707  	// default values are omitted from API requests. See
   708  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   709  	// details.
   710  	ForceSendFields []string `json:"-"`
   711  	// NullFields is a list of field names (e.g. "IdleTimeout") to include in API
   712  	// requests with the JSON null value. By default, fields with empty values are
   713  	// omitted from API requests. See
   714  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   715  	NullFields []string `json:"-"`
   716  }
   717  
   718  func (s *BasicScaling) MarshalJSON() ([]byte, error) {
   719  	type NoMethod BasicScaling
   720  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   721  }
   722  
   723  // BatchUpdateIngressRulesRequest: Request message for
   724  // Firewall.BatchUpdateIngressRules.
   725  type BatchUpdateIngressRulesRequest struct {
   726  	// IngressRules: A list of FirewallRules to replace the existing set.
   727  	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
   728  	// ForceSendFields is a list of field names (e.g. "IngressRules") to
   729  	// unconditionally include in API requests. By default, fields with empty or
   730  	// default values are omitted from API requests. See
   731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   732  	// details.
   733  	ForceSendFields []string `json:"-"`
   734  	// NullFields is a list of field names (e.g. "IngressRules") to include in API
   735  	// requests with the JSON null value. By default, fields with empty values are
   736  	// omitted from API requests. See
   737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   738  	NullFields []string `json:"-"`
   739  }
   740  
   741  func (s *BatchUpdateIngressRulesRequest) MarshalJSON() ([]byte, error) {
   742  	type NoMethod BatchUpdateIngressRulesRequest
   743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   744  }
   745  
   746  // BatchUpdateIngressRulesResponse: Response message for
   747  // Firewall.UpdateAllIngressRules.
   748  type BatchUpdateIngressRulesResponse struct {
   749  	// IngressRules: The full list of ingress FirewallRules for this application.
   750  	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
   751  
   752  	// ServerResponse contains the HTTP response code and headers from the server.
   753  	googleapi.ServerResponse `json:"-"`
   754  	// ForceSendFields is a list of field names (e.g. "IngressRules") to
   755  	// unconditionally include in API requests. By default, fields with empty or
   756  	// default values are omitted from API requests. See
   757  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   758  	// details.
   759  	ForceSendFields []string `json:"-"`
   760  	// NullFields is a list of field names (e.g. "IngressRules") to include in API
   761  	// requests with the JSON null value. By default, fields with empty values are
   762  	// omitted from API requests. See
   763  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   764  	NullFields []string `json:"-"`
   765  }
   766  
   767  func (s *BatchUpdateIngressRulesResponse) MarshalJSON() ([]byte, error) {
   768  	type NoMethod BatchUpdateIngressRulesResponse
   769  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   770  }
   771  
   772  // BuildInfo: Google Cloud Build information.
   773  type BuildInfo struct {
   774  	// CloudBuildId: The Google Cloud Build id. Example:
   775  	// "f966068f-08b2-42c8-bdfe-74137dff2bf9"
   776  	CloudBuildId string `json:"cloudBuildId,omitempty"`
   777  	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
   778  	// unconditionally include in API requests. By default, fields with empty or
   779  	// default values are omitted from API requests. See
   780  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   781  	// details.
   782  	ForceSendFields []string `json:"-"`
   783  	// NullFields is a list of field names (e.g. "CloudBuildId") to include in API
   784  	// requests with the JSON null value. By default, fields with empty values are
   785  	// omitted from API requests. See
   786  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   787  	NullFields []string `json:"-"`
   788  }
   789  
   790  func (s *BuildInfo) MarshalJSON() ([]byte, error) {
   791  	type NoMethod BuildInfo
   792  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   793  }
   794  
   795  // CertificateRawData: An SSL certificate obtained from a certificate
   796  // authority.
   797  type CertificateRawData struct {
   798  	// PrivateKey: Unencrypted PEM encoded RSA private key. This field is set once
   799  	// on certificate creation and then encrypted. The key size must be 2048 bits
   800  	// or fewer. Must include the header and footer. Example: -----BEGIN RSA
   801  	// PRIVATE KEY----- -----END RSA PRIVATE KEY----- @InputOnly
   802  	PrivateKey string `json:"privateKey,omitempty"`
   803  	// PublicCertificate: PEM encoded x.509 public key certificate. This field is
   804  	// set once on certificate creation. Must include the header and footer.
   805  	// Example: -----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
   806  	PublicCertificate string `json:"publicCertificate,omitempty"`
   807  	// ForceSendFields is a list of field names (e.g. "PrivateKey") to
   808  	// unconditionally include in API requests. By default, fields with empty or
   809  	// default values are omitted from API requests. See
   810  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   811  	// details.
   812  	ForceSendFields []string `json:"-"`
   813  	// NullFields is a list of field names (e.g. "PrivateKey") to include in API
   814  	// requests with the JSON null value. By default, fields with empty values are
   815  	// omitted from API requests. See
   816  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   817  	NullFields []string `json:"-"`
   818  }
   819  
   820  func (s *CertificateRawData) MarshalJSON() ([]byte, error) {
   821  	type NoMethod CertificateRawData
   822  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   823  }
   824  
   825  // CloudBuildOptions: Options for the build operations performed as a part of
   826  // the version deployment. Only applicable for App Engine flexible environment
   827  // when creating a version using source code directly.
   828  type CloudBuildOptions struct {
   829  	// AppYamlPath: Path to the yaml file used in deployment, used to determine
   830  	// runtime configuration details.Required for flexible environment builds.See
   831  	// https://cloud.google.com/appengine/docs/standard/python/config/appref for
   832  	// more details.
   833  	AppYamlPath string `json:"appYamlPath,omitempty"`
   834  	// CloudBuildTimeout: The Cloud Build timeout used as part of any dependent
   835  	// builds performed by version creation. Defaults to 10 minutes.
   836  	CloudBuildTimeout string `json:"cloudBuildTimeout,omitempty"`
   837  	// ForceSendFields is a list of field names (e.g. "AppYamlPath") to
   838  	// unconditionally include in API requests. By default, fields with empty or
   839  	// default values are omitted from API requests. See
   840  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   841  	// details.
   842  	ForceSendFields []string `json:"-"`
   843  	// NullFields is a list of field names (e.g. "AppYamlPath") to include in API
   844  	// requests with the JSON null value. By default, fields with empty values are
   845  	// omitted from API requests. See
   846  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   847  	NullFields []string `json:"-"`
   848  }
   849  
   850  func (s *CloudBuildOptions) MarshalJSON() ([]byte, error) {
   851  	type NoMethod CloudBuildOptions
   852  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   853  }
   854  
   855  // ContainerInfo: Docker image that is used to create a container and start a
   856  // VM instance for the version that you deploy. Only applicable for instances
   857  // running in the App Engine flexible environment.
   858  type ContainerInfo struct {
   859  	// Image: URI to the hosted container image in Google Container Registry. The
   860  	// URI must be fully qualified and include a tag or digest. Examples:
   861  	// "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
   862  	Image string `json:"image,omitempty"`
   863  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
   864  	// include in API requests. By default, fields with empty or default values are
   865  	// omitted from API requests. See
   866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   867  	// details.
   868  	ForceSendFields []string `json:"-"`
   869  	// NullFields is a list of field names (e.g. "Image") to include in API
   870  	// requests with the JSON null value. By default, fields with empty values are
   871  	// omitted from API requests. See
   872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   873  	NullFields []string `json:"-"`
   874  }
   875  
   876  func (s *ContainerInfo) MarshalJSON() ([]byte, error) {
   877  	type NoMethod ContainerInfo
   878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   879  }
   880  
   881  // ContainerState: ContainerState contains the externally-visible container
   882  // state that is used to communicate the state and reasoning for that state to
   883  // the CLH. This data is not persisted by CCFE, but is instead derived from
   884  // CCFE's internal representation of the container state.
   885  type ContainerState struct {
   886  	CurrentReasons *Reasons `json:"currentReasons,omitempty"`
   887  	// PreviousReasons: The previous and current reasons for a container state will
   888  	// be sent for a container event. CLHs that need to know the signal that caused
   889  	// the container event to trigger (edges) as opposed to just knowing the state
   890  	// can act upon differences in the previous and current reasons.Reasons will be
   891  	// provided for every system: service management, data governance, abuse, and
   892  	// billing.If this is a CCFE-triggered event used for reconciliation then the
   893  	// current reasons will be set to their *_CONTROL_PLANE_SYNC state. The
   894  	// previous reasons will contain the last known set of non-unknown
   895  	// non-control_plane_sync reasons for the state.
   896  	PreviousReasons *Reasons `json:"previousReasons,omitempty"`
   897  	// State: The current state of the container. This state is the culmination of
   898  	// all of the opinions from external systems that CCFE knows about of the
   899  	// container.
   900  	//
   901  	// Possible values:
   902  	//   "UNKNOWN_STATE" - A container should never be in an unknown state. Receipt
   903  	// of a container with this state is an error.
   904  	//   "ON" - CCFE considers the container to be serving or transitioning into
   905  	// serving.
   906  	//   "OFF" - CCFE considers the container to be in an OFF state. This could
   907  	// occur due to various factors. The state could be triggered by
   908  	// Google-internal audits (ex. abuse suspension, billing closed) or cleanups
   909  	// trigged by compliance systems (ex. data governance hide). User-initiated
   910  	// events such as service management deactivation trigger a container to an OFF
   911  	// state.CLHs might choose to do nothing in this case or to turn off costly
   912  	// resources. CLHs need to consider the customer experience if an ON/OFF/ON
   913  	// sequence of state transitions occurs vs. the cost of deleting resources,
   914  	// keeping metadata about resources, or even keeping resources live for a
   915  	// period of time.CCFE will not send any new customer requests to the CLH when
   916  	// the container is in an OFF state. However, CCFE will allow all previous
   917  	// customer requests relayed to CLH to complete.
   918  	//   "DELETED" - This state indicates that the container has been (or is being)
   919  	// completely removed. This is often due to a data governance purge request and
   920  	// therefore resources should be deleted when this state is reached.
   921  	State string `json:"state,omitempty"`
   922  	// ForceSendFields is a list of field names (e.g. "CurrentReasons") to
   923  	// unconditionally include in API requests. By default, fields with empty or
   924  	// default values are omitted from API requests. See
   925  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   926  	// details.
   927  	ForceSendFields []string `json:"-"`
   928  	// NullFields is a list of field names (e.g. "CurrentReasons") to include in
   929  	// API requests with the JSON null value. By default, fields with empty values
   930  	// are omitted from API requests. See
   931  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   932  	NullFields []string `json:"-"`
   933  }
   934  
   935  func (s *ContainerState) MarshalJSON() ([]byte, error) {
   936  	type NoMethod ContainerState
   937  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   938  }
   939  
   940  // CpuUtilization: Target scaling by CPU usage.
   941  type CpuUtilization struct {
   942  	// AggregationWindowLength: Period of time over which CPU utilization is
   943  	// calculated.
   944  	AggregationWindowLength string `json:"aggregationWindowLength,omitempty"`
   945  	// TargetUtilization: Target CPU utilization ratio to maintain when scaling.
   946  	// Must be between 0 and 1.
   947  	TargetUtilization float64 `json:"targetUtilization,omitempty"`
   948  	// ForceSendFields is a list of field names (e.g. "AggregationWindowLength") to
   949  	// unconditionally include in API requests. By default, fields with empty or
   950  	// default values are omitted from API requests. See
   951  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   952  	// details.
   953  	ForceSendFields []string `json:"-"`
   954  	// NullFields is a list of field names (e.g. "AggregationWindowLength") to
   955  	// include in API requests with the JSON null value. By default, fields with
   956  	// empty values are omitted from API requests. See
   957  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   958  	NullFields []string `json:"-"`
   959  }
   960  
   961  func (s *CpuUtilization) MarshalJSON() ([]byte, error) {
   962  	type NoMethod CpuUtilization
   963  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   964  }
   965  
   966  func (s *CpuUtilization) UnmarshalJSON(data []byte) error {
   967  	type NoMethod CpuUtilization
   968  	var s1 struct {
   969  		TargetUtilization gensupport.JSONFloat64 `json:"targetUtilization"`
   970  		*NoMethod
   971  	}
   972  	s1.NoMethod = (*NoMethod)(s)
   973  	if err := json.Unmarshal(data, &s1); err != nil {
   974  		return err
   975  	}
   976  	s.TargetUtilization = float64(s1.TargetUtilization)
   977  	return nil
   978  }
   979  
   980  // CreateVersionMetadataV1: Metadata for the given google.longrunning.Operation
   981  // during a google.appengine.v1.CreateVersionRequest.
   982  type CreateVersionMetadataV1 struct {
   983  	// CloudBuildId: The Cloud Build ID if one was created as part of the version
   984  	// create. @OutputOnly
   985  	CloudBuildId string `json:"cloudBuildId,omitempty"`
   986  	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
   987  	// unconditionally include in API requests. By default, fields with empty or
   988  	// default values are omitted from API requests. See
   989  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   990  	// details.
   991  	ForceSendFields []string `json:"-"`
   992  	// NullFields is a list of field names (e.g. "CloudBuildId") to include in API
   993  	// requests with the JSON null value. By default, fields with empty values are
   994  	// omitted from API requests. See
   995  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   996  	NullFields []string `json:"-"`
   997  }
   998  
   999  func (s *CreateVersionMetadataV1) MarshalJSON() ([]byte, error) {
  1000  	type NoMethod CreateVersionMetadataV1
  1001  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1002  }
  1003  
  1004  // CreateVersionMetadataV1Alpha: Metadata for the given
  1005  // google.longrunning.Operation during a
  1006  // google.appengine.v1alpha.CreateVersionRequest.
  1007  type CreateVersionMetadataV1Alpha struct {
  1008  	// CloudBuildId: The Cloud Build ID if one was created as part of the version
  1009  	// create. @OutputOnly
  1010  	CloudBuildId string `json:"cloudBuildId,omitempty"`
  1011  	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
  1012  	// unconditionally include in API requests. By default, fields with empty or
  1013  	// default values are omitted from API requests. See
  1014  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1015  	// details.
  1016  	ForceSendFields []string `json:"-"`
  1017  	// NullFields is a list of field names (e.g. "CloudBuildId") to include in API
  1018  	// requests with the JSON null value. By default, fields with empty values are
  1019  	// omitted from API requests. See
  1020  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1021  	NullFields []string `json:"-"`
  1022  }
  1023  
  1024  func (s *CreateVersionMetadataV1Alpha) MarshalJSON() ([]byte, error) {
  1025  	type NoMethod CreateVersionMetadataV1Alpha
  1026  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1027  }
  1028  
  1029  // CreateVersionMetadataV1Beta: Metadata for the given
  1030  // google.longrunning.Operation during a
  1031  // google.appengine.v1beta.CreateVersionRequest.
  1032  type CreateVersionMetadataV1Beta struct {
  1033  	// CloudBuildId: The Cloud Build ID if one was created as part of the version
  1034  	// create. @OutputOnly
  1035  	CloudBuildId string `json:"cloudBuildId,omitempty"`
  1036  	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
  1037  	// unconditionally include in API requests. By default, fields with empty or
  1038  	// default values are omitted from API requests. See
  1039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1040  	// details.
  1041  	ForceSendFields []string `json:"-"`
  1042  	// NullFields is a list of field names (e.g. "CloudBuildId") to include in API
  1043  	// requests with the JSON null value. By default, fields with empty values are
  1044  	// omitted from API requests. See
  1045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1046  	NullFields []string `json:"-"`
  1047  }
  1048  
  1049  func (s *CreateVersionMetadataV1Beta) MarshalJSON() ([]byte, error) {
  1050  	type NoMethod CreateVersionMetadataV1Beta
  1051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1052  }
  1053  
  1054  // CustomMetric: Allows autoscaling based on Stackdriver metrics.
  1055  type CustomMetric struct {
  1056  	// Filter: Allows filtering on the metric's fields.
  1057  	Filter string `json:"filter,omitempty"`
  1058  	// MetricName: The name of the metric.
  1059  	MetricName string `json:"metricName,omitempty"`
  1060  	// SingleInstanceAssignment: May be used instead of target_utilization when an
  1061  	// instance can handle a specific amount of work/resources and the metric value
  1062  	// is equal to the current amount of work remaining. The autoscaler will try to
  1063  	// keep the number of instances equal to the metric value divided by
  1064  	// single_instance_assignment.
  1065  	SingleInstanceAssignment float64 `json:"singleInstanceAssignment,omitempty"`
  1066  	// TargetType: The type of the metric. Must be a string representing a
  1067  	// Stackdriver metric type e.g. GAGUE, DELTA_PER_SECOND, etc.
  1068  	TargetType string `json:"targetType,omitempty"`
  1069  	// TargetUtilization: The target value for the metric.
  1070  	TargetUtilization float64 `json:"targetUtilization,omitempty"`
  1071  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
  1072  	// include in API requests. By default, fields with empty or default values are
  1073  	// omitted from API requests. See
  1074  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1075  	// details.
  1076  	ForceSendFields []string `json:"-"`
  1077  	// NullFields is a list of field names (e.g. "Filter") to include in API
  1078  	// requests with the JSON null value. By default, fields with empty values are
  1079  	// omitted from API requests. See
  1080  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1081  	NullFields []string `json:"-"`
  1082  }
  1083  
  1084  func (s *CustomMetric) MarshalJSON() ([]byte, error) {
  1085  	type NoMethod CustomMetric
  1086  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1087  }
  1088  
  1089  func (s *CustomMetric) UnmarshalJSON(data []byte) error {
  1090  	type NoMethod CustomMetric
  1091  	var s1 struct {
  1092  		SingleInstanceAssignment gensupport.JSONFloat64 `json:"singleInstanceAssignment"`
  1093  		TargetUtilization        gensupport.JSONFloat64 `json:"targetUtilization"`
  1094  		*NoMethod
  1095  	}
  1096  	s1.NoMethod = (*NoMethod)(s)
  1097  	if err := json.Unmarshal(data, &s1); err != nil {
  1098  		return err
  1099  	}
  1100  	s.SingleInstanceAssignment = float64(s1.SingleInstanceAssignment)
  1101  	s.TargetUtilization = float64(s1.TargetUtilization)
  1102  	return nil
  1103  }
  1104  
  1105  // Date: Represents a whole or partial calendar date, such as a birthday. The
  1106  // time of day and time zone are either specified elsewhere or are
  1107  // insignificant. The date is relative to the Gregorian Calendar. This can
  1108  // represent one of the following: A full date, with non-zero year, month, and
  1109  // day values. A month and day, with a zero year (for example, an anniversary).
  1110  // A year on its own, with a zero month and a zero day. A year and month, with
  1111  // a zero day (for example, a credit card expiration date).Related types:
  1112  // google.type.TimeOfDay google.type.DateTime google.protobuf.Timestamp
  1113  type Date struct {
  1114  	// Day: Day of a month. Must be from 1 to 31 and valid for the year and month,
  1115  	// or 0 to specify a year by itself or a year and month where the day isn't
  1116  	// significant.
  1117  	Day int64 `json:"day,omitempty"`
  1118  	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without
  1119  	// a month and day.
  1120  	Month int64 `json:"month,omitempty"`
  1121  	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
  1122  	// without a year.
  1123  	Year int64 `json:"year,omitempty"`
  1124  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
  1125  	// include in API requests. By default, fields with empty or default values are
  1126  	// omitted from API requests. See
  1127  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1128  	// details.
  1129  	ForceSendFields []string `json:"-"`
  1130  	// NullFields is a list of field names (e.g. "Day") to include in API requests
  1131  	// with the JSON null value. By default, fields with empty values are omitted
  1132  	// from API requests. See
  1133  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1134  	NullFields []string `json:"-"`
  1135  }
  1136  
  1137  func (s *Date) MarshalJSON() ([]byte, error) {
  1138  	type NoMethod Date
  1139  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1140  }
  1141  
  1142  // DebugInstanceRequest: Request message for Instances.DebugInstance.
  1143  type DebugInstanceRequest struct {
  1144  	// SshKey: Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa
  1145  	// [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh
  1146  	// {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For more information,
  1147  	// see Adding and Removing SSH Keys
  1148  	// (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).
  1149  	SshKey string `json:"sshKey,omitempty"`
  1150  	// ForceSendFields is a list of field names (e.g. "SshKey") to unconditionally
  1151  	// include in API requests. By default, fields with empty or default values are
  1152  	// omitted from API requests. See
  1153  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1154  	// details.
  1155  	ForceSendFields []string `json:"-"`
  1156  	// NullFields is a list of field names (e.g. "SshKey") to include in API
  1157  	// requests with the JSON null value. By default, fields with empty values are
  1158  	// omitted from API requests. See
  1159  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1160  	NullFields []string `json:"-"`
  1161  }
  1162  
  1163  func (s *DebugInstanceRequest) MarshalJSON() ([]byte, error) {
  1164  	type NoMethod DebugInstanceRequest
  1165  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1166  }
  1167  
  1168  // Deployment: Code and application artifacts used to deploy a version to App
  1169  // Engine.
  1170  type Deployment struct {
  1171  	// Build: Google Cloud Build build information. Only applicable for instances
  1172  	// running in the App Engine flexible environment.
  1173  	Build *BuildInfo `json:"build,omitempty"`
  1174  	// CloudBuildOptions: Options for any Google Cloud Build builds created as a
  1175  	// part of this deployment.These options will only be used if a new build is
  1176  	// created, such as when deploying to the App Engine flexible environment using
  1177  	// files or zip.
  1178  	CloudBuildOptions *CloudBuildOptions `json:"cloudBuildOptions,omitempty"`
  1179  	// Container: The Docker image for the container that runs the version. Only
  1180  	// applicable for instances running in the App Engine flexible environment.
  1181  	Container *ContainerInfo `json:"container,omitempty"`
  1182  	// Files: Manifest of the files stored in Google Cloud Storage that are
  1183  	// included as part of this version. All files must be readable using the
  1184  	// credentials supplied with this call.
  1185  	Files map[string]FileInfo `json:"files,omitempty"`
  1186  	// Zip: The zip file for this deployment, if this is a zip deployment.
  1187  	Zip *ZipInfo `json:"zip,omitempty"`
  1188  	// ForceSendFields is a list of field names (e.g. "Build") to unconditionally
  1189  	// include in API requests. By default, fields with empty or default values are
  1190  	// omitted from API requests. See
  1191  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1192  	// details.
  1193  	ForceSendFields []string `json:"-"`
  1194  	// NullFields is a list of field names (e.g. "Build") to include in API
  1195  	// requests with the JSON null value. By default, fields with empty values are
  1196  	// omitted from API requests. See
  1197  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1198  	NullFields []string `json:"-"`
  1199  }
  1200  
  1201  func (s *Deployment) MarshalJSON() ([]byte, error) {
  1202  	type NoMethod Deployment
  1203  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1204  }
  1205  
  1206  // DiskUtilization: Target scaling by disk usage. Only applicable in the App
  1207  // Engine flexible environment.
  1208  type DiskUtilization struct {
  1209  	// TargetReadBytesPerSecond: Target bytes read per second.
  1210  	TargetReadBytesPerSecond int64 `json:"targetReadBytesPerSecond,omitempty"`
  1211  	// TargetReadOpsPerSecond: Target ops read per seconds.
  1212  	TargetReadOpsPerSecond int64 `json:"targetReadOpsPerSecond,omitempty"`
  1213  	// TargetWriteBytesPerSecond: Target bytes written per second.
  1214  	TargetWriteBytesPerSecond int64 `json:"targetWriteBytesPerSecond,omitempty"`
  1215  	// TargetWriteOpsPerSecond: Target ops written per second.
  1216  	TargetWriteOpsPerSecond int64 `json:"targetWriteOpsPerSecond,omitempty"`
  1217  	// ForceSendFields is a list of field names (e.g. "TargetReadBytesPerSecond")
  1218  	// to unconditionally include in API requests. By default, fields with empty or
  1219  	// default values are omitted from API requests. See
  1220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1221  	// details.
  1222  	ForceSendFields []string `json:"-"`
  1223  	// NullFields is a list of field names (e.g. "TargetReadBytesPerSecond") to
  1224  	// include in API requests with the JSON null value. By default, fields with
  1225  	// empty values are omitted from API requests. See
  1226  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1227  	NullFields []string `json:"-"`
  1228  }
  1229  
  1230  func (s *DiskUtilization) MarshalJSON() ([]byte, error) {
  1231  	type NoMethod DiskUtilization
  1232  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1233  }
  1234  
  1235  // DomainMapping: A domain serving an App Engine application.
  1236  type DomainMapping struct {
  1237  	// Id: Relative name of the domain serving the application. Example:
  1238  	// example.com.
  1239  	Id string `json:"id,omitempty"`
  1240  	// Name: Full path to the DomainMapping resource in the API. Example:
  1241  	// apps/myapp/domainMapping/example.com.@OutputOnly
  1242  	Name string `json:"name,omitempty"`
  1243  	// ResourceRecords: The resource records required to configure this domain
  1244  	// mapping. These records must be added to the domain's DNS configuration in
  1245  	// order to serve the application via this domain mapping.@OutputOnly
  1246  	ResourceRecords []*ResourceRecord `json:"resourceRecords,omitempty"`
  1247  	// SslSettings: SSL configuration for this domain. If unconfigured, this domain
  1248  	// will not serve with SSL.
  1249  	SslSettings *SslSettings `json:"sslSettings,omitempty"`
  1250  
  1251  	// ServerResponse contains the HTTP response code and headers from the server.
  1252  	googleapi.ServerResponse `json:"-"`
  1253  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  1254  	// include in API requests. By default, fields with empty or default values are
  1255  	// omitted from API requests. See
  1256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1257  	// details.
  1258  	ForceSendFields []string `json:"-"`
  1259  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  1260  	// with the JSON null value. By default, fields with empty values are omitted
  1261  	// from API requests. See
  1262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1263  	NullFields []string `json:"-"`
  1264  }
  1265  
  1266  func (s *DomainMapping) MarshalJSON() ([]byte, error) {
  1267  	type NoMethod DomainMapping
  1268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1269  }
  1270  
  1271  // Empty: A generic empty message that you can re-use to avoid defining
  1272  // duplicated empty messages in your APIs. A typical example is to use it as
  1273  // the request or the response type of an API method. For instance: service Foo
  1274  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  1275  type Empty struct {
  1276  	// ServerResponse contains the HTTP response code and headers from the server.
  1277  	googleapi.ServerResponse `json:"-"`
  1278  }
  1279  
  1280  // EndpointsApiService: Google Cloud Endpoints
  1281  // (https://cloud.google.com/endpoints) configuration. The Endpoints API
  1282  // Service provides tooling for serving Open API and gRPC endpoints via an
  1283  // NGINX proxy. Only valid for App Engine Flexible environment deployments.The
  1284  // fields here refer to the name and configuration ID of a "service" resource
  1285  // in the Service Management API
  1286  // (https://cloud.google.com/service-management/overview).
  1287  type EndpointsApiService struct {
  1288  	// ConfigId: Endpoints service configuration ID as specified by the Service
  1289  	// Management API. For example "2016-09-19r1".By default, the rollout strategy
  1290  	// for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up
  1291  	// with a particular configuration ID. When a new configuration is rolled out,
  1292  	// Endpoints must be given the new configuration ID. The config_id field is
  1293  	// used to give the configuration ID and is required in this case.Endpoints
  1294  	// also has a rollout strategy called RolloutStrategy.MANAGED. When using this,
  1295  	// Endpoints fetches the latest configuration and does not need the
  1296  	// configuration ID. In this case, config_id must be omitted.
  1297  	ConfigId string `json:"configId,omitempty"`
  1298  	// DisableTraceSampling: Enable or disable trace sampling. By default, this is
  1299  	// set to false for enabled.
  1300  	DisableTraceSampling bool `json:"disableTraceSampling,omitempty"`
  1301  	// Name: Endpoints service name which is the name of the "service" resource in
  1302  	// the Service Management API. For example
  1303  	// "myapi.endpoints.myproject.cloud.goog"
  1304  	Name string `json:"name,omitempty"`
  1305  	// RolloutStrategy: Endpoints rollout strategy. If FIXED, config_id must be
  1306  	// specified. If MANAGED, config_id must be omitted.
  1307  	//
  1308  	// Possible values:
  1309  	//   "UNSPECIFIED_ROLLOUT_STRATEGY" - Not specified. Defaults to FIXED.
  1310  	//   "FIXED" - Endpoints service configuration ID will be fixed to the
  1311  	// configuration ID specified by config_id.
  1312  	//   "MANAGED" - Endpoints service configuration ID will be updated with each
  1313  	// rollout.
  1314  	RolloutStrategy string `json:"rolloutStrategy,omitempty"`
  1315  	// ForceSendFields is a list of field names (e.g. "ConfigId") to
  1316  	// unconditionally include in API requests. By default, fields with empty or
  1317  	// default values are omitted from API requests. See
  1318  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1319  	// details.
  1320  	ForceSendFields []string `json:"-"`
  1321  	// NullFields is a list of field names (e.g. "ConfigId") to include in API
  1322  	// requests with the JSON null value. By default, fields with empty values are
  1323  	// omitted from API requests. See
  1324  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1325  	NullFields []string `json:"-"`
  1326  }
  1327  
  1328  func (s *EndpointsApiService) MarshalJSON() ([]byte, error) {
  1329  	type NoMethod EndpointsApiService
  1330  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1331  }
  1332  
  1333  // Entrypoint: The entrypoint for the application.
  1334  type Entrypoint struct {
  1335  	// Shell: The format should be a shell command that can be fed to bash -c.
  1336  	Shell string `json:"shell,omitempty"`
  1337  	// ForceSendFields is a list of field names (e.g. "Shell") to unconditionally
  1338  	// include in API requests. By default, fields with empty or default values are
  1339  	// omitted from API requests. See
  1340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1341  	// details.
  1342  	ForceSendFields []string `json:"-"`
  1343  	// NullFields is a list of field names (e.g. "Shell") to include in API
  1344  	// requests with the JSON null value. By default, fields with empty values are
  1345  	// omitted from API requests. See
  1346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1347  	NullFields []string `json:"-"`
  1348  }
  1349  
  1350  func (s *Entrypoint) MarshalJSON() ([]byte, error) {
  1351  	type NoMethod Entrypoint
  1352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1353  }
  1354  
  1355  // ErrorHandler: Custom static error page to be served when an error occurs.
  1356  type ErrorHandler struct {
  1357  	// ErrorCode: Error condition this handler applies to.
  1358  	//
  1359  	// Possible values:
  1360  	//   "ERROR_CODE_UNSPECIFIED" - Not specified. ERROR_CODE_DEFAULT is assumed.
  1361  	//   "ERROR_CODE_DEFAULT" - All other error types.
  1362  	//   "ERROR_CODE_OVER_QUOTA" - Application has exceeded a resource quota.
  1363  	//   "ERROR_CODE_DOS_API_DENIAL" - Client blocked by the application's Denial
  1364  	// of Service protection configuration.
  1365  	//   "ERROR_CODE_TIMEOUT" - Deadline reached before the application responds.
  1366  	ErrorCode string `json:"errorCode,omitempty"`
  1367  	// MimeType: MIME type of file. Defaults to text/html.
  1368  	MimeType string `json:"mimeType,omitempty"`
  1369  	// StaticFile: Static file content to be served for this error.
  1370  	StaticFile string `json:"staticFile,omitempty"`
  1371  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  1372  	// unconditionally include in API requests. By default, fields with empty or
  1373  	// default values are omitted from API requests. See
  1374  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1375  	// details.
  1376  	ForceSendFields []string `json:"-"`
  1377  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  1378  	// requests with the JSON null value. By default, fields with empty values are
  1379  	// omitted from API requests. See
  1380  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1381  	NullFields []string `json:"-"`
  1382  }
  1383  
  1384  func (s *ErrorHandler) MarshalJSON() ([]byte, error) {
  1385  	type NoMethod ErrorHandler
  1386  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1387  }
  1388  
  1389  // FeatureSettings: The feature specific settings to be used in the
  1390  // application. These define behaviors that are user configurable.
  1391  type FeatureSettings struct {
  1392  	// SplitHealthChecks: Boolean value indicating if split health checks should be
  1393  	// used instead of the legacy health checks. At an app.yaml level, this means
  1394  	// defaulting to 'readiness_check' and 'liveness_check' values instead of
  1395  	// 'health_check' ones. Once the legacy 'health_check' behavior is deprecated,
  1396  	// and this value is always true, this setting can be removed.
  1397  	SplitHealthChecks bool `json:"splitHealthChecks,omitempty"`
  1398  	// UseContainerOptimizedOs: If true, use Container-Optimized OS
  1399  	// (https://cloud.google.com/container-optimized-os/) base image for VMs,
  1400  	// rather than a base Debian image.
  1401  	UseContainerOptimizedOs bool `json:"useContainerOptimizedOs,omitempty"`
  1402  	// ForceSendFields is a list of field names (e.g. "SplitHealthChecks") to
  1403  	// unconditionally include in API requests. By default, fields with empty or
  1404  	// default values are omitted from API requests. See
  1405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1406  	// details.
  1407  	ForceSendFields []string `json:"-"`
  1408  	// NullFields is a list of field names (e.g. "SplitHealthChecks") to include in
  1409  	// API requests with the JSON null value. By default, fields with empty values
  1410  	// are omitted from API requests. See
  1411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1412  	NullFields []string `json:"-"`
  1413  }
  1414  
  1415  func (s *FeatureSettings) MarshalJSON() ([]byte, error) {
  1416  	type NoMethod FeatureSettings
  1417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1418  }
  1419  
  1420  // FileInfo: Single source file that is part of the version to be deployed.
  1421  // Each source file that is deployed must be specified separately.
  1422  type FileInfo struct {
  1423  	// MimeType: The MIME type of the file.Defaults to the value from Google Cloud
  1424  	// Storage.
  1425  	MimeType string `json:"mimeType,omitempty"`
  1426  	// Sha1Sum: The SHA1 hash of the file, in hex.
  1427  	Sha1Sum string `json:"sha1Sum,omitempty"`
  1428  	// SourceUrl: URL source to use to fetch this file. Must be a URL to a resource
  1429  	// in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'.
  1430  	SourceUrl string `json:"sourceUrl,omitempty"`
  1431  	// ForceSendFields is a list of field names (e.g. "MimeType") to
  1432  	// unconditionally include in API requests. By default, fields with empty or
  1433  	// default values are omitted from API requests. See
  1434  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1435  	// details.
  1436  	ForceSendFields []string `json:"-"`
  1437  	// NullFields is a list of field names (e.g. "MimeType") to include in API
  1438  	// requests with the JSON null value. By default, fields with empty values are
  1439  	// omitted from API requests. See
  1440  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1441  	NullFields []string `json:"-"`
  1442  }
  1443  
  1444  func (s *FileInfo) MarshalJSON() ([]byte, error) {
  1445  	type NoMethod FileInfo
  1446  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1447  }
  1448  
  1449  // FirewallRule: A single firewall rule that is evaluated against incoming
  1450  // traffic and provides an action to take on matched requests.
  1451  type FirewallRule struct {
  1452  	// Action: The action to take on matched requests.
  1453  	//
  1454  	// Possible values:
  1455  	//   "UNSPECIFIED_ACTION"
  1456  	//   "ALLOW" - Matching requests are allowed.
  1457  	//   "DENY" - Matching requests are denied.
  1458  	Action string `json:"action,omitempty"`
  1459  	// Description: An optional string description of this rule. This field has a
  1460  	// maximum length of 400 characters.
  1461  	Description string `json:"description,omitempty"`
  1462  	// Priority: A positive integer between 1, Int32.MaxValue-1 that defines the
  1463  	// order of rule evaluation. Rules with the lowest priority are evaluated
  1464  	// first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6
  1465  	// traffic when no previous rule matches. Only the action of this rule can be
  1466  	// modified by the user.
  1467  	Priority int64 `json:"priority,omitempty"`
  1468  	// SourceRange: IP address or range, defined using CIDR notation, of requests
  1469  	// that this rule applies to. You can use the wildcard character "*" to match
  1470  	// all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or
  1471  	// 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334.
  1472  	// Truncation will be silently performed on addresses which are not properly
  1473  	// truncated. For example, 1.2.3.4/24 is accepted as the same address as
  1474  	// 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same
  1475  	// address as 2001:db8::/32.
  1476  	SourceRange string `json:"sourceRange,omitempty"`
  1477  
  1478  	// ServerResponse contains the HTTP response code and headers from the server.
  1479  	googleapi.ServerResponse `json:"-"`
  1480  	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
  1481  	// include in API requests. By default, fields with empty or default values are
  1482  	// omitted from API requests. See
  1483  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1484  	// details.
  1485  	ForceSendFields []string `json:"-"`
  1486  	// NullFields is a list of field names (e.g. "Action") to include in API
  1487  	// requests with the JSON null value. By default, fields with empty values are
  1488  	// omitted from API requests. See
  1489  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1490  	NullFields []string `json:"-"`
  1491  }
  1492  
  1493  func (s *FirewallRule) MarshalJSON() ([]byte, error) {
  1494  	type NoMethod FirewallRule
  1495  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1496  }
  1497  
  1498  // FlexibleRuntimeSettings: Runtime settings for the App Engine flexible
  1499  // environment.
  1500  type FlexibleRuntimeSettings struct {
  1501  	// OperatingSystem: The operating system of the application runtime.
  1502  	OperatingSystem string `json:"operatingSystem,omitempty"`
  1503  	// RuntimeVersion: The runtime version of an App Engine flexible application.
  1504  	RuntimeVersion string `json:"runtimeVersion,omitempty"`
  1505  	// ForceSendFields is a list of field names (e.g. "OperatingSystem") to
  1506  	// unconditionally include in API requests. By default, fields with empty or
  1507  	// default values are omitted from API requests. See
  1508  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1509  	// details.
  1510  	ForceSendFields []string `json:"-"`
  1511  	// NullFields is a list of field names (e.g. "OperatingSystem") to include in
  1512  	// API requests with the JSON null value. By default, fields with empty values
  1513  	// are omitted from API requests. See
  1514  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1515  	NullFields []string `json:"-"`
  1516  }
  1517  
  1518  func (s *FlexibleRuntimeSettings) MarshalJSON() ([]byte, error) {
  1519  	type NoMethod FlexibleRuntimeSettings
  1520  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1521  }
  1522  
  1523  // GoogleAppengineV1betaLocationMetadata: Metadata for the given
  1524  // google.cloud.location.Location.
  1525  type GoogleAppengineV1betaLocationMetadata struct {
  1526  	// FlexibleEnvironmentAvailable: App Engine flexible environment is available
  1527  	// in the given location.@OutputOnly
  1528  	FlexibleEnvironmentAvailable bool `json:"flexibleEnvironmentAvailable,omitempty"`
  1529  	// SearchApiAvailable: Output only. Search API
  1530  	// (https://cloud.google.com/appengine/docs/standard/python/search) is
  1531  	// available in the given location.
  1532  	SearchApiAvailable bool `json:"searchApiAvailable,omitempty"`
  1533  	// StandardEnvironmentAvailable: App Engine standard environment is available
  1534  	// in the given location.@OutputOnly
  1535  	StandardEnvironmentAvailable bool `json:"standardEnvironmentAvailable,omitempty"`
  1536  	// ForceSendFields is a list of field names (e.g.
  1537  	// "FlexibleEnvironmentAvailable") to unconditionally include in API requests.
  1538  	// By default, fields with empty or default values are omitted from API
  1539  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1540  	// for more details.
  1541  	ForceSendFields []string `json:"-"`
  1542  	// NullFields is a list of field names (e.g. "FlexibleEnvironmentAvailable") to
  1543  	// include in API requests with the JSON null value. By default, fields with
  1544  	// empty values are omitted from API requests. See
  1545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1546  	NullFields []string `json:"-"`
  1547  }
  1548  
  1549  func (s *GoogleAppengineV1betaLocationMetadata) MarshalJSON() ([]byte, error) {
  1550  	type NoMethod GoogleAppengineV1betaLocationMetadata
  1551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1552  }
  1553  
  1554  // HealthCheck: Health checking configuration for VM instances. Unhealthy
  1555  // instances are killed and replaced with new instances. Only applicable for
  1556  // instances in App Engine flexible environment.
  1557  type HealthCheck struct {
  1558  	// CheckInterval: Interval between health checks.
  1559  	CheckInterval string `json:"checkInterval,omitempty"`
  1560  	// DisableHealthCheck: Whether to explicitly disable health checks for this
  1561  	// instance.
  1562  	DisableHealthCheck bool `json:"disableHealthCheck,omitempty"`
  1563  	// HealthyThreshold: Number of consecutive successful health checks required
  1564  	// before receiving traffic.
  1565  	HealthyThreshold int64 `json:"healthyThreshold,omitempty"`
  1566  	// Host: Host header to send when performing an HTTP health check. Example:
  1567  	// "myapp.appspot.com"
  1568  	Host string `json:"host,omitempty"`
  1569  	// RestartThreshold: Number of consecutive failed health checks required before
  1570  	// an instance is restarted.
  1571  	RestartThreshold int64 `json:"restartThreshold,omitempty"`
  1572  	// Timeout: Time before the health check is considered failed.
  1573  	Timeout string `json:"timeout,omitempty"`
  1574  	// UnhealthyThreshold: Number of consecutive failed health checks required
  1575  	// before removing traffic.
  1576  	UnhealthyThreshold int64 `json:"unhealthyThreshold,omitempty"`
  1577  	// ForceSendFields is a list of field names (e.g. "CheckInterval") to
  1578  	// unconditionally include in API requests. By default, fields with empty or
  1579  	// default values are omitted from API requests. See
  1580  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1581  	// details.
  1582  	ForceSendFields []string `json:"-"`
  1583  	// NullFields is a list of field names (e.g. "CheckInterval") to include in API
  1584  	// requests with the JSON null value. By default, fields with empty values are
  1585  	// omitted from API requests. See
  1586  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1587  	NullFields []string `json:"-"`
  1588  }
  1589  
  1590  func (s *HealthCheck) MarshalJSON() ([]byte, error) {
  1591  	type NoMethod HealthCheck
  1592  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1593  }
  1594  
  1595  // IdentityAwareProxy: Identity-Aware Proxy
  1596  type IdentityAwareProxy struct {
  1597  	// Enabled: Whether the serving infrastructure will authenticate and authorize
  1598  	// all incoming requests.If true, the oauth2_client_id and oauth2_client_secret
  1599  	// fields must be non-empty.
  1600  	Enabled bool `json:"enabled,omitempty"`
  1601  	// Oauth2ClientId: OAuth2 client ID to use for the authentication flow.
  1602  	Oauth2ClientId string `json:"oauth2ClientId,omitempty"`
  1603  	// Oauth2ClientSecret: OAuth2 client secret to use for the authentication
  1604  	// flow.For security reasons, this value cannot be retrieved via the API.
  1605  	// Instead, the SHA-256 hash of the value is returned in the
  1606  	// oauth2_client_secret_sha256 field.@InputOnly
  1607  	Oauth2ClientSecret string `json:"oauth2ClientSecret,omitempty"`
  1608  	// Oauth2ClientSecretSha256: Output only. Hex-encoded SHA-256 hash of the
  1609  	// client secret.@OutputOnly
  1610  	Oauth2ClientSecretSha256 string `json:"oauth2ClientSecretSha256,omitempty"`
  1611  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  1612  	// include in API requests. By default, fields with empty or default values are
  1613  	// omitted from API requests. See
  1614  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1615  	// details.
  1616  	ForceSendFields []string `json:"-"`
  1617  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  1618  	// requests with the JSON null value. By default, fields with empty values are
  1619  	// omitted from API requests. See
  1620  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1621  	NullFields []string `json:"-"`
  1622  }
  1623  
  1624  func (s *IdentityAwareProxy) MarshalJSON() ([]byte, error) {
  1625  	type NoMethod IdentityAwareProxy
  1626  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1627  }
  1628  
  1629  // Instance: An Instance resource is the computing unit that App Engine uses to
  1630  // automatically scale an application.
  1631  type Instance struct {
  1632  	// AppEngineRelease: Output only. App Engine release this instance is running
  1633  	// on.
  1634  	AppEngineRelease string `json:"appEngineRelease,omitempty"`
  1635  	// Availability: Output only. Availability of the instance.
  1636  	//
  1637  	// Possible values:
  1638  	//   "UNSPECIFIED"
  1639  	//   "RESIDENT"
  1640  	//   "DYNAMIC"
  1641  	Availability string `json:"availability,omitempty"`
  1642  	// AverageLatency: Output only. Average latency (ms) over the last minute.
  1643  	AverageLatency int64 `json:"averageLatency,omitempty"`
  1644  	// Errors: Output only. Number of errors since this instance was started.
  1645  	Errors int64 `json:"errors,omitempty"`
  1646  	// Id: Output only. Relative name of the instance within the version. Example:
  1647  	// instance-1.
  1648  	Id string `json:"id,omitempty"`
  1649  	// MemoryUsage: Output only. Total memory in use (bytes).
  1650  	MemoryUsage int64 `json:"memoryUsage,omitempty,string"`
  1651  	// Name: Output only. Full path to the Instance resource in the API. Example:
  1652  	// apps/myapp/services/default/versions/v1/instances/instance-1.
  1653  	Name string `json:"name,omitempty"`
  1654  	// Qps: Output only. Average queries per second (QPS) over the last minute.
  1655  	Qps float64 `json:"qps,omitempty"`
  1656  	// Requests: Output only. Number of requests since this instance was started.
  1657  	Requests int64 `json:"requests,omitempty"`
  1658  	// StartTime: Output only. Time that this instance was started.@OutputOnly
  1659  	StartTime string `json:"startTime,omitempty"`
  1660  	// VmDebugEnabled: Output only. Whether this instance is in debug mode. Only
  1661  	// applicable for instances in App Engine flexible environment.
  1662  	VmDebugEnabled bool `json:"vmDebugEnabled,omitempty"`
  1663  	// VmId: Output only. Virtual machine ID of this instance. Only applicable for
  1664  	// instances in App Engine flexible environment.
  1665  	VmId string `json:"vmId,omitempty"`
  1666  	// VmIp: Output only. The IP address of this instance. Only applicable for
  1667  	// instances in App Engine flexible environment.
  1668  	VmIp string `json:"vmIp,omitempty"`
  1669  	// VmLiveness: Output only. The liveness health check of this instance. Only
  1670  	// applicable for instances in App Engine flexible environment.
  1671  	//
  1672  	// Possible values:
  1673  	//   "LIVENESS_STATE_UNSPECIFIED" - There is no liveness health check for the
  1674  	// instance. Only applicable for instances in App Engine standard environment.
  1675  	//   "UNKNOWN" - The health checking system is aware of the instance but its
  1676  	// health is not known at the moment.
  1677  	//   "HEALTHY" - The instance is reachable i.e. a connection to the application
  1678  	// health checking endpoint can be established, and conforms to the
  1679  	// requirements defined by the health check.
  1680  	//   "UNHEALTHY" - The instance is reachable, but does not conform to the
  1681  	// requirements defined by the health check.
  1682  	//   "DRAINING" - The instance is being drained. The existing connections to
  1683  	// the instance have time to complete, but the new ones are being refused.
  1684  	//   "TIMEOUT" - The instance is unreachable i.e. a connection to the
  1685  	// application health checking endpoint cannot be established, or the server
  1686  	// does not respond within the specified timeout.
  1687  	VmLiveness string `json:"vmLiveness,omitempty"`
  1688  	// VmName: Output only. Name of the virtual machine where this instance lives.
  1689  	// Only applicable for instances in App Engine flexible environment.
  1690  	VmName string `json:"vmName,omitempty"`
  1691  	// VmStatus: Output only. Status of the virtual machine where this instance
  1692  	// lives. Only applicable for instances in App Engine flexible environment.
  1693  	VmStatus string `json:"vmStatus,omitempty"`
  1694  	// VmZoneName: Output only. Zone where the virtual machine is located. Only
  1695  	// applicable for instances in App Engine flexible environment.
  1696  	VmZoneName string `json:"vmZoneName,omitempty"`
  1697  
  1698  	// ServerResponse contains the HTTP response code and headers from the server.
  1699  	googleapi.ServerResponse `json:"-"`
  1700  	// ForceSendFields is a list of field names (e.g. "AppEngineRelease") to
  1701  	// unconditionally include in API requests. By default, fields with empty or
  1702  	// default values are omitted from API requests. See
  1703  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1704  	// details.
  1705  	ForceSendFields []string `json:"-"`
  1706  	// NullFields is a list of field names (e.g. "AppEngineRelease") to include in
  1707  	// API requests with the JSON null value. By default, fields with empty values
  1708  	// are omitted from API requests. See
  1709  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1710  	NullFields []string `json:"-"`
  1711  }
  1712  
  1713  func (s *Instance) MarshalJSON() ([]byte, error) {
  1714  	type NoMethod Instance
  1715  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1716  }
  1717  
  1718  func (s *Instance) UnmarshalJSON(data []byte) error {
  1719  	type NoMethod Instance
  1720  	var s1 struct {
  1721  		Qps gensupport.JSONFloat64 `json:"qps"`
  1722  		*NoMethod
  1723  	}
  1724  	s1.NoMethod = (*NoMethod)(s)
  1725  	if err := json.Unmarshal(data, &s1); err != nil {
  1726  		return err
  1727  	}
  1728  	s.Qps = float64(s1.Qps)
  1729  	return nil
  1730  }
  1731  
  1732  // Library: Third-party Python runtime library that is required by the
  1733  // application.
  1734  type Library struct {
  1735  	// Name: Name of the library. Example: "django".
  1736  	Name string `json:"name,omitempty"`
  1737  	// Version: Version of the library to select, or "latest".
  1738  	Version string `json:"version,omitempty"`
  1739  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1740  	// include in API requests. By default, fields with empty or default values are
  1741  	// omitted from API requests. See
  1742  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1743  	// details.
  1744  	ForceSendFields []string `json:"-"`
  1745  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1746  	// with the JSON null value. By default, fields with empty values are omitted
  1747  	// from API requests. See
  1748  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1749  	NullFields []string `json:"-"`
  1750  }
  1751  
  1752  func (s *Library) MarshalJSON() ([]byte, error) {
  1753  	type NoMethod Library
  1754  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1755  }
  1756  
  1757  // ListAuthorizedCertificatesResponse: Response message for
  1758  // AuthorizedCertificates.ListAuthorizedCertificates.
  1759  type ListAuthorizedCertificatesResponse struct {
  1760  	// Certificates: The SSL certificates the user is authorized to administer.
  1761  	Certificates []*AuthorizedCertificate `json:"certificates,omitempty"`
  1762  	// NextPageToken: Continuation token for fetching the next page of results.
  1763  	NextPageToken string `json:"nextPageToken,omitempty"`
  1764  
  1765  	// ServerResponse contains the HTTP response code and headers from the server.
  1766  	googleapi.ServerResponse `json:"-"`
  1767  	// ForceSendFields is a list of field names (e.g. "Certificates") to
  1768  	// unconditionally include in API requests. By default, fields with empty or
  1769  	// default values are omitted from API requests. See
  1770  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1771  	// details.
  1772  	ForceSendFields []string `json:"-"`
  1773  	// NullFields is a list of field names (e.g. "Certificates") to include in API
  1774  	// requests with the JSON null value. By default, fields with empty values are
  1775  	// omitted from API requests. See
  1776  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1777  	NullFields []string `json:"-"`
  1778  }
  1779  
  1780  func (s *ListAuthorizedCertificatesResponse) MarshalJSON() ([]byte, error) {
  1781  	type NoMethod ListAuthorizedCertificatesResponse
  1782  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1783  }
  1784  
  1785  // ListAuthorizedDomainsResponse: Response message for
  1786  // AuthorizedDomains.ListAuthorizedDomains.
  1787  type ListAuthorizedDomainsResponse struct {
  1788  	// Domains: The authorized domains belonging to the user.
  1789  	Domains []*AuthorizedDomain `json:"domains,omitempty"`
  1790  	// NextPageToken: Continuation token for fetching the next page of results.
  1791  	NextPageToken string `json:"nextPageToken,omitempty"`
  1792  
  1793  	// ServerResponse contains the HTTP response code and headers from the server.
  1794  	googleapi.ServerResponse `json:"-"`
  1795  	// ForceSendFields is a list of field names (e.g. "Domains") to unconditionally
  1796  	// include in API requests. By default, fields with empty or default values are
  1797  	// omitted from API requests. See
  1798  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1799  	// details.
  1800  	ForceSendFields []string `json:"-"`
  1801  	// NullFields is a list of field names (e.g. "Domains") to include in API
  1802  	// requests with the JSON null value. By default, fields with empty values are
  1803  	// omitted from API requests. See
  1804  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1805  	NullFields []string `json:"-"`
  1806  }
  1807  
  1808  func (s *ListAuthorizedDomainsResponse) MarshalJSON() ([]byte, error) {
  1809  	type NoMethod ListAuthorizedDomainsResponse
  1810  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1811  }
  1812  
  1813  // ListDomainMappingsResponse: Response message for
  1814  // DomainMappings.ListDomainMappings.
  1815  type ListDomainMappingsResponse struct {
  1816  	// DomainMappings: The domain mappings for the application.
  1817  	DomainMappings []*DomainMapping `json:"domainMappings,omitempty"`
  1818  	// NextPageToken: Continuation token for fetching the next page of results.
  1819  	NextPageToken string `json:"nextPageToken,omitempty"`
  1820  
  1821  	// ServerResponse contains the HTTP response code and headers from the server.
  1822  	googleapi.ServerResponse `json:"-"`
  1823  	// ForceSendFields is a list of field names (e.g. "DomainMappings") to
  1824  	// unconditionally include in API requests. By default, fields with empty or
  1825  	// default values are omitted from API requests. See
  1826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1827  	// details.
  1828  	ForceSendFields []string `json:"-"`
  1829  	// NullFields is a list of field names (e.g. "DomainMappings") to include in
  1830  	// API requests with the JSON null value. By default, fields with empty values
  1831  	// are omitted from API requests. See
  1832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1833  	NullFields []string `json:"-"`
  1834  }
  1835  
  1836  func (s *ListDomainMappingsResponse) MarshalJSON() ([]byte, error) {
  1837  	type NoMethod ListDomainMappingsResponse
  1838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1839  }
  1840  
  1841  // ListIngressRulesResponse: Response message for Firewall.ListIngressRules.
  1842  type ListIngressRulesResponse struct {
  1843  	// IngressRules: The ingress FirewallRules for this application.
  1844  	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
  1845  	// NextPageToken: Continuation token for fetching the next page of results.
  1846  	NextPageToken string `json:"nextPageToken,omitempty"`
  1847  
  1848  	// ServerResponse contains the HTTP response code and headers from the server.
  1849  	googleapi.ServerResponse `json:"-"`
  1850  	// ForceSendFields is a list of field names (e.g. "IngressRules") to
  1851  	// unconditionally include in API requests. By default, fields with empty or
  1852  	// default values are omitted from API requests. See
  1853  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1854  	// details.
  1855  	ForceSendFields []string `json:"-"`
  1856  	// NullFields is a list of field names (e.g. "IngressRules") to include in API
  1857  	// requests with the JSON null value. By default, fields with empty values are
  1858  	// omitted from API requests. See
  1859  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1860  	NullFields []string `json:"-"`
  1861  }
  1862  
  1863  func (s *ListIngressRulesResponse) MarshalJSON() ([]byte, error) {
  1864  	type NoMethod ListIngressRulesResponse
  1865  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1866  }
  1867  
  1868  // ListInstancesResponse: Response message for Instances.ListInstances.
  1869  type ListInstancesResponse struct {
  1870  	// Instances: The instances belonging to the requested version.
  1871  	Instances []*Instance `json:"instances,omitempty"`
  1872  	// NextPageToken: Continuation token for fetching the next page of results.
  1873  	NextPageToken string `json:"nextPageToken,omitempty"`
  1874  
  1875  	// ServerResponse contains the HTTP response code and headers from the server.
  1876  	googleapi.ServerResponse `json:"-"`
  1877  	// ForceSendFields is a list of field names (e.g. "Instances") to
  1878  	// unconditionally include in API requests. By default, fields with empty or
  1879  	// default values are omitted from API requests. See
  1880  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1881  	// details.
  1882  	ForceSendFields []string `json:"-"`
  1883  	// NullFields is a list of field names (e.g. "Instances") to include in API
  1884  	// requests with the JSON null value. By default, fields with empty values are
  1885  	// omitted from API requests. See
  1886  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1887  	NullFields []string `json:"-"`
  1888  }
  1889  
  1890  func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
  1891  	type NoMethod ListInstancesResponse
  1892  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1893  }
  1894  
  1895  // ListLocationsResponse: The response message for Locations.ListLocations.
  1896  type ListLocationsResponse struct {
  1897  	// Locations: A list of locations that matches the specified filter in the
  1898  	// request.
  1899  	Locations []*Location `json:"locations,omitempty"`
  1900  	// NextPageToken: The standard List next-page token.
  1901  	NextPageToken string `json:"nextPageToken,omitempty"`
  1902  
  1903  	// ServerResponse contains the HTTP response code and headers from the server.
  1904  	googleapi.ServerResponse `json:"-"`
  1905  	// ForceSendFields is a list of field names (e.g. "Locations") to
  1906  	// unconditionally include in API requests. By default, fields with empty or
  1907  	// default values are omitted from API requests. See
  1908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1909  	// details.
  1910  	ForceSendFields []string `json:"-"`
  1911  	// NullFields is a list of field names (e.g. "Locations") to include in API
  1912  	// requests with the JSON null value. By default, fields with empty values are
  1913  	// omitted from API requests. See
  1914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1915  	NullFields []string `json:"-"`
  1916  }
  1917  
  1918  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  1919  	type NoMethod ListLocationsResponse
  1920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1921  }
  1922  
  1923  // ListOperationsResponse: The response message for Operations.ListOperations.
  1924  type ListOperationsResponse struct {
  1925  	// NextPageToken: The standard List next-page token.
  1926  	NextPageToken string `json:"nextPageToken,omitempty"`
  1927  	// Operations: A list of operations that matches the specified filter in the
  1928  	// request.
  1929  	Operations []*Operation `json:"operations,omitempty"`
  1930  
  1931  	// ServerResponse contains the HTTP response code and headers from the server.
  1932  	googleapi.ServerResponse `json:"-"`
  1933  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1934  	// unconditionally include in API requests. By default, fields with empty or
  1935  	// default values are omitted from API requests. See
  1936  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1937  	// details.
  1938  	ForceSendFields []string `json:"-"`
  1939  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1940  	// requests with the JSON null value. By default, fields with empty values are
  1941  	// omitted from API requests. See
  1942  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1943  	NullFields []string `json:"-"`
  1944  }
  1945  
  1946  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  1947  	type NoMethod ListOperationsResponse
  1948  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1949  }
  1950  
  1951  // ListRuntimesResponse: Response message for Applications.ListRuntimes.
  1952  type ListRuntimesResponse struct {
  1953  	// NextPageToken: Continuation token for fetching the next page of results.
  1954  	NextPageToken string `json:"nextPageToken,omitempty"`
  1955  	// Runtimes: The runtimes available to the requested application.
  1956  	Runtimes []*Runtime `json:"runtimes,omitempty"`
  1957  
  1958  	// ServerResponse contains the HTTP response code and headers from the server.
  1959  	googleapi.ServerResponse `json:"-"`
  1960  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1961  	// unconditionally include in API requests. By default, fields with empty or
  1962  	// default values are omitted from API requests. See
  1963  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1964  	// details.
  1965  	ForceSendFields []string `json:"-"`
  1966  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1967  	// requests with the JSON null value. By default, fields with empty values are
  1968  	// omitted from API requests. See
  1969  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1970  	NullFields []string `json:"-"`
  1971  }
  1972  
  1973  func (s *ListRuntimesResponse) MarshalJSON() ([]byte, error) {
  1974  	type NoMethod ListRuntimesResponse
  1975  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1976  }
  1977  
  1978  // ListServicesResponse: Response message for Services.ListServices.
  1979  type ListServicesResponse struct {
  1980  	// NextPageToken: Continuation token for fetching the next page of results.
  1981  	NextPageToken string `json:"nextPageToken,omitempty"`
  1982  	// Services: The services belonging to the requested application.
  1983  	Services []*Service `json:"services,omitempty"`
  1984  
  1985  	// ServerResponse contains the HTTP response code and headers from the server.
  1986  	googleapi.ServerResponse `json:"-"`
  1987  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1988  	// unconditionally include in API requests. By default, fields with empty or
  1989  	// default values are omitted from API requests. See
  1990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1991  	// details.
  1992  	ForceSendFields []string `json:"-"`
  1993  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1994  	// requests with the JSON null value. By default, fields with empty values are
  1995  	// omitted from API requests. See
  1996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1997  	NullFields []string `json:"-"`
  1998  }
  1999  
  2000  func (s *ListServicesResponse) MarshalJSON() ([]byte, error) {
  2001  	type NoMethod ListServicesResponse
  2002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2003  }
  2004  
  2005  // ListVersionsResponse: Response message for Versions.ListVersions.
  2006  type ListVersionsResponse struct {
  2007  	// NextPageToken: Continuation token for fetching the next page of results.
  2008  	NextPageToken string `json:"nextPageToken,omitempty"`
  2009  	// Versions: The versions belonging to the requested service.
  2010  	Versions []*Version `json:"versions,omitempty"`
  2011  
  2012  	// ServerResponse contains the HTTP response code and headers from the server.
  2013  	googleapi.ServerResponse `json:"-"`
  2014  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2015  	// unconditionally include in API requests. By default, fields with empty or
  2016  	// default values are omitted from API requests. See
  2017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2018  	// details.
  2019  	ForceSendFields []string `json:"-"`
  2020  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2021  	// requests with the JSON null value. By default, fields with empty values are
  2022  	// omitted from API requests. See
  2023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2024  	NullFields []string `json:"-"`
  2025  }
  2026  
  2027  func (s *ListVersionsResponse) MarshalJSON() ([]byte, error) {
  2028  	type NoMethod ListVersionsResponse
  2029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2030  }
  2031  
  2032  // LivenessCheck: Health checking configuration for VM instances. Unhealthy
  2033  // instances are killed and replaced with new instances.
  2034  type LivenessCheck struct {
  2035  	// CheckInterval: Interval between health checks.
  2036  	CheckInterval string `json:"checkInterval,omitempty"`
  2037  	// FailureThreshold: Number of consecutive failed checks required before
  2038  	// considering the VM unhealthy.
  2039  	FailureThreshold int64 `json:"failureThreshold,omitempty"`
  2040  	// Host: Host header to send when performing a HTTP Liveness check. Example:
  2041  	// "myapp.appspot.com"
  2042  	Host string `json:"host,omitempty"`
  2043  	// InitialDelay: The initial delay before starting to execute the checks.
  2044  	InitialDelay string `json:"initialDelay,omitempty"`
  2045  	// Path: The request path.
  2046  	Path string `json:"path,omitempty"`
  2047  	// SuccessThreshold: Number of consecutive successful checks required before
  2048  	// considering the VM healthy.
  2049  	SuccessThreshold int64 `json:"successThreshold,omitempty"`
  2050  	// Timeout: Time before the check is considered failed.
  2051  	Timeout string `json:"timeout,omitempty"`
  2052  	// ForceSendFields is a list of field names (e.g. "CheckInterval") to
  2053  	// unconditionally include in API requests. By default, fields with empty or
  2054  	// default values are omitted from API requests. See
  2055  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2056  	// details.
  2057  	ForceSendFields []string `json:"-"`
  2058  	// NullFields is a list of field names (e.g. "CheckInterval") to include in API
  2059  	// requests with the JSON null value. By default, fields with empty values are
  2060  	// omitted from API requests. See
  2061  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2062  	NullFields []string `json:"-"`
  2063  }
  2064  
  2065  func (s *LivenessCheck) MarshalJSON() ([]byte, error) {
  2066  	type NoMethod LivenessCheck
  2067  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2068  }
  2069  
  2070  // Location: A resource that represents a Google Cloud location.
  2071  type Location struct {
  2072  	// DisplayName: The friendly name for this location, typically a nearby city
  2073  	// name. For example, "Tokyo".
  2074  	DisplayName string `json:"displayName,omitempty"`
  2075  	// Labels: Cross-service attributes for the location. For example
  2076  	// {"cloud.googleapis.com/region": "us-east1"}
  2077  	Labels map[string]string `json:"labels,omitempty"`
  2078  	// LocationId: The canonical id for this location. For example: "us-east1".
  2079  	LocationId string `json:"locationId,omitempty"`
  2080  	// Metadata: Service-specific metadata. For example the available capacity at
  2081  	// the given location.
  2082  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2083  	// Name: Resource name for the location, which may vary between
  2084  	// implementations. For example: "projects/example-project/locations/us-east1"
  2085  	Name string `json:"name,omitempty"`
  2086  
  2087  	// ServerResponse contains the HTTP response code and headers from the server.
  2088  	googleapi.ServerResponse `json:"-"`
  2089  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2090  	// unconditionally include in API requests. By default, fields with empty or
  2091  	// default values are omitted from API requests. See
  2092  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2093  	// details.
  2094  	ForceSendFields []string `json:"-"`
  2095  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2096  	// requests with the JSON null value. By default, fields with empty values are
  2097  	// omitted from API requests. See
  2098  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2099  	NullFields []string `json:"-"`
  2100  }
  2101  
  2102  func (s *Location) MarshalJSON() ([]byte, error) {
  2103  	type NoMethod Location
  2104  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2105  }
  2106  
  2107  // LocationMetadata: Metadata for the given google.cloud.location.Location.
  2108  type LocationMetadata struct {
  2109  	// FlexibleEnvironmentAvailable: App Engine flexible environment is available
  2110  	// in the given location.@OutputOnly
  2111  	FlexibleEnvironmentAvailable bool `json:"flexibleEnvironmentAvailable,omitempty"`
  2112  	// SearchApiAvailable: Output only. Search API
  2113  	// (https://cloud.google.com/appengine/docs/standard/python/search) is
  2114  	// available in the given location.
  2115  	SearchApiAvailable bool `json:"searchApiAvailable,omitempty"`
  2116  	// StandardEnvironmentAvailable: App Engine standard environment is available
  2117  	// in the given location.@OutputOnly
  2118  	StandardEnvironmentAvailable bool `json:"standardEnvironmentAvailable,omitempty"`
  2119  	// ForceSendFields is a list of field names (e.g.
  2120  	// "FlexibleEnvironmentAvailable") to unconditionally include in API requests.
  2121  	// By default, fields with empty or default values are omitted from API
  2122  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  2123  	// for more details.
  2124  	ForceSendFields []string `json:"-"`
  2125  	// NullFields is a list of field names (e.g. "FlexibleEnvironmentAvailable") to
  2126  	// include in API requests with the JSON null value. By default, fields with
  2127  	// empty values are omitted from API requests. See
  2128  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2129  	NullFields []string `json:"-"`
  2130  }
  2131  
  2132  func (s *LocationMetadata) MarshalJSON() ([]byte, error) {
  2133  	type NoMethod LocationMetadata
  2134  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2135  }
  2136  
  2137  // ManagedCertificate: A certificate managed by App Engine.
  2138  type ManagedCertificate struct {
  2139  	// LastRenewalTime: Time at which the certificate was last renewed. The renewal
  2140  	// process is fully managed. Certificate renewal will automatically occur
  2141  	// before the certificate expires. Renewal errors can be tracked via
  2142  	// ManagementStatus.@OutputOnly
  2143  	LastRenewalTime string `json:"lastRenewalTime,omitempty"`
  2144  	// Status: Status of certificate management. Refers to the most recent
  2145  	// certificate acquisition or renewal attempt.@OutputOnly
  2146  	//
  2147  	// Possible values:
  2148  	//   "MANAGEMENT_STATUS_UNSPECIFIED"
  2149  	//   "OK" - Certificate was successfully obtained and inserted into the serving
  2150  	// system.
  2151  	//   "PENDING" - Certificate is under active attempts to acquire or renew.
  2152  	//   "FAILED_RETRYING_NOT_VISIBLE" - Most recent renewal failed due to an
  2153  	// invalid DNS setup and will be retried. Renewal attempts will continue to
  2154  	// fail until the certificate domain's DNS configuration is fixed. The last
  2155  	// successfully provisioned certificate may still be serving.
  2156  	//   "FAILED_PERMANENT" - All renewal attempts have been exhausted, likely due
  2157  	// to an invalid DNS setup.
  2158  	//   "FAILED_RETRYING_CAA_FORBIDDEN" - Most recent renewal failed due to an
  2159  	// explicit CAA record that does not include one of the in-use CAs (Google CA
  2160  	// and Let's Encrypt). Renewals will continue to fail until the CAA is
  2161  	// reconfigured. The last successfully provisioned certificate may still be
  2162  	// serving.
  2163  	//   "FAILED_RETRYING_CAA_CHECKING" - Most recent renewal failed due to a CAA
  2164  	// retrieval failure. This means that the domain's DNS provider does not
  2165  	// properly handle CAA records, failing requests for CAA records when no CAA
  2166  	// records are defined. Renewals will continue to fail until the DNS provider
  2167  	// is changed or a CAA record is added for the given domain. The last
  2168  	// successfully provisioned certificate may still be serving.
  2169  	Status string `json:"status,omitempty"`
  2170  	// ForceSendFields is a list of field names (e.g. "LastRenewalTime") to
  2171  	// unconditionally include in API requests. By default, fields with empty or
  2172  	// default values are omitted from API requests. See
  2173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2174  	// details.
  2175  	ForceSendFields []string `json:"-"`
  2176  	// NullFields is a list of field names (e.g. "LastRenewalTime") to include in
  2177  	// API requests with the JSON null value. By default, fields with empty values
  2178  	// are omitted from API requests. See
  2179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2180  	NullFields []string `json:"-"`
  2181  }
  2182  
  2183  func (s *ManagedCertificate) MarshalJSON() ([]byte, error) {
  2184  	type NoMethod ManagedCertificate
  2185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2186  }
  2187  
  2188  // ManualScaling: A service with manual scaling runs continuously, allowing you
  2189  // to perform complex initialization and rely on the state of its memory over
  2190  // time.
  2191  type ManualScaling struct {
  2192  	// Instances: Number of instances to assign to the service at the start. This
  2193  	// number can later be altered by using the Modules API
  2194  	// (https://cloud.google.com/appengine/docs/python/modules/functions)
  2195  	// set_num_instances() function.
  2196  	Instances int64 `json:"instances,omitempty"`
  2197  	// ForceSendFields is a list of field names (e.g. "Instances") to
  2198  	// unconditionally include in API requests. By default, fields with empty or
  2199  	// default values are omitted from API requests. See
  2200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2201  	// details.
  2202  	ForceSendFields []string `json:"-"`
  2203  	// NullFields is a list of field names (e.g. "Instances") to include in API
  2204  	// requests with the JSON null value. By default, fields with empty values are
  2205  	// omitted from API requests. See
  2206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2207  	NullFields []string `json:"-"`
  2208  }
  2209  
  2210  func (s *ManualScaling) MarshalJSON() ([]byte, error) {
  2211  	type NoMethod ManualScaling
  2212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2213  }
  2214  
  2215  // Network: Extra network settings. Only applicable in the App Engine flexible
  2216  // environment.
  2217  type Network struct {
  2218  	// ForwardedPorts: List of ports, or port pairs, to forward from the virtual
  2219  	// machine to the application container. Only applicable in the App Engine
  2220  	// flexible environment.
  2221  	ForwardedPorts []string `json:"forwardedPorts,omitempty"`
  2222  	// InstanceIpMode: The IP mode for instances. Only applicable in the App Engine
  2223  	// flexible environment.
  2224  	//
  2225  	// Possible values:
  2226  	//   "INSTANCE_IP_MODE_UNSPECIFIED" - Unspecified is treated as EXTERNAL.
  2227  	//   "EXTERNAL" - Instances are created with both internal and external IP
  2228  	// addresses.
  2229  	//   "INTERNAL" - Instances are created with internal IP addresses only.
  2230  	InstanceIpMode string `json:"instanceIpMode,omitempty"`
  2231  	// InstanceTag: Tag to apply to the instance during creation. Only applicable
  2232  	// in the App Engine flexible environment.
  2233  	InstanceTag string `json:"instanceTag,omitempty"`
  2234  	// Name: Google Compute Engine network where the virtual machines are created.
  2235  	// Specify the short name, not the resource path.Defaults to default.
  2236  	Name string `json:"name,omitempty"`
  2237  	// SessionAffinity: Enable session affinity. Only applicable in the App Engine
  2238  	// flexible environment.
  2239  	SessionAffinity bool `json:"sessionAffinity,omitempty"`
  2240  	// SubnetworkName: Google Cloud Platform sub-network where the virtual machines
  2241  	// are created. Specify the short name, not the resource path.If a subnetwork
  2242  	// name is specified, a network name will also be required unless it is for the
  2243  	// default network. If the network that the instance is being created in is a
  2244  	// Legacy network, then the IP address is allocated from the IPv4Range. If the
  2245  	// network that the instance is being created in is an auto Subnet Mode
  2246  	// Network, then only network name should be specified (not the
  2247  	// subnetwork_name) and the IP address is created from the IPCidrRange of the
  2248  	// subnetwork that exists in that zone for that network. If the network that
  2249  	// the instance is being created in is a custom Subnet Mode Network, then the
  2250  	// subnetwork_name must be specified and the IP address is created from the
  2251  	// IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the
  2252  	// same region as the App Engine flexible environment application.
  2253  	SubnetworkName string `json:"subnetworkName,omitempty"`
  2254  	// ForceSendFields is a list of field names (e.g. "ForwardedPorts") to
  2255  	// unconditionally include in API requests. By default, fields with empty or
  2256  	// default values are omitted from API requests. See
  2257  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2258  	// details.
  2259  	ForceSendFields []string `json:"-"`
  2260  	// NullFields is a list of field names (e.g. "ForwardedPorts") to include in
  2261  	// API requests with the JSON null value. By default, fields with empty values
  2262  	// are omitted from API requests. See
  2263  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2264  	NullFields []string `json:"-"`
  2265  }
  2266  
  2267  func (s *Network) MarshalJSON() ([]byte, error) {
  2268  	type NoMethod Network
  2269  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2270  }
  2271  
  2272  // NetworkSettings: A NetworkSettings resource is a container for ingress
  2273  // settings for a version or service.
  2274  type NetworkSettings struct {
  2275  	// IngressTrafficAllowed: The ingress settings for version or service.
  2276  	//
  2277  	// Possible values:
  2278  	//   "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" - Unspecified
  2279  	//   "INGRESS_TRAFFIC_ALLOWED_ALL" - Allow HTTP traffic from public and private
  2280  	// sources.
  2281  	//   "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY" - Allow HTTP traffic from only
  2282  	// private VPC sources.
  2283  	//   "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB" - Allow HTTP traffic from
  2284  	// private VPC sources and through load balancers.
  2285  	IngressTrafficAllowed string `json:"ingressTrafficAllowed,omitempty"`
  2286  	// ForceSendFields is a list of field names (e.g. "IngressTrafficAllowed") to
  2287  	// unconditionally include in API requests. By default, fields with empty or
  2288  	// default values are omitted from API requests. See
  2289  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2290  	// details.
  2291  	ForceSendFields []string `json:"-"`
  2292  	// NullFields is a list of field names (e.g. "IngressTrafficAllowed") to
  2293  	// include in API requests with the JSON null value. By default, fields with
  2294  	// empty values are omitted from API requests. See
  2295  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2296  	NullFields []string `json:"-"`
  2297  }
  2298  
  2299  func (s *NetworkSettings) MarshalJSON() ([]byte, error) {
  2300  	type NoMethod NetworkSettings
  2301  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2302  }
  2303  
  2304  // NetworkUtilization: Target scaling by network usage. Only applicable in the
  2305  // App Engine flexible environment.
  2306  type NetworkUtilization struct {
  2307  	// TargetReceivedBytesPerSecond: Target bytes received per second.
  2308  	TargetReceivedBytesPerSecond int64 `json:"targetReceivedBytesPerSecond,omitempty"`
  2309  	// TargetReceivedPacketsPerSecond: Target packets received per second.
  2310  	TargetReceivedPacketsPerSecond int64 `json:"targetReceivedPacketsPerSecond,omitempty"`
  2311  	// TargetSentBytesPerSecond: Target bytes sent per second.
  2312  	TargetSentBytesPerSecond int64 `json:"targetSentBytesPerSecond,omitempty"`
  2313  	// TargetSentPacketsPerSecond: Target packets sent per second.
  2314  	TargetSentPacketsPerSecond int64 `json:"targetSentPacketsPerSecond,omitempty"`
  2315  	// ForceSendFields is a list of field names (e.g.
  2316  	// "TargetReceivedBytesPerSecond") to unconditionally include in API requests.
  2317  	// By default, fields with empty or default values are omitted from API
  2318  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  2319  	// for more details.
  2320  	ForceSendFields []string `json:"-"`
  2321  	// NullFields is a list of field names (e.g. "TargetReceivedBytesPerSecond") to
  2322  	// include in API requests with the JSON null value. By default, fields with
  2323  	// empty values are omitted from API requests. See
  2324  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2325  	NullFields []string `json:"-"`
  2326  }
  2327  
  2328  func (s *NetworkUtilization) MarshalJSON() ([]byte, error) {
  2329  	type NoMethod NetworkUtilization
  2330  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2331  }
  2332  
  2333  // Operation: This resource represents a long-running operation that is the
  2334  // result of a network API call.
  2335  type Operation struct {
  2336  	// Done: If the value is false, it means the operation is still in progress. If
  2337  	// true, the operation is completed, and either error or response is available.
  2338  	Done bool `json:"done,omitempty"`
  2339  	// Error: The error result of the operation in case of failure or cancellation.
  2340  	Error *Status `json:"error,omitempty"`
  2341  	// Metadata: Service-specific metadata associated with the operation. It
  2342  	// typically contains progress information and common metadata such as create
  2343  	// time. Some services might not provide such metadata. Any method that returns
  2344  	// a long-running operation should document the metadata type, if any.
  2345  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2346  	// Name: The server-assigned name, which is only unique within the same service
  2347  	// that originally returns it. If you use the default HTTP mapping, the name
  2348  	// should be a resource name ending with operations/{unique_id}.
  2349  	Name string `json:"name,omitempty"`
  2350  	// Response: The normal, successful response of the operation. If the original
  2351  	// method returns no data on success, such as Delete, the response is
  2352  	// google.protobuf.Empty. If the original method is standard Get/Create/Update,
  2353  	// the response should be the resource. For other methods, the response should
  2354  	// have the type XxxResponse, where Xxx is the original method name. For
  2355  	// example, if the original method name is TakeSnapshot(), the inferred
  2356  	// response type is TakeSnapshotResponse.
  2357  	Response googleapi.RawMessage `json:"response,omitempty"`
  2358  
  2359  	// ServerResponse contains the HTTP response code and headers from the server.
  2360  	googleapi.ServerResponse `json:"-"`
  2361  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  2362  	// include in API requests. By default, fields with empty or default values are
  2363  	// omitted from API requests. See
  2364  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2365  	// details.
  2366  	ForceSendFields []string `json:"-"`
  2367  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  2368  	// with the JSON null value. By default, fields with empty values are omitted
  2369  	// from API requests. See
  2370  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2371  	NullFields []string `json:"-"`
  2372  }
  2373  
  2374  func (s *Operation) MarshalJSON() ([]byte, error) {
  2375  	type NoMethod Operation
  2376  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2377  }
  2378  
  2379  // OperationMetadataV1: Metadata for the given google.longrunning.Operation.
  2380  type OperationMetadataV1 struct {
  2381  	CreateVersionMetadata *CreateVersionMetadataV1 `json:"createVersionMetadata,omitempty"`
  2382  	// EndTime: Time that this operation completed.@OutputOnly
  2383  	EndTime string `json:"endTime,omitempty"`
  2384  	// EphemeralMessage: Ephemeral message that may change every time the operation
  2385  	// is polled. @OutputOnly
  2386  	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
  2387  	// InsertTime: Time that this operation was created.@OutputOnly
  2388  	InsertTime string `json:"insertTime,omitempty"`
  2389  	// Method: API method that initiated this operation. Example:
  2390  	// google.appengine.v1.Versions.CreateVersion.@OutputOnly
  2391  	Method string `json:"method,omitempty"`
  2392  	// Target: Name of the resource that this operation is acting on. Example:
  2393  	// apps/myapp/services/default.@OutputOnly
  2394  	Target string `json:"target,omitempty"`
  2395  	// User: User who requested this operation.@OutputOnly
  2396  	User string `json:"user,omitempty"`
  2397  	// Warning: Durable messages that persist on every operation poll. @OutputOnly
  2398  	Warning []string `json:"warning,omitempty"`
  2399  	// ForceSendFields is a list of field names (e.g. "CreateVersionMetadata") to
  2400  	// unconditionally include in API requests. By default, fields with empty or
  2401  	// default values are omitted from API requests. See
  2402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2403  	// details.
  2404  	ForceSendFields []string `json:"-"`
  2405  	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
  2406  	// include in API requests with the JSON null value. By default, fields with
  2407  	// empty values are omitted from API requests. See
  2408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2409  	NullFields []string `json:"-"`
  2410  }
  2411  
  2412  func (s *OperationMetadataV1) MarshalJSON() ([]byte, error) {
  2413  	type NoMethod OperationMetadataV1
  2414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2415  }
  2416  
  2417  // OperationMetadataV1Alpha: Metadata for the given
  2418  // google.longrunning.Operation.
  2419  type OperationMetadataV1Alpha struct {
  2420  	CreateVersionMetadata *CreateVersionMetadataV1Alpha `json:"createVersionMetadata,omitempty"`
  2421  	// EndTime: Time that this operation completed.@OutputOnly
  2422  	EndTime string `json:"endTime,omitempty"`
  2423  	// EphemeralMessage: Ephemeral message that may change every time the operation
  2424  	// is polled. @OutputOnly
  2425  	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
  2426  	// InsertTime: Time that this operation was created.@OutputOnly
  2427  	InsertTime string `json:"insertTime,omitempty"`
  2428  	// Method: API method that initiated this operation. Example:
  2429  	// google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly
  2430  	Method string `json:"method,omitempty"`
  2431  	// Target: Name of the resource that this operation is acting on. Example:
  2432  	// apps/myapp/services/default.@OutputOnly
  2433  	Target string `json:"target,omitempty"`
  2434  	// User: User who requested this operation.@OutputOnly
  2435  	User string `json:"user,omitempty"`
  2436  	// Warning: Durable messages that persist on every operation poll. @OutputOnly
  2437  	Warning []string `json:"warning,omitempty"`
  2438  	// ForceSendFields is a list of field names (e.g. "CreateVersionMetadata") to
  2439  	// unconditionally include in API requests. By default, fields with empty or
  2440  	// default values are omitted from API requests. See
  2441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2442  	// details.
  2443  	ForceSendFields []string `json:"-"`
  2444  	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
  2445  	// include in API requests with the JSON null value. By default, fields with
  2446  	// empty values are omitted from API requests. See
  2447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2448  	NullFields []string `json:"-"`
  2449  }
  2450  
  2451  func (s *OperationMetadataV1Alpha) MarshalJSON() ([]byte, error) {
  2452  	type NoMethod OperationMetadataV1Alpha
  2453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2454  }
  2455  
  2456  // OperationMetadataV1Beta: Metadata for the given
  2457  // google.longrunning.Operation.
  2458  type OperationMetadataV1Beta struct {
  2459  	CreateVersionMetadata *CreateVersionMetadataV1Beta `json:"createVersionMetadata,omitempty"`
  2460  	// EndTime: Time that this operation completed.@OutputOnly
  2461  	EndTime string `json:"endTime,omitempty"`
  2462  	// EphemeralMessage: Ephemeral message that may change every time the operation
  2463  	// is polled. @OutputOnly
  2464  	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
  2465  	// InsertTime: Time that this operation was created.@OutputOnly
  2466  	InsertTime string `json:"insertTime,omitempty"`
  2467  	// Method: API method that initiated this operation. Example:
  2468  	// google.appengine.v1beta.Versions.CreateVersion.@OutputOnly
  2469  	Method string `json:"method,omitempty"`
  2470  	// Target: Name of the resource that this operation is acting on. Example:
  2471  	// apps/myapp/services/default.@OutputOnly
  2472  	Target string `json:"target,omitempty"`
  2473  	// User: User who requested this operation.@OutputOnly
  2474  	User string `json:"user,omitempty"`
  2475  	// Warning: Durable messages that persist on every operation poll. @OutputOnly
  2476  	Warning []string `json:"warning,omitempty"`
  2477  	// ForceSendFields is a list of field names (e.g. "CreateVersionMetadata") to
  2478  	// unconditionally include in API requests. By default, fields with empty or
  2479  	// default values are omitted from API requests. See
  2480  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2481  	// details.
  2482  	ForceSendFields []string `json:"-"`
  2483  	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
  2484  	// include in API requests with the JSON null value. By default, fields with
  2485  	// empty values are omitted from API requests. See
  2486  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2487  	NullFields []string `json:"-"`
  2488  }
  2489  
  2490  func (s *OperationMetadataV1Beta) MarshalJSON() ([]byte, error) {
  2491  	type NoMethod OperationMetadataV1Beta
  2492  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2493  }
  2494  
  2495  // ProjectEvent: The request sent to CLHs during project events.
  2496  type ProjectEvent struct {
  2497  	// EventId: The unique ID for this project event. CLHs can use this value to
  2498  	// dedup repeated calls. required
  2499  	EventId string `json:"eventId,omitempty"`
  2500  	// Phase: Phase indicates when in the container event propagation this event is
  2501  	// being communicated. Events are sent before and after the per-resource events
  2502  	// are propagated. required
  2503  	//
  2504  	// Possible values:
  2505  	//   "CONTAINER_EVENT_PHASE_UNSPECIFIED"
  2506  	//   "BEFORE_RESOURCE_HANDLING"
  2507  	//   "AFTER_RESOURCE_HANDLING"
  2508  	Phase string `json:"phase,omitempty"`
  2509  	// ProjectMetadata: The projects metadata for this project. required
  2510  	ProjectMetadata *ProjectsMetadata `json:"projectMetadata,omitempty"`
  2511  	// State: The state of the organization that led to this event.
  2512  	State *ContainerState `json:"state,omitempty"`
  2513  	// ForceSendFields is a list of field names (e.g. "EventId") to unconditionally
  2514  	// include in API requests. By default, fields with empty or default values are
  2515  	// omitted from API requests. See
  2516  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2517  	// details.
  2518  	ForceSendFields []string `json:"-"`
  2519  	// NullFields is a list of field names (e.g. "EventId") to include in API
  2520  	// requests with the JSON null value. By default, fields with empty values are
  2521  	// omitted from API requests. See
  2522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2523  	NullFields []string `json:"-"`
  2524  }
  2525  
  2526  func (s *ProjectEvent) MarshalJSON() ([]byte, error) {
  2527  	type NoMethod ProjectEvent
  2528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2529  }
  2530  
  2531  // ProjectsMetadata: ProjectsMetadata is the metadata CCFE stores about the all
  2532  // the relevant projects (tenant, consumer, producer).
  2533  type ProjectsMetadata struct {
  2534  	// ConsumerProjectId: The consumer project id.
  2535  	ConsumerProjectId string `json:"consumerProjectId,omitempty"`
  2536  	// ConsumerProjectNumber: The consumer project number.
  2537  	ConsumerProjectNumber int64 `json:"consumerProjectNumber,omitempty,string"`
  2538  	// ConsumerProjectState: The CCFE state of the consumer project. It is the same
  2539  	// state that is communicated to the CLH during project events. Notice that
  2540  	// this field is not set in the DB, it is only set in this proto when
  2541  	// communicated to CLH in the side channel.
  2542  	//
  2543  	// Possible values:
  2544  	//   "UNKNOWN_STATE" - A container should never be in an unknown state. Receipt
  2545  	// of a container with this state is an error.
  2546  	//   "ON" - CCFE considers the container to be serving or transitioning into
  2547  	// serving.
  2548  	//   "OFF" - CCFE considers the container to be in an OFF state. This could
  2549  	// occur due to various factors. The state could be triggered by
  2550  	// Google-internal audits (ex. abuse suspension, billing closed) or cleanups
  2551  	// trigged by compliance systems (ex. data governance hide). User-initiated
  2552  	// events such as service management deactivation trigger a container to an OFF
  2553  	// state.CLHs might choose to do nothing in this case or to turn off costly
  2554  	// resources. CLHs need to consider the customer experience if an ON/OFF/ON
  2555  	// sequence of state transitions occurs vs. the cost of deleting resources,
  2556  	// keeping metadata about resources, or even keeping resources live for a
  2557  	// period of time.CCFE will not send any new customer requests to the CLH when
  2558  	// the container is in an OFF state. However, CCFE will allow all previous
  2559  	// customer requests relayed to CLH to complete.
  2560  	//   "DELETED" - This state indicates that the container has been (or is being)
  2561  	// completely removed. This is often due to a data governance purge request and
  2562  	// therefore resources should be deleted when this state is reached.
  2563  	ConsumerProjectState string `json:"consumerProjectState,omitempty"`
  2564  	// P4ServiceAccount: The service account authorized to operate on the consumer
  2565  	// project. Note: CCFE only propagates P4SA with default tag to CLH.
  2566  	P4ServiceAccount string `json:"p4ServiceAccount,omitempty"`
  2567  	// ProducerProjectId: The producer project id.
  2568  	ProducerProjectId string `json:"producerProjectId,omitempty"`
  2569  	// ProducerProjectNumber: The producer project number.
  2570  	ProducerProjectNumber int64 `json:"producerProjectNumber,omitempty,string"`
  2571  	// TenantProjectId: The tenant project id.
  2572  	TenantProjectId string `json:"tenantProjectId,omitempty"`
  2573  	// TenantProjectNumber: The tenant project number.
  2574  	TenantProjectNumber int64 `json:"tenantProjectNumber,omitempty,string"`
  2575  	// ForceSendFields is a list of field names (e.g. "ConsumerProjectId") to
  2576  	// unconditionally include in API requests. By default, fields with empty or
  2577  	// default values are omitted from API requests. See
  2578  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2579  	// details.
  2580  	ForceSendFields []string `json:"-"`
  2581  	// NullFields is a list of field names (e.g. "ConsumerProjectId") to include in
  2582  	// API requests with the JSON null value. By default, fields with empty values
  2583  	// are omitted from API requests. See
  2584  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2585  	NullFields []string `json:"-"`
  2586  }
  2587  
  2588  func (s *ProjectsMetadata) MarshalJSON() ([]byte, error) {
  2589  	type NoMethod ProjectsMetadata
  2590  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2591  }
  2592  
  2593  // ReadinessCheck: Readiness checking configuration for VM instances. Unhealthy
  2594  // instances are removed from traffic rotation.
  2595  type ReadinessCheck struct {
  2596  	// AppStartTimeout: A maximum time limit on application initialization,
  2597  	// measured from moment the application successfully replies to a healthcheck
  2598  	// until it is ready to serve traffic.
  2599  	AppStartTimeout string `json:"appStartTimeout,omitempty"`
  2600  	// CheckInterval: Interval between health checks.
  2601  	CheckInterval string `json:"checkInterval,omitempty"`
  2602  	// FailureThreshold: Number of consecutive failed checks required before
  2603  	// removing traffic.
  2604  	FailureThreshold int64 `json:"failureThreshold,omitempty"`
  2605  	// Host: Host header to send when performing a HTTP Readiness check. Example:
  2606  	// "myapp.appspot.com"
  2607  	Host string `json:"host,omitempty"`
  2608  	// Path: The request path.
  2609  	Path string `json:"path,omitempty"`
  2610  	// SuccessThreshold: Number of consecutive successful checks required before
  2611  	// receiving traffic.
  2612  	SuccessThreshold int64 `json:"successThreshold,omitempty"`
  2613  	// Timeout: Time before the check is considered failed.
  2614  	Timeout string `json:"timeout,omitempty"`
  2615  	// ForceSendFields is a list of field names (e.g. "AppStartTimeout") to
  2616  	// unconditionally include in API requests. By default, fields with empty or
  2617  	// default values are omitted from API requests. See
  2618  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2619  	// details.
  2620  	ForceSendFields []string `json:"-"`
  2621  	// NullFields is a list of field names (e.g. "AppStartTimeout") to include in
  2622  	// API requests with the JSON null value. By default, fields with empty values
  2623  	// are omitted from API requests. See
  2624  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2625  	NullFields []string `json:"-"`
  2626  }
  2627  
  2628  func (s *ReadinessCheck) MarshalJSON() ([]byte, error) {
  2629  	type NoMethod ReadinessCheck
  2630  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2631  }
  2632  
  2633  // Reasons: Containers transition between and within states based on reasons
  2634  // sent from various systems. CCFE will provide the CLH with reasons for the
  2635  // current state per system.The current systems that CCFE supports are: Service
  2636  // Management (Inception) Data Governance (Wipeout) Abuse (Ares) Billing
  2637  // (Internal Cloud Billing API) Service Activation (Service Controller)
  2638  type Reasons struct {
  2639  	// Possible values:
  2640  	//   "ABUSE_UNKNOWN_REASON" - An unknown reason indicates that the abuse system
  2641  	// has not sent a signal for this container.
  2642  	//   "ABUSE_CONTROL_PLANE_SYNC" - Due to various reasons CCFE might proactively
  2643  	// restate a container state to a CLH to ensure that the CLH and CCFE are both
  2644  	// aware of the container state. This reason can be tied to any of the states.
  2645  	//   "SUSPEND" - If a container is deemed abusive we receive a suspend signal.
  2646  	// Suspend is a reason to put the container into an INTERNAL_OFF state.
  2647  	//   "REINSTATE" - Containers that were once considered abusive can later be
  2648  	// deemed non-abusive. When this happens we must reinstate the container.
  2649  	// Reinstate is a reason to put the container into an ON state.
  2650  	Abuse string `json:"abuse,omitempty"`
  2651  	// Possible values:
  2652  	//   "BILLING_UNKNOWN_REASON" - An unknown reason indicates that the billing
  2653  	// system has not sent a signal for this container.
  2654  	//   "BILLING_CONTROL_PLANE_SYNC" - Due to various reasons CCFE might
  2655  	// proactively restate a container state to a CLH to ensure that the CLH and
  2656  	// CCFE are both aware of the container state. This reason can be tied to any
  2657  	// of the states.
  2658  	//   "PROBATION" - Minor infractions cause a probation signal to be sent.
  2659  	// Probation is a reason to put the container into a ON state even though it is
  2660  	// a negative signal. CCFE will block mutations for this container while it is
  2661  	// on billing probation, but the CLH is expected to serve non-mutation
  2662  	// requests.
  2663  	//   "CLOSE" - When a billing account is closed, it is a stronger signal about
  2664  	// non-payment. Close is a reason to put the container into an INTERNAL_OFF
  2665  	// state.
  2666  	//   "OPEN" - Consumers can re-open billing accounts and update accounts to
  2667  	// pull them out of probation. When this happens, we get a signal that the
  2668  	// account is open. Open is a reason to put the container into an ON state.
  2669  	Billing string `json:"billing,omitempty"`
  2670  	// Possible values:
  2671  	//   "DATA_GOVERNANCE_UNKNOWN_REASON" - An unknown reason indicates that data
  2672  	// governance has not sent a signal for this container.
  2673  	//   "DATA_GOVERNANCE_CONTROL_PLANE_SYNC" - Due to various reasons CCFE might
  2674  	// proactively restate a container state to a CLH to ensure that the CLH and
  2675  	// CCFE are both aware of the container state. This reason can be tied to any
  2676  	// of the states.
  2677  	//   "HIDE" - When a container is deleted we retain some data for a period of
  2678  	// time to allow the consumer to change their mind. Data governance sends a
  2679  	// signal to hide the data when this occurs. Hide is a reason to put the
  2680  	// container in an INTERNAL_OFF state.
  2681  	//   "UNHIDE" - The decision to un-delete a container can be made. When this
  2682  	// happens data governance tells us to unhide any hidden data. Unhide is a
  2683  	// reason to put the container in an ON state.
  2684  	//   "PURGE" - After a period of time data must be completely removed from our
  2685  	// systems. When data governance sends a purge signal we need to remove data.
  2686  	// Purge is a reason to put the container in a DELETED state. Purge is the only
  2687  	// event that triggers a delete mutation. All other events have update
  2688  	// semantics.
  2689  	DataGovernance string `json:"dataGovernance,omitempty"`
  2690  	// ServiceActivation: Consumer Container denotes if the service is active
  2691  	// within a project or not. This information could be used to clean up
  2692  	// resources in case service in DISABLED_FULL i.e. Service is inactive > 30
  2693  	// days.
  2694  	//
  2695  	// Possible values:
  2696  	//   "SERVICE_ACTIVATION_STATUS_UNSPECIFIED" - Default Unspecified status
  2697  	//   "SERVICE_ACTIVATION_ENABLED" - Service is active in the project.
  2698  	//   "SERVICE_ACTIVATION_DISABLED" - Service is disabled in the project
  2699  	// recently i.e., within last 24 hours.
  2700  	//   "SERVICE_ACTIVATION_DISABLED_FULL" - Service has been disabled for
  2701  	// configured grace_period (default 30 days).
  2702  	//   "SERVICE_ACTIVATION_UNKNOWN_REASON" - Happens when PSM cannot determine
  2703  	// the status of service in a project Could happen due to variety of reasons
  2704  	// like PERMISSION_DENIED or Project got deleted etc.
  2705  	ServiceActivation string `json:"serviceActivation,omitempty"`
  2706  	// Possible values:
  2707  	//   "SERVICE_MANAGEMENT_UNKNOWN_REASON" - An unknown reason indicates that we
  2708  	// have not received a signal from service management about this container.
  2709  	// Since containers are created by request of service management, this reason
  2710  	// should never be set.
  2711  	//   "SERVICE_MANAGEMENT_CONTROL_PLANE_SYNC" - Due to various reasons CCFE
  2712  	// might proactively restate a container state to a CLH to ensure that the CLH
  2713  	// and CCFE are both aware of the container state. This reason can be tied to
  2714  	// any of the states.
  2715  	//   "ACTIVATION" - When a customer activates an API CCFE notifies the CLH and
  2716  	// sets the container to the ON state.
  2717  	//   "PREPARE_DEACTIVATION" - When a customer deactivates and API service
  2718  	// management starts a two-step process to perform the deactivation. The first
  2719  	// step is to prepare. Prepare is a reason to put the container in a
  2720  	// EXTERNAL_OFF state.
  2721  	//   "ABORT_DEACTIVATION" - If the deactivation is cancelled, service managed
  2722  	// needs to abort the deactivation. Abort is a reason to put the container in
  2723  	// an ON state.
  2724  	//   "COMMIT_DEACTIVATION" - If the deactivation is followed through with,
  2725  	// service management needs to finish deactivation. Commit is a reason to put
  2726  	// the container in a DELETED state.
  2727  	ServiceManagement string `json:"serviceManagement,omitempty"`
  2728  	// ForceSendFields is a list of field names (e.g. "Abuse") to unconditionally
  2729  	// include in API requests. By default, fields with empty or default values are
  2730  	// omitted from API requests. See
  2731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2732  	// details.
  2733  	ForceSendFields []string `json:"-"`
  2734  	// NullFields is a list of field names (e.g. "Abuse") to include in API
  2735  	// requests with the JSON null value. By default, fields with empty values are
  2736  	// omitted from API requests. See
  2737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2738  	NullFields []string `json:"-"`
  2739  }
  2740  
  2741  func (s *Reasons) MarshalJSON() ([]byte, error) {
  2742  	type NoMethod Reasons
  2743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2744  }
  2745  
  2746  // RepairApplicationRequest: Request message for
  2747  // 'Applications.RepairApplication'.
  2748  type RepairApplicationRequest struct {
  2749  }
  2750  
  2751  // RequestUtilization: Target scaling by request utilization. Only applicable
  2752  // in the App Engine flexible environment.
  2753  type RequestUtilization struct {
  2754  	// TargetConcurrentRequests: Target number of concurrent requests.
  2755  	TargetConcurrentRequests int64 `json:"targetConcurrentRequests,omitempty"`
  2756  	// TargetRequestCountPerSecond: Target requests per second.
  2757  	TargetRequestCountPerSecond int64 `json:"targetRequestCountPerSecond,omitempty"`
  2758  	// ForceSendFields is a list of field names (e.g. "TargetConcurrentRequests")
  2759  	// to unconditionally include in API requests. By default, fields with empty or
  2760  	// default values are omitted from API requests. See
  2761  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2762  	// details.
  2763  	ForceSendFields []string `json:"-"`
  2764  	// NullFields is a list of field names (e.g. "TargetConcurrentRequests") to
  2765  	// include in API requests with the JSON null value. By default, fields with
  2766  	// empty values are omitted from API requests. See
  2767  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2768  	NullFields []string `json:"-"`
  2769  }
  2770  
  2771  func (s *RequestUtilization) MarshalJSON() ([]byte, error) {
  2772  	type NoMethod RequestUtilization
  2773  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2774  }
  2775  
  2776  // ResourceRecord: A DNS resource record.
  2777  type ResourceRecord struct {
  2778  	// Name: Relative name of the object affected by this record. Only applicable
  2779  	// for CNAME records. Example: 'www'.
  2780  	Name string `json:"name,omitempty"`
  2781  	// Rrdata: Data for this record. Values vary by record type, as defined in RFC
  2782  	// 1035 (section 5) and RFC 1034 (section 3.6.1).
  2783  	Rrdata string `json:"rrdata,omitempty"`
  2784  	// Type: Resource record type. Example: AAAA.
  2785  	//
  2786  	// Possible values:
  2787  	//   "A" - An A resource record. Data is an IPv4 address.
  2788  	//   "AAAA" - An AAAA resource record. Data is an IPv6 address.
  2789  	//   "CNAME" - A CNAME resource record. Data is a domain name to be aliased.
  2790  	Type string `json:"type,omitempty"`
  2791  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2792  	// include in API requests. By default, fields with empty or default values are
  2793  	// omitted from API requests. See
  2794  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2795  	// details.
  2796  	ForceSendFields []string `json:"-"`
  2797  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2798  	// with the JSON null value. By default, fields with empty values are omitted
  2799  	// from API requests. See
  2800  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2801  	NullFields []string `json:"-"`
  2802  }
  2803  
  2804  func (s *ResourceRecord) MarshalJSON() ([]byte, error) {
  2805  	type NoMethod ResourceRecord
  2806  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2807  }
  2808  
  2809  // Resources: Machine resources for a version.
  2810  type Resources struct {
  2811  	// Cpu: Number of CPU cores needed.
  2812  	Cpu float64 `json:"cpu,omitempty"`
  2813  	// DiskGb: Disk size (GB) needed.
  2814  	DiskGb float64 `json:"diskGb,omitempty"`
  2815  	// KmsKeyReference: The name of the encryption key that is stored in Google
  2816  	// Cloud KMS. Only should be used by Cloud Composer to encrypt the vm disk
  2817  	KmsKeyReference string `json:"kmsKeyReference,omitempty"`
  2818  	// MemoryGb: Memory (GB) needed.
  2819  	MemoryGb float64 `json:"memoryGb,omitempty"`
  2820  	// Volumes: User specified volumes.
  2821  	Volumes []*Volume `json:"volumes,omitempty"`
  2822  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  2823  	// include in API requests. By default, fields with empty or default values are
  2824  	// omitted from API requests. See
  2825  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2826  	// details.
  2827  	ForceSendFields []string `json:"-"`
  2828  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  2829  	// with the JSON null value. By default, fields with empty values are omitted
  2830  	// from API requests. See
  2831  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2832  	NullFields []string `json:"-"`
  2833  }
  2834  
  2835  func (s *Resources) MarshalJSON() ([]byte, error) {
  2836  	type NoMethod Resources
  2837  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2838  }
  2839  
  2840  func (s *Resources) UnmarshalJSON(data []byte) error {
  2841  	type NoMethod Resources
  2842  	var s1 struct {
  2843  		Cpu      gensupport.JSONFloat64 `json:"cpu"`
  2844  		DiskGb   gensupport.JSONFloat64 `json:"diskGb"`
  2845  		MemoryGb gensupport.JSONFloat64 `json:"memoryGb"`
  2846  		*NoMethod
  2847  	}
  2848  	s1.NoMethod = (*NoMethod)(s)
  2849  	if err := json.Unmarshal(data, &s1); err != nil {
  2850  		return err
  2851  	}
  2852  	s.Cpu = float64(s1.Cpu)
  2853  	s.DiskGb = float64(s1.DiskGb)
  2854  	s.MemoryGb = float64(s1.MemoryGb)
  2855  	return nil
  2856  }
  2857  
  2858  // Runtime: Runtime versions for App Engine.
  2859  type Runtime struct {
  2860  	// DecommissionedDate: Date when Runtime is decommissioned.
  2861  	DecommissionedDate *Date `json:"decommissionedDate,omitempty"`
  2862  	// DeprecationDate: Date when Runtime is deprecated.
  2863  	DeprecationDate *Date `json:"deprecationDate,omitempty"`
  2864  	// DisplayName: User-friendly display name, e.g. 'Node.js 12', etc.
  2865  	DisplayName string `json:"displayName,omitempty"`
  2866  	// EndOfSupportDate: Date when Runtime is end of support.
  2867  	EndOfSupportDate *Date `json:"endOfSupportDate,omitempty"`
  2868  	// Environment: The environment of the runtime.
  2869  	//
  2870  	// Possible values:
  2871  	//   "ENVIRONMENT_UNSPECIFIED" - Default value.
  2872  	//   "STANDARD" - App Engine Standard.
  2873  	//   "FLEXIBLE" - App Engine Flexible
  2874  	Environment string `json:"environment,omitempty"`
  2875  	// Name: The name of the runtime, e.g., 'go113', 'nodejs12', etc.
  2876  	Name string `json:"name,omitempty"`
  2877  	// Stage: The stage of life this runtime is in, e.g., BETA, GA, etc.
  2878  	//
  2879  	// Possible values:
  2880  	//   "RUNTIME_STAGE_UNSPECIFIED" - Not specified.
  2881  	//   "DEVELOPMENT" - The runtime is in development.
  2882  	//   "ALPHA" - The runtime is in the Alpha stage.
  2883  	//   "BETA" - The runtime is in the Beta stage.
  2884  	//   "GA" - The runtime is generally available.
  2885  	//   "DEPRECATED" - The runtime is deprecated.
  2886  	//   "DECOMMISSIONED" - The runtime is no longer supported.
  2887  	//   "END_OF_SUPPORT" - The runtime is end of support.
  2888  	Stage string `json:"stage,omitempty"`
  2889  	// SupportedOperatingSystems: Supported operating systems for the runtime,
  2890  	// e.g., 'ubuntu22', etc.
  2891  	SupportedOperatingSystems []string `json:"supportedOperatingSystems,omitempty"`
  2892  	// Warnings: Warning messages, e.g., a deprecation warning.
  2893  	Warnings []string `json:"warnings,omitempty"`
  2894  	// ForceSendFields is a list of field names (e.g. "DecommissionedDate") to
  2895  	// unconditionally include in API requests. By default, fields with empty or
  2896  	// default values are omitted from API requests. See
  2897  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2898  	// details.
  2899  	ForceSendFields []string `json:"-"`
  2900  	// NullFields is a list of field names (e.g. "DecommissionedDate") to include
  2901  	// in API requests with the JSON null value. By default, fields with empty
  2902  	// values are omitted from API requests. See
  2903  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2904  	NullFields []string `json:"-"`
  2905  }
  2906  
  2907  func (s *Runtime) MarshalJSON() ([]byte, error) {
  2908  	type NoMethod Runtime
  2909  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2910  }
  2911  
  2912  // ScriptHandler: Executes a script to handle the request that matches the URL
  2913  // pattern.
  2914  type ScriptHandler struct {
  2915  	// ScriptPath: Path to the script from the application root directory.
  2916  	ScriptPath string `json:"scriptPath,omitempty"`
  2917  	// ForceSendFields is a list of field names (e.g. "ScriptPath") to
  2918  	// unconditionally include in API requests. By default, fields with empty or
  2919  	// default values are omitted from API requests. See
  2920  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2921  	// details.
  2922  	ForceSendFields []string `json:"-"`
  2923  	// NullFields is a list of field names (e.g. "ScriptPath") to include in API
  2924  	// requests with the JSON null value. By default, fields with empty values are
  2925  	// omitted from API requests. See
  2926  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2927  	NullFields []string `json:"-"`
  2928  }
  2929  
  2930  func (s *ScriptHandler) MarshalJSON() ([]byte, error) {
  2931  	type NoMethod ScriptHandler
  2932  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2933  }
  2934  
  2935  // Service: A Service resource is a logical component of an application that
  2936  // can share state and communicate in a secure fashion with other services. For
  2937  // example, an application that handles customer requests might include
  2938  // separate services to handle tasks such as backend data analysis or API
  2939  // requests from mobile devices. Each service has a collection of versions that
  2940  // define a specific set of code used to implement the functionality of that
  2941  // service.
  2942  type Service struct {
  2943  	// GeneratedCustomerMetadata: Additional Google Generated Customer Metadata,
  2944  	// this field won't be provided by default and can be requested by setting the
  2945  	// IncludeExtraData field in GetServiceRequest
  2946  	GeneratedCustomerMetadata googleapi.RawMessage `json:"generatedCustomerMetadata,omitempty"`
  2947  	// Id: Relative name of the service within the application. Example:
  2948  	// default.@OutputOnly
  2949  	Id string `json:"id,omitempty"`
  2950  	// Labels: A set of labels to apply to this service. Labels are key/value pairs
  2951  	// that describe the service and all resources that belong to it (e.g.,
  2952  	// versions). The labels can be used to search and group resources, and are
  2953  	// propagated to the usage and billing reports, enabling fine-grain analysis of
  2954  	// costs. An example of using labels is to tag resources belonging to different
  2955  	// environments (e.g., "env=prod", "env=qa"). Label keys and values can be no
  2956  	// longer than 63 characters and can only contain lowercase letters, numeric
  2957  	// characters, underscores, dashes, and international characters. Label keys
  2958  	// must start with a lowercase letter or an international character. Each
  2959  	// service can have at most 32 labels.
  2960  	Labels map[string]string `json:"labels,omitempty"`
  2961  	// Name: Full path to the Service resource in the API. Example:
  2962  	// apps/myapp/services/default.@OutputOnly
  2963  	Name string `json:"name,omitempty"`
  2964  	// NetworkSettings: Ingress settings for this service. Will apply to all
  2965  	// versions.
  2966  	NetworkSettings *NetworkSettings `json:"networkSettings,omitempty"`
  2967  	// Split: Mapping that defines fractional HTTP traffic diversion to different
  2968  	// versions within the service.
  2969  	Split *TrafficSplit `json:"split,omitempty"`
  2970  
  2971  	// ServerResponse contains the HTTP response code and headers from the server.
  2972  	googleapi.ServerResponse `json:"-"`
  2973  	// ForceSendFields is a list of field names (e.g. "GeneratedCustomerMetadata")
  2974  	// to unconditionally include in API requests. By default, fields with empty or
  2975  	// default values are omitted from API requests. See
  2976  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2977  	// details.
  2978  	ForceSendFields []string `json:"-"`
  2979  	// NullFields is a list of field names (e.g. "GeneratedCustomerMetadata") to
  2980  	// include in API requests with the JSON null value. By default, fields with
  2981  	// empty values are omitted from API requests. See
  2982  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2983  	NullFields []string `json:"-"`
  2984  }
  2985  
  2986  func (s *Service) MarshalJSON() ([]byte, error) {
  2987  	type NoMethod Service
  2988  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2989  }
  2990  
  2991  // SslSettings: SSL configuration for a DomainMapping resource.
  2992  type SslSettings struct {
  2993  	// CertificateId: ID of the AuthorizedCertificate resource configuring SSL for
  2994  	// the application. Clearing this field will remove SSL support.By default, a
  2995  	// managed certificate is automatically created for every domain mapping. To
  2996  	// omit SSL support or to configure SSL manually, specify
  2997  	// SslManagementType.MANUAL on a CREATE or UPDATE request. You must be
  2998  	// authorized to administer the AuthorizedCertificate resource to manually map
  2999  	// it to a DomainMapping resource. Example: 12345.
  3000  	CertificateId string `json:"certificateId,omitempty"`
  3001  	// PendingManagedCertificateId: ID of the managed AuthorizedCertificate
  3002  	// resource currently being provisioned, if applicable. Until the new managed
  3003  	// certificate has been successfully provisioned, the previous SSL state will
  3004  	// be preserved. Once the provisioning process completes, the certificate_id
  3005  	// field will reflect the new managed certificate and this field will be left
  3006  	// empty. To remove SSL support while there is still a pending managed
  3007  	// certificate, clear the certificate_id field with an
  3008  	// UpdateDomainMappingRequest.@OutputOnly
  3009  	PendingManagedCertificateId string `json:"pendingManagedCertificateId,omitempty"`
  3010  	// SslManagementType: SSL management type for this domain. If AUTOMATIC, a
  3011  	// managed certificate is automatically provisioned. If MANUAL, certificate_id
  3012  	// must be manually specified in order to configure SSL for this domain.
  3013  	//
  3014  	// Possible values:
  3015  	//   "AUTOMATIC" - SSL support for this domain is configured automatically. The
  3016  	// mapped SSL certificate will be automatically renewed.
  3017  	//   "MANUAL" - SSL support for this domain is configured manually by the user.
  3018  	// Either the domain has no SSL support or a user-obtained SSL certificate has
  3019  	// been explictly mapped to this domain.
  3020  	SslManagementType string `json:"sslManagementType,omitempty"`
  3021  	// ForceSendFields is a list of field names (e.g. "CertificateId") to
  3022  	// unconditionally include in API requests. By default, fields with empty or
  3023  	// default values are omitted from API requests. See
  3024  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3025  	// details.
  3026  	ForceSendFields []string `json:"-"`
  3027  	// NullFields is a list of field names (e.g. "CertificateId") to include in API
  3028  	// requests with the JSON null value. By default, fields with empty values are
  3029  	// omitted from API requests. See
  3030  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3031  	NullFields []string `json:"-"`
  3032  }
  3033  
  3034  func (s *SslSettings) MarshalJSON() ([]byte, error) {
  3035  	type NoMethod SslSettings
  3036  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3037  }
  3038  
  3039  // StandardSchedulerSettings: Scheduler settings for standard environment.
  3040  type StandardSchedulerSettings struct {
  3041  	// MaxInstances: Maximum number of instances to run for this version. Set to
  3042  	// zero to disable max_instances configuration.
  3043  	MaxInstances int64 `json:"maxInstances,omitempty"`
  3044  	// MinInstances: Minimum number of instances to run for this version. Set to
  3045  	// zero to disable min_instances configuration.
  3046  	MinInstances int64 `json:"minInstances,omitempty"`
  3047  	// TargetCpuUtilization: Target CPU utilization ratio to maintain when scaling.
  3048  	TargetCpuUtilization float64 `json:"targetCpuUtilization,omitempty"`
  3049  	// TargetThroughputUtilization: Target throughput utilization ratio to maintain
  3050  	// when scaling
  3051  	TargetThroughputUtilization float64 `json:"targetThroughputUtilization,omitempty"`
  3052  	// ForceSendFields is a list of field names (e.g. "MaxInstances") to
  3053  	// unconditionally include in API requests. By default, fields with empty or
  3054  	// default values are omitted from API requests. See
  3055  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3056  	// details.
  3057  	ForceSendFields []string `json:"-"`
  3058  	// NullFields is a list of field names (e.g. "MaxInstances") to include in API
  3059  	// requests with the JSON null value. By default, fields with empty values are
  3060  	// omitted from API requests. See
  3061  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3062  	NullFields []string `json:"-"`
  3063  }
  3064  
  3065  func (s *StandardSchedulerSettings) MarshalJSON() ([]byte, error) {
  3066  	type NoMethod StandardSchedulerSettings
  3067  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3068  }
  3069  
  3070  func (s *StandardSchedulerSettings) UnmarshalJSON(data []byte) error {
  3071  	type NoMethod StandardSchedulerSettings
  3072  	var s1 struct {
  3073  		TargetCpuUtilization        gensupport.JSONFloat64 `json:"targetCpuUtilization"`
  3074  		TargetThroughputUtilization gensupport.JSONFloat64 `json:"targetThroughputUtilization"`
  3075  		*NoMethod
  3076  	}
  3077  	s1.NoMethod = (*NoMethod)(s)
  3078  	if err := json.Unmarshal(data, &s1); err != nil {
  3079  		return err
  3080  	}
  3081  	s.TargetCpuUtilization = float64(s1.TargetCpuUtilization)
  3082  	s.TargetThroughputUtilization = float64(s1.TargetThroughputUtilization)
  3083  	return nil
  3084  }
  3085  
  3086  // StaticFilesHandler: Files served directly to the user for a given URL, such
  3087  // as images, CSS stylesheets, or JavaScript source files. Static file handlers
  3088  // describe which files in the application directory are static files, and
  3089  // which URLs serve them.
  3090  type StaticFilesHandler struct {
  3091  	// ApplicationReadable: Whether files should also be uploaded as code data. By
  3092  	// default, files declared in static file handlers are uploaded as static data
  3093  	// and are only served to end users; they cannot be read by the application. If
  3094  	// enabled, uploads are charged against both your code and static data storage
  3095  	// resource quotas.
  3096  	ApplicationReadable bool `json:"applicationReadable,omitempty"`
  3097  	// Expiration: Time a static file served by this handler should be cached by
  3098  	// web proxies and browsers.
  3099  	Expiration string `json:"expiration,omitempty"`
  3100  	// HttpHeaders: HTTP headers to use for all responses from these URLs.
  3101  	HttpHeaders map[string]string `json:"httpHeaders,omitempty"`
  3102  	// MimeType: MIME type used to serve all files served by this handler.Defaults
  3103  	// to file-specific MIME types, which are derived from each file's filename
  3104  	// extension.
  3105  	MimeType string `json:"mimeType,omitempty"`
  3106  	// Path: Path to the static files matched by the URL pattern, from the
  3107  	// application root directory. The path can refer to text matched in groupings
  3108  	// in the URL pattern.
  3109  	Path string `json:"path,omitempty"`
  3110  	// RequireMatchingFile: Whether this handler should match the request if the
  3111  	// file referenced by the handler does not exist.
  3112  	RequireMatchingFile bool `json:"requireMatchingFile,omitempty"`
  3113  	// UploadPathRegex: Regular expression that matches the file paths for all
  3114  	// files that should be referenced by this handler.
  3115  	UploadPathRegex string `json:"uploadPathRegex,omitempty"`
  3116  	// ForceSendFields is a list of field names (e.g. "ApplicationReadable") to
  3117  	// unconditionally include in API requests. By default, fields with empty or
  3118  	// default values are omitted from API requests. See
  3119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3120  	// details.
  3121  	ForceSendFields []string `json:"-"`
  3122  	// NullFields is a list of field names (e.g. "ApplicationReadable") to include
  3123  	// in API requests with the JSON null value. By default, fields with empty
  3124  	// values are omitted from API requests. See
  3125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3126  	NullFields []string `json:"-"`
  3127  }
  3128  
  3129  func (s *StaticFilesHandler) MarshalJSON() ([]byte, error) {
  3130  	type NoMethod StaticFilesHandler
  3131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3132  }
  3133  
  3134  // Status: The Status type defines a logical error model that is suitable for
  3135  // different programming environments, including REST APIs and RPC APIs. It is
  3136  // used by gRPC (https://github.com/grpc). Each Status message contains three
  3137  // pieces of data: error code, error message, and error details.You can find
  3138  // out more about this error model and how to work with it in the API Design
  3139  // Guide (https://cloud.google.com/apis/design/errors).
  3140  type Status struct {
  3141  	// Code: The status code, which should be an enum value of google.rpc.Code.
  3142  	Code int64 `json:"code,omitempty"`
  3143  	// Details: A list of messages that carry the error details. There is a common
  3144  	// set of message types for APIs to use.
  3145  	Details []googleapi.RawMessage `json:"details,omitempty"`
  3146  	// Message: A developer-facing error message, which should be in English. Any
  3147  	// user-facing error message should be localized and sent in the
  3148  	// google.rpc.Status.details field, or localized by the client.
  3149  	Message string `json:"message,omitempty"`
  3150  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3151  	// include in API requests. By default, fields with empty or default values are
  3152  	// omitted from API requests. See
  3153  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3154  	// details.
  3155  	ForceSendFields []string `json:"-"`
  3156  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3157  	// with the JSON null value. By default, fields with empty values are omitted
  3158  	// from API requests. See
  3159  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3160  	NullFields []string `json:"-"`
  3161  }
  3162  
  3163  func (s *Status) MarshalJSON() ([]byte, error) {
  3164  	type NoMethod Status
  3165  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3166  }
  3167  
  3168  // TrafficSplit: Traffic routing configuration for versions within a single
  3169  // service. Traffic splits define how traffic directed to the service is
  3170  // assigned to versions.
  3171  type TrafficSplit struct {
  3172  	// Allocations: Mapping from version IDs within the service to fractional
  3173  	// (0.000, 1] allocations of traffic for that version. Each version can be
  3174  	// specified only once, but some versions in the service may not have any
  3175  	// traffic allocation. Services that have traffic allocated cannot be deleted
  3176  	// until either the service is deleted or their traffic allocation is removed.
  3177  	// Allocations must sum to 1. Up to two decimal place precision is supported
  3178  	// for IP-based splits and up to three decimal places is supported for
  3179  	// cookie-based splits.
  3180  	Allocations map[string]float64 `json:"allocations,omitempty"`
  3181  	// ShardBy: Mechanism used to determine which version a request is sent to. The
  3182  	// traffic selection algorithm will be stable for either type until allocations
  3183  	// are changed.
  3184  	//
  3185  	// Possible values:
  3186  	//   "UNSPECIFIED" - Diversion method unspecified.
  3187  	//   "COOKIE" - Diversion based on a specially named cookie, "GOOGAPPUID." The
  3188  	// cookie must be set by the application itself or no diversion will occur.
  3189  	//   "IP" - Diversion based on applying the modulus operation to a fingerprint
  3190  	// of the IP address.
  3191  	//   "RANDOM" - Diversion based on weighted random assignment. An incoming
  3192  	// request is randomly routed to a version in the traffic split, with
  3193  	// probability proportional to the version's traffic share.
  3194  	ShardBy string `json:"shardBy,omitempty"`
  3195  	// ForceSendFields is a list of field names (e.g. "Allocations") to
  3196  	// unconditionally include in API requests. By default, fields with empty or
  3197  	// default values are omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3199  	// details.
  3200  	ForceSendFields []string `json:"-"`
  3201  	// NullFields is a list of field names (e.g. "Allocations") to include in API
  3202  	// requests with the JSON null value. By default, fields with empty values are
  3203  	// omitted from API requests. See
  3204  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3205  	NullFields []string `json:"-"`
  3206  }
  3207  
  3208  func (s *TrafficSplit) MarshalJSON() ([]byte, error) {
  3209  	type NoMethod TrafficSplit
  3210  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3211  }
  3212  
  3213  // UrlDispatchRule: Rules to match an HTTP request and dispatch that request to
  3214  // a service.
  3215  type UrlDispatchRule struct {
  3216  	// Domain: Domain name to match against. The wildcard "*" is supported if
  3217  	// specified before a period: "*.".Defaults to matching all domains: "*".
  3218  	Domain string `json:"domain,omitempty"`
  3219  	// Path: Pathname within the host. Must start with a "/". A single "*" can be
  3220  	// included at the end of the path.The sum of the lengths of the domain and
  3221  	// path may not exceed 100 characters.
  3222  	Path string `json:"path,omitempty"`
  3223  	// Service: Resource ID of a service in this application that should serve the
  3224  	// matched request. The service must already exist. Example: default.
  3225  	Service string `json:"service,omitempty"`
  3226  	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
  3227  	// include in API requests. By default, fields with empty or default values are
  3228  	// omitted from API requests. See
  3229  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3230  	// details.
  3231  	ForceSendFields []string `json:"-"`
  3232  	// NullFields is a list of field names (e.g. "Domain") to include in API
  3233  	// requests with the JSON null value. By default, fields with empty values are
  3234  	// omitted from API requests. See
  3235  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3236  	NullFields []string `json:"-"`
  3237  }
  3238  
  3239  func (s *UrlDispatchRule) MarshalJSON() ([]byte, error) {
  3240  	type NoMethod UrlDispatchRule
  3241  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3242  }
  3243  
  3244  // UrlMap: URL pattern and description of how the URL should be handled. App
  3245  // Engine can handle URLs by executing application code or by serving static
  3246  // files uploaded with the version, such as images, CSS, or JavaScript.
  3247  type UrlMap struct {
  3248  	// ApiEndpoint: Uses API Endpoints to handle requests.
  3249  	ApiEndpoint *ApiEndpointHandler `json:"apiEndpoint,omitempty"`
  3250  	// AuthFailAction: Action to take when users access resources that require
  3251  	// authentication. Defaults to redirect.
  3252  	//
  3253  	// Possible values:
  3254  	//   "AUTH_FAIL_ACTION_UNSPECIFIED" - Not specified. AUTH_FAIL_ACTION_REDIRECT
  3255  	// is assumed.
  3256  	//   "AUTH_FAIL_ACTION_REDIRECT" - Redirects user to "accounts.google.com". The
  3257  	// user is redirected back to the application URL after signing in or creating
  3258  	// an account.
  3259  	//   "AUTH_FAIL_ACTION_UNAUTHORIZED" - Rejects request with a 401 HTTP status
  3260  	// code and an error message.
  3261  	AuthFailAction string `json:"authFailAction,omitempty"`
  3262  	// Login: Level of login required to access this resource. Not supported for
  3263  	// Node.js in the App Engine standard environment.
  3264  	//
  3265  	// Possible values:
  3266  	//   "LOGIN_UNSPECIFIED" - Not specified. LOGIN_OPTIONAL is assumed.
  3267  	//   "LOGIN_OPTIONAL" - Does not require that the user is signed in.
  3268  	//   "LOGIN_ADMIN" - If the user is not signed in, the auth_fail_action is
  3269  	// taken. In addition, if the user is not an administrator for the application,
  3270  	// they are given an error message regardless of auth_fail_action. If the user
  3271  	// is an administrator, the handler proceeds.
  3272  	//   "LOGIN_REQUIRED" - If the user has signed in, the handler proceeds
  3273  	// normally. Otherwise, the auth_fail_action is taken.
  3274  	Login string `json:"login,omitempty"`
  3275  	// RedirectHttpResponseCode: 30x code to use when performing redirects for the
  3276  	// secure field. Defaults to 302.
  3277  	//
  3278  	// Possible values:
  3279  	//   "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED" - Not specified. 302 is assumed.
  3280  	//   "REDIRECT_HTTP_RESPONSE_CODE_301" - 301 Moved Permanently code.
  3281  	//   "REDIRECT_HTTP_RESPONSE_CODE_302" - 302 Moved Temporarily code.
  3282  	//   "REDIRECT_HTTP_RESPONSE_CODE_303" - 303 See Other code.
  3283  	//   "REDIRECT_HTTP_RESPONSE_CODE_307" - 307 Temporary Redirect code.
  3284  	RedirectHttpResponseCode string `json:"redirectHttpResponseCode,omitempty"`
  3285  	// Script: Executes a script to handle the requests that match this URL
  3286  	// pattern. Only the auto value is supported for Node.js in the App Engine
  3287  	// standard environment, for example "script": "auto".
  3288  	Script *ScriptHandler `json:"script,omitempty"`
  3289  	// SecurityLevel: Security (HTTPS) enforcement for this URL.
  3290  	//
  3291  	// Possible values:
  3292  	//   "SECURE_UNSPECIFIED" - Not specified.
  3293  	//   "SECURE_DEFAULT" - Both HTTP and HTTPS requests with URLs that match the
  3294  	// handler succeed without redirects. The application can examine the request
  3295  	// to determine which protocol was used, and respond accordingly.
  3296  	//   "SECURE_NEVER" - Requests for a URL that match this handler that use HTTPS
  3297  	// are automatically redirected to the HTTP equivalent URL.
  3298  	//   "SECURE_OPTIONAL" - Both HTTP and HTTPS requests with URLs that match the
  3299  	// handler succeed without redirects. The application can examine the request
  3300  	// to determine which protocol was used and respond accordingly.
  3301  	//   "SECURE_ALWAYS" - Requests for a URL that match this handler that do not
  3302  	// use HTTPS are automatically redirected to the HTTPS URL with the same path.
  3303  	// Query parameters are reserved for the redirect.
  3304  	SecurityLevel string `json:"securityLevel,omitempty"`
  3305  	// StaticFiles: Returns the contents of a file, such as an image, as the
  3306  	// response.
  3307  	StaticFiles *StaticFilesHandler `json:"staticFiles,omitempty"`
  3308  	// UrlRegex: URL prefix. Uses regular expression syntax, which means regexp
  3309  	// special characters must be escaped, but should not contain groupings. All
  3310  	// URLs that begin with this prefix are handled by this handler, using the
  3311  	// portion of the URL after the prefix as part of the file path.
  3312  	UrlRegex string `json:"urlRegex,omitempty"`
  3313  	// ForceSendFields is a list of field names (e.g. "ApiEndpoint") to
  3314  	// unconditionally include in API requests. By default, fields with empty or
  3315  	// default values are omitted from API requests. See
  3316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3317  	// details.
  3318  	ForceSendFields []string `json:"-"`
  3319  	// NullFields is a list of field names (e.g. "ApiEndpoint") to include in API
  3320  	// requests with the JSON null value. By default, fields with empty values are
  3321  	// omitted from API requests. See
  3322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3323  	NullFields []string `json:"-"`
  3324  }
  3325  
  3326  func (s *UrlMap) MarshalJSON() ([]byte, error) {
  3327  	type NoMethod UrlMap
  3328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3329  }
  3330  
  3331  // Version: A Version resource is a specific set of source code and
  3332  // configuration files that are deployed into a service.
  3333  type Version struct {
  3334  	// ApiConfig: Serving configuration for Google Cloud Endpoints
  3335  	// (https://cloud.google.com/endpoints).Only returned in GET requests if
  3336  	// view=FULL is set.
  3337  	ApiConfig *ApiConfigHandler `json:"apiConfig,omitempty"`
  3338  	// AppEngineApis: Allows App Engine second generation runtimes to access the
  3339  	// legacy bundled services.
  3340  	AppEngineApis bool `json:"appEngineApis,omitempty"`
  3341  	// AutomaticScaling: Automatic scaling is based on request rate, response
  3342  	// latencies, and other application metrics. Instances are dynamically created
  3343  	// and destroyed as needed in order to handle traffic.
  3344  	AutomaticScaling *AutomaticScaling `json:"automaticScaling,omitempty"`
  3345  	// BasicScaling: A service with basic scaling will create an instance when the
  3346  	// application receives a request. The instance will be turned down when the
  3347  	// app becomes idle. Basic scaling is ideal for work that is intermittent or
  3348  	// driven by user activity.
  3349  	BasicScaling *BasicScaling `json:"basicScaling,omitempty"`
  3350  	// BetaSettings: Metadata settings that are supplied to this version to enable
  3351  	// beta runtime features.
  3352  	BetaSettings map[string]string `json:"betaSettings,omitempty"`
  3353  	// BuildEnvVariables: Environment variables available to the build
  3354  	// environment.Only returned in GET requests if view=FULL is set.
  3355  	BuildEnvVariables map[string]string `json:"buildEnvVariables,omitempty"`
  3356  	// CreateTime: Time that this version was created.@OutputOnly
  3357  	CreateTime string `json:"createTime,omitempty"`
  3358  	// CreatedBy: Email address of the user who created this version.@OutputOnly
  3359  	CreatedBy string `json:"createdBy,omitempty"`
  3360  	// DefaultExpiration: Duration that static files should be cached by web
  3361  	// proxies and browsers. Only applicable if the corresponding
  3362  	// StaticFilesHandler
  3363  	// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler)
  3364  	// does not specify its own expiration time.Only returned in GET requests if
  3365  	// view=FULL is set.
  3366  	DefaultExpiration string `json:"defaultExpiration,omitempty"`
  3367  	// Deployment: Code and application artifacts that make up this version.Only
  3368  	// returned in GET requests if view=FULL is set.
  3369  	Deployment *Deployment `json:"deployment,omitempty"`
  3370  	// DiskUsageBytes: Total size in bytes of all the files that are included in
  3371  	// this version and currently hosted on the App Engine disk.@OutputOnly
  3372  	DiskUsageBytes int64 `json:"diskUsageBytes,omitempty,string"`
  3373  	// EndpointsApiService: Cloud Endpoints configuration.If endpoints_api_service
  3374  	// is set, the Cloud Endpoints Extensible Service Proxy will be provided to
  3375  	// serve the API implemented by the app.
  3376  	EndpointsApiService *EndpointsApiService `json:"endpointsApiService,omitempty"`
  3377  	// Entrypoint: The entrypoint for the application.
  3378  	Entrypoint *Entrypoint `json:"entrypoint,omitempty"`
  3379  	// Env: App Engine execution environment for this version.Defaults to standard.
  3380  	Env string `json:"env,omitempty"`
  3381  	// EnvVariables: Environment variables available to the application.Only
  3382  	// returned in GET requests if view=FULL is set.
  3383  	EnvVariables map[string]string `json:"envVariables,omitempty"`
  3384  	// ErrorHandlers: Custom static error pages. Limited to 10KB per page.Only
  3385  	// returned in GET requests if view=FULL is set.
  3386  	ErrorHandlers []*ErrorHandler `json:"errorHandlers,omitempty"`
  3387  	// FlexibleRuntimeSettings: Settings for App Engine flexible runtimes.
  3388  	FlexibleRuntimeSettings *FlexibleRuntimeSettings `json:"flexibleRuntimeSettings,omitempty"`
  3389  	// GeneratedCustomerMetadata: Additional Google Generated Customer Metadata,
  3390  	// this field won't be provided by default and can be requested by setting the
  3391  	// IncludeExtraData field in GetVersionRequest
  3392  	GeneratedCustomerMetadata googleapi.RawMessage `json:"generatedCustomerMetadata,omitempty"`
  3393  	// Handlers: An ordered list of URL-matching patterns that should be applied to
  3394  	// incoming requests. The first matching URL handles the request and other
  3395  	// request handlers are not attempted.Only returned in GET requests if
  3396  	// view=FULL is set.
  3397  	Handlers []*UrlMap `json:"handlers,omitempty"`
  3398  	// HealthCheck: Configures health checking for instances. Unhealthy instances
  3399  	// are stopped and replaced with new instances. Only applicable in the App
  3400  	// Engine flexible environment.
  3401  	HealthCheck *HealthCheck `json:"healthCheck,omitempty"`
  3402  	// Id: Relative name of the version within the service. Example: v1. Version
  3403  	// names can contain only lowercase letters, numbers, or hyphens. Reserved
  3404  	// names: "default", "latest", and any name with the prefix "ah-".
  3405  	Id string `json:"id,omitempty"`
  3406  	// InboundServices: Before an application can receive email or XMPP messages,
  3407  	// the application must be configured to enable the service.
  3408  	//
  3409  	// Possible values:
  3410  	//   "INBOUND_SERVICE_UNSPECIFIED" - Not specified.
  3411  	//   "INBOUND_SERVICE_MAIL" - Allows an application to receive mail.
  3412  	//   "INBOUND_SERVICE_MAIL_BOUNCE" - Allows an application to receive
  3413  	// email-bound notifications.
  3414  	//   "INBOUND_SERVICE_XMPP_ERROR" - Allows an application to receive error
  3415  	// stanzas.
  3416  	//   "INBOUND_SERVICE_XMPP_MESSAGE" - Allows an application to receive instant
  3417  	// messages.
  3418  	//   "INBOUND_SERVICE_XMPP_SUBSCRIBE" - Allows an application to receive user
  3419  	// subscription POSTs.
  3420  	//   "INBOUND_SERVICE_XMPP_PRESENCE" - Allows an application to receive a
  3421  	// user's chat presence.
  3422  	//   "INBOUND_SERVICE_CHANNEL_PRESENCE" - Registers an application for
  3423  	// notifications when a client connects or disconnects from a channel.
  3424  	//   "INBOUND_SERVICE_WARMUP" - Enables warmup requests.
  3425  	InboundServices []string `json:"inboundServices,omitempty"`
  3426  	// InstanceClass: Instance class that is used to run this version. Valid values
  3427  	// are: AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1,
  3428  	// B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for
  3429  	// ManualScaling or BasicScaling.
  3430  	InstanceClass string `json:"instanceClass,omitempty"`
  3431  	// Libraries: Configuration for third-party Python runtime libraries that are
  3432  	// required by the application.Only returned in GET requests if view=FULL is
  3433  	// set.
  3434  	Libraries []*Library `json:"libraries,omitempty"`
  3435  	// LivenessCheck: Configures liveness health checking for instances. Unhealthy
  3436  	// instances are stopped and replaced with new instances
  3437  	LivenessCheck *LivenessCheck `json:"livenessCheck,omitempty"`
  3438  	// ManualScaling: A service with manual scaling runs continuously, allowing you
  3439  	// to perform complex initialization and rely on the state of its memory over
  3440  	// time. Manually scaled versions are sometimes referred to as "backends".
  3441  	ManualScaling *ManualScaling `json:"manualScaling,omitempty"`
  3442  	// Name: Full path to the Version resource in the API. Example:
  3443  	// apps/myapp/services/default/versions/v1.@OutputOnly
  3444  	Name string `json:"name,omitempty"`
  3445  	// Network: Extra network settings. Only applicable in the App Engine flexible
  3446  	// environment.
  3447  	Network *Network `json:"network,omitempty"`
  3448  	// NobuildFilesRegex: Files that match this pattern will not be built into this
  3449  	// version. Only applicable for Go runtimes.Only returned in GET requests if
  3450  	// view=FULL is set.
  3451  	NobuildFilesRegex string `json:"nobuildFilesRegex,omitempty"`
  3452  	// ReadinessCheck: Configures readiness health checking for instances.
  3453  	// Unhealthy instances are not put into the backend traffic rotation.
  3454  	ReadinessCheck *ReadinessCheck `json:"readinessCheck,omitempty"`
  3455  	// Resources: Machine resources for this version. Only applicable in the App
  3456  	// Engine flexible environment.
  3457  	Resources *Resources `json:"resources,omitempty"`
  3458  	// Runtime: Desired runtime. Example: python27.
  3459  	Runtime string `json:"runtime,omitempty"`
  3460  	// RuntimeApiVersion: The version of the API in the given runtime environment.
  3461  	// Please see the app.yaml reference for valid values at
  3462  	// https://cloud.google.com/appengine/docs/standard//config/appref
  3463  	RuntimeApiVersion string `json:"runtimeApiVersion,omitempty"`
  3464  	// RuntimeChannel: The channel of the runtime to use. Only available for some
  3465  	// runtimes. Defaults to the default channel.
  3466  	RuntimeChannel string `json:"runtimeChannel,omitempty"`
  3467  	// RuntimeMainExecutablePath: The path or name of the app's main executable.
  3468  	RuntimeMainExecutablePath string `json:"runtimeMainExecutablePath,omitempty"`
  3469  	// ServiceAccount: The identity that the deployed version will run as. Admin
  3470  	// API will use the App Engine Appspot service account as default if this field
  3471  	// is neither provided in app.yaml file nor through CLI flag.
  3472  	ServiceAccount string `json:"serviceAccount,omitempty"`
  3473  	// ServingStatus: Current serving status of this version. Only the versions
  3474  	// with a SERVING status create instances and can be
  3475  	// billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.
  3476  	//
  3477  	// Possible values:
  3478  	//   "SERVING_STATUS_UNSPECIFIED" - Not specified.
  3479  	//   "SERVING" - Currently serving. Instances are created according to the
  3480  	// scaling settings of the version.
  3481  	//   "STOPPED" - Disabled. No instances will be created and the scaling
  3482  	// settings are ignored until the state of the version changes to SERVING.
  3483  	ServingStatus string `json:"servingStatus,omitempty"`
  3484  	// Threadsafe: Whether multiple requests can be dispatched to this version at
  3485  	// once.
  3486  	Threadsafe bool `json:"threadsafe,omitempty"`
  3487  	// VersionUrl: Serving URL for this version. Example:
  3488  	// "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly
  3489  	VersionUrl string `json:"versionUrl,omitempty"`
  3490  	// Vm: Whether to deploy this version in a container on a virtual machine.
  3491  	Vm bool `json:"vm,omitempty"`
  3492  	// VpcAccessConnector: Enables VPC connectivity for standard apps.
  3493  	VpcAccessConnector *VpcAccessConnector `json:"vpcAccessConnector,omitempty"`
  3494  	// Zones: The Google Compute Engine zones that are supported by this version in
  3495  	// the App Engine flexible environment. Deprecated.
  3496  	Zones []string `json:"zones,omitempty"`
  3497  
  3498  	// ServerResponse contains the HTTP response code and headers from the server.
  3499  	googleapi.ServerResponse `json:"-"`
  3500  	// ForceSendFields is a list of field names (e.g. "ApiConfig") to
  3501  	// unconditionally include in API requests. By default, fields with empty or
  3502  	// default values are omitted from API requests. See
  3503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3504  	// details.
  3505  	ForceSendFields []string `json:"-"`
  3506  	// NullFields is a list of field names (e.g. "ApiConfig") to include in API
  3507  	// requests with the JSON null value. By default, fields with empty values are
  3508  	// omitted from API requests. See
  3509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3510  	NullFields []string `json:"-"`
  3511  }
  3512  
  3513  func (s *Version) MarshalJSON() ([]byte, error) {
  3514  	type NoMethod Version
  3515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3516  }
  3517  
  3518  // Volume: Volumes mounted within the app container. Only applicable in the App
  3519  // Engine flexible environment.
  3520  type Volume struct {
  3521  	// Name: Unique name for the volume.
  3522  	Name string `json:"name,omitempty"`
  3523  	// SizeGb: Volume size in gigabytes.
  3524  	SizeGb float64 `json:"sizeGb,omitempty"`
  3525  	// VolumeType: Underlying volume type, e.g. 'tmpfs'.
  3526  	VolumeType string `json:"volumeType,omitempty"`
  3527  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  3528  	// include in API requests. By default, fields with empty or default values are
  3529  	// omitted from API requests. See
  3530  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3531  	// details.
  3532  	ForceSendFields []string `json:"-"`
  3533  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  3534  	// with the JSON null value. By default, fields with empty values are omitted
  3535  	// from API requests. See
  3536  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3537  	NullFields []string `json:"-"`
  3538  }
  3539  
  3540  func (s *Volume) MarshalJSON() ([]byte, error) {
  3541  	type NoMethod Volume
  3542  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3543  }
  3544  
  3545  func (s *Volume) UnmarshalJSON(data []byte) error {
  3546  	type NoMethod Volume
  3547  	var s1 struct {
  3548  		SizeGb gensupport.JSONFloat64 `json:"sizeGb"`
  3549  		*NoMethod
  3550  	}
  3551  	s1.NoMethod = (*NoMethod)(s)
  3552  	if err := json.Unmarshal(data, &s1); err != nil {
  3553  		return err
  3554  	}
  3555  	s.SizeGb = float64(s1.SizeGb)
  3556  	return nil
  3557  }
  3558  
  3559  // VpcAccessConnector: VPC access connector specification.
  3560  type VpcAccessConnector struct {
  3561  	// EgressSetting: The egress setting for the connector, controlling what
  3562  	// traffic is diverted through it.
  3563  	//
  3564  	// Possible values:
  3565  	//   "EGRESS_SETTING_UNSPECIFIED"
  3566  	//   "ALL_TRAFFIC" - Force the use of VPC Access for all egress traffic from
  3567  	// the function.
  3568  	//   "PRIVATE_IP_RANGES" - Use the VPC Access Connector for private IP space
  3569  	// from RFC1918.
  3570  	EgressSetting string `json:"egressSetting,omitempty"`
  3571  	// Name: Full Serverless VPC Access Connector name e.g.
  3572  	// projects/my-project/locations/us-central1/connectors/c1.
  3573  	Name string `json:"name,omitempty"`
  3574  	// ForceSendFields is a list of field names (e.g. "EgressSetting") to
  3575  	// unconditionally include in API requests. By default, fields with empty or
  3576  	// default values are omitted from API requests. See
  3577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3578  	// details.
  3579  	ForceSendFields []string `json:"-"`
  3580  	// NullFields is a list of field names (e.g. "EgressSetting") to include in API
  3581  	// requests with the JSON null value. By default, fields with empty values are
  3582  	// omitted from API requests. See
  3583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3584  	NullFields []string `json:"-"`
  3585  }
  3586  
  3587  func (s *VpcAccessConnector) MarshalJSON() ([]byte, error) {
  3588  	type NoMethod VpcAccessConnector
  3589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3590  }
  3591  
  3592  // ZipInfo: The zip file information for a zip deployment.
  3593  type ZipInfo struct {
  3594  	// FilesCount: An estimate of the number of files in a zip for a zip
  3595  	// deployment. If set, must be greater than or equal to the actual number of
  3596  	// files. Used for optimizing performance; if not provided, deployment may be
  3597  	// slow.
  3598  	FilesCount int64 `json:"filesCount,omitempty"`
  3599  	// SourceUrl: URL of the zip file to deploy from. Must be a URL to a resource
  3600  	// in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'.
  3601  	SourceUrl string `json:"sourceUrl,omitempty"`
  3602  	// ForceSendFields is a list of field names (e.g. "FilesCount") to
  3603  	// unconditionally include in API requests. By default, fields with empty or
  3604  	// default values are omitted from API requests. See
  3605  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3606  	// details.
  3607  	ForceSendFields []string `json:"-"`
  3608  	// NullFields is a list of field names (e.g. "FilesCount") to include in API
  3609  	// requests with the JSON null value. By default, fields with empty values are
  3610  	// omitted from API requests. See
  3611  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3612  	NullFields []string `json:"-"`
  3613  }
  3614  
  3615  func (s *ZipInfo) MarshalJSON() ([]byte, error) {
  3616  	type NoMethod ZipInfo
  3617  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3618  }
  3619  
  3620  type AppsCreateCall struct {
  3621  	s           *APIService
  3622  	application *Application
  3623  	urlParams_  gensupport.URLParams
  3624  	ctx_        context.Context
  3625  	header_     http.Header
  3626  }
  3627  
  3628  // Create: Creates an App Engine application for a Google Cloud Platform
  3629  // project. Required fields: id - The ID of the target Cloud Platform project.
  3630  // location - The region (https://cloud.google.com/appengine/docs/locations)
  3631  // where you want the App Engine application located.For more information about
  3632  // App Engine applications, see Managing Projects, Applications, and Billing
  3633  // (https://cloud.google.com/appengine/docs/standard/python/console/).
  3634  func (r *AppsService) Create(application *Application) *AppsCreateCall {
  3635  	c := &AppsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3636  	c.application = application
  3637  	return c
  3638  }
  3639  
  3640  // Fields allows partial responses to be retrieved. See
  3641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3642  // details.
  3643  func (c *AppsCreateCall) Fields(s ...googleapi.Field) *AppsCreateCall {
  3644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3645  	return c
  3646  }
  3647  
  3648  // Context sets the context to be used in this call's Do method.
  3649  func (c *AppsCreateCall) Context(ctx context.Context) *AppsCreateCall {
  3650  	c.ctx_ = ctx
  3651  	return c
  3652  }
  3653  
  3654  // Header returns a http.Header that can be modified by the caller to add
  3655  // headers to the request.
  3656  func (c *AppsCreateCall) Header() http.Header {
  3657  	if c.header_ == nil {
  3658  		c.header_ = make(http.Header)
  3659  	}
  3660  	return c.header_
  3661  }
  3662  
  3663  func (c *AppsCreateCall) doRequest(alt string) (*http.Response, error) {
  3664  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3665  	var body io.Reader = nil
  3666  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.application)
  3667  	if err != nil {
  3668  		return nil, err
  3669  	}
  3670  	c.urlParams_.Set("alt", alt)
  3671  	c.urlParams_.Set("prettyPrint", "false")
  3672  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps")
  3673  	urls += "?" + c.urlParams_.Encode()
  3674  	req, err := http.NewRequest("POST", urls, body)
  3675  	if err != nil {
  3676  		return nil, err
  3677  	}
  3678  	req.Header = reqHeaders
  3679  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3680  }
  3681  
  3682  // Do executes the "appengine.apps.create" call.
  3683  // Any non-2xx status code is an error. Response headers are in either
  3684  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3685  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3686  // whether the returned error was because http.StatusNotModified was returned.
  3687  func (c *AppsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3688  	gensupport.SetOptions(c.urlParams_, opts...)
  3689  	res, err := c.doRequest("json")
  3690  	if res != nil && res.StatusCode == http.StatusNotModified {
  3691  		if res.Body != nil {
  3692  			res.Body.Close()
  3693  		}
  3694  		return nil, gensupport.WrapError(&googleapi.Error{
  3695  			Code:   res.StatusCode,
  3696  			Header: res.Header,
  3697  		})
  3698  	}
  3699  	if err != nil {
  3700  		return nil, err
  3701  	}
  3702  	defer googleapi.CloseBody(res)
  3703  	if err := googleapi.CheckResponse(res); err != nil {
  3704  		return nil, gensupport.WrapError(err)
  3705  	}
  3706  	ret := &Operation{
  3707  		ServerResponse: googleapi.ServerResponse{
  3708  			Header:         res.Header,
  3709  			HTTPStatusCode: res.StatusCode,
  3710  		},
  3711  	}
  3712  	target := &ret
  3713  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3714  		return nil, err
  3715  	}
  3716  	return ret, nil
  3717  }
  3718  
  3719  type AppsGetCall struct {
  3720  	s            *APIService
  3721  	appsId       string
  3722  	urlParams_   gensupport.URLParams
  3723  	ifNoneMatch_ string
  3724  	ctx_         context.Context
  3725  	header_      http.Header
  3726  }
  3727  
  3728  // Get: Gets information about an application.
  3729  //
  3730  //   - appsId: Part of `name`. Name of the Application resource to get. Example:
  3731  //     apps/myapp.
  3732  func (r *AppsService) Get(appsId string) *AppsGetCall {
  3733  	c := &AppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3734  	c.appsId = appsId
  3735  	return c
  3736  }
  3737  
  3738  // IncludeExtraData sets the optional parameter "includeExtraData": Options to
  3739  // include extra data
  3740  //
  3741  // Possible values:
  3742  //
  3743  //	"INCLUDE_EXTRA_DATA_UNSPECIFIED" - Unspecified: No extra data will be
  3744  //
  3745  // returned
  3746  //
  3747  //	"INCLUDE_EXTRA_DATA_NONE" - Do not return any extra data
  3748  //	"INCLUDE_GOOGLE_GENERATED_METADATA" - Return GGCM associated with the
  3749  //
  3750  // resources
  3751  func (c *AppsGetCall) IncludeExtraData(includeExtraData string) *AppsGetCall {
  3752  	c.urlParams_.Set("includeExtraData", includeExtraData)
  3753  	return c
  3754  }
  3755  
  3756  // Fields allows partial responses to be retrieved. See
  3757  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3758  // details.
  3759  func (c *AppsGetCall) Fields(s ...googleapi.Field) *AppsGetCall {
  3760  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3761  	return c
  3762  }
  3763  
  3764  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3765  // object's ETag matches the given value. This is useful for getting updates
  3766  // only after the object has changed since the last request.
  3767  func (c *AppsGetCall) IfNoneMatch(entityTag string) *AppsGetCall {
  3768  	c.ifNoneMatch_ = entityTag
  3769  	return c
  3770  }
  3771  
  3772  // Context sets the context to be used in this call's Do method.
  3773  func (c *AppsGetCall) Context(ctx context.Context) *AppsGetCall {
  3774  	c.ctx_ = ctx
  3775  	return c
  3776  }
  3777  
  3778  // Header returns a http.Header that can be modified by the caller to add
  3779  // headers to the request.
  3780  func (c *AppsGetCall) Header() http.Header {
  3781  	if c.header_ == nil {
  3782  		c.header_ = make(http.Header)
  3783  	}
  3784  	return c.header_
  3785  }
  3786  
  3787  func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
  3788  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3789  	if c.ifNoneMatch_ != "" {
  3790  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3791  	}
  3792  	var body io.Reader = nil
  3793  	c.urlParams_.Set("alt", alt)
  3794  	c.urlParams_.Set("prettyPrint", "false")
  3795  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}")
  3796  	urls += "?" + c.urlParams_.Encode()
  3797  	req, err := http.NewRequest("GET", urls, body)
  3798  	if err != nil {
  3799  		return nil, err
  3800  	}
  3801  	req.Header = reqHeaders
  3802  	googleapi.Expand(req.URL, map[string]string{
  3803  		"appsId": c.appsId,
  3804  	})
  3805  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3806  }
  3807  
  3808  // Do executes the "appengine.apps.get" call.
  3809  // Any non-2xx status code is an error. Response headers are in either
  3810  // *Application.ServerResponse.Header or (if a response was returned at all) in
  3811  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3812  // whether the returned error was because http.StatusNotModified was returned.
  3813  func (c *AppsGetCall) Do(opts ...googleapi.CallOption) (*Application, error) {
  3814  	gensupport.SetOptions(c.urlParams_, opts...)
  3815  	res, err := c.doRequest("json")
  3816  	if res != nil && res.StatusCode == http.StatusNotModified {
  3817  		if res.Body != nil {
  3818  			res.Body.Close()
  3819  		}
  3820  		return nil, gensupport.WrapError(&googleapi.Error{
  3821  			Code:   res.StatusCode,
  3822  			Header: res.Header,
  3823  		})
  3824  	}
  3825  	if err != nil {
  3826  		return nil, err
  3827  	}
  3828  	defer googleapi.CloseBody(res)
  3829  	if err := googleapi.CheckResponse(res); err != nil {
  3830  		return nil, gensupport.WrapError(err)
  3831  	}
  3832  	ret := &Application{
  3833  		ServerResponse: googleapi.ServerResponse{
  3834  			Header:         res.Header,
  3835  			HTTPStatusCode: res.StatusCode,
  3836  		},
  3837  	}
  3838  	target := &ret
  3839  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3840  		return nil, err
  3841  	}
  3842  	return ret, nil
  3843  }
  3844  
  3845  type AppsListRuntimesCall struct {
  3846  	s            *APIService
  3847  	appsId       string
  3848  	urlParams_   gensupport.URLParams
  3849  	ifNoneMatch_ string
  3850  	ctx_         context.Context
  3851  	header_      http.Header
  3852  }
  3853  
  3854  // ListRuntimes: Lists all the available runtimes for the application.
  3855  //
  3856  //   - appsId: Part of `parent`.  Name of the parent Application resource.
  3857  //     Example: apps/myapp.
  3858  func (r *AppsService) ListRuntimes(appsId string) *AppsListRuntimesCall {
  3859  	c := &AppsListRuntimesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3860  	c.appsId = appsId
  3861  	return c
  3862  }
  3863  
  3864  // Environment sets the optional parameter "environment": The environment of
  3865  // the Application.
  3866  //
  3867  // Possible values:
  3868  //
  3869  //	"ENVIRONMENT_UNSPECIFIED" - Default value.
  3870  //	"STANDARD" - App Engine Standard.
  3871  //	"FLEXIBLE" - App Engine Flexible
  3872  func (c *AppsListRuntimesCall) Environment(environment string) *AppsListRuntimesCall {
  3873  	c.urlParams_.Set("environment", environment)
  3874  	return c
  3875  }
  3876  
  3877  // Fields allows partial responses to be retrieved. See
  3878  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3879  // details.
  3880  func (c *AppsListRuntimesCall) Fields(s ...googleapi.Field) *AppsListRuntimesCall {
  3881  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3882  	return c
  3883  }
  3884  
  3885  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3886  // object's ETag matches the given value. This is useful for getting updates
  3887  // only after the object has changed since the last request.
  3888  func (c *AppsListRuntimesCall) IfNoneMatch(entityTag string) *AppsListRuntimesCall {
  3889  	c.ifNoneMatch_ = entityTag
  3890  	return c
  3891  }
  3892  
  3893  // Context sets the context to be used in this call's Do method.
  3894  func (c *AppsListRuntimesCall) Context(ctx context.Context) *AppsListRuntimesCall {
  3895  	c.ctx_ = ctx
  3896  	return c
  3897  }
  3898  
  3899  // Header returns a http.Header that can be modified by the caller to add
  3900  // headers to the request.
  3901  func (c *AppsListRuntimesCall) Header() http.Header {
  3902  	if c.header_ == nil {
  3903  		c.header_ = make(http.Header)
  3904  	}
  3905  	return c.header_
  3906  }
  3907  
  3908  func (c *AppsListRuntimesCall) doRequest(alt string) (*http.Response, error) {
  3909  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3910  	if c.ifNoneMatch_ != "" {
  3911  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3912  	}
  3913  	var body io.Reader = nil
  3914  	c.urlParams_.Set("alt", alt)
  3915  	c.urlParams_.Set("prettyPrint", "false")
  3916  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}:listRuntimes")
  3917  	urls += "?" + c.urlParams_.Encode()
  3918  	req, err := http.NewRequest("GET", urls, body)
  3919  	if err != nil {
  3920  		return nil, err
  3921  	}
  3922  	req.Header = reqHeaders
  3923  	googleapi.Expand(req.URL, map[string]string{
  3924  		"appsId": c.appsId,
  3925  	})
  3926  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3927  }
  3928  
  3929  // Do executes the "appengine.apps.listRuntimes" call.
  3930  // Any non-2xx status code is an error. Response headers are in either
  3931  // *ListRuntimesResponse.ServerResponse.Header or (if a response was returned
  3932  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3933  // check whether the returned error was because http.StatusNotModified was
  3934  // returned.
  3935  func (c *AppsListRuntimesCall) Do(opts ...googleapi.CallOption) (*ListRuntimesResponse, error) {
  3936  	gensupport.SetOptions(c.urlParams_, opts...)
  3937  	res, err := c.doRequest("json")
  3938  	if res != nil && res.StatusCode == http.StatusNotModified {
  3939  		if res.Body != nil {
  3940  			res.Body.Close()
  3941  		}
  3942  		return nil, gensupport.WrapError(&googleapi.Error{
  3943  			Code:   res.StatusCode,
  3944  			Header: res.Header,
  3945  		})
  3946  	}
  3947  	if err != nil {
  3948  		return nil, err
  3949  	}
  3950  	defer googleapi.CloseBody(res)
  3951  	if err := googleapi.CheckResponse(res); err != nil {
  3952  		return nil, gensupport.WrapError(err)
  3953  	}
  3954  	ret := &ListRuntimesResponse{
  3955  		ServerResponse: googleapi.ServerResponse{
  3956  			Header:         res.Header,
  3957  			HTTPStatusCode: res.StatusCode,
  3958  		},
  3959  	}
  3960  	target := &ret
  3961  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3962  		return nil, err
  3963  	}
  3964  	return ret, nil
  3965  }
  3966  
  3967  type AppsPatchCall struct {
  3968  	s           *APIService
  3969  	appsId      string
  3970  	application *Application
  3971  	urlParams_  gensupport.URLParams
  3972  	ctx_        context.Context
  3973  	header_     http.Header
  3974  }
  3975  
  3976  // Patch: Updates the specified Application resource. You can update the
  3977  // following fields: auth_domain - Google authentication domain for controlling
  3978  // user access to the application. default_cookie_expiration - Cookie
  3979  // expiration policy for the application. iap - Identity-Aware Proxy properties
  3980  // for the application.
  3981  //
  3982  //   - appsId: Part of `name`. Name of the Application resource to update.
  3983  //     Example: apps/myapp.
  3984  func (r *AppsService) Patch(appsId string, application *Application) *AppsPatchCall {
  3985  	c := &AppsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3986  	c.appsId = appsId
  3987  	c.application = application
  3988  	return c
  3989  }
  3990  
  3991  // UpdateMask sets the optional parameter "updateMask": Required. Standard
  3992  // field mask for the set of fields to be updated.
  3993  func (c *AppsPatchCall) UpdateMask(updateMask string) *AppsPatchCall {
  3994  	c.urlParams_.Set("updateMask", updateMask)
  3995  	return c
  3996  }
  3997  
  3998  // Fields allows partial responses to be retrieved. See
  3999  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4000  // details.
  4001  func (c *AppsPatchCall) Fields(s ...googleapi.Field) *AppsPatchCall {
  4002  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4003  	return c
  4004  }
  4005  
  4006  // Context sets the context to be used in this call's Do method.
  4007  func (c *AppsPatchCall) Context(ctx context.Context) *AppsPatchCall {
  4008  	c.ctx_ = ctx
  4009  	return c
  4010  }
  4011  
  4012  // Header returns a http.Header that can be modified by the caller to add
  4013  // headers to the request.
  4014  func (c *AppsPatchCall) Header() http.Header {
  4015  	if c.header_ == nil {
  4016  		c.header_ = make(http.Header)
  4017  	}
  4018  	return c.header_
  4019  }
  4020  
  4021  func (c *AppsPatchCall) doRequest(alt string) (*http.Response, error) {
  4022  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4023  	var body io.Reader = nil
  4024  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.application)
  4025  	if err != nil {
  4026  		return nil, err
  4027  	}
  4028  	c.urlParams_.Set("alt", alt)
  4029  	c.urlParams_.Set("prettyPrint", "false")
  4030  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}")
  4031  	urls += "?" + c.urlParams_.Encode()
  4032  	req, err := http.NewRequest("PATCH", urls, body)
  4033  	if err != nil {
  4034  		return nil, err
  4035  	}
  4036  	req.Header = reqHeaders
  4037  	googleapi.Expand(req.URL, map[string]string{
  4038  		"appsId": c.appsId,
  4039  	})
  4040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4041  }
  4042  
  4043  // Do executes the "appengine.apps.patch" call.
  4044  // Any non-2xx status code is an error. Response headers are in either
  4045  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4046  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4047  // whether the returned error was because http.StatusNotModified was returned.
  4048  func (c *AppsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4049  	gensupport.SetOptions(c.urlParams_, opts...)
  4050  	res, err := c.doRequest("json")
  4051  	if res != nil && res.StatusCode == http.StatusNotModified {
  4052  		if res.Body != nil {
  4053  			res.Body.Close()
  4054  		}
  4055  		return nil, gensupport.WrapError(&googleapi.Error{
  4056  			Code:   res.StatusCode,
  4057  			Header: res.Header,
  4058  		})
  4059  	}
  4060  	if err != nil {
  4061  		return nil, err
  4062  	}
  4063  	defer googleapi.CloseBody(res)
  4064  	if err := googleapi.CheckResponse(res); err != nil {
  4065  		return nil, gensupport.WrapError(err)
  4066  	}
  4067  	ret := &Operation{
  4068  		ServerResponse: googleapi.ServerResponse{
  4069  			Header:         res.Header,
  4070  			HTTPStatusCode: res.StatusCode,
  4071  		},
  4072  	}
  4073  	target := &ret
  4074  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4075  		return nil, err
  4076  	}
  4077  	return ret, nil
  4078  }
  4079  
  4080  type AppsRepairCall struct {
  4081  	s                        *APIService
  4082  	appsId                   string
  4083  	repairapplicationrequest *RepairApplicationRequest
  4084  	urlParams_               gensupport.URLParams
  4085  	ctx_                     context.Context
  4086  	header_                  http.Header
  4087  }
  4088  
  4089  // Repair: Recreates the required App Engine features for the specified App
  4090  // Engine application, for example a Cloud Storage bucket or App Engine service
  4091  // account. Use this method if you receive an error message about a missing
  4092  // feature, for example, Error retrieving the App Engine service account. If
  4093  // you have deleted your App Engine service account, this will not be able to
  4094  // recreate it. Instead, you should attempt to use the IAM undelete API if
  4095  // possible at
  4096  // https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D
  4097  // . If the deletion was recent, the numeric ID can be found in the Cloud
  4098  // Console Activity Log.
  4099  //
  4100  //   - appsId: Part of `name`. Name of the application to repair. Example:
  4101  //     apps/myapp.
  4102  func (r *AppsService) Repair(appsId string, repairapplicationrequest *RepairApplicationRequest) *AppsRepairCall {
  4103  	c := &AppsRepairCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4104  	c.appsId = appsId
  4105  	c.repairapplicationrequest = repairapplicationrequest
  4106  	return c
  4107  }
  4108  
  4109  // Fields allows partial responses to be retrieved. See
  4110  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4111  // details.
  4112  func (c *AppsRepairCall) Fields(s ...googleapi.Field) *AppsRepairCall {
  4113  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4114  	return c
  4115  }
  4116  
  4117  // Context sets the context to be used in this call's Do method.
  4118  func (c *AppsRepairCall) Context(ctx context.Context) *AppsRepairCall {
  4119  	c.ctx_ = ctx
  4120  	return c
  4121  }
  4122  
  4123  // Header returns a http.Header that can be modified by the caller to add
  4124  // headers to the request.
  4125  func (c *AppsRepairCall) Header() http.Header {
  4126  	if c.header_ == nil {
  4127  		c.header_ = make(http.Header)
  4128  	}
  4129  	return c.header_
  4130  }
  4131  
  4132  func (c *AppsRepairCall) doRequest(alt string) (*http.Response, error) {
  4133  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4134  	var body io.Reader = nil
  4135  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.repairapplicationrequest)
  4136  	if err != nil {
  4137  		return nil, err
  4138  	}
  4139  	c.urlParams_.Set("alt", alt)
  4140  	c.urlParams_.Set("prettyPrint", "false")
  4141  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}:repair")
  4142  	urls += "?" + c.urlParams_.Encode()
  4143  	req, err := http.NewRequest("POST", urls, body)
  4144  	if err != nil {
  4145  		return nil, err
  4146  	}
  4147  	req.Header = reqHeaders
  4148  	googleapi.Expand(req.URL, map[string]string{
  4149  		"appsId": c.appsId,
  4150  	})
  4151  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4152  }
  4153  
  4154  // Do executes the "appengine.apps.repair" call.
  4155  // Any non-2xx status code is an error. Response headers are in either
  4156  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4157  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4158  // whether the returned error was because http.StatusNotModified was returned.
  4159  func (c *AppsRepairCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4160  	gensupport.SetOptions(c.urlParams_, opts...)
  4161  	res, err := c.doRequest("json")
  4162  	if res != nil && res.StatusCode == http.StatusNotModified {
  4163  		if res.Body != nil {
  4164  			res.Body.Close()
  4165  		}
  4166  		return nil, gensupport.WrapError(&googleapi.Error{
  4167  			Code:   res.StatusCode,
  4168  			Header: res.Header,
  4169  		})
  4170  	}
  4171  	if err != nil {
  4172  		return nil, err
  4173  	}
  4174  	defer googleapi.CloseBody(res)
  4175  	if err := googleapi.CheckResponse(res); err != nil {
  4176  		return nil, gensupport.WrapError(err)
  4177  	}
  4178  	ret := &Operation{
  4179  		ServerResponse: googleapi.ServerResponse{
  4180  			Header:         res.Header,
  4181  			HTTPStatusCode: res.StatusCode,
  4182  		},
  4183  	}
  4184  	target := &ret
  4185  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4186  		return nil, err
  4187  	}
  4188  	return ret, nil
  4189  }
  4190  
  4191  type AppsAuthorizedCertificatesCreateCall struct {
  4192  	s                     *APIService
  4193  	appsId                string
  4194  	authorizedcertificate *AuthorizedCertificate
  4195  	urlParams_            gensupport.URLParams
  4196  	ctx_                  context.Context
  4197  	header_               http.Header
  4198  }
  4199  
  4200  // Create: Uploads the specified SSL certificate.
  4201  //
  4202  //   - appsId: Part of `parent`. Name of the parent Application resource.
  4203  //     Example: apps/myapp.
  4204  func (r *AppsAuthorizedCertificatesService) Create(appsId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesCreateCall {
  4205  	c := &AppsAuthorizedCertificatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4206  	c.appsId = appsId
  4207  	c.authorizedcertificate = authorizedcertificate
  4208  	return c
  4209  }
  4210  
  4211  // Fields allows partial responses to be retrieved. See
  4212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4213  // details.
  4214  func (c *AppsAuthorizedCertificatesCreateCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesCreateCall {
  4215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4216  	return c
  4217  }
  4218  
  4219  // Context sets the context to be used in this call's Do method.
  4220  func (c *AppsAuthorizedCertificatesCreateCall) Context(ctx context.Context) *AppsAuthorizedCertificatesCreateCall {
  4221  	c.ctx_ = ctx
  4222  	return c
  4223  }
  4224  
  4225  // Header returns a http.Header that can be modified by the caller to add
  4226  // headers to the request.
  4227  func (c *AppsAuthorizedCertificatesCreateCall) Header() http.Header {
  4228  	if c.header_ == nil {
  4229  		c.header_ = make(http.Header)
  4230  	}
  4231  	return c.header_
  4232  }
  4233  
  4234  func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) {
  4235  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4236  	var body io.Reader = nil
  4237  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate)
  4238  	if err != nil {
  4239  		return nil, err
  4240  	}
  4241  	c.urlParams_.Set("alt", alt)
  4242  	c.urlParams_.Set("prettyPrint", "false")
  4243  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates")
  4244  	urls += "?" + c.urlParams_.Encode()
  4245  	req, err := http.NewRequest("POST", urls, body)
  4246  	if err != nil {
  4247  		return nil, err
  4248  	}
  4249  	req.Header = reqHeaders
  4250  	googleapi.Expand(req.URL, map[string]string{
  4251  		"appsId": c.appsId,
  4252  	})
  4253  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4254  }
  4255  
  4256  // Do executes the "appengine.apps.authorizedCertificates.create" call.
  4257  // Any non-2xx status code is an error. Response headers are in either
  4258  // *AuthorizedCertificate.ServerResponse.Header or (if a response was returned
  4259  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4260  // check whether the returned error was because http.StatusNotModified was
  4261  // returned.
  4262  func (c *AppsAuthorizedCertificatesCreateCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
  4263  	gensupport.SetOptions(c.urlParams_, opts...)
  4264  	res, err := c.doRequest("json")
  4265  	if res != nil && res.StatusCode == http.StatusNotModified {
  4266  		if res.Body != nil {
  4267  			res.Body.Close()
  4268  		}
  4269  		return nil, gensupport.WrapError(&googleapi.Error{
  4270  			Code:   res.StatusCode,
  4271  			Header: res.Header,
  4272  		})
  4273  	}
  4274  	if err != nil {
  4275  		return nil, err
  4276  	}
  4277  	defer googleapi.CloseBody(res)
  4278  	if err := googleapi.CheckResponse(res); err != nil {
  4279  		return nil, gensupport.WrapError(err)
  4280  	}
  4281  	ret := &AuthorizedCertificate{
  4282  		ServerResponse: googleapi.ServerResponse{
  4283  			Header:         res.Header,
  4284  			HTTPStatusCode: res.StatusCode,
  4285  		},
  4286  	}
  4287  	target := &ret
  4288  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4289  		return nil, err
  4290  	}
  4291  	return ret, nil
  4292  }
  4293  
  4294  type AppsAuthorizedCertificatesDeleteCall struct {
  4295  	s                        *APIService
  4296  	appsId                   string
  4297  	authorizedCertificatesId string
  4298  	urlParams_               gensupport.URLParams
  4299  	ctx_                     context.Context
  4300  	header_                  http.Header
  4301  }
  4302  
  4303  // Delete: Deletes the specified SSL certificate.
  4304  //
  4305  //   - appsId: Part of `name`. Name of the resource to delete. Example:
  4306  //     apps/myapp/authorizedCertificates/12345.
  4307  //   - authorizedCertificatesId: Part of `name`. See documentation of `appsId`.
  4308  func (r *AppsAuthorizedCertificatesService) Delete(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesDeleteCall {
  4309  	c := &AppsAuthorizedCertificatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4310  	c.appsId = appsId
  4311  	c.authorizedCertificatesId = authorizedCertificatesId
  4312  	return c
  4313  }
  4314  
  4315  // Fields allows partial responses to be retrieved. See
  4316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4317  // details.
  4318  func (c *AppsAuthorizedCertificatesDeleteCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesDeleteCall {
  4319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4320  	return c
  4321  }
  4322  
  4323  // Context sets the context to be used in this call's Do method.
  4324  func (c *AppsAuthorizedCertificatesDeleteCall) Context(ctx context.Context) *AppsAuthorizedCertificatesDeleteCall {
  4325  	c.ctx_ = ctx
  4326  	return c
  4327  }
  4328  
  4329  // Header returns a http.Header that can be modified by the caller to add
  4330  // headers to the request.
  4331  func (c *AppsAuthorizedCertificatesDeleteCall) Header() http.Header {
  4332  	if c.header_ == nil {
  4333  		c.header_ = make(http.Header)
  4334  	}
  4335  	return c.header_
  4336  }
  4337  
  4338  func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
  4339  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4340  	var body io.Reader = nil
  4341  	c.urlParams_.Set("alt", alt)
  4342  	c.urlParams_.Set("prettyPrint", "false")
  4343  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
  4344  	urls += "?" + c.urlParams_.Encode()
  4345  	req, err := http.NewRequest("DELETE", urls, body)
  4346  	if err != nil {
  4347  		return nil, err
  4348  	}
  4349  	req.Header = reqHeaders
  4350  	googleapi.Expand(req.URL, map[string]string{
  4351  		"appsId":                   c.appsId,
  4352  		"authorizedCertificatesId": c.authorizedCertificatesId,
  4353  	})
  4354  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4355  }
  4356  
  4357  // Do executes the "appengine.apps.authorizedCertificates.delete" call.
  4358  // Any non-2xx status code is an error. Response headers are in either
  4359  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  4360  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4361  // whether the returned error was because http.StatusNotModified was returned.
  4362  func (c *AppsAuthorizedCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  4363  	gensupport.SetOptions(c.urlParams_, opts...)
  4364  	res, err := c.doRequest("json")
  4365  	if res != nil && res.StatusCode == http.StatusNotModified {
  4366  		if res.Body != nil {
  4367  			res.Body.Close()
  4368  		}
  4369  		return nil, gensupport.WrapError(&googleapi.Error{
  4370  			Code:   res.StatusCode,
  4371  			Header: res.Header,
  4372  		})
  4373  	}
  4374  	if err != nil {
  4375  		return nil, err
  4376  	}
  4377  	defer googleapi.CloseBody(res)
  4378  	if err := googleapi.CheckResponse(res); err != nil {
  4379  		return nil, gensupport.WrapError(err)
  4380  	}
  4381  	ret := &Empty{
  4382  		ServerResponse: googleapi.ServerResponse{
  4383  			Header:         res.Header,
  4384  			HTTPStatusCode: res.StatusCode,
  4385  		},
  4386  	}
  4387  	target := &ret
  4388  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4389  		return nil, err
  4390  	}
  4391  	return ret, nil
  4392  }
  4393  
  4394  type AppsAuthorizedCertificatesGetCall struct {
  4395  	s                        *APIService
  4396  	appsId                   string
  4397  	authorizedCertificatesId string
  4398  	urlParams_               gensupport.URLParams
  4399  	ifNoneMatch_             string
  4400  	ctx_                     context.Context
  4401  	header_                  http.Header
  4402  }
  4403  
  4404  // Get: Gets the specified SSL certificate.
  4405  //
  4406  //   - appsId: Part of `name`. Name of the resource requested. Example:
  4407  //     apps/myapp/authorizedCertificates/12345.
  4408  //   - authorizedCertificatesId: Part of `name`. See documentation of `appsId`.
  4409  func (r *AppsAuthorizedCertificatesService) Get(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesGetCall {
  4410  	c := &AppsAuthorizedCertificatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4411  	c.appsId = appsId
  4412  	c.authorizedCertificatesId = authorizedCertificatesId
  4413  	return c
  4414  }
  4415  
  4416  // View sets the optional parameter "view": Controls the set of fields returned
  4417  // in the GET response.
  4418  //
  4419  // Possible values:
  4420  //
  4421  //	"BASIC_CERTIFICATE" - Basic certificate information, including applicable
  4422  //
  4423  // domains and expiration date.
  4424  //
  4425  //	"FULL_CERTIFICATE" - The information from BASIC_CERTIFICATE, plus detailed
  4426  //
  4427  // information on the domain mappings that have this certificate mapped.
  4428  func (c *AppsAuthorizedCertificatesGetCall) View(view string) *AppsAuthorizedCertificatesGetCall {
  4429  	c.urlParams_.Set("view", view)
  4430  	return c
  4431  }
  4432  
  4433  // Fields allows partial responses to be retrieved. See
  4434  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4435  // details.
  4436  func (c *AppsAuthorizedCertificatesGetCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesGetCall {
  4437  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4438  	return c
  4439  }
  4440  
  4441  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4442  // object's ETag matches the given value. This is useful for getting updates
  4443  // only after the object has changed since the last request.
  4444  func (c *AppsAuthorizedCertificatesGetCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesGetCall {
  4445  	c.ifNoneMatch_ = entityTag
  4446  	return c
  4447  }
  4448  
  4449  // Context sets the context to be used in this call's Do method.
  4450  func (c *AppsAuthorizedCertificatesGetCall) Context(ctx context.Context) *AppsAuthorizedCertificatesGetCall {
  4451  	c.ctx_ = ctx
  4452  	return c
  4453  }
  4454  
  4455  // Header returns a http.Header that can be modified by the caller to add
  4456  // headers to the request.
  4457  func (c *AppsAuthorizedCertificatesGetCall) Header() http.Header {
  4458  	if c.header_ == nil {
  4459  		c.header_ = make(http.Header)
  4460  	}
  4461  	return c.header_
  4462  }
  4463  
  4464  func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
  4465  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4466  	if c.ifNoneMatch_ != "" {
  4467  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4468  	}
  4469  	var body io.Reader = nil
  4470  	c.urlParams_.Set("alt", alt)
  4471  	c.urlParams_.Set("prettyPrint", "false")
  4472  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
  4473  	urls += "?" + c.urlParams_.Encode()
  4474  	req, err := http.NewRequest("GET", urls, body)
  4475  	if err != nil {
  4476  		return nil, err
  4477  	}
  4478  	req.Header = reqHeaders
  4479  	googleapi.Expand(req.URL, map[string]string{
  4480  		"appsId":                   c.appsId,
  4481  		"authorizedCertificatesId": c.authorizedCertificatesId,
  4482  	})
  4483  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4484  }
  4485  
  4486  // Do executes the "appengine.apps.authorizedCertificates.get" call.
  4487  // Any non-2xx status code is an error. Response headers are in either
  4488  // *AuthorizedCertificate.ServerResponse.Header or (if a response was returned
  4489  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4490  // check whether the returned error was because http.StatusNotModified was
  4491  // returned.
  4492  func (c *AppsAuthorizedCertificatesGetCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
  4493  	gensupport.SetOptions(c.urlParams_, opts...)
  4494  	res, err := c.doRequest("json")
  4495  	if res != nil && res.StatusCode == http.StatusNotModified {
  4496  		if res.Body != nil {
  4497  			res.Body.Close()
  4498  		}
  4499  		return nil, gensupport.WrapError(&googleapi.Error{
  4500  			Code:   res.StatusCode,
  4501  			Header: res.Header,
  4502  		})
  4503  	}
  4504  	if err != nil {
  4505  		return nil, err
  4506  	}
  4507  	defer googleapi.CloseBody(res)
  4508  	if err := googleapi.CheckResponse(res); err != nil {
  4509  		return nil, gensupport.WrapError(err)
  4510  	}
  4511  	ret := &AuthorizedCertificate{
  4512  		ServerResponse: googleapi.ServerResponse{
  4513  			Header:         res.Header,
  4514  			HTTPStatusCode: res.StatusCode,
  4515  		},
  4516  	}
  4517  	target := &ret
  4518  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4519  		return nil, err
  4520  	}
  4521  	return ret, nil
  4522  }
  4523  
  4524  type AppsAuthorizedCertificatesListCall struct {
  4525  	s            *APIService
  4526  	appsId       string
  4527  	urlParams_   gensupport.URLParams
  4528  	ifNoneMatch_ string
  4529  	ctx_         context.Context
  4530  	header_      http.Header
  4531  }
  4532  
  4533  // List: Lists all SSL certificates the user is authorized to administer.
  4534  //
  4535  //   - appsId: Part of `parent`. Name of the parent Application resource.
  4536  //     Example: apps/myapp.
  4537  func (r *AppsAuthorizedCertificatesService) List(appsId string) *AppsAuthorizedCertificatesListCall {
  4538  	c := &AppsAuthorizedCertificatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4539  	c.appsId = appsId
  4540  	return c
  4541  }
  4542  
  4543  // PageSize sets the optional parameter "pageSize": Maximum results to return
  4544  // per page.
  4545  func (c *AppsAuthorizedCertificatesListCall) PageSize(pageSize int64) *AppsAuthorizedCertificatesListCall {
  4546  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4547  	return c
  4548  }
  4549  
  4550  // PageToken sets the optional parameter "pageToken": Continuation token for
  4551  // fetching the next page of results.
  4552  func (c *AppsAuthorizedCertificatesListCall) PageToken(pageToken string) *AppsAuthorizedCertificatesListCall {
  4553  	c.urlParams_.Set("pageToken", pageToken)
  4554  	return c
  4555  }
  4556  
  4557  // View sets the optional parameter "view": Controls the set of fields returned
  4558  // in the LIST response.
  4559  //
  4560  // Possible values:
  4561  //
  4562  //	"BASIC_CERTIFICATE" - Basic certificate information, including applicable
  4563  //
  4564  // domains and expiration date.
  4565  //
  4566  //	"FULL_CERTIFICATE" - The information from BASIC_CERTIFICATE, plus detailed
  4567  //
  4568  // information on the domain mappings that have this certificate mapped.
  4569  func (c *AppsAuthorizedCertificatesListCall) View(view string) *AppsAuthorizedCertificatesListCall {
  4570  	c.urlParams_.Set("view", view)
  4571  	return c
  4572  }
  4573  
  4574  // Fields allows partial responses to be retrieved. See
  4575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4576  // details.
  4577  func (c *AppsAuthorizedCertificatesListCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesListCall {
  4578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4579  	return c
  4580  }
  4581  
  4582  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4583  // object's ETag matches the given value. This is useful for getting updates
  4584  // only after the object has changed since the last request.
  4585  func (c *AppsAuthorizedCertificatesListCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesListCall {
  4586  	c.ifNoneMatch_ = entityTag
  4587  	return c
  4588  }
  4589  
  4590  // Context sets the context to be used in this call's Do method.
  4591  func (c *AppsAuthorizedCertificatesListCall) Context(ctx context.Context) *AppsAuthorizedCertificatesListCall {
  4592  	c.ctx_ = ctx
  4593  	return c
  4594  }
  4595  
  4596  // Header returns a http.Header that can be modified by the caller to add
  4597  // headers to the request.
  4598  func (c *AppsAuthorizedCertificatesListCall) Header() http.Header {
  4599  	if c.header_ == nil {
  4600  		c.header_ = make(http.Header)
  4601  	}
  4602  	return c.header_
  4603  }
  4604  
  4605  func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) {
  4606  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4607  	if c.ifNoneMatch_ != "" {
  4608  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4609  	}
  4610  	var body io.Reader = nil
  4611  	c.urlParams_.Set("alt", alt)
  4612  	c.urlParams_.Set("prettyPrint", "false")
  4613  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates")
  4614  	urls += "?" + c.urlParams_.Encode()
  4615  	req, err := http.NewRequest("GET", urls, body)
  4616  	if err != nil {
  4617  		return nil, err
  4618  	}
  4619  	req.Header = reqHeaders
  4620  	googleapi.Expand(req.URL, map[string]string{
  4621  		"appsId": c.appsId,
  4622  	})
  4623  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4624  }
  4625  
  4626  // Do executes the "appengine.apps.authorizedCertificates.list" call.
  4627  // Any non-2xx status code is an error. Response headers are in either
  4628  // *ListAuthorizedCertificatesResponse.ServerResponse.Header or (if a response
  4629  // was returned at all) in error.(*googleapi.Error).Header. Use
  4630  // googleapi.IsNotModified to check whether the returned error was because
  4631  // http.StatusNotModified was returned.
  4632  func (c *AppsAuthorizedCertificatesListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedCertificatesResponse, error) {
  4633  	gensupport.SetOptions(c.urlParams_, opts...)
  4634  	res, err := c.doRequest("json")
  4635  	if res != nil && res.StatusCode == http.StatusNotModified {
  4636  		if res.Body != nil {
  4637  			res.Body.Close()
  4638  		}
  4639  		return nil, gensupport.WrapError(&googleapi.Error{
  4640  			Code:   res.StatusCode,
  4641  			Header: res.Header,
  4642  		})
  4643  	}
  4644  	if err != nil {
  4645  		return nil, err
  4646  	}
  4647  	defer googleapi.CloseBody(res)
  4648  	if err := googleapi.CheckResponse(res); err != nil {
  4649  		return nil, gensupport.WrapError(err)
  4650  	}
  4651  	ret := &ListAuthorizedCertificatesResponse{
  4652  		ServerResponse: googleapi.ServerResponse{
  4653  			Header:         res.Header,
  4654  			HTTPStatusCode: res.StatusCode,
  4655  		},
  4656  	}
  4657  	target := &ret
  4658  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4659  		return nil, err
  4660  	}
  4661  	return ret, nil
  4662  }
  4663  
  4664  // Pages invokes f for each page of results.
  4665  // A non-nil error returned from f will halt the iteration.
  4666  // The provided context supersedes any context provided to the Context method.
  4667  func (c *AppsAuthorizedCertificatesListCall) Pages(ctx context.Context, f func(*ListAuthorizedCertificatesResponse) error) error {
  4668  	c.ctx_ = ctx
  4669  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4670  	for {
  4671  		x, err := c.Do()
  4672  		if err != nil {
  4673  			return err
  4674  		}
  4675  		if err := f(x); err != nil {
  4676  			return err
  4677  		}
  4678  		if x.NextPageToken == "" {
  4679  			return nil
  4680  		}
  4681  		c.PageToken(x.NextPageToken)
  4682  	}
  4683  }
  4684  
  4685  type AppsAuthorizedCertificatesPatchCall struct {
  4686  	s                        *APIService
  4687  	appsId                   string
  4688  	authorizedCertificatesId string
  4689  	authorizedcertificate    *AuthorizedCertificate
  4690  	urlParams_               gensupport.URLParams
  4691  	ctx_                     context.Context
  4692  	header_                  http.Header
  4693  }
  4694  
  4695  // Patch: Updates the specified SSL certificate. To renew a certificate and
  4696  // maintain its existing domain mappings, update certificate_data with a new
  4697  // certificate. The new certificate must be applicable to the same domains as
  4698  // the original certificate. The certificate display_name may also be updated.
  4699  //
  4700  //   - appsId: Part of `name`. Name of the resource to update. Example:
  4701  //     apps/myapp/authorizedCertificates/12345.
  4702  //   - authorizedCertificatesId: Part of `name`. See documentation of `appsId`.
  4703  func (r *AppsAuthorizedCertificatesService) Patch(appsId string, authorizedCertificatesId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesPatchCall {
  4704  	c := &AppsAuthorizedCertificatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4705  	c.appsId = appsId
  4706  	c.authorizedCertificatesId = authorizedCertificatesId
  4707  	c.authorizedcertificate = authorizedcertificate
  4708  	return c
  4709  }
  4710  
  4711  // UpdateMask sets the optional parameter "updateMask": Standard field mask for
  4712  // the set of fields to be updated. Updates are only supported on the
  4713  // certificate_raw_data and display_name fields.
  4714  func (c *AppsAuthorizedCertificatesPatchCall) UpdateMask(updateMask string) *AppsAuthorizedCertificatesPatchCall {
  4715  	c.urlParams_.Set("updateMask", updateMask)
  4716  	return c
  4717  }
  4718  
  4719  // Fields allows partial responses to be retrieved. See
  4720  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4721  // details.
  4722  func (c *AppsAuthorizedCertificatesPatchCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesPatchCall {
  4723  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4724  	return c
  4725  }
  4726  
  4727  // Context sets the context to be used in this call's Do method.
  4728  func (c *AppsAuthorizedCertificatesPatchCall) Context(ctx context.Context) *AppsAuthorizedCertificatesPatchCall {
  4729  	c.ctx_ = ctx
  4730  	return c
  4731  }
  4732  
  4733  // Header returns a http.Header that can be modified by the caller to add
  4734  // headers to the request.
  4735  func (c *AppsAuthorizedCertificatesPatchCall) Header() http.Header {
  4736  	if c.header_ == nil {
  4737  		c.header_ = make(http.Header)
  4738  	}
  4739  	return c.header_
  4740  }
  4741  
  4742  func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) {
  4743  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4744  	var body io.Reader = nil
  4745  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate)
  4746  	if err != nil {
  4747  		return nil, err
  4748  	}
  4749  	c.urlParams_.Set("alt", alt)
  4750  	c.urlParams_.Set("prettyPrint", "false")
  4751  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
  4752  	urls += "?" + c.urlParams_.Encode()
  4753  	req, err := http.NewRequest("PATCH", urls, body)
  4754  	if err != nil {
  4755  		return nil, err
  4756  	}
  4757  	req.Header = reqHeaders
  4758  	googleapi.Expand(req.URL, map[string]string{
  4759  		"appsId":                   c.appsId,
  4760  		"authorizedCertificatesId": c.authorizedCertificatesId,
  4761  	})
  4762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4763  }
  4764  
  4765  // Do executes the "appengine.apps.authorizedCertificates.patch" call.
  4766  // Any non-2xx status code is an error. Response headers are in either
  4767  // *AuthorizedCertificate.ServerResponse.Header or (if a response was returned
  4768  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4769  // check whether the returned error was because http.StatusNotModified was
  4770  // returned.
  4771  func (c *AppsAuthorizedCertificatesPatchCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
  4772  	gensupport.SetOptions(c.urlParams_, opts...)
  4773  	res, err := c.doRequest("json")
  4774  	if res != nil && res.StatusCode == http.StatusNotModified {
  4775  		if res.Body != nil {
  4776  			res.Body.Close()
  4777  		}
  4778  		return nil, gensupport.WrapError(&googleapi.Error{
  4779  			Code:   res.StatusCode,
  4780  			Header: res.Header,
  4781  		})
  4782  	}
  4783  	if err != nil {
  4784  		return nil, err
  4785  	}
  4786  	defer googleapi.CloseBody(res)
  4787  	if err := googleapi.CheckResponse(res); err != nil {
  4788  		return nil, gensupport.WrapError(err)
  4789  	}
  4790  	ret := &AuthorizedCertificate{
  4791  		ServerResponse: googleapi.ServerResponse{
  4792  			Header:         res.Header,
  4793  			HTTPStatusCode: res.StatusCode,
  4794  		},
  4795  	}
  4796  	target := &ret
  4797  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4798  		return nil, err
  4799  	}
  4800  	return ret, nil
  4801  }
  4802  
  4803  type AppsAuthorizedDomainsListCall struct {
  4804  	s            *APIService
  4805  	appsId       string
  4806  	urlParams_   gensupport.URLParams
  4807  	ifNoneMatch_ string
  4808  	ctx_         context.Context
  4809  	header_      http.Header
  4810  }
  4811  
  4812  // List: Lists all domains the user is authorized to administer.
  4813  //
  4814  //   - appsId: Part of `parent`. Name of the parent Application resource.
  4815  //     Example: apps/myapp.
  4816  func (r *AppsAuthorizedDomainsService) List(appsId string) *AppsAuthorizedDomainsListCall {
  4817  	c := &AppsAuthorizedDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4818  	c.appsId = appsId
  4819  	return c
  4820  }
  4821  
  4822  // PageSize sets the optional parameter "pageSize": Maximum results to return
  4823  // per page.
  4824  func (c *AppsAuthorizedDomainsListCall) PageSize(pageSize int64) *AppsAuthorizedDomainsListCall {
  4825  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4826  	return c
  4827  }
  4828  
  4829  // PageToken sets the optional parameter "pageToken": Continuation token for
  4830  // fetching the next page of results.
  4831  func (c *AppsAuthorizedDomainsListCall) PageToken(pageToken string) *AppsAuthorizedDomainsListCall {
  4832  	c.urlParams_.Set("pageToken", pageToken)
  4833  	return c
  4834  }
  4835  
  4836  // Fields allows partial responses to be retrieved. See
  4837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4838  // details.
  4839  func (c *AppsAuthorizedDomainsListCall) Fields(s ...googleapi.Field) *AppsAuthorizedDomainsListCall {
  4840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4841  	return c
  4842  }
  4843  
  4844  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4845  // object's ETag matches the given value. This is useful for getting updates
  4846  // only after the object has changed since the last request.
  4847  func (c *AppsAuthorizedDomainsListCall) IfNoneMatch(entityTag string) *AppsAuthorizedDomainsListCall {
  4848  	c.ifNoneMatch_ = entityTag
  4849  	return c
  4850  }
  4851  
  4852  // Context sets the context to be used in this call's Do method.
  4853  func (c *AppsAuthorizedDomainsListCall) Context(ctx context.Context) *AppsAuthorizedDomainsListCall {
  4854  	c.ctx_ = ctx
  4855  	return c
  4856  }
  4857  
  4858  // Header returns a http.Header that can be modified by the caller to add
  4859  // headers to the request.
  4860  func (c *AppsAuthorizedDomainsListCall) Header() http.Header {
  4861  	if c.header_ == nil {
  4862  		c.header_ = make(http.Header)
  4863  	}
  4864  	return c.header_
  4865  }
  4866  
  4867  func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
  4868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4869  	if c.ifNoneMatch_ != "" {
  4870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4871  	}
  4872  	var body io.Reader = nil
  4873  	c.urlParams_.Set("alt", alt)
  4874  	c.urlParams_.Set("prettyPrint", "false")
  4875  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedDomains")
  4876  	urls += "?" + c.urlParams_.Encode()
  4877  	req, err := http.NewRequest("GET", urls, body)
  4878  	if err != nil {
  4879  		return nil, err
  4880  	}
  4881  	req.Header = reqHeaders
  4882  	googleapi.Expand(req.URL, map[string]string{
  4883  		"appsId": c.appsId,
  4884  	})
  4885  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4886  }
  4887  
  4888  // Do executes the "appengine.apps.authorizedDomains.list" call.
  4889  // Any non-2xx status code is an error. Response headers are in either
  4890  // *ListAuthorizedDomainsResponse.ServerResponse.Header or (if a response was
  4891  // returned at all) in error.(*googleapi.Error).Header. Use
  4892  // googleapi.IsNotModified to check whether the returned error was because
  4893  // http.StatusNotModified was returned.
  4894  func (c *AppsAuthorizedDomainsListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedDomainsResponse, error) {
  4895  	gensupport.SetOptions(c.urlParams_, opts...)
  4896  	res, err := c.doRequest("json")
  4897  	if res != nil && res.StatusCode == http.StatusNotModified {
  4898  		if res.Body != nil {
  4899  			res.Body.Close()
  4900  		}
  4901  		return nil, gensupport.WrapError(&googleapi.Error{
  4902  			Code:   res.StatusCode,
  4903  			Header: res.Header,
  4904  		})
  4905  	}
  4906  	if err != nil {
  4907  		return nil, err
  4908  	}
  4909  	defer googleapi.CloseBody(res)
  4910  	if err := googleapi.CheckResponse(res); err != nil {
  4911  		return nil, gensupport.WrapError(err)
  4912  	}
  4913  	ret := &ListAuthorizedDomainsResponse{
  4914  		ServerResponse: googleapi.ServerResponse{
  4915  			Header:         res.Header,
  4916  			HTTPStatusCode: res.StatusCode,
  4917  		},
  4918  	}
  4919  	target := &ret
  4920  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4921  		return nil, err
  4922  	}
  4923  	return ret, nil
  4924  }
  4925  
  4926  // Pages invokes f for each page of results.
  4927  // A non-nil error returned from f will halt the iteration.
  4928  // The provided context supersedes any context provided to the Context method.
  4929  func (c *AppsAuthorizedDomainsListCall) Pages(ctx context.Context, f func(*ListAuthorizedDomainsResponse) error) error {
  4930  	c.ctx_ = ctx
  4931  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4932  	for {
  4933  		x, err := c.Do()
  4934  		if err != nil {
  4935  			return err
  4936  		}
  4937  		if err := f(x); err != nil {
  4938  			return err
  4939  		}
  4940  		if x.NextPageToken == "" {
  4941  			return nil
  4942  		}
  4943  		c.PageToken(x.NextPageToken)
  4944  	}
  4945  }
  4946  
  4947  type AppsDomainMappingsCreateCall struct {
  4948  	s             *APIService
  4949  	appsId        string
  4950  	domainmapping *DomainMapping
  4951  	urlParams_    gensupport.URLParams
  4952  	ctx_          context.Context
  4953  	header_       http.Header
  4954  }
  4955  
  4956  // Create: Maps a domain to an application. A user must be authorized to
  4957  // administer a domain in order to map it to an application. For a list of
  4958  // available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
  4959  //
  4960  //   - appsId: Part of `parent`. Name of the parent Application resource.
  4961  //     Example: apps/myapp.
  4962  func (r *AppsDomainMappingsService) Create(appsId string, domainmapping *DomainMapping) *AppsDomainMappingsCreateCall {
  4963  	c := &AppsDomainMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4964  	c.appsId = appsId
  4965  	c.domainmapping = domainmapping
  4966  	return c
  4967  }
  4968  
  4969  // OverrideStrategy sets the optional parameter "overrideStrategy": Whether the
  4970  // domain creation should override any existing mappings for this domain. By
  4971  // default, overrides are rejected.
  4972  //
  4973  // Possible values:
  4974  //
  4975  //	"UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY" - Strategy unspecified. Defaults to
  4976  //
  4977  // STRICT.
  4978  //
  4979  //	"STRICT" - Overrides not allowed. If a mapping already exists for the
  4980  //
  4981  // specified domain, the request will return an ALREADY_EXISTS (409).
  4982  //
  4983  //	"OVERRIDE" - Overrides allowed. If a mapping already exists for the
  4984  //
  4985  // specified domain, the request will overwrite it. Note that this might stop
  4986  // another Google product from serving. For example, if the domain is mapped to
  4987  // another App Engine application, that app will no longer serve from that
  4988  // domain.
  4989  func (c *AppsDomainMappingsCreateCall) OverrideStrategy(overrideStrategy string) *AppsDomainMappingsCreateCall {
  4990  	c.urlParams_.Set("overrideStrategy", overrideStrategy)
  4991  	return c
  4992  }
  4993  
  4994  // Fields allows partial responses to be retrieved. See
  4995  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4996  // details.
  4997  func (c *AppsDomainMappingsCreateCall) Fields(s ...googleapi.Field) *AppsDomainMappingsCreateCall {
  4998  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4999  	return c
  5000  }
  5001  
  5002  // Context sets the context to be used in this call's Do method.
  5003  func (c *AppsDomainMappingsCreateCall) Context(ctx context.Context) *AppsDomainMappingsCreateCall {
  5004  	c.ctx_ = ctx
  5005  	return c
  5006  }
  5007  
  5008  // Header returns a http.Header that can be modified by the caller to add
  5009  // headers to the request.
  5010  func (c *AppsDomainMappingsCreateCall) Header() http.Header {
  5011  	if c.header_ == nil {
  5012  		c.header_ = make(http.Header)
  5013  	}
  5014  	return c.header_
  5015  }
  5016  
  5017  func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
  5018  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5019  	var body io.Reader = nil
  5020  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping)
  5021  	if err != nil {
  5022  		return nil, err
  5023  	}
  5024  	c.urlParams_.Set("alt", alt)
  5025  	c.urlParams_.Set("prettyPrint", "false")
  5026  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings")
  5027  	urls += "?" + c.urlParams_.Encode()
  5028  	req, err := http.NewRequest("POST", urls, body)
  5029  	if err != nil {
  5030  		return nil, err
  5031  	}
  5032  	req.Header = reqHeaders
  5033  	googleapi.Expand(req.URL, map[string]string{
  5034  		"appsId": c.appsId,
  5035  	})
  5036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5037  }
  5038  
  5039  // Do executes the "appengine.apps.domainMappings.create" call.
  5040  // Any non-2xx status code is an error. Response headers are in either
  5041  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5042  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5043  // whether the returned error was because http.StatusNotModified was returned.
  5044  func (c *AppsDomainMappingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5045  	gensupport.SetOptions(c.urlParams_, opts...)
  5046  	res, err := c.doRequest("json")
  5047  	if res != nil && res.StatusCode == http.StatusNotModified {
  5048  		if res.Body != nil {
  5049  			res.Body.Close()
  5050  		}
  5051  		return nil, gensupport.WrapError(&googleapi.Error{
  5052  			Code:   res.StatusCode,
  5053  			Header: res.Header,
  5054  		})
  5055  	}
  5056  	if err != nil {
  5057  		return nil, err
  5058  	}
  5059  	defer googleapi.CloseBody(res)
  5060  	if err := googleapi.CheckResponse(res); err != nil {
  5061  		return nil, gensupport.WrapError(err)
  5062  	}
  5063  	ret := &Operation{
  5064  		ServerResponse: googleapi.ServerResponse{
  5065  			Header:         res.Header,
  5066  			HTTPStatusCode: res.StatusCode,
  5067  		},
  5068  	}
  5069  	target := &ret
  5070  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5071  		return nil, err
  5072  	}
  5073  	return ret, nil
  5074  }
  5075  
  5076  type AppsDomainMappingsDeleteCall struct {
  5077  	s                *APIService
  5078  	appsId           string
  5079  	domainMappingsId string
  5080  	urlParams_       gensupport.URLParams
  5081  	ctx_             context.Context
  5082  	header_          http.Header
  5083  }
  5084  
  5085  // Delete: Deletes the specified domain mapping. A user must be authorized to
  5086  // administer the associated domain in order to delete a DomainMapping
  5087  // resource.
  5088  //
  5089  //   - appsId: Part of `name`. Name of the resource to delete. Example:
  5090  //     apps/myapp/domainMappings/example.com.
  5091  //   - domainMappingsId: Part of `name`. See documentation of `appsId`.
  5092  func (r *AppsDomainMappingsService) Delete(appsId string, domainMappingsId string) *AppsDomainMappingsDeleteCall {
  5093  	c := &AppsDomainMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5094  	c.appsId = appsId
  5095  	c.domainMappingsId = domainMappingsId
  5096  	return c
  5097  }
  5098  
  5099  // Fields allows partial responses to be retrieved. See
  5100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5101  // details.
  5102  func (c *AppsDomainMappingsDeleteCall) Fields(s ...googleapi.Field) *AppsDomainMappingsDeleteCall {
  5103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5104  	return c
  5105  }
  5106  
  5107  // Context sets the context to be used in this call's Do method.
  5108  func (c *AppsDomainMappingsDeleteCall) Context(ctx context.Context) *AppsDomainMappingsDeleteCall {
  5109  	c.ctx_ = ctx
  5110  	return c
  5111  }
  5112  
  5113  // Header returns a http.Header that can be modified by the caller to add
  5114  // headers to the request.
  5115  func (c *AppsDomainMappingsDeleteCall) Header() http.Header {
  5116  	if c.header_ == nil {
  5117  		c.header_ = make(http.Header)
  5118  	}
  5119  	return c.header_
  5120  }
  5121  
  5122  func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5123  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5124  	var body io.Reader = nil
  5125  	c.urlParams_.Set("alt", alt)
  5126  	c.urlParams_.Set("prettyPrint", "false")
  5127  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
  5128  	urls += "?" + c.urlParams_.Encode()
  5129  	req, err := http.NewRequest("DELETE", urls, body)
  5130  	if err != nil {
  5131  		return nil, err
  5132  	}
  5133  	req.Header = reqHeaders
  5134  	googleapi.Expand(req.URL, map[string]string{
  5135  		"appsId":           c.appsId,
  5136  		"domainMappingsId": c.domainMappingsId,
  5137  	})
  5138  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5139  }
  5140  
  5141  // Do executes the "appengine.apps.domainMappings.delete" call.
  5142  // Any non-2xx status code is an error. Response headers are in either
  5143  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5144  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5145  // whether the returned error was because http.StatusNotModified was returned.
  5146  func (c *AppsDomainMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5147  	gensupport.SetOptions(c.urlParams_, opts...)
  5148  	res, err := c.doRequest("json")
  5149  	if res != nil && res.StatusCode == http.StatusNotModified {
  5150  		if res.Body != nil {
  5151  			res.Body.Close()
  5152  		}
  5153  		return nil, gensupport.WrapError(&googleapi.Error{
  5154  			Code:   res.StatusCode,
  5155  			Header: res.Header,
  5156  		})
  5157  	}
  5158  	if err != nil {
  5159  		return nil, err
  5160  	}
  5161  	defer googleapi.CloseBody(res)
  5162  	if err := googleapi.CheckResponse(res); err != nil {
  5163  		return nil, gensupport.WrapError(err)
  5164  	}
  5165  	ret := &Operation{
  5166  		ServerResponse: googleapi.ServerResponse{
  5167  			Header:         res.Header,
  5168  			HTTPStatusCode: res.StatusCode,
  5169  		},
  5170  	}
  5171  	target := &ret
  5172  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5173  		return nil, err
  5174  	}
  5175  	return ret, nil
  5176  }
  5177  
  5178  type AppsDomainMappingsGetCall struct {
  5179  	s                *APIService
  5180  	appsId           string
  5181  	domainMappingsId string
  5182  	urlParams_       gensupport.URLParams
  5183  	ifNoneMatch_     string
  5184  	ctx_             context.Context
  5185  	header_          http.Header
  5186  }
  5187  
  5188  // Get: Gets the specified domain mapping.
  5189  //
  5190  //   - appsId: Part of `name`. Name of the resource requested. Example:
  5191  //     apps/myapp/domainMappings/example.com.
  5192  //   - domainMappingsId: Part of `name`. See documentation of `appsId`.
  5193  func (r *AppsDomainMappingsService) Get(appsId string, domainMappingsId string) *AppsDomainMappingsGetCall {
  5194  	c := &AppsDomainMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5195  	c.appsId = appsId
  5196  	c.domainMappingsId = domainMappingsId
  5197  	return c
  5198  }
  5199  
  5200  // Fields allows partial responses to be retrieved. See
  5201  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5202  // details.
  5203  func (c *AppsDomainMappingsGetCall) Fields(s ...googleapi.Field) *AppsDomainMappingsGetCall {
  5204  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5205  	return c
  5206  }
  5207  
  5208  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5209  // object's ETag matches the given value. This is useful for getting updates
  5210  // only after the object has changed since the last request.
  5211  func (c *AppsDomainMappingsGetCall) IfNoneMatch(entityTag string) *AppsDomainMappingsGetCall {
  5212  	c.ifNoneMatch_ = entityTag
  5213  	return c
  5214  }
  5215  
  5216  // Context sets the context to be used in this call's Do method.
  5217  func (c *AppsDomainMappingsGetCall) Context(ctx context.Context) *AppsDomainMappingsGetCall {
  5218  	c.ctx_ = ctx
  5219  	return c
  5220  }
  5221  
  5222  // Header returns a http.Header that can be modified by the caller to add
  5223  // headers to the request.
  5224  func (c *AppsDomainMappingsGetCall) Header() http.Header {
  5225  	if c.header_ == nil {
  5226  		c.header_ = make(http.Header)
  5227  	}
  5228  	return c.header_
  5229  }
  5230  
  5231  func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) {
  5232  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5233  	if c.ifNoneMatch_ != "" {
  5234  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5235  	}
  5236  	var body io.Reader = nil
  5237  	c.urlParams_.Set("alt", alt)
  5238  	c.urlParams_.Set("prettyPrint", "false")
  5239  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
  5240  	urls += "?" + c.urlParams_.Encode()
  5241  	req, err := http.NewRequest("GET", urls, body)
  5242  	if err != nil {
  5243  		return nil, err
  5244  	}
  5245  	req.Header = reqHeaders
  5246  	googleapi.Expand(req.URL, map[string]string{
  5247  		"appsId":           c.appsId,
  5248  		"domainMappingsId": c.domainMappingsId,
  5249  	})
  5250  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5251  }
  5252  
  5253  // Do executes the "appengine.apps.domainMappings.get" call.
  5254  // Any non-2xx status code is an error. Response headers are in either
  5255  // *DomainMapping.ServerResponse.Header or (if a response was returned at all)
  5256  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5257  // whether the returned error was because http.StatusNotModified was returned.
  5258  func (c *AppsDomainMappingsGetCall) Do(opts ...googleapi.CallOption) (*DomainMapping, error) {
  5259  	gensupport.SetOptions(c.urlParams_, opts...)
  5260  	res, err := c.doRequest("json")
  5261  	if res != nil && res.StatusCode == http.StatusNotModified {
  5262  		if res.Body != nil {
  5263  			res.Body.Close()
  5264  		}
  5265  		return nil, gensupport.WrapError(&googleapi.Error{
  5266  			Code:   res.StatusCode,
  5267  			Header: res.Header,
  5268  		})
  5269  	}
  5270  	if err != nil {
  5271  		return nil, err
  5272  	}
  5273  	defer googleapi.CloseBody(res)
  5274  	if err := googleapi.CheckResponse(res); err != nil {
  5275  		return nil, gensupport.WrapError(err)
  5276  	}
  5277  	ret := &DomainMapping{
  5278  		ServerResponse: googleapi.ServerResponse{
  5279  			Header:         res.Header,
  5280  			HTTPStatusCode: res.StatusCode,
  5281  		},
  5282  	}
  5283  	target := &ret
  5284  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5285  		return nil, err
  5286  	}
  5287  	return ret, nil
  5288  }
  5289  
  5290  type AppsDomainMappingsListCall struct {
  5291  	s            *APIService
  5292  	appsId       string
  5293  	urlParams_   gensupport.URLParams
  5294  	ifNoneMatch_ string
  5295  	ctx_         context.Context
  5296  	header_      http.Header
  5297  }
  5298  
  5299  // List: Lists the domain mappings on an application.
  5300  //
  5301  //   - appsId: Part of `parent`. Name of the parent Application resource.
  5302  //     Example: apps/myapp.
  5303  func (r *AppsDomainMappingsService) List(appsId string) *AppsDomainMappingsListCall {
  5304  	c := &AppsDomainMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5305  	c.appsId = appsId
  5306  	return c
  5307  }
  5308  
  5309  // PageSize sets the optional parameter "pageSize": Maximum results to return
  5310  // per page.
  5311  func (c *AppsDomainMappingsListCall) PageSize(pageSize int64) *AppsDomainMappingsListCall {
  5312  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5313  	return c
  5314  }
  5315  
  5316  // PageToken sets the optional parameter "pageToken": Continuation token for
  5317  // fetching the next page of results.
  5318  func (c *AppsDomainMappingsListCall) PageToken(pageToken string) *AppsDomainMappingsListCall {
  5319  	c.urlParams_.Set("pageToken", pageToken)
  5320  	return c
  5321  }
  5322  
  5323  // Fields allows partial responses to be retrieved. See
  5324  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5325  // details.
  5326  func (c *AppsDomainMappingsListCall) Fields(s ...googleapi.Field) *AppsDomainMappingsListCall {
  5327  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5328  	return c
  5329  }
  5330  
  5331  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5332  // object's ETag matches the given value. This is useful for getting updates
  5333  // only after the object has changed since the last request.
  5334  func (c *AppsDomainMappingsListCall) IfNoneMatch(entityTag string) *AppsDomainMappingsListCall {
  5335  	c.ifNoneMatch_ = entityTag
  5336  	return c
  5337  }
  5338  
  5339  // Context sets the context to be used in this call's Do method.
  5340  func (c *AppsDomainMappingsListCall) Context(ctx context.Context) *AppsDomainMappingsListCall {
  5341  	c.ctx_ = ctx
  5342  	return c
  5343  }
  5344  
  5345  // Header returns a http.Header that can be modified by the caller to add
  5346  // headers to the request.
  5347  func (c *AppsDomainMappingsListCall) Header() http.Header {
  5348  	if c.header_ == nil {
  5349  		c.header_ = make(http.Header)
  5350  	}
  5351  	return c.header_
  5352  }
  5353  
  5354  func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) {
  5355  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5356  	if c.ifNoneMatch_ != "" {
  5357  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5358  	}
  5359  	var body io.Reader = nil
  5360  	c.urlParams_.Set("alt", alt)
  5361  	c.urlParams_.Set("prettyPrint", "false")
  5362  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings")
  5363  	urls += "?" + c.urlParams_.Encode()
  5364  	req, err := http.NewRequest("GET", urls, body)
  5365  	if err != nil {
  5366  		return nil, err
  5367  	}
  5368  	req.Header = reqHeaders
  5369  	googleapi.Expand(req.URL, map[string]string{
  5370  		"appsId": c.appsId,
  5371  	})
  5372  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5373  }
  5374  
  5375  // Do executes the "appengine.apps.domainMappings.list" call.
  5376  // Any non-2xx status code is an error. Response headers are in either
  5377  // *ListDomainMappingsResponse.ServerResponse.Header or (if a response was
  5378  // returned at all) in error.(*googleapi.Error).Header. Use
  5379  // googleapi.IsNotModified to check whether the returned error was because
  5380  // http.StatusNotModified was returned.
  5381  func (c *AppsDomainMappingsListCall) Do(opts ...googleapi.CallOption) (*ListDomainMappingsResponse, error) {
  5382  	gensupport.SetOptions(c.urlParams_, opts...)
  5383  	res, err := c.doRequest("json")
  5384  	if res != nil && res.StatusCode == http.StatusNotModified {
  5385  		if res.Body != nil {
  5386  			res.Body.Close()
  5387  		}
  5388  		return nil, gensupport.WrapError(&googleapi.Error{
  5389  			Code:   res.StatusCode,
  5390  			Header: res.Header,
  5391  		})
  5392  	}
  5393  	if err != nil {
  5394  		return nil, err
  5395  	}
  5396  	defer googleapi.CloseBody(res)
  5397  	if err := googleapi.CheckResponse(res); err != nil {
  5398  		return nil, gensupport.WrapError(err)
  5399  	}
  5400  	ret := &ListDomainMappingsResponse{
  5401  		ServerResponse: googleapi.ServerResponse{
  5402  			Header:         res.Header,
  5403  			HTTPStatusCode: res.StatusCode,
  5404  		},
  5405  	}
  5406  	target := &ret
  5407  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5408  		return nil, err
  5409  	}
  5410  	return ret, nil
  5411  }
  5412  
  5413  // Pages invokes f for each page of results.
  5414  // A non-nil error returned from f will halt the iteration.
  5415  // The provided context supersedes any context provided to the Context method.
  5416  func (c *AppsDomainMappingsListCall) Pages(ctx context.Context, f func(*ListDomainMappingsResponse) error) error {
  5417  	c.ctx_ = ctx
  5418  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5419  	for {
  5420  		x, err := c.Do()
  5421  		if err != nil {
  5422  			return err
  5423  		}
  5424  		if err := f(x); err != nil {
  5425  			return err
  5426  		}
  5427  		if x.NextPageToken == "" {
  5428  			return nil
  5429  		}
  5430  		c.PageToken(x.NextPageToken)
  5431  	}
  5432  }
  5433  
  5434  type AppsDomainMappingsPatchCall struct {
  5435  	s                *APIService
  5436  	appsId           string
  5437  	domainMappingsId string
  5438  	domainmapping    *DomainMapping
  5439  	urlParams_       gensupport.URLParams
  5440  	ctx_             context.Context
  5441  	header_          http.Header
  5442  }
  5443  
  5444  // Patch: Updates the specified domain mapping. To map an SSL certificate to a
  5445  // domain mapping, update certificate_id to point to an AuthorizedCertificate
  5446  // resource. A user must be authorized to administer the associated domain in
  5447  // order to update a DomainMapping resource.
  5448  //
  5449  //   - appsId: Part of `name`. Name of the resource to update. Example:
  5450  //     apps/myapp/domainMappings/example.com.
  5451  //   - domainMappingsId: Part of `name`. See documentation of `appsId`.
  5452  func (r *AppsDomainMappingsService) Patch(appsId string, domainMappingsId string, domainmapping *DomainMapping) *AppsDomainMappingsPatchCall {
  5453  	c := &AppsDomainMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5454  	c.appsId = appsId
  5455  	c.domainMappingsId = domainMappingsId
  5456  	c.domainmapping = domainmapping
  5457  	return c
  5458  }
  5459  
  5460  // UpdateMask sets the optional parameter "updateMask": Required. Standard
  5461  // field mask for the set of fields to be updated.
  5462  func (c *AppsDomainMappingsPatchCall) UpdateMask(updateMask string) *AppsDomainMappingsPatchCall {
  5463  	c.urlParams_.Set("updateMask", updateMask)
  5464  	return c
  5465  }
  5466  
  5467  // Fields allows partial responses to be retrieved. See
  5468  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5469  // details.
  5470  func (c *AppsDomainMappingsPatchCall) Fields(s ...googleapi.Field) *AppsDomainMappingsPatchCall {
  5471  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5472  	return c
  5473  }
  5474  
  5475  // Context sets the context to be used in this call's Do method.
  5476  func (c *AppsDomainMappingsPatchCall) Context(ctx context.Context) *AppsDomainMappingsPatchCall {
  5477  	c.ctx_ = ctx
  5478  	return c
  5479  }
  5480  
  5481  // Header returns a http.Header that can be modified by the caller to add
  5482  // headers to the request.
  5483  func (c *AppsDomainMappingsPatchCall) Header() http.Header {
  5484  	if c.header_ == nil {
  5485  		c.header_ = make(http.Header)
  5486  	}
  5487  	return c.header_
  5488  }
  5489  
  5490  func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
  5491  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5492  	var body io.Reader = nil
  5493  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping)
  5494  	if err != nil {
  5495  		return nil, err
  5496  	}
  5497  	c.urlParams_.Set("alt", alt)
  5498  	c.urlParams_.Set("prettyPrint", "false")
  5499  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
  5500  	urls += "?" + c.urlParams_.Encode()
  5501  	req, err := http.NewRequest("PATCH", urls, body)
  5502  	if err != nil {
  5503  		return nil, err
  5504  	}
  5505  	req.Header = reqHeaders
  5506  	googleapi.Expand(req.URL, map[string]string{
  5507  		"appsId":           c.appsId,
  5508  		"domainMappingsId": c.domainMappingsId,
  5509  	})
  5510  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5511  }
  5512  
  5513  // Do executes the "appengine.apps.domainMappings.patch" call.
  5514  // Any non-2xx status code is an error. Response headers are in either
  5515  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5516  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5517  // whether the returned error was because http.StatusNotModified was returned.
  5518  func (c *AppsDomainMappingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5519  	gensupport.SetOptions(c.urlParams_, opts...)
  5520  	res, err := c.doRequest("json")
  5521  	if res != nil && res.StatusCode == http.StatusNotModified {
  5522  		if res.Body != nil {
  5523  			res.Body.Close()
  5524  		}
  5525  		return nil, gensupport.WrapError(&googleapi.Error{
  5526  			Code:   res.StatusCode,
  5527  			Header: res.Header,
  5528  		})
  5529  	}
  5530  	if err != nil {
  5531  		return nil, err
  5532  	}
  5533  	defer googleapi.CloseBody(res)
  5534  	if err := googleapi.CheckResponse(res); err != nil {
  5535  		return nil, gensupport.WrapError(err)
  5536  	}
  5537  	ret := &Operation{
  5538  		ServerResponse: googleapi.ServerResponse{
  5539  			Header:         res.Header,
  5540  			HTTPStatusCode: res.StatusCode,
  5541  		},
  5542  	}
  5543  	target := &ret
  5544  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5545  		return nil, err
  5546  	}
  5547  	return ret, nil
  5548  }
  5549  
  5550  type AppsFirewallIngressRulesBatchUpdateCall struct {
  5551  	s                              *APIService
  5552  	appsId                         string
  5553  	batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest
  5554  	urlParams_                     gensupport.URLParams
  5555  	ctx_                           context.Context
  5556  	header_                        http.Header
  5557  }
  5558  
  5559  // BatchUpdate: Replaces the entire firewall ruleset in one bulk operation.
  5560  // This overrides and replaces the rules of an existing firewall with the new
  5561  // rules.If the final rule does not match traffic with the '*' wildcard IP
  5562  // range, then an "allow all" rule is explicitly added to the end of the list.
  5563  //
  5564  //   - appsId: Part of `name`. Name of the Firewall collection to set. Example:
  5565  //     apps/myapp/firewall/ingressRules.
  5566  func (r *AppsFirewallIngressRulesService) BatchUpdate(appsId string, batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest) *AppsFirewallIngressRulesBatchUpdateCall {
  5567  	c := &AppsFirewallIngressRulesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5568  	c.appsId = appsId
  5569  	c.batchupdateingressrulesrequest = batchupdateingressrulesrequest
  5570  	return c
  5571  }
  5572  
  5573  // Fields allows partial responses to be retrieved. See
  5574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5575  // details.
  5576  func (c *AppsFirewallIngressRulesBatchUpdateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesBatchUpdateCall {
  5577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5578  	return c
  5579  }
  5580  
  5581  // Context sets the context to be used in this call's Do method.
  5582  func (c *AppsFirewallIngressRulesBatchUpdateCall) Context(ctx context.Context) *AppsFirewallIngressRulesBatchUpdateCall {
  5583  	c.ctx_ = ctx
  5584  	return c
  5585  }
  5586  
  5587  // Header returns a http.Header that can be modified by the caller to add
  5588  // headers to the request.
  5589  func (c *AppsFirewallIngressRulesBatchUpdateCall) Header() http.Header {
  5590  	if c.header_ == nil {
  5591  		c.header_ = make(http.Header)
  5592  	}
  5593  	return c.header_
  5594  }
  5595  
  5596  func (c *AppsFirewallIngressRulesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  5597  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5598  	var body io.Reader = nil
  5599  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdateingressrulesrequest)
  5600  	if err != nil {
  5601  		return nil, err
  5602  	}
  5603  	c.urlParams_.Set("alt", alt)
  5604  	c.urlParams_.Set("prettyPrint", "false")
  5605  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate")
  5606  	urls += "?" + c.urlParams_.Encode()
  5607  	req, err := http.NewRequest("POST", urls, body)
  5608  	if err != nil {
  5609  		return nil, err
  5610  	}
  5611  	req.Header = reqHeaders
  5612  	googleapi.Expand(req.URL, map[string]string{
  5613  		"appsId": c.appsId,
  5614  	})
  5615  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5616  }
  5617  
  5618  // Do executes the "appengine.apps.firewall.ingressRules.batchUpdate" call.
  5619  // Any non-2xx status code is an error. Response headers are in either
  5620  // *BatchUpdateIngressRulesResponse.ServerResponse.Header or (if a response was
  5621  // returned at all) in error.(*googleapi.Error).Header. Use
  5622  // googleapi.IsNotModified to check whether the returned error was because
  5623  // http.StatusNotModified was returned.
  5624  func (c *AppsFirewallIngressRulesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateIngressRulesResponse, error) {
  5625  	gensupport.SetOptions(c.urlParams_, opts...)
  5626  	res, err := c.doRequest("json")
  5627  	if res != nil && res.StatusCode == http.StatusNotModified {
  5628  		if res.Body != nil {
  5629  			res.Body.Close()
  5630  		}
  5631  		return nil, gensupport.WrapError(&googleapi.Error{
  5632  			Code:   res.StatusCode,
  5633  			Header: res.Header,
  5634  		})
  5635  	}
  5636  	if err != nil {
  5637  		return nil, err
  5638  	}
  5639  	defer googleapi.CloseBody(res)
  5640  	if err := googleapi.CheckResponse(res); err != nil {
  5641  		return nil, gensupport.WrapError(err)
  5642  	}
  5643  	ret := &BatchUpdateIngressRulesResponse{
  5644  		ServerResponse: googleapi.ServerResponse{
  5645  			Header:         res.Header,
  5646  			HTTPStatusCode: res.StatusCode,
  5647  		},
  5648  	}
  5649  	target := &ret
  5650  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5651  		return nil, err
  5652  	}
  5653  	return ret, nil
  5654  }
  5655  
  5656  type AppsFirewallIngressRulesCreateCall struct {
  5657  	s            *APIService
  5658  	appsId       string
  5659  	firewallrule *FirewallRule
  5660  	urlParams_   gensupport.URLParams
  5661  	ctx_         context.Context
  5662  	header_      http.Header
  5663  }
  5664  
  5665  // Create: Creates a firewall rule for the application.
  5666  //
  5667  //   - appsId: Part of `parent`. Name of the parent Firewall collection in which
  5668  //     to create a new rule. Example: apps/myapp/firewall/ingressRules.
  5669  func (r *AppsFirewallIngressRulesService) Create(appsId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesCreateCall {
  5670  	c := &AppsFirewallIngressRulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5671  	c.appsId = appsId
  5672  	c.firewallrule = firewallrule
  5673  	return c
  5674  }
  5675  
  5676  // Fields allows partial responses to be retrieved. See
  5677  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5678  // details.
  5679  func (c *AppsFirewallIngressRulesCreateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesCreateCall {
  5680  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5681  	return c
  5682  }
  5683  
  5684  // Context sets the context to be used in this call's Do method.
  5685  func (c *AppsFirewallIngressRulesCreateCall) Context(ctx context.Context) *AppsFirewallIngressRulesCreateCall {
  5686  	c.ctx_ = ctx
  5687  	return c
  5688  }
  5689  
  5690  // Header returns a http.Header that can be modified by the caller to add
  5691  // headers to the request.
  5692  func (c *AppsFirewallIngressRulesCreateCall) Header() http.Header {
  5693  	if c.header_ == nil {
  5694  		c.header_ = make(http.Header)
  5695  	}
  5696  	return c.header_
  5697  }
  5698  
  5699  func (c *AppsFirewallIngressRulesCreateCall) doRequest(alt string) (*http.Response, error) {
  5700  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5701  	var body io.Reader = nil
  5702  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule)
  5703  	if err != nil {
  5704  		return nil, err
  5705  	}
  5706  	c.urlParams_.Set("alt", alt)
  5707  	c.urlParams_.Set("prettyPrint", "false")
  5708  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules")
  5709  	urls += "?" + c.urlParams_.Encode()
  5710  	req, err := http.NewRequest("POST", urls, body)
  5711  	if err != nil {
  5712  		return nil, err
  5713  	}
  5714  	req.Header = reqHeaders
  5715  	googleapi.Expand(req.URL, map[string]string{
  5716  		"appsId": c.appsId,
  5717  	})
  5718  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5719  }
  5720  
  5721  // Do executes the "appengine.apps.firewall.ingressRules.create" call.
  5722  // Any non-2xx status code is an error. Response headers are in either
  5723  // *FirewallRule.ServerResponse.Header or (if a response was returned at all)
  5724  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5725  // whether the returned error was because http.StatusNotModified was returned.
  5726  func (c *AppsFirewallIngressRulesCreateCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
  5727  	gensupport.SetOptions(c.urlParams_, opts...)
  5728  	res, err := c.doRequest("json")
  5729  	if res != nil && res.StatusCode == http.StatusNotModified {
  5730  		if res.Body != nil {
  5731  			res.Body.Close()
  5732  		}
  5733  		return nil, gensupport.WrapError(&googleapi.Error{
  5734  			Code:   res.StatusCode,
  5735  			Header: res.Header,
  5736  		})
  5737  	}
  5738  	if err != nil {
  5739  		return nil, err
  5740  	}
  5741  	defer googleapi.CloseBody(res)
  5742  	if err := googleapi.CheckResponse(res); err != nil {
  5743  		return nil, gensupport.WrapError(err)
  5744  	}
  5745  	ret := &FirewallRule{
  5746  		ServerResponse: googleapi.ServerResponse{
  5747  			Header:         res.Header,
  5748  			HTTPStatusCode: res.StatusCode,
  5749  		},
  5750  	}
  5751  	target := &ret
  5752  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5753  		return nil, err
  5754  	}
  5755  	return ret, nil
  5756  }
  5757  
  5758  type AppsFirewallIngressRulesDeleteCall struct {
  5759  	s              *APIService
  5760  	appsId         string
  5761  	ingressRulesId string
  5762  	urlParams_     gensupport.URLParams
  5763  	ctx_           context.Context
  5764  	header_        http.Header
  5765  }
  5766  
  5767  // Delete: Deletes the specified firewall rule.
  5768  //
  5769  //   - appsId: Part of `name`. Name of the Firewall resource to delete. Example:
  5770  //     apps/myapp/firewall/ingressRules/100.
  5771  //   - ingressRulesId: Part of `name`. See documentation of `appsId`.
  5772  func (r *AppsFirewallIngressRulesService) Delete(appsId string, ingressRulesId string) *AppsFirewallIngressRulesDeleteCall {
  5773  	c := &AppsFirewallIngressRulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5774  	c.appsId = appsId
  5775  	c.ingressRulesId = ingressRulesId
  5776  	return c
  5777  }
  5778  
  5779  // Fields allows partial responses to be retrieved. See
  5780  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5781  // details.
  5782  func (c *AppsFirewallIngressRulesDeleteCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesDeleteCall {
  5783  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5784  	return c
  5785  }
  5786  
  5787  // Context sets the context to be used in this call's Do method.
  5788  func (c *AppsFirewallIngressRulesDeleteCall) Context(ctx context.Context) *AppsFirewallIngressRulesDeleteCall {
  5789  	c.ctx_ = ctx
  5790  	return c
  5791  }
  5792  
  5793  // Header returns a http.Header that can be modified by the caller to add
  5794  // headers to the request.
  5795  func (c *AppsFirewallIngressRulesDeleteCall) Header() http.Header {
  5796  	if c.header_ == nil {
  5797  		c.header_ = make(http.Header)
  5798  	}
  5799  	return c.header_
  5800  }
  5801  
  5802  func (c *AppsFirewallIngressRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
  5803  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5804  	var body io.Reader = nil
  5805  	c.urlParams_.Set("alt", alt)
  5806  	c.urlParams_.Set("prettyPrint", "false")
  5807  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
  5808  	urls += "?" + c.urlParams_.Encode()
  5809  	req, err := http.NewRequest("DELETE", urls, body)
  5810  	if err != nil {
  5811  		return nil, err
  5812  	}
  5813  	req.Header = reqHeaders
  5814  	googleapi.Expand(req.URL, map[string]string{
  5815  		"appsId":         c.appsId,
  5816  		"ingressRulesId": c.ingressRulesId,
  5817  	})
  5818  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5819  }
  5820  
  5821  // Do executes the "appengine.apps.firewall.ingressRules.delete" call.
  5822  // Any non-2xx status code is an error. Response headers are in either
  5823  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  5824  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5825  // whether the returned error was because http.StatusNotModified was returned.
  5826  func (c *AppsFirewallIngressRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  5827  	gensupport.SetOptions(c.urlParams_, opts...)
  5828  	res, err := c.doRequest("json")
  5829  	if res != nil && res.StatusCode == http.StatusNotModified {
  5830  		if res.Body != nil {
  5831  			res.Body.Close()
  5832  		}
  5833  		return nil, gensupport.WrapError(&googleapi.Error{
  5834  			Code:   res.StatusCode,
  5835  			Header: res.Header,
  5836  		})
  5837  	}
  5838  	if err != nil {
  5839  		return nil, err
  5840  	}
  5841  	defer googleapi.CloseBody(res)
  5842  	if err := googleapi.CheckResponse(res); err != nil {
  5843  		return nil, gensupport.WrapError(err)
  5844  	}
  5845  	ret := &Empty{
  5846  		ServerResponse: googleapi.ServerResponse{
  5847  			Header:         res.Header,
  5848  			HTTPStatusCode: res.StatusCode,
  5849  		},
  5850  	}
  5851  	target := &ret
  5852  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5853  		return nil, err
  5854  	}
  5855  	return ret, nil
  5856  }
  5857  
  5858  type AppsFirewallIngressRulesGetCall struct {
  5859  	s              *APIService
  5860  	appsId         string
  5861  	ingressRulesId string
  5862  	urlParams_     gensupport.URLParams
  5863  	ifNoneMatch_   string
  5864  	ctx_           context.Context
  5865  	header_        http.Header
  5866  }
  5867  
  5868  // Get: Gets the specified firewall rule.
  5869  //
  5870  //   - appsId: Part of `name`. Name of the Firewall resource to retrieve.
  5871  //     Example: apps/myapp/firewall/ingressRules/100.
  5872  //   - ingressRulesId: Part of `name`. See documentation of `appsId`.
  5873  func (r *AppsFirewallIngressRulesService) Get(appsId string, ingressRulesId string) *AppsFirewallIngressRulesGetCall {
  5874  	c := &AppsFirewallIngressRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5875  	c.appsId = appsId
  5876  	c.ingressRulesId = ingressRulesId
  5877  	return c
  5878  }
  5879  
  5880  // Fields allows partial responses to be retrieved. See
  5881  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5882  // details.
  5883  func (c *AppsFirewallIngressRulesGetCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesGetCall {
  5884  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5885  	return c
  5886  }
  5887  
  5888  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5889  // object's ETag matches the given value. This is useful for getting updates
  5890  // only after the object has changed since the last request.
  5891  func (c *AppsFirewallIngressRulesGetCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesGetCall {
  5892  	c.ifNoneMatch_ = entityTag
  5893  	return c
  5894  }
  5895  
  5896  // Context sets the context to be used in this call's Do method.
  5897  func (c *AppsFirewallIngressRulesGetCall) Context(ctx context.Context) *AppsFirewallIngressRulesGetCall {
  5898  	c.ctx_ = ctx
  5899  	return c
  5900  }
  5901  
  5902  // Header returns a http.Header that can be modified by the caller to add
  5903  // headers to the request.
  5904  func (c *AppsFirewallIngressRulesGetCall) Header() http.Header {
  5905  	if c.header_ == nil {
  5906  		c.header_ = make(http.Header)
  5907  	}
  5908  	return c.header_
  5909  }
  5910  
  5911  func (c *AppsFirewallIngressRulesGetCall) doRequest(alt string) (*http.Response, error) {
  5912  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5913  	if c.ifNoneMatch_ != "" {
  5914  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5915  	}
  5916  	var body io.Reader = nil
  5917  	c.urlParams_.Set("alt", alt)
  5918  	c.urlParams_.Set("prettyPrint", "false")
  5919  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
  5920  	urls += "?" + c.urlParams_.Encode()
  5921  	req, err := http.NewRequest("GET", urls, body)
  5922  	if err != nil {
  5923  		return nil, err
  5924  	}
  5925  	req.Header = reqHeaders
  5926  	googleapi.Expand(req.URL, map[string]string{
  5927  		"appsId":         c.appsId,
  5928  		"ingressRulesId": c.ingressRulesId,
  5929  	})
  5930  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5931  }
  5932  
  5933  // Do executes the "appengine.apps.firewall.ingressRules.get" call.
  5934  // Any non-2xx status code is an error. Response headers are in either
  5935  // *FirewallRule.ServerResponse.Header or (if a response was returned at all)
  5936  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5937  // whether the returned error was because http.StatusNotModified was returned.
  5938  func (c *AppsFirewallIngressRulesGetCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
  5939  	gensupport.SetOptions(c.urlParams_, opts...)
  5940  	res, err := c.doRequest("json")
  5941  	if res != nil && res.StatusCode == http.StatusNotModified {
  5942  		if res.Body != nil {
  5943  			res.Body.Close()
  5944  		}
  5945  		return nil, gensupport.WrapError(&googleapi.Error{
  5946  			Code:   res.StatusCode,
  5947  			Header: res.Header,
  5948  		})
  5949  	}
  5950  	if err != nil {
  5951  		return nil, err
  5952  	}
  5953  	defer googleapi.CloseBody(res)
  5954  	if err := googleapi.CheckResponse(res); err != nil {
  5955  		return nil, gensupport.WrapError(err)
  5956  	}
  5957  	ret := &FirewallRule{
  5958  		ServerResponse: googleapi.ServerResponse{
  5959  			Header:         res.Header,
  5960  			HTTPStatusCode: res.StatusCode,
  5961  		},
  5962  	}
  5963  	target := &ret
  5964  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5965  		return nil, err
  5966  	}
  5967  	return ret, nil
  5968  }
  5969  
  5970  type AppsFirewallIngressRulesListCall struct {
  5971  	s            *APIService
  5972  	appsId       string
  5973  	urlParams_   gensupport.URLParams
  5974  	ifNoneMatch_ string
  5975  	ctx_         context.Context
  5976  	header_      http.Header
  5977  }
  5978  
  5979  // List: Lists the firewall rules of an application.
  5980  //
  5981  //   - appsId: Part of `parent`. Name of the Firewall collection to retrieve.
  5982  //     Example: apps/myapp/firewall/ingressRules.
  5983  func (r *AppsFirewallIngressRulesService) List(appsId string) *AppsFirewallIngressRulesListCall {
  5984  	c := &AppsFirewallIngressRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5985  	c.appsId = appsId
  5986  	return c
  5987  }
  5988  
  5989  // MatchingAddress sets the optional parameter "matchingAddress": A valid IP
  5990  // Address. If set, only rules matching this address will be returned. The
  5991  // first returned rule will be the rule that fires on requests from this IP.
  5992  func (c *AppsFirewallIngressRulesListCall) MatchingAddress(matchingAddress string) *AppsFirewallIngressRulesListCall {
  5993  	c.urlParams_.Set("matchingAddress", matchingAddress)
  5994  	return c
  5995  }
  5996  
  5997  // PageSize sets the optional parameter "pageSize": Maximum results to return
  5998  // per page.
  5999  func (c *AppsFirewallIngressRulesListCall) PageSize(pageSize int64) *AppsFirewallIngressRulesListCall {
  6000  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6001  	return c
  6002  }
  6003  
  6004  // PageToken sets the optional parameter "pageToken": Continuation token for
  6005  // fetching the next page of results.
  6006  func (c *AppsFirewallIngressRulesListCall) PageToken(pageToken string) *AppsFirewallIngressRulesListCall {
  6007  	c.urlParams_.Set("pageToken", pageToken)
  6008  	return c
  6009  }
  6010  
  6011  // Fields allows partial responses to be retrieved. See
  6012  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6013  // details.
  6014  func (c *AppsFirewallIngressRulesListCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesListCall {
  6015  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6016  	return c
  6017  }
  6018  
  6019  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6020  // object's ETag matches the given value. This is useful for getting updates
  6021  // only after the object has changed since the last request.
  6022  func (c *AppsFirewallIngressRulesListCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesListCall {
  6023  	c.ifNoneMatch_ = entityTag
  6024  	return c
  6025  }
  6026  
  6027  // Context sets the context to be used in this call's Do method.
  6028  func (c *AppsFirewallIngressRulesListCall) Context(ctx context.Context) *AppsFirewallIngressRulesListCall {
  6029  	c.ctx_ = ctx
  6030  	return c
  6031  }
  6032  
  6033  // Header returns a http.Header that can be modified by the caller to add
  6034  // headers to the request.
  6035  func (c *AppsFirewallIngressRulesListCall) Header() http.Header {
  6036  	if c.header_ == nil {
  6037  		c.header_ = make(http.Header)
  6038  	}
  6039  	return c.header_
  6040  }
  6041  
  6042  func (c *AppsFirewallIngressRulesListCall) doRequest(alt string) (*http.Response, error) {
  6043  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6044  	if c.ifNoneMatch_ != "" {
  6045  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6046  	}
  6047  	var body io.Reader = nil
  6048  	c.urlParams_.Set("alt", alt)
  6049  	c.urlParams_.Set("prettyPrint", "false")
  6050  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules")
  6051  	urls += "?" + c.urlParams_.Encode()
  6052  	req, err := http.NewRequest("GET", urls, body)
  6053  	if err != nil {
  6054  		return nil, err
  6055  	}
  6056  	req.Header = reqHeaders
  6057  	googleapi.Expand(req.URL, map[string]string{
  6058  		"appsId": c.appsId,
  6059  	})
  6060  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6061  }
  6062  
  6063  // Do executes the "appengine.apps.firewall.ingressRules.list" call.
  6064  // Any non-2xx status code is an error. Response headers are in either
  6065  // *ListIngressRulesResponse.ServerResponse.Header or (if a response was
  6066  // returned at all) in error.(*googleapi.Error).Header. Use
  6067  // googleapi.IsNotModified to check whether the returned error was because
  6068  // http.StatusNotModified was returned.
  6069  func (c *AppsFirewallIngressRulesListCall) Do(opts ...googleapi.CallOption) (*ListIngressRulesResponse, error) {
  6070  	gensupport.SetOptions(c.urlParams_, opts...)
  6071  	res, err := c.doRequest("json")
  6072  	if res != nil && res.StatusCode == http.StatusNotModified {
  6073  		if res.Body != nil {
  6074  			res.Body.Close()
  6075  		}
  6076  		return nil, gensupport.WrapError(&googleapi.Error{
  6077  			Code:   res.StatusCode,
  6078  			Header: res.Header,
  6079  		})
  6080  	}
  6081  	if err != nil {
  6082  		return nil, err
  6083  	}
  6084  	defer googleapi.CloseBody(res)
  6085  	if err := googleapi.CheckResponse(res); err != nil {
  6086  		return nil, gensupport.WrapError(err)
  6087  	}
  6088  	ret := &ListIngressRulesResponse{
  6089  		ServerResponse: googleapi.ServerResponse{
  6090  			Header:         res.Header,
  6091  			HTTPStatusCode: res.StatusCode,
  6092  		},
  6093  	}
  6094  	target := &ret
  6095  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6096  		return nil, err
  6097  	}
  6098  	return ret, nil
  6099  }
  6100  
  6101  // Pages invokes f for each page of results.
  6102  // A non-nil error returned from f will halt the iteration.
  6103  // The provided context supersedes any context provided to the Context method.
  6104  func (c *AppsFirewallIngressRulesListCall) Pages(ctx context.Context, f func(*ListIngressRulesResponse) error) error {
  6105  	c.ctx_ = ctx
  6106  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6107  	for {
  6108  		x, err := c.Do()
  6109  		if err != nil {
  6110  			return err
  6111  		}
  6112  		if err := f(x); err != nil {
  6113  			return err
  6114  		}
  6115  		if x.NextPageToken == "" {
  6116  			return nil
  6117  		}
  6118  		c.PageToken(x.NextPageToken)
  6119  	}
  6120  }
  6121  
  6122  type AppsFirewallIngressRulesPatchCall struct {
  6123  	s              *APIService
  6124  	appsId         string
  6125  	ingressRulesId string
  6126  	firewallrule   *FirewallRule
  6127  	urlParams_     gensupport.URLParams
  6128  	ctx_           context.Context
  6129  	header_        http.Header
  6130  }
  6131  
  6132  // Patch: Updates the specified firewall rule.
  6133  //
  6134  //   - appsId: Part of `name`. Name of the Firewall resource to update. Example:
  6135  //     apps/myapp/firewall/ingressRules/100.
  6136  //   - ingressRulesId: Part of `name`. See documentation of `appsId`.
  6137  func (r *AppsFirewallIngressRulesService) Patch(appsId string, ingressRulesId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesPatchCall {
  6138  	c := &AppsFirewallIngressRulesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6139  	c.appsId = appsId
  6140  	c.ingressRulesId = ingressRulesId
  6141  	c.firewallrule = firewallrule
  6142  	return c
  6143  }
  6144  
  6145  // UpdateMask sets the optional parameter "updateMask": Standard field mask for
  6146  // the set of fields to be updated.
  6147  func (c *AppsFirewallIngressRulesPatchCall) UpdateMask(updateMask string) *AppsFirewallIngressRulesPatchCall {
  6148  	c.urlParams_.Set("updateMask", updateMask)
  6149  	return c
  6150  }
  6151  
  6152  // Fields allows partial responses to be retrieved. See
  6153  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6154  // details.
  6155  func (c *AppsFirewallIngressRulesPatchCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesPatchCall {
  6156  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6157  	return c
  6158  }
  6159  
  6160  // Context sets the context to be used in this call's Do method.
  6161  func (c *AppsFirewallIngressRulesPatchCall) Context(ctx context.Context) *AppsFirewallIngressRulesPatchCall {
  6162  	c.ctx_ = ctx
  6163  	return c
  6164  }
  6165  
  6166  // Header returns a http.Header that can be modified by the caller to add
  6167  // headers to the request.
  6168  func (c *AppsFirewallIngressRulesPatchCall) Header() http.Header {
  6169  	if c.header_ == nil {
  6170  		c.header_ = make(http.Header)
  6171  	}
  6172  	return c.header_
  6173  }
  6174  
  6175  func (c *AppsFirewallIngressRulesPatchCall) doRequest(alt string) (*http.Response, error) {
  6176  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6177  	var body io.Reader = nil
  6178  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule)
  6179  	if err != nil {
  6180  		return nil, err
  6181  	}
  6182  	c.urlParams_.Set("alt", alt)
  6183  	c.urlParams_.Set("prettyPrint", "false")
  6184  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
  6185  	urls += "?" + c.urlParams_.Encode()
  6186  	req, err := http.NewRequest("PATCH", urls, body)
  6187  	if err != nil {
  6188  		return nil, err
  6189  	}
  6190  	req.Header = reqHeaders
  6191  	googleapi.Expand(req.URL, map[string]string{
  6192  		"appsId":         c.appsId,
  6193  		"ingressRulesId": c.ingressRulesId,
  6194  	})
  6195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6196  }
  6197  
  6198  // Do executes the "appengine.apps.firewall.ingressRules.patch" call.
  6199  // Any non-2xx status code is an error. Response headers are in either
  6200  // *FirewallRule.ServerResponse.Header or (if a response was returned at all)
  6201  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6202  // whether the returned error was because http.StatusNotModified was returned.
  6203  func (c *AppsFirewallIngressRulesPatchCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
  6204  	gensupport.SetOptions(c.urlParams_, opts...)
  6205  	res, err := c.doRequest("json")
  6206  	if res != nil && res.StatusCode == http.StatusNotModified {
  6207  		if res.Body != nil {
  6208  			res.Body.Close()
  6209  		}
  6210  		return nil, gensupport.WrapError(&googleapi.Error{
  6211  			Code:   res.StatusCode,
  6212  			Header: res.Header,
  6213  		})
  6214  	}
  6215  	if err != nil {
  6216  		return nil, err
  6217  	}
  6218  	defer googleapi.CloseBody(res)
  6219  	if err := googleapi.CheckResponse(res); err != nil {
  6220  		return nil, gensupport.WrapError(err)
  6221  	}
  6222  	ret := &FirewallRule{
  6223  		ServerResponse: googleapi.ServerResponse{
  6224  			Header:         res.Header,
  6225  			HTTPStatusCode: res.StatusCode,
  6226  		},
  6227  	}
  6228  	target := &ret
  6229  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6230  		return nil, err
  6231  	}
  6232  	return ret, nil
  6233  }
  6234  
  6235  type AppsLocationsGetCall struct {
  6236  	s            *APIService
  6237  	appsId       string
  6238  	locationsId  string
  6239  	urlParams_   gensupport.URLParams
  6240  	ifNoneMatch_ string
  6241  	ctx_         context.Context
  6242  	header_      http.Header
  6243  }
  6244  
  6245  // Get: Gets information about a location.
  6246  //
  6247  // - appsId: Part of `name`. Resource name for the location.
  6248  // - locationsId: Part of `name`. See documentation of `appsId`.
  6249  func (r *AppsLocationsService) Get(appsId string, locationsId string) *AppsLocationsGetCall {
  6250  	c := &AppsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6251  	c.appsId = appsId
  6252  	c.locationsId = locationsId
  6253  	return c
  6254  }
  6255  
  6256  // Fields allows partial responses to be retrieved. See
  6257  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6258  // details.
  6259  func (c *AppsLocationsGetCall) Fields(s ...googleapi.Field) *AppsLocationsGetCall {
  6260  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6261  	return c
  6262  }
  6263  
  6264  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6265  // object's ETag matches the given value. This is useful for getting updates
  6266  // only after the object has changed since the last request.
  6267  func (c *AppsLocationsGetCall) IfNoneMatch(entityTag string) *AppsLocationsGetCall {
  6268  	c.ifNoneMatch_ = entityTag
  6269  	return c
  6270  }
  6271  
  6272  // Context sets the context to be used in this call's Do method.
  6273  func (c *AppsLocationsGetCall) Context(ctx context.Context) *AppsLocationsGetCall {
  6274  	c.ctx_ = ctx
  6275  	return c
  6276  }
  6277  
  6278  // Header returns a http.Header that can be modified by the caller to add
  6279  // headers to the request.
  6280  func (c *AppsLocationsGetCall) Header() http.Header {
  6281  	if c.header_ == nil {
  6282  		c.header_ = make(http.Header)
  6283  	}
  6284  	return c.header_
  6285  }
  6286  
  6287  func (c *AppsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  6288  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6289  	if c.ifNoneMatch_ != "" {
  6290  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6291  	}
  6292  	var body io.Reader = nil
  6293  	c.urlParams_.Set("alt", alt)
  6294  	c.urlParams_.Set("prettyPrint", "false")
  6295  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/locations/{locationsId}")
  6296  	urls += "?" + c.urlParams_.Encode()
  6297  	req, err := http.NewRequest("GET", urls, body)
  6298  	if err != nil {
  6299  		return nil, err
  6300  	}
  6301  	req.Header = reqHeaders
  6302  	googleapi.Expand(req.URL, map[string]string{
  6303  		"appsId":      c.appsId,
  6304  		"locationsId": c.locationsId,
  6305  	})
  6306  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6307  }
  6308  
  6309  // Do executes the "appengine.apps.locations.get" call.
  6310  // Any non-2xx status code is an error. Response headers are in either
  6311  // *Location.ServerResponse.Header or (if a response was returned at all) in
  6312  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6313  // whether the returned error was because http.StatusNotModified was returned.
  6314  func (c *AppsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  6315  	gensupport.SetOptions(c.urlParams_, opts...)
  6316  	res, err := c.doRequest("json")
  6317  	if res != nil && res.StatusCode == http.StatusNotModified {
  6318  		if res.Body != nil {
  6319  			res.Body.Close()
  6320  		}
  6321  		return nil, gensupport.WrapError(&googleapi.Error{
  6322  			Code:   res.StatusCode,
  6323  			Header: res.Header,
  6324  		})
  6325  	}
  6326  	if err != nil {
  6327  		return nil, err
  6328  	}
  6329  	defer googleapi.CloseBody(res)
  6330  	if err := googleapi.CheckResponse(res); err != nil {
  6331  		return nil, gensupport.WrapError(err)
  6332  	}
  6333  	ret := &Location{
  6334  		ServerResponse: googleapi.ServerResponse{
  6335  			Header:         res.Header,
  6336  			HTTPStatusCode: res.StatusCode,
  6337  		},
  6338  	}
  6339  	target := &ret
  6340  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6341  		return nil, err
  6342  	}
  6343  	return ret, nil
  6344  }
  6345  
  6346  type AppsLocationsListCall struct {
  6347  	s            *APIService
  6348  	appsId       string
  6349  	urlParams_   gensupport.URLParams
  6350  	ifNoneMatch_ string
  6351  	ctx_         context.Context
  6352  	header_      http.Header
  6353  }
  6354  
  6355  // List: Lists information about the supported locations for this service.
  6356  //
  6357  //   - appsId: Part of `name`. The resource that owns the locations collection,
  6358  //     if applicable.
  6359  func (r *AppsLocationsService) List(appsId string) *AppsLocationsListCall {
  6360  	c := &AppsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6361  	c.appsId = appsId
  6362  	return c
  6363  }
  6364  
  6365  // Filter sets the optional parameter "filter": A filter to narrow down results
  6366  // to a preferred subset. The filtering language accepts strings like
  6367  // "displayName=tokyo", and is documented in more detail in AIP-160
  6368  // (https://google.aip.dev/160).
  6369  func (c *AppsLocationsListCall) Filter(filter string) *AppsLocationsListCall {
  6370  	c.urlParams_.Set("filter", filter)
  6371  	return c
  6372  }
  6373  
  6374  // PageSize sets the optional parameter "pageSize": The maximum number of
  6375  // results to return. If not set, the service selects a default.
  6376  func (c *AppsLocationsListCall) PageSize(pageSize int64) *AppsLocationsListCall {
  6377  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6378  	return c
  6379  }
  6380  
  6381  // PageToken sets the optional parameter "pageToken": A page token received
  6382  // from the next_page_token field in the response. Send that page token to
  6383  // receive the subsequent page.
  6384  func (c *AppsLocationsListCall) PageToken(pageToken string) *AppsLocationsListCall {
  6385  	c.urlParams_.Set("pageToken", pageToken)
  6386  	return c
  6387  }
  6388  
  6389  // Fields allows partial responses to be retrieved. See
  6390  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6391  // details.
  6392  func (c *AppsLocationsListCall) Fields(s ...googleapi.Field) *AppsLocationsListCall {
  6393  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6394  	return c
  6395  }
  6396  
  6397  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6398  // object's ETag matches the given value. This is useful for getting updates
  6399  // only after the object has changed since the last request.
  6400  func (c *AppsLocationsListCall) IfNoneMatch(entityTag string) *AppsLocationsListCall {
  6401  	c.ifNoneMatch_ = entityTag
  6402  	return c
  6403  }
  6404  
  6405  // Context sets the context to be used in this call's Do method.
  6406  func (c *AppsLocationsListCall) Context(ctx context.Context) *AppsLocationsListCall {
  6407  	c.ctx_ = ctx
  6408  	return c
  6409  }
  6410  
  6411  // Header returns a http.Header that can be modified by the caller to add
  6412  // headers to the request.
  6413  func (c *AppsLocationsListCall) Header() http.Header {
  6414  	if c.header_ == nil {
  6415  		c.header_ = make(http.Header)
  6416  	}
  6417  	return c.header_
  6418  }
  6419  
  6420  func (c *AppsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  6421  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6422  	if c.ifNoneMatch_ != "" {
  6423  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6424  	}
  6425  	var body io.Reader = nil
  6426  	c.urlParams_.Set("alt", alt)
  6427  	c.urlParams_.Set("prettyPrint", "false")
  6428  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/locations")
  6429  	urls += "?" + c.urlParams_.Encode()
  6430  	req, err := http.NewRequest("GET", urls, body)
  6431  	if err != nil {
  6432  		return nil, err
  6433  	}
  6434  	req.Header = reqHeaders
  6435  	googleapi.Expand(req.URL, map[string]string{
  6436  		"appsId": c.appsId,
  6437  	})
  6438  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6439  }
  6440  
  6441  // Do executes the "appengine.apps.locations.list" call.
  6442  // Any non-2xx status code is an error. Response headers are in either
  6443  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  6444  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6445  // check whether the returned error was because http.StatusNotModified was
  6446  // returned.
  6447  func (c *AppsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  6448  	gensupport.SetOptions(c.urlParams_, opts...)
  6449  	res, err := c.doRequest("json")
  6450  	if res != nil && res.StatusCode == http.StatusNotModified {
  6451  		if res.Body != nil {
  6452  			res.Body.Close()
  6453  		}
  6454  		return nil, gensupport.WrapError(&googleapi.Error{
  6455  			Code:   res.StatusCode,
  6456  			Header: res.Header,
  6457  		})
  6458  	}
  6459  	if err != nil {
  6460  		return nil, err
  6461  	}
  6462  	defer googleapi.CloseBody(res)
  6463  	if err := googleapi.CheckResponse(res); err != nil {
  6464  		return nil, gensupport.WrapError(err)
  6465  	}
  6466  	ret := &ListLocationsResponse{
  6467  		ServerResponse: googleapi.ServerResponse{
  6468  			Header:         res.Header,
  6469  			HTTPStatusCode: res.StatusCode,
  6470  		},
  6471  	}
  6472  	target := &ret
  6473  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6474  		return nil, err
  6475  	}
  6476  	return ret, nil
  6477  }
  6478  
  6479  // Pages invokes f for each page of results.
  6480  // A non-nil error returned from f will halt the iteration.
  6481  // The provided context supersedes any context provided to the Context method.
  6482  func (c *AppsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  6483  	c.ctx_ = ctx
  6484  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6485  	for {
  6486  		x, err := c.Do()
  6487  		if err != nil {
  6488  			return err
  6489  		}
  6490  		if err := f(x); err != nil {
  6491  			return err
  6492  		}
  6493  		if x.NextPageToken == "" {
  6494  			return nil
  6495  		}
  6496  		c.PageToken(x.NextPageToken)
  6497  	}
  6498  }
  6499  
  6500  type AppsOperationsGetCall struct {
  6501  	s            *APIService
  6502  	appsId       string
  6503  	operationsId string
  6504  	urlParams_   gensupport.URLParams
  6505  	ifNoneMatch_ string
  6506  	ctx_         context.Context
  6507  	header_      http.Header
  6508  }
  6509  
  6510  // Get: Gets the latest state of a long-running operation. Clients can use this
  6511  // method to poll the operation result at intervals as recommended by the API
  6512  // service.
  6513  //
  6514  // - appsId: Part of `name`. The name of the operation resource.
  6515  // - operationsId: Part of `name`. See documentation of `appsId`.
  6516  func (r *AppsOperationsService) Get(appsId string, operationsId string) *AppsOperationsGetCall {
  6517  	c := &AppsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6518  	c.appsId = appsId
  6519  	c.operationsId = operationsId
  6520  	return c
  6521  }
  6522  
  6523  // Fields allows partial responses to be retrieved. See
  6524  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6525  // details.
  6526  func (c *AppsOperationsGetCall) Fields(s ...googleapi.Field) *AppsOperationsGetCall {
  6527  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6528  	return c
  6529  }
  6530  
  6531  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6532  // object's ETag matches the given value. This is useful for getting updates
  6533  // only after the object has changed since the last request.
  6534  func (c *AppsOperationsGetCall) IfNoneMatch(entityTag string) *AppsOperationsGetCall {
  6535  	c.ifNoneMatch_ = entityTag
  6536  	return c
  6537  }
  6538  
  6539  // Context sets the context to be used in this call's Do method.
  6540  func (c *AppsOperationsGetCall) Context(ctx context.Context) *AppsOperationsGetCall {
  6541  	c.ctx_ = ctx
  6542  	return c
  6543  }
  6544  
  6545  // Header returns a http.Header that can be modified by the caller to add
  6546  // headers to the request.
  6547  func (c *AppsOperationsGetCall) Header() http.Header {
  6548  	if c.header_ == nil {
  6549  		c.header_ = make(http.Header)
  6550  	}
  6551  	return c.header_
  6552  }
  6553  
  6554  func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  6555  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6556  	if c.ifNoneMatch_ != "" {
  6557  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6558  	}
  6559  	var body io.Reader = nil
  6560  	c.urlParams_.Set("alt", alt)
  6561  	c.urlParams_.Set("prettyPrint", "false")
  6562  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/operations/{operationsId}")
  6563  	urls += "?" + c.urlParams_.Encode()
  6564  	req, err := http.NewRequest("GET", urls, body)
  6565  	if err != nil {
  6566  		return nil, err
  6567  	}
  6568  	req.Header = reqHeaders
  6569  	googleapi.Expand(req.URL, map[string]string{
  6570  		"appsId":       c.appsId,
  6571  		"operationsId": c.operationsId,
  6572  	})
  6573  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6574  }
  6575  
  6576  // Do executes the "appengine.apps.operations.get" call.
  6577  // Any non-2xx status code is an error. Response headers are in either
  6578  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6579  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6580  // whether the returned error was because http.StatusNotModified was returned.
  6581  func (c *AppsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6582  	gensupport.SetOptions(c.urlParams_, opts...)
  6583  	res, err := c.doRequest("json")
  6584  	if res != nil && res.StatusCode == http.StatusNotModified {
  6585  		if res.Body != nil {
  6586  			res.Body.Close()
  6587  		}
  6588  		return nil, gensupport.WrapError(&googleapi.Error{
  6589  			Code:   res.StatusCode,
  6590  			Header: res.Header,
  6591  		})
  6592  	}
  6593  	if err != nil {
  6594  		return nil, err
  6595  	}
  6596  	defer googleapi.CloseBody(res)
  6597  	if err := googleapi.CheckResponse(res); err != nil {
  6598  		return nil, gensupport.WrapError(err)
  6599  	}
  6600  	ret := &Operation{
  6601  		ServerResponse: googleapi.ServerResponse{
  6602  			Header:         res.Header,
  6603  			HTTPStatusCode: res.StatusCode,
  6604  		},
  6605  	}
  6606  	target := &ret
  6607  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6608  		return nil, err
  6609  	}
  6610  	return ret, nil
  6611  }
  6612  
  6613  type AppsOperationsListCall struct {
  6614  	s            *APIService
  6615  	appsId       string
  6616  	urlParams_   gensupport.URLParams
  6617  	ifNoneMatch_ string
  6618  	ctx_         context.Context
  6619  	header_      http.Header
  6620  }
  6621  
  6622  // List: Lists operations that match the specified filter in the request. If
  6623  // the server doesn't support this method, it returns UNIMPLEMENTED.
  6624  //
  6625  // - appsId: Part of `name`. The name of the operation's parent resource.
  6626  func (r *AppsOperationsService) List(appsId string) *AppsOperationsListCall {
  6627  	c := &AppsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6628  	c.appsId = appsId
  6629  	return c
  6630  }
  6631  
  6632  // Filter sets the optional parameter "filter": The standard list filter.
  6633  func (c *AppsOperationsListCall) Filter(filter string) *AppsOperationsListCall {
  6634  	c.urlParams_.Set("filter", filter)
  6635  	return c
  6636  }
  6637  
  6638  // PageSize sets the optional parameter "pageSize": The standard list page
  6639  // size.
  6640  func (c *AppsOperationsListCall) PageSize(pageSize int64) *AppsOperationsListCall {
  6641  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6642  	return c
  6643  }
  6644  
  6645  // PageToken sets the optional parameter "pageToken": The standard list page
  6646  // token.
  6647  func (c *AppsOperationsListCall) PageToken(pageToken string) *AppsOperationsListCall {
  6648  	c.urlParams_.Set("pageToken", pageToken)
  6649  	return c
  6650  }
  6651  
  6652  // Fields allows partial responses to be retrieved. See
  6653  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6654  // details.
  6655  func (c *AppsOperationsListCall) Fields(s ...googleapi.Field) *AppsOperationsListCall {
  6656  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6657  	return c
  6658  }
  6659  
  6660  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6661  // object's ETag matches the given value. This is useful for getting updates
  6662  // only after the object has changed since the last request.
  6663  func (c *AppsOperationsListCall) IfNoneMatch(entityTag string) *AppsOperationsListCall {
  6664  	c.ifNoneMatch_ = entityTag
  6665  	return c
  6666  }
  6667  
  6668  // Context sets the context to be used in this call's Do method.
  6669  func (c *AppsOperationsListCall) Context(ctx context.Context) *AppsOperationsListCall {
  6670  	c.ctx_ = ctx
  6671  	return c
  6672  }
  6673  
  6674  // Header returns a http.Header that can be modified by the caller to add
  6675  // headers to the request.
  6676  func (c *AppsOperationsListCall) Header() http.Header {
  6677  	if c.header_ == nil {
  6678  		c.header_ = make(http.Header)
  6679  	}
  6680  	return c.header_
  6681  }
  6682  
  6683  func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  6684  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6685  	if c.ifNoneMatch_ != "" {
  6686  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6687  	}
  6688  	var body io.Reader = nil
  6689  	c.urlParams_.Set("alt", alt)
  6690  	c.urlParams_.Set("prettyPrint", "false")
  6691  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/operations")
  6692  	urls += "?" + c.urlParams_.Encode()
  6693  	req, err := http.NewRequest("GET", urls, body)
  6694  	if err != nil {
  6695  		return nil, err
  6696  	}
  6697  	req.Header = reqHeaders
  6698  	googleapi.Expand(req.URL, map[string]string{
  6699  		"appsId": c.appsId,
  6700  	})
  6701  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6702  }
  6703  
  6704  // Do executes the "appengine.apps.operations.list" call.
  6705  // Any non-2xx status code is an error. Response headers are in either
  6706  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  6707  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6708  // check whether the returned error was because http.StatusNotModified was
  6709  // returned.
  6710  func (c *AppsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  6711  	gensupport.SetOptions(c.urlParams_, opts...)
  6712  	res, err := c.doRequest("json")
  6713  	if res != nil && res.StatusCode == http.StatusNotModified {
  6714  		if res.Body != nil {
  6715  			res.Body.Close()
  6716  		}
  6717  		return nil, gensupport.WrapError(&googleapi.Error{
  6718  			Code:   res.StatusCode,
  6719  			Header: res.Header,
  6720  		})
  6721  	}
  6722  	if err != nil {
  6723  		return nil, err
  6724  	}
  6725  	defer googleapi.CloseBody(res)
  6726  	if err := googleapi.CheckResponse(res); err != nil {
  6727  		return nil, gensupport.WrapError(err)
  6728  	}
  6729  	ret := &ListOperationsResponse{
  6730  		ServerResponse: googleapi.ServerResponse{
  6731  			Header:         res.Header,
  6732  			HTTPStatusCode: res.StatusCode,
  6733  		},
  6734  	}
  6735  	target := &ret
  6736  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6737  		return nil, err
  6738  	}
  6739  	return ret, nil
  6740  }
  6741  
  6742  // Pages invokes f for each page of results.
  6743  // A non-nil error returned from f will halt the iteration.
  6744  // The provided context supersedes any context provided to the Context method.
  6745  func (c *AppsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  6746  	c.ctx_ = ctx
  6747  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6748  	for {
  6749  		x, err := c.Do()
  6750  		if err != nil {
  6751  			return err
  6752  		}
  6753  		if err := f(x); err != nil {
  6754  			return err
  6755  		}
  6756  		if x.NextPageToken == "" {
  6757  			return nil
  6758  		}
  6759  		c.PageToken(x.NextPageToken)
  6760  	}
  6761  }
  6762  
  6763  type AppsServicesDeleteCall struct {
  6764  	s          *APIService
  6765  	appsId     string
  6766  	servicesId string
  6767  	urlParams_ gensupport.URLParams
  6768  	ctx_       context.Context
  6769  	header_    http.Header
  6770  }
  6771  
  6772  // Delete: Deletes the specified service and all enclosed versions.
  6773  //
  6774  //   - appsId: Part of `name`. Name of the resource requested. Example:
  6775  //     apps/myapp/services/default.
  6776  //   - servicesId: Part of `name`. See documentation of `appsId`.
  6777  func (r *AppsServicesService) Delete(appsId string, servicesId string) *AppsServicesDeleteCall {
  6778  	c := &AppsServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6779  	c.appsId = appsId
  6780  	c.servicesId = servicesId
  6781  	return c
  6782  }
  6783  
  6784  // Fields allows partial responses to be retrieved. See
  6785  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6786  // details.
  6787  func (c *AppsServicesDeleteCall) Fields(s ...googleapi.Field) *AppsServicesDeleteCall {
  6788  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6789  	return c
  6790  }
  6791  
  6792  // Context sets the context to be used in this call's Do method.
  6793  func (c *AppsServicesDeleteCall) Context(ctx context.Context) *AppsServicesDeleteCall {
  6794  	c.ctx_ = ctx
  6795  	return c
  6796  }
  6797  
  6798  // Header returns a http.Header that can be modified by the caller to add
  6799  // headers to the request.
  6800  func (c *AppsServicesDeleteCall) Header() http.Header {
  6801  	if c.header_ == nil {
  6802  		c.header_ = make(http.Header)
  6803  	}
  6804  	return c.header_
  6805  }
  6806  
  6807  func (c *AppsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6808  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6809  	var body io.Reader = nil
  6810  	c.urlParams_.Set("alt", alt)
  6811  	c.urlParams_.Set("prettyPrint", "false")
  6812  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
  6813  	urls += "?" + c.urlParams_.Encode()
  6814  	req, err := http.NewRequest("DELETE", urls, body)
  6815  	if err != nil {
  6816  		return nil, err
  6817  	}
  6818  	req.Header = reqHeaders
  6819  	googleapi.Expand(req.URL, map[string]string{
  6820  		"appsId":     c.appsId,
  6821  		"servicesId": c.servicesId,
  6822  	})
  6823  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6824  }
  6825  
  6826  // Do executes the "appengine.apps.services.delete" call.
  6827  // Any non-2xx status code is an error. Response headers are in either
  6828  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6829  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6830  // whether the returned error was because http.StatusNotModified was returned.
  6831  func (c *AppsServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6832  	gensupport.SetOptions(c.urlParams_, opts...)
  6833  	res, err := c.doRequest("json")
  6834  	if res != nil && res.StatusCode == http.StatusNotModified {
  6835  		if res.Body != nil {
  6836  			res.Body.Close()
  6837  		}
  6838  		return nil, gensupport.WrapError(&googleapi.Error{
  6839  			Code:   res.StatusCode,
  6840  			Header: res.Header,
  6841  		})
  6842  	}
  6843  	if err != nil {
  6844  		return nil, err
  6845  	}
  6846  	defer googleapi.CloseBody(res)
  6847  	if err := googleapi.CheckResponse(res); err != nil {
  6848  		return nil, gensupport.WrapError(err)
  6849  	}
  6850  	ret := &Operation{
  6851  		ServerResponse: googleapi.ServerResponse{
  6852  			Header:         res.Header,
  6853  			HTTPStatusCode: res.StatusCode,
  6854  		},
  6855  	}
  6856  	target := &ret
  6857  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6858  		return nil, err
  6859  	}
  6860  	return ret, nil
  6861  }
  6862  
  6863  type AppsServicesGetCall struct {
  6864  	s            *APIService
  6865  	appsId       string
  6866  	servicesId   string
  6867  	urlParams_   gensupport.URLParams
  6868  	ifNoneMatch_ string
  6869  	ctx_         context.Context
  6870  	header_      http.Header
  6871  }
  6872  
  6873  // Get: Gets the current configuration of the specified service.
  6874  //
  6875  //   - appsId: Part of `name`. Name of the resource requested. Example:
  6876  //     apps/myapp/services/default.
  6877  //   - servicesId: Part of `name`. See documentation of `appsId`.
  6878  func (r *AppsServicesService) Get(appsId string, servicesId string) *AppsServicesGetCall {
  6879  	c := &AppsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6880  	c.appsId = appsId
  6881  	c.servicesId = servicesId
  6882  	return c
  6883  }
  6884  
  6885  // IncludeExtraData sets the optional parameter "includeExtraData": Options to
  6886  // include extra data
  6887  //
  6888  // Possible values:
  6889  //
  6890  //	"INCLUDE_EXTRA_DATA_UNSPECIFIED" - Unspecified: No extra data will be
  6891  //
  6892  // returned
  6893  //
  6894  //	"INCLUDE_EXTRA_DATA_NONE" - Do not return any extra data
  6895  //	"INCLUDE_GOOGLE_GENERATED_METADATA" - Return GGCM associated with the
  6896  //
  6897  // resources
  6898  func (c *AppsServicesGetCall) IncludeExtraData(includeExtraData string) *AppsServicesGetCall {
  6899  	c.urlParams_.Set("includeExtraData", includeExtraData)
  6900  	return c
  6901  }
  6902  
  6903  // Fields allows partial responses to be retrieved. See
  6904  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6905  // details.
  6906  func (c *AppsServicesGetCall) Fields(s ...googleapi.Field) *AppsServicesGetCall {
  6907  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6908  	return c
  6909  }
  6910  
  6911  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6912  // object's ETag matches the given value. This is useful for getting updates
  6913  // only after the object has changed since the last request.
  6914  func (c *AppsServicesGetCall) IfNoneMatch(entityTag string) *AppsServicesGetCall {
  6915  	c.ifNoneMatch_ = entityTag
  6916  	return c
  6917  }
  6918  
  6919  // Context sets the context to be used in this call's Do method.
  6920  func (c *AppsServicesGetCall) Context(ctx context.Context) *AppsServicesGetCall {
  6921  	c.ctx_ = ctx
  6922  	return c
  6923  }
  6924  
  6925  // Header returns a http.Header that can be modified by the caller to add
  6926  // headers to the request.
  6927  func (c *AppsServicesGetCall) Header() http.Header {
  6928  	if c.header_ == nil {
  6929  		c.header_ = make(http.Header)
  6930  	}
  6931  	return c.header_
  6932  }
  6933  
  6934  func (c *AppsServicesGetCall) doRequest(alt string) (*http.Response, error) {
  6935  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6936  	if c.ifNoneMatch_ != "" {
  6937  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6938  	}
  6939  	var body io.Reader = nil
  6940  	c.urlParams_.Set("alt", alt)
  6941  	c.urlParams_.Set("prettyPrint", "false")
  6942  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
  6943  	urls += "?" + c.urlParams_.Encode()
  6944  	req, err := http.NewRequest("GET", urls, body)
  6945  	if err != nil {
  6946  		return nil, err
  6947  	}
  6948  	req.Header = reqHeaders
  6949  	googleapi.Expand(req.URL, map[string]string{
  6950  		"appsId":     c.appsId,
  6951  		"servicesId": c.servicesId,
  6952  	})
  6953  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6954  }
  6955  
  6956  // Do executes the "appengine.apps.services.get" call.
  6957  // Any non-2xx status code is an error. Response headers are in either
  6958  // *Service.ServerResponse.Header or (if a response was returned at all) in
  6959  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6960  // whether the returned error was because http.StatusNotModified was returned.
  6961  func (c *AppsServicesGetCall) Do(opts ...googleapi.CallOption) (*Service, error) {
  6962  	gensupport.SetOptions(c.urlParams_, opts...)
  6963  	res, err := c.doRequest("json")
  6964  	if res != nil && res.StatusCode == http.StatusNotModified {
  6965  		if res.Body != nil {
  6966  			res.Body.Close()
  6967  		}
  6968  		return nil, gensupport.WrapError(&googleapi.Error{
  6969  			Code:   res.StatusCode,
  6970  			Header: res.Header,
  6971  		})
  6972  	}
  6973  	if err != nil {
  6974  		return nil, err
  6975  	}
  6976  	defer googleapi.CloseBody(res)
  6977  	if err := googleapi.CheckResponse(res); err != nil {
  6978  		return nil, gensupport.WrapError(err)
  6979  	}
  6980  	ret := &Service{
  6981  		ServerResponse: googleapi.ServerResponse{
  6982  			Header:         res.Header,
  6983  			HTTPStatusCode: res.StatusCode,
  6984  		},
  6985  	}
  6986  	target := &ret
  6987  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6988  		return nil, err
  6989  	}
  6990  	return ret, nil
  6991  }
  6992  
  6993  type AppsServicesListCall struct {
  6994  	s            *APIService
  6995  	appsId       string
  6996  	urlParams_   gensupport.URLParams
  6997  	ifNoneMatch_ string
  6998  	ctx_         context.Context
  6999  	header_      http.Header
  7000  }
  7001  
  7002  // List: Lists all the services in the application.
  7003  //
  7004  //   - appsId: Part of `parent`. Name of the parent Application resource.
  7005  //     Example: apps/myapp.
  7006  func (r *AppsServicesService) List(appsId string) *AppsServicesListCall {
  7007  	c := &AppsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7008  	c.appsId = appsId
  7009  	return c
  7010  }
  7011  
  7012  // PageSize sets the optional parameter "pageSize": Maximum results to return
  7013  // per page.
  7014  func (c *AppsServicesListCall) PageSize(pageSize int64) *AppsServicesListCall {
  7015  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7016  	return c
  7017  }
  7018  
  7019  // PageToken sets the optional parameter "pageToken": Continuation token for
  7020  // fetching the next page of results.
  7021  func (c *AppsServicesListCall) PageToken(pageToken string) *AppsServicesListCall {
  7022  	c.urlParams_.Set("pageToken", pageToken)
  7023  	return c
  7024  }
  7025  
  7026  // Fields allows partial responses to be retrieved. See
  7027  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7028  // details.
  7029  func (c *AppsServicesListCall) Fields(s ...googleapi.Field) *AppsServicesListCall {
  7030  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7031  	return c
  7032  }
  7033  
  7034  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7035  // object's ETag matches the given value. This is useful for getting updates
  7036  // only after the object has changed since the last request.
  7037  func (c *AppsServicesListCall) IfNoneMatch(entityTag string) *AppsServicesListCall {
  7038  	c.ifNoneMatch_ = entityTag
  7039  	return c
  7040  }
  7041  
  7042  // Context sets the context to be used in this call's Do method.
  7043  func (c *AppsServicesListCall) Context(ctx context.Context) *AppsServicesListCall {
  7044  	c.ctx_ = ctx
  7045  	return c
  7046  }
  7047  
  7048  // Header returns a http.Header that can be modified by the caller to add
  7049  // headers to the request.
  7050  func (c *AppsServicesListCall) Header() http.Header {
  7051  	if c.header_ == nil {
  7052  		c.header_ = make(http.Header)
  7053  	}
  7054  	return c.header_
  7055  }
  7056  
  7057  func (c *AppsServicesListCall) doRequest(alt string) (*http.Response, error) {
  7058  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7059  	if c.ifNoneMatch_ != "" {
  7060  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7061  	}
  7062  	var body io.Reader = nil
  7063  	c.urlParams_.Set("alt", alt)
  7064  	c.urlParams_.Set("prettyPrint", "false")
  7065  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services")
  7066  	urls += "?" + c.urlParams_.Encode()
  7067  	req, err := http.NewRequest("GET", urls, body)
  7068  	if err != nil {
  7069  		return nil, err
  7070  	}
  7071  	req.Header = reqHeaders
  7072  	googleapi.Expand(req.URL, map[string]string{
  7073  		"appsId": c.appsId,
  7074  	})
  7075  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7076  }
  7077  
  7078  // Do executes the "appengine.apps.services.list" call.
  7079  // Any non-2xx status code is an error. Response headers are in either
  7080  // *ListServicesResponse.ServerResponse.Header or (if a response was returned
  7081  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7082  // check whether the returned error was because http.StatusNotModified was
  7083  // returned.
  7084  func (c *AppsServicesListCall) Do(opts ...googleapi.CallOption) (*ListServicesResponse, error) {
  7085  	gensupport.SetOptions(c.urlParams_, opts...)
  7086  	res, err := c.doRequest("json")
  7087  	if res != nil && res.StatusCode == http.StatusNotModified {
  7088  		if res.Body != nil {
  7089  			res.Body.Close()
  7090  		}
  7091  		return nil, gensupport.WrapError(&googleapi.Error{
  7092  			Code:   res.StatusCode,
  7093  			Header: res.Header,
  7094  		})
  7095  	}
  7096  	if err != nil {
  7097  		return nil, err
  7098  	}
  7099  	defer googleapi.CloseBody(res)
  7100  	if err := googleapi.CheckResponse(res); err != nil {
  7101  		return nil, gensupport.WrapError(err)
  7102  	}
  7103  	ret := &ListServicesResponse{
  7104  		ServerResponse: googleapi.ServerResponse{
  7105  			Header:         res.Header,
  7106  			HTTPStatusCode: res.StatusCode,
  7107  		},
  7108  	}
  7109  	target := &ret
  7110  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7111  		return nil, err
  7112  	}
  7113  	return ret, nil
  7114  }
  7115  
  7116  // Pages invokes f for each page of results.
  7117  // A non-nil error returned from f will halt the iteration.
  7118  // The provided context supersedes any context provided to the Context method.
  7119  func (c *AppsServicesListCall) Pages(ctx context.Context, f func(*ListServicesResponse) error) error {
  7120  	c.ctx_ = ctx
  7121  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7122  	for {
  7123  		x, err := c.Do()
  7124  		if err != nil {
  7125  			return err
  7126  		}
  7127  		if err := f(x); err != nil {
  7128  			return err
  7129  		}
  7130  		if x.NextPageToken == "" {
  7131  			return nil
  7132  		}
  7133  		c.PageToken(x.NextPageToken)
  7134  	}
  7135  }
  7136  
  7137  type AppsServicesPatchCall struct {
  7138  	s          *APIService
  7139  	appsId     string
  7140  	servicesId string
  7141  	service    *Service
  7142  	urlParams_ gensupport.URLParams
  7143  	ctx_       context.Context
  7144  	header_    http.Header
  7145  }
  7146  
  7147  // Patch: Updates the configuration of the specified service.
  7148  //
  7149  //   - appsId: Part of `name`. Name of the resource to update. Example:
  7150  //     apps/myapp/services/default.
  7151  //   - servicesId: Part of `name`. See documentation of `appsId`.
  7152  func (r *AppsServicesService) Patch(appsId string, servicesId string, service *Service) *AppsServicesPatchCall {
  7153  	c := &AppsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7154  	c.appsId = appsId
  7155  	c.servicesId = servicesId
  7156  	c.service = service
  7157  	return c
  7158  }
  7159  
  7160  // MigrateTraffic sets the optional parameter "migrateTraffic": Set to true to
  7161  // gradually shift traffic to one or more versions that you specify. By
  7162  // default, traffic is shifted immediately. For gradual traffic migration, the
  7163  // target versions must be located within instances that are configured for
  7164  // both warmup requests
  7165  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType)
  7166  // and automatic scaling
  7167  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling).
  7168  // You must specify the shardBy
  7169  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy)
  7170  // field in the Service resource. Gradual traffic migration is not supported in
  7171  // the App Engine flexible environment. For examples, see Migrating and
  7172  // Splitting Traffic
  7173  // (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
  7174  func (c *AppsServicesPatchCall) MigrateTraffic(migrateTraffic bool) *AppsServicesPatchCall {
  7175  	c.urlParams_.Set("migrateTraffic", fmt.Sprint(migrateTraffic))
  7176  	return c
  7177  }
  7178  
  7179  // UpdateMask sets the optional parameter "updateMask": Required. Standard
  7180  // field mask for the set of fields to be updated.
  7181  func (c *AppsServicesPatchCall) UpdateMask(updateMask string) *AppsServicesPatchCall {
  7182  	c.urlParams_.Set("updateMask", updateMask)
  7183  	return c
  7184  }
  7185  
  7186  // Fields allows partial responses to be retrieved. See
  7187  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7188  // details.
  7189  func (c *AppsServicesPatchCall) Fields(s ...googleapi.Field) *AppsServicesPatchCall {
  7190  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7191  	return c
  7192  }
  7193  
  7194  // Context sets the context to be used in this call's Do method.
  7195  func (c *AppsServicesPatchCall) Context(ctx context.Context) *AppsServicesPatchCall {
  7196  	c.ctx_ = ctx
  7197  	return c
  7198  }
  7199  
  7200  // Header returns a http.Header that can be modified by the caller to add
  7201  // headers to the request.
  7202  func (c *AppsServicesPatchCall) Header() http.Header {
  7203  	if c.header_ == nil {
  7204  		c.header_ = make(http.Header)
  7205  	}
  7206  	return c.header_
  7207  }
  7208  
  7209  func (c *AppsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
  7210  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7211  	var body io.Reader = nil
  7212  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.service)
  7213  	if err != nil {
  7214  		return nil, err
  7215  	}
  7216  	c.urlParams_.Set("alt", alt)
  7217  	c.urlParams_.Set("prettyPrint", "false")
  7218  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
  7219  	urls += "?" + c.urlParams_.Encode()
  7220  	req, err := http.NewRequest("PATCH", urls, body)
  7221  	if err != nil {
  7222  		return nil, err
  7223  	}
  7224  	req.Header = reqHeaders
  7225  	googleapi.Expand(req.URL, map[string]string{
  7226  		"appsId":     c.appsId,
  7227  		"servicesId": c.servicesId,
  7228  	})
  7229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7230  }
  7231  
  7232  // Do executes the "appengine.apps.services.patch" call.
  7233  // Any non-2xx status code is an error. Response headers are in either
  7234  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7235  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7236  // whether the returned error was because http.StatusNotModified was returned.
  7237  func (c *AppsServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7238  	gensupport.SetOptions(c.urlParams_, opts...)
  7239  	res, err := c.doRequest("json")
  7240  	if res != nil && res.StatusCode == http.StatusNotModified {
  7241  		if res.Body != nil {
  7242  			res.Body.Close()
  7243  		}
  7244  		return nil, gensupport.WrapError(&googleapi.Error{
  7245  			Code:   res.StatusCode,
  7246  			Header: res.Header,
  7247  		})
  7248  	}
  7249  	if err != nil {
  7250  		return nil, err
  7251  	}
  7252  	defer googleapi.CloseBody(res)
  7253  	if err := googleapi.CheckResponse(res); err != nil {
  7254  		return nil, gensupport.WrapError(err)
  7255  	}
  7256  	ret := &Operation{
  7257  		ServerResponse: googleapi.ServerResponse{
  7258  			Header:         res.Header,
  7259  			HTTPStatusCode: res.StatusCode,
  7260  		},
  7261  	}
  7262  	target := &ret
  7263  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7264  		return nil, err
  7265  	}
  7266  	return ret, nil
  7267  }
  7268  
  7269  type AppsServicesVersionsCreateCall struct {
  7270  	s          *APIService
  7271  	appsId     string
  7272  	servicesId string
  7273  	version    *Version
  7274  	urlParams_ gensupport.URLParams
  7275  	ctx_       context.Context
  7276  	header_    http.Header
  7277  }
  7278  
  7279  // Create: Deploys code and resource files to a new version.
  7280  //
  7281  //   - appsId: Part of `parent`. Name of the parent resource to create this
  7282  //     version under. Example: apps/myapp/services/default.
  7283  //   - servicesId: Part of `parent`. See documentation of `appsId`.
  7284  func (r *AppsServicesVersionsService) Create(appsId string, servicesId string, version *Version) *AppsServicesVersionsCreateCall {
  7285  	c := &AppsServicesVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7286  	c.appsId = appsId
  7287  	c.servicesId = servicesId
  7288  	c.version = version
  7289  	return c
  7290  }
  7291  
  7292  // Fields allows partial responses to be retrieved. See
  7293  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7294  // details.
  7295  func (c *AppsServicesVersionsCreateCall) Fields(s ...googleapi.Field) *AppsServicesVersionsCreateCall {
  7296  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7297  	return c
  7298  }
  7299  
  7300  // Context sets the context to be used in this call's Do method.
  7301  func (c *AppsServicesVersionsCreateCall) Context(ctx context.Context) *AppsServicesVersionsCreateCall {
  7302  	c.ctx_ = ctx
  7303  	return c
  7304  }
  7305  
  7306  // Header returns a http.Header that can be modified by the caller to add
  7307  // headers to the request.
  7308  func (c *AppsServicesVersionsCreateCall) Header() http.Header {
  7309  	if c.header_ == nil {
  7310  		c.header_ = make(http.Header)
  7311  	}
  7312  	return c.header_
  7313  }
  7314  
  7315  func (c *AppsServicesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
  7316  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7317  	var body io.Reader = nil
  7318  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.version)
  7319  	if err != nil {
  7320  		return nil, err
  7321  	}
  7322  	c.urlParams_.Set("alt", alt)
  7323  	c.urlParams_.Set("prettyPrint", "false")
  7324  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions")
  7325  	urls += "?" + c.urlParams_.Encode()
  7326  	req, err := http.NewRequest("POST", urls, body)
  7327  	if err != nil {
  7328  		return nil, err
  7329  	}
  7330  	req.Header = reqHeaders
  7331  	googleapi.Expand(req.URL, map[string]string{
  7332  		"appsId":     c.appsId,
  7333  		"servicesId": c.servicesId,
  7334  	})
  7335  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7336  }
  7337  
  7338  // Do executes the "appengine.apps.services.versions.create" call.
  7339  // Any non-2xx status code is an error. Response headers are in either
  7340  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7341  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7342  // whether the returned error was because http.StatusNotModified was returned.
  7343  func (c *AppsServicesVersionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7344  	gensupport.SetOptions(c.urlParams_, opts...)
  7345  	res, err := c.doRequest("json")
  7346  	if res != nil && res.StatusCode == http.StatusNotModified {
  7347  		if res.Body != nil {
  7348  			res.Body.Close()
  7349  		}
  7350  		return nil, gensupport.WrapError(&googleapi.Error{
  7351  			Code:   res.StatusCode,
  7352  			Header: res.Header,
  7353  		})
  7354  	}
  7355  	if err != nil {
  7356  		return nil, err
  7357  	}
  7358  	defer googleapi.CloseBody(res)
  7359  	if err := googleapi.CheckResponse(res); err != nil {
  7360  		return nil, gensupport.WrapError(err)
  7361  	}
  7362  	ret := &Operation{
  7363  		ServerResponse: googleapi.ServerResponse{
  7364  			Header:         res.Header,
  7365  			HTTPStatusCode: res.StatusCode,
  7366  		},
  7367  	}
  7368  	target := &ret
  7369  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7370  		return nil, err
  7371  	}
  7372  	return ret, nil
  7373  }
  7374  
  7375  type AppsServicesVersionsDeleteCall struct {
  7376  	s          *APIService
  7377  	appsId     string
  7378  	servicesId string
  7379  	versionsId string
  7380  	urlParams_ gensupport.URLParams
  7381  	ctx_       context.Context
  7382  	header_    http.Header
  7383  }
  7384  
  7385  // Delete: Deletes an existing Version resource.
  7386  //
  7387  //   - appsId: Part of `name`. Name of the resource requested. Example:
  7388  //     apps/myapp/services/default/versions/v1.
  7389  //   - servicesId: Part of `name`. See documentation of `appsId`.
  7390  //   - versionsId: Part of `name`. See documentation of `appsId`.
  7391  func (r *AppsServicesVersionsService) Delete(appsId string, servicesId string, versionsId string) *AppsServicesVersionsDeleteCall {
  7392  	c := &AppsServicesVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7393  	c.appsId = appsId
  7394  	c.servicesId = servicesId
  7395  	c.versionsId = versionsId
  7396  	return c
  7397  }
  7398  
  7399  // Fields allows partial responses to be retrieved. See
  7400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7401  // details.
  7402  func (c *AppsServicesVersionsDeleteCall) Fields(s ...googleapi.Field) *AppsServicesVersionsDeleteCall {
  7403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7404  	return c
  7405  }
  7406  
  7407  // Context sets the context to be used in this call's Do method.
  7408  func (c *AppsServicesVersionsDeleteCall) Context(ctx context.Context) *AppsServicesVersionsDeleteCall {
  7409  	c.ctx_ = ctx
  7410  	return c
  7411  }
  7412  
  7413  // Header returns a http.Header that can be modified by the caller to add
  7414  // headers to the request.
  7415  func (c *AppsServicesVersionsDeleteCall) Header() http.Header {
  7416  	if c.header_ == nil {
  7417  		c.header_ = make(http.Header)
  7418  	}
  7419  	return c.header_
  7420  }
  7421  
  7422  func (c *AppsServicesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7423  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7424  	var body io.Reader = nil
  7425  	c.urlParams_.Set("alt", alt)
  7426  	c.urlParams_.Set("prettyPrint", "false")
  7427  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
  7428  	urls += "?" + c.urlParams_.Encode()
  7429  	req, err := http.NewRequest("DELETE", urls, body)
  7430  	if err != nil {
  7431  		return nil, err
  7432  	}
  7433  	req.Header = reqHeaders
  7434  	googleapi.Expand(req.URL, map[string]string{
  7435  		"appsId":     c.appsId,
  7436  		"servicesId": c.servicesId,
  7437  		"versionsId": c.versionsId,
  7438  	})
  7439  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7440  }
  7441  
  7442  // Do executes the "appengine.apps.services.versions.delete" call.
  7443  // Any non-2xx status code is an error. Response headers are in either
  7444  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7445  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7446  // whether the returned error was because http.StatusNotModified was returned.
  7447  func (c *AppsServicesVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7448  	gensupport.SetOptions(c.urlParams_, opts...)
  7449  	res, err := c.doRequest("json")
  7450  	if res != nil && res.StatusCode == http.StatusNotModified {
  7451  		if res.Body != nil {
  7452  			res.Body.Close()
  7453  		}
  7454  		return nil, gensupport.WrapError(&googleapi.Error{
  7455  			Code:   res.StatusCode,
  7456  			Header: res.Header,
  7457  		})
  7458  	}
  7459  	if err != nil {
  7460  		return nil, err
  7461  	}
  7462  	defer googleapi.CloseBody(res)
  7463  	if err := googleapi.CheckResponse(res); err != nil {
  7464  		return nil, gensupport.WrapError(err)
  7465  	}
  7466  	ret := &Operation{
  7467  		ServerResponse: googleapi.ServerResponse{
  7468  			Header:         res.Header,
  7469  			HTTPStatusCode: res.StatusCode,
  7470  		},
  7471  	}
  7472  	target := &ret
  7473  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7474  		return nil, err
  7475  	}
  7476  	return ret, nil
  7477  }
  7478  
  7479  type AppsServicesVersionsGetCall struct {
  7480  	s            *APIService
  7481  	appsId       string
  7482  	servicesId   string
  7483  	versionsId   string
  7484  	urlParams_   gensupport.URLParams
  7485  	ifNoneMatch_ string
  7486  	ctx_         context.Context
  7487  	header_      http.Header
  7488  }
  7489  
  7490  // Get: Gets the specified Version resource. By default, only a BASIC_VIEW will
  7491  // be returned. Specify the FULL_VIEW parameter to get the full resource.
  7492  //
  7493  //   - appsId: Part of `name`. Name of the resource requested. Example:
  7494  //     apps/myapp/services/default/versions/v1.
  7495  //   - servicesId: Part of `name`. See documentation of `appsId`.
  7496  //   - versionsId: Part of `name`. See documentation of `appsId`.
  7497  func (r *AppsServicesVersionsService) Get(appsId string, servicesId string, versionsId string) *AppsServicesVersionsGetCall {
  7498  	c := &AppsServicesVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7499  	c.appsId = appsId
  7500  	c.servicesId = servicesId
  7501  	c.versionsId = versionsId
  7502  	return c
  7503  }
  7504  
  7505  // IncludeExtraData sets the optional parameter "includeExtraData": Options to
  7506  // include extra data
  7507  //
  7508  // Possible values:
  7509  //
  7510  //	"INCLUDE_EXTRA_DATA_UNSPECIFIED" - Unspecified: No extra data will be
  7511  //
  7512  // returned
  7513  //
  7514  //	"INCLUDE_EXTRA_DATA_NONE" - Do not return any extra data
  7515  //	"INCLUDE_GOOGLE_GENERATED_METADATA" - Return GGCM associated with the
  7516  //
  7517  // resources
  7518  func (c *AppsServicesVersionsGetCall) IncludeExtraData(includeExtraData string) *AppsServicesVersionsGetCall {
  7519  	c.urlParams_.Set("includeExtraData", includeExtraData)
  7520  	return c
  7521  }
  7522  
  7523  // View sets the optional parameter "view": Controls the set of fields returned
  7524  // in the Get response.
  7525  //
  7526  // Possible values:
  7527  //
  7528  //	"BASIC" - Basic version information including scaling and inbound
  7529  //
  7530  // services, but not detailed deployment information.
  7531  //
  7532  //	"FULL" - The information from BASIC, plus detailed information about the
  7533  //
  7534  // deployment. This format is required when creating resources, but is not
  7535  // returned in Get or List by default.
  7536  func (c *AppsServicesVersionsGetCall) View(view string) *AppsServicesVersionsGetCall {
  7537  	c.urlParams_.Set("view", view)
  7538  	return c
  7539  }
  7540  
  7541  // Fields allows partial responses to be retrieved. See
  7542  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7543  // details.
  7544  func (c *AppsServicesVersionsGetCall) Fields(s ...googleapi.Field) *AppsServicesVersionsGetCall {
  7545  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7546  	return c
  7547  }
  7548  
  7549  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7550  // object's ETag matches the given value. This is useful for getting updates
  7551  // only after the object has changed since the last request.
  7552  func (c *AppsServicesVersionsGetCall) IfNoneMatch(entityTag string) *AppsServicesVersionsGetCall {
  7553  	c.ifNoneMatch_ = entityTag
  7554  	return c
  7555  }
  7556  
  7557  // Context sets the context to be used in this call's Do method.
  7558  func (c *AppsServicesVersionsGetCall) Context(ctx context.Context) *AppsServicesVersionsGetCall {
  7559  	c.ctx_ = ctx
  7560  	return c
  7561  }
  7562  
  7563  // Header returns a http.Header that can be modified by the caller to add
  7564  // headers to the request.
  7565  func (c *AppsServicesVersionsGetCall) Header() http.Header {
  7566  	if c.header_ == nil {
  7567  		c.header_ = make(http.Header)
  7568  	}
  7569  	return c.header_
  7570  }
  7571  
  7572  func (c *AppsServicesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
  7573  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7574  	if c.ifNoneMatch_ != "" {
  7575  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7576  	}
  7577  	var body io.Reader = nil
  7578  	c.urlParams_.Set("alt", alt)
  7579  	c.urlParams_.Set("prettyPrint", "false")
  7580  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
  7581  	urls += "?" + c.urlParams_.Encode()
  7582  	req, err := http.NewRequest("GET", urls, body)
  7583  	if err != nil {
  7584  		return nil, err
  7585  	}
  7586  	req.Header = reqHeaders
  7587  	googleapi.Expand(req.URL, map[string]string{
  7588  		"appsId":     c.appsId,
  7589  		"servicesId": c.servicesId,
  7590  		"versionsId": c.versionsId,
  7591  	})
  7592  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7593  }
  7594  
  7595  // Do executes the "appengine.apps.services.versions.get" call.
  7596  // Any non-2xx status code is an error. Response headers are in either
  7597  // *Version.ServerResponse.Header or (if a response was returned at all) in
  7598  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7599  // whether the returned error was because http.StatusNotModified was returned.
  7600  func (c *AppsServicesVersionsGetCall) Do(opts ...googleapi.CallOption) (*Version, error) {
  7601  	gensupport.SetOptions(c.urlParams_, opts...)
  7602  	res, err := c.doRequest("json")
  7603  	if res != nil && res.StatusCode == http.StatusNotModified {
  7604  		if res.Body != nil {
  7605  			res.Body.Close()
  7606  		}
  7607  		return nil, gensupport.WrapError(&googleapi.Error{
  7608  			Code:   res.StatusCode,
  7609  			Header: res.Header,
  7610  		})
  7611  	}
  7612  	if err != nil {
  7613  		return nil, err
  7614  	}
  7615  	defer googleapi.CloseBody(res)
  7616  	if err := googleapi.CheckResponse(res); err != nil {
  7617  		return nil, gensupport.WrapError(err)
  7618  	}
  7619  	ret := &Version{
  7620  		ServerResponse: googleapi.ServerResponse{
  7621  			Header:         res.Header,
  7622  			HTTPStatusCode: res.StatusCode,
  7623  		},
  7624  	}
  7625  	target := &ret
  7626  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7627  		return nil, err
  7628  	}
  7629  	return ret, nil
  7630  }
  7631  
  7632  type AppsServicesVersionsListCall struct {
  7633  	s            *APIService
  7634  	appsId       string
  7635  	servicesId   string
  7636  	urlParams_   gensupport.URLParams
  7637  	ifNoneMatch_ string
  7638  	ctx_         context.Context
  7639  	header_      http.Header
  7640  }
  7641  
  7642  // List: Lists the versions of a service.
  7643  //
  7644  //   - appsId: Part of `parent`. Name of the parent Service resource. Example:
  7645  //     apps/myapp/services/default.
  7646  //   - servicesId: Part of `parent`. See documentation of `appsId`.
  7647  func (r *AppsServicesVersionsService) List(appsId string, servicesId string) *AppsServicesVersionsListCall {
  7648  	c := &AppsServicesVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7649  	c.appsId = appsId
  7650  	c.servicesId = servicesId
  7651  	return c
  7652  }
  7653  
  7654  // PageSize sets the optional parameter "pageSize": Maximum results to return
  7655  // per page.
  7656  func (c *AppsServicesVersionsListCall) PageSize(pageSize int64) *AppsServicesVersionsListCall {
  7657  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7658  	return c
  7659  }
  7660  
  7661  // PageToken sets the optional parameter "pageToken": Continuation token for
  7662  // fetching the next page of results.
  7663  func (c *AppsServicesVersionsListCall) PageToken(pageToken string) *AppsServicesVersionsListCall {
  7664  	c.urlParams_.Set("pageToken", pageToken)
  7665  	return c
  7666  }
  7667  
  7668  // View sets the optional parameter "view": Controls the set of fields returned
  7669  // in the List response.
  7670  //
  7671  // Possible values:
  7672  //
  7673  //	"BASIC" - Basic version information including scaling and inbound
  7674  //
  7675  // services, but not detailed deployment information.
  7676  //
  7677  //	"FULL" - The information from BASIC, plus detailed information about the
  7678  //
  7679  // deployment. This format is required when creating resources, but is not
  7680  // returned in Get or List by default.
  7681  func (c *AppsServicesVersionsListCall) View(view string) *AppsServicesVersionsListCall {
  7682  	c.urlParams_.Set("view", view)
  7683  	return c
  7684  }
  7685  
  7686  // Fields allows partial responses to be retrieved. See
  7687  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7688  // details.
  7689  func (c *AppsServicesVersionsListCall) Fields(s ...googleapi.Field) *AppsServicesVersionsListCall {
  7690  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7691  	return c
  7692  }
  7693  
  7694  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7695  // object's ETag matches the given value. This is useful for getting updates
  7696  // only after the object has changed since the last request.
  7697  func (c *AppsServicesVersionsListCall) IfNoneMatch(entityTag string) *AppsServicesVersionsListCall {
  7698  	c.ifNoneMatch_ = entityTag
  7699  	return c
  7700  }
  7701  
  7702  // Context sets the context to be used in this call's Do method.
  7703  func (c *AppsServicesVersionsListCall) Context(ctx context.Context) *AppsServicesVersionsListCall {
  7704  	c.ctx_ = ctx
  7705  	return c
  7706  }
  7707  
  7708  // Header returns a http.Header that can be modified by the caller to add
  7709  // headers to the request.
  7710  func (c *AppsServicesVersionsListCall) Header() http.Header {
  7711  	if c.header_ == nil {
  7712  		c.header_ = make(http.Header)
  7713  	}
  7714  	return c.header_
  7715  }
  7716  
  7717  func (c *AppsServicesVersionsListCall) doRequest(alt string) (*http.Response, error) {
  7718  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7719  	if c.ifNoneMatch_ != "" {
  7720  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7721  	}
  7722  	var body io.Reader = nil
  7723  	c.urlParams_.Set("alt", alt)
  7724  	c.urlParams_.Set("prettyPrint", "false")
  7725  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions")
  7726  	urls += "?" + c.urlParams_.Encode()
  7727  	req, err := http.NewRequest("GET", urls, body)
  7728  	if err != nil {
  7729  		return nil, err
  7730  	}
  7731  	req.Header = reqHeaders
  7732  	googleapi.Expand(req.URL, map[string]string{
  7733  		"appsId":     c.appsId,
  7734  		"servicesId": c.servicesId,
  7735  	})
  7736  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7737  }
  7738  
  7739  // Do executes the "appengine.apps.services.versions.list" call.
  7740  // Any non-2xx status code is an error. Response headers are in either
  7741  // *ListVersionsResponse.ServerResponse.Header or (if a response was returned
  7742  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7743  // check whether the returned error was because http.StatusNotModified was
  7744  // returned.
  7745  func (c *AppsServicesVersionsListCall) Do(opts ...googleapi.CallOption) (*ListVersionsResponse, error) {
  7746  	gensupport.SetOptions(c.urlParams_, opts...)
  7747  	res, err := c.doRequest("json")
  7748  	if res != nil && res.StatusCode == http.StatusNotModified {
  7749  		if res.Body != nil {
  7750  			res.Body.Close()
  7751  		}
  7752  		return nil, gensupport.WrapError(&googleapi.Error{
  7753  			Code:   res.StatusCode,
  7754  			Header: res.Header,
  7755  		})
  7756  	}
  7757  	if err != nil {
  7758  		return nil, err
  7759  	}
  7760  	defer googleapi.CloseBody(res)
  7761  	if err := googleapi.CheckResponse(res); err != nil {
  7762  		return nil, gensupport.WrapError(err)
  7763  	}
  7764  	ret := &ListVersionsResponse{
  7765  		ServerResponse: googleapi.ServerResponse{
  7766  			Header:         res.Header,
  7767  			HTTPStatusCode: res.StatusCode,
  7768  		},
  7769  	}
  7770  	target := &ret
  7771  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7772  		return nil, err
  7773  	}
  7774  	return ret, nil
  7775  }
  7776  
  7777  // Pages invokes f for each page of results.
  7778  // A non-nil error returned from f will halt the iteration.
  7779  // The provided context supersedes any context provided to the Context method.
  7780  func (c *AppsServicesVersionsListCall) Pages(ctx context.Context, f func(*ListVersionsResponse) error) error {
  7781  	c.ctx_ = ctx
  7782  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7783  	for {
  7784  		x, err := c.Do()
  7785  		if err != nil {
  7786  			return err
  7787  		}
  7788  		if err := f(x); err != nil {
  7789  			return err
  7790  		}
  7791  		if x.NextPageToken == "" {
  7792  			return nil
  7793  		}
  7794  		c.PageToken(x.NextPageToken)
  7795  	}
  7796  }
  7797  
  7798  type AppsServicesVersionsPatchCall struct {
  7799  	s          *APIService
  7800  	appsId     string
  7801  	servicesId string
  7802  	versionsId string
  7803  	version    *Version
  7804  	urlParams_ gensupport.URLParams
  7805  	ctx_       context.Context
  7806  	header_    http.Header
  7807  }
  7808  
  7809  // Patch: Updates the specified Version resource. You can specify the following
  7810  // fields depending on the App Engine environment and type of scaling that the
  7811  // version resource uses:Standard environment instance_class
  7812  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class)automatic
  7813  // scaling in the standard environment: automatic_scaling.min_idle_instances
  7814  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
  7815  // automatic_scaling.max_idle_instances
  7816  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
  7817  // automaticScaling.standard_scheduler_settings.max_instances
  7818  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
  7819  // automaticScaling.standard_scheduler_settings.min_instances
  7820  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
  7821  // automaticScaling.standard_scheduler_settings.target_cpu_utilization
  7822  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
  7823  // automaticScaling.standard_scheduler_settings.target_throughput_utilization
  7824  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)basic
  7825  // scaling or manual scaling in the standard environment: serving_status
  7826  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)
  7827  // manual_scaling.instances
  7828  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)Flexible
  7829  // environment serving_status
  7830  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)automatic
  7831  // scaling in the flexible environment: automatic_scaling.min_total_instances
  7832  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
  7833  // automatic_scaling.max_total_instances
  7834  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
  7835  // automatic_scaling.cool_down_period_sec
  7836  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
  7837  // automatic_scaling.cpu_utilization.target_utilization
  7838  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)manual
  7839  // scaling in the flexible environment: manual_scaling.instances
  7840  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)
  7841  //
  7842  //   - appsId: Part of `name`. Name of the resource to update. Example:
  7843  //     apps/myapp/services/default/versions/1.
  7844  //   - servicesId: Part of `name`. See documentation of `appsId`.
  7845  //   - versionsId: Part of `name`. See documentation of `appsId`.
  7846  func (r *AppsServicesVersionsService) Patch(appsId string, servicesId string, versionsId string, version *Version) *AppsServicesVersionsPatchCall {
  7847  	c := &AppsServicesVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7848  	c.appsId = appsId
  7849  	c.servicesId = servicesId
  7850  	c.versionsId = versionsId
  7851  	c.version = version
  7852  	return c
  7853  }
  7854  
  7855  // UpdateMask sets the optional parameter "updateMask": Standard field mask for
  7856  // the set of fields to be updated.
  7857  func (c *AppsServicesVersionsPatchCall) UpdateMask(updateMask string) *AppsServicesVersionsPatchCall {
  7858  	c.urlParams_.Set("updateMask", updateMask)
  7859  	return c
  7860  }
  7861  
  7862  // Fields allows partial responses to be retrieved. See
  7863  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7864  // details.
  7865  func (c *AppsServicesVersionsPatchCall) Fields(s ...googleapi.Field) *AppsServicesVersionsPatchCall {
  7866  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7867  	return c
  7868  }
  7869  
  7870  // Context sets the context to be used in this call's Do method.
  7871  func (c *AppsServicesVersionsPatchCall) Context(ctx context.Context) *AppsServicesVersionsPatchCall {
  7872  	c.ctx_ = ctx
  7873  	return c
  7874  }
  7875  
  7876  // Header returns a http.Header that can be modified by the caller to add
  7877  // headers to the request.
  7878  func (c *AppsServicesVersionsPatchCall) Header() http.Header {
  7879  	if c.header_ == nil {
  7880  		c.header_ = make(http.Header)
  7881  	}
  7882  	return c.header_
  7883  }
  7884  
  7885  func (c *AppsServicesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
  7886  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7887  	var body io.Reader = nil
  7888  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.version)
  7889  	if err != nil {
  7890  		return nil, err
  7891  	}
  7892  	c.urlParams_.Set("alt", alt)
  7893  	c.urlParams_.Set("prettyPrint", "false")
  7894  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
  7895  	urls += "?" + c.urlParams_.Encode()
  7896  	req, err := http.NewRequest("PATCH", urls, body)
  7897  	if err != nil {
  7898  		return nil, err
  7899  	}
  7900  	req.Header = reqHeaders
  7901  	googleapi.Expand(req.URL, map[string]string{
  7902  		"appsId":     c.appsId,
  7903  		"servicesId": c.servicesId,
  7904  		"versionsId": c.versionsId,
  7905  	})
  7906  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7907  }
  7908  
  7909  // Do executes the "appengine.apps.services.versions.patch" call.
  7910  // Any non-2xx status code is an error. Response headers are in either
  7911  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7912  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7913  // whether the returned error was because http.StatusNotModified was returned.
  7914  func (c *AppsServicesVersionsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7915  	gensupport.SetOptions(c.urlParams_, opts...)
  7916  	res, err := c.doRequest("json")
  7917  	if res != nil && res.StatusCode == http.StatusNotModified {
  7918  		if res.Body != nil {
  7919  			res.Body.Close()
  7920  		}
  7921  		return nil, gensupport.WrapError(&googleapi.Error{
  7922  			Code:   res.StatusCode,
  7923  			Header: res.Header,
  7924  		})
  7925  	}
  7926  	if err != nil {
  7927  		return nil, err
  7928  	}
  7929  	defer googleapi.CloseBody(res)
  7930  	if err := googleapi.CheckResponse(res); err != nil {
  7931  		return nil, gensupport.WrapError(err)
  7932  	}
  7933  	ret := &Operation{
  7934  		ServerResponse: googleapi.ServerResponse{
  7935  			Header:         res.Header,
  7936  			HTTPStatusCode: res.StatusCode,
  7937  		},
  7938  	}
  7939  	target := &ret
  7940  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7941  		return nil, err
  7942  	}
  7943  	return ret, nil
  7944  }
  7945  
  7946  type AppsServicesVersionsInstancesDebugCall struct {
  7947  	s                    *APIService
  7948  	appsId               string
  7949  	servicesId           string
  7950  	versionsId           string
  7951  	instancesId          string
  7952  	debuginstancerequest *DebugInstanceRequest
  7953  	urlParams_           gensupport.URLParams
  7954  	ctx_                 context.Context
  7955  	header_              http.Header
  7956  }
  7957  
  7958  // Debug: Enables debugging on a VM instance. This allows you to use the SSH
  7959  // command to connect to the virtual machine where the instance lives. While in
  7960  // "debug mode", the instance continues to serve live traffic. You should
  7961  // delete the instance when you are done debugging and then allow the system to
  7962  // take over and determine if another instance should be started.Only
  7963  // applicable for instances in App Engine flexible environment.
  7964  //
  7965  //   - appsId: Part of `name`. Name of the resource requested. Example:
  7966  //     apps/myapp/services/default/versions/v1/instances/instance-1.
  7967  //   - instancesId: Part of `name`. See documentation of `appsId`.
  7968  //   - servicesId: Part of `name`. See documentation of `appsId`.
  7969  //   - versionsId: Part of `name`. See documentation of `appsId`.
  7970  func (r *AppsServicesVersionsInstancesService) Debug(appsId string, servicesId string, versionsId string, instancesId string, debuginstancerequest *DebugInstanceRequest) *AppsServicesVersionsInstancesDebugCall {
  7971  	c := &AppsServicesVersionsInstancesDebugCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7972  	c.appsId = appsId
  7973  	c.servicesId = servicesId
  7974  	c.versionsId = versionsId
  7975  	c.instancesId = instancesId
  7976  	c.debuginstancerequest = debuginstancerequest
  7977  	return c
  7978  }
  7979  
  7980  // Fields allows partial responses to be retrieved. See
  7981  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7982  // details.
  7983  func (c *AppsServicesVersionsInstancesDebugCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesDebugCall {
  7984  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7985  	return c
  7986  }
  7987  
  7988  // Context sets the context to be used in this call's Do method.
  7989  func (c *AppsServicesVersionsInstancesDebugCall) Context(ctx context.Context) *AppsServicesVersionsInstancesDebugCall {
  7990  	c.ctx_ = ctx
  7991  	return c
  7992  }
  7993  
  7994  // Header returns a http.Header that can be modified by the caller to add
  7995  // headers to the request.
  7996  func (c *AppsServicesVersionsInstancesDebugCall) Header() http.Header {
  7997  	if c.header_ == nil {
  7998  		c.header_ = make(http.Header)
  7999  	}
  8000  	return c.header_
  8001  }
  8002  
  8003  func (c *AppsServicesVersionsInstancesDebugCall) doRequest(alt string) (*http.Response, error) {
  8004  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8005  	var body io.Reader = nil
  8006  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.debuginstancerequest)
  8007  	if err != nil {
  8008  		return nil, err
  8009  	}
  8010  	c.urlParams_.Set("alt", alt)
  8011  	c.urlParams_.Set("prettyPrint", "false")
  8012  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug")
  8013  	urls += "?" + c.urlParams_.Encode()
  8014  	req, err := http.NewRequest("POST", urls, body)
  8015  	if err != nil {
  8016  		return nil, err
  8017  	}
  8018  	req.Header = reqHeaders
  8019  	googleapi.Expand(req.URL, map[string]string{
  8020  		"appsId":      c.appsId,
  8021  		"servicesId":  c.servicesId,
  8022  		"versionsId":  c.versionsId,
  8023  		"instancesId": c.instancesId,
  8024  	})
  8025  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8026  }
  8027  
  8028  // Do executes the "appengine.apps.services.versions.instances.debug" call.
  8029  // Any non-2xx status code is an error. Response headers are in either
  8030  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8031  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8032  // whether the returned error was because http.StatusNotModified was returned.
  8033  func (c *AppsServicesVersionsInstancesDebugCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8034  	gensupport.SetOptions(c.urlParams_, opts...)
  8035  	res, err := c.doRequest("json")
  8036  	if res != nil && res.StatusCode == http.StatusNotModified {
  8037  		if res.Body != nil {
  8038  			res.Body.Close()
  8039  		}
  8040  		return nil, gensupport.WrapError(&googleapi.Error{
  8041  			Code:   res.StatusCode,
  8042  			Header: res.Header,
  8043  		})
  8044  	}
  8045  	if err != nil {
  8046  		return nil, err
  8047  	}
  8048  	defer googleapi.CloseBody(res)
  8049  	if err := googleapi.CheckResponse(res); err != nil {
  8050  		return nil, gensupport.WrapError(err)
  8051  	}
  8052  	ret := &Operation{
  8053  		ServerResponse: googleapi.ServerResponse{
  8054  			Header:         res.Header,
  8055  			HTTPStatusCode: res.StatusCode,
  8056  		},
  8057  	}
  8058  	target := &ret
  8059  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8060  		return nil, err
  8061  	}
  8062  	return ret, nil
  8063  }
  8064  
  8065  type AppsServicesVersionsInstancesDeleteCall struct {
  8066  	s           *APIService
  8067  	appsId      string
  8068  	servicesId  string
  8069  	versionsId  string
  8070  	instancesId string
  8071  	urlParams_  gensupport.URLParams
  8072  	ctx_        context.Context
  8073  	header_     http.Header
  8074  }
  8075  
  8076  // Delete: Stops a running instance.The instance might be automatically
  8077  // recreated based on the scaling settings of the version. For more
  8078  // information, see "How Instances are Managed" (standard environment
  8079  // (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed)
  8080  // | flexible environment
  8081  // (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To
  8082  // ensure that instances are not re-created and avoid getting billed, you can
  8083  // stop all instances within the target version by changing the serving status
  8084  // of the version to STOPPED with the apps.services.versions.patch
  8085  // (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch)
  8086  // method.
  8087  //
  8088  //   - appsId: Part of `name`. Name of the resource requested. Example:
  8089  //     apps/myapp/services/default/versions/v1/instances/instance-1.
  8090  //   - instancesId: Part of `name`. See documentation of `appsId`.
  8091  //   - servicesId: Part of `name`. See documentation of `appsId`.
  8092  //   - versionsId: Part of `name`. See documentation of `appsId`.
  8093  func (r *AppsServicesVersionsInstancesService) Delete(appsId string, servicesId string, versionsId string, instancesId string) *AppsServicesVersionsInstancesDeleteCall {
  8094  	c := &AppsServicesVersionsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8095  	c.appsId = appsId
  8096  	c.servicesId = servicesId
  8097  	c.versionsId = versionsId
  8098  	c.instancesId = instancesId
  8099  	return c
  8100  }
  8101  
  8102  // Fields allows partial responses to be retrieved. See
  8103  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8104  // details.
  8105  func (c *AppsServicesVersionsInstancesDeleteCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesDeleteCall {
  8106  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8107  	return c
  8108  }
  8109  
  8110  // Context sets the context to be used in this call's Do method.
  8111  func (c *AppsServicesVersionsInstancesDeleteCall) Context(ctx context.Context) *AppsServicesVersionsInstancesDeleteCall {
  8112  	c.ctx_ = ctx
  8113  	return c
  8114  }
  8115  
  8116  // Header returns a http.Header that can be modified by the caller to add
  8117  // headers to the request.
  8118  func (c *AppsServicesVersionsInstancesDeleteCall) Header() http.Header {
  8119  	if c.header_ == nil {
  8120  		c.header_ = make(http.Header)
  8121  	}
  8122  	return c.header_
  8123  }
  8124  
  8125  func (c *AppsServicesVersionsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8126  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8127  	var body io.Reader = nil
  8128  	c.urlParams_.Set("alt", alt)
  8129  	c.urlParams_.Set("prettyPrint", "false")
  8130  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}")
  8131  	urls += "?" + c.urlParams_.Encode()
  8132  	req, err := http.NewRequest("DELETE", urls, body)
  8133  	if err != nil {
  8134  		return nil, err
  8135  	}
  8136  	req.Header = reqHeaders
  8137  	googleapi.Expand(req.URL, map[string]string{
  8138  		"appsId":      c.appsId,
  8139  		"servicesId":  c.servicesId,
  8140  		"versionsId":  c.versionsId,
  8141  		"instancesId": c.instancesId,
  8142  	})
  8143  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8144  }
  8145  
  8146  // Do executes the "appengine.apps.services.versions.instances.delete" call.
  8147  // Any non-2xx status code is an error. Response headers are in either
  8148  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8149  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8150  // whether the returned error was because http.StatusNotModified was returned.
  8151  func (c *AppsServicesVersionsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8152  	gensupport.SetOptions(c.urlParams_, opts...)
  8153  	res, err := c.doRequest("json")
  8154  	if res != nil && res.StatusCode == http.StatusNotModified {
  8155  		if res.Body != nil {
  8156  			res.Body.Close()
  8157  		}
  8158  		return nil, gensupport.WrapError(&googleapi.Error{
  8159  			Code:   res.StatusCode,
  8160  			Header: res.Header,
  8161  		})
  8162  	}
  8163  	if err != nil {
  8164  		return nil, err
  8165  	}
  8166  	defer googleapi.CloseBody(res)
  8167  	if err := googleapi.CheckResponse(res); err != nil {
  8168  		return nil, gensupport.WrapError(err)
  8169  	}
  8170  	ret := &Operation{
  8171  		ServerResponse: googleapi.ServerResponse{
  8172  			Header:         res.Header,
  8173  			HTTPStatusCode: res.StatusCode,
  8174  		},
  8175  	}
  8176  	target := &ret
  8177  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8178  		return nil, err
  8179  	}
  8180  	return ret, nil
  8181  }
  8182  
  8183  type AppsServicesVersionsInstancesGetCall struct {
  8184  	s            *APIService
  8185  	appsId       string
  8186  	servicesId   string
  8187  	versionsId   string
  8188  	instancesId  string
  8189  	urlParams_   gensupport.URLParams
  8190  	ifNoneMatch_ string
  8191  	ctx_         context.Context
  8192  	header_      http.Header
  8193  }
  8194  
  8195  // Get: Gets instance information.
  8196  //
  8197  //   - appsId: Part of `name`. Name of the resource requested. Example:
  8198  //     apps/myapp/services/default/versions/v1/instances/instance-1.
  8199  //   - instancesId: Part of `name`. See documentation of `appsId`.
  8200  //   - servicesId: Part of `name`. See documentation of `appsId`.
  8201  //   - versionsId: Part of `name`. See documentation of `appsId`.
  8202  func (r *AppsServicesVersionsInstancesService) Get(appsId string, servicesId string, versionsId string, instancesId string) *AppsServicesVersionsInstancesGetCall {
  8203  	c := &AppsServicesVersionsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8204  	c.appsId = appsId
  8205  	c.servicesId = servicesId
  8206  	c.versionsId = versionsId
  8207  	c.instancesId = instancesId
  8208  	return c
  8209  }
  8210  
  8211  // Fields allows partial responses to be retrieved. See
  8212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8213  // details.
  8214  func (c *AppsServicesVersionsInstancesGetCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesGetCall {
  8215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8216  	return c
  8217  }
  8218  
  8219  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8220  // object's ETag matches the given value. This is useful for getting updates
  8221  // only after the object has changed since the last request.
  8222  func (c *AppsServicesVersionsInstancesGetCall) IfNoneMatch(entityTag string) *AppsServicesVersionsInstancesGetCall {
  8223  	c.ifNoneMatch_ = entityTag
  8224  	return c
  8225  }
  8226  
  8227  // Context sets the context to be used in this call's Do method.
  8228  func (c *AppsServicesVersionsInstancesGetCall) Context(ctx context.Context) *AppsServicesVersionsInstancesGetCall {
  8229  	c.ctx_ = ctx
  8230  	return c
  8231  }
  8232  
  8233  // Header returns a http.Header that can be modified by the caller to add
  8234  // headers to the request.
  8235  func (c *AppsServicesVersionsInstancesGetCall) Header() http.Header {
  8236  	if c.header_ == nil {
  8237  		c.header_ = make(http.Header)
  8238  	}
  8239  	return c.header_
  8240  }
  8241  
  8242  func (c *AppsServicesVersionsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
  8243  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8244  	if c.ifNoneMatch_ != "" {
  8245  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8246  	}
  8247  	var body io.Reader = nil
  8248  	c.urlParams_.Set("alt", alt)
  8249  	c.urlParams_.Set("prettyPrint", "false")
  8250  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}")
  8251  	urls += "?" + c.urlParams_.Encode()
  8252  	req, err := http.NewRequest("GET", urls, body)
  8253  	if err != nil {
  8254  		return nil, err
  8255  	}
  8256  	req.Header = reqHeaders
  8257  	googleapi.Expand(req.URL, map[string]string{
  8258  		"appsId":      c.appsId,
  8259  		"servicesId":  c.servicesId,
  8260  		"versionsId":  c.versionsId,
  8261  		"instancesId": c.instancesId,
  8262  	})
  8263  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8264  }
  8265  
  8266  // Do executes the "appengine.apps.services.versions.instances.get" call.
  8267  // Any non-2xx status code is an error. Response headers are in either
  8268  // *Instance.ServerResponse.Header or (if a response was returned at all) in
  8269  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8270  // whether the returned error was because http.StatusNotModified was returned.
  8271  func (c *AppsServicesVersionsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
  8272  	gensupport.SetOptions(c.urlParams_, opts...)
  8273  	res, err := c.doRequest("json")
  8274  	if res != nil && res.StatusCode == http.StatusNotModified {
  8275  		if res.Body != nil {
  8276  			res.Body.Close()
  8277  		}
  8278  		return nil, gensupport.WrapError(&googleapi.Error{
  8279  			Code:   res.StatusCode,
  8280  			Header: res.Header,
  8281  		})
  8282  	}
  8283  	if err != nil {
  8284  		return nil, err
  8285  	}
  8286  	defer googleapi.CloseBody(res)
  8287  	if err := googleapi.CheckResponse(res); err != nil {
  8288  		return nil, gensupport.WrapError(err)
  8289  	}
  8290  	ret := &Instance{
  8291  		ServerResponse: googleapi.ServerResponse{
  8292  			Header:         res.Header,
  8293  			HTTPStatusCode: res.StatusCode,
  8294  		},
  8295  	}
  8296  	target := &ret
  8297  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8298  		return nil, err
  8299  	}
  8300  	return ret, nil
  8301  }
  8302  
  8303  type AppsServicesVersionsInstancesListCall struct {
  8304  	s            *APIService
  8305  	appsId       string
  8306  	servicesId   string
  8307  	versionsId   string
  8308  	urlParams_   gensupport.URLParams
  8309  	ifNoneMatch_ string
  8310  	ctx_         context.Context
  8311  	header_      http.Header
  8312  }
  8313  
  8314  // List: Lists the instances of a version.Tip: To aggregate details about
  8315  // instances over time, see the Stackdriver Monitoring API
  8316  // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
  8317  //
  8318  //   - appsId: Part of `parent`. Name of the parent Version resource. Example:
  8319  //     apps/myapp/services/default/versions/v1.
  8320  //   - servicesId: Part of `parent`. See documentation of `appsId`.
  8321  //   - versionsId: Part of `parent`. See documentation of `appsId`.
  8322  func (r *AppsServicesVersionsInstancesService) List(appsId string, servicesId string, versionsId string) *AppsServicesVersionsInstancesListCall {
  8323  	c := &AppsServicesVersionsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8324  	c.appsId = appsId
  8325  	c.servicesId = servicesId
  8326  	c.versionsId = versionsId
  8327  	return c
  8328  }
  8329  
  8330  // PageSize sets the optional parameter "pageSize": Maximum results to return
  8331  // per page.
  8332  func (c *AppsServicesVersionsInstancesListCall) PageSize(pageSize int64) *AppsServicesVersionsInstancesListCall {
  8333  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8334  	return c
  8335  }
  8336  
  8337  // PageToken sets the optional parameter "pageToken": Continuation token for
  8338  // fetching the next page of results.
  8339  func (c *AppsServicesVersionsInstancesListCall) PageToken(pageToken string) *AppsServicesVersionsInstancesListCall {
  8340  	c.urlParams_.Set("pageToken", pageToken)
  8341  	return c
  8342  }
  8343  
  8344  // Fields allows partial responses to be retrieved. See
  8345  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8346  // details.
  8347  func (c *AppsServicesVersionsInstancesListCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesListCall {
  8348  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8349  	return c
  8350  }
  8351  
  8352  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8353  // object's ETag matches the given value. This is useful for getting updates
  8354  // only after the object has changed since the last request.
  8355  func (c *AppsServicesVersionsInstancesListCall) IfNoneMatch(entityTag string) *AppsServicesVersionsInstancesListCall {
  8356  	c.ifNoneMatch_ = entityTag
  8357  	return c
  8358  }
  8359  
  8360  // Context sets the context to be used in this call's Do method.
  8361  func (c *AppsServicesVersionsInstancesListCall) Context(ctx context.Context) *AppsServicesVersionsInstancesListCall {
  8362  	c.ctx_ = ctx
  8363  	return c
  8364  }
  8365  
  8366  // Header returns a http.Header that can be modified by the caller to add
  8367  // headers to the request.
  8368  func (c *AppsServicesVersionsInstancesListCall) Header() http.Header {
  8369  	if c.header_ == nil {
  8370  		c.header_ = make(http.Header)
  8371  	}
  8372  	return c.header_
  8373  }
  8374  
  8375  func (c *AppsServicesVersionsInstancesListCall) doRequest(alt string) (*http.Response, error) {
  8376  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8377  	if c.ifNoneMatch_ != "" {
  8378  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8379  	}
  8380  	var body io.Reader = nil
  8381  	c.urlParams_.Set("alt", alt)
  8382  	c.urlParams_.Set("prettyPrint", "false")
  8383  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances")
  8384  	urls += "?" + c.urlParams_.Encode()
  8385  	req, err := http.NewRequest("GET", urls, body)
  8386  	if err != nil {
  8387  		return nil, err
  8388  	}
  8389  	req.Header = reqHeaders
  8390  	googleapi.Expand(req.URL, map[string]string{
  8391  		"appsId":     c.appsId,
  8392  		"servicesId": c.servicesId,
  8393  		"versionsId": c.versionsId,
  8394  	})
  8395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8396  }
  8397  
  8398  // Do executes the "appengine.apps.services.versions.instances.list" call.
  8399  // Any non-2xx status code is an error. Response headers are in either
  8400  // *ListInstancesResponse.ServerResponse.Header or (if a response was returned
  8401  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8402  // check whether the returned error was because http.StatusNotModified was
  8403  // returned.
  8404  func (c *AppsServicesVersionsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
  8405  	gensupport.SetOptions(c.urlParams_, opts...)
  8406  	res, err := c.doRequest("json")
  8407  	if res != nil && res.StatusCode == http.StatusNotModified {
  8408  		if res.Body != nil {
  8409  			res.Body.Close()
  8410  		}
  8411  		return nil, gensupport.WrapError(&googleapi.Error{
  8412  			Code:   res.StatusCode,
  8413  			Header: res.Header,
  8414  		})
  8415  	}
  8416  	if err != nil {
  8417  		return nil, err
  8418  	}
  8419  	defer googleapi.CloseBody(res)
  8420  	if err := googleapi.CheckResponse(res); err != nil {
  8421  		return nil, gensupport.WrapError(err)
  8422  	}
  8423  	ret := &ListInstancesResponse{
  8424  		ServerResponse: googleapi.ServerResponse{
  8425  			Header:         res.Header,
  8426  			HTTPStatusCode: res.StatusCode,
  8427  		},
  8428  	}
  8429  	target := &ret
  8430  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8431  		return nil, err
  8432  	}
  8433  	return ret, nil
  8434  }
  8435  
  8436  // Pages invokes f for each page of results.
  8437  // A non-nil error returned from f will halt the iteration.
  8438  // The provided context supersedes any context provided to the Context method.
  8439  func (c *AppsServicesVersionsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
  8440  	c.ctx_ = ctx
  8441  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8442  	for {
  8443  		x, err := c.Do()
  8444  		if err != nil {
  8445  			return err
  8446  		}
  8447  		if err := f(x); err != nil {
  8448  			return err
  8449  		}
  8450  		if x.NextPageToken == "" {
  8451  			return nil
  8452  		}
  8453  		c.PageToken(x.NextPageToken)
  8454  	}
  8455  }
  8456  
  8457  type ProjectsLocationsGetCall struct {
  8458  	s            *APIService
  8459  	projectsId   string
  8460  	locationsId  string
  8461  	urlParams_   gensupport.URLParams
  8462  	ifNoneMatch_ string
  8463  	ctx_         context.Context
  8464  	header_      http.Header
  8465  }
  8466  
  8467  // Get: Gets information about a location.
  8468  //
  8469  // - locationsId: Part of `name`. See documentation of `projectsId`.
  8470  // - projectsId: Part of `name`. Resource name for the location.
  8471  func (r *ProjectsLocationsService) Get(projectsId string, locationsId string) *ProjectsLocationsGetCall {
  8472  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8473  	c.projectsId = projectsId
  8474  	c.locationsId = locationsId
  8475  	return c
  8476  }
  8477  
  8478  // Fields allows partial responses to be retrieved. See
  8479  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8480  // details.
  8481  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  8482  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8483  	return c
  8484  }
  8485  
  8486  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8487  // object's ETag matches the given value. This is useful for getting updates
  8488  // only after the object has changed since the last request.
  8489  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  8490  	c.ifNoneMatch_ = entityTag
  8491  	return c
  8492  }
  8493  
  8494  // Context sets the context to be used in this call's Do method.
  8495  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  8496  	c.ctx_ = ctx
  8497  	return c
  8498  }
  8499  
  8500  // Header returns a http.Header that can be modified by the caller to add
  8501  // headers to the request.
  8502  func (c *ProjectsLocationsGetCall) Header() http.Header {
  8503  	if c.header_ == nil {
  8504  		c.header_ = make(http.Header)
  8505  	}
  8506  	return c.header_
  8507  }
  8508  
  8509  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  8510  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8511  	if c.ifNoneMatch_ != "" {
  8512  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8513  	}
  8514  	var body io.Reader = nil
  8515  	c.urlParams_.Set("alt", alt)
  8516  	c.urlParams_.Set("prettyPrint", "false")
  8517  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/projects/{projectsId}/locations/{locationsId}")
  8518  	urls += "?" + c.urlParams_.Encode()
  8519  	req, err := http.NewRequest("GET", urls, body)
  8520  	if err != nil {
  8521  		return nil, err
  8522  	}
  8523  	req.Header = reqHeaders
  8524  	googleapi.Expand(req.URL, map[string]string{
  8525  		"projectsId":  c.projectsId,
  8526  		"locationsId": c.locationsId,
  8527  	})
  8528  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8529  }
  8530  
  8531  // Do executes the "appengine.projects.locations.get" call.
  8532  // Any non-2xx status code is an error. Response headers are in either
  8533  // *Location.ServerResponse.Header or (if a response was returned at all) in
  8534  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8535  // whether the returned error was because http.StatusNotModified was returned.
  8536  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  8537  	gensupport.SetOptions(c.urlParams_, opts...)
  8538  	res, err := c.doRequest("json")
  8539  	if res != nil && res.StatusCode == http.StatusNotModified {
  8540  		if res.Body != nil {
  8541  			res.Body.Close()
  8542  		}
  8543  		return nil, gensupport.WrapError(&googleapi.Error{
  8544  			Code:   res.StatusCode,
  8545  			Header: res.Header,
  8546  		})
  8547  	}
  8548  	if err != nil {
  8549  		return nil, err
  8550  	}
  8551  	defer googleapi.CloseBody(res)
  8552  	if err := googleapi.CheckResponse(res); err != nil {
  8553  		return nil, gensupport.WrapError(err)
  8554  	}
  8555  	ret := &Location{
  8556  		ServerResponse: googleapi.ServerResponse{
  8557  			Header:         res.Header,
  8558  			HTTPStatusCode: res.StatusCode,
  8559  		},
  8560  	}
  8561  	target := &ret
  8562  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8563  		return nil, err
  8564  	}
  8565  	return ret, nil
  8566  }
  8567  
  8568  type ProjectsLocationsListCall struct {
  8569  	s            *APIService
  8570  	projectsId   string
  8571  	urlParams_   gensupport.URLParams
  8572  	ifNoneMatch_ string
  8573  	ctx_         context.Context
  8574  	header_      http.Header
  8575  }
  8576  
  8577  // List: Lists information about the supported locations for this service.
  8578  //
  8579  //   - projectsId: Part of `name`. The resource that owns the locations
  8580  //     collection, if applicable.
  8581  func (r *ProjectsLocationsService) List(projectsId string) *ProjectsLocationsListCall {
  8582  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8583  	c.projectsId = projectsId
  8584  	return c
  8585  }
  8586  
  8587  // Filter sets the optional parameter "filter": A filter to narrow down results
  8588  // to a preferred subset. The filtering language accepts strings like
  8589  // "displayName=tokyo", and is documented in more detail in AIP-160
  8590  // (https://google.aip.dev/160).
  8591  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  8592  	c.urlParams_.Set("filter", filter)
  8593  	return c
  8594  }
  8595  
  8596  // PageSize sets the optional parameter "pageSize": The maximum number of
  8597  // results to return. If not set, the service selects a default.
  8598  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  8599  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8600  	return c
  8601  }
  8602  
  8603  // PageToken sets the optional parameter "pageToken": A page token received
  8604  // from the next_page_token field in the response. Send that page token to
  8605  // receive the subsequent page.
  8606  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  8607  	c.urlParams_.Set("pageToken", pageToken)
  8608  	return c
  8609  }
  8610  
  8611  // Fields allows partial responses to be retrieved. See
  8612  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8613  // details.
  8614  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  8615  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8616  	return c
  8617  }
  8618  
  8619  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8620  // object's ETag matches the given value. This is useful for getting updates
  8621  // only after the object has changed since the last request.
  8622  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  8623  	c.ifNoneMatch_ = entityTag
  8624  	return c
  8625  }
  8626  
  8627  // Context sets the context to be used in this call's Do method.
  8628  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  8629  	c.ctx_ = ctx
  8630  	return c
  8631  }
  8632  
  8633  // Header returns a http.Header that can be modified by the caller to add
  8634  // headers to the request.
  8635  func (c *ProjectsLocationsListCall) Header() http.Header {
  8636  	if c.header_ == nil {
  8637  		c.header_ = make(http.Header)
  8638  	}
  8639  	return c.header_
  8640  }
  8641  
  8642  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  8643  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8644  	if c.ifNoneMatch_ != "" {
  8645  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8646  	}
  8647  	var body io.Reader = nil
  8648  	c.urlParams_.Set("alt", alt)
  8649  	c.urlParams_.Set("prettyPrint", "false")
  8650  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/projects/{projectsId}/locations")
  8651  	urls += "?" + c.urlParams_.Encode()
  8652  	req, err := http.NewRequest("GET", urls, body)
  8653  	if err != nil {
  8654  		return nil, err
  8655  	}
  8656  	req.Header = reqHeaders
  8657  	googleapi.Expand(req.URL, map[string]string{
  8658  		"projectsId": c.projectsId,
  8659  	})
  8660  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8661  }
  8662  
  8663  // Do executes the "appengine.projects.locations.list" call.
  8664  // Any non-2xx status code is an error. Response headers are in either
  8665  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  8666  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8667  // check whether the returned error was because http.StatusNotModified was
  8668  // returned.
  8669  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  8670  	gensupport.SetOptions(c.urlParams_, opts...)
  8671  	res, err := c.doRequest("json")
  8672  	if res != nil && res.StatusCode == http.StatusNotModified {
  8673  		if res.Body != nil {
  8674  			res.Body.Close()
  8675  		}
  8676  		return nil, gensupport.WrapError(&googleapi.Error{
  8677  			Code:   res.StatusCode,
  8678  			Header: res.Header,
  8679  		})
  8680  	}
  8681  	if err != nil {
  8682  		return nil, err
  8683  	}
  8684  	defer googleapi.CloseBody(res)
  8685  	if err := googleapi.CheckResponse(res); err != nil {
  8686  		return nil, gensupport.WrapError(err)
  8687  	}
  8688  	ret := &ListLocationsResponse{
  8689  		ServerResponse: googleapi.ServerResponse{
  8690  			Header:         res.Header,
  8691  			HTTPStatusCode: res.StatusCode,
  8692  		},
  8693  	}
  8694  	target := &ret
  8695  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8696  		return nil, err
  8697  	}
  8698  	return ret, nil
  8699  }
  8700  
  8701  // Pages invokes f for each page of results.
  8702  // A non-nil error returned from f will halt the iteration.
  8703  // The provided context supersedes any context provided to the Context method.
  8704  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  8705  	c.ctx_ = ctx
  8706  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8707  	for {
  8708  		x, err := c.Do()
  8709  		if err != nil {
  8710  			return err
  8711  		}
  8712  		if err := f(x); err != nil {
  8713  			return err
  8714  		}
  8715  		if x.NextPageToken == "" {
  8716  			return nil
  8717  		}
  8718  		c.PageToken(x.NextPageToken)
  8719  	}
  8720  }
  8721  
  8722  type ProjectsLocationsApplicationsAuthorizedDomainsListCall struct {
  8723  	s              *APIService
  8724  	projectsId     string
  8725  	locationsId    string
  8726  	applicationsId string
  8727  	urlParams_     gensupport.URLParams
  8728  	ifNoneMatch_   string
  8729  	ctx_           context.Context
  8730  	header_        http.Header
  8731  }
  8732  
  8733  // List: Lists all domains the user is authorized to administer.
  8734  //
  8735  //   - applicationsId: Part of `parent`. See documentation of `projectsId`.
  8736  //   - locationsId: Part of `parent`. See documentation of `projectsId`.
  8737  //   - projectsId: Part of `parent`. Name of the parent Application resource.
  8738  //     Example: apps/myapp.
  8739  func (r *ProjectsLocationsApplicationsAuthorizedDomainsService) List(projectsId string, locationsId string, applicationsId string) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8740  	c := &ProjectsLocationsApplicationsAuthorizedDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8741  	c.projectsId = projectsId
  8742  	c.locationsId = locationsId
  8743  	c.applicationsId = applicationsId
  8744  	return c
  8745  }
  8746  
  8747  // PageSize sets the optional parameter "pageSize": Maximum results to return
  8748  // per page.
  8749  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) PageSize(pageSize int64) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8750  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8751  	return c
  8752  }
  8753  
  8754  // PageToken sets the optional parameter "pageToken": Continuation token for
  8755  // fetching the next page of results.
  8756  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) PageToken(pageToken string) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8757  	c.urlParams_.Set("pageToken", pageToken)
  8758  	return c
  8759  }
  8760  
  8761  // Fields allows partial responses to be retrieved. See
  8762  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8763  // details.
  8764  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8765  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8766  	return c
  8767  }
  8768  
  8769  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8770  // object's ETag matches the given value. This is useful for getting updates
  8771  // only after the object has changed since the last request.
  8772  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8773  	c.ifNoneMatch_ = entityTag
  8774  	return c
  8775  }
  8776  
  8777  // Context sets the context to be used in this call's Do method.
  8778  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) Context(ctx context.Context) *ProjectsLocationsApplicationsAuthorizedDomainsListCall {
  8779  	c.ctx_ = ctx
  8780  	return c
  8781  }
  8782  
  8783  // Header returns a http.Header that can be modified by the caller to add
  8784  // headers to the request.
  8785  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) Header() http.Header {
  8786  	if c.header_ == nil {
  8787  		c.header_ = make(http.Header)
  8788  	}
  8789  	return c.header_
  8790  }
  8791  
  8792  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
  8793  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8794  	if c.ifNoneMatch_ != "" {
  8795  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8796  	}
  8797  	var body io.Reader = nil
  8798  	c.urlParams_.Set("alt", alt)
  8799  	c.urlParams_.Set("prettyPrint", "false")
  8800  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains")
  8801  	urls += "?" + c.urlParams_.Encode()
  8802  	req, err := http.NewRequest("GET", urls, body)
  8803  	if err != nil {
  8804  		return nil, err
  8805  	}
  8806  	req.Header = reqHeaders
  8807  	googleapi.Expand(req.URL, map[string]string{
  8808  		"projectsId":     c.projectsId,
  8809  		"locationsId":    c.locationsId,
  8810  		"applicationsId": c.applicationsId,
  8811  	})
  8812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8813  }
  8814  
  8815  // Do executes the "appengine.projects.locations.applications.authorizedDomains.list" call.
  8816  // Any non-2xx status code is an error. Response headers are in either
  8817  // *ListAuthorizedDomainsResponse.ServerResponse.Header or (if a response was
  8818  // returned at all) in error.(*googleapi.Error).Header. Use
  8819  // googleapi.IsNotModified to check whether the returned error was because
  8820  // http.StatusNotModified was returned.
  8821  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedDomainsResponse, error) {
  8822  	gensupport.SetOptions(c.urlParams_, opts...)
  8823  	res, err := c.doRequest("json")
  8824  	if res != nil && res.StatusCode == http.StatusNotModified {
  8825  		if res.Body != nil {
  8826  			res.Body.Close()
  8827  		}
  8828  		return nil, gensupport.WrapError(&googleapi.Error{
  8829  			Code:   res.StatusCode,
  8830  			Header: res.Header,
  8831  		})
  8832  	}
  8833  	if err != nil {
  8834  		return nil, err
  8835  	}
  8836  	defer googleapi.CloseBody(res)
  8837  	if err := googleapi.CheckResponse(res); err != nil {
  8838  		return nil, gensupport.WrapError(err)
  8839  	}
  8840  	ret := &ListAuthorizedDomainsResponse{
  8841  		ServerResponse: googleapi.ServerResponse{
  8842  			Header:         res.Header,
  8843  			HTTPStatusCode: res.StatusCode,
  8844  		},
  8845  	}
  8846  	target := &ret
  8847  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8848  		return nil, err
  8849  	}
  8850  	return ret, nil
  8851  }
  8852  
  8853  // Pages invokes f for each page of results.
  8854  // A non-nil error returned from f will halt the iteration.
  8855  // The provided context supersedes any context provided to the Context method.
  8856  func (c *ProjectsLocationsApplicationsAuthorizedDomainsListCall) Pages(ctx context.Context, f func(*ListAuthorizedDomainsResponse) error) error {
  8857  	c.ctx_ = ctx
  8858  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8859  	for {
  8860  		x, err := c.Do()
  8861  		if err != nil {
  8862  			return err
  8863  		}
  8864  		if err := f(x); err != nil {
  8865  			return err
  8866  		}
  8867  		if x.NextPageToken == "" {
  8868  			return nil
  8869  		}
  8870  		c.PageToken(x.NextPageToken)
  8871  	}
  8872  }
  8873  
  8874  type ProjectsLocationsOperationsGetCall struct {
  8875  	s            *APIService
  8876  	projectsId   string
  8877  	locationsId  string
  8878  	operationsId string
  8879  	urlParams_   gensupport.URLParams
  8880  	ifNoneMatch_ string
  8881  	ctx_         context.Context
  8882  	header_      http.Header
  8883  }
  8884  
  8885  // Get: Gets the latest state of a long-running operation. Clients can use this
  8886  // method to poll the operation result at intervals as recommended by the API
  8887  // service.
  8888  //
  8889  // - locationsId: Part of `name`. See documentation of `projectsId`.
  8890  // - operationsId: Part of `name`. See documentation of `projectsId`.
  8891  // - projectsId: Part of `name`. The name of the operation resource.
  8892  func (r *ProjectsLocationsOperationsService) Get(projectsId string, locationsId string, operationsId string) *ProjectsLocationsOperationsGetCall {
  8893  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8894  	c.projectsId = projectsId
  8895  	c.locationsId = locationsId
  8896  	c.operationsId = operationsId
  8897  	return c
  8898  }
  8899  
  8900  // Fields allows partial responses to be retrieved. See
  8901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8902  // details.
  8903  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  8904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8905  	return c
  8906  }
  8907  
  8908  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8909  // object's ETag matches the given value. This is useful for getting updates
  8910  // only after the object has changed since the last request.
  8911  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  8912  	c.ifNoneMatch_ = entityTag
  8913  	return c
  8914  }
  8915  
  8916  // Context sets the context to be used in this call's Do method.
  8917  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  8918  	c.ctx_ = ctx
  8919  	return c
  8920  }
  8921  
  8922  // Header returns a http.Header that can be modified by the caller to add
  8923  // headers to the request.
  8924  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  8925  	if c.header_ == nil {
  8926  		c.header_ = make(http.Header)
  8927  	}
  8928  	return c.header_
  8929  }
  8930  
  8931  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  8932  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8933  	if c.ifNoneMatch_ != "" {
  8934  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8935  	}
  8936  	var body io.Reader = nil
  8937  	c.urlParams_.Set("alt", alt)
  8938  	c.urlParams_.Set("prettyPrint", "false")
  8939  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}")
  8940  	urls += "?" + c.urlParams_.Encode()
  8941  	req, err := http.NewRequest("GET", urls, body)
  8942  	if err != nil {
  8943  		return nil, err
  8944  	}
  8945  	req.Header = reqHeaders
  8946  	googleapi.Expand(req.URL, map[string]string{
  8947  		"projectsId":   c.projectsId,
  8948  		"locationsId":  c.locationsId,
  8949  		"operationsId": c.operationsId,
  8950  	})
  8951  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8952  }
  8953  
  8954  // Do executes the "appengine.projects.locations.operations.get" call.
  8955  // Any non-2xx status code is an error. Response headers are in either
  8956  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8957  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8958  // whether the returned error was because http.StatusNotModified was returned.
  8959  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8960  	gensupport.SetOptions(c.urlParams_, opts...)
  8961  	res, err := c.doRequest("json")
  8962  	if res != nil && res.StatusCode == http.StatusNotModified {
  8963  		if res.Body != nil {
  8964  			res.Body.Close()
  8965  		}
  8966  		return nil, gensupport.WrapError(&googleapi.Error{
  8967  			Code:   res.StatusCode,
  8968  			Header: res.Header,
  8969  		})
  8970  	}
  8971  	if err != nil {
  8972  		return nil, err
  8973  	}
  8974  	defer googleapi.CloseBody(res)
  8975  	if err := googleapi.CheckResponse(res); err != nil {
  8976  		return nil, gensupport.WrapError(err)
  8977  	}
  8978  	ret := &Operation{
  8979  		ServerResponse: googleapi.ServerResponse{
  8980  			Header:         res.Header,
  8981  			HTTPStatusCode: res.StatusCode,
  8982  		},
  8983  	}
  8984  	target := &ret
  8985  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8986  		return nil, err
  8987  	}
  8988  	return ret, nil
  8989  }
  8990  
  8991  type ProjectsLocationsOperationsListCall struct {
  8992  	s            *APIService
  8993  	projectsId   string
  8994  	locationsId  string
  8995  	urlParams_   gensupport.URLParams
  8996  	ifNoneMatch_ string
  8997  	ctx_         context.Context
  8998  	header_      http.Header
  8999  }
  9000  
  9001  // List: Lists operations that match the specified filter in the request. If
  9002  // the server doesn't support this method, it returns UNIMPLEMENTED.
  9003  //
  9004  // - locationsId: Part of `name`. See documentation of `projectsId`.
  9005  // - projectsId: Part of `name`. The name of the operation's parent resource.
  9006  func (r *ProjectsLocationsOperationsService) List(projectsId string, locationsId string) *ProjectsLocationsOperationsListCall {
  9007  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9008  	c.projectsId = projectsId
  9009  	c.locationsId = locationsId
  9010  	return c
  9011  }
  9012  
  9013  // Filter sets the optional parameter "filter": The standard list filter.
  9014  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  9015  	c.urlParams_.Set("filter", filter)
  9016  	return c
  9017  }
  9018  
  9019  // PageSize sets the optional parameter "pageSize": The standard list page
  9020  // size.
  9021  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  9022  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9023  	return c
  9024  }
  9025  
  9026  // PageToken sets the optional parameter "pageToken": The standard list page
  9027  // token.
  9028  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  9029  	c.urlParams_.Set("pageToken", pageToken)
  9030  	return c
  9031  }
  9032  
  9033  // Fields allows partial responses to be retrieved. See
  9034  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9035  // details.
  9036  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  9037  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9038  	return c
  9039  }
  9040  
  9041  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9042  // object's ETag matches the given value. This is useful for getting updates
  9043  // only after the object has changed since the last request.
  9044  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  9045  	c.ifNoneMatch_ = entityTag
  9046  	return c
  9047  }
  9048  
  9049  // Context sets the context to be used in this call's Do method.
  9050  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  9051  	c.ctx_ = ctx
  9052  	return c
  9053  }
  9054  
  9055  // Header returns a http.Header that can be modified by the caller to add
  9056  // headers to the request.
  9057  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  9058  	if c.header_ == nil {
  9059  		c.header_ = make(http.Header)
  9060  	}
  9061  	return c.header_
  9062  }
  9063  
  9064  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  9065  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9066  	if c.ifNoneMatch_ != "" {
  9067  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9068  	}
  9069  	var body io.Reader = nil
  9070  	c.urlParams_.Set("alt", alt)
  9071  	c.urlParams_.Set("prettyPrint", "false")
  9072  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/projects/{projectsId}/locations/{locationsId}/operations")
  9073  	urls += "?" + c.urlParams_.Encode()
  9074  	req, err := http.NewRequest("GET", urls, body)
  9075  	if err != nil {
  9076  		return nil, err
  9077  	}
  9078  	req.Header = reqHeaders
  9079  	googleapi.Expand(req.URL, map[string]string{
  9080  		"projectsId":  c.projectsId,
  9081  		"locationsId": c.locationsId,
  9082  	})
  9083  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9084  }
  9085  
  9086  // Do executes the "appengine.projects.locations.operations.list" call.
  9087  // Any non-2xx status code is an error. Response headers are in either
  9088  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  9089  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9090  // check whether the returned error was because http.StatusNotModified was
  9091  // returned.
  9092  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  9093  	gensupport.SetOptions(c.urlParams_, opts...)
  9094  	res, err := c.doRequest("json")
  9095  	if res != nil && res.StatusCode == http.StatusNotModified {
  9096  		if res.Body != nil {
  9097  			res.Body.Close()
  9098  		}
  9099  		return nil, gensupport.WrapError(&googleapi.Error{
  9100  			Code:   res.StatusCode,
  9101  			Header: res.Header,
  9102  		})
  9103  	}
  9104  	if err != nil {
  9105  		return nil, err
  9106  	}
  9107  	defer googleapi.CloseBody(res)
  9108  	if err := googleapi.CheckResponse(res); err != nil {
  9109  		return nil, gensupport.WrapError(err)
  9110  	}
  9111  	ret := &ListOperationsResponse{
  9112  		ServerResponse: googleapi.ServerResponse{
  9113  			Header:         res.Header,
  9114  			HTTPStatusCode: res.StatusCode,
  9115  		},
  9116  	}
  9117  	target := &ret
  9118  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9119  		return nil, err
  9120  	}
  9121  	return ret, nil
  9122  }
  9123  
  9124  // Pages invokes f for each page of results.
  9125  // A non-nil error returned from f will halt the iteration.
  9126  // The provided context supersedes any context provided to the Context method.
  9127  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  9128  	c.ctx_ = ctx
  9129  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9130  	for {
  9131  		x, err := c.Do()
  9132  		if err != nil {
  9133  			return err
  9134  		}
  9135  		if err := f(x); err != nil {
  9136  			return err
  9137  		}
  9138  		if x.NextPageToken == "" {
  9139  			return nil
  9140  		}
  9141  		c.PageToken(x.NextPageToken)
  9142  	}
  9143  }
  9144  

View as plain text