1// Copyright 2021 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// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/appengine/v1beta"
16//   ...
17//   ctx := context.Background()
18//   appengineService, err := appengine.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   appengineService, err := appengine.NewService(ctx, option.WithScopes(appengine.CloudPlatformReadOnlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   appengineService, err := appengine.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   appengineService, err := appengine.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package appengine // import "google.golang.org/api/appengine/v1beta"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "appengine:v1beta"
79const apiName = "appengine"
80const apiVersion = "v1beta"
81const basePath = "https://appengine.googleapis.com/"
82const mtlsBasePath = "https://appengine.mtls.googleapis.com/"
83
84// OAuth2 scopes used by this API.
85const (
86	// View and manage your applications deployed on Google App Engine
87	AppengineAdminScope = "https://www.googleapis.com/auth/appengine.admin"
88
89	// See, edit, configure, and delete your Google Cloud Platform data
90	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
91
92	// View your data across Google Cloud Platform services
93	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
94)
95
96// NewService creates a new APIService.
97func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) {
98	scopesOption := option.WithScopes(
99		"https://www.googleapis.com/auth/appengine.admin",
100		"https://www.googleapis.com/auth/cloud-platform",
101		"https://www.googleapis.com/auth/cloud-platform.read-only",
102	)
103	// NOTE: prepend, so we don't override user-specified scopes.
104	opts = append([]option.ClientOption{scopesOption}, opts...)
105	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
106	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
107	client, endpoint, err := htransport.NewClient(ctx, opts...)
108	if err != nil {
109		return nil, err
110	}
111	s, err := New(client)
112	if err != nil {
113		return nil, err
114	}
115	if endpoint != "" {
116		s.BasePath = endpoint
117	}
118	return s, nil
119}
120
121// New creates a new APIService. It uses the provided http.Client for requests.
122//
123// Deprecated: please use NewService instead.
124// To provide a custom HTTP client, use option.WithHTTPClient.
125// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
126func New(client *http.Client) (*APIService, error) {
127	if client == nil {
128		return nil, errors.New("client is nil")
129	}
130	s := &APIService{client: client, BasePath: basePath}
131	s.Apps = NewAppsService(s)
132	return s, nil
133}
134
135type APIService struct {
136	client    *http.Client
137	BasePath  string // API endpoint base URL
138	UserAgent string // optional additional User-Agent fragment
139
140	Apps *AppsService
141}
142
143func (s *APIService) userAgent() string {
144	if s.UserAgent == "" {
145		return googleapi.UserAgent
146	}
147	return googleapi.UserAgent + " " + s.UserAgent
148}
149
150func NewAppsService(s *APIService) *AppsService {
151	rs := &AppsService{s: s}
152	rs.AuthorizedCertificates = NewAppsAuthorizedCertificatesService(s)
153	rs.AuthorizedDomains = NewAppsAuthorizedDomainsService(s)
154	rs.DomainMappings = NewAppsDomainMappingsService(s)
155	rs.Firewall = NewAppsFirewallService(s)
156	rs.Locations = NewAppsLocationsService(s)
157	rs.Operations = NewAppsOperationsService(s)
158	rs.Services = NewAppsServicesService(s)
159	return rs
160}
161
162type AppsService struct {
163	s *APIService
164
165	AuthorizedCertificates *AppsAuthorizedCertificatesService
166
167	AuthorizedDomains *AppsAuthorizedDomainsService
168
169	DomainMappings *AppsDomainMappingsService
170
171	Firewall *AppsFirewallService
172
173	Locations *AppsLocationsService
174
175	Operations *AppsOperationsService
176
177	Services *AppsServicesService
178}
179
180func NewAppsAuthorizedCertificatesService(s *APIService) *AppsAuthorizedCertificatesService {
181	rs := &AppsAuthorizedCertificatesService{s: s}
182	return rs
183}
184
185type AppsAuthorizedCertificatesService struct {
186	s *APIService
187}
188
189func NewAppsAuthorizedDomainsService(s *APIService) *AppsAuthorizedDomainsService {
190	rs := &AppsAuthorizedDomainsService{s: s}
191	return rs
192}
193
194type AppsAuthorizedDomainsService struct {
195	s *APIService
196}
197
198func NewAppsDomainMappingsService(s *APIService) *AppsDomainMappingsService {
199	rs := &AppsDomainMappingsService{s: s}
200	return rs
201}
202
203type AppsDomainMappingsService struct {
204	s *APIService
205}
206
207func NewAppsFirewallService(s *APIService) *AppsFirewallService {
208	rs := &AppsFirewallService{s: s}
209	rs.IngressRules = NewAppsFirewallIngressRulesService(s)
210	return rs
211}
212
213type AppsFirewallService struct {
214	s *APIService
215
216	IngressRules *AppsFirewallIngressRulesService
217}
218
219func NewAppsFirewallIngressRulesService(s *APIService) *AppsFirewallIngressRulesService {
220	rs := &AppsFirewallIngressRulesService{s: s}
221	return rs
222}
223
224type AppsFirewallIngressRulesService struct {
225	s *APIService
226}
227
228func NewAppsLocationsService(s *APIService) *AppsLocationsService {
229	rs := &AppsLocationsService{s: s}
230	return rs
231}
232
233type AppsLocationsService struct {
234	s *APIService
235}
236
237func NewAppsOperationsService(s *APIService) *AppsOperationsService {
238	rs := &AppsOperationsService{s: s}
239	return rs
240}
241
242type AppsOperationsService struct {
243	s *APIService
244}
245
246func NewAppsServicesService(s *APIService) *AppsServicesService {
247	rs := &AppsServicesService{s: s}
248	rs.Versions = NewAppsServicesVersionsService(s)
249	return rs
250}
251
252type AppsServicesService struct {
253	s *APIService
254
255	Versions *AppsServicesVersionsService
256}
257
258func NewAppsServicesVersionsService(s *APIService) *AppsServicesVersionsService {
259	rs := &AppsServicesVersionsService{s: s}
260	rs.Instances = NewAppsServicesVersionsInstancesService(s)
261	return rs
262}
263
264type AppsServicesVersionsService struct {
265	s *APIService
266
267	Instances *AppsServicesVersionsInstancesService
268}
269
270func NewAppsServicesVersionsInstancesService(s *APIService) *AppsServicesVersionsInstancesService {
271	rs := &AppsServicesVersionsInstancesService{s: s}
272	return rs
273}
274
275type AppsServicesVersionsInstancesService struct {
276	s *APIService
277}
278
279// ApiConfigHandler: Google Cloud Endpoints
280// (https://cloud.google.com/appengine/docs/python/endpoints/)
281// configuration for API handlers.
282type ApiConfigHandler struct {
283	// AuthFailAction: Action to take when users access resources that
284	// require authentication. Defaults to redirect.
285	//
286	// Possible values:
287	//   "AUTH_FAIL_ACTION_UNSPECIFIED" - Not specified.
288	// AUTH_FAIL_ACTION_REDIRECT is assumed.
289	//   "AUTH_FAIL_ACTION_REDIRECT" - Redirects user to
290	// "accounts.google.com". The user is redirected back to the application
291	// URL after signing in or creating an account.
292	//   "AUTH_FAIL_ACTION_UNAUTHORIZED" - Rejects request with a 401 HTTP
293	// status code and an error message.
294	AuthFailAction string `json:"authFailAction,omitempty"`
295
296	// Login: Level of login required to access this resource. Defaults to
297	// optional.
298	//
299	// Possible values:
300	//   "LOGIN_UNSPECIFIED" - Not specified. LOGIN_OPTIONAL is assumed.
301	//   "LOGIN_OPTIONAL" - Does not require that the user is signed in.
302	//   "LOGIN_ADMIN" - If the user is not signed in, the auth_fail_action
303	// is taken. In addition, if the user is not an administrator for the
304	// application, they are given an error message regardless of
305	// auth_fail_action. If the user is an administrator, the handler
306	// proceeds.
307	//   "LOGIN_REQUIRED" - If the user has signed in, the handler proceeds
308	// normally. Otherwise, the auth_fail_action is taken.
309	Login string `json:"login,omitempty"`
310
311	// Script: Path to the script from the application root directory.
312	Script string `json:"script,omitempty"`
313
314	// SecurityLevel: Security (HTTPS) enforcement for this URL.
315	//
316	// Possible values:
317	//   "SECURE_UNSPECIFIED" - Not specified.
318	//   "SECURE_DEFAULT" - Both HTTP and HTTPS requests with URLs that
319	// match the handler succeed without redirects. The application can
320	// examine the request to determine which protocol was used, and respond
321	// accordingly.
322	//   "SECURE_NEVER" - Requests for a URL that match this handler that
323	// use HTTPS are automatically redirected to the HTTP equivalent URL.
324	//   "SECURE_OPTIONAL" - Both HTTP and HTTPS requests with URLs that
325	// match the handler succeed without redirects. The application can
326	// examine the request to determine which protocol was used and respond
327	// accordingly.
328	//   "SECURE_ALWAYS" - Requests for a URL that match this handler that
329	// do not use HTTPS are automatically redirected to the HTTPS URL with
330	// the same path. Query parameters are reserved for the redirect.
331	SecurityLevel string `json:"securityLevel,omitempty"`
332
333	// Url: URL to serve the endpoint at.
334	Url string `json:"url,omitempty"`
335
336	// ForceSendFields is a list of field names (e.g. "AuthFailAction") to
337	// unconditionally include in API requests. By default, fields with
338	// empty values are omitted from API requests. However, any non-pointer,
339	// non-interface field appearing in ForceSendFields will be sent to the
340	// server regardless of whether the field is empty or not. This may be
341	// used to include empty fields in Patch requests.
342	ForceSendFields []string `json:"-"`
343
344	// NullFields is a list of field names (e.g. "AuthFailAction") to
345	// include in API requests with the JSON null value. By default, fields
346	// with empty values are omitted from API requests. However, any field
347	// with an empty value appearing in NullFields will be sent to the
348	// server as null. It is an error if a field in this list has a
349	// non-empty value. This may be used to include null fields in Patch
350	// requests.
351	NullFields []string `json:"-"`
352}
353
354func (s *ApiConfigHandler) MarshalJSON() ([]byte, error) {
355	type NoMethod ApiConfigHandler
356	raw := NoMethod(*s)
357	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
358}
359
360// ApiEndpointHandler: Uses Google Cloud Endpoints to handle requests.
361type ApiEndpointHandler struct {
362	// ScriptPath: Path to the script from the application root directory.
363	ScriptPath string `json:"scriptPath,omitempty"`
364
365	// ForceSendFields is a list of field names (e.g. "ScriptPath") to
366	// unconditionally include in API requests. By default, fields with
367	// empty values are omitted from API requests. However, any non-pointer,
368	// non-interface field appearing in ForceSendFields will be sent to the
369	// server regardless of whether the field is empty or not. This may be
370	// used to include empty fields in Patch requests.
371	ForceSendFields []string `json:"-"`
372
373	// NullFields is a list of field names (e.g. "ScriptPath") to include in
374	// API requests with the JSON null value. By default, fields with empty
375	// values are omitted from API requests. However, any field with an
376	// empty value appearing in NullFields will be sent to the server as
377	// null. It is an error if a field in this list has a non-empty value.
378	// This may be used to include null fields in Patch requests.
379	NullFields []string `json:"-"`
380}
381
382func (s *ApiEndpointHandler) MarshalJSON() ([]byte, error) {
383	type NoMethod ApiEndpointHandler
384	raw := NoMethod(*s)
385	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
386}
387
388// Application: An Application resource contains the top-level
389// configuration of an App Engine application.
390type Application struct {
391	// AuthDomain: Google Apps authentication domain that controls which
392	// users can access this application.Defaults to open access for any
393	// Google Account.
394	AuthDomain string `json:"authDomain,omitempty"`
395
396	// CodeBucket: Google Cloud Storage bucket that can be used for storing
397	// files associated with this application. This bucket is associated
398	// with the application and can be used by the gcloud deployment
399	// commands.@OutputOnly
400	CodeBucket string `json:"codeBucket,omitempty"`
401
402	// DatabaseType: The type of the Cloud Firestore or Cloud Datastore
403	// database associated with this application.
404	//
405	// Possible values:
406	//   "DATABASE_TYPE_UNSPECIFIED" - Database type is unspecified.
407	//   "CLOUD_DATASTORE" - Cloud Datastore
408	//   "CLOUD_FIRESTORE" - Cloud Firestore Native
409	//   "CLOUD_DATASTORE_COMPATIBILITY" - Cloud Firestore in Datastore Mode
410	DatabaseType string `json:"databaseType,omitempty"`
411
412	// DefaultBucket: Google Cloud Storage bucket that can be used by this
413	// application to store content.@OutputOnly
414	DefaultBucket string `json:"defaultBucket,omitempty"`
415
416	// DefaultCookieExpiration: Cookie expiration policy for this
417	// application.
418	DefaultCookieExpiration string `json:"defaultCookieExpiration,omitempty"`
419
420	// DefaultHostname: Hostname used to reach this application, as resolved
421	// by App Engine.@OutputOnly
422	DefaultHostname string `json:"defaultHostname,omitempty"`
423
424	// DispatchRules: HTTP path dispatch rules for requests to the
425	// application that do not explicitly target a service or version. Rules
426	// are order-dependent. Up to 20 dispatch rules can be supported.
427	DispatchRules []*UrlDispatchRule `json:"dispatchRules,omitempty"`
428
429	// FeatureSettings: The feature specific settings to be used in the
430	// application.
431	FeatureSettings *FeatureSettings `json:"featureSettings,omitempty"`
432
433	// GcrDomain: The Google Container Registry domain used for storing
434	// managed build docker images for this application.
435	GcrDomain string `json:"gcrDomain,omitempty"`
436
437	Iap *IdentityAwareProxy `json:"iap,omitempty"`
438
439	// Id: Identifier of the Application resource. This identifier is
440	// equivalent to the project ID of the Google Cloud Platform project
441	// where you want to deploy your application. Example: myapp.
442	Id string `json:"id,omitempty"`
443
444	// LocationId: Location from which this application runs. Application
445	// instances run out of the data centers in the specified location,
446	// which is also where all of the application's end user content is
447	// stored.Defaults to us-central.View the list of supported locations
448	// (https://cloud.google.com/appengine/docs/locations).
449	LocationId string `json:"locationId,omitempty"`
450
451	// Name: Full path to the Application resource in the API. Example:
452	// apps/myapp.@OutputOnly
453	Name string `json:"name,omitempty"`
454
455	// ServingStatus: Serving status of this application.
456	//
457	// Possible values:
458	//   "UNSPECIFIED" - Serving status is unspecified.
459	//   "SERVING" - Application is serving.
460	//   "USER_DISABLED" - Application has been disabled by the user.
461	//   "SYSTEM_DISABLED" - Application has been disabled by the system.
462	ServingStatus string `json:"servingStatus,omitempty"`
463
464	// ServerResponse contains the HTTP response code and headers from the
465	// server.
466	googleapi.ServerResponse `json:"-"`
467
468	// ForceSendFields is a list of field names (e.g. "AuthDomain") to
469	// unconditionally include in API requests. By default, fields with
470	// empty values are omitted from API requests. However, any non-pointer,
471	// non-interface field appearing in ForceSendFields will be sent to the
472	// server regardless of whether the field is empty or not. This may be
473	// used to include empty fields in Patch requests.
474	ForceSendFields []string `json:"-"`
475
476	// NullFields is a list of field names (e.g. "AuthDomain") to include in
477	// API requests with the JSON null value. By default, fields with empty
478	// values are omitted from API requests. However, any field with an
479	// empty value appearing in NullFields will be sent to the server as
480	// null. It is an error if a field in this list has a non-empty value.
481	// This may be used to include null fields in Patch requests.
482	NullFields []string `json:"-"`
483}
484
485func (s *Application) MarshalJSON() ([]byte, error) {
486	type NoMethod Application
487	raw := NoMethod(*s)
488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
489}
490
491// AuthorizedCertificate: An SSL certificate that a user has been
492// authorized to administer. A user is authorized to administer any
493// certificate that applies to one of their authorized domains.
494type AuthorizedCertificate struct {
495	// CertificateRawData: The SSL certificate serving the
496	// AuthorizedCertificate resource. This must be obtained independently
497	// from a certificate authority.
498	CertificateRawData *CertificateRawData `json:"certificateRawData,omitempty"`
499
500	// DisplayName: The user-specified display name of the certificate. This
501	// is not guaranteed to be unique. Example: My Certificate.
502	DisplayName string `json:"displayName,omitempty"`
503
504	// DomainMappingsCount: Aggregate count of the domain mappings with this
505	// certificate mapped. This count includes domain mappings on
506	// applications for which the user does not have VIEWER permissions.Only
507	// returned by GET or LIST requests when specifically requested by the
508	// view=FULL_CERTIFICATE option.@OutputOnly
509	DomainMappingsCount int64 `json:"domainMappingsCount,omitempty"`
510
511	// DomainNames: Topmost applicable domains of this certificate. This
512	// certificate applies to these domains and their subdomains. Example:
513	// example.com.@OutputOnly
514	DomainNames []string `json:"domainNames,omitempty"`
515
516	// ExpireTime: The time when this certificate expires. To update the
517	// renewal time on this certificate, upload an SSL certificate with a
518	// different expiration time using
519	// AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly
520	ExpireTime string `json:"expireTime,omitempty"`
521
522	// Id: Relative name of the certificate. This is a unique value
523	// autogenerated on AuthorizedCertificate resource creation. Example:
524	// 12345.@OutputOnly
525	Id string `json:"id,omitempty"`
526
527	// ManagedCertificate: Only applicable if this certificate is managed by
528	// App Engine. Managed certificates are tied to the lifecycle of a
529	// DomainMapping and cannot be updated or deleted via the
530	// AuthorizedCertificates API. If this certificate is manually
531	// administered by the user, this field will be empty.@OutputOnly
532	ManagedCertificate *ManagedCertificate `json:"managedCertificate,omitempty"`
533
534	// Name: Full path to the AuthorizedCertificate resource in the API.
535	// Example: apps/myapp/authorizedCertificates/12345.@OutputOnly
536	Name string `json:"name,omitempty"`
537
538	// VisibleDomainMappings: The full paths to user visible Domain Mapping
539	// resources that have this certificate mapped. Example:
540	// apps/myapp/domainMappings/example.com.This may not represent the full
541	// list of mapped domain mappings if the user does not have VIEWER
542	// permissions on all of the applications that have this certificate
543	// mapped. See domain_mappings_count for a complete count.Only returned
544	// by GET or LIST requests when specifically requested by the
545	// view=FULL_CERTIFICATE option.@OutputOnly
546	VisibleDomainMappings []string `json:"visibleDomainMappings,omitempty"`
547
548	// ServerResponse contains the HTTP response code and headers from the
549	// server.
550	googleapi.ServerResponse `json:"-"`
551
552	// ForceSendFields is a list of field names (e.g. "CertificateRawData")
553	// to unconditionally include in API requests. By default, fields with
554	// empty values are omitted from API requests. However, any non-pointer,
555	// non-interface field appearing in ForceSendFields will be sent to the
556	// server regardless of whether the field is empty or not. This may be
557	// used to include empty fields in Patch requests.
558	ForceSendFields []string `json:"-"`
559
560	// NullFields is a list of field names (e.g. "CertificateRawData") to
561	// include in API requests with the JSON null value. By default, fields
562	// with empty values are omitted from API requests. However, any field
563	// with an empty value appearing in NullFields will be sent to the
564	// server as null. It is an error if a field in this list has a
565	// non-empty value. This may be used to include null fields in Patch
566	// requests.
567	NullFields []string `json:"-"`
568}
569
570func (s *AuthorizedCertificate) MarshalJSON() ([]byte, error) {
571	type NoMethod AuthorizedCertificate
572	raw := NoMethod(*s)
573	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
574}
575
576// AuthorizedDomain: A domain that a user has been authorized to
577// administer. To authorize use of a domain, verify ownership via
578// Webmaster Central
579// (https://www.google.com/webmasters/verification/home).
580type AuthorizedDomain struct {
581	// Id: Fully qualified domain name of the domain authorized for use.
582	// Example: example.com.
583	Id string `json:"id,omitempty"`
584
585	// Name: Full path to the AuthorizedDomain resource in the API. Example:
586	// apps/myapp/authorizedDomains/example.com.@OutputOnly
587	Name string `json:"name,omitempty"`
588
589	// ForceSendFields is a list of field names (e.g. "Id") to
590	// unconditionally include in API requests. By default, fields with
591	// empty values are omitted from API requests. However, any non-pointer,
592	// non-interface field appearing in ForceSendFields will be sent to the
593	// server regardless of whether the field is empty or not. This may be
594	// used to include empty fields in Patch requests.
595	ForceSendFields []string `json:"-"`
596
597	// NullFields is a list of field names (e.g. "Id") to include in API
598	// requests with the JSON null value. By default, fields with empty
599	// values are omitted from API requests. However, any field with an
600	// empty value appearing in NullFields will be sent to the server as
601	// null. It is an error if a field in this list has a non-empty value.
602	// This may be used to include null fields in Patch requests.
603	NullFields []string `json:"-"`
604}
605
606func (s *AuthorizedDomain) MarshalJSON() ([]byte, error) {
607	type NoMethod AuthorizedDomain
608	raw := NoMethod(*s)
609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
610}
611
612// AutomaticScaling: Automatic scaling is based on request rate,
613// response latencies, and other application metrics.
614type AutomaticScaling struct {
615	// CoolDownPeriod: The time period that the Autoscaler
616	// (https://cloud.google.com/compute/docs/autoscaler/) should wait
617	// before it starts collecting information from a new instance. This
618	// prevents the autoscaler from collecting information when the instance
619	// is initializing, during which the collected usage would not be
620	// reliable. Only applicable in the App Engine flexible environment.
621	CoolDownPeriod string `json:"coolDownPeriod,omitempty"`
622
623	// CpuUtilization: Target scaling by CPU usage.
624	CpuUtilization *CpuUtilization `json:"cpuUtilization,omitempty"`
625
626	// CustomMetrics: Target scaling by user-provided metrics. Only
627	// applicable in the App Engine flexible environment.
628	CustomMetrics []*CustomMetric `json:"customMetrics,omitempty"`
629
630	// DiskUtilization: Target scaling by disk usage.
631	DiskUtilization *DiskUtilization `json:"diskUtilization,omitempty"`
632
633	// MaxConcurrentRequests: Number of concurrent requests an automatic
634	// scaling instance can accept before the scheduler spawns a new
635	// instance.Defaults to a runtime-specific value.
636	MaxConcurrentRequests int64 `json:"maxConcurrentRequests,omitempty"`
637
638	// MaxIdleInstances: Maximum number of idle instances that should be
639	// maintained for this version.
640	MaxIdleInstances int64 `json:"maxIdleInstances,omitempty"`
641
642	// MaxPendingLatency: Maximum amount of time that a request should wait
643	// in the pending queue before starting a new instance to handle it.
644	MaxPendingLatency string `json:"maxPendingLatency,omitempty"`
645
646	// MaxTotalInstances: Maximum number of instances that should be started
647	// to handle requests for this version.
648	MaxTotalInstances int64 `json:"maxTotalInstances,omitempty"`
649
650	// MinIdleInstances: Minimum number of idle instances that should be
651	// maintained for this version. Only applicable for the default version
652	// of a service.
653	MinIdleInstances int64 `json:"minIdleInstances,omitempty"`
654
655	// MinPendingLatency: Minimum amount of time a request should wait in
656	// the pending queue before starting a new instance to handle it.
657	MinPendingLatency string `json:"minPendingLatency,omitempty"`
658
659	// MinTotalInstances: Minimum number of running instances that should be
660	// maintained for this version.
661	MinTotalInstances int64 `json:"minTotalInstances,omitempty"`
662
663	// NetworkUtilization: Target scaling by network usage.
664	NetworkUtilization *NetworkUtilization `json:"networkUtilization,omitempty"`
665
666	// RequestUtilization: Target scaling by request utilization.
667	RequestUtilization *RequestUtilization `json:"requestUtilization,omitempty"`
668
669	// StandardSchedulerSettings: Scheduler settings for standard
670	// environment.
671	StandardSchedulerSettings *StandardSchedulerSettings `json:"standardSchedulerSettings,omitempty"`
672
673	// ForceSendFields is a list of field names (e.g. "CoolDownPeriod") to
674	// unconditionally include in API requests. By default, fields with
675	// empty values are omitted from API requests. However, any non-pointer,
676	// non-interface field appearing in ForceSendFields will be sent to the
677	// server regardless of whether the field is empty or not. This may be
678	// used to include empty fields in Patch requests.
679	ForceSendFields []string `json:"-"`
680
681	// NullFields is a list of field names (e.g. "CoolDownPeriod") to
682	// include in API requests with the JSON null value. By default, fields
683	// with empty values are omitted from API requests. However, any field
684	// with an empty value appearing in NullFields will be sent to the
685	// server as null. It is an error if a field in this list has a
686	// non-empty value. This may be used to include null fields in Patch
687	// requests.
688	NullFields []string `json:"-"`
689}
690
691func (s *AutomaticScaling) MarshalJSON() ([]byte, error) {
692	type NoMethod AutomaticScaling
693	raw := NoMethod(*s)
694	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
695}
696
697// BasicScaling: A service with basic scaling will create an instance
698// when the application receives a request. The instance will be turned
699// down when the app becomes idle. Basic scaling is ideal for work that
700// is intermittent or driven by user activity.
701type BasicScaling struct {
702	// IdleTimeout: Duration of time after the last request that an instance
703	// must wait before the instance is shut down.
704	IdleTimeout string `json:"idleTimeout,omitempty"`
705
706	// MaxInstances: Maximum number of instances to create for this version.
707	MaxInstances int64 `json:"maxInstances,omitempty"`
708
709	// ForceSendFields is a list of field names (e.g. "IdleTimeout") to
710	// unconditionally include in API requests. By default, fields with
711	// empty values are omitted from API requests. However, any non-pointer,
712	// non-interface field appearing in ForceSendFields will be sent to the
713	// server regardless of whether the field is empty or not. This may be
714	// used to include empty fields in Patch requests.
715	ForceSendFields []string `json:"-"`
716
717	// NullFields is a list of field names (e.g. "IdleTimeout") to include
718	// in API requests with the JSON null value. By default, fields with
719	// empty values are omitted from API requests. However, any field with
720	// an empty value appearing in NullFields will be sent to the server as
721	// null. It is an error if a field in this list has a non-empty value.
722	// This may be used to include null fields in Patch requests.
723	NullFields []string `json:"-"`
724}
725
726func (s *BasicScaling) MarshalJSON() ([]byte, error) {
727	type NoMethod BasicScaling
728	raw := NoMethod(*s)
729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
730}
731
732// BatchUpdateIngressRulesRequest: Request message for
733// Firewall.BatchUpdateIngressRules.
734type BatchUpdateIngressRulesRequest struct {
735	// IngressRules: A list of FirewallRules to replace the existing set.
736	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
737
738	// ForceSendFields is a list of field names (e.g. "IngressRules") to
739	// unconditionally include in API requests. By default, fields with
740	// empty values are omitted from API requests. However, any non-pointer,
741	// non-interface field appearing in ForceSendFields will be sent to the
742	// server regardless of whether the field is empty or not. This may be
743	// used to include empty fields in Patch requests.
744	ForceSendFields []string `json:"-"`
745
746	// NullFields is a list of field names (e.g. "IngressRules") to include
747	// in API requests with the JSON null value. By default, fields with
748	// empty values are omitted from API requests. However, any field with
749	// an empty value appearing in NullFields will be sent to the server as
750	// null. It is an error if a field in this list has a non-empty value.
751	// This may be used to include null fields in Patch requests.
752	NullFields []string `json:"-"`
753}
754
755func (s *BatchUpdateIngressRulesRequest) MarshalJSON() ([]byte, error) {
756	type NoMethod BatchUpdateIngressRulesRequest
757	raw := NoMethod(*s)
758	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
759}
760
761// BatchUpdateIngressRulesResponse: Response message for
762// Firewall.UpdateAllIngressRules.
763type BatchUpdateIngressRulesResponse struct {
764	// IngressRules: The full list of ingress FirewallRules for this
765	// application.
766	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
767
768	// ServerResponse contains the HTTP response code and headers from the
769	// server.
770	googleapi.ServerResponse `json:"-"`
771
772	// ForceSendFields is a list of field names (e.g. "IngressRules") to
773	// unconditionally include in API requests. By default, fields with
774	// empty values are omitted from API requests. However, any non-pointer,
775	// non-interface field appearing in ForceSendFields will be sent to the
776	// server regardless of whether the field is empty or not. This may be
777	// used to include empty fields in Patch requests.
778	ForceSendFields []string `json:"-"`
779
780	// NullFields is a list of field names (e.g. "IngressRules") to include
781	// in API requests with the JSON null value. By default, fields with
782	// empty values are omitted from API requests. However, any field with
783	// an empty value appearing in NullFields will be sent to the server as
784	// null. It is an error if a field in this list has a non-empty value.
785	// This may be used to include null fields in Patch requests.
786	NullFields []string `json:"-"`
787}
788
789func (s *BatchUpdateIngressRulesResponse) MarshalJSON() ([]byte, error) {
790	type NoMethod BatchUpdateIngressRulesResponse
791	raw := NoMethod(*s)
792	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
793}
794
795// BuildInfo: Google Cloud Build information.
796type BuildInfo struct {
797	// CloudBuildId: The Google Cloud Build id. Example:
798	// "f966068f-08b2-42c8-bdfe-74137dff2bf9"
799	CloudBuildId string `json:"cloudBuildId,omitempty"`
800
801	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
802	// unconditionally include in API requests. By default, fields with
803	// empty values are omitted from API requests. However, any non-pointer,
804	// non-interface field appearing in ForceSendFields will be sent to the
805	// server regardless of whether the field is empty or not. This may be
806	// used to include empty fields in Patch requests.
807	ForceSendFields []string `json:"-"`
808
809	// NullFields is a list of field names (e.g. "CloudBuildId") to include
810	// in API requests with the JSON null value. By default, fields with
811	// empty values are omitted from API requests. However, any field with
812	// an empty value appearing in NullFields will be sent to the server as
813	// null. It is an error if a field in this list has a non-empty value.
814	// This may be used to include null fields in Patch requests.
815	NullFields []string `json:"-"`
816}
817
818func (s *BuildInfo) MarshalJSON() ([]byte, error) {
819	type NoMethod BuildInfo
820	raw := NoMethod(*s)
821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
822}
823
824// CertificateRawData: An SSL certificate obtained from a certificate
825// authority.
826type CertificateRawData struct {
827	// PrivateKey: Unencrypted PEM encoded RSA private key. This field is
828	// set once on certificate creation and then encrypted. The key size
829	// must be 2048 bits or fewer. Must include the header and footer.
830	// Example: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE
831	// KEY----- @InputOnly
832	PrivateKey string `json:"privateKey,omitempty"`
833
834	// PublicCertificate: PEM encoded x.509 public key certificate. This
835	// field is set once on certificate creation. Must include the header
836	// and footer. Example: -----BEGIN CERTIFICATE----- -----END
837	// CERTIFICATE-----
838	PublicCertificate string `json:"publicCertificate,omitempty"`
839
840	// ForceSendFields is a list of field names (e.g. "PrivateKey") to
841	// unconditionally include in API requests. By default, fields with
842	// empty values are omitted from API requests. However, any non-pointer,
843	// non-interface field appearing in ForceSendFields will be sent to the
844	// server regardless of whether the field is empty or not. This may be
845	// used to include empty fields in Patch requests.
846	ForceSendFields []string `json:"-"`
847
848	// NullFields is a list of field names (e.g. "PrivateKey") to include in
849	// API requests with the JSON null value. By default, fields with empty
850	// values are omitted from API requests. However, any field with an
851	// empty value appearing in NullFields will be sent to the server as
852	// null. It is an error if a field in this list has a non-empty value.
853	// This may be used to include null fields in Patch requests.
854	NullFields []string `json:"-"`
855}
856
857func (s *CertificateRawData) MarshalJSON() ([]byte, error) {
858	type NoMethod CertificateRawData
859	raw := NoMethod(*s)
860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
861}
862
863// CloudBuildOptions: Options for the build operations performed as a
864// part of the version deployment. Only applicable for App Engine
865// flexible environment when creating a version using source code
866// directly.
867type CloudBuildOptions struct {
868	// AppYamlPath: Path to the yaml file used in deployment, used to
869	// determine runtime configuration details.Required for flexible
870	// environment builds.See
871	// https://cloud.google.com/appengine/docs/standard/python/config/appref
872	// for more details.
873	AppYamlPath string `json:"appYamlPath,omitempty"`
874
875	// CloudBuildTimeout: The Cloud Build timeout used as part of any
876	// dependent builds performed by version creation. Defaults to 10
877	// minutes.
878	CloudBuildTimeout string `json:"cloudBuildTimeout,omitempty"`
879
880	// ForceSendFields is a list of field names (e.g. "AppYamlPath") to
881	// unconditionally include in API requests. By default, fields with
882	// empty values are omitted from API requests. However, any non-pointer,
883	// non-interface field appearing in ForceSendFields will be sent to the
884	// server regardless of whether the field is empty or not. This may be
885	// used to include empty fields in Patch requests.
886	ForceSendFields []string `json:"-"`
887
888	// NullFields is a list of field names (e.g. "AppYamlPath") to include
889	// in API requests with the JSON null value. By default, fields with
890	// empty values are omitted from API requests. However, any field with
891	// an empty value appearing in NullFields will be sent to the server as
892	// null. It is an error if a field in this list has a non-empty value.
893	// This may be used to include null fields in Patch requests.
894	NullFields []string `json:"-"`
895}
896
897func (s *CloudBuildOptions) MarshalJSON() ([]byte, error) {
898	type NoMethod CloudBuildOptions
899	raw := NoMethod(*s)
900	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
901}
902
903// ContainerInfo: Docker image that is used to create a container and
904// start a VM instance for the version that you deploy. Only applicable
905// for instances running in the App Engine flexible environment.
906type ContainerInfo struct {
907	// Image: URI to the hosted container image in Google Container
908	// Registry. The URI must be fully qualified and include a tag or
909	// digest. Examples: "gcr.io/my-project/image:tag" or
910	// "gcr.io/my-project/image@digest"
911	Image string `json:"image,omitempty"`
912
913	// ForceSendFields is a list of field names (e.g. "Image") to
914	// unconditionally include in API requests. By default, fields with
915	// empty values are omitted from API requests. However, any non-pointer,
916	// non-interface field appearing in ForceSendFields will be sent to the
917	// server regardless of whether the field is empty or not. This may be
918	// used to include empty fields in Patch requests.
919	ForceSendFields []string `json:"-"`
920
921	// NullFields is a list of field names (e.g. "Image") to include in API
922	// requests with the JSON null value. By default, fields with empty
923	// values are omitted from API requests. However, any field with an
924	// empty value appearing in NullFields will be sent to the server as
925	// null. It is an error if a field in this list has a non-empty value.
926	// This may be used to include null fields in Patch requests.
927	NullFields []string `json:"-"`
928}
929
930func (s *ContainerInfo) MarshalJSON() ([]byte, error) {
931	type NoMethod ContainerInfo
932	raw := NoMethod(*s)
933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
934}
935
936// CpuUtilization: Target scaling by CPU usage.
937type CpuUtilization struct {
938	// AggregationWindowLength: Period of time over which CPU utilization is
939	// calculated.
940	AggregationWindowLength string `json:"aggregationWindowLength,omitempty"`
941
942	// TargetUtilization: Target CPU utilization ratio to maintain when
943	// scaling. Must be between 0 and 1.
944	TargetUtilization float64 `json:"targetUtilization,omitempty"`
945
946	// ForceSendFields is a list of field names (e.g.
947	// "AggregationWindowLength") to unconditionally include in API
948	// requests. By default, fields with empty values are omitted from API
949	// requests. However, any non-pointer, non-interface field appearing in
950	// ForceSendFields will be sent to the server regardless of whether the
951	// field is empty or not. This may be used to include empty fields in
952	// Patch requests.
953	ForceSendFields []string `json:"-"`
954
955	// NullFields is a list of field names (e.g. "AggregationWindowLength")
956	// to include in API requests with the JSON null value. By default,
957	// fields with empty values are omitted from API requests. However, any
958	// field with an empty value appearing in NullFields will be sent to the
959	// server as null. It is an error if a field in this list has a
960	// non-empty value. This may be used to include null fields in Patch
961	// requests.
962	NullFields []string `json:"-"`
963}
964
965func (s *CpuUtilization) MarshalJSON() ([]byte, error) {
966	type NoMethod CpuUtilization
967	raw := NoMethod(*s)
968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
969}
970
971func (s *CpuUtilization) UnmarshalJSON(data []byte) error {
972	type NoMethod CpuUtilization
973	var s1 struct {
974		TargetUtilization gensupport.JSONFloat64 `json:"targetUtilization"`
975		*NoMethod
976	}
977	s1.NoMethod = (*NoMethod)(s)
978	if err := json.Unmarshal(data, &s1); err != nil {
979		return err
980	}
981	s.TargetUtilization = float64(s1.TargetUtilization)
982	return nil
983}
984
985// CreateVersionMetadataV1: Metadata for the given
986// google.longrunning.Operation during a
987// google.appengine.v1.CreateVersionRequest.
988type CreateVersionMetadataV1 struct {
989	// CloudBuildId: The Cloud Build ID if one was created as part of the
990	// version create. @OutputOnly
991	CloudBuildId string `json:"cloudBuildId,omitempty"`
992
993	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
994	// unconditionally include in API requests. By default, fields with
995	// empty values are omitted from API requests. However, any non-pointer,
996	// non-interface field appearing in ForceSendFields will be sent to the
997	// server regardless of whether the field is empty or not. This may be
998	// used to include empty fields in Patch requests.
999	ForceSendFields []string `json:"-"`
1000
1001	// NullFields is a list of field names (e.g. "CloudBuildId") to include
1002	// in API requests with the JSON null value. By default, fields with
1003	// empty values are omitted from API requests. However, any field with
1004	// an empty value appearing in NullFields will be sent to the server as
1005	// null. It is an error if a field in this list has a non-empty value.
1006	// This may be used to include null fields in Patch requests.
1007	NullFields []string `json:"-"`
1008}
1009
1010func (s *CreateVersionMetadataV1) MarshalJSON() ([]byte, error) {
1011	type NoMethod CreateVersionMetadataV1
1012	raw := NoMethod(*s)
1013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1014}
1015
1016// CreateVersionMetadataV1Alpha: Metadata for the given
1017// google.longrunning.Operation during a
1018// google.appengine.v1alpha.CreateVersionRequest.
1019type CreateVersionMetadataV1Alpha struct {
1020	// CloudBuildId: The Cloud Build ID if one was created as part of the
1021	// version create. @OutputOnly
1022	CloudBuildId string `json:"cloudBuildId,omitempty"`
1023
1024	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
1025	// unconditionally include in API requests. By default, fields with
1026	// empty values are omitted from API requests. However, any non-pointer,
1027	// non-interface field appearing in ForceSendFields will be sent to the
1028	// server regardless of whether the field is empty or not. This may be
1029	// used to include empty fields in Patch requests.
1030	ForceSendFields []string `json:"-"`
1031
1032	// NullFields is a list of field names (e.g. "CloudBuildId") to include
1033	// in API requests with the JSON null value. By default, fields with
1034	// empty values are omitted from API requests. However, any field with
1035	// an empty value appearing in NullFields will be sent to the server as
1036	// null. It is an error if a field in this list has a non-empty value.
1037	// This may be used to include null fields in Patch requests.
1038	NullFields []string `json:"-"`
1039}
1040
1041func (s *CreateVersionMetadataV1Alpha) MarshalJSON() ([]byte, error) {
1042	type NoMethod CreateVersionMetadataV1Alpha
1043	raw := NoMethod(*s)
1044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1045}
1046
1047// CreateVersionMetadataV1Beta: Metadata for the given
1048// google.longrunning.Operation during a
1049// google.appengine.v1beta.CreateVersionRequest.
1050type CreateVersionMetadataV1Beta struct {
1051	// CloudBuildId: The Cloud Build ID if one was created as part of the
1052	// version create. @OutputOnly
1053	CloudBuildId string `json:"cloudBuildId,omitempty"`
1054
1055	// ForceSendFields is a list of field names (e.g. "CloudBuildId") to
1056	// unconditionally include in API requests. By default, fields with
1057	// empty values are omitted from API requests. However, any non-pointer,
1058	// non-interface field appearing in ForceSendFields will be sent to the
1059	// server regardless of whether the field is empty or not. This may be
1060	// used to include empty fields in Patch requests.
1061	ForceSendFields []string `json:"-"`
1062
1063	// NullFields is a list of field names (e.g. "CloudBuildId") to include
1064	// in API requests with the JSON null value. By default, fields with
1065	// empty values are omitted from API requests. However, any field with
1066	// an empty value appearing in NullFields will be sent to the server as
1067	// null. It is an error if a field in this list has a non-empty value.
1068	// This may be used to include null fields in Patch requests.
1069	NullFields []string `json:"-"`
1070}
1071
1072func (s *CreateVersionMetadataV1Beta) MarshalJSON() ([]byte, error) {
1073	type NoMethod CreateVersionMetadataV1Beta
1074	raw := NoMethod(*s)
1075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1076}
1077
1078// CustomMetric: Allows autoscaling based on Stackdriver metrics.
1079type CustomMetric struct {
1080	// Filter: Allows filtering on the metric's fields.
1081	Filter string `json:"filter,omitempty"`
1082
1083	// MetricName: The name of the metric.
1084	MetricName string `json:"metricName,omitempty"`
1085
1086	// SingleInstanceAssignment: May be used instead of target_utilization
1087	// when an instance can handle a specific amount of work/resources and
1088	// the metric value is equal to the current amount of work remaining.
1089	// The autoscaler will try to keep the number of instances equal to the
1090	// metric value divided by single_instance_assignment.
1091	SingleInstanceAssignment float64 `json:"singleInstanceAssignment,omitempty"`
1092
1093	// TargetType: The type of the metric. Must be a string representing a
1094	// Stackdriver metric type e.g. GAGUE, DELTA_PER_SECOND, etc.
1095	TargetType string `json:"targetType,omitempty"`
1096
1097	// TargetUtilization: The target value for the metric.
1098	TargetUtilization float64 `json:"targetUtilization,omitempty"`
1099
1100	// ForceSendFields is a list of field names (e.g. "Filter") to
1101	// unconditionally include in API requests. By default, fields with
1102	// empty values are omitted from API requests. However, any non-pointer,
1103	// non-interface field appearing in ForceSendFields will be sent to the
1104	// server regardless of whether the field is empty or not. This may be
1105	// used to include empty fields in Patch requests.
1106	ForceSendFields []string `json:"-"`
1107
1108	// NullFields is a list of field names (e.g. "Filter") to include in API
1109	// requests with the JSON null value. By default, fields with empty
1110	// values are omitted from API requests. However, any field with an
1111	// empty value appearing in NullFields will be sent to the server as
1112	// null. It is an error if a field in this list has a non-empty value.
1113	// This may be used to include null fields in Patch requests.
1114	NullFields []string `json:"-"`
1115}
1116
1117func (s *CustomMetric) MarshalJSON() ([]byte, error) {
1118	type NoMethod CustomMetric
1119	raw := NoMethod(*s)
1120	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1121}
1122
1123func (s *CustomMetric) UnmarshalJSON(data []byte) error {
1124	type NoMethod CustomMetric
1125	var s1 struct {
1126		SingleInstanceAssignment gensupport.JSONFloat64 `json:"singleInstanceAssignment"`
1127		TargetUtilization        gensupport.JSONFloat64 `json:"targetUtilization"`
1128		*NoMethod
1129	}
1130	s1.NoMethod = (*NoMethod)(s)
1131	if err := json.Unmarshal(data, &s1); err != nil {
1132		return err
1133	}
1134	s.SingleInstanceAssignment = float64(s1.SingleInstanceAssignment)
1135	s.TargetUtilization = float64(s1.TargetUtilization)
1136	return nil
1137}
1138
1139// DebugInstanceRequest: Request message for Instances.DebugInstance.
1140type DebugInstanceRequest struct {
1141	// SshKey: Public SSH key to add to the instance. Examples:
1142	// [USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa
1143	// [KEY_VALUE] google-ssh
1144	// {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}For more
1145	// information, see Adding and Removing SSH Keys
1146	// (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).
1147	SshKey string `json:"sshKey,omitempty"`
1148
1149	// ForceSendFields is a list of field names (e.g. "SshKey") to
1150	// unconditionally include in API requests. By default, fields with
1151	// empty values are omitted from API requests. However, any non-pointer,
1152	// non-interface field appearing in ForceSendFields will be sent to the
1153	// server regardless of whether the field is empty or not. This may be
1154	// used to include empty fields in Patch requests.
1155	ForceSendFields []string `json:"-"`
1156
1157	// NullFields is a list of field names (e.g. "SshKey") to include in API
1158	// requests with the JSON null value. By default, fields with empty
1159	// values are omitted from API requests. However, any field with an
1160	// empty value appearing in NullFields will be sent to the server as
1161	// null. It is an error if a field in this list has a non-empty value.
1162	// This may be used to include null fields in Patch requests.
1163	NullFields []string `json:"-"`
1164}
1165
1166func (s *DebugInstanceRequest) MarshalJSON() ([]byte, error) {
1167	type NoMethod DebugInstanceRequest
1168	raw := NoMethod(*s)
1169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1170}
1171
1172// Deployment: Code and application artifacts used to deploy a version
1173// to App Engine.
1174type Deployment struct {
1175	// Build: Google Cloud Build build information. Only applicable for
1176	// instances running in the App Engine flexible environment.
1177	Build *BuildInfo `json:"build,omitempty"`
1178
1179	// CloudBuildOptions: Options for any Google Cloud Build builds created
1180	// as a part of this deployment.These options will only be used if a new
1181	// build is created, such as when deploying to the App Engine flexible
1182	// environment using files or zip.
1183	CloudBuildOptions *CloudBuildOptions `json:"cloudBuildOptions,omitempty"`
1184
1185	// Container: The Docker image for the container that runs the version.
1186	// Only applicable for instances running in the App Engine flexible
1187	// environment.
1188	Container *ContainerInfo `json:"container,omitempty"`
1189
1190	// Files: Manifest of the files stored in Google Cloud Storage that are
1191	// included as part of this version. All files must be readable using
1192	// the credentials supplied with this call.
1193	Files map[string]FileInfo `json:"files,omitempty"`
1194
1195	// Zip: The zip file for this deployment, if this is a zip deployment.
1196	Zip *ZipInfo `json:"zip,omitempty"`
1197
1198	// ForceSendFields is a list of field names (e.g. "Build") to
1199	// unconditionally include in API requests. By default, fields with
1200	// empty values are omitted from API requests. However, any non-pointer,
1201	// non-interface field appearing in ForceSendFields will be sent to the
1202	// server regardless of whether the field is empty or not. This may be
1203	// used to include empty fields in Patch requests.
1204	ForceSendFields []string `json:"-"`
1205
1206	// NullFields is a list of field names (e.g. "Build") to include in API
1207	// requests with the JSON null value. By default, fields with empty
1208	// values are omitted from API requests. However, any field with an
1209	// empty value appearing in NullFields will be sent to the server as
1210	// null. It is an error if a field in this list has a non-empty value.
1211	// This may be used to include null fields in Patch requests.
1212	NullFields []string `json:"-"`
1213}
1214
1215func (s *Deployment) MarshalJSON() ([]byte, error) {
1216	type NoMethod Deployment
1217	raw := NoMethod(*s)
1218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1219}
1220
1221// DiskUtilization: Target scaling by disk usage. Only applicable in the
1222// App Engine flexible environment.
1223type DiskUtilization struct {
1224	// TargetReadBytesPerSecond: Target bytes read per second.
1225	TargetReadBytesPerSecond int64 `json:"targetReadBytesPerSecond,omitempty"`
1226
1227	// TargetReadOpsPerSecond: Target ops read per seconds.
1228	TargetReadOpsPerSecond int64 `json:"targetReadOpsPerSecond,omitempty"`
1229
1230	// TargetWriteBytesPerSecond: Target bytes written per second.
1231	TargetWriteBytesPerSecond int64 `json:"targetWriteBytesPerSecond,omitempty"`
1232
1233	// TargetWriteOpsPerSecond: Target ops written per second.
1234	TargetWriteOpsPerSecond int64 `json:"targetWriteOpsPerSecond,omitempty"`
1235
1236	// ForceSendFields is a list of field names (e.g.
1237	// "TargetReadBytesPerSecond") to unconditionally include in API
1238	// requests. By default, fields with empty values are omitted from API
1239	// requests. However, any non-pointer, non-interface field appearing in
1240	// ForceSendFields will be sent to the server regardless of whether the
1241	// field is empty or not. This may be used to include empty fields in
1242	// Patch requests.
1243	ForceSendFields []string `json:"-"`
1244
1245	// NullFields is a list of field names (e.g. "TargetReadBytesPerSecond")
1246	// to include in API requests with the JSON null value. By default,
1247	// fields with empty values are omitted from API requests. However, any
1248	// field with an empty value appearing in NullFields will be sent to the
1249	// server as null. It is an error if a field in this list has a
1250	// non-empty value. This may be used to include null fields in Patch
1251	// requests.
1252	NullFields []string `json:"-"`
1253}
1254
1255func (s *DiskUtilization) MarshalJSON() ([]byte, error) {
1256	type NoMethod DiskUtilization
1257	raw := NoMethod(*s)
1258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1259}
1260
1261// DomainMapping: A domain serving an App Engine application.
1262type DomainMapping struct {
1263	// Id: Relative name of the domain serving the application. Example:
1264	// example.com.
1265	Id string `json:"id,omitempty"`
1266
1267	// Name: Full path to the DomainMapping resource in the API. Example:
1268	// apps/myapp/domainMapping/example.com.@OutputOnly
1269	Name string `json:"name,omitempty"`
1270
1271	// ResourceRecords: The resource records required to configure this
1272	// domain mapping. These records must be added to the domain's DNS
1273	// configuration in order to serve the application via this domain
1274	// mapping.@OutputOnly
1275	ResourceRecords []*ResourceRecord `json:"resourceRecords,omitempty"`
1276
1277	// SslSettings: SSL configuration for this domain. If unconfigured, this
1278	// domain will not serve with SSL.
1279	SslSettings *SslSettings `json:"sslSettings,omitempty"`
1280
1281	// ServerResponse contains the HTTP response code and headers from the
1282	// server.
1283	googleapi.ServerResponse `json:"-"`
1284
1285	// ForceSendFields is a list of field names (e.g. "Id") to
1286	// unconditionally include in API requests. By default, fields with
1287	// empty values are omitted from API requests. However, any non-pointer,
1288	// non-interface field appearing in ForceSendFields will be sent to the
1289	// server regardless of whether the field is empty or not. This may be
1290	// used to include empty fields in Patch requests.
1291	ForceSendFields []string `json:"-"`
1292
1293	// NullFields is a list of field names (e.g. "Id") to include in API
1294	// requests with the JSON null value. By default, fields with empty
1295	// values are omitted from API requests. However, any field with an
1296	// empty value appearing in NullFields will be sent to the server as
1297	// null. It is an error if a field in this list has a non-empty value.
1298	// This may be used to include null fields in Patch requests.
1299	NullFields []string `json:"-"`
1300}
1301
1302func (s *DomainMapping) MarshalJSON() ([]byte, error) {
1303	type NoMethod DomainMapping
1304	raw := NoMethod(*s)
1305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1306}
1307
1308// Empty: A generic empty message that you can re-use to avoid defining
1309// duplicated empty messages in your APIs. A typical example is to use
1310// it as the request or the response type of an API method. For
1311// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
1312// (google.protobuf.Empty); } The JSON representation for Empty is empty
1313// JSON object {}.
1314type Empty struct {
1315	// ServerResponse contains the HTTP response code and headers from the
1316	// server.
1317	googleapi.ServerResponse `json:"-"`
1318}
1319
1320// EndpointsApiService: Cloud Endpoints
1321// (https://cloud.google.com/endpoints) configuration. The Endpoints API
1322// Service provides tooling for serving Open API and gRPC endpoints via
1323// an NGINX proxy. Only valid for App Engine Flexible environment
1324// deployments.The fields here refer to the name and configuration ID of
1325// a "service" resource in the Service Management API
1326// (https://cloud.google.com/service-management/overview).
1327type EndpointsApiService struct {
1328	// ConfigId: Endpoints service configuration ID as specified by the
1329	// Service Management API. For example "2016-09-19r1".By default, the
1330	// rollout strategy for Endpoints is RolloutStrategy.FIXED. This means
1331	// that Endpoints starts up with a particular configuration ID. When a
1332	// new configuration is rolled out, Endpoints must be given the new
1333	// configuration ID. The config_id field is used to give the
1334	// configuration ID and is required in this case.Endpoints also has a
1335	// rollout strategy called RolloutStrategy.MANAGED. When using this,
1336	// Endpoints fetches the latest configuration and does not need the
1337	// configuration ID. In this case, config_id must be omitted.
1338	ConfigId string `json:"configId,omitempty"`
1339
1340	// DisableTraceSampling: Enable or disable trace sampling. By default,
1341	// this is set to false for enabled.
1342	DisableTraceSampling bool `json:"disableTraceSampling,omitempty"`
1343
1344	// Name: Endpoints service name which is the name of the "service"
1345	// resource in the Service Management API. For example
1346	// "myapi.endpoints.myproject.cloud.goog"
1347	Name string `json:"name,omitempty"`
1348
1349	// RolloutStrategy: Endpoints rollout strategy. If FIXED, config_id must
1350	// be specified. If MANAGED, config_id must be omitted.
1351	//
1352	// Possible values:
1353	//   "UNSPECIFIED_ROLLOUT_STRATEGY" - Not specified. Defaults to FIXED.
1354	//   "FIXED" - Endpoints service configuration ID will be fixed to the
1355	// configuration ID specified by config_id.
1356	//   "MANAGED" - Endpoints service configuration ID will be updated with
1357	// each rollout.
1358	RolloutStrategy string `json:"rolloutStrategy,omitempty"`
1359
1360	// ForceSendFields is a list of field names (e.g. "ConfigId") to
1361	// unconditionally include in API requests. By default, fields with
1362	// empty values are omitted from API requests. However, any non-pointer,
1363	// non-interface field appearing in ForceSendFields will be sent to the
1364	// server regardless of whether the field is empty or not. This may be
1365	// used to include empty fields in Patch requests.
1366	ForceSendFields []string `json:"-"`
1367
1368	// NullFields is a list of field names (e.g. "ConfigId") to include in
1369	// API requests with the JSON null value. By default, fields with empty
1370	// values are omitted from API requests. However, any field with an
1371	// empty value appearing in NullFields will be sent to the server as
1372	// null. It is an error if a field in this list has a non-empty value.
1373	// This may be used to include null fields in Patch requests.
1374	NullFields []string `json:"-"`
1375}
1376
1377func (s *EndpointsApiService) MarshalJSON() ([]byte, error) {
1378	type NoMethod EndpointsApiService
1379	raw := NoMethod(*s)
1380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1381}
1382
1383// Entrypoint: The entrypoint for the application.
1384type Entrypoint struct {
1385	// Shell: The format should be a shell command that can be fed to bash
1386	// -c.
1387	Shell string `json:"shell,omitempty"`
1388
1389	// ForceSendFields is a list of field names (e.g. "Shell") to
1390	// unconditionally include in API requests. By default, fields with
1391	// empty values are omitted from API requests. However, any non-pointer,
1392	// non-interface field appearing in ForceSendFields will be sent to the
1393	// server regardless of whether the field is empty or not. This may be
1394	// used to include empty fields in Patch requests.
1395	ForceSendFields []string `json:"-"`
1396
1397	// NullFields is a list of field names (e.g. "Shell") to include in API
1398	// requests with the JSON null value. By default, fields with empty
1399	// values are omitted from API requests. However, any field with an
1400	// empty value appearing in NullFields will be sent to the server as
1401	// null. It is an error if a field in this list has a non-empty value.
1402	// This may be used to include null fields in Patch requests.
1403	NullFields []string `json:"-"`
1404}
1405
1406func (s *Entrypoint) MarshalJSON() ([]byte, error) {
1407	type NoMethod Entrypoint
1408	raw := NoMethod(*s)
1409	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1410}
1411
1412// ErrorHandler: Custom static error page to be served when an error
1413// occurs.
1414type ErrorHandler struct {
1415	// ErrorCode: Error condition this handler applies to.
1416	//
1417	// Possible values:
1418	//   "ERROR_CODE_UNSPECIFIED" - Not specified. ERROR_CODE_DEFAULT is
1419	// assumed.
1420	//   "ERROR_CODE_DEFAULT" - All other error types.
1421	//   "ERROR_CODE_OVER_QUOTA" - Application has exceeded a resource
1422	// quota.
1423	//   "ERROR_CODE_DOS_API_DENIAL" - Client blocked by the application's
1424	// Denial of Service protection configuration.
1425	//   "ERROR_CODE_TIMEOUT" - Deadline reached before the application
1426	// responds.
1427	ErrorCode string `json:"errorCode,omitempty"`
1428
1429	// MimeType: MIME type of file. Defaults to text/html.
1430	MimeType string `json:"mimeType,omitempty"`
1431
1432	// StaticFile: Static file content to be served for this error.
1433	StaticFile string `json:"staticFile,omitempty"`
1434
1435	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
1436	// unconditionally include in API requests. By default, fields with
1437	// empty values are omitted from API requests. However, any non-pointer,
1438	// non-interface field appearing in ForceSendFields will be sent to the
1439	// server regardless of whether the field is empty or not. This may be
1440	// used to include empty fields in Patch requests.
1441	ForceSendFields []string `json:"-"`
1442
1443	// NullFields is a list of field names (e.g. "ErrorCode") to include in
1444	// API requests with the JSON null value. By default, fields with empty
1445	// values are omitted from API requests. However, any field with an
1446	// empty value appearing in NullFields will be sent to the server as
1447	// null. It is an error if a field in this list has a non-empty value.
1448	// This may be used to include null fields in Patch requests.
1449	NullFields []string `json:"-"`
1450}
1451
1452func (s *ErrorHandler) MarshalJSON() ([]byte, error) {
1453	type NoMethod ErrorHandler
1454	raw := NoMethod(*s)
1455	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1456}
1457
1458// FeatureSettings: The feature specific settings to be used in the
1459// application. These define behaviors that are user configurable.
1460type FeatureSettings struct {
1461	// SplitHealthChecks: Boolean value indicating if split health checks
1462	// should be used instead of the legacy health checks. At an app.yaml
1463	// level, this means defaulting to 'readiness_check' and
1464	// 'liveness_check' values instead of 'health_check' ones. Once the
1465	// legacy 'health_check' behavior is deprecated, and this value is
1466	// always true, this setting can be removed.
1467	SplitHealthChecks bool `json:"splitHealthChecks,omitempty"`
1468
1469	// UseContainerOptimizedOs: If true, use Container-Optimized OS
1470	// (https://cloud.google.com/container-optimized-os/) base image for
1471	// VMs, rather than a base Debian image.
1472	UseContainerOptimizedOs bool `json:"useContainerOptimizedOs,omitempty"`
1473
1474	// ForceSendFields is a list of field names (e.g. "SplitHealthChecks")
1475	// to unconditionally include in API requests. By default, fields with
1476	// empty values are omitted from API requests. However, any non-pointer,
1477	// non-interface field appearing in ForceSendFields will be sent to the
1478	// server regardless of whether the field is empty or not. This may be
1479	// used to include empty fields in Patch requests.
1480	ForceSendFields []string `json:"-"`
1481
1482	// NullFields is a list of field names (e.g. "SplitHealthChecks") to
1483	// include in API requests with the JSON null value. By default, fields
1484	// with empty values are omitted from API requests. However, any field
1485	// with an empty value appearing in NullFields will be sent to the
1486	// server as null. It is an error if a field in this list has a
1487	// non-empty value. This may be used to include null fields in Patch
1488	// requests.
1489	NullFields []string `json:"-"`
1490}
1491
1492func (s *FeatureSettings) MarshalJSON() ([]byte, error) {
1493	type NoMethod FeatureSettings
1494	raw := NoMethod(*s)
1495	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1496}
1497
1498// FileInfo: Single source file that is part of the version to be
1499// deployed. Each source file that is deployed must be specified
1500// separately.
1501type FileInfo struct {
1502	// MimeType: The MIME type of the file.Defaults to the value from Google
1503	// Cloud Storage.
1504	MimeType string `json:"mimeType,omitempty"`
1505
1506	// Sha1Sum: The SHA1 hash of the file, in hex.
1507	Sha1Sum string `json:"sha1Sum,omitempty"`
1508
1509	// SourceUrl: URL source to use to fetch this file. Must be a URL to a
1510	// resource in Google Cloud Storage in the form
1511	// 'http(s)://storage.googleapis.com//'.
1512	SourceUrl string `json:"sourceUrl,omitempty"`
1513
1514	// ForceSendFields is a list of field names (e.g. "MimeType") to
1515	// unconditionally include in API requests. By default, fields with
1516	// empty values are omitted from API requests. However, any non-pointer,
1517	// non-interface field appearing in ForceSendFields will be sent to the
1518	// server regardless of whether the field is empty or not. This may be
1519	// used to include empty fields in Patch requests.
1520	ForceSendFields []string `json:"-"`
1521
1522	// NullFields is a list of field names (e.g. "MimeType") to include in
1523	// API requests with the JSON null value. By default, fields with empty
1524	// values are omitted from API requests. However, any field with an
1525	// empty value appearing in NullFields will be sent to the server as
1526	// null. It is an error if a field in this list has a non-empty value.
1527	// This may be used to include null fields in Patch requests.
1528	NullFields []string `json:"-"`
1529}
1530
1531func (s *FileInfo) MarshalJSON() ([]byte, error) {
1532	type NoMethod FileInfo
1533	raw := NoMethod(*s)
1534	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1535}
1536
1537// FirewallRule: A single firewall rule that is evaluated against
1538// incoming traffic and provides an action to take on matched requests.
1539type FirewallRule struct {
1540	// Action: The action to take on matched requests.
1541	//
1542	// Possible values:
1543	//   "UNSPECIFIED_ACTION"
1544	//   "ALLOW" - Matching requests are allowed.
1545	//   "DENY" - Matching requests are denied.
1546	Action string `json:"action,omitempty"`
1547
1548	// Description: An optional string description of this rule. This field
1549	// has a maximum length of 100 characters.
1550	Description string `json:"description,omitempty"`
1551
1552	// Priority: A positive integer between 1, Int32.MaxValue-1 that defines
1553	// the order of rule evaluation. Rules with the lowest priority are
1554	// evaluated first.A default rule at priority Int32.MaxValue matches all
1555	// IPv4 and IPv6 traffic when no previous rule matches. Only the action
1556	// of this rule can be modified by the user.
1557	Priority int64 `json:"priority,omitempty"`
1558
1559	// SourceRange: IP address or range, defined using CIDR notation, of
1560	// requests that this rule applies to. You can use the wildcard
1561	// character "*" to match all IPs equivalent to "0/0" and "::/0"
1562	// together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or
1563	// 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently
1564	// performed on addresses which are not properly truncated. For example,
1565	// 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly,
1566	// for IPv6, 2001:db8::1/32 is accepted as the same address as
1567	// 2001:db8::/32.
1568	SourceRange string `json:"sourceRange,omitempty"`
1569
1570	// ServerResponse contains the HTTP response code and headers from the
1571	// server.
1572	googleapi.ServerResponse `json:"-"`
1573
1574	// ForceSendFields is a list of field names (e.g. "Action") to
1575	// unconditionally include in API requests. By default, fields with
1576	// empty values are omitted from API requests. However, any non-pointer,
1577	// non-interface field appearing in ForceSendFields will be sent to the
1578	// server regardless of whether the field is empty or not. This may be
1579	// used to include empty fields in Patch requests.
1580	ForceSendFields []string `json:"-"`
1581
1582	// NullFields is a list of field names (e.g. "Action") to include in API
1583	// requests with the JSON null value. By default, fields with empty
1584	// values are omitted from API requests. However, any field with an
1585	// empty value appearing in NullFields will be sent to the server as
1586	// null. It is an error if a field in this list has a non-empty value.
1587	// This may be used to include null fields in Patch requests.
1588	NullFields []string `json:"-"`
1589}
1590
1591func (s *FirewallRule) MarshalJSON() ([]byte, error) {
1592	type NoMethod FirewallRule
1593	raw := NoMethod(*s)
1594	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1595}
1596
1597// HealthCheck: Health checking configuration for VM instances.
1598// Unhealthy instances are killed and replaced with new instances. Only
1599// applicable for instances in App Engine flexible environment.
1600type HealthCheck struct {
1601	// CheckInterval: Interval between health checks.
1602	CheckInterval string `json:"checkInterval,omitempty"`
1603
1604	// DisableHealthCheck: Whether to explicitly disable health checks for
1605	// this instance.
1606	DisableHealthCheck bool `json:"disableHealthCheck,omitempty"`
1607
1608	// HealthyThreshold: Number of consecutive successful health checks
1609	// required before receiving traffic.
1610	HealthyThreshold int64 `json:"healthyThreshold,omitempty"`
1611
1612	// Host: Host header to send when performing an HTTP health check.
1613	// Example: "myapp.appspot.com"
1614	Host string `json:"host,omitempty"`
1615
1616	// RestartThreshold: Number of consecutive failed health checks required
1617	// before an instance is restarted.
1618	RestartThreshold int64 `json:"restartThreshold,omitempty"`
1619
1620	// Timeout: Time before the health check is considered failed.
1621	Timeout string `json:"timeout,omitempty"`
1622
1623	// UnhealthyThreshold: Number of consecutive failed health checks
1624	// required before removing traffic.
1625	UnhealthyThreshold int64 `json:"unhealthyThreshold,omitempty"`
1626
1627	// ForceSendFields is a list of field names (e.g. "CheckInterval") to
1628	// unconditionally include in API requests. By default, fields with
1629	// empty values are omitted from API requests. However, any non-pointer,
1630	// non-interface field appearing in ForceSendFields will be sent to the
1631	// server regardless of whether the field is empty or not. This may be
1632	// used to include empty fields in Patch requests.
1633	ForceSendFields []string `json:"-"`
1634
1635	// NullFields is a list of field names (e.g. "CheckInterval") to include
1636	// in API requests with the JSON null value. By default, fields with
1637	// empty values are omitted from API requests. However, any field with
1638	// an empty value appearing in NullFields will be sent to the server as
1639	// null. It is an error if a field in this list has a non-empty value.
1640	// This may be used to include null fields in Patch requests.
1641	NullFields []string `json:"-"`
1642}
1643
1644func (s *HealthCheck) MarshalJSON() ([]byte, error) {
1645	type NoMethod HealthCheck
1646	raw := NoMethod(*s)
1647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1648}
1649
1650// IdentityAwareProxy: Identity-Aware Proxy
1651type IdentityAwareProxy struct {
1652	// Enabled: Whether the serving infrastructure will authenticate and
1653	// authorize all incoming requests.If true, the oauth2_client_id and
1654	// oauth2_client_secret fields must be non-empty.
1655	Enabled bool `json:"enabled,omitempty"`
1656
1657	// Oauth2ClientId: OAuth2 client ID to use for the authentication flow.
1658	Oauth2ClientId string `json:"oauth2ClientId,omitempty"`
1659
1660	// Oauth2ClientSecret: OAuth2 client secret to use for the
1661	// authentication flow.For security reasons, this value cannot be
1662	// retrieved via the API. Instead, the SHA-256 hash of the value is
1663	// returned in the oauth2_client_secret_sha256 field.@InputOnly
1664	Oauth2ClientSecret string `json:"oauth2ClientSecret,omitempty"`
1665
1666	// Oauth2ClientSecretSha256: Hex-encoded SHA-256 hash of the client
1667	// secret.@OutputOnly
1668	Oauth2ClientSecretSha256 string `json:"oauth2ClientSecretSha256,omitempty"`
1669
1670	// ForceSendFields is a list of field names (e.g. "Enabled") to
1671	// unconditionally include in API requests. By default, fields with
1672	// empty values are omitted from API requests. However, any non-pointer,
1673	// non-interface field appearing in ForceSendFields will be sent to the
1674	// server regardless of whether the field is empty or not. This may be
1675	// used to include empty fields in Patch requests.
1676	ForceSendFields []string `json:"-"`
1677
1678	// NullFields is a list of field names (e.g. "Enabled") to include in
1679	// API requests with the JSON null value. By default, fields with empty
1680	// values are omitted from API requests. However, any field with an
1681	// empty value appearing in NullFields will be sent to the server as
1682	// null. It is an error if a field in this list has a non-empty value.
1683	// This may be used to include null fields in Patch requests.
1684	NullFields []string `json:"-"`
1685}
1686
1687func (s *IdentityAwareProxy) MarshalJSON() ([]byte, error) {
1688	type NoMethod IdentityAwareProxy
1689	raw := NoMethod(*s)
1690	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1691}
1692
1693// Instance: An Instance resource is the computing unit that App Engine
1694// uses to automatically scale an application.
1695type Instance struct {
1696	// AppEngineRelease: Output only. App Engine release this instance is
1697	// running on.
1698	AppEngineRelease string `json:"appEngineRelease,omitempty"`
1699
1700	// Availability: Output only. Availability of the instance.
1701	//
1702	// Possible values:
1703	//   "UNSPECIFIED"
1704	//   "RESIDENT"
1705	//   "DYNAMIC"
1706	Availability string `json:"availability,omitempty"`
1707
1708	// AverageLatency: Output only. Average latency (ms) over the last
1709	// minute.
1710	AverageLatency int64 `json:"averageLatency,omitempty"`
1711
1712	// Errors: Output only. Number of errors since this instance was
1713	// started.
1714	Errors int64 `json:"errors,omitempty"`
1715
1716	// Id: Output only. Relative name of the instance within the version.
1717	// Example: instance-1.
1718	Id string `json:"id,omitempty"`
1719
1720	// MemoryUsage: Output only. Total memory in use (bytes).
1721	MemoryUsage int64 `json:"memoryUsage,omitempty,string"`
1722
1723	// Name: Output only. Full path to the Instance resource in the API.
1724	// Example:
1725	// apps/myapp/services/default/versions/v1/instances/instance-1.
1726	Name string `json:"name,omitempty"`
1727
1728	// Qps: Output only. Average queries per second (QPS) over the last
1729	// minute.
1730	Qps float64 `json:"qps,omitempty"`
1731
1732	// Requests: Output only. Number of requests since this instance was
1733	// started.
1734	Requests int64 `json:"requests,omitempty"`
1735
1736	// StartTime: Output only. Time that this instance was
1737	// started.@OutputOnly
1738	StartTime string `json:"startTime,omitempty"`
1739
1740	// VmDebugEnabled: Output only. Whether this instance is in debug mode.
1741	// Only applicable for instances in App Engine flexible environment.
1742	VmDebugEnabled bool `json:"vmDebugEnabled,omitempty"`
1743
1744	// VmId: Output only. Virtual machine ID of this instance. Only
1745	// applicable for instances in App Engine flexible environment.
1746	VmId string `json:"vmId,omitempty"`
1747
1748	// VmIp: Output only. The IP address of this instance. Only applicable
1749	// for instances in App Engine flexible environment.
1750	VmIp string `json:"vmIp,omitempty"`
1751
1752	// VmLiveness: Output only. The liveness health check of this instance.
1753	// Only applicable for instances in App Engine flexible environment.
1754	//
1755	// Possible values:
1756	//   "LIVENESS_STATE_UNSPECIFIED" - There is no liveness health check
1757	// for the instance. Only applicable for instances in App Engine
1758	// standard environment.
1759	//   "UNKNOWN" - The health checking system is aware of the instance but
1760	// its health is not known at the moment.
1761	//   "HEALTHY" - The instance is reachable i.e. a connection to the
1762	// application health checking endpoint can be established, and conforms
1763	// to the requirements defined by the health check.
1764	//   "UNHEALTHY" - The instance is reachable, but does not conform to
1765	// the requirements defined by the health check.
1766	//   "DRAINING" - The instance is being drained. The existing
1767	// connections to the instance have time to complete, but the new ones
1768	// are being refused.
1769	//   "TIMEOUT" - The instance is unreachable i.e. a connection to the
1770	// application health checking endpoint cannot be established, or the
1771	// server does not respond within the specified timeout.
1772	VmLiveness string `json:"vmLiveness,omitempty"`
1773
1774	// VmName: Output only. Name of the virtual machine where this instance
1775	// lives. Only applicable for instances in App Engine flexible
1776	// environment.
1777	VmName string `json:"vmName,omitempty"`
1778
1779	// VmStatus: Output only. Status of the virtual machine where this
1780	// instance lives. Only applicable for instances in App Engine flexible
1781	// environment.
1782	VmStatus string `json:"vmStatus,omitempty"`
1783
1784	// VmZoneName: Output only. Zone where the virtual machine is located.
1785	// Only applicable for instances in App Engine flexible environment.
1786	VmZoneName string `json:"vmZoneName,omitempty"`
1787
1788	// ServerResponse contains the HTTP response code and headers from the
1789	// server.
1790	googleapi.ServerResponse `json:"-"`
1791
1792	// ForceSendFields is a list of field names (e.g. "AppEngineRelease") to
1793	// unconditionally include in API requests. By default, fields with
1794	// empty values are omitted from API requests. However, any non-pointer,
1795	// non-interface field appearing in ForceSendFields will be sent to the
1796	// server regardless of whether the field is empty or not. This may be
1797	// used to include empty fields in Patch requests.
1798	ForceSendFields []string `json:"-"`
1799
1800	// NullFields is a list of field names (e.g. "AppEngineRelease") to
1801	// include in API requests with the JSON null value. By default, fields
1802	// with empty values are omitted from API requests. However, any field
1803	// with an empty value appearing in NullFields will be sent to the
1804	// server as null. It is an error if a field in this list has a
1805	// non-empty value. This may be used to include null fields in Patch
1806	// requests.
1807	NullFields []string `json:"-"`
1808}
1809
1810func (s *Instance) MarshalJSON() ([]byte, error) {
1811	type NoMethod Instance
1812	raw := NoMethod(*s)
1813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1814}
1815
1816func (s *Instance) UnmarshalJSON(data []byte) error {
1817	type NoMethod Instance
1818	var s1 struct {
1819		Qps gensupport.JSONFloat64 `json:"qps"`
1820		*NoMethod
1821	}
1822	s1.NoMethod = (*NoMethod)(s)
1823	if err := json.Unmarshal(data, &s1); err != nil {
1824		return err
1825	}
1826	s.Qps = float64(s1.Qps)
1827	return nil
1828}
1829
1830// Library: Third-party Python runtime library that is required by the
1831// application.
1832type Library struct {
1833	// Name: Name of the library. Example: "django".
1834	Name string `json:"name,omitempty"`
1835
1836	// Version: Version of the library to select, or "latest".
1837	Version string `json:"version,omitempty"`
1838
1839	// ForceSendFields is a list of field names (e.g. "Name") to
1840	// unconditionally include in API requests. By default, fields with
1841	// empty values are omitted from API requests. However, any non-pointer,
1842	// non-interface field appearing in ForceSendFields will be sent to the
1843	// server regardless of whether the field is empty or not. This may be
1844	// used to include empty fields in Patch requests.
1845	ForceSendFields []string `json:"-"`
1846
1847	// NullFields is a list of field names (e.g. "Name") to include in API
1848	// requests with the JSON null value. By default, fields with empty
1849	// values are omitted from API requests. However, any field with an
1850	// empty value appearing in NullFields will be sent to the server as
1851	// null. It is an error if a field in this list has a non-empty value.
1852	// This may be used to include null fields in Patch requests.
1853	NullFields []string `json:"-"`
1854}
1855
1856func (s *Library) MarshalJSON() ([]byte, error) {
1857	type NoMethod Library
1858	raw := NoMethod(*s)
1859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1860}
1861
1862// ListAuthorizedCertificatesResponse: Response message for
1863// AuthorizedCertificates.ListAuthorizedCertificates.
1864type ListAuthorizedCertificatesResponse struct {
1865	// Certificates: The SSL certificates the user is authorized to
1866	// administer.
1867	Certificates []*AuthorizedCertificate `json:"certificates,omitempty"`
1868
1869	// NextPageToken: Continuation token for fetching the next page of
1870	// results.
1871	NextPageToken string `json:"nextPageToken,omitempty"`
1872
1873	// ServerResponse contains the HTTP response code and headers from the
1874	// server.
1875	googleapi.ServerResponse `json:"-"`
1876
1877	// ForceSendFields is a list of field names (e.g. "Certificates") to
1878	// unconditionally include in API requests. By default, fields with
1879	// empty values are omitted from API requests. However, any non-pointer,
1880	// non-interface field appearing in ForceSendFields will be sent to the
1881	// server regardless of whether the field is empty or not. This may be
1882	// used to include empty fields in Patch requests.
1883	ForceSendFields []string `json:"-"`
1884
1885	// NullFields is a list of field names (e.g. "Certificates") to include
1886	// in API requests with the JSON null value. By default, fields with
1887	// empty values are omitted from API requests. However, any field with
1888	// an empty value appearing in NullFields will be sent to the server as
1889	// null. It is an error if a field in this list has a non-empty value.
1890	// This may be used to include null fields in Patch requests.
1891	NullFields []string `json:"-"`
1892}
1893
1894func (s *ListAuthorizedCertificatesResponse) MarshalJSON() ([]byte, error) {
1895	type NoMethod ListAuthorizedCertificatesResponse
1896	raw := NoMethod(*s)
1897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1898}
1899
1900// ListAuthorizedDomainsResponse: Response message for
1901// AuthorizedDomains.ListAuthorizedDomains.
1902type ListAuthorizedDomainsResponse struct {
1903	// Domains: The authorized domains belonging to the user.
1904	Domains []*AuthorizedDomain `json:"domains,omitempty"`
1905
1906	// NextPageToken: Continuation token for fetching the next page of
1907	// results.
1908	NextPageToken string `json:"nextPageToken,omitempty"`
1909
1910	// ServerResponse contains the HTTP response code and headers from the
1911	// server.
1912	googleapi.ServerResponse `json:"-"`
1913
1914	// ForceSendFields is a list of field names (e.g. "Domains") to
1915	// unconditionally include in API requests. By default, fields with
1916	// empty values are omitted from API requests. However, any non-pointer,
1917	// non-interface field appearing in ForceSendFields will be sent to the
1918	// server regardless of whether the field is empty or not. This may be
1919	// used to include empty fields in Patch requests.
1920	ForceSendFields []string `json:"-"`
1921
1922	// NullFields is a list of field names (e.g. "Domains") to include in
1923	// API requests with the JSON null value. By default, fields with empty
1924	// values are omitted from API requests. However, any field with an
1925	// empty value appearing in NullFields will be sent to the server as
1926	// null. It is an error if a field in this list has a non-empty value.
1927	// This may be used to include null fields in Patch requests.
1928	NullFields []string `json:"-"`
1929}
1930
1931func (s *ListAuthorizedDomainsResponse) MarshalJSON() ([]byte, error) {
1932	type NoMethod ListAuthorizedDomainsResponse
1933	raw := NoMethod(*s)
1934	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1935}
1936
1937// ListDomainMappingsResponse: Response message for
1938// DomainMappings.ListDomainMappings.
1939type ListDomainMappingsResponse struct {
1940	// DomainMappings: The domain mappings for the application.
1941	DomainMappings []*DomainMapping `json:"domainMappings,omitempty"`
1942
1943	// NextPageToken: Continuation token for fetching the next page of
1944	// results.
1945	NextPageToken string `json:"nextPageToken,omitempty"`
1946
1947	// ServerResponse contains the HTTP response code and headers from the
1948	// server.
1949	googleapi.ServerResponse `json:"-"`
1950
1951	// ForceSendFields is a list of field names (e.g. "DomainMappings") to
1952	// unconditionally include in API requests. By default, fields with
1953	// empty values are omitted from API requests. However, any non-pointer,
1954	// non-interface field appearing in ForceSendFields will be sent to the
1955	// server regardless of whether the field is empty or not. This may be
1956	// used to include empty fields in Patch requests.
1957	ForceSendFields []string `json:"-"`
1958
1959	// NullFields is a list of field names (e.g. "DomainMappings") to
1960	// include in API requests with the JSON null value. By default, fields
1961	// with empty values are omitted from API requests. However, any field
1962	// with an empty value appearing in NullFields will be sent to the
1963	// server as null. It is an error if a field in this list has a
1964	// non-empty value. This may be used to include null fields in Patch
1965	// requests.
1966	NullFields []string `json:"-"`
1967}
1968
1969func (s *ListDomainMappingsResponse) MarshalJSON() ([]byte, error) {
1970	type NoMethod ListDomainMappingsResponse
1971	raw := NoMethod(*s)
1972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1973}
1974
1975// ListIngressRulesResponse: Response message for
1976// Firewall.ListIngressRules.
1977type ListIngressRulesResponse struct {
1978	// IngressRules: The ingress FirewallRules for this application.
1979	IngressRules []*FirewallRule `json:"ingressRules,omitempty"`
1980
1981	// NextPageToken: Continuation token for fetching the next page of
1982	// results.
1983	NextPageToken string `json:"nextPageToken,omitempty"`
1984
1985	// ServerResponse contains the HTTP response code and headers from the
1986	// server.
1987	googleapi.ServerResponse `json:"-"`
1988
1989	// ForceSendFields is a list of field names (e.g. "IngressRules") to
1990	// unconditionally include in API requests. By default, fields with
1991	// empty values are omitted from API requests. However, any non-pointer,
1992	// non-interface field appearing in ForceSendFields will be sent to the
1993	// server regardless of whether the field is empty or not. This may be
1994	// used to include empty fields in Patch requests.
1995	ForceSendFields []string `json:"-"`
1996
1997	// NullFields is a list of field names (e.g. "IngressRules") to include
1998	// in API requests with the JSON null value. By default, fields with
1999	// empty values are omitted from API requests. However, any field with
2000	// an empty value appearing in NullFields will be sent to the server as
2001	// null. It is an error if a field in this list has a non-empty value.
2002	// This may be used to include null fields in Patch requests.
2003	NullFields []string `json:"-"`
2004}
2005
2006func (s *ListIngressRulesResponse) MarshalJSON() ([]byte, error) {
2007	type NoMethod ListIngressRulesResponse
2008	raw := NoMethod(*s)
2009	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2010}
2011
2012// ListInstancesResponse: Response message for Instances.ListInstances.
2013type ListInstancesResponse struct {
2014	// Instances: The instances belonging to the requested version.
2015	Instances []*Instance `json:"instances,omitempty"`
2016
2017	// NextPageToken: Continuation token for fetching the next page of
2018	// results.
2019	NextPageToken string `json:"nextPageToken,omitempty"`
2020
2021	// ServerResponse contains the HTTP response code and headers from the
2022	// server.
2023	googleapi.ServerResponse `json:"-"`
2024
2025	// ForceSendFields is a list of field names (e.g. "Instances") to
2026	// unconditionally include in API requests. By default, fields with
2027	// empty values are omitted from API requests. However, any non-pointer,
2028	// non-interface field appearing in ForceSendFields will be sent to the
2029	// server regardless of whether the field is empty or not. This may be
2030	// used to include empty fields in Patch requests.
2031	ForceSendFields []string `json:"-"`
2032
2033	// NullFields is a list of field names (e.g. "Instances") to include in
2034	// API requests with the JSON null value. By default, fields with empty
2035	// values are omitted from API requests. However, any field with an
2036	// empty value appearing in NullFields will be sent to the server as
2037	// null. It is an error if a field in this list has a non-empty value.
2038	// This may be used to include null fields in Patch requests.
2039	NullFields []string `json:"-"`
2040}
2041
2042func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
2043	type NoMethod ListInstancesResponse
2044	raw := NoMethod(*s)
2045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2046}
2047
2048// ListLocationsResponse: The response message for
2049// Locations.ListLocations.
2050type ListLocationsResponse struct {
2051	// Locations: A list of locations that matches the specified filter in
2052	// the request.
2053	Locations []*Location `json:"locations,omitempty"`
2054
2055	// NextPageToken: The standard List next-page token.
2056	NextPageToken string `json:"nextPageToken,omitempty"`
2057
2058	// ServerResponse contains the HTTP response code and headers from the
2059	// server.
2060	googleapi.ServerResponse `json:"-"`
2061
2062	// ForceSendFields is a list of field names (e.g. "Locations") to
2063	// unconditionally include in API requests. By default, fields with
2064	// empty values are omitted from API requests. However, any non-pointer,
2065	// non-interface field appearing in ForceSendFields will be sent to the
2066	// server regardless of whether the field is empty or not. This may be
2067	// used to include empty fields in Patch requests.
2068	ForceSendFields []string `json:"-"`
2069
2070	// NullFields is a list of field names (e.g. "Locations") to include in
2071	// API requests with the JSON null value. By default, fields with empty
2072	// values are omitted from API requests. However, any field with an
2073	// empty value appearing in NullFields will be sent to the server as
2074	// null. It is an error if a field in this list has a non-empty value.
2075	// This may be used to include null fields in Patch requests.
2076	NullFields []string `json:"-"`
2077}
2078
2079func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
2080	type NoMethod ListLocationsResponse
2081	raw := NoMethod(*s)
2082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2083}
2084
2085// ListOperationsResponse: The response message for
2086// Operations.ListOperations.
2087type ListOperationsResponse struct {
2088	// NextPageToken: The standard List next-page token.
2089	NextPageToken string `json:"nextPageToken,omitempty"`
2090
2091	// Operations: A list of operations that matches the specified filter in
2092	// the request.
2093	Operations []*Operation `json:"operations,omitempty"`
2094
2095	// ServerResponse contains the HTTP response code and headers from the
2096	// server.
2097	googleapi.ServerResponse `json:"-"`
2098
2099	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2100	// unconditionally include in API requests. By default, fields with
2101	// empty values are omitted from API requests. However, any non-pointer,
2102	// non-interface field appearing in ForceSendFields will be sent to the
2103	// server regardless of whether the field is empty or not. This may be
2104	// used to include empty fields in Patch requests.
2105	ForceSendFields []string `json:"-"`
2106
2107	// NullFields is a list of field names (e.g. "NextPageToken") to include
2108	// in API requests with the JSON null value. By default, fields with
2109	// empty values are omitted from API requests. However, any field with
2110	// an empty value appearing in NullFields will be sent to the server as
2111	// null. It is an error if a field in this list has a non-empty value.
2112	// This may be used to include null fields in Patch requests.
2113	NullFields []string `json:"-"`
2114}
2115
2116func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
2117	type NoMethod ListOperationsResponse
2118	raw := NoMethod(*s)
2119	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2120}
2121
2122// ListServicesResponse: Response message for Services.ListServices.
2123type ListServicesResponse struct {
2124	// NextPageToken: Continuation token for fetching the next page of
2125	// results.
2126	NextPageToken string `json:"nextPageToken,omitempty"`
2127
2128	// Services: The services belonging to the requested application.
2129	Services []*Service `json:"services,omitempty"`
2130
2131	// ServerResponse contains the HTTP response code and headers from the
2132	// server.
2133	googleapi.ServerResponse `json:"-"`
2134
2135	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2136	// unconditionally include in API requests. By default, fields with
2137	// empty values are omitted from API requests. However, any non-pointer,
2138	// non-interface field appearing in ForceSendFields will be sent to the
2139	// server regardless of whether the field is empty or not. This may be
2140	// used to include empty fields in Patch requests.
2141	ForceSendFields []string `json:"-"`
2142
2143	// NullFields is a list of field names (e.g. "NextPageToken") to include
2144	// in API requests with the JSON null value. By default, fields with
2145	// empty values are omitted from API requests. However, any field with
2146	// an empty value appearing in NullFields will be sent to the server as
2147	// null. It is an error if a field in this list has a non-empty value.
2148	// This may be used to include null fields in Patch requests.
2149	NullFields []string `json:"-"`
2150}
2151
2152func (s *ListServicesResponse) MarshalJSON() ([]byte, error) {
2153	type NoMethod ListServicesResponse
2154	raw := NoMethod(*s)
2155	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2156}
2157
2158// ListVersionsResponse: Response message for Versions.ListVersions.
2159type ListVersionsResponse struct {
2160	// NextPageToken: Continuation token for fetching the next page of
2161	// results.
2162	NextPageToken string `json:"nextPageToken,omitempty"`
2163
2164	// Versions: The versions belonging to the requested service.
2165	Versions []*Version `json:"versions,omitempty"`
2166
2167	// ServerResponse contains the HTTP response code and headers from the
2168	// server.
2169	googleapi.ServerResponse `json:"-"`
2170
2171	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2172	// unconditionally include in API requests. By default, fields with
2173	// empty values are omitted from API requests. However, any non-pointer,
2174	// non-interface field appearing in ForceSendFields will be sent to the
2175	// server regardless of whether the field is empty or not. This may be
2176	// used to include empty fields in Patch requests.
2177	ForceSendFields []string `json:"-"`
2178
2179	// NullFields is a list of field names (e.g. "NextPageToken") to include
2180	// in API requests with the JSON null value. By default, fields with
2181	// empty values are omitted from API requests. However, any field with
2182	// an empty value appearing in NullFields will be sent to the server as
2183	// null. It is an error if a field in this list has a non-empty value.
2184	// This may be used to include null fields in Patch requests.
2185	NullFields []string `json:"-"`
2186}
2187
2188func (s *ListVersionsResponse) MarshalJSON() ([]byte, error) {
2189	type NoMethod ListVersionsResponse
2190	raw := NoMethod(*s)
2191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2192}
2193
2194// LivenessCheck: Health checking configuration for VM instances.
2195// Unhealthy instances are killed and replaced with new instances.
2196type LivenessCheck struct {
2197	// CheckInterval: Interval between health checks.
2198	CheckInterval string `json:"checkInterval,omitempty"`
2199
2200	// FailureThreshold: Number of consecutive failed checks required before
2201	// considering the VM unhealthy.
2202	FailureThreshold int64 `json:"failureThreshold,omitempty"`
2203
2204	// Host: Host header to send when performing a HTTP Liveness check.
2205	// Example: "myapp.appspot.com"
2206	Host string `json:"host,omitempty"`
2207
2208	// InitialDelay: The initial delay before starting to execute the
2209	// checks.
2210	InitialDelay string `json:"initialDelay,omitempty"`
2211
2212	// Path: The request path.
2213	Path string `json:"path,omitempty"`
2214
2215	// SuccessThreshold: Number of consecutive successful checks required
2216	// before considering the VM healthy.
2217	SuccessThreshold int64 `json:"successThreshold,omitempty"`
2218
2219	// Timeout: Time before the check is considered failed.
2220	Timeout string `json:"timeout,omitempty"`
2221
2222	// ForceSendFields is a list of field names (e.g. "CheckInterval") to
2223	// unconditionally include in API requests. By default, fields with
2224	// empty values are omitted from API requests. However, any non-pointer,
2225	// non-interface field appearing in ForceSendFields will be sent to the
2226	// server regardless of whether the field is empty or not. This may be
2227	// used to include empty fields in Patch requests.
2228	ForceSendFields []string `json:"-"`
2229
2230	// NullFields is a list of field names (e.g. "CheckInterval") to include
2231	// in API requests with the JSON null value. By default, fields with
2232	// empty values are omitted from API requests. However, any field with
2233	// an empty value appearing in NullFields will be sent to the server as
2234	// null. It is an error if a field in this list has a non-empty value.
2235	// This may be used to include null fields in Patch requests.
2236	NullFields []string `json:"-"`
2237}
2238
2239func (s *LivenessCheck) MarshalJSON() ([]byte, error) {
2240	type NoMethod LivenessCheck
2241	raw := NoMethod(*s)
2242	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2243}
2244
2245// Location: A resource that represents Google Cloud Platform location.
2246type Location struct {
2247	// DisplayName: The friendly name for this location, typically a nearby
2248	// city name. For example, "Tokyo".
2249	DisplayName string `json:"displayName,omitempty"`
2250
2251	// Labels: Cross-service attributes for the location. For example
2252	// {"cloud.googleapis.com/region": "us-east1"}
2253	Labels map[string]string `json:"labels,omitempty"`
2254
2255	// LocationId: The canonical id for this location. For example:
2256	// "us-east1".
2257	LocationId string `json:"locationId,omitempty"`
2258
2259	// Metadata: Service-specific metadata. For example the available
2260	// capacity at the given location.
2261	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
2262
2263	// Name: Resource name for the location, which may vary between
2264	// implementations. For example:
2265	// "projects/example-project/locations/us-east1"
2266	Name string `json:"name,omitempty"`
2267
2268	// ServerResponse contains the HTTP response code and headers from the
2269	// server.
2270	googleapi.ServerResponse `json:"-"`
2271
2272	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2273	// unconditionally include in API requests. By default, fields with
2274	// empty values are omitted from API requests. However, any non-pointer,
2275	// non-interface field appearing in ForceSendFields will be sent to the
2276	// server regardless of whether the field is empty or not. This may be
2277	// used to include empty fields in Patch requests.
2278	ForceSendFields []string `json:"-"`
2279
2280	// NullFields is a list of field names (e.g. "DisplayName") to include
2281	// in API requests with the JSON null value. By default, fields with
2282	// empty values are omitted from API requests. However, any field with
2283	// an empty value appearing in NullFields will be sent to the server as
2284	// null. It is an error if a field in this list has a non-empty value.
2285	// This may be used to include null fields in Patch requests.
2286	NullFields []string `json:"-"`
2287}
2288
2289func (s *Location) MarshalJSON() ([]byte, error) {
2290	type NoMethod Location
2291	raw := NoMethod(*s)
2292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2293}
2294
2295// LocationMetadata: Metadata for the given
2296// google.cloud.location.Location.
2297type LocationMetadata struct {
2298	// FlexibleEnvironmentAvailable: App Engine flexible environment is
2299	// available in the given location.@OutputOnly
2300	FlexibleEnvironmentAvailable bool `json:"flexibleEnvironmentAvailable,omitempty"`
2301
2302	// SearchApiAvailable: Output only. Search API
2303	// (https://cloud.google.com/appengine/docs/standard/python/search) is
2304	// available in the given location.
2305	SearchApiAvailable bool `json:"searchApiAvailable,omitempty"`
2306
2307	// StandardEnvironmentAvailable: App Engine standard environment is
2308	// available in the given location.@OutputOnly
2309	StandardEnvironmentAvailable bool `json:"standardEnvironmentAvailable,omitempty"`
2310
2311	// ForceSendFields is a list of field names (e.g.
2312	// "FlexibleEnvironmentAvailable") to unconditionally include in API
2313	// requests. By default, fields with empty values are omitted from API
2314	// requests. However, any non-pointer, non-interface field appearing in
2315	// ForceSendFields will be sent to the server regardless of whether the
2316	// field is empty or not. This may be used to include empty fields in
2317	// Patch requests.
2318	ForceSendFields []string `json:"-"`
2319
2320	// NullFields is a list of field names (e.g.
2321	// "FlexibleEnvironmentAvailable") to include in API requests with the
2322	// JSON null value. By default, fields with empty values are omitted
2323	// from API requests. However, any field with an empty value appearing
2324	// in NullFields will be sent to the server as null. It is an error if a
2325	// field in this list has a non-empty value. This may be used to include
2326	// null fields in Patch requests.
2327	NullFields []string `json:"-"`
2328}
2329
2330func (s *LocationMetadata) MarshalJSON() ([]byte, error) {
2331	type NoMethod LocationMetadata
2332	raw := NoMethod(*s)
2333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2334}
2335
2336// ManagedCertificate: A certificate managed by App Engine.
2337type ManagedCertificate struct {
2338	// LastRenewalTime: Time at which the certificate was last renewed. The
2339	// renewal process is fully managed. Certificate renewal will
2340	// automatically occur before the certificate expires. Renewal errors
2341	// can be tracked via ManagementStatus.@OutputOnly
2342	LastRenewalTime string `json:"lastRenewalTime,omitempty"`
2343
2344	// Status: Status of certificate management. Refers to the most recent
2345	// certificate acquisition or renewal attempt.@OutputOnly
2346	//
2347	// Possible values:
2348	//   "MANAGEMENT_STATUS_UNSPECIFIED"
2349	//   "OK" - Certificate was successfully obtained and inserted into the
2350	// serving system.
2351	//   "PENDING" - Certificate is under active attempts to acquire or
2352	// renew.
2353	//   "FAILED_RETRYING_NOT_VISIBLE" - Most recent renewal failed due to
2354	// an invalid DNS setup and will be retried. Renewal attempts will
2355	// continue to fail until the certificate domain's DNS configuration is
2356	// fixed. The last successfully provisioned certificate may still be
2357	// serving.
2358	//   "FAILED_PERMANENT" - All renewal attempts have been exhausted,
2359	// likely due to an invalid DNS setup.
2360	//   "FAILED_RETRYING_CAA_FORBIDDEN" - Most recent renewal failed due to
2361	// an explicit CAA record that does not include one of the in-use CAs
2362	// (Google CA and Let's Encrypt). Renewals will continue to fail until
2363	// the CAA is reconfigured. The last successfully provisioned
2364	// certificate may still be serving.
2365	//   "FAILED_RETRYING_CAA_CHECKING" - Most recent renewal failed due to
2366	// a CAA retrieval failure. This means that the domain's DNS provider
2367	// does not properly handle CAA records, failing requests for CAA
2368	// records when no CAA records are defined. Renewals will continue to
2369	// fail until the DNS provider is changed or a CAA record is added for
2370	// the given domain. The last successfully provisioned certificate may
2371	// still be serving.
2372	Status string `json:"status,omitempty"`
2373
2374	// ForceSendFields is a list of field names (e.g. "LastRenewalTime") to
2375	// unconditionally include in API requests. By default, fields with
2376	// empty values are omitted from API requests. However, any non-pointer,
2377	// non-interface field appearing in ForceSendFields will be sent to the
2378	// server regardless of whether the field is empty or not. This may be
2379	// used to include empty fields in Patch requests.
2380	ForceSendFields []string `json:"-"`
2381
2382	// NullFields is a list of field names (e.g. "LastRenewalTime") to
2383	// include in API requests with the JSON null value. By default, fields
2384	// with empty values are omitted from API requests. However, any field
2385	// with an empty value appearing in NullFields will be sent to the
2386	// server as null. It is an error if a field in this list has a
2387	// non-empty value. This may be used to include null fields in Patch
2388	// requests.
2389	NullFields []string `json:"-"`
2390}
2391
2392func (s *ManagedCertificate) MarshalJSON() ([]byte, error) {
2393	type NoMethod ManagedCertificate
2394	raw := NoMethod(*s)
2395	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2396}
2397
2398// ManualScaling: A service with manual scaling runs continuously,
2399// allowing you to perform complex initialization and rely on the state
2400// of its memory over time.
2401type ManualScaling struct {
2402	// Instances: Number of instances to assign to the service at the start.
2403	// This number can later be altered by using the Modules API
2404	// (https://cloud.google.com/appengine/docs/python/modules/functions)
2405	// set_num_instances() function.
2406	Instances int64 `json:"instances,omitempty"`
2407
2408	// ForceSendFields is a list of field names (e.g. "Instances") to
2409	// unconditionally include in API requests. By default, fields with
2410	// empty values are omitted from API requests. However, any non-pointer,
2411	// non-interface field appearing in ForceSendFields will be sent to the
2412	// server regardless of whether the field is empty or not. This may be
2413	// used to include empty fields in Patch requests.
2414	ForceSendFields []string `json:"-"`
2415
2416	// NullFields is a list of field names (e.g. "Instances") to include in
2417	// API requests with the JSON null value. By default, fields with empty
2418	// values are omitted from API requests. However, any field with an
2419	// empty value appearing in NullFields will be sent to the server as
2420	// null. It is an error if a field in this list has a non-empty value.
2421	// This may be used to include null fields in Patch requests.
2422	NullFields []string `json:"-"`
2423}
2424
2425func (s *ManualScaling) MarshalJSON() ([]byte, error) {
2426	type NoMethod ManualScaling
2427	raw := NoMethod(*s)
2428	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2429}
2430
2431// Network: Extra network settings. Only applicable in the App Engine
2432// flexible environment.
2433type Network struct {
2434	// ForwardedPorts: List of ports, or port pairs, to forward from the
2435	// virtual machine to the application container. Only applicable in the
2436	// App Engine flexible environment.
2437	ForwardedPorts []string `json:"forwardedPorts,omitempty"`
2438
2439	// InstanceTag: Tag to apply to the instance during creation. Only
2440	// applicable in the App Engine flexible environment.
2441	InstanceTag string `json:"instanceTag,omitempty"`
2442
2443	// Name: Google Compute Engine network where the virtual machines are
2444	// created. Specify the short name, not the resource path.Defaults to
2445	// default.
2446	Name string `json:"name,omitempty"`
2447
2448	// SessionAffinity: Enable session affinity. Only applicable in the App
2449	// Engine flexible environment.
2450	SessionAffinity bool `json:"sessionAffinity,omitempty"`
2451
2452	// SubnetworkName: Google Cloud Platform sub-network where the virtual
2453	// machines are created. Specify the short name, not the resource
2454	// path.If a subnetwork name is specified, a network name will also be
2455	// required unless it is for the default network. If the network that
2456	// the instance is being created in is a Legacy network, then the IP
2457	// address is allocated from the IPv4Range. If the network that the
2458	// instance is being created in is an auto Subnet Mode Network, then
2459	// only network name should be specified (not the subnetwork_name) and
2460	// the IP address is created from the IPCidrRange of the subnetwork that
2461	// exists in that zone for that network. If the network that the
2462	// instance is being created in is a custom Subnet Mode Network, then
2463	// the subnetwork_name must be specified and the IP address is created
2464	// from the IPCidrRange of the subnetwork.If specified, the subnetwork
2465	// must exist in the same region as the App Engine flexible environment
2466	// application.
2467	SubnetworkName string `json:"subnetworkName,omitempty"`
2468
2469	// ForceSendFields is a list of field names (e.g. "ForwardedPorts") to
2470	// unconditionally include in API requests. By default, fields with
2471	// empty values are omitted from API requests. However, any non-pointer,
2472	// non-interface field appearing in ForceSendFields will be sent to the
2473	// server regardless of whether the field is empty or not. This may be
2474	// used to include empty fields in Patch requests.
2475	ForceSendFields []string `json:"-"`
2476
2477	// NullFields is a list of field names (e.g. "ForwardedPorts") to
2478	// include in API requests with the JSON null value. By default, fields
2479	// with empty values are omitted from API requests. However, any field
2480	// with an empty value appearing in NullFields will be sent to the
2481	// server as null. It is an error if a field in this list has a
2482	// non-empty value. This may be used to include null fields in Patch
2483	// requests.
2484	NullFields []string `json:"-"`
2485}
2486
2487func (s *Network) MarshalJSON() ([]byte, error) {
2488	type NoMethod Network
2489	raw := NoMethod(*s)
2490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2491}
2492
2493// NetworkSettings: A NetworkSettings resource is a container for
2494// ingress settings for a version or service.
2495type NetworkSettings struct {
2496	// IngressTrafficAllowed: The ingress settings for version or service.
2497	//
2498	// Possible values:
2499	//   "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" - Unspecified
2500	//   "INGRESS_TRAFFIC_ALLOWED_ALL" - Allow HTTP traffic from public and
2501	// private sources.
2502	//   "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY" - Allow HTTP traffic from
2503	// only private VPC sources.
2504	//   "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB" - Allow HTTP traffic from
2505	// private VPC sources and through load balancers.
2506	IngressTrafficAllowed string `json:"ingressTrafficAllowed,omitempty"`
2507
2508	// ForceSendFields is a list of field names (e.g.
2509	// "IngressTrafficAllowed") to unconditionally include in API requests.
2510	// By default, fields with empty values are omitted from API requests.
2511	// However, any non-pointer, non-interface field appearing in
2512	// ForceSendFields will be sent to the server regardless of whether the
2513	// field is empty or not. This may be used to include empty fields in
2514	// Patch requests.
2515	ForceSendFields []string `json:"-"`
2516
2517	// NullFields is a list of field names (e.g. "IngressTrafficAllowed") to
2518	// include in API requests with the JSON null value. By default, fields
2519	// with empty values are omitted from API requests. However, any field
2520	// with an empty value appearing in NullFields will be sent to the
2521	// server as null. It is an error if a field in this list has a
2522	// non-empty value. This may be used to include null fields in Patch
2523	// requests.
2524	NullFields []string `json:"-"`
2525}
2526
2527func (s *NetworkSettings) MarshalJSON() ([]byte, error) {
2528	type NoMethod NetworkSettings
2529	raw := NoMethod(*s)
2530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2531}
2532
2533// NetworkUtilization: Target scaling by network usage. Only applicable
2534// in the App Engine flexible environment.
2535type NetworkUtilization struct {
2536	// TargetReceivedBytesPerSecond: Target bytes received per second.
2537	TargetReceivedBytesPerSecond int64 `json:"targetReceivedBytesPerSecond,omitempty"`
2538
2539	// TargetReceivedPacketsPerSecond: Target packets received per second.
2540	TargetReceivedPacketsPerSecond int64 `json:"targetReceivedPacketsPerSecond,omitempty"`
2541
2542	// TargetSentBytesPerSecond: Target bytes sent per second.
2543	TargetSentBytesPerSecond int64 `json:"targetSentBytesPerSecond,omitempty"`
2544
2545	// TargetSentPacketsPerSecond: Target packets sent per second.
2546	TargetSentPacketsPerSecond int64 `json:"targetSentPacketsPerSecond,omitempty"`
2547
2548	// ForceSendFields is a list of field names (e.g.
2549	// "TargetReceivedBytesPerSecond") to unconditionally include in API
2550	// requests. By default, fields with empty values are omitted from API
2551	// requests. However, any non-pointer, non-interface field appearing in
2552	// ForceSendFields will be sent to the server regardless of whether the
2553	// field is empty or not. This may be used to include empty fields in
2554	// Patch requests.
2555	ForceSendFields []string `json:"-"`
2556
2557	// NullFields is a list of field names (e.g.
2558	// "TargetReceivedBytesPerSecond") to include in API requests with the
2559	// JSON null value. By default, fields with empty values are omitted
2560	// from API requests. However, any field with an empty value appearing
2561	// in NullFields will be sent to the server as null. It is an error if a
2562	// field in this list has a non-empty value. This may be used to include
2563	// null fields in Patch requests.
2564	NullFields []string `json:"-"`
2565}
2566
2567func (s *NetworkUtilization) MarshalJSON() ([]byte, error) {
2568	type NoMethod NetworkUtilization
2569	raw := NoMethod(*s)
2570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2571}
2572
2573// Operation: This resource represents a long-running operation that is
2574// the result of a network API call.
2575type Operation struct {
2576	// Done: If the value is false, it means the operation is still in
2577	// progress. If true, the operation is completed, and either error or
2578	// response is available.
2579	Done bool `json:"done,omitempty"`
2580
2581	// Error: The error result of the operation in case of failure or
2582	// cancellation.
2583	Error *Status `json:"error,omitempty"`
2584
2585	// Metadata: Service-specific metadata associated with the operation. It
2586	// typically contains progress information and common metadata such as
2587	// create time. Some services might not provide such metadata. Any
2588	// method that returns a long-running operation should document the
2589	// metadata type, if any.
2590	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
2591
2592	// Name: The server-assigned name, which is only unique within the same
2593	// service that originally returns it. If you use the default HTTP
2594	// mapping, the name should be a resource name ending with
2595	// operations/{unique_id}.
2596	Name string `json:"name,omitempty"`
2597
2598	// Response: The normal response of the operation in case of success. If
2599	// the original method returns no data on success, such as Delete, the
2600	// response is google.protobuf.Empty. If the original method is standard
2601	// Get/Create/Update, the response should be the resource. For other
2602	// methods, the response should have the type XxxResponse, where Xxx is
2603	// the original method name. For example, if the original method name is
2604	// TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
2605	Response googleapi.RawMessage `json:"response,omitempty"`
2606
2607	// ServerResponse contains the HTTP response code and headers from the
2608	// server.
2609	googleapi.ServerResponse `json:"-"`
2610
2611	// ForceSendFields is a list of field names (e.g. "Done") to
2612	// unconditionally include in API requests. By default, fields with
2613	// empty values are omitted from API requests. However, any non-pointer,
2614	// non-interface field appearing in ForceSendFields will be sent to the
2615	// server regardless of whether the field is empty or not. This may be
2616	// used to include empty fields in Patch requests.
2617	ForceSendFields []string `json:"-"`
2618
2619	// NullFields is a list of field names (e.g. "Done") to include in API
2620	// requests with the JSON null value. By default, fields with empty
2621	// values are omitted from API requests. However, any field with an
2622	// empty value appearing in NullFields will be sent to the server as
2623	// null. It is an error if a field in this list has a non-empty value.
2624	// This may be used to include null fields in Patch requests.
2625	NullFields []string `json:"-"`
2626}
2627
2628func (s *Operation) MarshalJSON() ([]byte, error) {
2629	type NoMethod Operation
2630	raw := NoMethod(*s)
2631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2632}
2633
2634// OperationMetadataV1: Metadata for the given
2635// google.longrunning.Operation.
2636type OperationMetadataV1 struct {
2637	CreateVersionMetadata *CreateVersionMetadataV1 `json:"createVersionMetadata,omitempty"`
2638
2639	// EndTime: Time that this operation completed.@OutputOnly
2640	EndTime string `json:"endTime,omitempty"`
2641
2642	// EphemeralMessage: Ephemeral message that may change every time the
2643	// operation is polled. @OutputOnly
2644	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
2645
2646	// InsertTime: Time that this operation was created.@OutputOnly
2647	InsertTime string `json:"insertTime,omitempty"`
2648
2649	// Method: API method that initiated this operation. Example:
2650	// google.appengine.v1.Versions.CreateVersion.@OutputOnly
2651	Method string `json:"method,omitempty"`
2652
2653	// Target: Name of the resource that this operation is acting on.
2654	// Example: apps/myapp/services/default.@OutputOnly
2655	Target string `json:"target,omitempty"`
2656
2657	// User: User who requested this operation.@OutputOnly
2658	User string `json:"user,omitempty"`
2659
2660	// Warning: Durable messages that persist on every operation poll.
2661	// @OutputOnly
2662	Warning []string `json:"warning,omitempty"`
2663
2664	// ForceSendFields is a list of field names (e.g.
2665	// "CreateVersionMetadata") to unconditionally include in API requests.
2666	// By default, fields with empty values are omitted from API requests.
2667	// However, any non-pointer, non-interface field appearing in
2668	// ForceSendFields will be sent to the server regardless of whether the
2669	// field is empty or not. This may be used to include empty fields in
2670	// Patch requests.
2671	ForceSendFields []string `json:"-"`
2672
2673	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
2674	// include in API requests with the JSON null value. By default, fields
2675	// with empty values are omitted from API requests. However, any field
2676	// with an empty value appearing in NullFields will be sent to the
2677	// server as null. It is an error if a field in this list has a
2678	// non-empty value. This may be used to include null fields in Patch
2679	// requests.
2680	NullFields []string `json:"-"`
2681}
2682
2683func (s *OperationMetadataV1) MarshalJSON() ([]byte, error) {
2684	type NoMethod OperationMetadataV1
2685	raw := NoMethod(*s)
2686	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2687}
2688
2689// OperationMetadataV1Alpha: Metadata for the given
2690// google.longrunning.Operation.
2691type OperationMetadataV1Alpha struct {
2692	CreateVersionMetadata *CreateVersionMetadataV1Alpha `json:"createVersionMetadata,omitempty"`
2693
2694	// EndTime: Time that this operation completed.@OutputOnly
2695	EndTime string `json:"endTime,omitempty"`
2696
2697	// EphemeralMessage: Ephemeral message that may change every time the
2698	// operation is polled. @OutputOnly
2699	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
2700
2701	// InsertTime: Time that this operation was created.@OutputOnly
2702	InsertTime string `json:"insertTime,omitempty"`
2703
2704	// Method: API method that initiated this operation. Example:
2705	// google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly
2706	Method string `json:"method,omitempty"`
2707
2708	// Target: Name of the resource that this operation is acting on.
2709	// Example: apps/myapp/services/default.@OutputOnly
2710	Target string `json:"target,omitempty"`
2711
2712	// User: User who requested this operation.@OutputOnly
2713	User string `json:"user,omitempty"`
2714
2715	// Warning: Durable messages that persist on every operation poll.
2716	// @OutputOnly
2717	Warning []string `json:"warning,omitempty"`
2718
2719	// ForceSendFields is a list of field names (e.g.
2720	// "CreateVersionMetadata") to unconditionally include in API requests.
2721	// By default, fields with empty values are omitted from API requests.
2722	// However, any non-pointer, non-interface field appearing in
2723	// ForceSendFields will be sent to the server regardless of whether the
2724	// field is empty or not. This may be used to include empty fields in
2725	// Patch requests.
2726	ForceSendFields []string `json:"-"`
2727
2728	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
2729	// include in API requests with the JSON null value. By default, fields
2730	// with empty values are omitted from API requests. However, any field
2731	// with an empty value appearing in NullFields will be sent to the
2732	// server as null. It is an error if a field in this list has a
2733	// non-empty value. This may be used to include null fields in Patch
2734	// requests.
2735	NullFields []string `json:"-"`
2736}
2737
2738func (s *OperationMetadataV1Alpha) MarshalJSON() ([]byte, error) {
2739	type NoMethod OperationMetadataV1Alpha
2740	raw := NoMethod(*s)
2741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2742}
2743
2744// OperationMetadataV1Beta: Metadata for the given
2745// google.longrunning.Operation.
2746type OperationMetadataV1Beta struct {
2747	CreateVersionMetadata *CreateVersionMetadataV1Beta `json:"createVersionMetadata,omitempty"`
2748
2749	// EndTime: Time that this operation completed.@OutputOnly
2750	EndTime string `json:"endTime,omitempty"`
2751
2752	// EphemeralMessage: Ephemeral message that may change every time the
2753	// operation is polled. @OutputOnly
2754	EphemeralMessage string `json:"ephemeralMessage,omitempty"`
2755
2756	// InsertTime: Time that this operation was created.@OutputOnly
2757	InsertTime string `json:"insertTime,omitempty"`
2758
2759	// Method: API method that initiated this operation. Example:
2760	// google.appengine.v1beta.Versions.CreateVersion.@OutputOnly
2761	Method string `json:"method,omitempty"`
2762
2763	// Target: Name of the resource that this operation is acting on.
2764	// Example: apps/myapp/services/default.@OutputOnly
2765	Target string `json:"target,omitempty"`
2766
2767	// User: User who requested this operation.@OutputOnly
2768	User string `json:"user,omitempty"`
2769
2770	// Warning: Durable messages that persist on every operation poll.
2771	// @OutputOnly
2772	Warning []string `json:"warning,omitempty"`
2773
2774	// ForceSendFields is a list of field names (e.g.
2775	// "CreateVersionMetadata") to unconditionally include in API requests.
2776	// By default, fields with empty values are omitted from API requests.
2777	// However, any non-pointer, non-interface field appearing in
2778	// ForceSendFields will be sent to the server regardless of whether the
2779	// field is empty or not. This may be used to include empty fields in
2780	// Patch requests.
2781	ForceSendFields []string `json:"-"`
2782
2783	// NullFields is a list of field names (e.g. "CreateVersionMetadata") to
2784	// include in API requests with the JSON null value. By default, fields
2785	// with empty values are omitted from API requests. However, any field
2786	// with an empty value appearing in NullFields will be sent to the
2787	// server as null. It is an error if a field in this list has a
2788	// non-empty value. This may be used to include null fields in Patch
2789	// requests.
2790	NullFields []string `json:"-"`
2791}
2792
2793func (s *OperationMetadataV1Beta) MarshalJSON() ([]byte, error) {
2794	type NoMethod OperationMetadataV1Beta
2795	raw := NoMethod(*s)
2796	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2797}
2798
2799// ReadinessCheck: Readiness checking configuration for VM instances.
2800// Unhealthy instances are removed from traffic rotation.
2801type ReadinessCheck struct {
2802	// AppStartTimeout: A maximum time limit on application initialization,
2803	// measured from moment the application successfully replies to a
2804	// healthcheck until it is ready to serve traffic.
2805	AppStartTimeout string `json:"appStartTimeout,omitempty"`
2806
2807	// CheckInterval: Interval between health checks.
2808	CheckInterval string `json:"checkInterval,omitempty"`
2809
2810	// FailureThreshold: Number of consecutive failed checks required before
2811	// removing traffic.
2812	FailureThreshold int64 `json:"failureThreshold,omitempty"`
2813
2814	// Host: Host header to send when performing a HTTP Readiness check.
2815	// Example: "myapp.appspot.com"
2816	Host string `json:"host,omitempty"`
2817
2818	// Path: The request path.
2819	Path string `json:"path,omitempty"`
2820
2821	// SuccessThreshold: Number of consecutive successful checks required
2822	// before receiving traffic.
2823	SuccessThreshold int64 `json:"successThreshold,omitempty"`
2824
2825	// Timeout: Time before the check is considered failed.
2826	Timeout string `json:"timeout,omitempty"`
2827
2828	// ForceSendFields is a list of field names (e.g. "AppStartTimeout") to
2829	// unconditionally include in API requests. By default, fields with
2830	// empty values are omitted from API requests. However, any non-pointer,
2831	// non-interface field appearing in ForceSendFields will be sent to the
2832	// server regardless of whether the field is empty or not. This may be
2833	// used to include empty fields in Patch requests.
2834	ForceSendFields []string `json:"-"`
2835
2836	// NullFields is a list of field names (e.g. "AppStartTimeout") to
2837	// include in API requests with the JSON null value. By default, fields
2838	// with empty values are omitted from API requests. However, any field
2839	// with an empty value appearing in NullFields will be sent to the
2840	// server as null. It is an error if a field in this list has a
2841	// non-empty value. This may be used to include null fields in Patch
2842	// requests.
2843	NullFields []string `json:"-"`
2844}
2845
2846func (s *ReadinessCheck) MarshalJSON() ([]byte, error) {
2847	type NoMethod ReadinessCheck
2848	raw := NoMethod(*s)
2849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2850}
2851
2852// RepairApplicationRequest: Request message for
2853// 'Applications.RepairApplication'.
2854type RepairApplicationRequest struct {
2855}
2856
2857// RequestUtilization: Target scaling by request utilization. Only
2858// applicable in the App Engine flexible environment.
2859type RequestUtilization struct {
2860	// TargetConcurrentRequests: Target number of concurrent requests.
2861	TargetConcurrentRequests int64 `json:"targetConcurrentRequests,omitempty"`
2862
2863	// TargetRequestCountPerSecond: Target requests per second.
2864	TargetRequestCountPerSecond int64 `json:"targetRequestCountPerSecond,omitempty"`
2865
2866	// ForceSendFields is a list of field names (e.g.
2867	// "TargetConcurrentRequests") to unconditionally include in API
2868	// requests. By default, fields with empty values are omitted from API
2869	// requests. However, any non-pointer, non-interface field appearing in
2870	// ForceSendFields will be sent to the server regardless of whether the
2871	// field is empty or not. This may be used to include empty fields in
2872	// Patch requests.
2873	ForceSendFields []string `json:"-"`
2874
2875	// NullFields is a list of field names (e.g. "TargetConcurrentRequests")
2876	// to include in API requests with the JSON null value. By default,
2877	// fields with empty values are omitted from API requests. However, any
2878	// field with an empty value appearing in NullFields will be sent to the
2879	// server as null. It is an error if a field in this list has a
2880	// non-empty value. This may be used to include null fields in Patch
2881	// requests.
2882	NullFields []string `json:"-"`
2883}
2884
2885func (s *RequestUtilization) MarshalJSON() ([]byte, error) {
2886	type NoMethod RequestUtilization
2887	raw := NoMethod(*s)
2888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2889}
2890
2891// ResourceRecord: A DNS resource record.
2892type ResourceRecord struct {
2893	// Name: Relative name of the object affected by this record. Only
2894	// applicable for CNAME records. Example: 'www'.
2895	Name string `json:"name,omitempty"`
2896
2897	// Rrdata: Data for this record. Values vary by record type, as defined
2898	// in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).
2899	Rrdata string `json:"rrdata,omitempty"`
2900
2901	// Type: Resource record type. Example: AAAA.
2902	//
2903	// Possible values:
2904	//   "A" - An A resource record. Data is an IPv4 address.
2905	//   "AAAA" - An AAAA resource record. Data is an IPv6 address.
2906	//   "CNAME" - A CNAME resource record. Data is a domain name to be
2907	// aliased.
2908	Type string `json:"type,omitempty"`
2909
2910	// ForceSendFields is a list of field names (e.g. "Name") to
2911	// unconditionally include in API requests. By default, fields with
2912	// empty values are omitted from API requests. However, any non-pointer,
2913	// non-interface field appearing in ForceSendFields will be sent to the
2914	// server regardless of whether the field is empty or not. This may be
2915	// used to include empty fields in Patch requests.
2916	ForceSendFields []string `json:"-"`
2917
2918	// NullFields is a list of field names (e.g. "Name") to include in API
2919	// requests with the JSON null value. By default, fields with empty
2920	// values are omitted from API requests. However, any field with an
2921	// empty value appearing in NullFields will be sent to the server as
2922	// null. It is an error if a field in this list has a non-empty value.
2923	// This may be used to include null fields in Patch requests.
2924	NullFields []string `json:"-"`
2925}
2926
2927func (s *ResourceRecord) MarshalJSON() ([]byte, error) {
2928	type NoMethod ResourceRecord
2929	raw := NoMethod(*s)
2930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2931}
2932
2933// Resources: Machine resources for a version.
2934type Resources struct {
2935	// Cpu: Number of CPU cores needed.
2936	Cpu float64 `json:"cpu,omitempty"`
2937
2938	// DiskGb: Disk size (GB) needed.
2939	DiskGb float64 `json:"diskGb,omitempty"`
2940
2941	// KmsKeyReference: The name of the encryption key that is stored in
2942	// Google Cloud KMS. Only should be used by Cloud Composer to encrypt
2943	// the vm disk
2944	KmsKeyReference string `json:"kmsKeyReference,omitempty"`
2945
2946	// MemoryGb: Memory (GB) needed.
2947	MemoryGb float64 `json:"memoryGb,omitempty"`
2948
2949	// Volumes: User specified volumes.
2950	Volumes []*Volume `json:"volumes,omitempty"`
2951
2952	// ForceSendFields is a list of field names (e.g. "Cpu") to
2953	// unconditionally include in API requests. By default, fields with
2954	// empty values are omitted from API requests. However, any non-pointer,
2955	// non-interface field appearing in ForceSendFields will be sent to the
2956	// server regardless of whether the field is empty or not. This may be
2957	// used to include empty fields in Patch requests.
2958	ForceSendFields []string `json:"-"`
2959
2960	// NullFields is a list of field names (e.g. "Cpu") to include in API
2961	// requests with the JSON null value. By default, fields with empty
2962	// values are omitted from API requests. However, any field with an
2963	// empty value appearing in NullFields will be sent to the server as
2964	// null. It is an error if a field in this list has a non-empty value.
2965	// This may be used to include null fields in Patch requests.
2966	NullFields []string `json:"-"`
2967}
2968
2969func (s *Resources) MarshalJSON() ([]byte, error) {
2970	type NoMethod Resources
2971	raw := NoMethod(*s)
2972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2973}
2974
2975func (s *Resources) UnmarshalJSON(data []byte) error {
2976	type NoMethod Resources
2977	var s1 struct {
2978		Cpu      gensupport.JSONFloat64 `json:"cpu"`
2979		DiskGb   gensupport.JSONFloat64 `json:"diskGb"`
2980		MemoryGb gensupport.JSONFloat64 `json:"memoryGb"`
2981		*NoMethod
2982	}
2983	s1.NoMethod = (*NoMethod)(s)
2984	if err := json.Unmarshal(data, &s1); err != nil {
2985		return err
2986	}
2987	s.Cpu = float64(s1.Cpu)
2988	s.DiskGb = float64(s1.DiskGb)
2989	s.MemoryGb = float64(s1.MemoryGb)
2990	return nil
2991}
2992
2993// ScriptHandler: Executes a script to handle the request that matches
2994// the URL pattern.
2995type ScriptHandler struct {
2996	// ScriptPath: Path to the script from the application root directory.
2997	ScriptPath string `json:"scriptPath,omitempty"`
2998
2999	// ForceSendFields is a list of field names (e.g. "ScriptPath") to
3000	// unconditionally include in API requests. By default, fields with
3001	// empty values are omitted from API requests. However, any non-pointer,
3002	// non-interface field appearing in ForceSendFields will be sent to the
3003	// server regardless of whether the field is empty or not. This may be
3004	// used to include empty fields in Patch requests.
3005	ForceSendFields []string `json:"-"`
3006
3007	// NullFields is a list of field names (e.g. "ScriptPath") to include in
3008	// API requests with the JSON null value. By default, fields with empty
3009	// values are omitted from API requests. However, any field with an
3010	// empty value appearing in NullFields will be sent to the server as
3011	// null. It is an error if a field in this list has a non-empty value.
3012	// This may be used to include null fields in Patch requests.
3013	NullFields []string `json:"-"`
3014}
3015
3016func (s *ScriptHandler) MarshalJSON() ([]byte, error) {
3017	type NoMethod ScriptHandler
3018	raw := NoMethod(*s)
3019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3020}
3021
3022// Service: A Service resource is a logical component of an application
3023// that can share state and communicate in a secure fashion with other
3024// services. For example, an application that handles customer requests
3025// might include separate services to handle tasks such as backend data
3026// analysis or API requests from mobile devices. Each service has a
3027// collection of versions that define a specific set of code used to
3028// implement the functionality of that service.
3029type Service struct {
3030	// Id: Relative name of the service within the application. Example:
3031	// default.@OutputOnly
3032	Id string `json:"id,omitempty"`
3033
3034	// Name: Full path to the Service resource in the API. Example:
3035	// apps/myapp/services/default.@OutputOnly
3036	Name string `json:"name,omitempty"`
3037
3038	// NetworkSettings: Ingress settings for this service. Will apply to all
3039	// versions.
3040	NetworkSettings *NetworkSettings `json:"networkSettings,omitempty"`
3041
3042	// Split: Mapping that defines fractional HTTP traffic diversion to
3043	// different versions within the service.
3044	Split *TrafficSplit `json:"split,omitempty"`
3045
3046	// ServerResponse contains the HTTP response code and headers from the
3047	// server.
3048	googleapi.ServerResponse `json:"-"`
3049
3050	// ForceSendFields is a list of field names (e.g. "Id") to
3051	// unconditionally include in API requests. By default, fields with
3052	// empty values are omitted from API requests. However, any non-pointer,
3053	// non-interface field appearing in ForceSendFields will be sent to the
3054	// server regardless of whether the field is empty or not. This may be
3055	// used to include empty fields in Patch requests.
3056	ForceSendFields []string `json:"-"`
3057
3058	// NullFields is a list of field names (e.g. "Id") to include in API
3059	// requests with the JSON null value. By default, fields with empty
3060	// values are omitted from API requests. However, any field with an
3061	// empty value appearing in NullFields will be sent to the server as
3062	// null. It is an error if a field in this list has a non-empty value.
3063	// This may be used to include null fields in Patch requests.
3064	NullFields []string `json:"-"`
3065}
3066
3067func (s *Service) MarshalJSON() ([]byte, error) {
3068	type NoMethod Service
3069	raw := NoMethod(*s)
3070	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3071}
3072
3073// SslSettings: SSL configuration for a DomainMapping resource.
3074type SslSettings struct {
3075	// CertificateId: ID of the AuthorizedCertificate resource configuring
3076	// SSL for the application. Clearing this field will remove SSL
3077	// support.By default, a managed certificate is automatically created
3078	// for every domain mapping. To omit SSL support or to configure SSL
3079	// manually, specify SslManagementType.MANUAL on a CREATE or UPDATE
3080	// request. You must be authorized to administer the
3081	// AuthorizedCertificate resource to manually map it to a DomainMapping
3082	// resource. Example: 12345.
3083	CertificateId string `json:"certificateId,omitempty"`
3084
3085	// PendingManagedCertificateId: ID of the managed AuthorizedCertificate
3086	// resource currently being provisioned, if applicable. Until the new
3087	// managed certificate has been successfully provisioned, the previous
3088	// SSL state will be preserved. Once the provisioning process completes,
3089	// the certificate_id field will reflect the new managed certificate and
3090	// this field will be left empty. To remove SSL support while there is
3091	// still a pending managed certificate, clear the certificate_id field
3092	// with an UpdateDomainMappingRequest.@OutputOnly
3093	PendingManagedCertificateId string `json:"pendingManagedCertificateId,omitempty"`
3094
3095	// SslManagementType: SSL management type for this domain. If AUTOMATIC,
3096	// a managed certificate is automatically provisioned. If MANUAL,
3097	// certificate_id must be manually specified in order to configure SSL
3098	// for this domain.
3099	//
3100	// Possible values:
3101	//   "AUTOMATIC" - SSL support for this domain is configured
3102	// automatically. The mapped SSL certificate will be automatically
3103	// renewed.
3104	//   "MANUAL" - SSL support for this domain is configured manually by
3105	// the user. Either the domain has no SSL support or a user-obtained SSL
3106	// certificate has been explictly mapped to this domain.
3107	SslManagementType string `json:"sslManagementType,omitempty"`
3108
3109	// ForceSendFields is a list of field names (e.g. "CertificateId") to
3110	// unconditionally include in API requests. By default, fields with
3111	// empty values are omitted from API requests. However, any non-pointer,
3112	// non-interface field appearing in ForceSendFields will be sent to the
3113	// server regardless of whether the field is empty or not. This may be
3114	// used to include empty fields in Patch requests.
3115	ForceSendFields []string `json:"-"`
3116
3117	// NullFields is a list of field names (e.g. "CertificateId") to include
3118	// in API requests with the JSON null value. By default, fields with
3119	// empty values are omitted from API requests. However, any field with
3120	// an empty value appearing in NullFields will be sent to the server as
3121	// null. It is an error if a field in this list has a non-empty value.
3122	// This may be used to include null fields in Patch requests.
3123	NullFields []string `json:"-"`
3124}
3125
3126func (s *SslSettings) MarshalJSON() ([]byte, error) {
3127	type NoMethod SslSettings
3128	raw := NoMethod(*s)
3129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3130}
3131
3132// StandardSchedulerSettings: Scheduler settings for standard
3133// environment.
3134type StandardSchedulerSettings struct {
3135	// MaxInstances: Maximum number of instances to run for this version.
3136	// Set to zero to disable max_instances configuration.
3137	MaxInstances int64 `json:"maxInstances,omitempty"`
3138
3139	// MinInstances: Minimum number of instances to run for this version.
3140	// Set to zero to disable min_instances configuration.
3141	MinInstances int64 `json:"minInstances,omitempty"`
3142
3143	// TargetCpuUtilization: Target CPU utilization ratio to maintain when
3144	// scaling.
3145	TargetCpuUtilization float64 `json:"targetCpuUtilization,omitempty"`
3146
3147	// TargetThroughputUtilization: Target throughput utilization ratio to
3148	// maintain when scaling
3149	TargetThroughputUtilization float64 `json:"targetThroughputUtilization,omitempty"`
3150
3151	// ForceSendFields is a list of field names (e.g. "MaxInstances") to
3152	// unconditionally include in API requests. By default, fields with
3153	// empty values are omitted from API requests. However, any non-pointer,
3154	// non-interface field appearing in ForceSendFields will be sent to the
3155	// server regardless of whether the field is empty or not. This may be
3156	// used to include empty fields in Patch requests.
3157	ForceSendFields []string `json:"-"`
3158
3159	// NullFields is a list of field names (e.g. "MaxInstances") to include
3160	// in API requests with the JSON null value. By default, fields with
3161	// empty values are omitted from API requests. However, any field with
3162	// an empty value appearing in NullFields will be sent to the server as
3163	// null. It is an error if a field in this list has a non-empty value.
3164	// This may be used to include null fields in Patch requests.
3165	NullFields []string `json:"-"`
3166}
3167
3168func (s *StandardSchedulerSettings) MarshalJSON() ([]byte, error) {
3169	type NoMethod StandardSchedulerSettings
3170	raw := NoMethod(*s)
3171	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3172}
3173
3174func (s *StandardSchedulerSettings) UnmarshalJSON(data []byte) error {
3175	type NoMethod StandardSchedulerSettings
3176	var s1 struct {
3177		TargetCpuUtilization        gensupport.JSONFloat64 `json:"targetCpuUtilization"`
3178		TargetThroughputUtilization gensupport.JSONFloat64 `json:"targetThroughputUtilization"`
3179		*NoMethod
3180	}
3181	s1.NoMethod = (*NoMethod)(s)
3182	if err := json.Unmarshal(data, &s1); err != nil {
3183		return err
3184	}
3185	s.TargetCpuUtilization = float64(s1.TargetCpuUtilization)
3186	s.TargetThroughputUtilization = float64(s1.TargetThroughputUtilization)
3187	return nil
3188}
3189
3190// StaticFilesHandler: Files served directly to the user for a given
3191// URL, such as images, CSS stylesheets, or JavaScript source files.
3192// Static file handlers describe which files in the application
3193// directory are static files, and which URLs serve them.
3194type StaticFilesHandler struct {
3195	// ApplicationReadable: Whether files should also be uploaded as code
3196	// data. By default, files declared in static file handlers are uploaded
3197	// as static data and are only served to end users; they cannot be read
3198	// by the application. If enabled, uploads are charged against both your
3199	// code and static data storage resource quotas.
3200	ApplicationReadable bool `json:"applicationReadable,omitempty"`
3201
3202	// Expiration: Time a static file served by this handler should be
3203	// cached by web proxies and browsers.
3204	Expiration string `json:"expiration,omitempty"`
3205
3206	// HttpHeaders: HTTP headers to use for all responses from these URLs.
3207	HttpHeaders map[string]string `json:"httpHeaders,omitempty"`
3208
3209	// MimeType: MIME type used to serve all files served by this
3210	// handler.Defaults to file-specific MIME types, which are derived from
3211	// each file's filename extension.
3212	MimeType string `json:"mimeType,omitempty"`
3213
3214	// Path: Path to the static files matched by the URL pattern, from the
3215	// application root directory. The path can refer to text matched in
3216	// groupings in the URL pattern.
3217	Path string `json:"path,omitempty"`
3218
3219	// RequireMatchingFile: Whether this handler should match the request if
3220	// the file referenced by the handler does not exist.
3221	RequireMatchingFile bool `json:"requireMatchingFile,omitempty"`
3222
3223	// UploadPathRegex: Regular expression that matches the file paths for
3224	// all files that should be referenced by this handler.
3225	UploadPathRegex string `json:"uploadPathRegex,omitempty"`
3226
3227	// ForceSendFields is a list of field names (e.g. "ApplicationReadable")
3228	// to unconditionally include in API requests. By default, fields with
3229	// empty values are omitted from API requests. However, any non-pointer,
3230	// non-interface field appearing in ForceSendFields will be sent to the
3231	// server regardless of whether the field is empty or not. This may be
3232	// used to include empty fields in Patch requests.
3233	ForceSendFields []string `json:"-"`
3234
3235	// NullFields is a list of field names (e.g. "ApplicationReadable") to
3236	// include in API requests with the JSON null value. By default, fields
3237	// with empty values are omitted from API requests. However, any field
3238	// with an empty value appearing in NullFields will be sent to the
3239	// server as null. It is an error if a field in this list has a
3240	// non-empty value. This may be used to include null fields in Patch
3241	// requests.
3242	NullFields []string `json:"-"`
3243}
3244
3245func (s *StaticFilesHandler) MarshalJSON() ([]byte, error) {
3246	type NoMethod StaticFilesHandler
3247	raw := NoMethod(*s)
3248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3249}
3250
3251// Status: The Status type defines a logical error model that is
3252// suitable for different programming environments, including REST APIs
3253// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
3254// Status message contains three pieces of data: error code, error
3255// message, and error details.You can find out more about this error
3256// model and how to work with it in the API Design Guide
3257// (https://cloud.google.com/apis/design/errors).
3258type Status struct {
3259	// Code: The status code, which should be an enum value of
3260	// google.rpc.Code.
3261	Code int64 `json:"code,omitempty"`
3262
3263	// Details: A list of messages that carry the error details. There is a
3264	// common set of message types for APIs to use.
3265	Details []googleapi.RawMessage `json:"details,omitempty"`
3266
3267	// Message: A developer-facing error message, which should be in
3268	// English. Any user-facing error message should be localized and sent
3269	// in the google.rpc.Status.details field, or localized by the client.
3270	Message string `json:"message,omitempty"`
3271
3272	// ForceSendFields is a list of field names (e.g. "Code") to
3273	// unconditionally include in API requests. By default, fields with
3274	// empty values are omitted from API requests. However, any non-pointer,
3275	// non-interface field appearing in ForceSendFields will be sent to the
3276	// server regardless of whether the field is empty or not. This may be
3277	// used to include empty fields in Patch requests.
3278	ForceSendFields []string `json:"-"`
3279
3280	// NullFields is a list of field names (e.g. "Code") to include in API
3281	// requests with the JSON null value. By default, fields with empty
3282	// values are omitted from API requests. However, any field with an
3283	// empty value appearing in NullFields will be sent to the server as
3284	// null. It is an error if a field in this list has a non-empty value.
3285	// This may be used to include null fields in Patch requests.
3286	NullFields []string `json:"-"`
3287}
3288
3289func (s *Status) MarshalJSON() ([]byte, error) {
3290	type NoMethod Status
3291	raw := NoMethod(*s)
3292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3293}
3294
3295// TrafficSplit: Traffic routing configuration for versions within a
3296// single service. Traffic splits define how traffic directed to the
3297// service is assigned to versions.
3298type TrafficSplit struct {
3299	// Allocations: Mapping from version IDs within the service to
3300	// fractional (0.000, 1] allocations of traffic for that version. Each
3301	// version can be specified only once, but some versions in the service
3302	// may not have any traffic allocation. Services that have traffic
3303	// allocated cannot be deleted until either the service is deleted or
3304	// their traffic allocation is removed. Allocations must sum to 1. Up to
3305	// two decimal place precision is supported for IP-based splits and up
3306	// to three decimal places is supported for cookie-based splits.
3307	Allocations map[string]float64 `json:"allocations,omitempty"`
3308
3309	// ShardBy: Mechanism used to determine which version a request is sent
3310	// to. The traffic selection algorithm will be stable for either type
3311	// until allocations are changed.
3312	//
3313	// Possible values:
3314	//   "UNSPECIFIED" - Diversion method unspecified.
3315	//   "COOKIE" - Diversion based on a specially named cookie,
3316	// "GOOGAPPUID." The cookie must be set by the application itself or no
3317	// diversion will occur.
3318	//   "IP" - Diversion based on applying the modulus operation to a
3319	// fingerprint of the IP address.
3320	//   "RANDOM" - Diversion based on weighted random assignment. An
3321	// incoming request is randomly routed to a version in the traffic
3322	// split, with probability proportional to the version's traffic share.
3323	ShardBy string `json:"shardBy,omitempty"`
3324
3325	// ForceSendFields is a list of field names (e.g. "Allocations") to
3326	// unconditionally include in API requests. By default, fields with
3327	// empty values are omitted from API requests. However, any non-pointer,
3328	// non-interface field appearing in ForceSendFields will be sent to the
3329	// server regardless of whether the field is empty or not. This may be
3330	// used to include empty fields in Patch requests.
3331	ForceSendFields []string `json:"-"`
3332
3333	// NullFields is a list of field names (e.g. "Allocations") to include
3334	// in API requests with the JSON null value. By default, fields with
3335	// empty values are omitted from API requests. However, any field with
3336	// an empty value appearing in NullFields will be sent to the server as
3337	// null. It is an error if a field in this list has a non-empty value.
3338	// This may be used to include null fields in Patch requests.
3339	NullFields []string `json:"-"`
3340}
3341
3342func (s *TrafficSplit) MarshalJSON() ([]byte, error) {
3343	type NoMethod TrafficSplit
3344	raw := NoMethod(*s)
3345	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3346}
3347
3348// UrlDispatchRule: Rules to match an HTTP request and dispatch that
3349// request to a service.
3350type UrlDispatchRule struct {
3351	// Domain: Domain name to match against. The wildcard "*" is supported
3352	// if specified before a period: "*.".Defaults to matching all domains:
3353	// "*".
3354	Domain string `json:"domain,omitempty"`
3355
3356	// Path: Pathname within the host. Must start with a "/". A single "*"
3357	// can be included at the end of the path.The sum of the lengths of the
3358	// domain and path may not exceed 100 characters.
3359	Path string `json:"path,omitempty"`
3360
3361	// Service: Resource ID of a service in this application that should
3362	// serve the matched request. The service must already exist. Example:
3363	// default.
3364	Service string `json:"service,omitempty"`
3365
3366	// ForceSendFields is a list of field names (e.g. "Domain") to
3367	// unconditionally include in API requests. By default, fields with
3368	// empty values are omitted from API requests. However, any non-pointer,
3369	// non-interface field appearing in ForceSendFields will be sent to the
3370	// server regardless of whether the field is empty or not. This may be
3371	// used to include empty fields in Patch requests.
3372	ForceSendFields []string `json:"-"`
3373
3374	// NullFields is a list of field names (e.g. "Domain") to include in API
3375	// requests with the JSON null value. By default, fields with empty
3376	// values are omitted from API requests. However, any field with an
3377	// empty value appearing in NullFields will be sent to the server as
3378	// null. It is an error if a field in this list has a non-empty value.
3379	// This may be used to include null fields in Patch requests.
3380	NullFields []string `json:"-"`
3381}
3382
3383func (s *UrlDispatchRule) MarshalJSON() ([]byte, error) {
3384	type NoMethod UrlDispatchRule
3385	raw := NoMethod(*s)
3386	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3387}
3388
3389// UrlMap: URL pattern and description of how the URL should be handled.
3390// App Engine can handle URLs by executing application code or by
3391// serving static files uploaded with the version, such as images, CSS,
3392// or JavaScript.
3393type UrlMap struct {
3394	// ApiEndpoint: Uses API Endpoints to handle requests.
3395	ApiEndpoint *ApiEndpointHandler `json:"apiEndpoint,omitempty"`
3396
3397	// AuthFailAction: Action to take when users access resources that
3398	// require authentication. Defaults to redirect.
3399	//
3400	// Possible values:
3401	//   "AUTH_FAIL_ACTION_UNSPECIFIED" - Not specified.
3402	// AUTH_FAIL_ACTION_REDIRECT is assumed.
3403	//   "AUTH_FAIL_ACTION_REDIRECT" - Redirects user to
3404	// "accounts.google.com". The user is redirected back to the application
3405	// URL after signing in or creating an account.
3406	//   "AUTH_FAIL_ACTION_UNAUTHORIZED" - Rejects request with a 401 HTTP
3407	// status code and an error message.
3408	AuthFailAction string `json:"authFailAction,omitempty"`
3409
3410	// Login: Level of login required to access this resource. Not supported
3411	// for Node.js in the App Engine standard environment.
3412	//
3413	// Possible values:
3414	//   "LOGIN_UNSPECIFIED" - Not specified. LOGIN_OPTIONAL is assumed.
3415	//   "LOGIN_OPTIONAL" - Does not require that the user is signed in.
3416	//   "LOGIN_ADMIN" - If the user is not signed in, the auth_fail_action
3417	// is taken. In addition, if the user is not an administrator for the
3418	// application, they are given an error message regardless of
3419	// auth_fail_action. If the user is an administrator, the handler
3420	// proceeds.
3421	//   "LOGIN_REQUIRED" - If the user has signed in, the handler proceeds
3422	// normally. Otherwise, the auth_fail_action is taken.
3423	Login string `json:"login,omitempty"`
3424
3425	// RedirectHttpResponseCode: 30x code to use when performing redirects
3426	// for the secure field. Defaults to 302.
3427	//
3428	// Possible values:
3429	//   "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED" - Not specified. 302 is
3430	// assumed.
3431	//   "REDIRECT_HTTP_RESPONSE_CODE_301" - 301 Moved Permanently code.
3432	//   "REDIRECT_HTTP_RESPONSE_CODE_302" - 302 Moved Temporarily code.
3433	//   "REDIRECT_HTTP_RESPONSE_CODE_303" - 303 See Other code.
3434	//   "REDIRECT_HTTP_RESPONSE_CODE_307" - 307 Temporary Redirect code.
3435	RedirectHttpResponseCode string `json:"redirectHttpResponseCode,omitempty"`
3436
3437	// Script: Executes a script to handle the requests that match this URL
3438	// pattern. Only the auto value is supported for Node.js in the App
3439	// Engine standard environment, for example "script": "auto".
3440	Script *ScriptHandler `json:"script,omitempty"`
3441
3442	// SecurityLevel: Security (HTTPS) enforcement for this URL.
3443	//
3444	// Possible values:
3445	//   "SECURE_UNSPECIFIED" - Not specified.
3446	//   "SECURE_DEFAULT" - Both HTTP and HTTPS requests with URLs that
3447	// match the handler succeed without redirects. The application can
3448	// examine the request to determine which protocol was used, and respond
3449	// accordingly.
3450	//   "SECURE_NEVER" - Requests for a URL that match this handler that
3451	// use HTTPS are automatically redirected to the HTTP equivalent URL.
3452	//   "SECURE_OPTIONAL" - Both HTTP and HTTPS requests with URLs that
3453	// match the handler succeed without redirects. The application can
3454	// examine the request to determine which protocol was used and respond
3455	// accordingly.
3456	//   "SECURE_ALWAYS" - Requests for a URL that match this handler that
3457	// do not use HTTPS are automatically redirected to the HTTPS URL with
3458	// the same path. Query parameters are reserved for the redirect.
3459	SecurityLevel string `json:"securityLevel,omitempty"`
3460
3461	// StaticFiles: Returns the contents of a file, such as an image, as the
3462	// response.
3463	StaticFiles *StaticFilesHandler `json:"staticFiles,omitempty"`
3464
3465	// UrlRegex: URL prefix. Uses regular expression syntax, which means
3466	// regexp special characters must be escaped, but should not contain
3467	// groupings. All URLs that begin with this prefix are handled by this
3468	// handler, using the portion of the URL after the prefix as part of the
3469	// file path.
3470	UrlRegex string `json:"urlRegex,omitempty"`
3471
3472	// ForceSendFields is a list of field names (e.g. "ApiEndpoint") to
3473	// unconditionally include in API requests. By default, fields with
3474	// empty values are omitted from API requests. However, any non-pointer,
3475	// non-interface field appearing in ForceSendFields will be sent to the
3476	// server regardless of whether the field is empty or not. This may be
3477	// used to include empty fields in Patch requests.
3478	ForceSendFields []string `json:"-"`
3479
3480	// NullFields is a list of field names (e.g. "ApiEndpoint") to include
3481	// in API requests with the JSON null value. By default, fields with
3482	// empty values are omitted from API requests. However, any field with
3483	// an empty value appearing in NullFields will be sent to the server as
3484	// null. It is an error if a field in this list has a non-empty value.
3485	// This may be used to include null fields in Patch requests.
3486	NullFields []string `json:"-"`
3487}
3488
3489func (s *UrlMap) MarshalJSON() ([]byte, error) {
3490	type NoMethod UrlMap
3491	raw := NoMethod(*s)
3492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3493}
3494
3495// Version: A Version resource is a specific set of source code and
3496// configuration files that are deployed into a service.
3497type Version struct {
3498	// ApiConfig: Serving configuration for Google Cloud Endpoints
3499	// (https://cloud.google.com/appengine/docs/python/endpoints/).Only
3500	// returned in GET requests if view=FULL is set.
3501	ApiConfig *ApiConfigHandler `json:"apiConfig,omitempty"`
3502
3503	// AppEngineApis: app_engine_apis allows second generation runtimes to
3504	// access the App Engine APIs.
3505	AppEngineApis bool `json:"appEngineApis,omitempty"`
3506
3507	// AutomaticScaling: Automatic scaling is based on request rate,
3508	// response latencies, and other application metrics. Instances are
3509	// dynamically created and destroyed as needed in order to handle
3510	// traffic.
3511	AutomaticScaling *AutomaticScaling `json:"automaticScaling,omitempty"`
3512
3513	// BasicScaling: A service with basic scaling will create an instance
3514	// when the application receives a request. The instance will be turned
3515	// down when the app becomes idle. Basic scaling is ideal for work that
3516	// is intermittent or driven by user activity.
3517	BasicScaling *BasicScaling `json:"basicScaling,omitempty"`
3518
3519	// BetaSettings: Metadata settings that are supplied to this version to
3520	// enable beta runtime features.
3521	BetaSettings map[string]string `json:"betaSettings,omitempty"`
3522
3523	// BuildEnvVariables: Environment variables available to the build
3524	// environment.Only returned in GET requests if view=FULL is set.
3525	BuildEnvVariables map[string]string `json:"buildEnvVariables,omitempty"`
3526
3527	// CreateTime: Time that this version was created.@OutputOnly
3528	CreateTime string `json:"createTime,omitempty"`
3529
3530	// CreatedBy: Email address of the user who created this
3531	// version.@OutputOnly
3532	CreatedBy string `json:"createdBy,omitempty"`
3533
3534	// DefaultExpiration: Duration that static files should be cached by web
3535	// proxies and browsers. Only applicable if the corresponding
3536	// StaticFilesHandler
3537	// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler)
3538	// does not specify its own expiration time.Only returned in GET
3539	// requests if view=FULL is set.
3540	DefaultExpiration string `json:"defaultExpiration,omitempty"`
3541
3542	// Deployment: Code and application artifacts that make up this
3543	// version.Only returned in GET requests if view=FULL is set.
3544	Deployment *Deployment `json:"deployment,omitempty"`
3545
3546	// DiskUsageBytes: Total size in bytes of all the files that are
3547	// included in this version and currently hosted on the App Engine
3548	// disk.@OutputOnly
3549	DiskUsageBytes int64 `json:"diskUsageBytes,omitempty,string"`
3550
3551	// EndpointsApiService: Cloud Endpoints configuration.If
3552	// endpoints_api_service is set, the Cloud Endpoints Extensible Service
3553	// Proxy will be provided to serve the API implemented by the app.
3554	EndpointsApiService *EndpointsApiService `json:"endpointsApiService,omitempty"`
3555
3556	// Entrypoint: The entrypoint for the application.
3557	Entrypoint *Entrypoint `json:"entrypoint,omitempty"`
3558
3559	// Env: App Engine execution environment for this version.Defaults to
3560	// standard.
3561	Env string `json:"env,omitempty"`
3562
3563	// EnvVariables: Environment variables available to the application.Only
3564	// returned in GET requests if view=FULL is set.
3565	EnvVariables map[string]string `json:"envVariables,omitempty"`
3566
3567	// ErrorHandlers: Custom static error pages. Limited to 10KB per
3568	// page.Only returned in GET requests if view=FULL is set.
3569	ErrorHandlers []*ErrorHandler `json:"errorHandlers,omitempty"`
3570
3571	// Handlers: An ordered list of URL-matching patterns that should be
3572	// applied to incoming requests. The first matching URL handles the
3573	// request and other request handlers are not attempted.Only returned in
3574	// GET requests if view=FULL is set.
3575	Handlers []*UrlMap `json:"handlers,omitempty"`
3576
3577	// HealthCheck: Configures health checking for instances. Unhealthy
3578	// instances are stopped and replaced with new instances. Only
3579	// applicable in the App Engine flexible environment.Only returned in
3580	// GET requests if view=FULL is set.
3581	HealthCheck *HealthCheck `json:"healthCheck,omitempty"`
3582
3583	// Id: Relative name of the version within the service. Example: v1.
3584	// Version names can contain only lowercase letters, numbers, or
3585	// hyphens. Reserved names: "default", "latest", and any name with the
3586	// prefix "ah-".
3587	Id string `json:"id,omitempty"`
3588
3589	// InboundServices: Before an application can receive email or XMPP
3590	// messages, the application must be configured to enable the service.
3591	//
3592	// Possible values:
3593	//   "INBOUND_SERVICE_UNSPECIFIED" - Not specified.
3594	//   "INBOUND_SERVICE_MAIL" - Allows an application to receive mail.
3595	//   "INBOUND_SERVICE_MAIL_BOUNCE" - Allows an application to receive
3596	// email-bound notifications.
3597	//   "INBOUND_SERVICE_XMPP_ERROR" - Allows an application to receive
3598	// error stanzas.
3599	//   "INBOUND_SERVICE_XMPP_MESSAGE" - Allows an application to receive
3600	// instant messages.
3601	//   "INBOUND_SERVICE_XMPP_SUBSCRIBE" - Allows an application to receive
3602	// user subscription POSTs.
3603	//   "INBOUND_SERVICE_XMPP_PRESENCE" - Allows an application to receive
3604	// a user's chat presence.
3605	//   "INBOUND_SERVICE_CHANNEL_PRESENCE" - Registers an application for
3606	// notifications when a client connects or disconnects from a channel.
3607	//   "INBOUND_SERVICE_WARMUP" - Enables warmup requests.
3608	InboundServices []string `json:"inboundServices,omitempty"`
3609
3610	// InstanceClass: Instance class that is used to run this version. Valid
3611	// values are: AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or
3612	// BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for
3613	// AutomaticScaling and B1 for ManualScaling or BasicScaling.
3614	InstanceClass string `json:"instanceClass,omitempty"`
3615
3616	// Libraries: Configuration for third-party Python runtime libraries
3617	// that are required by the application.Only returned in GET requests if
3618	// view=FULL is set.
3619	Libraries []*Library `json:"libraries,omitempty"`
3620
3621	// LivenessCheck: Configures liveness health checking for instances.
3622	// Unhealthy instances are stopped and replaced with new instancesOnly
3623	// returned in GET requests if view=FULL is set.
3624	LivenessCheck *LivenessCheck `json:"livenessCheck,omitempty"`
3625
3626	// ManualScaling: A service with manual scaling runs continuously,
3627	// allowing you to perform complex initialization and rely on the state
3628	// of its memory over time. Manually scaled versions are sometimes
3629	// referred to as "backends".
3630	ManualScaling *ManualScaling `json:"manualScaling,omitempty"`
3631
3632	// Name: Full path to the Version resource in the API. Example:
3633	// apps/myapp/services/default/versions/v1.@OutputOnly
3634	Name string `json:"name,omitempty"`
3635
3636	// Network: Extra network settings. Only applicable in the App Engine
3637	// flexible environment.
3638	Network *Network `json:"network,omitempty"`
3639
3640	// NobuildFilesRegex: Files that match this pattern will not be built
3641	// into this version. Only applicable for Go runtimes.Only returned in
3642	// GET requests if view=FULL is set.
3643	NobuildFilesRegex string `json:"nobuildFilesRegex,omitempty"`
3644
3645	// ReadinessCheck: Configures readiness health checking for instances.
3646	// Unhealthy instances are not put into the backend traffic
3647	// rotation.Only returned in GET requests if view=FULL is set.
3648	ReadinessCheck *ReadinessCheck `json:"readinessCheck,omitempty"`
3649
3650	// Resources: Machine resources for this version. Only applicable in the
3651	// App Engine flexible environment.
3652	Resources *Resources `json:"resources,omitempty"`
3653
3654	// Runtime: Desired runtime. Example: python27.
3655	Runtime string `json:"runtime,omitempty"`
3656
3657	// RuntimeApiVersion: The version of the API in the given runtime
3658	// environment. Please see the app.yaml reference for valid values at
3659	// https://cloud.google.com/appengine/docs/standard//config/appref
3660	RuntimeApiVersion string `json:"runtimeApiVersion,omitempty"`
3661
3662	// RuntimeChannel: The channel of the runtime to use. Only available for
3663	// some runtimes. Defaults to the default channel.
3664	RuntimeChannel string `json:"runtimeChannel,omitempty"`
3665
3666	// RuntimeMainExecutablePath: The path or name of the app's main
3667	// executable.
3668	RuntimeMainExecutablePath string `json:"runtimeMainExecutablePath,omitempty"`
3669
3670	// ServiceAccount: The identity that the deployed version will run as.
3671	// Admin API will use the App Engine Appspot service account as default
3672	// if this field is neither provided in app.yaml file nor through CLI
3673	// flag.
3674	ServiceAccount string `json:"serviceAccount,omitempty"`
3675
3676	// ServingStatus: Current serving status of this version. Only the
3677	// versions with a SERVING status create instances and can be
3678	// billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to
3679	// SERVING.
3680	//
3681	// Possible values:
3682	//   "SERVING_STATUS_UNSPECIFIED" - Not specified.
3683	//   "SERVING" - Currently serving. Instances are created according to
3684	// the scaling settings of the version.
3685	//   "STOPPED" - Disabled. No instances will be created and the scaling
3686	// settings are ignored until the state of the version changes to
3687	// SERVING.
3688	ServingStatus string `json:"servingStatus,omitempty"`
3689
3690	// Threadsafe: Whether multiple requests can be dispatched to this
3691	// version at once.
3692	Threadsafe bool `json:"threadsafe,omitempty"`
3693
3694	// VersionUrl: Serving URL for this version. Example:
3695	// "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly
3696	VersionUrl string `json:"versionUrl,omitempty"`
3697
3698	// Vm: Whether to deploy this version in a container on a virtual
3699	// machine.
3700	Vm bool `json:"vm,omitempty"`
3701
3702	// VpcAccessConnector: Enables VPC connectivity for standard apps.
3703	VpcAccessConnector *VpcAccessConnector `json:"vpcAccessConnector,omitempty"`
3704
3705	// Zones: The Google Compute Engine zones that are supported by this
3706	// version in the App Engine flexible environment. Deprecated.
3707	Zones []string `json:"zones,omitempty"`
3708
3709	// ServerResponse contains the HTTP response code and headers from the
3710	// server.
3711	googleapi.ServerResponse `json:"-"`
3712
3713	// ForceSendFields is a list of field names (e.g. "ApiConfig") to
3714	// unconditionally include in API requests. By default, fields with
3715	// empty values are omitted from API requests. However, any non-pointer,
3716	// non-interface field appearing in ForceSendFields will be sent to the
3717	// server regardless of whether the field is empty or not. This may be
3718	// used to include empty fields in Patch requests.
3719	ForceSendFields []string `json:"-"`
3720
3721	// NullFields is a list of field names (e.g. "ApiConfig") to include in
3722	// API requests with the JSON null value. By default, fields with empty
3723	// values are omitted from API requests. However, any field with an
3724	// empty value appearing in NullFields will be sent to the server as
3725	// null. It is an error if a field in this list has a non-empty value.
3726	// This may be used to include null fields in Patch requests.
3727	NullFields []string `json:"-"`
3728}
3729
3730func (s *Version) MarshalJSON() ([]byte, error) {
3731	type NoMethod Version
3732	raw := NoMethod(*s)
3733	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3734}
3735
3736// Volume: Volumes mounted within the app container. Only applicable in
3737// the App Engine flexible environment.
3738type Volume struct {
3739	// Name: Unique name for the volume.
3740	Name string `json:"name,omitempty"`
3741
3742	// SizeGb: Volume size in gigabytes.
3743	SizeGb float64 `json:"sizeGb,omitempty"`
3744
3745	// VolumeType: Underlying volume type, e.g. 'tmpfs'.
3746	VolumeType string `json:"volumeType,omitempty"`
3747
3748	// ForceSendFields is a list of field names (e.g. "Name") to
3749	// unconditionally include in API requests. By default, fields with
3750	// empty values are omitted from API requests. However, any non-pointer,
3751	// non-interface field appearing in ForceSendFields will be sent to the
3752	// server regardless of whether the field is empty or not. This may be
3753	// used to include empty fields in Patch requests.
3754	ForceSendFields []string `json:"-"`
3755
3756	// NullFields is a list of field names (e.g. "Name") to include in API
3757	// requests with the JSON null value. By default, fields with empty
3758	// values are omitted from API requests. However, any field with an
3759	// empty value appearing in NullFields will be sent to the server as
3760	// null. It is an error if a field in this list has a non-empty value.
3761	// This may be used to include null fields in Patch requests.
3762	NullFields []string `json:"-"`
3763}
3764
3765func (s *Volume) MarshalJSON() ([]byte, error) {
3766	type NoMethod Volume
3767	raw := NoMethod(*s)
3768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3769}
3770
3771func (s *Volume) UnmarshalJSON(data []byte) error {
3772	type NoMethod Volume
3773	var s1 struct {
3774		SizeGb gensupport.JSONFloat64 `json:"sizeGb"`
3775		*NoMethod
3776	}
3777	s1.NoMethod = (*NoMethod)(s)
3778	if err := json.Unmarshal(data, &s1); err != nil {
3779		return err
3780	}
3781	s.SizeGb = float64(s1.SizeGb)
3782	return nil
3783}
3784
3785// VpcAccessConnector: VPC access connector specification.
3786type VpcAccessConnector struct {
3787	// Name: Full Serverless VPC Access Connector name e.g.
3788	// /projects/my-project/locations/us-central1/connectors/c1.
3789	Name string `json:"name,omitempty"`
3790
3791	// ForceSendFields is a list of field names (e.g. "Name") to
3792	// unconditionally include in API requests. By default, fields with
3793	// empty values are omitted from API requests. However, any non-pointer,
3794	// non-interface field appearing in ForceSendFields will be sent to the
3795	// server regardless of whether the field is empty or not. This may be
3796	// used to include empty fields in Patch requests.
3797	ForceSendFields []string `json:"-"`
3798
3799	// NullFields is a list of field names (e.g. "Name") to include in API
3800	// requests with the JSON null value. By default, fields with empty
3801	// values are omitted from API requests. However, any field with an
3802	// empty value appearing in NullFields will be sent to the server as
3803	// null. It is an error if a field in this list has a non-empty value.
3804	// This may be used to include null fields in Patch requests.
3805	NullFields []string `json:"-"`
3806}
3807
3808func (s *VpcAccessConnector) MarshalJSON() ([]byte, error) {
3809	type NoMethod VpcAccessConnector
3810	raw := NoMethod(*s)
3811	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3812}
3813
3814// ZipInfo: The zip file information for a zip deployment.
3815type ZipInfo struct {
3816	// FilesCount: An estimate of the number of files in a zip for a zip
3817	// deployment. If set, must be greater than or equal to the actual
3818	// number of files. Used for optimizing performance; if not provided,
3819	// deployment may be slow.
3820	FilesCount int64 `json:"filesCount,omitempty"`
3821
3822	// SourceUrl: URL of the zip file to deploy from. Must be a URL to a
3823	// resource in Google Cloud Storage in the form
3824	// 'http(s)://storage.googleapis.com//'.
3825	SourceUrl string `json:"sourceUrl,omitempty"`
3826
3827	// ForceSendFields is a list of field names (e.g. "FilesCount") to
3828	// unconditionally include in API requests. By default, fields with
3829	// empty values are omitted from API requests. However, any non-pointer,
3830	// non-interface field appearing in ForceSendFields will be sent to the
3831	// server regardless of whether the field is empty or not. This may be
3832	// used to include empty fields in Patch requests.
3833	ForceSendFields []string `json:"-"`
3834
3835	// NullFields is a list of field names (e.g. "FilesCount") to include in
3836	// API requests with the JSON null value. By default, fields with empty
3837	// values are omitted from API requests. However, any field with an
3838	// empty value appearing in NullFields will be sent to the server as
3839	// null. It is an error if a field in this list has a non-empty value.
3840	// This may be used to include null fields in Patch requests.
3841	NullFields []string `json:"-"`
3842}
3843
3844func (s *ZipInfo) MarshalJSON() ([]byte, error) {
3845	type NoMethod ZipInfo
3846	raw := NoMethod(*s)
3847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3848}
3849
3850// method id "appengine.apps.create":
3851
3852type AppsCreateCall struct {
3853	s           *APIService
3854	application *Application
3855	urlParams_  gensupport.URLParams
3856	ctx_        context.Context
3857	header_     http.Header
3858}
3859
3860// Create: Creates an App Engine application for a Google Cloud Platform
3861// project. Required fields: id - The ID of the target Cloud Platform
3862// project. location - The region
3863// (https://cloud.google.com/appengine/docs/locations) where you want
3864// the App Engine application located.For more information about App
3865// Engine applications, see Managing Projects, Applications, and Billing
3866// (https://cloud.google.com/appengine/docs/standard/python/console/).
3867func (r *AppsService) Create(application *Application) *AppsCreateCall {
3868	c := &AppsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3869	c.application = application
3870	return c
3871}
3872
3873// Fields allows partial responses to be retrieved. See
3874// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3875// for more information.
3876func (c *AppsCreateCall) Fields(s ...googleapi.Field) *AppsCreateCall {
3877	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3878	return c
3879}
3880
3881// Context sets the context to be used in this call's Do method. Any
3882// pending HTTP request will be aborted if the provided context is
3883// canceled.
3884func (c *AppsCreateCall) Context(ctx context.Context) *AppsCreateCall {
3885	c.ctx_ = ctx
3886	return c
3887}
3888
3889// Header returns an http.Header that can be modified by the caller to
3890// add HTTP headers to the request.
3891func (c *AppsCreateCall) Header() http.Header {
3892	if c.header_ == nil {
3893		c.header_ = make(http.Header)
3894	}
3895	return c.header_
3896}
3897
3898func (c *AppsCreateCall) doRequest(alt string) (*http.Response, error) {
3899	reqHeaders := make(http.Header)
3900	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3901	for k, v := range c.header_ {
3902		reqHeaders[k] = v
3903	}
3904	reqHeaders.Set("User-Agent", c.s.userAgent())
3905	var body io.Reader = nil
3906	body, err := googleapi.WithoutDataWrapper.JSONReader(c.application)
3907	if err != nil {
3908		return nil, err
3909	}
3910	reqHeaders.Set("Content-Type", "application/json")
3911	c.urlParams_.Set("alt", alt)
3912	c.urlParams_.Set("prettyPrint", "false")
3913	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps")
3914	urls += "?" + c.urlParams_.Encode()
3915	req, err := http.NewRequest("POST", urls, body)
3916	if err != nil {
3917		return nil, err
3918	}
3919	req.Header = reqHeaders
3920	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3921}
3922
3923// Do executes the "appengine.apps.create" call.
3924// Exactly one of *Operation or error will be non-nil. Any non-2xx
3925// status code is an error. Response headers are in either
3926// *Operation.ServerResponse.Header or (if a response was returned at
3927// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3928// to check whether the returned error was because
3929// http.StatusNotModified was returned.
3930func (c *AppsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3931	gensupport.SetOptions(c.urlParams_, opts...)
3932	res, err := c.doRequest("json")
3933	if res != nil && res.StatusCode == http.StatusNotModified {
3934		if res.Body != nil {
3935			res.Body.Close()
3936		}
3937		return nil, &googleapi.Error{
3938			Code:   res.StatusCode,
3939			Header: res.Header,
3940		}
3941	}
3942	if err != nil {
3943		return nil, err
3944	}
3945	defer googleapi.CloseBody(res)
3946	if err := googleapi.CheckResponse(res); err != nil {
3947		return nil, err
3948	}
3949	ret := &Operation{
3950		ServerResponse: googleapi.ServerResponse{
3951			Header:         res.Header,
3952			HTTPStatusCode: res.StatusCode,
3953		},
3954	}
3955	target := &ret
3956	if err := gensupport.DecodeResponse(target, res); err != nil {
3957		return nil, err
3958	}
3959	return ret, nil
3960	// {
3961	//   "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/standard/python/console/).",
3962	//   "flatPath": "v1beta/apps",
3963	//   "httpMethod": "POST",
3964	//   "id": "appengine.apps.create",
3965	//   "parameterOrder": [],
3966	//   "parameters": {},
3967	//   "path": "v1beta/apps",
3968	//   "request": {
3969	//     "$ref": "Application"
3970	//   },
3971	//   "response": {
3972	//     "$ref": "Operation"
3973	//   },
3974	//   "scopes": [
3975	//     "https://www.googleapis.com/auth/cloud-platform"
3976	//   ]
3977	// }
3978
3979}
3980
3981// method id "appengine.apps.get":
3982
3983type AppsGetCall struct {
3984	s            *APIService
3985	appsId       string
3986	urlParams_   gensupport.URLParams
3987	ifNoneMatch_ string
3988	ctx_         context.Context
3989	header_      http.Header
3990}
3991
3992// Get: Gets information about an application.
3993//
3994// - appsId: Part of `name`. Name of the Application resource to get.
3995//   Example: apps/myapp.
3996func (r *AppsService) Get(appsId string) *AppsGetCall {
3997	c := &AppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3998	c.appsId = appsId
3999	return c
4000}
4001
4002// Fields allows partial responses to be retrieved. See
4003// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4004// for more information.
4005func (c *AppsGetCall) Fields(s ...googleapi.Field) *AppsGetCall {
4006	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4007	return c
4008}
4009
4010// IfNoneMatch sets the optional parameter which makes the operation
4011// fail if the object's ETag matches the given value. This is useful for
4012// getting updates only after the object has changed since the last
4013// request. Use googleapi.IsNotModified to check whether the response
4014// error from Do is the result of In-None-Match.
4015func (c *AppsGetCall) IfNoneMatch(entityTag string) *AppsGetCall {
4016	c.ifNoneMatch_ = entityTag
4017	return c
4018}
4019
4020// Context sets the context to be used in this call's Do method. Any
4021// pending HTTP request will be aborted if the provided context is
4022// canceled.
4023func (c *AppsGetCall) Context(ctx context.Context) *AppsGetCall {
4024	c.ctx_ = ctx
4025	return c
4026}
4027
4028// Header returns an http.Header that can be modified by the caller to
4029// add HTTP headers to the request.
4030func (c *AppsGetCall) Header() http.Header {
4031	if c.header_ == nil {
4032		c.header_ = make(http.Header)
4033	}
4034	return c.header_
4035}
4036
4037func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
4038	reqHeaders := make(http.Header)
4039	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4040	for k, v := range c.header_ {
4041		reqHeaders[k] = v
4042	}
4043	reqHeaders.Set("User-Agent", c.s.userAgent())
4044	if c.ifNoneMatch_ != "" {
4045		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4046	}
4047	var body io.Reader = nil
4048	c.urlParams_.Set("alt", alt)
4049	c.urlParams_.Set("prettyPrint", "false")
4050	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}")
4051	urls += "?" + c.urlParams_.Encode()
4052	req, err := http.NewRequest("GET", urls, body)
4053	if err != nil {
4054		return nil, err
4055	}
4056	req.Header = reqHeaders
4057	googleapi.Expand(req.URL, map[string]string{
4058		"appsId": c.appsId,
4059	})
4060	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4061}
4062
4063// Do executes the "appengine.apps.get" call.
4064// Exactly one of *Application or error will be non-nil. Any non-2xx
4065// status code is an error. Response headers are in either
4066// *Application.ServerResponse.Header or (if a response was returned at
4067// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4068// to check whether the returned error was because
4069// http.StatusNotModified was returned.
4070func (c *AppsGetCall) Do(opts ...googleapi.CallOption) (*Application, error) {
4071	gensupport.SetOptions(c.urlParams_, opts...)
4072	res, err := c.doRequest("json")
4073	if res != nil && res.StatusCode == http.StatusNotModified {
4074		if res.Body != nil {
4075			res.Body.Close()
4076		}
4077		return nil, &googleapi.Error{
4078			Code:   res.StatusCode,
4079			Header: res.Header,
4080		}
4081	}
4082	if err != nil {
4083		return nil, err
4084	}
4085	defer googleapi.CloseBody(res)
4086	if err := googleapi.CheckResponse(res); err != nil {
4087		return nil, err
4088	}
4089	ret := &Application{
4090		ServerResponse: googleapi.ServerResponse{
4091			Header:         res.Header,
4092			HTTPStatusCode: res.StatusCode,
4093		},
4094	}
4095	target := &ret
4096	if err := gensupport.DecodeResponse(target, res); err != nil {
4097		return nil, err
4098	}
4099	return ret, nil
4100	// {
4101	//   "description": "Gets information about an application.",
4102	//   "flatPath": "v1beta/apps/{appsId}",
4103	//   "httpMethod": "GET",
4104	//   "id": "appengine.apps.get",
4105	//   "parameterOrder": [
4106	//     "appsId"
4107	//   ],
4108	//   "parameters": {
4109	//     "appsId": {
4110	//       "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.",
4111	//       "location": "path",
4112	//       "required": true,
4113	//       "type": "string"
4114	//     }
4115	//   },
4116	//   "path": "v1beta/apps/{appsId}",
4117	//   "response": {
4118	//     "$ref": "Application"
4119	//   },
4120	//   "scopes": [
4121	//     "https://www.googleapis.com/auth/appengine.admin",
4122	//     "https://www.googleapis.com/auth/cloud-platform",
4123	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
4124	//   ]
4125	// }
4126
4127}
4128
4129// method id "appengine.apps.patch":
4130
4131type AppsPatchCall struct {
4132	s           *APIService
4133	appsId      string
4134	application *Application
4135	urlParams_  gensupport.URLParams
4136	ctx_        context.Context
4137	header_     http.Header
4138}
4139
4140// Patch: Updates the specified Application resource. You can update the
4141// following fields: auth_domain - Google authentication domain for
4142// controlling user access to the application. default_cookie_expiration
4143// - Cookie expiration policy for the application.
4144//
4145// - appsId: Part of `name`. Name of the Application resource to update.
4146//   Example: apps/myapp.
4147func (r *AppsService) Patch(appsId string, application *Application) *AppsPatchCall {
4148	c := &AppsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4149	c.appsId = appsId
4150	c.application = application
4151	return c
4152}
4153
4154// UpdateMask sets the optional parameter "updateMask": Standard field
4155// mask for the set of fields to be updated.
4156func (c *AppsPatchCall) UpdateMask(updateMask string) *AppsPatchCall {
4157	c.urlParams_.Set("updateMask", updateMask)
4158	return c
4159}
4160
4161// Fields allows partial responses to be retrieved. See
4162// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4163// for more information.
4164func (c *AppsPatchCall) Fields(s ...googleapi.Field) *AppsPatchCall {
4165	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4166	return c
4167}
4168
4169// Context sets the context to be used in this call's Do method. Any
4170// pending HTTP request will be aborted if the provided context is
4171// canceled.
4172func (c *AppsPatchCall) Context(ctx context.Context) *AppsPatchCall {
4173	c.ctx_ = ctx
4174	return c
4175}
4176
4177// Header returns an http.Header that can be modified by the caller to
4178// add HTTP headers to the request.
4179func (c *AppsPatchCall) Header() http.Header {
4180	if c.header_ == nil {
4181		c.header_ = make(http.Header)
4182	}
4183	return c.header_
4184}
4185
4186func (c *AppsPatchCall) doRequest(alt string) (*http.Response, error) {
4187	reqHeaders := make(http.Header)
4188	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4189	for k, v := range c.header_ {
4190		reqHeaders[k] = v
4191	}
4192	reqHeaders.Set("User-Agent", c.s.userAgent())
4193	var body io.Reader = nil
4194	body, err := googleapi.WithoutDataWrapper.JSONReader(c.application)
4195	if err != nil {
4196		return nil, err
4197	}
4198	reqHeaders.Set("Content-Type", "application/json")
4199	c.urlParams_.Set("alt", alt)
4200	c.urlParams_.Set("prettyPrint", "false")
4201	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}")
4202	urls += "?" + c.urlParams_.Encode()
4203	req, err := http.NewRequest("PATCH", urls, body)
4204	if err != nil {
4205		return nil, err
4206	}
4207	req.Header = reqHeaders
4208	googleapi.Expand(req.URL, map[string]string{
4209		"appsId": c.appsId,
4210	})
4211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4212}
4213
4214// Do executes the "appengine.apps.patch" call.
4215// Exactly one of *Operation or error will be non-nil. Any non-2xx
4216// status code is an error. Response headers are in either
4217// *Operation.ServerResponse.Header or (if a response was returned at
4218// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4219// to check whether the returned error was because
4220// http.StatusNotModified was returned.
4221func (c *AppsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4222	gensupport.SetOptions(c.urlParams_, opts...)
4223	res, err := c.doRequest("json")
4224	if res != nil && res.StatusCode == http.StatusNotModified {
4225		if res.Body != nil {
4226			res.Body.Close()
4227		}
4228		return nil, &googleapi.Error{
4229			Code:   res.StatusCode,
4230			Header: res.Header,
4231		}
4232	}
4233	if err != nil {
4234		return nil, err
4235	}
4236	defer googleapi.CloseBody(res)
4237	if err := googleapi.CheckResponse(res); err != nil {
4238		return nil, err
4239	}
4240	ret := &Operation{
4241		ServerResponse: googleapi.ServerResponse{
4242			Header:         res.Header,
4243			HTTPStatusCode: res.StatusCode,
4244		},
4245	}
4246	target := &ret
4247	if err := gensupport.DecodeResponse(target, res); err != nil {
4248		return nil, err
4249	}
4250	return ret, nil
4251	// {
4252	//   "description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application.",
4253	//   "flatPath": "v1beta/apps/{appsId}",
4254	//   "httpMethod": "PATCH",
4255	//   "id": "appengine.apps.patch",
4256	//   "parameterOrder": [
4257	//     "appsId"
4258	//   ],
4259	//   "parameters": {
4260	//     "appsId": {
4261	//       "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.",
4262	//       "location": "path",
4263	//       "required": true,
4264	//       "type": "string"
4265	//     },
4266	//     "updateMask": {
4267	//       "description": "Standard field mask for the set of fields to be updated.",
4268	//       "format": "google-fieldmask",
4269	//       "location": "query",
4270	//       "type": "string"
4271	//     }
4272	//   },
4273	//   "path": "v1beta/apps/{appsId}",
4274	//   "request": {
4275	//     "$ref": "Application"
4276	//   },
4277	//   "response": {
4278	//     "$ref": "Operation"
4279	//   },
4280	//   "scopes": [
4281	//     "https://www.googleapis.com/auth/cloud-platform"
4282	//   ]
4283	// }
4284
4285}
4286
4287// method id "appengine.apps.repair":
4288
4289type AppsRepairCall struct {
4290	s                        *APIService
4291	appsId                   string
4292	repairapplicationrequest *RepairApplicationRequest
4293	urlParams_               gensupport.URLParams
4294	ctx_                     context.Context
4295	header_                  http.Header
4296}
4297
4298// Repair: Recreates the required App Engine features for the specified
4299// App Engine application, for example a Cloud Storage bucket or App
4300// Engine service account. Use this method if you receive an error
4301// message about a missing feature, for example, Error retrieving the
4302// App Engine service account. If you have deleted your App Engine
4303// service account, this will not be able to recreate it. Instead, you
4304// should attempt to use the IAM undelete API if possible at
4305// 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
4306// . If the deletion was recent, the numeric ID can be found in the
4307// Cloud Console Activity Log.
4308//
4309// - appsId: Part of `name`. Name of the application to repair. Example:
4310//   apps/myapp.
4311func (r *AppsService) Repair(appsId string, repairapplicationrequest *RepairApplicationRequest) *AppsRepairCall {
4312	c := &AppsRepairCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4313	c.appsId = appsId
4314	c.repairapplicationrequest = repairapplicationrequest
4315	return c
4316}
4317
4318// Fields allows partial responses to be retrieved. See
4319// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4320// for more information.
4321func (c *AppsRepairCall) Fields(s ...googleapi.Field) *AppsRepairCall {
4322	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4323	return c
4324}
4325
4326// Context sets the context to be used in this call's Do method. Any
4327// pending HTTP request will be aborted if the provided context is
4328// canceled.
4329func (c *AppsRepairCall) Context(ctx context.Context) *AppsRepairCall {
4330	c.ctx_ = ctx
4331	return c
4332}
4333
4334// Header returns an http.Header that can be modified by the caller to
4335// add HTTP headers to the request.
4336func (c *AppsRepairCall) Header() http.Header {
4337	if c.header_ == nil {
4338		c.header_ = make(http.Header)
4339	}
4340	return c.header_
4341}
4342
4343func (c *AppsRepairCall) doRequest(alt string) (*http.Response, error) {
4344	reqHeaders := make(http.Header)
4345	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4346	for k, v := range c.header_ {
4347		reqHeaders[k] = v
4348	}
4349	reqHeaders.Set("User-Agent", c.s.userAgent())
4350	var body io.Reader = nil
4351	body, err := googleapi.WithoutDataWrapper.JSONReader(c.repairapplicationrequest)
4352	if err != nil {
4353		return nil, err
4354	}
4355	reqHeaders.Set("Content-Type", "application/json")
4356	c.urlParams_.Set("alt", alt)
4357	c.urlParams_.Set("prettyPrint", "false")
4358	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}:repair")
4359	urls += "?" + c.urlParams_.Encode()
4360	req, err := http.NewRequest("POST", urls, body)
4361	if err != nil {
4362		return nil, err
4363	}
4364	req.Header = reqHeaders
4365	googleapi.Expand(req.URL, map[string]string{
4366		"appsId": c.appsId,
4367	})
4368	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4369}
4370
4371// Do executes the "appengine.apps.repair" call.
4372// Exactly one of *Operation or error will be non-nil. Any non-2xx
4373// status code is an error. Response headers are in either
4374// *Operation.ServerResponse.Header or (if a response was returned at
4375// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4376// to check whether the returned error was because
4377// http.StatusNotModified was returned.
4378func (c *AppsRepairCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4379	gensupport.SetOptions(c.urlParams_, opts...)
4380	res, err := c.doRequest("json")
4381	if res != nil && res.StatusCode == http.StatusNotModified {
4382		if res.Body != nil {
4383			res.Body.Close()
4384		}
4385		return nil, &googleapi.Error{
4386			Code:   res.StatusCode,
4387			Header: res.Header,
4388		}
4389	}
4390	if err != nil {
4391		return nil, err
4392	}
4393	defer googleapi.CloseBody(res)
4394	if err := googleapi.CheckResponse(res); err != nil {
4395		return nil, err
4396	}
4397	ret := &Operation{
4398		ServerResponse: googleapi.ServerResponse{
4399			Header:         res.Header,
4400			HTTPStatusCode: res.StatusCode,
4401		},
4402	}
4403	target := &ret
4404	if err := gensupport.DecodeResponse(target, res); err != nil {
4405		return nil, err
4406	}
4407	return ret, nil
4408	// {
4409	//   "description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at 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 . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.",
4410	//   "flatPath": "v1beta/apps/{appsId}:repair",
4411	//   "httpMethod": "POST",
4412	//   "id": "appengine.apps.repair",
4413	//   "parameterOrder": [
4414	//     "appsId"
4415	//   ],
4416	//   "parameters": {
4417	//     "appsId": {
4418	//       "description": "Part of `name`. Name of the application to repair. Example: apps/myapp",
4419	//       "location": "path",
4420	//       "required": true,
4421	//       "type": "string"
4422	//     }
4423	//   },
4424	//   "path": "v1beta/apps/{appsId}:repair",
4425	//   "request": {
4426	//     "$ref": "RepairApplicationRequest"
4427	//   },
4428	//   "response": {
4429	//     "$ref": "Operation"
4430	//   },
4431	//   "scopes": [
4432	//     "https://www.googleapis.com/auth/cloud-platform"
4433	//   ]
4434	// }
4435
4436}
4437
4438// method id "appengine.apps.authorizedCertificates.create":
4439
4440type AppsAuthorizedCertificatesCreateCall struct {
4441	s                     *APIService
4442	appsId                string
4443	authorizedcertificate *AuthorizedCertificate
4444	urlParams_            gensupport.URLParams
4445	ctx_                  context.Context
4446	header_               http.Header
4447}
4448
4449// Create: Uploads the specified SSL certificate.
4450//
4451// - appsId: Part of `parent`. Name of the parent Application resource.
4452//   Example: apps/myapp.
4453func (r *AppsAuthorizedCertificatesService) Create(appsId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesCreateCall {
4454	c := &AppsAuthorizedCertificatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4455	c.appsId = appsId
4456	c.authorizedcertificate = authorizedcertificate
4457	return c
4458}
4459
4460// Fields allows partial responses to be retrieved. See
4461// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4462// for more information.
4463func (c *AppsAuthorizedCertificatesCreateCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesCreateCall {
4464	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4465	return c
4466}
4467
4468// Context sets the context to be used in this call's Do method. Any
4469// pending HTTP request will be aborted if the provided context is
4470// canceled.
4471func (c *AppsAuthorizedCertificatesCreateCall) Context(ctx context.Context) *AppsAuthorizedCertificatesCreateCall {
4472	c.ctx_ = ctx
4473	return c
4474}
4475
4476// Header returns an http.Header that can be modified by the caller to
4477// add HTTP headers to the request.
4478func (c *AppsAuthorizedCertificatesCreateCall) Header() http.Header {
4479	if c.header_ == nil {
4480		c.header_ = make(http.Header)
4481	}
4482	return c.header_
4483}
4484
4485func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) {
4486	reqHeaders := make(http.Header)
4487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4488	for k, v := range c.header_ {
4489		reqHeaders[k] = v
4490	}
4491	reqHeaders.Set("User-Agent", c.s.userAgent())
4492	var body io.Reader = nil
4493	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate)
4494	if err != nil {
4495		return nil, err
4496	}
4497	reqHeaders.Set("Content-Type", "application/json")
4498	c.urlParams_.Set("alt", alt)
4499	c.urlParams_.Set("prettyPrint", "false")
4500	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates")
4501	urls += "?" + c.urlParams_.Encode()
4502	req, err := http.NewRequest("POST", urls, body)
4503	if err != nil {
4504		return nil, err
4505	}
4506	req.Header = reqHeaders
4507	googleapi.Expand(req.URL, map[string]string{
4508		"appsId": c.appsId,
4509	})
4510	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4511}
4512
4513// Do executes the "appengine.apps.authorizedCertificates.create" call.
4514// Exactly one of *AuthorizedCertificate or error will be non-nil. Any
4515// non-2xx status code is an error. Response headers are in either
4516// *AuthorizedCertificate.ServerResponse.Header or (if a response was
4517// returned at all) in error.(*googleapi.Error).Header. Use
4518// googleapi.IsNotModified to check whether the returned error was
4519// because http.StatusNotModified was returned.
4520func (c *AppsAuthorizedCertificatesCreateCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
4521	gensupport.SetOptions(c.urlParams_, opts...)
4522	res, err := c.doRequest("json")
4523	if res != nil && res.StatusCode == http.StatusNotModified {
4524		if res.Body != nil {
4525			res.Body.Close()
4526		}
4527		return nil, &googleapi.Error{
4528			Code:   res.StatusCode,
4529			Header: res.Header,
4530		}
4531	}
4532	if err != nil {
4533		return nil, err
4534	}
4535	defer googleapi.CloseBody(res)
4536	if err := googleapi.CheckResponse(res); err != nil {
4537		return nil, err
4538	}
4539	ret := &AuthorizedCertificate{
4540		ServerResponse: googleapi.ServerResponse{
4541			Header:         res.Header,
4542			HTTPStatusCode: res.StatusCode,
4543		},
4544	}
4545	target := &ret
4546	if err := gensupport.DecodeResponse(target, res); err != nil {
4547		return nil, err
4548	}
4549	return ret, nil
4550	// {
4551	//   "description": "Uploads the specified SSL certificate.",
4552	//   "flatPath": "v1beta/apps/{appsId}/authorizedCertificates",
4553	//   "httpMethod": "POST",
4554	//   "id": "appengine.apps.authorizedCertificates.create",
4555	//   "parameterOrder": [
4556	//     "appsId"
4557	//   ],
4558	//   "parameters": {
4559	//     "appsId": {
4560	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
4561	//       "location": "path",
4562	//       "required": true,
4563	//       "type": "string"
4564	//     }
4565	//   },
4566	//   "path": "v1beta/apps/{appsId}/authorizedCertificates",
4567	//   "request": {
4568	//     "$ref": "AuthorizedCertificate"
4569	//   },
4570	//   "response": {
4571	//     "$ref": "AuthorizedCertificate"
4572	//   },
4573	//   "scopes": [
4574	//     "https://www.googleapis.com/auth/cloud-platform"
4575	//   ]
4576	// }
4577
4578}
4579
4580// method id "appengine.apps.authorizedCertificates.delete":
4581
4582type AppsAuthorizedCertificatesDeleteCall struct {
4583	s                        *APIService
4584	appsId                   string
4585	authorizedCertificatesId string
4586	urlParams_               gensupport.URLParams
4587	ctx_                     context.Context
4588	header_                  http.Header
4589}
4590
4591// Delete: Deletes the specified SSL certificate.
4592//
4593// - appsId: Part of `name`. Name of the resource to delete. Example:
4594//   apps/myapp/authorizedCertificates/12345.
4595// - authorizedCertificatesId: Part of `name`. See documentation of
4596//   `appsId`.
4597func (r *AppsAuthorizedCertificatesService) Delete(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesDeleteCall {
4598	c := &AppsAuthorizedCertificatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4599	c.appsId = appsId
4600	c.authorizedCertificatesId = authorizedCertificatesId
4601	return c
4602}
4603
4604// Fields allows partial responses to be retrieved. See
4605// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4606// for more information.
4607func (c *AppsAuthorizedCertificatesDeleteCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesDeleteCall {
4608	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4609	return c
4610}
4611
4612// Context sets the context to be used in this call's Do method. Any
4613// pending HTTP request will be aborted if the provided context is
4614// canceled.
4615func (c *AppsAuthorizedCertificatesDeleteCall) Context(ctx context.Context) *AppsAuthorizedCertificatesDeleteCall {
4616	c.ctx_ = ctx
4617	return c
4618}
4619
4620// Header returns an http.Header that can be modified by the caller to
4621// add HTTP headers to the request.
4622func (c *AppsAuthorizedCertificatesDeleteCall) Header() http.Header {
4623	if c.header_ == nil {
4624		c.header_ = make(http.Header)
4625	}
4626	return c.header_
4627}
4628
4629func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
4630	reqHeaders := make(http.Header)
4631	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4632	for k, v := range c.header_ {
4633		reqHeaders[k] = v
4634	}
4635	reqHeaders.Set("User-Agent", c.s.userAgent())
4636	var body io.Reader = nil
4637	c.urlParams_.Set("alt", alt)
4638	c.urlParams_.Set("prettyPrint", "false")
4639	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
4640	urls += "?" + c.urlParams_.Encode()
4641	req, err := http.NewRequest("DELETE", urls, body)
4642	if err != nil {
4643		return nil, err
4644	}
4645	req.Header = reqHeaders
4646	googleapi.Expand(req.URL, map[string]string{
4647		"appsId":                   c.appsId,
4648		"authorizedCertificatesId": c.authorizedCertificatesId,
4649	})
4650	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4651}
4652
4653// Do executes the "appengine.apps.authorizedCertificates.delete" call.
4654// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4655// code is an error. Response headers are in either
4656// *Empty.ServerResponse.Header or (if a response was returned at all)
4657// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4658// check whether the returned error was because http.StatusNotModified
4659// was returned.
4660func (c *AppsAuthorizedCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4661	gensupport.SetOptions(c.urlParams_, opts...)
4662	res, err := c.doRequest("json")
4663	if res != nil && res.StatusCode == http.StatusNotModified {
4664		if res.Body != nil {
4665			res.Body.Close()
4666		}
4667		return nil, &googleapi.Error{
4668			Code:   res.StatusCode,
4669			Header: res.Header,
4670		}
4671	}
4672	if err != nil {
4673		return nil, err
4674	}
4675	defer googleapi.CloseBody(res)
4676	if err := googleapi.CheckResponse(res); err != nil {
4677		return nil, err
4678	}
4679	ret := &Empty{
4680		ServerResponse: googleapi.ServerResponse{
4681			Header:         res.Header,
4682			HTTPStatusCode: res.StatusCode,
4683		},
4684	}
4685	target := &ret
4686	if err := gensupport.DecodeResponse(target, res); err != nil {
4687		return nil, err
4688	}
4689	return ret, nil
4690	// {
4691	//   "description": "Deletes the specified SSL certificate.",
4692	//   "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
4693	//   "httpMethod": "DELETE",
4694	//   "id": "appengine.apps.authorizedCertificates.delete",
4695	//   "parameterOrder": [
4696	//     "appsId",
4697	//     "authorizedCertificatesId"
4698	//   ],
4699	//   "parameters": {
4700	//     "appsId": {
4701	//       "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.",
4702	//       "location": "path",
4703	//       "required": true,
4704	//       "type": "string"
4705	//     },
4706	//     "authorizedCertificatesId": {
4707	//       "description": "Part of `name`. See documentation of `appsId`.",
4708	//       "location": "path",
4709	//       "required": true,
4710	//       "type": "string"
4711	//     }
4712	//   },
4713	//   "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
4714	//   "response": {
4715	//     "$ref": "Empty"
4716	//   },
4717	//   "scopes": [
4718	//     "https://www.googleapis.com/auth/cloud-platform"
4719	//   ]
4720	// }
4721
4722}
4723
4724// method id "appengine.apps.authorizedCertificates.get":
4725
4726type AppsAuthorizedCertificatesGetCall struct {
4727	s                        *APIService
4728	appsId                   string
4729	authorizedCertificatesId string
4730	urlParams_               gensupport.URLParams
4731	ifNoneMatch_             string
4732	ctx_                     context.Context
4733	header_                  http.Header
4734}
4735
4736// Get: Gets the specified SSL certificate.
4737//
4738// - appsId: Part of `name`. Name of the resource requested. Example:
4739//   apps/myapp/authorizedCertificates/12345.
4740// - authorizedCertificatesId: Part of `name`. See documentation of
4741//   `appsId`.
4742func (r *AppsAuthorizedCertificatesService) Get(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesGetCall {
4743	c := &AppsAuthorizedCertificatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4744	c.appsId = appsId
4745	c.authorizedCertificatesId = authorizedCertificatesId
4746	return c
4747}
4748
4749// View sets the optional parameter "view": Controls the set of fields
4750// returned in the GET response.
4751//
4752// Possible values:
4753//   "BASIC_CERTIFICATE" - Basic certificate information, including
4754// applicable domains and expiration date.
4755//   "FULL_CERTIFICATE" - The information from BASIC_CERTIFICATE, plus
4756// detailed information on the domain mappings that have this
4757// certificate mapped.
4758func (c *AppsAuthorizedCertificatesGetCall) View(view string) *AppsAuthorizedCertificatesGetCall {
4759	c.urlParams_.Set("view", view)
4760	return c
4761}
4762
4763// Fields allows partial responses to be retrieved. See
4764// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4765// for more information.
4766func (c *AppsAuthorizedCertificatesGetCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesGetCall {
4767	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4768	return c
4769}
4770
4771// IfNoneMatch sets the optional parameter which makes the operation
4772// fail if the object's ETag matches the given value. This is useful for
4773// getting updates only after the object has changed since the last
4774// request. Use googleapi.IsNotModified to check whether the response
4775// error from Do is the result of In-None-Match.
4776func (c *AppsAuthorizedCertificatesGetCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesGetCall {
4777	c.ifNoneMatch_ = entityTag
4778	return c
4779}
4780
4781// Context sets the context to be used in this call's Do method. Any
4782// pending HTTP request will be aborted if the provided context is
4783// canceled.
4784func (c *AppsAuthorizedCertificatesGetCall) Context(ctx context.Context) *AppsAuthorizedCertificatesGetCall {
4785	c.ctx_ = ctx
4786	return c
4787}
4788
4789// Header returns an http.Header that can be modified by the caller to
4790// add HTTP headers to the request.
4791func (c *AppsAuthorizedCertificatesGetCall) Header() http.Header {
4792	if c.header_ == nil {
4793		c.header_ = make(http.Header)
4794	}
4795	return c.header_
4796}
4797
4798func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
4799	reqHeaders := make(http.Header)
4800	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4801	for k, v := range c.header_ {
4802		reqHeaders[k] = v
4803	}
4804	reqHeaders.Set("User-Agent", c.s.userAgent())
4805	if c.ifNoneMatch_ != "" {
4806		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4807	}
4808	var body io.Reader = nil
4809	c.urlParams_.Set("alt", alt)
4810	c.urlParams_.Set("prettyPrint", "false")
4811	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
4812	urls += "?" + c.urlParams_.Encode()
4813	req, err := http.NewRequest("GET", urls, body)
4814	if err != nil {
4815		return nil, err
4816	}
4817	req.Header = reqHeaders
4818	googleapi.Expand(req.URL, map[string]string{
4819		"appsId":                   c.appsId,
4820		"authorizedCertificatesId": c.authorizedCertificatesId,
4821	})
4822	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4823}
4824
4825// Do executes the "appengine.apps.authorizedCertificates.get" call.
4826// Exactly one of *AuthorizedCertificate or error will be non-nil. Any
4827// non-2xx status code is an error. Response headers are in either
4828// *AuthorizedCertificate.ServerResponse.Header or (if a response was
4829// returned at all) in error.(*googleapi.Error).Header. Use
4830// googleapi.IsNotModified to check whether the returned error was
4831// because http.StatusNotModified was returned.
4832func (c *AppsAuthorizedCertificatesGetCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
4833	gensupport.SetOptions(c.urlParams_, opts...)
4834	res, err := c.doRequest("json")
4835	if res != nil && res.StatusCode == http.StatusNotModified {
4836		if res.Body != nil {
4837			res.Body.Close()
4838		}
4839		return nil, &googleapi.Error{
4840			Code:   res.StatusCode,
4841			Header: res.Header,
4842		}
4843	}
4844	if err != nil {
4845		return nil, err
4846	}
4847	defer googleapi.CloseBody(res)
4848	if err := googleapi.CheckResponse(res); err != nil {
4849		return nil, err
4850	}
4851	ret := &AuthorizedCertificate{
4852		ServerResponse: googleapi.ServerResponse{
4853			Header:         res.Header,
4854			HTTPStatusCode: res.StatusCode,
4855		},
4856	}
4857	target := &ret
4858	if err := gensupport.DecodeResponse(target, res); err != nil {
4859		return nil, err
4860	}
4861	return ret, nil
4862	// {
4863	//   "description": "Gets the specified SSL certificate.",
4864	//   "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
4865	//   "httpMethod": "GET",
4866	//   "id": "appengine.apps.authorizedCertificates.get",
4867	//   "parameterOrder": [
4868	//     "appsId",
4869	//     "authorizedCertificatesId"
4870	//   ],
4871	//   "parameters": {
4872	//     "appsId": {
4873	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.",
4874	//       "location": "path",
4875	//       "required": true,
4876	//       "type": "string"
4877	//     },
4878	//     "authorizedCertificatesId": {
4879	//       "description": "Part of `name`. See documentation of `appsId`.",
4880	//       "location": "path",
4881	//       "required": true,
4882	//       "type": "string"
4883	//     },
4884	//     "view": {
4885	//       "description": "Controls the set of fields returned in the GET response.",
4886	//       "enum": [
4887	//         "BASIC_CERTIFICATE",
4888	//         "FULL_CERTIFICATE"
4889	//       ],
4890	//       "enumDescriptions": [
4891	//         "Basic certificate information, including applicable domains and expiration date.",
4892	//         "The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped."
4893	//       ],
4894	//       "location": "query",
4895	//       "type": "string"
4896	//     }
4897	//   },
4898	//   "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
4899	//   "response": {
4900	//     "$ref": "AuthorizedCertificate"
4901	//   },
4902	//   "scopes": [
4903	//     "https://www.googleapis.com/auth/appengine.admin",
4904	//     "https://www.googleapis.com/auth/cloud-platform",
4905	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
4906	//   ]
4907	// }
4908
4909}
4910
4911// method id "appengine.apps.authorizedCertificates.list":
4912
4913type AppsAuthorizedCertificatesListCall struct {
4914	s            *APIService
4915	appsId       string
4916	urlParams_   gensupport.URLParams
4917	ifNoneMatch_ string
4918	ctx_         context.Context
4919	header_      http.Header
4920}
4921
4922// List: Lists all SSL certificates the user is authorized to
4923// administer.
4924//
4925// - appsId: Part of `parent`. Name of the parent Application resource.
4926//   Example: apps/myapp.
4927func (r *AppsAuthorizedCertificatesService) List(appsId string) *AppsAuthorizedCertificatesListCall {
4928	c := &AppsAuthorizedCertificatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4929	c.appsId = appsId
4930	return c
4931}
4932
4933// PageSize sets the optional parameter "pageSize": Maximum results to
4934// return per page.
4935func (c *AppsAuthorizedCertificatesListCall) PageSize(pageSize int64) *AppsAuthorizedCertificatesListCall {
4936	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
4937	return c
4938}
4939
4940// PageToken sets the optional parameter "pageToken": Continuation token
4941// for fetching the next page of results.
4942func (c *AppsAuthorizedCertificatesListCall) PageToken(pageToken string) *AppsAuthorizedCertificatesListCall {
4943	c.urlParams_.Set("pageToken", pageToken)
4944	return c
4945}
4946
4947// View sets the optional parameter "view": Controls the set of fields
4948// returned in the LIST response.
4949//
4950// Possible values:
4951//   "BASIC_CERTIFICATE" - Basic certificate information, including
4952// applicable domains and expiration date.
4953//   "FULL_CERTIFICATE" - The information from BASIC_CERTIFICATE, plus
4954// detailed information on the domain mappings that have this
4955// certificate mapped.
4956func (c *AppsAuthorizedCertificatesListCall) View(view string) *AppsAuthorizedCertificatesListCall {
4957	c.urlParams_.Set("view", view)
4958	return c
4959}
4960
4961// Fields allows partial responses to be retrieved. See
4962// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4963// for more information.
4964func (c *AppsAuthorizedCertificatesListCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesListCall {
4965	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4966	return c
4967}
4968
4969// IfNoneMatch sets the optional parameter which makes the operation
4970// fail if the object's ETag matches the given value. This is useful for
4971// getting updates only after the object has changed since the last
4972// request. Use googleapi.IsNotModified to check whether the response
4973// error from Do is the result of In-None-Match.
4974func (c *AppsAuthorizedCertificatesListCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesListCall {
4975	c.ifNoneMatch_ = entityTag
4976	return c
4977}
4978
4979// Context sets the context to be used in this call's Do method. Any
4980// pending HTTP request will be aborted if the provided context is
4981// canceled.
4982func (c *AppsAuthorizedCertificatesListCall) Context(ctx context.Context) *AppsAuthorizedCertificatesListCall {
4983	c.ctx_ = ctx
4984	return c
4985}
4986
4987// Header returns an http.Header that can be modified by the caller to
4988// add HTTP headers to the request.
4989func (c *AppsAuthorizedCertificatesListCall) Header() http.Header {
4990	if c.header_ == nil {
4991		c.header_ = make(http.Header)
4992	}
4993	return c.header_
4994}
4995
4996func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) {
4997	reqHeaders := make(http.Header)
4998	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4999	for k, v := range c.header_ {
5000		reqHeaders[k] = v
5001	}
5002	reqHeaders.Set("User-Agent", c.s.userAgent())
5003	if c.ifNoneMatch_ != "" {
5004		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5005	}
5006	var body io.Reader = nil
5007	c.urlParams_.Set("alt", alt)
5008	c.urlParams_.Set("prettyPrint", "false")
5009	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates")
5010	urls += "?" + c.urlParams_.Encode()
5011	req, err := http.NewRequest("GET", urls, body)
5012	if err != nil {
5013		return nil, err
5014	}
5015	req.Header = reqHeaders
5016	googleapi.Expand(req.URL, map[string]string{
5017		"appsId": c.appsId,
5018	})
5019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5020}
5021
5022// Do executes the "appengine.apps.authorizedCertificates.list" call.
5023// Exactly one of *ListAuthorizedCertificatesResponse or error will be
5024// non-nil. Any non-2xx status code is an error. Response headers are in
5025// either *ListAuthorizedCertificatesResponse.ServerResponse.Header or
5026// (if a response was returned at all) in
5027// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5028// whether the returned error was because http.StatusNotModified was
5029// returned.
5030func (c *AppsAuthorizedCertificatesListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedCertificatesResponse, error) {
5031	gensupport.SetOptions(c.urlParams_, opts...)
5032	res, err := c.doRequest("json")
5033	if res != nil && res.StatusCode == http.StatusNotModified {
5034		if res.Body != nil {
5035			res.Body.Close()
5036		}
5037		return nil, &googleapi.Error{
5038			Code:   res.StatusCode,
5039			Header: res.Header,
5040		}
5041	}
5042	if err != nil {
5043		return nil, err
5044	}
5045	defer googleapi.CloseBody(res)
5046	if err := googleapi.CheckResponse(res); err != nil {
5047		return nil, err
5048	}
5049	ret := &ListAuthorizedCertificatesResponse{
5050		ServerResponse: googleapi.ServerResponse{
5051			Header:         res.Header,
5052			HTTPStatusCode: res.StatusCode,
5053		},
5054	}
5055	target := &ret
5056	if err := gensupport.DecodeResponse(target, res); err != nil {
5057		return nil, err
5058	}
5059	return ret, nil
5060	// {
5061	//   "description": "Lists all SSL certificates the user is authorized to administer.",
5062	//   "flatPath": "v1beta/apps/{appsId}/authorizedCertificates",
5063	//   "httpMethod": "GET",
5064	//   "id": "appengine.apps.authorizedCertificates.list",
5065	//   "parameterOrder": [
5066	//     "appsId"
5067	//   ],
5068	//   "parameters": {
5069	//     "appsId": {
5070	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
5071	//       "location": "path",
5072	//       "required": true,
5073	//       "type": "string"
5074	//     },
5075	//     "pageSize": {
5076	//       "description": "Maximum results to return per page.",
5077	//       "format": "int32",
5078	//       "location": "query",
5079	//       "type": "integer"
5080	//     },
5081	//     "pageToken": {
5082	//       "description": "Continuation token for fetching the next page of results.",
5083	//       "location": "query",
5084	//       "type": "string"
5085	//     },
5086	//     "view": {
5087	//       "description": "Controls the set of fields returned in the LIST response.",
5088	//       "enum": [
5089	//         "BASIC_CERTIFICATE",
5090	//         "FULL_CERTIFICATE"
5091	//       ],
5092	//       "enumDescriptions": [
5093	//         "Basic certificate information, including applicable domains and expiration date.",
5094	//         "The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped."
5095	//       ],
5096	//       "location": "query",
5097	//       "type": "string"
5098	//     }
5099	//   },
5100	//   "path": "v1beta/apps/{appsId}/authorizedCertificates",
5101	//   "response": {
5102	//     "$ref": "ListAuthorizedCertificatesResponse"
5103	//   },
5104	//   "scopes": [
5105	//     "https://www.googleapis.com/auth/appengine.admin",
5106	//     "https://www.googleapis.com/auth/cloud-platform",
5107	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5108	//   ]
5109	// }
5110
5111}
5112
5113// Pages invokes f for each page of results.
5114// A non-nil error returned from f will halt the iteration.
5115// The provided context supersedes any context provided to the Context method.
5116func (c *AppsAuthorizedCertificatesListCall) Pages(ctx context.Context, f func(*ListAuthorizedCertificatesResponse) error) error {
5117	c.ctx_ = ctx
5118	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5119	for {
5120		x, err := c.Do()
5121		if err != nil {
5122			return err
5123		}
5124		if err := f(x); err != nil {
5125			return err
5126		}
5127		if x.NextPageToken == "" {
5128			return nil
5129		}
5130		c.PageToken(x.NextPageToken)
5131	}
5132}
5133
5134// method id "appengine.apps.authorizedCertificates.patch":
5135
5136type AppsAuthorizedCertificatesPatchCall struct {
5137	s                        *APIService
5138	appsId                   string
5139	authorizedCertificatesId string
5140	authorizedcertificate    *AuthorizedCertificate
5141	urlParams_               gensupport.URLParams
5142	ctx_                     context.Context
5143	header_                  http.Header
5144}
5145
5146// Patch: Updates the specified SSL certificate. To renew a certificate
5147// and maintain its existing domain mappings, update certificate_data
5148// with a new certificate. The new certificate must be applicable to the
5149// same domains as the original certificate. The certificate
5150// display_name may also be updated.
5151//
5152// - appsId: Part of `name`. Name of the resource to update. Example:
5153//   apps/myapp/authorizedCertificates/12345.
5154// - authorizedCertificatesId: Part of `name`. See documentation of
5155//   `appsId`.
5156func (r *AppsAuthorizedCertificatesService) Patch(appsId string, authorizedCertificatesId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesPatchCall {
5157	c := &AppsAuthorizedCertificatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5158	c.appsId = appsId
5159	c.authorizedCertificatesId = authorizedCertificatesId
5160	c.authorizedcertificate = authorizedcertificate
5161	return c
5162}
5163
5164// UpdateMask sets the optional parameter "updateMask": Standard field
5165// mask for the set of fields to be updated. Updates are only supported
5166// on the certificate_raw_data and display_name fields.
5167func (c *AppsAuthorizedCertificatesPatchCall) UpdateMask(updateMask string) *AppsAuthorizedCertificatesPatchCall {
5168	c.urlParams_.Set("updateMask", updateMask)
5169	return c
5170}
5171
5172// Fields allows partial responses to be retrieved. See
5173// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5174// for more information.
5175func (c *AppsAuthorizedCertificatesPatchCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesPatchCall {
5176	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5177	return c
5178}
5179
5180// Context sets the context to be used in this call's Do method. Any
5181// pending HTTP request will be aborted if the provided context is
5182// canceled.
5183func (c *AppsAuthorizedCertificatesPatchCall) Context(ctx context.Context) *AppsAuthorizedCertificatesPatchCall {
5184	c.ctx_ = ctx
5185	return c
5186}
5187
5188// Header returns an http.Header that can be modified by the caller to
5189// add HTTP headers to the request.
5190func (c *AppsAuthorizedCertificatesPatchCall) Header() http.Header {
5191	if c.header_ == nil {
5192		c.header_ = make(http.Header)
5193	}
5194	return c.header_
5195}
5196
5197func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) {
5198	reqHeaders := make(http.Header)
5199	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5200	for k, v := range c.header_ {
5201		reqHeaders[k] = v
5202	}
5203	reqHeaders.Set("User-Agent", c.s.userAgent())
5204	var body io.Reader = nil
5205	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate)
5206	if err != nil {
5207		return nil, err
5208	}
5209	reqHeaders.Set("Content-Type", "application/json")
5210	c.urlParams_.Set("alt", alt)
5211	c.urlParams_.Set("prettyPrint", "false")
5212	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}")
5213	urls += "?" + c.urlParams_.Encode()
5214	req, err := http.NewRequest("PATCH", urls, body)
5215	if err != nil {
5216		return nil, err
5217	}
5218	req.Header = reqHeaders
5219	googleapi.Expand(req.URL, map[string]string{
5220		"appsId":                   c.appsId,
5221		"authorizedCertificatesId": c.authorizedCertificatesId,
5222	})
5223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5224}
5225
5226// Do executes the "appengine.apps.authorizedCertificates.patch" call.
5227// Exactly one of *AuthorizedCertificate or error will be non-nil. Any
5228// non-2xx status code is an error. Response headers are in either
5229// *AuthorizedCertificate.ServerResponse.Header or (if a response was
5230// returned at all) in error.(*googleapi.Error).Header. Use
5231// googleapi.IsNotModified to check whether the returned error was
5232// because http.StatusNotModified was returned.
5233func (c *AppsAuthorizedCertificatesPatchCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, error) {
5234	gensupport.SetOptions(c.urlParams_, opts...)
5235	res, err := c.doRequest("json")
5236	if res != nil && res.StatusCode == http.StatusNotModified {
5237		if res.Body != nil {
5238			res.Body.Close()
5239		}
5240		return nil, &googleapi.Error{
5241			Code:   res.StatusCode,
5242			Header: res.Header,
5243		}
5244	}
5245	if err != nil {
5246		return nil, err
5247	}
5248	defer googleapi.CloseBody(res)
5249	if err := googleapi.CheckResponse(res); err != nil {
5250		return nil, err
5251	}
5252	ret := &AuthorizedCertificate{
5253		ServerResponse: googleapi.ServerResponse{
5254			Header:         res.Header,
5255			HTTPStatusCode: res.StatusCode,
5256		},
5257	}
5258	target := &ret
5259	if err := gensupport.DecodeResponse(target, res); err != nil {
5260		return nil, err
5261	}
5262	return ret, nil
5263	// {
5264	//   "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.",
5265	//   "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
5266	//   "httpMethod": "PATCH",
5267	//   "id": "appengine.apps.authorizedCertificates.patch",
5268	//   "parameterOrder": [
5269	//     "appsId",
5270	//     "authorizedCertificatesId"
5271	//   ],
5272	//   "parameters": {
5273	//     "appsId": {
5274	//       "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.",
5275	//       "location": "path",
5276	//       "required": true,
5277	//       "type": "string"
5278	//     },
5279	//     "authorizedCertificatesId": {
5280	//       "description": "Part of `name`. See documentation of `appsId`.",
5281	//       "location": "path",
5282	//       "required": true,
5283	//       "type": "string"
5284	//     },
5285	//     "updateMask": {
5286	//       "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.",
5287	//       "format": "google-fieldmask",
5288	//       "location": "query",
5289	//       "type": "string"
5290	//     }
5291	//   },
5292	//   "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}",
5293	//   "request": {
5294	//     "$ref": "AuthorizedCertificate"
5295	//   },
5296	//   "response": {
5297	//     "$ref": "AuthorizedCertificate"
5298	//   },
5299	//   "scopes": [
5300	//     "https://www.googleapis.com/auth/cloud-platform"
5301	//   ]
5302	// }
5303
5304}
5305
5306// method id "appengine.apps.authorizedDomains.list":
5307
5308type AppsAuthorizedDomainsListCall struct {
5309	s            *APIService
5310	appsId       string
5311	urlParams_   gensupport.URLParams
5312	ifNoneMatch_ string
5313	ctx_         context.Context
5314	header_      http.Header
5315}
5316
5317// List: Lists all domains the user is authorized to administer.
5318//
5319// - appsId: Part of `parent`. Name of the parent Application resource.
5320//   Example: apps/myapp.
5321func (r *AppsAuthorizedDomainsService) List(appsId string) *AppsAuthorizedDomainsListCall {
5322	c := &AppsAuthorizedDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5323	c.appsId = appsId
5324	return c
5325}
5326
5327// PageSize sets the optional parameter "pageSize": Maximum results to
5328// return per page.
5329func (c *AppsAuthorizedDomainsListCall) PageSize(pageSize int64) *AppsAuthorizedDomainsListCall {
5330	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5331	return c
5332}
5333
5334// PageToken sets the optional parameter "pageToken": Continuation token
5335// for fetching the next page of results.
5336func (c *AppsAuthorizedDomainsListCall) PageToken(pageToken string) *AppsAuthorizedDomainsListCall {
5337	c.urlParams_.Set("pageToken", pageToken)
5338	return c
5339}
5340
5341// Fields allows partial responses to be retrieved. See
5342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5343// for more information.
5344func (c *AppsAuthorizedDomainsListCall) Fields(s ...googleapi.Field) *AppsAuthorizedDomainsListCall {
5345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5346	return c
5347}
5348
5349// IfNoneMatch sets the optional parameter which makes the operation
5350// fail if the object's ETag matches the given value. This is useful for
5351// getting updates only after the object has changed since the last
5352// request. Use googleapi.IsNotModified to check whether the response
5353// error from Do is the result of In-None-Match.
5354func (c *AppsAuthorizedDomainsListCall) IfNoneMatch(entityTag string) *AppsAuthorizedDomainsListCall {
5355	c.ifNoneMatch_ = entityTag
5356	return c
5357}
5358
5359// Context sets the context to be used in this call's Do method. Any
5360// pending HTTP request will be aborted if the provided context is
5361// canceled.
5362func (c *AppsAuthorizedDomainsListCall) Context(ctx context.Context) *AppsAuthorizedDomainsListCall {
5363	c.ctx_ = ctx
5364	return c
5365}
5366
5367// Header returns an http.Header that can be modified by the caller to
5368// add HTTP headers to the request.
5369func (c *AppsAuthorizedDomainsListCall) Header() http.Header {
5370	if c.header_ == nil {
5371		c.header_ = make(http.Header)
5372	}
5373	return c.header_
5374}
5375
5376func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
5377	reqHeaders := make(http.Header)
5378	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5379	for k, v := range c.header_ {
5380		reqHeaders[k] = v
5381	}
5382	reqHeaders.Set("User-Agent", c.s.userAgent())
5383	if c.ifNoneMatch_ != "" {
5384		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5385	}
5386	var body io.Reader = nil
5387	c.urlParams_.Set("alt", alt)
5388	c.urlParams_.Set("prettyPrint", "false")
5389	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/authorizedDomains")
5390	urls += "?" + c.urlParams_.Encode()
5391	req, err := http.NewRequest("GET", urls, body)
5392	if err != nil {
5393		return nil, err
5394	}
5395	req.Header = reqHeaders
5396	googleapi.Expand(req.URL, map[string]string{
5397		"appsId": c.appsId,
5398	})
5399	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5400}
5401
5402// Do executes the "appengine.apps.authorizedDomains.list" call.
5403// Exactly one of *ListAuthorizedDomainsResponse or error will be
5404// non-nil. Any non-2xx status code is an error. Response headers are in
5405// either *ListAuthorizedDomainsResponse.ServerResponse.Header or (if a
5406// response was returned at all) in error.(*googleapi.Error).Header. Use
5407// googleapi.IsNotModified to check whether the returned error was
5408// because http.StatusNotModified was returned.
5409func (c *AppsAuthorizedDomainsListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedDomainsResponse, error) {
5410	gensupport.SetOptions(c.urlParams_, opts...)
5411	res, err := c.doRequest("json")
5412	if res != nil && res.StatusCode == http.StatusNotModified {
5413		if res.Body != nil {
5414			res.Body.Close()
5415		}
5416		return nil, &googleapi.Error{
5417			Code:   res.StatusCode,
5418			Header: res.Header,
5419		}
5420	}
5421	if err != nil {
5422		return nil, err
5423	}
5424	defer googleapi.CloseBody(res)
5425	if err := googleapi.CheckResponse(res); err != nil {
5426		return nil, err
5427	}
5428	ret := &ListAuthorizedDomainsResponse{
5429		ServerResponse: googleapi.ServerResponse{
5430			Header:         res.Header,
5431			HTTPStatusCode: res.StatusCode,
5432		},
5433	}
5434	target := &ret
5435	if err := gensupport.DecodeResponse(target, res); err != nil {
5436		return nil, err
5437	}
5438	return ret, nil
5439	// {
5440	//   "description": "Lists all domains the user is authorized to administer.",
5441	//   "flatPath": "v1beta/apps/{appsId}/authorizedDomains",
5442	//   "httpMethod": "GET",
5443	//   "id": "appengine.apps.authorizedDomains.list",
5444	//   "parameterOrder": [
5445	//     "appsId"
5446	//   ],
5447	//   "parameters": {
5448	//     "appsId": {
5449	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
5450	//       "location": "path",
5451	//       "required": true,
5452	//       "type": "string"
5453	//     },
5454	//     "pageSize": {
5455	//       "description": "Maximum results to return per page.",
5456	//       "format": "int32",
5457	//       "location": "query",
5458	//       "type": "integer"
5459	//     },
5460	//     "pageToken": {
5461	//       "description": "Continuation token for fetching the next page of results.",
5462	//       "location": "query",
5463	//       "type": "string"
5464	//     }
5465	//   },
5466	//   "path": "v1beta/apps/{appsId}/authorizedDomains",
5467	//   "response": {
5468	//     "$ref": "ListAuthorizedDomainsResponse"
5469	//   },
5470	//   "scopes": [
5471	//     "https://www.googleapis.com/auth/appengine.admin",
5472	//     "https://www.googleapis.com/auth/cloud-platform",
5473	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5474	//   ]
5475	// }
5476
5477}
5478
5479// Pages invokes f for each page of results.
5480// A non-nil error returned from f will halt the iteration.
5481// The provided context supersedes any context provided to the Context method.
5482func (c *AppsAuthorizedDomainsListCall) Pages(ctx context.Context, f func(*ListAuthorizedDomainsResponse) error) error {
5483	c.ctx_ = ctx
5484	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5485	for {
5486		x, err := c.Do()
5487		if err != nil {
5488			return err
5489		}
5490		if err := f(x); err != nil {
5491			return err
5492		}
5493		if x.NextPageToken == "" {
5494			return nil
5495		}
5496		c.PageToken(x.NextPageToken)
5497	}
5498}
5499
5500// method id "appengine.apps.domainMappings.create":
5501
5502type AppsDomainMappingsCreateCall struct {
5503	s             *APIService
5504	appsId        string
5505	domainmapping *DomainMapping
5506	urlParams_    gensupport.URLParams
5507	ctx_          context.Context
5508	header_       http.Header
5509}
5510
5511// Create: Maps a domain to an application. A user must be authorized to
5512// administer a domain in order to map it to an application. For a list
5513// of available authorized domains, see
5514// AuthorizedDomains.ListAuthorizedDomains.
5515//
5516// - appsId: Part of `parent`. Name of the parent Application resource.
5517//   Example: apps/myapp.
5518func (r *AppsDomainMappingsService) Create(appsId string, domainmapping *DomainMapping) *AppsDomainMappingsCreateCall {
5519	c := &AppsDomainMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5520	c.appsId = appsId
5521	c.domainmapping = domainmapping
5522	return c
5523}
5524
5525// OverrideStrategy sets the optional parameter "overrideStrategy":
5526// Whether the domain creation should override any existing mappings for
5527// this domain. By default, overrides are rejected.
5528//
5529// Possible values:
5530//   "UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY" - Strategy unspecified.
5531// Defaults to STRICT.
5532//   "STRICT" - Overrides not allowed. If a mapping already exists for
5533// the specified domain, the request will return an ALREADY_EXISTS
5534// (409).
5535//   "OVERRIDE" - Overrides allowed. If a mapping already exists for the
5536// specified domain, the request will overwrite it. Note that this might
5537// stop another Google product from serving. For example, if the domain
5538// is mapped to another App Engine application, that app will no longer
5539// serve from that domain.
5540func (c *AppsDomainMappingsCreateCall) OverrideStrategy(overrideStrategy string) *AppsDomainMappingsCreateCall {
5541	c.urlParams_.Set("overrideStrategy", overrideStrategy)
5542	return c
5543}
5544
5545// Fields allows partial responses to be retrieved. See
5546// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5547// for more information.
5548func (c *AppsDomainMappingsCreateCall) Fields(s ...googleapi.Field) *AppsDomainMappingsCreateCall {
5549	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5550	return c
5551}
5552
5553// Context sets the context to be used in this call's Do method. Any
5554// pending HTTP request will be aborted if the provided context is
5555// canceled.
5556func (c *AppsDomainMappingsCreateCall) Context(ctx context.Context) *AppsDomainMappingsCreateCall {
5557	c.ctx_ = ctx
5558	return c
5559}
5560
5561// Header returns an http.Header that can be modified by the caller to
5562// add HTTP headers to the request.
5563func (c *AppsDomainMappingsCreateCall) Header() http.Header {
5564	if c.header_ == nil {
5565		c.header_ = make(http.Header)
5566	}
5567	return c.header_
5568}
5569
5570func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
5571	reqHeaders := make(http.Header)
5572	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5573	for k, v := range c.header_ {
5574		reqHeaders[k] = v
5575	}
5576	reqHeaders.Set("User-Agent", c.s.userAgent())
5577	var body io.Reader = nil
5578	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping)
5579	if err != nil {
5580		return nil, err
5581	}
5582	reqHeaders.Set("Content-Type", "application/json")
5583	c.urlParams_.Set("alt", alt)
5584	c.urlParams_.Set("prettyPrint", "false")
5585	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings")
5586	urls += "?" + c.urlParams_.Encode()
5587	req, err := http.NewRequest("POST", urls, body)
5588	if err != nil {
5589		return nil, err
5590	}
5591	req.Header = reqHeaders
5592	googleapi.Expand(req.URL, map[string]string{
5593		"appsId": c.appsId,
5594	})
5595	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5596}
5597
5598// Do executes the "appengine.apps.domainMappings.create" call.
5599// Exactly one of *Operation or error will be non-nil. Any non-2xx
5600// status code is an error. Response headers are in either
5601// *Operation.ServerResponse.Header or (if a response was returned at
5602// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5603// to check whether the returned error was because
5604// http.StatusNotModified was returned.
5605func (c *AppsDomainMappingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5606	gensupport.SetOptions(c.urlParams_, opts...)
5607	res, err := c.doRequest("json")
5608	if res != nil && res.StatusCode == http.StatusNotModified {
5609		if res.Body != nil {
5610			res.Body.Close()
5611		}
5612		return nil, &googleapi.Error{
5613			Code:   res.StatusCode,
5614			Header: res.Header,
5615		}
5616	}
5617	if err != nil {
5618		return nil, err
5619	}
5620	defer googleapi.CloseBody(res)
5621	if err := googleapi.CheckResponse(res); err != nil {
5622		return nil, err
5623	}
5624	ret := &Operation{
5625		ServerResponse: googleapi.ServerResponse{
5626			Header:         res.Header,
5627			HTTPStatusCode: res.StatusCode,
5628		},
5629	}
5630	target := &ret
5631	if err := gensupport.DecodeResponse(target, res); err != nil {
5632		return nil, err
5633	}
5634	return ret, nil
5635	// {
5636	//   "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.",
5637	//   "flatPath": "v1beta/apps/{appsId}/domainMappings",
5638	//   "httpMethod": "POST",
5639	//   "id": "appengine.apps.domainMappings.create",
5640	//   "parameterOrder": [
5641	//     "appsId"
5642	//   ],
5643	//   "parameters": {
5644	//     "appsId": {
5645	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
5646	//       "location": "path",
5647	//       "required": true,
5648	//       "type": "string"
5649	//     },
5650	//     "overrideStrategy": {
5651	//       "description": "Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.",
5652	//       "enum": [
5653	//         "UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY",
5654	//         "STRICT",
5655	//         "OVERRIDE"
5656	//       ],
5657	//       "enumDescriptions": [
5658	//         "Strategy unspecified. Defaults to STRICT.",
5659	//         "Overrides not allowed. If a mapping already exists for the specified domain, the request will return an ALREADY_EXISTS (409).",
5660	//         "Overrides allowed. If a mapping already exists for the specified domain, the request will overwrite it. Note that this might stop another Google product from serving. For example, if the domain is mapped to another App Engine application, that app will no longer serve from that domain."
5661	//       ],
5662	//       "location": "query",
5663	//       "type": "string"
5664	//     }
5665	//   },
5666	//   "path": "v1beta/apps/{appsId}/domainMappings",
5667	//   "request": {
5668	//     "$ref": "DomainMapping"
5669	//   },
5670	//   "response": {
5671	//     "$ref": "Operation"
5672	//   },
5673	//   "scopes": [
5674	//     "https://www.googleapis.com/auth/cloud-platform"
5675	//   ]
5676	// }
5677
5678}
5679
5680// method id "appengine.apps.domainMappings.delete":
5681
5682type AppsDomainMappingsDeleteCall struct {
5683	s                *APIService
5684	appsId           string
5685	domainMappingsId string
5686	urlParams_       gensupport.URLParams
5687	ctx_             context.Context
5688	header_          http.Header
5689}
5690
5691// Delete: Deletes the specified domain mapping. A user must be
5692// authorized to administer the associated domain in order to delete a
5693// DomainMapping resource.
5694//
5695// - appsId: Part of `name`. Name of the resource to delete. Example:
5696//   apps/myapp/domainMappings/example.com.
5697// - domainMappingsId: Part of `name`. See documentation of `appsId`.
5698func (r *AppsDomainMappingsService) Delete(appsId string, domainMappingsId string) *AppsDomainMappingsDeleteCall {
5699	c := &AppsDomainMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5700	c.appsId = appsId
5701	c.domainMappingsId = domainMappingsId
5702	return c
5703}
5704
5705// Fields allows partial responses to be retrieved. See
5706// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5707// for more information.
5708func (c *AppsDomainMappingsDeleteCall) Fields(s ...googleapi.Field) *AppsDomainMappingsDeleteCall {
5709	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5710	return c
5711}
5712
5713// Context sets the context to be used in this call's Do method. Any
5714// pending HTTP request will be aborted if the provided context is
5715// canceled.
5716func (c *AppsDomainMappingsDeleteCall) Context(ctx context.Context) *AppsDomainMappingsDeleteCall {
5717	c.ctx_ = ctx
5718	return c
5719}
5720
5721// Header returns an http.Header that can be modified by the caller to
5722// add HTTP headers to the request.
5723func (c *AppsDomainMappingsDeleteCall) Header() http.Header {
5724	if c.header_ == nil {
5725		c.header_ = make(http.Header)
5726	}
5727	return c.header_
5728}
5729
5730func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
5731	reqHeaders := make(http.Header)
5732	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5733	for k, v := range c.header_ {
5734		reqHeaders[k] = v
5735	}
5736	reqHeaders.Set("User-Agent", c.s.userAgent())
5737	var body io.Reader = nil
5738	c.urlParams_.Set("alt", alt)
5739	c.urlParams_.Set("prettyPrint", "false")
5740	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
5741	urls += "?" + c.urlParams_.Encode()
5742	req, err := http.NewRequest("DELETE", urls, body)
5743	if err != nil {
5744		return nil, err
5745	}
5746	req.Header = reqHeaders
5747	googleapi.Expand(req.URL, map[string]string{
5748		"appsId":           c.appsId,
5749		"domainMappingsId": c.domainMappingsId,
5750	})
5751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5752}
5753
5754// Do executes the "appengine.apps.domainMappings.delete" call.
5755// Exactly one of *Operation or error will be non-nil. Any non-2xx
5756// status code is an error. Response headers are in either
5757// *Operation.ServerResponse.Header or (if a response was returned at
5758// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5759// to check whether the returned error was because
5760// http.StatusNotModified was returned.
5761func (c *AppsDomainMappingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5762	gensupport.SetOptions(c.urlParams_, opts...)
5763	res, err := c.doRequest("json")
5764	if res != nil && res.StatusCode == http.StatusNotModified {
5765		if res.Body != nil {
5766			res.Body.Close()
5767		}
5768		return nil, &googleapi.Error{
5769			Code:   res.StatusCode,
5770			Header: res.Header,
5771		}
5772	}
5773	if err != nil {
5774		return nil, err
5775	}
5776	defer googleapi.CloseBody(res)
5777	if err := googleapi.CheckResponse(res); err != nil {
5778		return nil, err
5779	}
5780	ret := &Operation{
5781		ServerResponse: googleapi.ServerResponse{
5782			Header:         res.Header,
5783			HTTPStatusCode: res.StatusCode,
5784		},
5785	}
5786	target := &ret
5787	if err := gensupport.DecodeResponse(target, res); err != nil {
5788		return nil, err
5789	}
5790	return ret, nil
5791	// {
5792	//   "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.",
5793	//   "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
5794	//   "httpMethod": "DELETE",
5795	//   "id": "appengine.apps.domainMappings.delete",
5796	//   "parameterOrder": [
5797	//     "appsId",
5798	//     "domainMappingsId"
5799	//   ],
5800	//   "parameters": {
5801	//     "appsId": {
5802	//       "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.",
5803	//       "location": "path",
5804	//       "required": true,
5805	//       "type": "string"
5806	//     },
5807	//     "domainMappingsId": {
5808	//       "description": "Part of `name`. See documentation of `appsId`.",
5809	//       "location": "path",
5810	//       "required": true,
5811	//       "type": "string"
5812	//     }
5813	//   },
5814	//   "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
5815	//   "response": {
5816	//     "$ref": "Operation"
5817	//   },
5818	//   "scopes": [
5819	//     "https://www.googleapis.com/auth/cloud-platform"
5820	//   ]
5821	// }
5822
5823}
5824
5825// method id "appengine.apps.domainMappings.get":
5826
5827type AppsDomainMappingsGetCall struct {
5828	s                *APIService
5829	appsId           string
5830	domainMappingsId string
5831	urlParams_       gensupport.URLParams
5832	ifNoneMatch_     string
5833	ctx_             context.Context
5834	header_          http.Header
5835}
5836
5837// Get: Gets the specified domain mapping.
5838//
5839// - appsId: Part of `name`. Name of the resource requested. Example:
5840//   apps/myapp/domainMappings/example.com.
5841// - domainMappingsId: Part of `name`. See documentation of `appsId`.
5842func (r *AppsDomainMappingsService) Get(appsId string, domainMappingsId string) *AppsDomainMappingsGetCall {
5843	c := &AppsDomainMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5844	c.appsId = appsId
5845	c.domainMappingsId = domainMappingsId
5846	return c
5847}
5848
5849// Fields allows partial responses to be retrieved. See
5850// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5851// for more information.
5852func (c *AppsDomainMappingsGetCall) Fields(s ...googleapi.Field) *AppsDomainMappingsGetCall {
5853	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5854	return c
5855}
5856
5857// IfNoneMatch sets the optional parameter which makes the operation
5858// fail if the object's ETag matches the given value. This is useful for
5859// getting updates only after the object has changed since the last
5860// request. Use googleapi.IsNotModified to check whether the response
5861// error from Do is the result of In-None-Match.
5862func (c *AppsDomainMappingsGetCall) IfNoneMatch(entityTag string) *AppsDomainMappingsGetCall {
5863	c.ifNoneMatch_ = entityTag
5864	return c
5865}
5866
5867// Context sets the context to be used in this call's Do method. Any
5868// pending HTTP request will be aborted if the provided context is
5869// canceled.
5870func (c *AppsDomainMappingsGetCall) Context(ctx context.Context) *AppsDomainMappingsGetCall {
5871	c.ctx_ = ctx
5872	return c
5873}
5874
5875// Header returns an http.Header that can be modified by the caller to
5876// add HTTP headers to the request.
5877func (c *AppsDomainMappingsGetCall) Header() http.Header {
5878	if c.header_ == nil {
5879		c.header_ = make(http.Header)
5880	}
5881	return c.header_
5882}
5883
5884func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) {
5885	reqHeaders := make(http.Header)
5886	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5887	for k, v := range c.header_ {
5888		reqHeaders[k] = v
5889	}
5890	reqHeaders.Set("User-Agent", c.s.userAgent())
5891	if c.ifNoneMatch_ != "" {
5892		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5893	}
5894	var body io.Reader = nil
5895	c.urlParams_.Set("alt", alt)
5896	c.urlParams_.Set("prettyPrint", "false")
5897	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
5898	urls += "?" + c.urlParams_.Encode()
5899	req, err := http.NewRequest("GET", urls, body)
5900	if err != nil {
5901		return nil, err
5902	}
5903	req.Header = reqHeaders
5904	googleapi.Expand(req.URL, map[string]string{
5905		"appsId":           c.appsId,
5906		"domainMappingsId": c.domainMappingsId,
5907	})
5908	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5909}
5910
5911// Do executes the "appengine.apps.domainMappings.get" call.
5912// Exactly one of *DomainMapping or error will be non-nil. Any non-2xx
5913// status code is an error. Response headers are in either
5914// *DomainMapping.ServerResponse.Header or (if a response was returned
5915// at all) in error.(*googleapi.Error).Header. Use
5916// googleapi.IsNotModified to check whether the returned error was
5917// because http.StatusNotModified was returned.
5918func (c *AppsDomainMappingsGetCall) Do(opts ...googleapi.CallOption) (*DomainMapping, error) {
5919	gensupport.SetOptions(c.urlParams_, opts...)
5920	res, err := c.doRequest("json")
5921	if res != nil && res.StatusCode == http.StatusNotModified {
5922		if res.Body != nil {
5923			res.Body.Close()
5924		}
5925		return nil, &googleapi.Error{
5926			Code:   res.StatusCode,
5927			Header: res.Header,
5928		}
5929	}
5930	if err != nil {
5931		return nil, err
5932	}
5933	defer googleapi.CloseBody(res)
5934	if err := googleapi.CheckResponse(res); err != nil {
5935		return nil, err
5936	}
5937	ret := &DomainMapping{
5938		ServerResponse: googleapi.ServerResponse{
5939			Header:         res.Header,
5940			HTTPStatusCode: res.StatusCode,
5941		},
5942	}
5943	target := &ret
5944	if err := gensupport.DecodeResponse(target, res); err != nil {
5945		return nil, err
5946	}
5947	return ret, nil
5948	// {
5949	//   "description": "Gets the specified domain mapping.",
5950	//   "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
5951	//   "httpMethod": "GET",
5952	//   "id": "appengine.apps.domainMappings.get",
5953	//   "parameterOrder": [
5954	//     "appsId",
5955	//     "domainMappingsId"
5956	//   ],
5957	//   "parameters": {
5958	//     "appsId": {
5959	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.",
5960	//       "location": "path",
5961	//       "required": true,
5962	//       "type": "string"
5963	//     },
5964	//     "domainMappingsId": {
5965	//       "description": "Part of `name`. See documentation of `appsId`.",
5966	//       "location": "path",
5967	//       "required": true,
5968	//       "type": "string"
5969	//     }
5970	//   },
5971	//   "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
5972	//   "response": {
5973	//     "$ref": "DomainMapping"
5974	//   },
5975	//   "scopes": [
5976	//     "https://www.googleapis.com/auth/appengine.admin",
5977	//     "https://www.googleapis.com/auth/cloud-platform",
5978	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5979	//   ]
5980	// }
5981
5982}
5983
5984// method id "appengine.apps.domainMappings.list":
5985
5986type AppsDomainMappingsListCall struct {
5987	s            *APIService
5988	appsId       string
5989	urlParams_   gensupport.URLParams
5990	ifNoneMatch_ string
5991	ctx_         context.Context
5992	header_      http.Header
5993}
5994
5995// List: Lists the domain mappings on an application.
5996//
5997// - appsId: Part of `parent`. Name of the parent Application resource.
5998//   Example: apps/myapp.
5999func (r *AppsDomainMappingsService) List(appsId string) *AppsDomainMappingsListCall {
6000	c := &AppsDomainMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6001	c.appsId = appsId
6002	return c
6003}
6004
6005// PageSize sets the optional parameter "pageSize": Maximum results to
6006// return per page.
6007func (c *AppsDomainMappingsListCall) PageSize(pageSize int64) *AppsDomainMappingsListCall {
6008	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6009	return c
6010}
6011
6012// PageToken sets the optional parameter "pageToken": Continuation token
6013// for fetching the next page of results.
6014func (c *AppsDomainMappingsListCall) PageToken(pageToken string) *AppsDomainMappingsListCall {
6015	c.urlParams_.Set("pageToken", pageToken)
6016	return c
6017}
6018
6019// Fields allows partial responses to be retrieved. See
6020// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6021// for more information.
6022func (c *AppsDomainMappingsListCall) Fields(s ...googleapi.Field) *AppsDomainMappingsListCall {
6023	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6024	return c
6025}
6026
6027// IfNoneMatch sets the optional parameter which makes the operation
6028// fail if the object's ETag matches the given value. This is useful for
6029// getting updates only after the object has changed since the last
6030// request. Use googleapi.IsNotModified to check whether the response
6031// error from Do is the result of In-None-Match.
6032func (c *AppsDomainMappingsListCall) IfNoneMatch(entityTag string) *AppsDomainMappingsListCall {
6033	c.ifNoneMatch_ = entityTag
6034	return c
6035}
6036
6037// Context sets the context to be used in this call's Do method. Any
6038// pending HTTP request will be aborted if the provided context is
6039// canceled.
6040func (c *AppsDomainMappingsListCall) Context(ctx context.Context) *AppsDomainMappingsListCall {
6041	c.ctx_ = ctx
6042	return c
6043}
6044
6045// Header returns an http.Header that can be modified by the caller to
6046// add HTTP headers to the request.
6047func (c *AppsDomainMappingsListCall) Header() http.Header {
6048	if c.header_ == nil {
6049		c.header_ = make(http.Header)
6050	}
6051	return c.header_
6052}
6053
6054func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) {
6055	reqHeaders := make(http.Header)
6056	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6057	for k, v := range c.header_ {
6058		reqHeaders[k] = v
6059	}
6060	reqHeaders.Set("User-Agent", c.s.userAgent())
6061	if c.ifNoneMatch_ != "" {
6062		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6063	}
6064	var body io.Reader = nil
6065	c.urlParams_.Set("alt", alt)
6066	c.urlParams_.Set("prettyPrint", "false")
6067	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings")
6068	urls += "?" + c.urlParams_.Encode()
6069	req, err := http.NewRequest("GET", urls, body)
6070	if err != nil {
6071		return nil, err
6072	}
6073	req.Header = reqHeaders
6074	googleapi.Expand(req.URL, map[string]string{
6075		"appsId": c.appsId,
6076	})
6077	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6078}
6079
6080// Do executes the "appengine.apps.domainMappings.list" call.
6081// Exactly one of *ListDomainMappingsResponse or error will be non-nil.
6082// Any non-2xx status code is an error. Response headers are in either
6083// *ListDomainMappingsResponse.ServerResponse.Header or (if a response
6084// was returned at all) in error.(*googleapi.Error).Header. Use
6085// googleapi.IsNotModified to check whether the returned error was
6086// because http.StatusNotModified was returned.
6087func (c *AppsDomainMappingsListCall) Do(opts ...googleapi.CallOption) (*ListDomainMappingsResponse, error) {
6088	gensupport.SetOptions(c.urlParams_, opts...)
6089	res, err := c.doRequest("json")
6090	if res != nil && res.StatusCode == http.StatusNotModified {
6091		if res.Body != nil {
6092			res.Body.Close()
6093		}
6094		return nil, &googleapi.Error{
6095			Code:   res.StatusCode,
6096			Header: res.Header,
6097		}
6098	}
6099	if err != nil {
6100		return nil, err
6101	}
6102	defer googleapi.CloseBody(res)
6103	if err := googleapi.CheckResponse(res); err != nil {
6104		return nil, err
6105	}
6106	ret := &ListDomainMappingsResponse{
6107		ServerResponse: googleapi.ServerResponse{
6108			Header:         res.Header,
6109			HTTPStatusCode: res.StatusCode,
6110		},
6111	}
6112	target := &ret
6113	if err := gensupport.DecodeResponse(target, res); err != nil {
6114		return nil, err
6115	}
6116	return ret, nil
6117	// {
6118	//   "description": "Lists the domain mappings on an application.",
6119	//   "flatPath": "v1beta/apps/{appsId}/domainMappings",
6120	//   "httpMethod": "GET",
6121	//   "id": "appengine.apps.domainMappings.list",
6122	//   "parameterOrder": [
6123	//     "appsId"
6124	//   ],
6125	//   "parameters": {
6126	//     "appsId": {
6127	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
6128	//       "location": "path",
6129	//       "required": true,
6130	//       "type": "string"
6131	//     },
6132	//     "pageSize": {
6133	//       "description": "Maximum results to return per page.",
6134	//       "format": "int32",
6135	//       "location": "query",
6136	//       "type": "integer"
6137	//     },
6138	//     "pageToken": {
6139	//       "description": "Continuation token for fetching the next page of results.",
6140	//       "location": "query",
6141	//       "type": "string"
6142	//     }
6143	//   },
6144	//   "path": "v1beta/apps/{appsId}/domainMappings",
6145	//   "response": {
6146	//     "$ref": "ListDomainMappingsResponse"
6147	//   },
6148	//   "scopes": [
6149	//     "https://www.googleapis.com/auth/appengine.admin",
6150	//     "https://www.googleapis.com/auth/cloud-platform",
6151	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
6152	//   ]
6153	// }
6154
6155}
6156
6157// Pages invokes f for each page of results.
6158// A non-nil error returned from f will halt the iteration.
6159// The provided context supersedes any context provided to the Context method.
6160func (c *AppsDomainMappingsListCall) Pages(ctx context.Context, f func(*ListDomainMappingsResponse) error) error {
6161	c.ctx_ = ctx
6162	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6163	for {
6164		x, err := c.Do()
6165		if err != nil {
6166			return err
6167		}
6168		if err := f(x); err != nil {
6169			return err
6170		}
6171		if x.NextPageToken == "" {
6172			return nil
6173		}
6174		c.PageToken(x.NextPageToken)
6175	}
6176}
6177
6178// method id "appengine.apps.domainMappings.patch":
6179
6180type AppsDomainMappingsPatchCall struct {
6181	s                *APIService
6182	appsId           string
6183	domainMappingsId string
6184	domainmapping    *DomainMapping
6185	urlParams_       gensupport.URLParams
6186	ctx_             context.Context
6187	header_          http.Header
6188}
6189
6190// Patch: Updates the specified domain mapping. To map an SSL
6191// certificate to a domain mapping, update certificate_id to point to an
6192// AuthorizedCertificate resource. A user must be authorized to
6193// administer the associated domain in order to update a DomainMapping
6194// resource.
6195//
6196// - appsId: Part of `name`. Name of the resource to update. Example:
6197//   apps/myapp/domainMappings/example.com.
6198// - domainMappingsId: Part of `name`. See documentation of `appsId`.
6199func (r *AppsDomainMappingsService) Patch(appsId string, domainMappingsId string, domainmapping *DomainMapping) *AppsDomainMappingsPatchCall {
6200	c := &AppsDomainMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6201	c.appsId = appsId
6202	c.domainMappingsId = domainMappingsId
6203	c.domainmapping = domainmapping
6204	return c
6205}
6206
6207// UpdateMask sets the optional parameter "updateMask": Standard field
6208// mask for the set of fields to be updated.
6209func (c *AppsDomainMappingsPatchCall) UpdateMask(updateMask string) *AppsDomainMappingsPatchCall {
6210	c.urlParams_.Set("updateMask", updateMask)
6211	return c
6212}
6213
6214// Fields allows partial responses to be retrieved. See
6215// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6216// for more information.
6217func (c *AppsDomainMappingsPatchCall) Fields(s ...googleapi.Field) *AppsDomainMappingsPatchCall {
6218	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6219	return c
6220}
6221
6222// Context sets the context to be used in this call's Do method. Any
6223// pending HTTP request will be aborted if the provided context is
6224// canceled.
6225func (c *AppsDomainMappingsPatchCall) Context(ctx context.Context) *AppsDomainMappingsPatchCall {
6226	c.ctx_ = ctx
6227	return c
6228}
6229
6230// Header returns an http.Header that can be modified by the caller to
6231// add HTTP headers to the request.
6232func (c *AppsDomainMappingsPatchCall) Header() http.Header {
6233	if c.header_ == nil {
6234		c.header_ = make(http.Header)
6235	}
6236	return c.header_
6237}
6238
6239func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
6240	reqHeaders := make(http.Header)
6241	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6242	for k, v := range c.header_ {
6243		reqHeaders[k] = v
6244	}
6245	reqHeaders.Set("User-Agent", c.s.userAgent())
6246	var body io.Reader = nil
6247	body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping)
6248	if err != nil {
6249		return nil, err
6250	}
6251	reqHeaders.Set("Content-Type", "application/json")
6252	c.urlParams_.Set("alt", alt)
6253	c.urlParams_.Set("prettyPrint", "false")
6254	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}")
6255	urls += "?" + c.urlParams_.Encode()
6256	req, err := http.NewRequest("PATCH", urls, body)
6257	if err != nil {
6258		return nil, err
6259	}
6260	req.Header = reqHeaders
6261	googleapi.Expand(req.URL, map[string]string{
6262		"appsId":           c.appsId,
6263		"domainMappingsId": c.domainMappingsId,
6264	})
6265	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6266}
6267
6268// Do executes the "appengine.apps.domainMappings.patch" call.
6269// Exactly one of *Operation or error will be non-nil. Any non-2xx
6270// status code is an error. Response headers are in either
6271// *Operation.ServerResponse.Header or (if a response was returned at
6272// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6273// to check whether the returned error was because
6274// http.StatusNotModified was returned.
6275func (c *AppsDomainMappingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6276	gensupport.SetOptions(c.urlParams_, opts...)
6277	res, err := c.doRequest("json")
6278	if res != nil && res.StatusCode == http.StatusNotModified {
6279		if res.Body != nil {
6280			res.Body.Close()
6281		}
6282		return nil, &googleapi.Error{
6283			Code:   res.StatusCode,
6284			Header: res.Header,
6285		}
6286	}
6287	if err != nil {
6288		return nil, err
6289	}
6290	defer googleapi.CloseBody(res)
6291	if err := googleapi.CheckResponse(res); err != nil {
6292		return nil, err
6293	}
6294	ret := &Operation{
6295		ServerResponse: googleapi.ServerResponse{
6296			Header:         res.Header,
6297			HTTPStatusCode: res.StatusCode,
6298		},
6299	}
6300	target := &ret
6301	if err := gensupport.DecodeResponse(target, res); err != nil {
6302		return nil, err
6303	}
6304	return ret, nil
6305	// {
6306	//   "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.",
6307	//   "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
6308	//   "httpMethod": "PATCH",
6309	//   "id": "appengine.apps.domainMappings.patch",
6310	//   "parameterOrder": [
6311	//     "appsId",
6312	//     "domainMappingsId"
6313	//   ],
6314	//   "parameters": {
6315	//     "appsId": {
6316	//       "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.",
6317	//       "location": "path",
6318	//       "required": true,
6319	//       "type": "string"
6320	//     },
6321	//     "domainMappingsId": {
6322	//       "description": "Part of `name`. See documentation of `appsId`.",
6323	//       "location": "path",
6324	//       "required": true,
6325	//       "type": "string"
6326	//     },
6327	//     "updateMask": {
6328	//       "description": "Standard field mask for the set of fields to be updated.",
6329	//       "format": "google-fieldmask",
6330	//       "location": "query",
6331	//       "type": "string"
6332	//     }
6333	//   },
6334	//   "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}",
6335	//   "request": {
6336	//     "$ref": "DomainMapping"
6337	//   },
6338	//   "response": {
6339	//     "$ref": "Operation"
6340	//   },
6341	//   "scopes": [
6342	//     "https://www.googleapis.com/auth/cloud-platform"
6343	//   ]
6344	// }
6345
6346}
6347
6348// method id "appengine.apps.firewall.ingressRules.batchUpdate":
6349
6350type AppsFirewallIngressRulesBatchUpdateCall struct {
6351	s                              *APIService
6352	appsId                         string
6353	batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest
6354	urlParams_                     gensupport.URLParams
6355	ctx_                           context.Context
6356	header_                        http.Header
6357}
6358
6359// BatchUpdate: Replaces the entire firewall ruleset in one bulk
6360// operation. This overrides and replaces the rules of an existing
6361// firewall with the new rules.If the final rule does not match traffic
6362// with the '*' wildcard IP range, then an "allow all" rule is
6363// explicitly added to the end of the list.
6364//
6365// - appsId: Part of `name`. Name of the Firewall collection to set.
6366//   Example: apps/myapp/firewall/ingressRules.
6367func (r *AppsFirewallIngressRulesService) BatchUpdate(appsId string, batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest) *AppsFirewallIngressRulesBatchUpdateCall {
6368	c := &AppsFirewallIngressRulesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6369	c.appsId = appsId
6370	c.batchupdateingressrulesrequest = batchupdateingressrulesrequest
6371	return c
6372}
6373
6374// Fields allows partial responses to be retrieved. See
6375// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6376// for more information.
6377func (c *AppsFirewallIngressRulesBatchUpdateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesBatchUpdateCall {
6378	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6379	return c
6380}
6381
6382// Context sets the context to be used in this call's Do method. Any
6383// pending HTTP request will be aborted if the provided context is
6384// canceled.
6385func (c *AppsFirewallIngressRulesBatchUpdateCall) Context(ctx context.Context) *AppsFirewallIngressRulesBatchUpdateCall {
6386	c.ctx_ = ctx
6387	return c
6388}
6389
6390// Header returns an http.Header that can be modified by the caller to
6391// add HTTP headers to the request.
6392func (c *AppsFirewallIngressRulesBatchUpdateCall) Header() http.Header {
6393	if c.header_ == nil {
6394		c.header_ = make(http.Header)
6395	}
6396	return c.header_
6397}
6398
6399func (c *AppsFirewallIngressRulesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
6400	reqHeaders := make(http.Header)
6401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6402	for k, v := range c.header_ {
6403		reqHeaders[k] = v
6404	}
6405	reqHeaders.Set("User-Agent", c.s.userAgent())
6406	var body io.Reader = nil
6407	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdateingressrulesrequest)
6408	if err != nil {
6409		return nil, err
6410	}
6411	reqHeaders.Set("Content-Type", "application/json")
6412	c.urlParams_.Set("alt", alt)
6413	c.urlParams_.Set("prettyPrint", "false")
6414	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate")
6415	urls += "?" + c.urlParams_.Encode()
6416	req, err := http.NewRequest("POST", urls, body)
6417	if err != nil {
6418		return nil, err
6419	}
6420	req.Header = reqHeaders
6421	googleapi.Expand(req.URL, map[string]string{
6422		"appsId": c.appsId,
6423	})
6424	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6425}
6426
6427// Do executes the "appengine.apps.firewall.ingressRules.batchUpdate" call.
6428// Exactly one of *BatchUpdateIngressRulesResponse or error will be
6429// non-nil. Any non-2xx status code is an error. Response headers are in
6430// either *BatchUpdateIngressRulesResponse.ServerResponse.Header or (if
6431// a response was returned at all) in error.(*googleapi.Error).Header.
6432// Use googleapi.IsNotModified to check whether the returned error was
6433// because http.StatusNotModified was returned.
6434func (c *AppsFirewallIngressRulesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateIngressRulesResponse, error) {
6435	gensupport.SetOptions(c.urlParams_, opts...)
6436	res, err := c.doRequest("json")
6437	if res != nil && res.StatusCode == http.StatusNotModified {
6438		if res.Body != nil {
6439			res.Body.Close()
6440		}
6441		return nil, &googleapi.Error{
6442			Code:   res.StatusCode,
6443			Header: res.Header,
6444		}
6445	}
6446	if err != nil {
6447		return nil, err
6448	}
6449	defer googleapi.CloseBody(res)
6450	if err := googleapi.CheckResponse(res); err != nil {
6451		return nil, err
6452	}
6453	ret := &BatchUpdateIngressRulesResponse{
6454		ServerResponse: googleapi.ServerResponse{
6455			Header:         res.Header,
6456			HTTPStatusCode: res.StatusCode,
6457		},
6458	}
6459	target := &ret
6460	if err := gensupport.DecodeResponse(target, res); err != nil {
6461		return nil, err
6462	}
6463	return ret, nil
6464	// {
6465	//   "description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.",
6466	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate",
6467	//   "httpMethod": "POST",
6468	//   "id": "appengine.apps.firewall.ingressRules.batchUpdate",
6469	//   "parameterOrder": [
6470	//     "appsId"
6471	//   ],
6472	//   "parameters": {
6473	//     "appsId": {
6474	//       "description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.",
6475	//       "location": "path",
6476	//       "required": true,
6477	//       "type": "string"
6478	//     }
6479	//   },
6480	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate",
6481	//   "request": {
6482	//     "$ref": "BatchUpdateIngressRulesRequest"
6483	//   },
6484	//   "response": {
6485	//     "$ref": "BatchUpdateIngressRulesResponse"
6486	//   },
6487	//   "scopes": [
6488	//     "https://www.googleapis.com/auth/cloud-platform"
6489	//   ]
6490	// }
6491
6492}
6493
6494// method id "appengine.apps.firewall.ingressRules.create":
6495
6496type AppsFirewallIngressRulesCreateCall struct {
6497	s            *APIService
6498	appsId       string
6499	firewallrule *FirewallRule
6500	urlParams_   gensupport.URLParams
6501	ctx_         context.Context
6502	header_      http.Header
6503}
6504
6505// Create: Creates a firewall rule for the application.
6506//
6507// - appsId: Part of `parent`. Name of the parent Firewall collection in
6508//   which to create a new rule. Example:
6509//   apps/myapp/firewall/ingressRules.
6510func (r *AppsFirewallIngressRulesService) Create(appsId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesCreateCall {
6511	c := &AppsFirewallIngressRulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6512	c.appsId = appsId
6513	c.firewallrule = firewallrule
6514	return c
6515}
6516
6517// Fields allows partial responses to be retrieved. See
6518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6519// for more information.
6520func (c *AppsFirewallIngressRulesCreateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesCreateCall {
6521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6522	return c
6523}
6524
6525// Context sets the context to be used in this call's Do method. Any
6526// pending HTTP request will be aborted if the provided context is
6527// canceled.
6528func (c *AppsFirewallIngressRulesCreateCall) Context(ctx context.Context) *AppsFirewallIngressRulesCreateCall {
6529	c.ctx_ = ctx
6530	return c
6531}
6532
6533// Header returns an http.Header that can be modified by the caller to
6534// add HTTP headers to the request.
6535func (c *AppsFirewallIngressRulesCreateCall) Header() http.Header {
6536	if c.header_ == nil {
6537		c.header_ = make(http.Header)
6538	}
6539	return c.header_
6540}
6541
6542func (c *AppsFirewallIngressRulesCreateCall) doRequest(alt string) (*http.Response, error) {
6543	reqHeaders := make(http.Header)
6544	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6545	for k, v := range c.header_ {
6546		reqHeaders[k] = v
6547	}
6548	reqHeaders.Set("User-Agent", c.s.userAgent())
6549	var body io.Reader = nil
6550	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule)
6551	if err != nil {
6552		return nil, err
6553	}
6554	reqHeaders.Set("Content-Type", "application/json")
6555	c.urlParams_.Set("alt", alt)
6556	c.urlParams_.Set("prettyPrint", "false")
6557	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules")
6558	urls += "?" + c.urlParams_.Encode()
6559	req, err := http.NewRequest("POST", urls, body)
6560	if err != nil {
6561		return nil, err
6562	}
6563	req.Header = reqHeaders
6564	googleapi.Expand(req.URL, map[string]string{
6565		"appsId": c.appsId,
6566	})
6567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6568}
6569
6570// Do executes the "appengine.apps.firewall.ingressRules.create" call.
6571// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx
6572// status code is an error. Response headers are in either
6573// *FirewallRule.ServerResponse.Header or (if a response was returned at
6574// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6575// to check whether the returned error was because
6576// http.StatusNotModified was returned.
6577func (c *AppsFirewallIngressRulesCreateCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
6578	gensupport.SetOptions(c.urlParams_, opts...)
6579	res, err := c.doRequest("json")
6580	if res != nil && res.StatusCode == http.StatusNotModified {
6581		if res.Body != nil {
6582			res.Body.Close()
6583		}
6584		return nil, &googleapi.Error{
6585			Code:   res.StatusCode,
6586			Header: res.Header,
6587		}
6588	}
6589	if err != nil {
6590		return nil, err
6591	}
6592	defer googleapi.CloseBody(res)
6593	if err := googleapi.CheckResponse(res); err != nil {
6594		return nil, err
6595	}
6596	ret := &FirewallRule{
6597		ServerResponse: googleapi.ServerResponse{
6598			Header:         res.Header,
6599			HTTPStatusCode: res.StatusCode,
6600		},
6601	}
6602	target := &ret
6603	if err := gensupport.DecodeResponse(target, res); err != nil {
6604		return nil, err
6605	}
6606	return ret, nil
6607	// {
6608	//   "description": "Creates a firewall rule for the application.",
6609	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules",
6610	//   "httpMethod": "POST",
6611	//   "id": "appengine.apps.firewall.ingressRules.create",
6612	//   "parameterOrder": [
6613	//     "appsId"
6614	//   ],
6615	//   "parameters": {
6616	//     "appsId": {
6617	//       "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.",
6618	//       "location": "path",
6619	//       "required": true,
6620	//       "type": "string"
6621	//     }
6622	//   },
6623	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules",
6624	//   "request": {
6625	//     "$ref": "FirewallRule"
6626	//   },
6627	//   "response": {
6628	//     "$ref": "FirewallRule"
6629	//   },
6630	//   "scopes": [
6631	//     "https://www.googleapis.com/auth/cloud-platform"
6632	//   ]
6633	// }
6634
6635}
6636
6637// method id "appengine.apps.firewall.ingressRules.delete":
6638
6639type AppsFirewallIngressRulesDeleteCall struct {
6640	s              *APIService
6641	appsId         string
6642	ingressRulesId string
6643	urlParams_     gensupport.URLParams
6644	ctx_           context.Context
6645	header_        http.Header
6646}
6647
6648// Delete: Deletes the specified firewall rule.
6649//
6650// - appsId: Part of `name`. Name of the Firewall resource to delete.
6651//   Example: apps/myapp/firewall/ingressRules/100.
6652// - ingressRulesId: Part of `name`. See documentation of `appsId`.
6653func (r *AppsFirewallIngressRulesService) Delete(appsId string, ingressRulesId string) *AppsFirewallIngressRulesDeleteCall {
6654	c := &AppsFirewallIngressRulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6655	c.appsId = appsId
6656	c.ingressRulesId = ingressRulesId
6657	return c
6658}
6659
6660// Fields allows partial responses to be retrieved. See
6661// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6662// for more information.
6663func (c *AppsFirewallIngressRulesDeleteCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesDeleteCall {
6664	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6665	return c
6666}
6667
6668// Context sets the context to be used in this call's Do method. Any
6669// pending HTTP request will be aborted if the provided context is
6670// canceled.
6671func (c *AppsFirewallIngressRulesDeleteCall) Context(ctx context.Context) *AppsFirewallIngressRulesDeleteCall {
6672	c.ctx_ = ctx
6673	return c
6674}
6675
6676// Header returns an http.Header that can be modified by the caller to
6677// add HTTP headers to the request.
6678func (c *AppsFirewallIngressRulesDeleteCall) Header() http.Header {
6679	if c.header_ == nil {
6680		c.header_ = make(http.Header)
6681	}
6682	return c.header_
6683}
6684
6685func (c *AppsFirewallIngressRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
6686	reqHeaders := make(http.Header)
6687	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6688	for k, v := range c.header_ {
6689		reqHeaders[k] = v
6690	}
6691	reqHeaders.Set("User-Agent", c.s.userAgent())
6692	var body io.Reader = nil
6693	c.urlParams_.Set("alt", alt)
6694	c.urlParams_.Set("prettyPrint", "false")
6695	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
6696	urls += "?" + c.urlParams_.Encode()
6697	req, err := http.NewRequest("DELETE", urls, body)
6698	if err != nil {
6699		return nil, err
6700	}
6701	req.Header = reqHeaders
6702	googleapi.Expand(req.URL, map[string]string{
6703		"appsId":         c.appsId,
6704		"ingressRulesId": c.ingressRulesId,
6705	})
6706	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6707}
6708
6709// Do executes the "appengine.apps.firewall.ingressRules.delete" call.
6710// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6711// code is an error. Response headers are in either
6712// *Empty.ServerResponse.Header or (if a response was returned at all)
6713// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6714// check whether the returned error was because http.StatusNotModified
6715// was returned.
6716func (c *AppsFirewallIngressRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6717	gensupport.SetOptions(c.urlParams_, opts...)
6718	res, err := c.doRequest("json")
6719	if res != nil && res.StatusCode == http.StatusNotModified {
6720		if res.Body != nil {
6721			res.Body.Close()
6722		}
6723		return nil, &googleapi.Error{
6724			Code:   res.StatusCode,
6725			Header: res.Header,
6726		}
6727	}
6728	if err != nil {
6729		return nil, err
6730	}
6731	defer googleapi.CloseBody(res)
6732	if err := googleapi.CheckResponse(res); err != nil {
6733		return nil, err
6734	}
6735	ret := &Empty{
6736		ServerResponse: googleapi.ServerResponse{
6737			Header:         res.Header,
6738			HTTPStatusCode: res.StatusCode,
6739		},
6740	}
6741	target := &ret
6742	if err := gensupport.DecodeResponse(target, res); err != nil {
6743		return nil, err
6744	}
6745	return ret, nil
6746	// {
6747	//   "description": "Deletes the specified firewall rule.",
6748	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
6749	//   "httpMethod": "DELETE",
6750	//   "id": "appengine.apps.firewall.ingressRules.delete",
6751	//   "parameterOrder": [
6752	//     "appsId",
6753	//     "ingressRulesId"
6754	//   ],
6755	//   "parameters": {
6756	//     "appsId": {
6757	//       "description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.",
6758	//       "location": "path",
6759	//       "required": true,
6760	//       "type": "string"
6761	//     },
6762	//     "ingressRulesId": {
6763	//       "description": "Part of `name`. See documentation of `appsId`.",
6764	//       "location": "path",
6765	//       "required": true,
6766	//       "type": "string"
6767	//     }
6768	//   },
6769	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
6770	//   "response": {
6771	//     "$ref": "Empty"
6772	//   },
6773	//   "scopes": [
6774	//     "https://www.googleapis.com/auth/cloud-platform"
6775	//   ]
6776	// }
6777
6778}
6779
6780// method id "appengine.apps.firewall.ingressRules.get":
6781
6782type AppsFirewallIngressRulesGetCall struct {
6783	s              *APIService
6784	appsId         string
6785	ingressRulesId string
6786	urlParams_     gensupport.URLParams
6787	ifNoneMatch_   string
6788	ctx_           context.Context
6789	header_        http.Header
6790}
6791
6792// Get: Gets the specified firewall rule.
6793//
6794// - appsId: Part of `name`. Name of the Firewall resource to retrieve.
6795//   Example: apps/myapp/firewall/ingressRules/100.
6796// - ingressRulesId: Part of `name`. See documentation of `appsId`.
6797func (r *AppsFirewallIngressRulesService) Get(appsId string, ingressRulesId string) *AppsFirewallIngressRulesGetCall {
6798	c := &AppsFirewallIngressRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6799	c.appsId = appsId
6800	c.ingressRulesId = ingressRulesId
6801	return c
6802}
6803
6804// Fields allows partial responses to be retrieved. See
6805// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6806// for more information.
6807func (c *AppsFirewallIngressRulesGetCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesGetCall {
6808	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6809	return c
6810}
6811
6812// IfNoneMatch sets the optional parameter which makes the operation
6813// fail if the object's ETag matches the given value. This is useful for
6814// getting updates only after the object has changed since the last
6815// request. Use googleapi.IsNotModified to check whether the response
6816// error from Do is the result of In-None-Match.
6817func (c *AppsFirewallIngressRulesGetCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesGetCall {
6818	c.ifNoneMatch_ = entityTag
6819	return c
6820}
6821
6822// Context sets the context to be used in this call's Do method. Any
6823// pending HTTP request will be aborted if the provided context is
6824// canceled.
6825func (c *AppsFirewallIngressRulesGetCall) Context(ctx context.Context) *AppsFirewallIngressRulesGetCall {
6826	c.ctx_ = ctx
6827	return c
6828}
6829
6830// Header returns an http.Header that can be modified by the caller to
6831// add HTTP headers to the request.
6832func (c *AppsFirewallIngressRulesGetCall) Header() http.Header {
6833	if c.header_ == nil {
6834		c.header_ = make(http.Header)
6835	}
6836	return c.header_
6837}
6838
6839func (c *AppsFirewallIngressRulesGetCall) doRequest(alt string) (*http.Response, error) {
6840	reqHeaders := make(http.Header)
6841	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6842	for k, v := range c.header_ {
6843		reqHeaders[k] = v
6844	}
6845	reqHeaders.Set("User-Agent", c.s.userAgent())
6846	if c.ifNoneMatch_ != "" {
6847		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6848	}
6849	var body io.Reader = nil
6850	c.urlParams_.Set("alt", alt)
6851	c.urlParams_.Set("prettyPrint", "false")
6852	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
6853	urls += "?" + c.urlParams_.Encode()
6854	req, err := http.NewRequest("GET", urls, body)
6855	if err != nil {
6856		return nil, err
6857	}
6858	req.Header = reqHeaders
6859	googleapi.Expand(req.URL, map[string]string{
6860		"appsId":         c.appsId,
6861		"ingressRulesId": c.ingressRulesId,
6862	})
6863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6864}
6865
6866// Do executes the "appengine.apps.firewall.ingressRules.get" call.
6867// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx
6868// status code is an error. Response headers are in either
6869// *FirewallRule.ServerResponse.Header or (if a response was returned at
6870// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6871// to check whether the returned error was because
6872// http.StatusNotModified was returned.
6873func (c *AppsFirewallIngressRulesGetCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
6874	gensupport.SetOptions(c.urlParams_, opts...)
6875	res, err := c.doRequest("json")
6876	if res != nil && res.StatusCode == http.StatusNotModified {
6877		if res.Body != nil {
6878			res.Body.Close()
6879		}
6880		return nil, &googleapi.Error{
6881			Code:   res.StatusCode,
6882			Header: res.Header,
6883		}
6884	}
6885	if err != nil {
6886		return nil, err
6887	}
6888	defer googleapi.CloseBody(res)
6889	if err := googleapi.CheckResponse(res); err != nil {
6890		return nil, err
6891	}
6892	ret := &FirewallRule{
6893		ServerResponse: googleapi.ServerResponse{
6894			Header:         res.Header,
6895			HTTPStatusCode: res.StatusCode,
6896		},
6897	}
6898	target := &ret
6899	if err := gensupport.DecodeResponse(target, res); err != nil {
6900		return nil, err
6901	}
6902	return ret, nil
6903	// {
6904	//   "description": "Gets the specified firewall rule.",
6905	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
6906	//   "httpMethod": "GET",
6907	//   "id": "appengine.apps.firewall.ingressRules.get",
6908	//   "parameterOrder": [
6909	//     "appsId",
6910	//     "ingressRulesId"
6911	//   ],
6912	//   "parameters": {
6913	//     "appsId": {
6914	//       "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.",
6915	//       "location": "path",
6916	//       "required": true,
6917	//       "type": "string"
6918	//     },
6919	//     "ingressRulesId": {
6920	//       "description": "Part of `name`. See documentation of `appsId`.",
6921	//       "location": "path",
6922	//       "required": true,
6923	//       "type": "string"
6924	//     }
6925	//   },
6926	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
6927	//   "response": {
6928	//     "$ref": "FirewallRule"
6929	//   },
6930	//   "scopes": [
6931	//     "https://www.googleapis.com/auth/appengine.admin",
6932	//     "https://www.googleapis.com/auth/cloud-platform",
6933	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
6934	//   ]
6935	// }
6936
6937}
6938
6939// method id "appengine.apps.firewall.ingressRules.list":
6940
6941type AppsFirewallIngressRulesListCall struct {
6942	s            *APIService
6943	appsId       string
6944	urlParams_   gensupport.URLParams
6945	ifNoneMatch_ string
6946	ctx_         context.Context
6947	header_      http.Header
6948}
6949
6950// List: Lists the firewall rules of an application.
6951//
6952// - appsId: Part of `parent`. Name of the Firewall collection to
6953//   retrieve. Example: apps/myapp/firewall/ingressRules.
6954func (r *AppsFirewallIngressRulesService) List(appsId string) *AppsFirewallIngressRulesListCall {
6955	c := &AppsFirewallIngressRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6956	c.appsId = appsId
6957	return c
6958}
6959
6960// MatchingAddress sets the optional parameter "matchingAddress": A
6961// valid IP Address. If set, only rules matching this address will be
6962// returned. The first returned rule will be the rule that fires on
6963// requests from this IP.
6964func (c *AppsFirewallIngressRulesListCall) MatchingAddress(matchingAddress string) *AppsFirewallIngressRulesListCall {
6965	c.urlParams_.Set("matchingAddress", matchingAddress)
6966	return c
6967}
6968
6969// PageSize sets the optional parameter "pageSize": Maximum results to
6970// return per page.
6971func (c *AppsFirewallIngressRulesListCall) PageSize(pageSize int64) *AppsFirewallIngressRulesListCall {
6972	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6973	return c
6974}
6975
6976// PageToken sets the optional parameter "pageToken": Continuation token
6977// for fetching the next page of results.
6978func (c *AppsFirewallIngressRulesListCall) PageToken(pageToken string) *AppsFirewallIngressRulesListCall {
6979	c.urlParams_.Set("pageToken", pageToken)
6980	return c
6981}
6982
6983// Fields allows partial responses to be retrieved. See
6984// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6985// for more information.
6986func (c *AppsFirewallIngressRulesListCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesListCall {
6987	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6988	return c
6989}
6990
6991// IfNoneMatch sets the optional parameter which makes the operation
6992// fail if the object's ETag matches the given value. This is useful for
6993// getting updates only after the object has changed since the last
6994// request. Use googleapi.IsNotModified to check whether the response
6995// error from Do is the result of In-None-Match.
6996func (c *AppsFirewallIngressRulesListCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesListCall {
6997	c.ifNoneMatch_ = entityTag
6998	return c
6999}
7000
7001// Context sets the context to be used in this call's Do method. Any
7002// pending HTTP request will be aborted if the provided context is
7003// canceled.
7004func (c *AppsFirewallIngressRulesListCall) Context(ctx context.Context) *AppsFirewallIngressRulesListCall {
7005	c.ctx_ = ctx
7006	return c
7007}
7008
7009// Header returns an http.Header that can be modified by the caller to
7010// add HTTP headers to the request.
7011func (c *AppsFirewallIngressRulesListCall) Header() http.Header {
7012	if c.header_ == nil {
7013		c.header_ = make(http.Header)
7014	}
7015	return c.header_
7016}
7017
7018func (c *AppsFirewallIngressRulesListCall) doRequest(alt string) (*http.Response, error) {
7019	reqHeaders := make(http.Header)
7020	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7021	for k, v := range c.header_ {
7022		reqHeaders[k] = v
7023	}
7024	reqHeaders.Set("User-Agent", c.s.userAgent())
7025	if c.ifNoneMatch_ != "" {
7026		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7027	}
7028	var body io.Reader = nil
7029	c.urlParams_.Set("alt", alt)
7030	c.urlParams_.Set("prettyPrint", "false")
7031	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules")
7032	urls += "?" + c.urlParams_.Encode()
7033	req, err := http.NewRequest("GET", urls, body)
7034	if err != nil {
7035		return nil, err
7036	}
7037	req.Header = reqHeaders
7038	googleapi.Expand(req.URL, map[string]string{
7039		"appsId": c.appsId,
7040	})
7041	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7042}
7043
7044// Do executes the "appengine.apps.firewall.ingressRules.list" call.
7045// Exactly one of *ListIngressRulesResponse or error will be non-nil.
7046// Any non-2xx status code is an error. Response headers are in either
7047// *ListIngressRulesResponse.ServerResponse.Header or (if a response was
7048// returned at all) in error.(*googleapi.Error).Header. Use
7049// googleapi.IsNotModified to check whether the returned error was
7050// because http.StatusNotModified was returned.
7051func (c *AppsFirewallIngressRulesListCall) Do(opts ...googleapi.CallOption) (*ListIngressRulesResponse, error) {
7052	gensupport.SetOptions(c.urlParams_, opts...)
7053	res, err := c.doRequest("json")
7054	if res != nil && res.StatusCode == http.StatusNotModified {
7055		if res.Body != nil {
7056			res.Body.Close()
7057		}
7058		return nil, &googleapi.Error{
7059			Code:   res.StatusCode,
7060			Header: res.Header,
7061		}
7062	}
7063	if err != nil {
7064		return nil, err
7065	}
7066	defer googleapi.CloseBody(res)
7067	if err := googleapi.CheckResponse(res); err != nil {
7068		return nil, err
7069	}
7070	ret := &ListIngressRulesResponse{
7071		ServerResponse: googleapi.ServerResponse{
7072			Header:         res.Header,
7073			HTTPStatusCode: res.StatusCode,
7074		},
7075	}
7076	target := &ret
7077	if err := gensupport.DecodeResponse(target, res); err != nil {
7078		return nil, err
7079	}
7080	return ret, nil
7081	// {
7082	//   "description": "Lists the firewall rules of an application.",
7083	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules",
7084	//   "httpMethod": "GET",
7085	//   "id": "appengine.apps.firewall.ingressRules.list",
7086	//   "parameterOrder": [
7087	//     "appsId"
7088	//   ],
7089	//   "parameters": {
7090	//     "appsId": {
7091	//       "description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.",
7092	//       "location": "path",
7093	//       "required": true,
7094	//       "type": "string"
7095	//     },
7096	//     "matchingAddress": {
7097	//       "description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.",
7098	//       "location": "query",
7099	//       "type": "string"
7100	//     },
7101	//     "pageSize": {
7102	//       "description": "Maximum results to return per page.",
7103	//       "format": "int32",
7104	//       "location": "query",
7105	//       "type": "integer"
7106	//     },
7107	//     "pageToken": {
7108	//       "description": "Continuation token for fetching the next page of results.",
7109	//       "location": "query",
7110	//       "type": "string"
7111	//     }
7112	//   },
7113	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules",
7114	//   "response": {
7115	//     "$ref": "ListIngressRulesResponse"
7116	//   },
7117	//   "scopes": [
7118	//     "https://www.googleapis.com/auth/appengine.admin",
7119	//     "https://www.googleapis.com/auth/cloud-platform",
7120	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
7121	//   ]
7122	// }
7123
7124}
7125
7126// Pages invokes f for each page of results.
7127// A non-nil error returned from f will halt the iteration.
7128// The provided context supersedes any context provided to the Context method.
7129func (c *AppsFirewallIngressRulesListCall) Pages(ctx context.Context, f func(*ListIngressRulesResponse) error) error {
7130	c.ctx_ = ctx
7131	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7132	for {
7133		x, err := c.Do()
7134		if err != nil {
7135			return err
7136		}
7137		if err := f(x); err != nil {
7138			return err
7139		}
7140		if x.NextPageToken == "" {
7141			return nil
7142		}
7143		c.PageToken(x.NextPageToken)
7144	}
7145}
7146
7147// method id "appengine.apps.firewall.ingressRules.patch":
7148
7149type AppsFirewallIngressRulesPatchCall struct {
7150	s              *APIService
7151	appsId         string
7152	ingressRulesId string
7153	firewallrule   *FirewallRule
7154	urlParams_     gensupport.URLParams
7155	ctx_           context.Context
7156	header_        http.Header
7157}
7158
7159// Patch: Updates the specified firewall rule.
7160//
7161// - appsId: Part of `name`. Name of the Firewall resource to update.
7162//   Example: apps/myapp/firewall/ingressRules/100.
7163// - ingressRulesId: Part of `name`. See documentation of `appsId`.
7164func (r *AppsFirewallIngressRulesService) Patch(appsId string, ingressRulesId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesPatchCall {
7165	c := &AppsFirewallIngressRulesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7166	c.appsId = appsId
7167	c.ingressRulesId = ingressRulesId
7168	c.firewallrule = firewallrule
7169	return c
7170}
7171
7172// UpdateMask sets the optional parameter "updateMask": Standard field
7173// mask for the set of fields to be updated.
7174func (c *AppsFirewallIngressRulesPatchCall) UpdateMask(updateMask string) *AppsFirewallIngressRulesPatchCall {
7175	c.urlParams_.Set("updateMask", updateMask)
7176	return c
7177}
7178
7179// Fields allows partial responses to be retrieved. See
7180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7181// for more information.
7182func (c *AppsFirewallIngressRulesPatchCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesPatchCall {
7183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7184	return c
7185}
7186
7187// Context sets the context to be used in this call's Do method. Any
7188// pending HTTP request will be aborted if the provided context is
7189// canceled.
7190func (c *AppsFirewallIngressRulesPatchCall) Context(ctx context.Context) *AppsFirewallIngressRulesPatchCall {
7191	c.ctx_ = ctx
7192	return c
7193}
7194
7195// Header returns an http.Header that can be modified by the caller to
7196// add HTTP headers to the request.
7197func (c *AppsFirewallIngressRulesPatchCall) Header() http.Header {
7198	if c.header_ == nil {
7199		c.header_ = make(http.Header)
7200	}
7201	return c.header_
7202}
7203
7204func (c *AppsFirewallIngressRulesPatchCall) doRequest(alt string) (*http.Response, error) {
7205	reqHeaders := make(http.Header)
7206	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7207	for k, v := range c.header_ {
7208		reqHeaders[k] = v
7209	}
7210	reqHeaders.Set("User-Agent", c.s.userAgent())
7211	var body io.Reader = nil
7212	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule)
7213	if err != nil {
7214		return nil, err
7215	}
7216	reqHeaders.Set("Content-Type", "application/json")
7217	c.urlParams_.Set("alt", alt)
7218	c.urlParams_.Set("prettyPrint", "false")
7219	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}")
7220	urls += "?" + c.urlParams_.Encode()
7221	req, err := http.NewRequest("PATCH", urls, body)
7222	if err != nil {
7223		return nil, err
7224	}
7225	req.Header = reqHeaders
7226	googleapi.Expand(req.URL, map[string]string{
7227		"appsId":         c.appsId,
7228		"ingressRulesId": c.ingressRulesId,
7229	})
7230	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7231}
7232
7233// Do executes the "appengine.apps.firewall.ingressRules.patch" call.
7234// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx
7235// status code is an error. Response headers are in either
7236// *FirewallRule.ServerResponse.Header or (if a response was returned at
7237// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7238// to check whether the returned error was because
7239// http.StatusNotModified was returned.
7240func (c *AppsFirewallIngressRulesPatchCall) Do(opts ...googleapi.CallOption) (*FirewallRule, error) {
7241	gensupport.SetOptions(c.urlParams_, opts...)
7242	res, err := c.doRequest("json")
7243	if res != nil && res.StatusCode == http.StatusNotModified {
7244		if res.Body != nil {
7245			res.Body.Close()
7246		}
7247		return nil, &googleapi.Error{
7248			Code:   res.StatusCode,
7249			Header: res.Header,
7250		}
7251	}
7252	if err != nil {
7253		return nil, err
7254	}
7255	defer googleapi.CloseBody(res)
7256	if err := googleapi.CheckResponse(res); err != nil {
7257		return nil, err
7258	}
7259	ret := &FirewallRule{
7260		ServerResponse: googleapi.ServerResponse{
7261			Header:         res.Header,
7262			HTTPStatusCode: res.StatusCode,
7263		},
7264	}
7265	target := &ret
7266	if err := gensupport.DecodeResponse(target, res); err != nil {
7267		return nil, err
7268	}
7269	return ret, nil
7270	// {
7271	//   "description": "Updates the specified firewall rule.",
7272	//   "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
7273	//   "httpMethod": "PATCH",
7274	//   "id": "appengine.apps.firewall.ingressRules.patch",
7275	//   "parameterOrder": [
7276	//     "appsId",
7277	//     "ingressRulesId"
7278	//   ],
7279	//   "parameters": {
7280	//     "appsId": {
7281	//       "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.",
7282	//       "location": "path",
7283	//       "required": true,
7284	//       "type": "string"
7285	//     },
7286	//     "ingressRulesId": {
7287	//       "description": "Part of `name`. See documentation of `appsId`.",
7288	//       "location": "path",
7289	//       "required": true,
7290	//       "type": "string"
7291	//     },
7292	//     "updateMask": {
7293	//       "description": "Standard field mask for the set of fields to be updated.",
7294	//       "format": "google-fieldmask",
7295	//       "location": "query",
7296	//       "type": "string"
7297	//     }
7298	//   },
7299	//   "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}",
7300	//   "request": {
7301	//     "$ref": "FirewallRule"
7302	//   },
7303	//   "response": {
7304	//     "$ref": "FirewallRule"
7305	//   },
7306	//   "scopes": [
7307	//     "https://www.googleapis.com/auth/cloud-platform"
7308	//   ]
7309	// }
7310
7311}
7312
7313// method id "appengine.apps.locations.get":
7314
7315type AppsLocationsGetCall struct {
7316	s            *APIService
7317	appsId       string
7318	locationsId  string
7319	urlParams_   gensupport.URLParams
7320	ifNoneMatch_ string
7321	ctx_         context.Context
7322	header_      http.Header
7323}
7324
7325// Get: Gets information about a location.
7326//
7327// - appsId: Part of `name`. Resource name for the location.
7328// - locationsId: Part of `name`. See documentation of `appsId`.
7329func (r *AppsLocationsService) Get(appsId string, locationsId string) *AppsLocationsGetCall {
7330	c := &AppsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7331	c.appsId = appsId
7332	c.locationsId = locationsId
7333	return c
7334}
7335
7336// Fields allows partial responses to be retrieved. See
7337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7338// for more information.
7339func (c *AppsLocationsGetCall) Fields(s ...googleapi.Field) *AppsLocationsGetCall {
7340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7341	return c
7342}
7343
7344// IfNoneMatch sets the optional parameter which makes the operation
7345// fail if the object's ETag matches the given value. This is useful for
7346// getting updates only after the object has changed since the last
7347// request. Use googleapi.IsNotModified to check whether the response
7348// error from Do is the result of In-None-Match.
7349func (c *AppsLocationsGetCall) IfNoneMatch(entityTag string) *AppsLocationsGetCall {
7350	c.ifNoneMatch_ = entityTag
7351	return c
7352}
7353
7354// Context sets the context to be used in this call's Do method. Any
7355// pending HTTP request will be aborted if the provided context is
7356// canceled.
7357func (c *AppsLocationsGetCall) Context(ctx context.Context) *AppsLocationsGetCall {
7358	c.ctx_ = ctx
7359	return c
7360}
7361
7362// Header returns an http.Header that can be modified by the caller to
7363// add HTTP headers to the request.
7364func (c *AppsLocationsGetCall) Header() http.Header {
7365	if c.header_ == nil {
7366		c.header_ = make(http.Header)
7367	}
7368	return c.header_
7369}
7370
7371func (c *AppsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
7372	reqHeaders := make(http.Header)
7373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7374	for k, v := range c.header_ {
7375		reqHeaders[k] = v
7376	}
7377	reqHeaders.Set("User-Agent", c.s.userAgent())
7378	if c.ifNoneMatch_ != "" {
7379		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7380	}
7381	var body io.Reader = nil
7382	c.urlParams_.Set("alt", alt)
7383	c.urlParams_.Set("prettyPrint", "false")
7384	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/locations/{locationsId}")
7385	urls += "?" + c.urlParams_.Encode()
7386	req, err := http.NewRequest("GET", urls, body)
7387	if err != nil {
7388		return nil, err
7389	}
7390	req.Header = reqHeaders
7391	googleapi.Expand(req.URL, map[string]string{
7392		"appsId":      c.appsId,
7393		"locationsId": c.locationsId,
7394	})
7395	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7396}
7397
7398// Do executes the "appengine.apps.locations.get" call.
7399// Exactly one of *Location or error will be non-nil. Any non-2xx status
7400// code is an error. Response headers are in either
7401// *Location.ServerResponse.Header or (if a response was returned at
7402// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7403// to check whether the returned error was because
7404// http.StatusNotModified was returned.
7405func (c *AppsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
7406	gensupport.SetOptions(c.urlParams_, opts...)
7407	res, err := c.doRequest("json")
7408	if res != nil && res.StatusCode == http.StatusNotModified {
7409		if res.Body != nil {
7410			res.Body.Close()
7411		}
7412		return nil, &googleapi.Error{
7413			Code:   res.StatusCode,
7414			Header: res.Header,
7415		}
7416	}
7417	if err != nil {
7418		return nil, err
7419	}
7420	defer googleapi.CloseBody(res)
7421	if err := googleapi.CheckResponse(res); err != nil {
7422		return nil, err
7423	}
7424	ret := &Location{
7425		ServerResponse: googleapi.ServerResponse{
7426			Header:         res.Header,
7427			HTTPStatusCode: res.StatusCode,
7428		},
7429	}
7430	target := &ret
7431	if err := gensupport.DecodeResponse(target, res); err != nil {
7432		return nil, err
7433	}
7434	return ret, nil
7435	// {
7436	//   "description": "Gets information about a location.",
7437	//   "flatPath": "v1beta/apps/{appsId}/locations/{locationsId}",
7438	//   "httpMethod": "GET",
7439	//   "id": "appengine.apps.locations.get",
7440	//   "parameterOrder": [
7441	//     "appsId",
7442	//     "locationsId"
7443	//   ],
7444	//   "parameters": {
7445	//     "appsId": {
7446	//       "description": "Part of `name`. Resource name for the location.",
7447	//       "location": "path",
7448	//       "required": true,
7449	//       "type": "string"
7450	//     },
7451	//     "locationsId": {
7452	//       "description": "Part of `name`. See documentation of `appsId`.",
7453	//       "location": "path",
7454	//       "required": true,
7455	//       "type": "string"
7456	//     }
7457	//   },
7458	//   "path": "v1beta/apps/{appsId}/locations/{locationsId}",
7459	//   "response": {
7460	//     "$ref": "Location"
7461	//   },
7462	//   "scopes": [
7463	//     "https://www.googleapis.com/auth/appengine.admin",
7464	//     "https://www.googleapis.com/auth/cloud-platform",
7465	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
7466	//   ]
7467	// }
7468
7469}
7470
7471// method id "appengine.apps.locations.list":
7472
7473type AppsLocationsListCall struct {
7474	s            *APIService
7475	appsId       string
7476	urlParams_   gensupport.URLParams
7477	ifNoneMatch_ string
7478	ctx_         context.Context
7479	header_      http.Header
7480}
7481
7482// List: Lists information about the supported locations for this
7483// service.
7484//
7485// - appsId: Part of `name`. The resource that owns the locations
7486//   collection, if applicable.
7487func (r *AppsLocationsService) List(appsId string) *AppsLocationsListCall {
7488	c := &AppsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7489	c.appsId = appsId
7490	return c
7491}
7492
7493// Filter sets the optional parameter "filter": A filter to narrow down
7494// results to a preferred subset. The filtering language accepts strings
7495// like "displayName=tokyo", and is documented in more detail in AIP-160
7496// (https://google.aip.dev/160).
7497func (c *AppsLocationsListCall) Filter(filter string) *AppsLocationsListCall {
7498	c.urlParams_.Set("filter", filter)
7499	return c
7500}
7501
7502// PageSize sets the optional parameter "pageSize": The maximum number
7503// of results to return. If not set, the service will select a default.
7504func (c *AppsLocationsListCall) PageSize(pageSize int64) *AppsLocationsListCall {
7505	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7506	return c
7507}
7508
7509// PageToken sets the optional parameter "pageToken": A page token
7510// received from the next_page_token field in the response. Send that
7511// page token to receive the subsequent page.
7512func (c *AppsLocationsListCall) PageToken(pageToken string) *AppsLocationsListCall {
7513	c.urlParams_.Set("pageToken", pageToken)
7514	return c
7515}
7516
7517// Fields allows partial responses to be retrieved. See
7518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7519// for more information.
7520func (c *AppsLocationsListCall) Fields(s ...googleapi.Field) *AppsLocationsListCall {
7521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7522	return c
7523}
7524
7525// IfNoneMatch sets the optional parameter which makes the operation
7526// fail if the object's ETag matches the given value. This is useful for
7527// getting updates only after the object has changed since the last
7528// request. Use googleapi.IsNotModified to check whether the response
7529// error from Do is the result of In-None-Match.
7530func (c *AppsLocationsListCall) IfNoneMatch(entityTag string) *AppsLocationsListCall {
7531	c.ifNoneMatch_ = entityTag
7532	return c
7533}
7534
7535// Context sets the context to be used in this call's Do method. Any
7536// pending HTTP request will be aborted if the provided context is
7537// canceled.
7538func (c *AppsLocationsListCall) Context(ctx context.Context) *AppsLocationsListCall {
7539	c.ctx_ = ctx
7540	return c
7541}
7542
7543// Header returns an http.Header that can be modified by the caller to
7544// add HTTP headers to the request.
7545func (c *AppsLocationsListCall) Header() http.Header {
7546	if c.header_ == nil {
7547		c.header_ = make(http.Header)
7548	}
7549	return c.header_
7550}
7551
7552func (c *AppsLocationsListCall) doRequest(alt string) (*http.Response, error) {
7553	reqHeaders := make(http.Header)
7554	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7555	for k, v := range c.header_ {
7556		reqHeaders[k] = v
7557	}
7558	reqHeaders.Set("User-Agent", c.s.userAgent())
7559	if c.ifNoneMatch_ != "" {
7560		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7561	}
7562	var body io.Reader = nil
7563	c.urlParams_.Set("alt", alt)
7564	c.urlParams_.Set("prettyPrint", "false")
7565	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/locations")
7566	urls += "?" + c.urlParams_.Encode()
7567	req, err := http.NewRequest("GET", urls, body)
7568	if err != nil {
7569		return nil, err
7570	}
7571	req.Header = reqHeaders
7572	googleapi.Expand(req.URL, map[string]string{
7573		"appsId": c.appsId,
7574	})
7575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7576}
7577
7578// Do executes the "appengine.apps.locations.list" call.
7579// Exactly one of *ListLocationsResponse or error will be non-nil. Any
7580// non-2xx status code is an error. Response headers are in either
7581// *ListLocationsResponse.ServerResponse.Header or (if a response was
7582// returned at all) in error.(*googleapi.Error).Header. Use
7583// googleapi.IsNotModified to check whether the returned error was
7584// because http.StatusNotModified was returned.
7585func (c *AppsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
7586	gensupport.SetOptions(c.urlParams_, opts...)
7587	res, err := c.doRequest("json")
7588	if res != nil && res.StatusCode == http.StatusNotModified {
7589		if res.Body != nil {
7590			res.Body.Close()
7591		}
7592		return nil, &googleapi.Error{
7593			Code:   res.StatusCode,
7594			Header: res.Header,
7595		}
7596	}
7597	if err != nil {
7598		return nil, err
7599	}
7600	defer googleapi.CloseBody(res)
7601	if err := googleapi.CheckResponse(res); err != nil {
7602		return nil, err
7603	}
7604	ret := &ListLocationsResponse{
7605		ServerResponse: googleapi.ServerResponse{
7606			Header:         res.Header,
7607			HTTPStatusCode: res.StatusCode,
7608		},
7609	}
7610	target := &ret
7611	if err := gensupport.DecodeResponse(target, res); err != nil {
7612		return nil, err
7613	}
7614	return ret, nil
7615	// {
7616	//   "description": "Lists information about the supported locations for this service.",
7617	//   "flatPath": "v1beta/apps/{appsId}/locations",
7618	//   "httpMethod": "GET",
7619	//   "id": "appengine.apps.locations.list",
7620	//   "parameterOrder": [
7621	//     "appsId"
7622	//   ],
7623	//   "parameters": {
7624	//     "appsId": {
7625	//       "description": "Part of `name`. The resource that owns the locations collection, if applicable.",
7626	//       "location": "path",
7627	//       "required": true,
7628	//       "type": "string"
7629	//     },
7630	//     "filter": {
7631	//       "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).",
7632	//       "location": "query",
7633	//       "type": "string"
7634	//     },
7635	//     "pageSize": {
7636	//       "description": "The maximum number of results to return. If not set, the service will select a default.",
7637	//       "format": "int32",
7638	//       "location": "query",
7639	//       "type": "integer"
7640	//     },
7641	//     "pageToken": {
7642	//       "description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.",
7643	//       "location": "query",
7644	//       "type": "string"
7645	//     }
7646	//   },
7647	//   "path": "v1beta/apps/{appsId}/locations",
7648	//   "response": {
7649	//     "$ref": "ListLocationsResponse"
7650	//   },
7651	//   "scopes": [
7652	//     "https://www.googleapis.com/auth/appengine.admin",
7653	//     "https://www.googleapis.com/auth/cloud-platform",
7654	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
7655	//   ]
7656	// }
7657
7658}
7659
7660// Pages invokes f for each page of results.
7661// A non-nil error returned from f will halt the iteration.
7662// The provided context supersedes any context provided to the Context method.
7663func (c *AppsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
7664	c.ctx_ = ctx
7665	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7666	for {
7667		x, err := c.Do()
7668		if err != nil {
7669			return err
7670		}
7671		if err := f(x); err != nil {
7672			return err
7673		}
7674		if x.NextPageToken == "" {
7675			return nil
7676		}
7677		c.PageToken(x.NextPageToken)
7678	}
7679}
7680
7681// method id "appengine.apps.operations.get":
7682
7683type AppsOperationsGetCall struct {
7684	s            *APIService
7685	appsId       string
7686	operationsId string
7687	urlParams_   gensupport.URLParams
7688	ifNoneMatch_ string
7689	ctx_         context.Context
7690	header_      http.Header
7691}
7692
7693// Get: Gets the latest state of a long-running operation. Clients can
7694// use this method to poll the operation result at intervals as
7695// recommended by the API service.
7696//
7697// - appsId: Part of `name`. The name of the operation resource.
7698// - operationsId: Part of `name`. See documentation of `appsId`.
7699func (r *AppsOperationsService) Get(appsId string, operationsId string) *AppsOperationsGetCall {
7700	c := &AppsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7701	c.appsId = appsId
7702	c.operationsId = operationsId
7703	return c
7704}
7705
7706// Fields allows partial responses to be retrieved. See
7707// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7708// for more information.
7709func (c *AppsOperationsGetCall) Fields(s ...googleapi.Field) *AppsOperationsGetCall {
7710	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7711	return c
7712}
7713
7714// IfNoneMatch sets the optional parameter which makes the operation
7715// fail if the object's ETag matches the given value. This is useful for
7716// getting updates only after the object has changed since the last
7717// request. Use googleapi.IsNotModified to check whether the response
7718// error from Do is the result of In-None-Match.
7719func (c *AppsOperationsGetCall) IfNoneMatch(entityTag string) *AppsOperationsGetCall {
7720	c.ifNoneMatch_ = entityTag
7721	return c
7722}
7723
7724// Context sets the context to be used in this call's Do method. Any
7725// pending HTTP request will be aborted if the provided context is
7726// canceled.
7727func (c *AppsOperationsGetCall) Context(ctx context.Context) *AppsOperationsGetCall {
7728	c.ctx_ = ctx
7729	return c
7730}
7731
7732// Header returns an http.Header that can be modified by the caller to
7733// add HTTP headers to the request.
7734func (c *AppsOperationsGetCall) Header() http.Header {
7735	if c.header_ == nil {
7736		c.header_ = make(http.Header)
7737	}
7738	return c.header_
7739}
7740
7741func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
7742	reqHeaders := make(http.Header)
7743	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7744	for k, v := range c.header_ {
7745		reqHeaders[k] = v
7746	}
7747	reqHeaders.Set("User-Agent", c.s.userAgent())
7748	if c.ifNoneMatch_ != "" {
7749		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7750	}
7751	var body io.Reader = nil
7752	c.urlParams_.Set("alt", alt)
7753	c.urlParams_.Set("prettyPrint", "false")
7754	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/operations/{operationsId}")
7755	urls += "?" + c.urlParams_.Encode()
7756	req, err := http.NewRequest("GET", urls, body)
7757	if err != nil {
7758		return nil, err
7759	}
7760	req.Header = reqHeaders
7761	googleapi.Expand(req.URL, map[string]string{
7762		"appsId":       c.appsId,
7763		"operationsId": c.operationsId,
7764	})
7765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7766}
7767
7768// Do executes the "appengine.apps.operations.get" call.
7769// Exactly one of *Operation or error will be non-nil. Any non-2xx
7770// status code is an error. Response headers are in either
7771// *Operation.ServerResponse.Header or (if a response was returned at
7772// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7773// to check whether the returned error was because
7774// http.StatusNotModified was returned.
7775func (c *AppsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7776	gensupport.SetOptions(c.urlParams_, opts...)
7777	res, err := c.doRequest("json")
7778	if res != nil && res.StatusCode == http.StatusNotModified {
7779		if res.Body != nil {
7780			res.Body.Close()
7781		}
7782		return nil, &googleapi.Error{
7783			Code:   res.StatusCode,
7784			Header: res.Header,
7785		}
7786	}
7787	if err != nil {
7788		return nil, err
7789	}
7790	defer googleapi.CloseBody(res)
7791	if err := googleapi.CheckResponse(res); err != nil {
7792		return nil, err
7793	}
7794	ret := &Operation{
7795		ServerResponse: googleapi.ServerResponse{
7796			Header:         res.Header,
7797			HTTPStatusCode: res.StatusCode,
7798		},
7799	}
7800	target := &ret
7801	if err := gensupport.DecodeResponse(target, res); err != nil {
7802		return nil, err
7803	}
7804	return ret, nil
7805	// {
7806	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
7807	//   "flatPath": "v1beta/apps/{appsId}/operations/{operationsId}",
7808	//   "httpMethod": "GET",
7809	//   "id": "appengine.apps.operations.get",
7810	//   "parameterOrder": [
7811	//     "appsId",
7812	//     "operationsId"
7813	//   ],
7814	//   "parameters": {
7815	//     "appsId": {
7816	//       "description": "Part of `name`. The name of the operation resource.",
7817	//       "location": "path",
7818	//       "required": true,
7819	//       "type": "string"
7820	//     },
7821	//     "operationsId": {
7822	//       "description": "Part of `name`. See documentation of `appsId`.",
7823	//       "location": "path",
7824	//       "required": true,
7825	//       "type": "string"
7826	//     }
7827	//   },
7828	//   "path": "v1beta/apps/{appsId}/operations/{operationsId}",
7829	//   "response": {
7830	//     "$ref": "Operation"
7831	//   },
7832	//   "scopes": [
7833	//     "https://www.googleapis.com/auth/appengine.admin",
7834	//     "https://www.googleapis.com/auth/cloud-platform",
7835	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
7836	//   ]
7837	// }
7838
7839}
7840
7841// method id "appengine.apps.operations.list":
7842
7843type AppsOperationsListCall struct {
7844	s            *APIService
7845	appsId       string
7846	urlParams_   gensupport.URLParams
7847	ifNoneMatch_ string
7848	ctx_         context.Context
7849	header_      http.Header
7850}
7851
7852// List: Lists operations that match the specified filter in the
7853// request. If the server doesn't support this method, it returns
7854// UNIMPLEMENTED.NOTE: the name binding allows API services to override
7855// the binding to use different resource name schemes, such as
7856// users/*/operations. To override the binding, API services can add a
7857// binding such as "/v1/{name=users/*}/operations" to their service
7858// configuration. For backwards compatibility, the default name includes
7859// the operations collection id, however overriding users must ensure
7860// the name binding is the parent resource, without the operations
7861// collection id.
7862//
7863// - appsId: Part of `name`. The name of the operation's parent
7864//   resource.
7865func (r *AppsOperationsService) List(appsId string) *AppsOperationsListCall {
7866	c := &AppsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7867	c.appsId = appsId
7868	return c
7869}
7870
7871// Filter sets the optional parameter "filter": The standard list
7872// filter.
7873func (c *AppsOperationsListCall) Filter(filter string) *AppsOperationsListCall {
7874	c.urlParams_.Set("filter", filter)
7875	return c
7876}
7877
7878// PageSize sets the optional parameter "pageSize": The standard list
7879// page size.
7880func (c *AppsOperationsListCall) PageSize(pageSize int64) *AppsOperationsListCall {
7881	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7882	return c
7883}
7884
7885// PageToken sets the optional parameter "pageToken": The standard list
7886// page token.
7887func (c *AppsOperationsListCall) PageToken(pageToken string) *AppsOperationsListCall {
7888	c.urlParams_.Set("pageToken", pageToken)
7889	return c
7890}
7891
7892// Fields allows partial responses to be retrieved. See
7893// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7894// for more information.
7895func (c *AppsOperationsListCall) Fields(s ...googleapi.Field) *AppsOperationsListCall {
7896	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7897	return c
7898}
7899
7900// IfNoneMatch sets the optional parameter which makes the operation
7901// fail if the object's ETag matches the given value. This is useful for
7902// getting updates only after the object has changed since the last
7903// request. Use googleapi.IsNotModified to check whether the response
7904// error from Do is the result of In-None-Match.
7905func (c *AppsOperationsListCall) IfNoneMatch(entityTag string) *AppsOperationsListCall {
7906	c.ifNoneMatch_ = entityTag
7907	return c
7908}
7909
7910// Context sets the context to be used in this call's Do method. Any
7911// pending HTTP request will be aborted if the provided context is
7912// canceled.
7913func (c *AppsOperationsListCall) Context(ctx context.Context) *AppsOperationsListCall {
7914	c.ctx_ = ctx
7915	return c
7916}
7917
7918// Header returns an http.Header that can be modified by the caller to
7919// add HTTP headers to the request.
7920func (c *AppsOperationsListCall) Header() http.Header {
7921	if c.header_ == nil {
7922		c.header_ = make(http.Header)
7923	}
7924	return c.header_
7925}
7926
7927func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
7928	reqHeaders := make(http.Header)
7929	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7930	for k, v := range c.header_ {
7931		reqHeaders[k] = v
7932	}
7933	reqHeaders.Set("User-Agent", c.s.userAgent())
7934	if c.ifNoneMatch_ != "" {
7935		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7936	}
7937	var body io.Reader = nil
7938	c.urlParams_.Set("alt", alt)
7939	c.urlParams_.Set("prettyPrint", "false")
7940	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/operations")
7941	urls += "?" + c.urlParams_.Encode()
7942	req, err := http.NewRequest("GET", urls, body)
7943	if err != nil {
7944		return nil, err
7945	}
7946	req.Header = reqHeaders
7947	googleapi.Expand(req.URL, map[string]string{
7948		"appsId": c.appsId,
7949	})
7950	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7951}
7952
7953// Do executes the "appengine.apps.operations.list" call.
7954// Exactly one of *ListOperationsResponse or error will be non-nil. Any
7955// non-2xx status code is an error. Response headers are in either
7956// *ListOperationsResponse.ServerResponse.Header or (if a response was
7957// returned at all) in error.(*googleapi.Error).Header. Use
7958// googleapi.IsNotModified to check whether the returned error was
7959// because http.StatusNotModified was returned.
7960func (c *AppsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
7961	gensupport.SetOptions(c.urlParams_, opts...)
7962	res, err := c.doRequest("json")
7963	if res != nil && res.StatusCode == http.StatusNotModified {
7964		if res.Body != nil {
7965			res.Body.Close()
7966		}
7967		return nil, &googleapi.Error{
7968			Code:   res.StatusCode,
7969			Header: res.Header,
7970		}
7971	}
7972	if err != nil {
7973		return nil, err
7974	}
7975	defer googleapi.CloseBody(res)
7976	if err := googleapi.CheckResponse(res); err != nil {
7977		return nil, err
7978	}
7979	ret := &ListOperationsResponse{
7980		ServerResponse: googleapi.ServerResponse{
7981			Header:         res.Header,
7982			HTTPStatusCode: res.StatusCode,
7983		},
7984	}
7985	target := &ret
7986	if err := gensupport.DecodeResponse(target, res); err != nil {
7987		return nil, err
7988	}
7989	return ret, nil
7990	// {
7991	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
7992	//   "flatPath": "v1beta/apps/{appsId}/operations",
7993	//   "httpMethod": "GET",
7994	//   "id": "appengine.apps.operations.list",
7995	//   "parameterOrder": [
7996	//     "appsId"
7997	//   ],
7998	//   "parameters": {
7999	//     "appsId": {
8000	//       "description": "Part of `name`. The name of the operation's parent resource.",
8001	//       "location": "path",
8002	//       "required": true,
8003	//       "type": "string"
8004	//     },
8005	//     "filter": {
8006	//       "description": "The standard list filter.",
8007	//       "location": "query",
8008	//       "type": "string"
8009	//     },
8010	//     "pageSize": {
8011	//       "description": "The standard list page size.",
8012	//       "format": "int32",
8013	//       "location": "query",
8014	//       "type": "integer"
8015	//     },
8016	//     "pageToken": {
8017	//       "description": "The standard list page token.",
8018	//       "location": "query",
8019	//       "type": "string"
8020	//     }
8021	//   },
8022	//   "path": "v1beta/apps/{appsId}/operations",
8023	//   "response": {
8024	//     "$ref": "ListOperationsResponse"
8025	//   },
8026	//   "scopes": [
8027	//     "https://www.googleapis.com/auth/appengine.admin",
8028	//     "https://www.googleapis.com/auth/cloud-platform",
8029	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8030	//   ]
8031	// }
8032
8033}
8034
8035// Pages invokes f for each page of results.
8036// A non-nil error returned from f will halt the iteration.
8037// The provided context supersedes any context provided to the Context method.
8038func (c *AppsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
8039	c.ctx_ = ctx
8040	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8041	for {
8042		x, err := c.Do()
8043		if err != nil {
8044			return err
8045		}
8046		if err := f(x); err != nil {
8047			return err
8048		}
8049		if x.NextPageToken == "" {
8050			return nil
8051		}
8052		c.PageToken(x.NextPageToken)
8053	}
8054}
8055
8056// method id "appengine.apps.services.delete":
8057
8058type AppsServicesDeleteCall struct {
8059	s          *APIService
8060	appsId     string
8061	servicesId string
8062	urlParams_ gensupport.URLParams
8063	ctx_       context.Context
8064	header_    http.Header
8065}
8066
8067// Delete: Deletes the specified service and all enclosed versions.
8068//
8069// - appsId: Part of `name`. Name of the resource requested. Example:
8070//   apps/myapp/services/default.
8071// - servicesId: Part of `name`. See documentation of `appsId`.
8072func (r *AppsServicesService) Delete(appsId string, servicesId string) *AppsServicesDeleteCall {
8073	c := &AppsServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8074	c.appsId = appsId
8075	c.servicesId = servicesId
8076	return c
8077}
8078
8079// Fields allows partial responses to be retrieved. See
8080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8081// for more information.
8082func (c *AppsServicesDeleteCall) Fields(s ...googleapi.Field) *AppsServicesDeleteCall {
8083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8084	return c
8085}
8086
8087// Context sets the context to be used in this call's Do method. Any
8088// pending HTTP request will be aborted if the provided context is
8089// canceled.
8090func (c *AppsServicesDeleteCall) Context(ctx context.Context) *AppsServicesDeleteCall {
8091	c.ctx_ = ctx
8092	return c
8093}
8094
8095// Header returns an http.Header that can be modified by the caller to
8096// add HTTP headers to the request.
8097func (c *AppsServicesDeleteCall) Header() http.Header {
8098	if c.header_ == nil {
8099		c.header_ = make(http.Header)
8100	}
8101	return c.header_
8102}
8103
8104func (c *AppsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
8105	reqHeaders := make(http.Header)
8106	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8107	for k, v := range c.header_ {
8108		reqHeaders[k] = v
8109	}
8110	reqHeaders.Set("User-Agent", c.s.userAgent())
8111	var body io.Reader = nil
8112	c.urlParams_.Set("alt", alt)
8113	c.urlParams_.Set("prettyPrint", "false")
8114	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
8115	urls += "?" + c.urlParams_.Encode()
8116	req, err := http.NewRequest("DELETE", urls, body)
8117	if err != nil {
8118		return nil, err
8119	}
8120	req.Header = reqHeaders
8121	googleapi.Expand(req.URL, map[string]string{
8122		"appsId":     c.appsId,
8123		"servicesId": c.servicesId,
8124	})
8125	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8126}
8127
8128// Do executes the "appengine.apps.services.delete" call.
8129// Exactly one of *Operation or error will be non-nil. Any non-2xx
8130// status code is an error. Response headers are in either
8131// *Operation.ServerResponse.Header or (if a response was returned at
8132// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8133// to check whether the returned error was because
8134// http.StatusNotModified was returned.
8135func (c *AppsServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8136	gensupport.SetOptions(c.urlParams_, opts...)
8137	res, err := c.doRequest("json")
8138	if res != nil && res.StatusCode == http.StatusNotModified {
8139		if res.Body != nil {
8140			res.Body.Close()
8141		}
8142		return nil, &googleapi.Error{
8143			Code:   res.StatusCode,
8144			Header: res.Header,
8145		}
8146	}
8147	if err != nil {
8148		return nil, err
8149	}
8150	defer googleapi.CloseBody(res)
8151	if err := googleapi.CheckResponse(res); err != nil {
8152		return nil, err
8153	}
8154	ret := &Operation{
8155		ServerResponse: googleapi.ServerResponse{
8156			Header:         res.Header,
8157			HTTPStatusCode: res.StatusCode,
8158		},
8159	}
8160	target := &ret
8161	if err := gensupport.DecodeResponse(target, res); err != nil {
8162		return nil, err
8163	}
8164	return ret, nil
8165	// {
8166	//   "description": "Deletes the specified service and all enclosed versions.",
8167	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}",
8168	//   "httpMethod": "DELETE",
8169	//   "id": "appengine.apps.services.delete",
8170	//   "parameterOrder": [
8171	//     "appsId",
8172	//     "servicesId"
8173	//   ],
8174	//   "parameters": {
8175	//     "appsId": {
8176	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.",
8177	//       "location": "path",
8178	//       "required": true,
8179	//       "type": "string"
8180	//     },
8181	//     "servicesId": {
8182	//       "description": "Part of `name`. See documentation of `appsId`.",
8183	//       "location": "path",
8184	//       "required": true,
8185	//       "type": "string"
8186	//     }
8187	//   },
8188	//   "path": "v1beta/apps/{appsId}/services/{servicesId}",
8189	//   "response": {
8190	//     "$ref": "Operation"
8191	//   },
8192	//   "scopes": [
8193	//     "https://www.googleapis.com/auth/cloud-platform"
8194	//   ]
8195	// }
8196
8197}
8198
8199// method id "appengine.apps.services.get":
8200
8201type AppsServicesGetCall struct {
8202	s            *APIService
8203	appsId       string
8204	servicesId   string
8205	urlParams_   gensupport.URLParams
8206	ifNoneMatch_ string
8207	ctx_         context.Context
8208	header_      http.Header
8209}
8210
8211// Get: Gets the current configuration of the specified service.
8212//
8213// - appsId: Part of `name`. Name of the resource requested. Example:
8214//   apps/myapp/services/default.
8215// - servicesId: Part of `name`. See documentation of `appsId`.
8216func (r *AppsServicesService) Get(appsId string, servicesId string) *AppsServicesGetCall {
8217	c := &AppsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8218	c.appsId = appsId
8219	c.servicesId = servicesId
8220	return c
8221}
8222
8223// Fields allows partial responses to be retrieved. See
8224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8225// for more information.
8226func (c *AppsServicesGetCall) Fields(s ...googleapi.Field) *AppsServicesGetCall {
8227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8228	return c
8229}
8230
8231// IfNoneMatch sets the optional parameter which makes the operation
8232// fail if the object's ETag matches the given value. This is useful for
8233// getting updates only after the object has changed since the last
8234// request. Use googleapi.IsNotModified to check whether the response
8235// error from Do is the result of In-None-Match.
8236func (c *AppsServicesGetCall) IfNoneMatch(entityTag string) *AppsServicesGetCall {
8237	c.ifNoneMatch_ = entityTag
8238	return c
8239}
8240
8241// Context sets the context to be used in this call's Do method. Any
8242// pending HTTP request will be aborted if the provided context is
8243// canceled.
8244func (c *AppsServicesGetCall) Context(ctx context.Context) *AppsServicesGetCall {
8245	c.ctx_ = ctx
8246	return c
8247}
8248
8249// Header returns an http.Header that can be modified by the caller to
8250// add HTTP headers to the request.
8251func (c *AppsServicesGetCall) Header() http.Header {
8252	if c.header_ == nil {
8253		c.header_ = make(http.Header)
8254	}
8255	return c.header_
8256}
8257
8258func (c *AppsServicesGetCall) doRequest(alt string) (*http.Response, error) {
8259	reqHeaders := make(http.Header)
8260	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8261	for k, v := range c.header_ {
8262		reqHeaders[k] = v
8263	}
8264	reqHeaders.Set("User-Agent", c.s.userAgent())
8265	if c.ifNoneMatch_ != "" {
8266		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8267	}
8268	var body io.Reader = nil
8269	c.urlParams_.Set("alt", alt)
8270	c.urlParams_.Set("prettyPrint", "false")
8271	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
8272	urls += "?" + c.urlParams_.Encode()
8273	req, err := http.NewRequest("GET", urls, body)
8274	if err != nil {
8275		return nil, err
8276	}
8277	req.Header = reqHeaders
8278	googleapi.Expand(req.URL, map[string]string{
8279		"appsId":     c.appsId,
8280		"servicesId": c.servicesId,
8281	})
8282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8283}
8284
8285// Do executes the "appengine.apps.services.get" call.
8286// Exactly one of *Service or error will be non-nil. Any non-2xx status
8287// code is an error. Response headers are in either
8288// *Service.ServerResponse.Header or (if a response was returned at all)
8289// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8290// check whether the returned error was because http.StatusNotModified
8291// was returned.
8292func (c *AppsServicesGetCall) Do(opts ...googleapi.CallOption) (*Service, error) {
8293	gensupport.SetOptions(c.urlParams_, opts...)
8294	res, err := c.doRequest("json")
8295	if res != nil && res.StatusCode == http.StatusNotModified {
8296		if res.Body != nil {
8297			res.Body.Close()
8298		}
8299		return nil, &googleapi.Error{
8300			Code:   res.StatusCode,
8301			Header: res.Header,
8302		}
8303	}
8304	if err != nil {
8305		return nil, err
8306	}
8307	defer googleapi.CloseBody(res)
8308	if err := googleapi.CheckResponse(res); err != nil {
8309		return nil, err
8310	}
8311	ret := &Service{
8312		ServerResponse: googleapi.ServerResponse{
8313			Header:         res.Header,
8314			HTTPStatusCode: res.StatusCode,
8315		},
8316	}
8317	target := &ret
8318	if err := gensupport.DecodeResponse(target, res); err != nil {
8319		return nil, err
8320	}
8321	return ret, nil
8322	// {
8323	//   "description": "Gets the current configuration of the specified service.",
8324	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}",
8325	//   "httpMethod": "GET",
8326	//   "id": "appengine.apps.services.get",
8327	//   "parameterOrder": [
8328	//     "appsId",
8329	//     "servicesId"
8330	//   ],
8331	//   "parameters": {
8332	//     "appsId": {
8333	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.",
8334	//       "location": "path",
8335	//       "required": true,
8336	//       "type": "string"
8337	//     },
8338	//     "servicesId": {
8339	//       "description": "Part of `name`. See documentation of `appsId`.",
8340	//       "location": "path",
8341	//       "required": true,
8342	//       "type": "string"
8343	//     }
8344	//   },
8345	//   "path": "v1beta/apps/{appsId}/services/{servicesId}",
8346	//   "response": {
8347	//     "$ref": "Service"
8348	//   },
8349	//   "scopes": [
8350	//     "https://www.googleapis.com/auth/appengine.admin",
8351	//     "https://www.googleapis.com/auth/cloud-platform",
8352	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8353	//   ]
8354	// }
8355
8356}
8357
8358// method id "appengine.apps.services.list":
8359
8360type AppsServicesListCall struct {
8361	s            *APIService
8362	appsId       string
8363	urlParams_   gensupport.URLParams
8364	ifNoneMatch_ string
8365	ctx_         context.Context
8366	header_      http.Header
8367}
8368
8369// List: Lists all the services in the application.
8370//
8371// - appsId: Part of `parent`. Name of the parent Application resource.
8372//   Example: apps/myapp.
8373func (r *AppsServicesService) List(appsId string) *AppsServicesListCall {
8374	c := &AppsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8375	c.appsId = appsId
8376	return c
8377}
8378
8379// PageSize sets the optional parameter "pageSize": Maximum results to
8380// return per page.
8381func (c *AppsServicesListCall) PageSize(pageSize int64) *AppsServicesListCall {
8382	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
8383	return c
8384}
8385
8386// PageToken sets the optional parameter "pageToken": Continuation token
8387// for fetching the next page of results.
8388func (c *AppsServicesListCall) PageToken(pageToken string) *AppsServicesListCall {
8389	c.urlParams_.Set("pageToken", pageToken)
8390	return c
8391}
8392
8393// Fields allows partial responses to be retrieved. See
8394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8395// for more information.
8396func (c *AppsServicesListCall) Fields(s ...googleapi.Field) *AppsServicesListCall {
8397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8398	return c
8399}
8400
8401// IfNoneMatch sets the optional parameter which makes the operation
8402// fail if the object's ETag matches the given value. This is useful for
8403// getting updates only after the object has changed since the last
8404// request. Use googleapi.IsNotModified to check whether the response
8405// error from Do is the result of In-None-Match.
8406func (c *AppsServicesListCall) IfNoneMatch(entityTag string) *AppsServicesListCall {
8407	c.ifNoneMatch_ = entityTag
8408	return c
8409}
8410
8411// Context sets the context to be used in this call's Do method. Any
8412// pending HTTP request will be aborted if the provided context is
8413// canceled.
8414func (c *AppsServicesListCall) Context(ctx context.Context) *AppsServicesListCall {
8415	c.ctx_ = ctx
8416	return c
8417}
8418
8419// Header returns an http.Header that can be modified by the caller to
8420// add HTTP headers to the request.
8421func (c *AppsServicesListCall) Header() http.Header {
8422	if c.header_ == nil {
8423		c.header_ = make(http.Header)
8424	}
8425	return c.header_
8426}
8427
8428func (c *AppsServicesListCall) doRequest(alt string) (*http.Response, error) {
8429	reqHeaders := make(http.Header)
8430	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8431	for k, v := range c.header_ {
8432		reqHeaders[k] = v
8433	}
8434	reqHeaders.Set("User-Agent", c.s.userAgent())
8435	if c.ifNoneMatch_ != "" {
8436		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8437	}
8438	var body io.Reader = nil
8439	c.urlParams_.Set("alt", alt)
8440	c.urlParams_.Set("prettyPrint", "false")
8441	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services")
8442	urls += "?" + c.urlParams_.Encode()
8443	req, err := http.NewRequest("GET", urls, body)
8444	if err != nil {
8445		return nil, err
8446	}
8447	req.Header = reqHeaders
8448	googleapi.Expand(req.URL, map[string]string{
8449		"appsId": c.appsId,
8450	})
8451	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8452}
8453
8454// Do executes the "appengine.apps.services.list" call.
8455// Exactly one of *ListServicesResponse or error will be non-nil. Any
8456// non-2xx status code is an error. Response headers are in either
8457// *ListServicesResponse.ServerResponse.Header or (if a response was
8458// returned at all) in error.(*googleapi.Error).Header. Use
8459// googleapi.IsNotModified to check whether the returned error was
8460// because http.StatusNotModified was returned.
8461func (c *AppsServicesListCall) Do(opts ...googleapi.CallOption) (*ListServicesResponse, error) {
8462	gensupport.SetOptions(c.urlParams_, opts...)
8463	res, err := c.doRequest("json")
8464	if res != nil && res.StatusCode == http.StatusNotModified {
8465		if res.Body != nil {
8466			res.Body.Close()
8467		}
8468		return nil, &googleapi.Error{
8469			Code:   res.StatusCode,
8470			Header: res.Header,
8471		}
8472	}
8473	if err != nil {
8474		return nil, err
8475	}
8476	defer googleapi.CloseBody(res)
8477	if err := googleapi.CheckResponse(res); err != nil {
8478		return nil, err
8479	}
8480	ret := &ListServicesResponse{
8481		ServerResponse: googleapi.ServerResponse{
8482			Header:         res.Header,
8483			HTTPStatusCode: res.StatusCode,
8484		},
8485	}
8486	target := &ret
8487	if err := gensupport.DecodeResponse(target, res); err != nil {
8488		return nil, err
8489	}
8490	return ret, nil
8491	// {
8492	//   "description": "Lists all the services in the application.",
8493	//   "flatPath": "v1beta/apps/{appsId}/services",
8494	//   "httpMethod": "GET",
8495	//   "id": "appengine.apps.services.list",
8496	//   "parameterOrder": [
8497	//     "appsId"
8498	//   ],
8499	//   "parameters": {
8500	//     "appsId": {
8501	//       "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.",
8502	//       "location": "path",
8503	//       "required": true,
8504	//       "type": "string"
8505	//     },
8506	//     "pageSize": {
8507	//       "description": "Maximum results to return per page.",
8508	//       "format": "int32",
8509	//       "location": "query",
8510	//       "type": "integer"
8511	//     },
8512	//     "pageToken": {
8513	//       "description": "Continuation token for fetching the next page of results.",
8514	//       "location": "query",
8515	//       "type": "string"
8516	//     }
8517	//   },
8518	//   "path": "v1beta/apps/{appsId}/services",
8519	//   "response": {
8520	//     "$ref": "ListServicesResponse"
8521	//   },
8522	//   "scopes": [
8523	//     "https://www.googleapis.com/auth/appengine.admin",
8524	//     "https://www.googleapis.com/auth/cloud-platform",
8525	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8526	//   ]
8527	// }
8528
8529}
8530
8531// Pages invokes f for each page of results.
8532// A non-nil error returned from f will halt the iteration.
8533// The provided context supersedes any context provided to the Context method.
8534func (c *AppsServicesListCall) Pages(ctx context.Context, f func(*ListServicesResponse) error) error {
8535	c.ctx_ = ctx
8536	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8537	for {
8538		x, err := c.Do()
8539		if err != nil {
8540			return err
8541		}
8542		if err := f(x); err != nil {
8543			return err
8544		}
8545		if x.NextPageToken == "" {
8546			return nil
8547		}
8548		c.PageToken(x.NextPageToken)
8549	}
8550}
8551
8552// method id "appengine.apps.services.patch":
8553
8554type AppsServicesPatchCall struct {
8555	s          *APIService
8556	appsId     string
8557	servicesId string
8558	service    *Service
8559	urlParams_ gensupport.URLParams
8560	ctx_       context.Context
8561	header_    http.Header
8562}
8563
8564// Patch: Updates the configuration of the specified service.
8565//
8566// - appsId: Part of `name`. Name of the resource to update. Example:
8567//   apps/myapp/services/default.
8568// - servicesId: Part of `name`. See documentation of `appsId`.
8569func (r *AppsServicesService) Patch(appsId string, servicesId string, service *Service) *AppsServicesPatchCall {
8570	c := &AppsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8571	c.appsId = appsId
8572	c.servicesId = servicesId
8573	c.service = service
8574	return c
8575}
8576
8577// MigrateTraffic sets the optional parameter "migrateTraffic": Set to
8578// true to gradually shift traffic to one or more versions that you
8579// specify. By default, traffic is shifted immediately. For gradual
8580// traffic migration, the target versions must be located within
8581// instances that are configured for both warmup requests
8582// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType)
8583// and automatic scaling
8584// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling).
8585// You must specify the shardBy
8586// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy)
8587// field in the Service resource. Gradual traffic migration is not
8588// supported in the App Engine flexible environment. For examples, see
8589// Migrating and Splitting Traffic
8590// (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
8591func (c *AppsServicesPatchCall) MigrateTraffic(migrateTraffic bool) *AppsServicesPatchCall {
8592	c.urlParams_.Set("migrateTraffic", fmt.Sprint(migrateTraffic))
8593	return c
8594}
8595
8596// UpdateMask sets the optional parameter "updateMask": Standard field
8597// mask for the set of fields to be updated.
8598func (c *AppsServicesPatchCall) UpdateMask(updateMask string) *AppsServicesPatchCall {
8599	c.urlParams_.Set("updateMask", updateMask)
8600	return c
8601}
8602
8603// Fields allows partial responses to be retrieved. See
8604// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8605// for more information.
8606func (c *AppsServicesPatchCall) Fields(s ...googleapi.Field) *AppsServicesPatchCall {
8607	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8608	return c
8609}
8610
8611// Context sets the context to be used in this call's Do method. Any
8612// pending HTTP request will be aborted if the provided context is
8613// canceled.
8614func (c *AppsServicesPatchCall) Context(ctx context.Context) *AppsServicesPatchCall {
8615	c.ctx_ = ctx
8616	return c
8617}
8618
8619// Header returns an http.Header that can be modified by the caller to
8620// add HTTP headers to the request.
8621func (c *AppsServicesPatchCall) Header() http.Header {
8622	if c.header_ == nil {
8623		c.header_ = make(http.Header)
8624	}
8625	return c.header_
8626}
8627
8628func (c *AppsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
8629	reqHeaders := make(http.Header)
8630	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8631	for k, v := range c.header_ {
8632		reqHeaders[k] = v
8633	}
8634	reqHeaders.Set("User-Agent", c.s.userAgent())
8635	var body io.Reader = nil
8636	body, err := googleapi.WithoutDataWrapper.JSONReader(c.service)
8637	if err != nil {
8638		return nil, err
8639	}
8640	reqHeaders.Set("Content-Type", "application/json")
8641	c.urlParams_.Set("alt", alt)
8642	c.urlParams_.Set("prettyPrint", "false")
8643	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}")
8644	urls += "?" + c.urlParams_.Encode()
8645	req, err := http.NewRequest("PATCH", urls, body)
8646	if err != nil {
8647		return nil, err
8648	}
8649	req.Header = reqHeaders
8650	googleapi.Expand(req.URL, map[string]string{
8651		"appsId":     c.appsId,
8652		"servicesId": c.servicesId,
8653	})
8654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8655}
8656
8657// Do executes the "appengine.apps.services.patch" call.
8658// Exactly one of *Operation or error will be non-nil. Any non-2xx
8659// status code is an error. Response headers are in either
8660// *Operation.ServerResponse.Header or (if a response was returned at
8661// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8662// to check whether the returned error was because
8663// http.StatusNotModified was returned.
8664func (c *AppsServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8665	gensupport.SetOptions(c.urlParams_, opts...)
8666	res, err := c.doRequest("json")
8667	if res != nil && res.StatusCode == http.StatusNotModified {
8668		if res.Body != nil {
8669			res.Body.Close()
8670		}
8671		return nil, &googleapi.Error{
8672			Code:   res.StatusCode,
8673			Header: res.Header,
8674		}
8675	}
8676	if err != nil {
8677		return nil, err
8678	}
8679	defer googleapi.CloseBody(res)
8680	if err := googleapi.CheckResponse(res); err != nil {
8681		return nil, err
8682	}
8683	ret := &Operation{
8684		ServerResponse: googleapi.ServerResponse{
8685			Header:         res.Header,
8686			HTTPStatusCode: res.StatusCode,
8687		},
8688	}
8689	target := &ret
8690	if err := gensupport.DecodeResponse(target, res); err != nil {
8691		return nil, err
8692	}
8693	return ret, nil
8694	// {
8695	//   "description": "Updates the configuration of the specified service.",
8696	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}",
8697	//   "httpMethod": "PATCH",
8698	//   "id": "appengine.apps.services.patch",
8699	//   "parameterOrder": [
8700	//     "appsId",
8701	//     "servicesId"
8702	//   ],
8703	//   "parameters": {
8704	//     "appsId": {
8705	//       "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.",
8706	//       "location": "path",
8707	//       "required": true,
8708	//       "type": "string"
8709	//     },
8710	//     "migrateTraffic": {
8711	//       "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).",
8712	//       "location": "query",
8713	//       "type": "boolean"
8714	//     },
8715	//     "servicesId": {
8716	//       "description": "Part of `name`. See documentation of `appsId`.",
8717	//       "location": "path",
8718	//       "required": true,
8719	//       "type": "string"
8720	//     },
8721	//     "updateMask": {
8722	//       "description": "Standard field mask for the set of fields to be updated.",
8723	//       "format": "google-fieldmask",
8724	//       "location": "query",
8725	//       "type": "string"
8726	//     }
8727	//   },
8728	//   "path": "v1beta/apps/{appsId}/services/{servicesId}",
8729	//   "request": {
8730	//     "$ref": "Service"
8731	//   },
8732	//   "response": {
8733	//     "$ref": "Operation"
8734	//   },
8735	//   "scopes": [
8736	//     "https://www.googleapis.com/auth/cloud-platform"
8737	//   ]
8738	// }
8739
8740}
8741
8742// method id "appengine.apps.services.versions.create":
8743
8744type AppsServicesVersionsCreateCall struct {
8745	s          *APIService
8746	appsId     string
8747	servicesId string
8748	version    *Version
8749	urlParams_ gensupport.URLParams
8750	ctx_       context.Context
8751	header_    http.Header
8752}
8753
8754// Create: Deploys code and resource files to a new version.
8755//
8756// - appsId: Part of `parent`. Name of the parent resource to create
8757//   this version under. Example: apps/myapp/services/default.
8758// - servicesId: Part of `parent`. See documentation of `appsId`.
8759func (r *AppsServicesVersionsService) Create(appsId string, servicesId string, version *Version) *AppsServicesVersionsCreateCall {
8760	c := &AppsServicesVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8761	c.appsId = appsId
8762	c.servicesId = servicesId
8763	c.version = version
8764	return c
8765}
8766
8767// Fields allows partial responses to be retrieved. See
8768// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8769// for more information.
8770func (c *AppsServicesVersionsCreateCall) Fields(s ...googleapi.Field) *AppsServicesVersionsCreateCall {
8771	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8772	return c
8773}
8774
8775// Context sets the context to be used in this call's Do method. Any
8776// pending HTTP request will be aborted if the provided context is
8777// canceled.
8778func (c *AppsServicesVersionsCreateCall) Context(ctx context.Context) *AppsServicesVersionsCreateCall {
8779	c.ctx_ = ctx
8780	return c
8781}
8782
8783// Header returns an http.Header that can be modified by the caller to
8784// add HTTP headers to the request.
8785func (c *AppsServicesVersionsCreateCall) Header() http.Header {
8786	if c.header_ == nil {
8787		c.header_ = make(http.Header)
8788	}
8789	return c.header_
8790}
8791
8792func (c *AppsServicesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
8793	reqHeaders := make(http.Header)
8794	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8795	for k, v := range c.header_ {
8796		reqHeaders[k] = v
8797	}
8798	reqHeaders.Set("User-Agent", c.s.userAgent())
8799	var body io.Reader = nil
8800	body, err := googleapi.WithoutDataWrapper.JSONReader(c.version)
8801	if err != nil {
8802		return nil, err
8803	}
8804	reqHeaders.Set("Content-Type", "application/json")
8805	c.urlParams_.Set("alt", alt)
8806	c.urlParams_.Set("prettyPrint", "false")
8807	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions")
8808	urls += "?" + c.urlParams_.Encode()
8809	req, err := http.NewRequest("POST", urls, body)
8810	if err != nil {
8811		return nil, err
8812	}
8813	req.Header = reqHeaders
8814	googleapi.Expand(req.URL, map[string]string{
8815		"appsId":     c.appsId,
8816		"servicesId": c.servicesId,
8817	})
8818	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8819}
8820
8821// Do executes the "appengine.apps.services.versions.create" call.
8822// Exactly one of *Operation or error will be non-nil. Any non-2xx
8823// status code is an error. Response headers are in either
8824// *Operation.ServerResponse.Header or (if a response was returned at
8825// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8826// to check whether the returned error was because
8827// http.StatusNotModified was returned.
8828func (c *AppsServicesVersionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8829	gensupport.SetOptions(c.urlParams_, opts...)
8830	res, err := c.doRequest("json")
8831	if res != nil && res.StatusCode == http.StatusNotModified {
8832		if res.Body != nil {
8833			res.Body.Close()
8834		}
8835		return nil, &googleapi.Error{
8836			Code:   res.StatusCode,
8837			Header: res.Header,
8838		}
8839	}
8840	if err != nil {
8841		return nil, err
8842	}
8843	defer googleapi.CloseBody(res)
8844	if err := googleapi.CheckResponse(res); err != nil {
8845		return nil, err
8846	}
8847	ret := &Operation{
8848		ServerResponse: googleapi.ServerResponse{
8849			Header:         res.Header,
8850			HTTPStatusCode: res.StatusCode,
8851		},
8852	}
8853	target := &ret
8854	if err := gensupport.DecodeResponse(target, res); err != nil {
8855		return nil, err
8856	}
8857	return ret, nil
8858	// {
8859	//   "description": "Deploys code and resource files to a new version.",
8860	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions",
8861	//   "httpMethod": "POST",
8862	//   "id": "appengine.apps.services.versions.create",
8863	//   "parameterOrder": [
8864	//     "appsId",
8865	//     "servicesId"
8866	//   ],
8867	//   "parameters": {
8868	//     "appsId": {
8869	//       "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.",
8870	//       "location": "path",
8871	//       "required": true,
8872	//       "type": "string"
8873	//     },
8874	//     "servicesId": {
8875	//       "description": "Part of `parent`. See documentation of `appsId`.",
8876	//       "location": "path",
8877	//       "required": true,
8878	//       "type": "string"
8879	//     }
8880	//   },
8881	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions",
8882	//   "request": {
8883	//     "$ref": "Version"
8884	//   },
8885	//   "response": {
8886	//     "$ref": "Operation"
8887	//   },
8888	//   "scopes": [
8889	//     "https://www.googleapis.com/auth/cloud-platform"
8890	//   ]
8891	// }
8892
8893}
8894
8895// method id "appengine.apps.services.versions.delete":
8896
8897type AppsServicesVersionsDeleteCall struct {
8898	s          *APIService
8899	appsId     string
8900	servicesId string
8901	versionsId string
8902	urlParams_ gensupport.URLParams
8903	ctx_       context.Context
8904	header_    http.Header
8905}
8906
8907// Delete: Deletes an existing Version resource.
8908//
8909// - appsId: Part of `name`. Name of the resource requested. Example:
8910//   apps/myapp/services/default/versions/v1.
8911// - servicesId: Part of `name`. See documentation of `appsId`.
8912// - versionsId: Part of `name`. See documentation of `appsId`.
8913func (r *AppsServicesVersionsService) Delete(appsId string, servicesId string, versionsId string) *AppsServicesVersionsDeleteCall {
8914	c := &AppsServicesVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8915	c.appsId = appsId
8916	c.servicesId = servicesId
8917	c.versionsId = versionsId
8918	return c
8919}
8920
8921// Fields allows partial responses to be retrieved. See
8922// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8923// for more information.
8924func (c *AppsServicesVersionsDeleteCall) Fields(s ...googleapi.Field) *AppsServicesVersionsDeleteCall {
8925	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8926	return c
8927}
8928
8929// Context sets the context to be used in this call's Do method. Any
8930// pending HTTP request will be aborted if the provided context is
8931// canceled.
8932func (c *AppsServicesVersionsDeleteCall) Context(ctx context.Context) *AppsServicesVersionsDeleteCall {
8933	c.ctx_ = ctx
8934	return c
8935}
8936
8937// Header returns an http.Header that can be modified by the caller to
8938// add HTTP headers to the request.
8939func (c *AppsServicesVersionsDeleteCall) Header() http.Header {
8940	if c.header_ == nil {
8941		c.header_ = make(http.Header)
8942	}
8943	return c.header_
8944}
8945
8946func (c *AppsServicesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
8947	reqHeaders := make(http.Header)
8948	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8949	for k, v := range c.header_ {
8950		reqHeaders[k] = v
8951	}
8952	reqHeaders.Set("User-Agent", c.s.userAgent())
8953	var body io.Reader = nil
8954	c.urlParams_.Set("alt", alt)
8955	c.urlParams_.Set("prettyPrint", "false")
8956	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
8957	urls += "?" + c.urlParams_.Encode()
8958	req, err := http.NewRequest("DELETE", urls, body)
8959	if err != nil {
8960		return nil, err
8961	}
8962	req.Header = reqHeaders
8963	googleapi.Expand(req.URL, map[string]string{
8964		"appsId":     c.appsId,
8965		"servicesId": c.servicesId,
8966		"versionsId": c.versionsId,
8967	})
8968	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8969}
8970
8971// Do executes the "appengine.apps.services.versions.delete" call.
8972// Exactly one of *Operation or error will be non-nil. Any non-2xx
8973// status code is an error. Response headers are in either
8974// *Operation.ServerResponse.Header or (if a response was returned at
8975// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8976// to check whether the returned error was because
8977// http.StatusNotModified was returned.
8978func (c *AppsServicesVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8979	gensupport.SetOptions(c.urlParams_, opts...)
8980	res, err := c.doRequest("json")
8981	if res != nil && res.StatusCode == http.StatusNotModified {
8982		if res.Body != nil {
8983			res.Body.Close()
8984		}
8985		return nil, &googleapi.Error{
8986			Code:   res.StatusCode,
8987			Header: res.Header,
8988		}
8989	}
8990	if err != nil {
8991		return nil, err
8992	}
8993	defer googleapi.CloseBody(res)
8994	if err := googleapi.CheckResponse(res); err != nil {
8995		return nil, err
8996	}
8997	ret := &Operation{
8998		ServerResponse: googleapi.ServerResponse{
8999			Header:         res.Header,
9000			HTTPStatusCode: res.StatusCode,
9001		},
9002	}
9003	target := &ret
9004	if err := gensupport.DecodeResponse(target, res); err != nil {
9005		return nil, err
9006	}
9007	return ret, nil
9008	// {
9009	//   "description": "Deletes an existing Version resource.",
9010	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9011	//   "httpMethod": "DELETE",
9012	//   "id": "appengine.apps.services.versions.delete",
9013	//   "parameterOrder": [
9014	//     "appsId",
9015	//     "servicesId",
9016	//     "versionsId"
9017	//   ],
9018	//   "parameters": {
9019	//     "appsId": {
9020	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.",
9021	//       "location": "path",
9022	//       "required": true,
9023	//       "type": "string"
9024	//     },
9025	//     "servicesId": {
9026	//       "description": "Part of `name`. See documentation of `appsId`.",
9027	//       "location": "path",
9028	//       "required": true,
9029	//       "type": "string"
9030	//     },
9031	//     "versionsId": {
9032	//       "description": "Part of `name`. See documentation of `appsId`.",
9033	//       "location": "path",
9034	//       "required": true,
9035	//       "type": "string"
9036	//     }
9037	//   },
9038	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9039	//   "response": {
9040	//     "$ref": "Operation"
9041	//   },
9042	//   "scopes": [
9043	//     "https://www.googleapis.com/auth/cloud-platform"
9044	//   ]
9045	// }
9046
9047}
9048
9049// method id "appengine.apps.services.versions.get":
9050
9051type AppsServicesVersionsGetCall struct {
9052	s            *APIService
9053	appsId       string
9054	servicesId   string
9055	versionsId   string
9056	urlParams_   gensupport.URLParams
9057	ifNoneMatch_ string
9058	ctx_         context.Context
9059	header_      http.Header
9060}
9061
9062// Get: Gets the specified Version resource. By default, only a
9063// BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get
9064// the full resource.
9065//
9066// - appsId: Part of `name`. Name of the resource requested. Example:
9067//   apps/myapp/services/default/versions/v1.
9068// - servicesId: Part of `name`. See documentation of `appsId`.
9069// - versionsId: Part of `name`. See documentation of `appsId`.
9070func (r *AppsServicesVersionsService) Get(appsId string, servicesId string, versionsId string) *AppsServicesVersionsGetCall {
9071	c := &AppsServicesVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9072	c.appsId = appsId
9073	c.servicesId = servicesId
9074	c.versionsId = versionsId
9075	return c
9076}
9077
9078// View sets the optional parameter "view": Controls the set of fields
9079// returned in the Get response.
9080//
9081// Possible values:
9082//   "BASIC" - Basic version information including scaling and inbound
9083// services, but not detailed deployment information.
9084//   "FULL" - The information from BASIC, plus detailed information
9085// about the deployment. This format is required when creating
9086// resources, but is not returned in Get or List by default.
9087func (c *AppsServicesVersionsGetCall) View(view string) *AppsServicesVersionsGetCall {
9088	c.urlParams_.Set("view", view)
9089	return c
9090}
9091
9092// Fields allows partial responses to be retrieved. See
9093// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9094// for more information.
9095func (c *AppsServicesVersionsGetCall) Fields(s ...googleapi.Field) *AppsServicesVersionsGetCall {
9096	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9097	return c
9098}
9099
9100// IfNoneMatch sets the optional parameter which makes the operation
9101// fail if the object's ETag matches the given value. This is useful for
9102// getting updates only after the object has changed since the last
9103// request. Use googleapi.IsNotModified to check whether the response
9104// error from Do is the result of In-None-Match.
9105func (c *AppsServicesVersionsGetCall) IfNoneMatch(entityTag string) *AppsServicesVersionsGetCall {
9106	c.ifNoneMatch_ = entityTag
9107	return c
9108}
9109
9110// Context sets the context to be used in this call's Do method. Any
9111// pending HTTP request will be aborted if the provided context is
9112// canceled.
9113func (c *AppsServicesVersionsGetCall) Context(ctx context.Context) *AppsServicesVersionsGetCall {
9114	c.ctx_ = ctx
9115	return c
9116}
9117
9118// Header returns an http.Header that can be modified by the caller to
9119// add HTTP headers to the request.
9120func (c *AppsServicesVersionsGetCall) Header() http.Header {
9121	if c.header_ == nil {
9122		c.header_ = make(http.Header)
9123	}
9124	return c.header_
9125}
9126
9127func (c *AppsServicesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
9128	reqHeaders := make(http.Header)
9129	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9130	for k, v := range c.header_ {
9131		reqHeaders[k] = v
9132	}
9133	reqHeaders.Set("User-Agent", c.s.userAgent())
9134	if c.ifNoneMatch_ != "" {
9135		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9136	}
9137	var body io.Reader = nil
9138	c.urlParams_.Set("alt", alt)
9139	c.urlParams_.Set("prettyPrint", "false")
9140	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
9141	urls += "?" + c.urlParams_.Encode()
9142	req, err := http.NewRequest("GET", urls, body)
9143	if err != nil {
9144		return nil, err
9145	}
9146	req.Header = reqHeaders
9147	googleapi.Expand(req.URL, map[string]string{
9148		"appsId":     c.appsId,
9149		"servicesId": c.servicesId,
9150		"versionsId": c.versionsId,
9151	})
9152	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9153}
9154
9155// Do executes the "appengine.apps.services.versions.get" call.
9156// Exactly one of *Version or error will be non-nil. Any non-2xx status
9157// code is an error. Response headers are in either
9158// *Version.ServerResponse.Header or (if a response was returned at all)
9159// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9160// check whether the returned error was because http.StatusNotModified
9161// was returned.
9162func (c *AppsServicesVersionsGetCall) Do(opts ...googleapi.CallOption) (*Version, error) {
9163	gensupport.SetOptions(c.urlParams_, opts...)
9164	res, err := c.doRequest("json")
9165	if res != nil && res.StatusCode == http.StatusNotModified {
9166		if res.Body != nil {
9167			res.Body.Close()
9168		}
9169		return nil, &googleapi.Error{
9170			Code:   res.StatusCode,
9171			Header: res.Header,
9172		}
9173	}
9174	if err != nil {
9175		return nil, err
9176	}
9177	defer googleapi.CloseBody(res)
9178	if err := googleapi.CheckResponse(res); err != nil {
9179		return nil, err
9180	}
9181	ret := &Version{
9182		ServerResponse: googleapi.ServerResponse{
9183			Header:         res.Header,
9184			HTTPStatusCode: res.StatusCode,
9185		},
9186	}
9187	target := &ret
9188	if err := gensupport.DecodeResponse(target, res); err != nil {
9189		return nil, err
9190	}
9191	return ret, nil
9192	// {
9193	//   "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.",
9194	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9195	//   "httpMethod": "GET",
9196	//   "id": "appengine.apps.services.versions.get",
9197	//   "parameterOrder": [
9198	//     "appsId",
9199	//     "servicesId",
9200	//     "versionsId"
9201	//   ],
9202	//   "parameters": {
9203	//     "appsId": {
9204	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.",
9205	//       "location": "path",
9206	//       "required": true,
9207	//       "type": "string"
9208	//     },
9209	//     "servicesId": {
9210	//       "description": "Part of `name`. See documentation of `appsId`.",
9211	//       "location": "path",
9212	//       "required": true,
9213	//       "type": "string"
9214	//     },
9215	//     "versionsId": {
9216	//       "description": "Part of `name`. See documentation of `appsId`.",
9217	//       "location": "path",
9218	//       "required": true,
9219	//       "type": "string"
9220	//     },
9221	//     "view": {
9222	//       "description": "Controls the set of fields returned in the Get response.",
9223	//       "enum": [
9224	//         "BASIC",
9225	//         "FULL"
9226	//       ],
9227	//       "enumDescriptions": [
9228	//         "Basic version information including scaling and inbound services, but not detailed deployment information.",
9229	//         "The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default."
9230	//       ],
9231	//       "location": "query",
9232	//       "type": "string"
9233	//     }
9234	//   },
9235	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9236	//   "response": {
9237	//     "$ref": "Version"
9238	//   },
9239	//   "scopes": [
9240	//     "https://www.googleapis.com/auth/appengine.admin",
9241	//     "https://www.googleapis.com/auth/cloud-platform",
9242	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
9243	//   ]
9244	// }
9245
9246}
9247
9248// method id "appengine.apps.services.versions.list":
9249
9250type AppsServicesVersionsListCall struct {
9251	s            *APIService
9252	appsId       string
9253	servicesId   string
9254	urlParams_   gensupport.URLParams
9255	ifNoneMatch_ string
9256	ctx_         context.Context
9257	header_      http.Header
9258}
9259
9260// List: Lists the versions of a service.
9261//
9262// - appsId: Part of `parent`. Name of the parent Service resource.
9263//   Example: apps/myapp/services/default.
9264// - servicesId: Part of `parent`. See documentation of `appsId`.
9265func (r *AppsServicesVersionsService) List(appsId string, servicesId string) *AppsServicesVersionsListCall {
9266	c := &AppsServicesVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9267	c.appsId = appsId
9268	c.servicesId = servicesId
9269	return c
9270}
9271
9272// PageSize sets the optional parameter "pageSize": Maximum results to
9273// return per page.
9274func (c *AppsServicesVersionsListCall) PageSize(pageSize int64) *AppsServicesVersionsListCall {
9275	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9276	return c
9277}
9278
9279// PageToken sets the optional parameter "pageToken": Continuation token
9280// for fetching the next page of results.
9281func (c *AppsServicesVersionsListCall) PageToken(pageToken string) *AppsServicesVersionsListCall {
9282	c.urlParams_.Set("pageToken", pageToken)
9283	return c
9284}
9285
9286// View sets the optional parameter "view": Controls the set of fields
9287// returned in the List response.
9288//
9289// Possible values:
9290//   "BASIC" - Basic version information including scaling and inbound
9291// services, but not detailed deployment information.
9292//   "FULL" - The information from BASIC, plus detailed information
9293// about the deployment. This format is required when creating
9294// resources, but is not returned in Get or List by default.
9295func (c *AppsServicesVersionsListCall) View(view string) *AppsServicesVersionsListCall {
9296	c.urlParams_.Set("view", view)
9297	return c
9298}
9299
9300// Fields allows partial responses to be retrieved. See
9301// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9302// for more information.
9303func (c *AppsServicesVersionsListCall) Fields(s ...googleapi.Field) *AppsServicesVersionsListCall {
9304	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9305	return c
9306}
9307
9308// IfNoneMatch sets the optional parameter which makes the operation
9309// fail if the object's ETag matches the given value. This is useful for
9310// getting updates only after the object has changed since the last
9311// request. Use googleapi.IsNotModified to check whether the response
9312// error from Do is the result of In-None-Match.
9313func (c *AppsServicesVersionsListCall) IfNoneMatch(entityTag string) *AppsServicesVersionsListCall {
9314	c.ifNoneMatch_ = entityTag
9315	return c
9316}
9317
9318// Context sets the context to be used in this call's Do method. Any
9319// pending HTTP request will be aborted if the provided context is
9320// canceled.
9321func (c *AppsServicesVersionsListCall) Context(ctx context.Context) *AppsServicesVersionsListCall {
9322	c.ctx_ = ctx
9323	return c
9324}
9325
9326// Header returns an http.Header that can be modified by the caller to
9327// add HTTP headers to the request.
9328func (c *AppsServicesVersionsListCall) Header() http.Header {
9329	if c.header_ == nil {
9330		c.header_ = make(http.Header)
9331	}
9332	return c.header_
9333}
9334
9335func (c *AppsServicesVersionsListCall) doRequest(alt string) (*http.Response, error) {
9336	reqHeaders := make(http.Header)
9337	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9338	for k, v := range c.header_ {
9339		reqHeaders[k] = v
9340	}
9341	reqHeaders.Set("User-Agent", c.s.userAgent())
9342	if c.ifNoneMatch_ != "" {
9343		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9344	}
9345	var body io.Reader = nil
9346	c.urlParams_.Set("alt", alt)
9347	c.urlParams_.Set("prettyPrint", "false")
9348	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions")
9349	urls += "?" + c.urlParams_.Encode()
9350	req, err := http.NewRequest("GET", urls, body)
9351	if err != nil {
9352		return nil, err
9353	}
9354	req.Header = reqHeaders
9355	googleapi.Expand(req.URL, map[string]string{
9356		"appsId":     c.appsId,
9357		"servicesId": c.servicesId,
9358	})
9359	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9360}
9361
9362// Do executes the "appengine.apps.services.versions.list" call.
9363// Exactly one of *ListVersionsResponse or error will be non-nil. Any
9364// non-2xx status code is an error. Response headers are in either
9365// *ListVersionsResponse.ServerResponse.Header or (if a response was
9366// returned at all) in error.(*googleapi.Error).Header. Use
9367// googleapi.IsNotModified to check whether the returned error was
9368// because http.StatusNotModified was returned.
9369func (c *AppsServicesVersionsListCall) Do(opts ...googleapi.CallOption) (*ListVersionsResponse, error) {
9370	gensupport.SetOptions(c.urlParams_, opts...)
9371	res, err := c.doRequest("json")
9372	if res != nil && res.StatusCode == http.StatusNotModified {
9373		if res.Body != nil {
9374			res.Body.Close()
9375		}
9376		return nil, &googleapi.Error{
9377			Code:   res.StatusCode,
9378			Header: res.Header,
9379		}
9380	}
9381	if err != nil {
9382		return nil, err
9383	}
9384	defer googleapi.CloseBody(res)
9385	if err := googleapi.CheckResponse(res); err != nil {
9386		return nil, err
9387	}
9388	ret := &ListVersionsResponse{
9389		ServerResponse: googleapi.ServerResponse{
9390			Header:         res.Header,
9391			HTTPStatusCode: res.StatusCode,
9392		},
9393	}
9394	target := &ret
9395	if err := gensupport.DecodeResponse(target, res); err != nil {
9396		return nil, err
9397	}
9398	return ret, nil
9399	// {
9400	//   "description": "Lists the versions of a service.",
9401	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions",
9402	//   "httpMethod": "GET",
9403	//   "id": "appengine.apps.services.versions.list",
9404	//   "parameterOrder": [
9405	//     "appsId",
9406	//     "servicesId"
9407	//   ],
9408	//   "parameters": {
9409	//     "appsId": {
9410	//       "description": "Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default.",
9411	//       "location": "path",
9412	//       "required": true,
9413	//       "type": "string"
9414	//     },
9415	//     "pageSize": {
9416	//       "description": "Maximum results to return per page.",
9417	//       "format": "int32",
9418	//       "location": "query",
9419	//       "type": "integer"
9420	//     },
9421	//     "pageToken": {
9422	//       "description": "Continuation token for fetching the next page of results.",
9423	//       "location": "query",
9424	//       "type": "string"
9425	//     },
9426	//     "servicesId": {
9427	//       "description": "Part of `parent`. See documentation of `appsId`.",
9428	//       "location": "path",
9429	//       "required": true,
9430	//       "type": "string"
9431	//     },
9432	//     "view": {
9433	//       "description": "Controls the set of fields returned in the List response.",
9434	//       "enum": [
9435	//         "BASIC",
9436	//         "FULL"
9437	//       ],
9438	//       "enumDescriptions": [
9439	//         "Basic version information including scaling and inbound services, but not detailed deployment information.",
9440	//         "The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default."
9441	//       ],
9442	//       "location": "query",
9443	//       "type": "string"
9444	//     }
9445	//   },
9446	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions",
9447	//   "response": {
9448	//     "$ref": "ListVersionsResponse"
9449	//   },
9450	//   "scopes": [
9451	//     "https://www.googleapis.com/auth/appengine.admin",
9452	//     "https://www.googleapis.com/auth/cloud-platform",
9453	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
9454	//   ]
9455	// }
9456
9457}
9458
9459// Pages invokes f for each page of results.
9460// A non-nil error returned from f will halt the iteration.
9461// The provided context supersedes any context provided to the Context method.
9462func (c *AppsServicesVersionsListCall) Pages(ctx context.Context, f func(*ListVersionsResponse) error) error {
9463	c.ctx_ = ctx
9464	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9465	for {
9466		x, err := c.Do()
9467		if err != nil {
9468			return err
9469		}
9470		if err := f(x); err != nil {
9471			return err
9472		}
9473		if x.NextPageToken == "" {
9474			return nil
9475		}
9476		c.PageToken(x.NextPageToken)
9477	}
9478}
9479
9480// method id "appengine.apps.services.versions.patch":
9481
9482type AppsServicesVersionsPatchCall struct {
9483	s          *APIService
9484	appsId     string
9485	servicesId string
9486	versionsId string
9487	version    *Version
9488	urlParams_ gensupport.URLParams
9489	ctx_       context.Context
9490	header_    http.Header
9491}
9492
9493// Patch: Updates the specified Version resource. You can specify the
9494// following fields depending on the App Engine environment and type of
9495// scaling that the version resource uses:Standard environment
9496// instance_class
9497// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class)automatic
9498// scaling in the standard environment:
9499// automatic_scaling.min_idle_instances
9500// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
9501// automatic_scaling.max_idle_instances
9502// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
9503// automaticScaling.standard_scheduler_settings.max_instances
9504// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
9505// automaticScaling.standard_scheduler_settings.min_instances
9506// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
9507// automaticScaling.standard_scheduler_settings.target_cpu_utilization
9508// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
9509// automaticScaling.standard_scheduler_settings.target_throughput_utiliza
9510// tion
9511// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)basic
9512// scaling or manual scaling in the standard environment: serving_status
9513// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)
9514// manual_scaling.instances
9515// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)Flexible
9516// environment serving_status
9517// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)automatic
9518// scaling in the flexible environment:
9519// automatic_scaling.min_total_instances
9520// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
9521// automatic_scaling.max_total_instances
9522// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
9523// automatic_scaling.cool_down_period_sec
9524// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
9525// automatic_scaling.cpu_utilization.target_utilization
9526// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)manual
9527// scaling in the flexible environment: manual_scaling.instances
9528// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)
9529//
9530// - appsId: Part of `name`. Name of the resource to update. Example:
9531//   apps/myapp/services/default/versions/1.
9532// - servicesId: Part of `name`. See documentation of `appsId`.
9533// - versionsId: Part of `name`. See documentation of `appsId`.
9534func (r *AppsServicesVersionsService) Patch(appsId string, servicesId string, versionsId string, version *Version) *AppsServicesVersionsPatchCall {
9535	c := &AppsServicesVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9536	c.appsId = appsId
9537	c.servicesId = servicesId
9538	c.versionsId = versionsId
9539	c.version = version
9540	return c
9541}
9542
9543// UpdateMask sets the optional parameter "updateMask": Standard field
9544// mask for the set of fields to be updated.
9545func (c *AppsServicesVersionsPatchCall) UpdateMask(updateMask string) *AppsServicesVersionsPatchCall {
9546	c.urlParams_.Set("updateMask", updateMask)
9547	return c
9548}
9549
9550// Fields allows partial responses to be retrieved. See
9551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9552// for more information.
9553func (c *AppsServicesVersionsPatchCall) Fields(s ...googleapi.Field) *AppsServicesVersionsPatchCall {
9554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9555	return c
9556}
9557
9558// Context sets the context to be used in this call's Do method. Any
9559// pending HTTP request will be aborted if the provided context is
9560// canceled.
9561func (c *AppsServicesVersionsPatchCall) Context(ctx context.Context) *AppsServicesVersionsPatchCall {
9562	c.ctx_ = ctx
9563	return c
9564}
9565
9566// Header returns an http.Header that can be modified by the caller to
9567// add HTTP headers to the request.
9568func (c *AppsServicesVersionsPatchCall) Header() http.Header {
9569	if c.header_ == nil {
9570		c.header_ = make(http.Header)
9571	}
9572	return c.header_
9573}
9574
9575func (c *AppsServicesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
9576	reqHeaders := make(http.Header)
9577	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9578	for k, v := range c.header_ {
9579		reqHeaders[k] = v
9580	}
9581	reqHeaders.Set("User-Agent", c.s.userAgent())
9582	var body io.Reader = nil
9583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.version)
9584	if err != nil {
9585		return nil, err
9586	}
9587	reqHeaders.Set("Content-Type", "application/json")
9588	c.urlParams_.Set("alt", alt)
9589	c.urlParams_.Set("prettyPrint", "false")
9590	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}")
9591	urls += "?" + c.urlParams_.Encode()
9592	req, err := http.NewRequest("PATCH", urls, body)
9593	if err != nil {
9594		return nil, err
9595	}
9596	req.Header = reqHeaders
9597	googleapi.Expand(req.URL, map[string]string{
9598		"appsId":     c.appsId,
9599		"servicesId": c.servicesId,
9600		"versionsId": c.versionsId,
9601	})
9602	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9603}
9604
9605// Do executes the "appengine.apps.services.versions.patch" call.
9606// Exactly one of *Operation or error will be non-nil. Any non-2xx
9607// status code is an error. Response headers are in either
9608// *Operation.ServerResponse.Header or (if a response was returned at
9609// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9610// to check whether the returned error was because
9611// http.StatusNotModified was returned.
9612func (c *AppsServicesVersionsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9613	gensupport.SetOptions(c.urlParams_, opts...)
9614	res, err := c.doRequest("json")
9615	if res != nil && res.StatusCode == http.StatusNotModified {
9616		if res.Body != nil {
9617			res.Body.Close()
9618		}
9619		return nil, &googleapi.Error{
9620			Code:   res.StatusCode,
9621			Header: res.Header,
9622		}
9623	}
9624	if err != nil {
9625		return nil, err
9626	}
9627	defer googleapi.CloseBody(res)
9628	if err := googleapi.CheckResponse(res); err != nil {
9629		return nil, err
9630	}
9631	ret := &Operation{
9632		ServerResponse: googleapi.ServerResponse{
9633			Header:         res.Header,
9634			HTTPStatusCode: res.StatusCode,
9635		},
9636	}
9637	target := &ret
9638	if err := gensupport.DecodeResponse(target, res); err != nil {
9639		return nil, err
9640	}
9641	return ret, nil
9642	// {
9643	//   "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:Standard environment instance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class)automatic scaling in the standard environment: automatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) automaticScaling.standard_scheduler_settings.max_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.min_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_cpu_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_throughput_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)basic scaling or manual scaling in the standard environment: serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status) manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)Flexible environment serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)automatic scaling in the flexible environment: automatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)manual scaling in the flexible environment: manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)",
9644	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9645	//   "httpMethod": "PATCH",
9646	//   "id": "appengine.apps.services.versions.patch",
9647	//   "parameterOrder": [
9648	//     "appsId",
9649	//     "servicesId",
9650	//     "versionsId"
9651	//   ],
9652	//   "parameters": {
9653	//     "appsId": {
9654	//       "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.",
9655	//       "location": "path",
9656	//       "required": true,
9657	//       "type": "string"
9658	//     },
9659	//     "servicesId": {
9660	//       "description": "Part of `name`. See documentation of `appsId`.",
9661	//       "location": "path",
9662	//       "required": true,
9663	//       "type": "string"
9664	//     },
9665	//     "updateMask": {
9666	//       "description": "Standard field mask for the set of fields to be updated.",
9667	//       "format": "google-fieldmask",
9668	//       "location": "query",
9669	//       "type": "string"
9670	//     },
9671	//     "versionsId": {
9672	//       "description": "Part of `name`. See documentation of `appsId`.",
9673	//       "location": "path",
9674	//       "required": true,
9675	//       "type": "string"
9676	//     }
9677	//   },
9678	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
9679	//   "request": {
9680	//     "$ref": "Version"
9681	//   },
9682	//   "response": {
9683	//     "$ref": "Operation"
9684	//   },
9685	//   "scopes": [
9686	//     "https://www.googleapis.com/auth/cloud-platform"
9687	//   ]
9688	// }
9689
9690}
9691
9692// method id "appengine.apps.services.versions.instances.debug":
9693
9694type AppsServicesVersionsInstancesDebugCall struct {
9695	s                    *APIService
9696	appsId               string
9697	servicesId           string
9698	versionsId           string
9699	instancesId          string
9700	debuginstancerequest *DebugInstanceRequest
9701	urlParams_           gensupport.URLParams
9702	ctx_                 context.Context
9703	header_              http.Header
9704}
9705
9706// Debug: Enables debugging on a VM instance. This allows you to use the
9707// SSH command to connect to the virtual machine where the instance
9708// lives. While in "debug mode", the instance continues to serve live
9709// traffic. You should delete the instance when you are done debugging
9710// and then allow the system to take over and determine if another
9711// instance should be started.Only applicable for instances in App
9712// Engine flexible environment.
9713//
9714// - appsId: Part of `name`. Name of the resource requested. Example:
9715//   apps/myapp/services/default/versions/v1/instances/instance-1.
9716// - instancesId: Part of `name`. See documentation of `appsId`.
9717// - servicesId: Part of `name`. See documentation of `appsId`.
9718// - versionsId: Part of `name`. See documentation of `appsId`.
9719func (r *AppsServicesVersionsInstancesService) Debug(appsId string, servicesId string, versionsId string, instancesId string, debuginstancerequest *DebugInstanceRequest) *AppsServicesVersionsInstancesDebugCall {
9720	c := &AppsServicesVersionsInstancesDebugCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9721	c.appsId = appsId
9722	c.servicesId = servicesId
9723	c.versionsId = versionsId
9724	c.instancesId = instancesId
9725	c.debuginstancerequest = debuginstancerequest
9726	return c
9727}
9728
9729// Fields allows partial responses to be retrieved. See
9730// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9731// for more information.
9732func (c *AppsServicesVersionsInstancesDebugCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesDebugCall {
9733	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9734	return c
9735}
9736
9737// Context sets the context to be used in this call's Do method. Any
9738// pending HTTP request will be aborted if the provided context is
9739// canceled.
9740func (c *AppsServicesVersionsInstancesDebugCall) Context(ctx context.Context) *AppsServicesVersionsInstancesDebugCall {
9741	c.ctx_ = ctx
9742	return c
9743}
9744
9745// Header returns an http.Header that can be modified by the caller to
9746// add HTTP headers to the request.
9747func (c *AppsServicesVersionsInstancesDebugCall) Header() http.Header {
9748	if c.header_ == nil {
9749		c.header_ = make(http.Header)
9750	}
9751	return c.header_
9752}
9753
9754func (c *AppsServicesVersionsInstancesDebugCall) doRequest(alt string) (*http.Response, error) {
9755	reqHeaders := make(http.Header)
9756	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9757	for k, v := range c.header_ {
9758		reqHeaders[k] = v
9759	}
9760	reqHeaders.Set("User-Agent", c.s.userAgent())
9761	var body io.Reader = nil
9762	body, err := googleapi.WithoutDataWrapper.JSONReader(c.debuginstancerequest)
9763	if err != nil {
9764		return nil, err
9765	}
9766	reqHeaders.Set("Content-Type", "application/json")
9767	c.urlParams_.Set("alt", alt)
9768	c.urlParams_.Set("prettyPrint", "false")
9769	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug")
9770	urls += "?" + c.urlParams_.Encode()
9771	req, err := http.NewRequest("POST", urls, body)
9772	if err != nil {
9773		return nil, err
9774	}
9775	req.Header = reqHeaders
9776	googleapi.Expand(req.URL, map[string]string{
9777		"appsId":      c.appsId,
9778		"servicesId":  c.servicesId,
9779		"versionsId":  c.versionsId,
9780		"instancesId": c.instancesId,
9781	})
9782	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9783}
9784
9785// Do executes the "appengine.apps.services.versions.instances.debug" call.
9786// Exactly one of *Operation or error will be non-nil. Any non-2xx
9787// status code is an error. Response headers are in either
9788// *Operation.ServerResponse.Header or (if a response was returned at
9789// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9790// to check whether the returned error was because
9791// http.StatusNotModified was returned.
9792func (c *AppsServicesVersionsInstancesDebugCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9793	gensupport.SetOptions(c.urlParams_, opts...)
9794	res, err := c.doRequest("json")
9795	if res != nil && res.StatusCode == http.StatusNotModified {
9796		if res.Body != nil {
9797			res.Body.Close()
9798		}
9799		return nil, &googleapi.Error{
9800			Code:   res.StatusCode,
9801			Header: res.Header,
9802		}
9803	}
9804	if err != nil {
9805		return nil, err
9806	}
9807	defer googleapi.CloseBody(res)
9808	if err := googleapi.CheckResponse(res); err != nil {
9809		return nil, err
9810	}
9811	ret := &Operation{
9812		ServerResponse: googleapi.ServerResponse{
9813			Header:         res.Header,
9814			HTTPStatusCode: res.StatusCode,
9815		},
9816	}
9817	target := &ret
9818	if err := gensupport.DecodeResponse(target, res); err != nil {
9819		return nil, err
9820	}
9821	return ret, nil
9822	// {
9823	//   "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.",
9824	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug",
9825	//   "httpMethod": "POST",
9826	//   "id": "appengine.apps.services.versions.instances.debug",
9827	//   "parameterOrder": [
9828	//     "appsId",
9829	//     "servicesId",
9830	//     "versionsId",
9831	//     "instancesId"
9832	//   ],
9833	//   "parameters": {
9834	//     "appsId": {
9835	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.",
9836	//       "location": "path",
9837	//       "required": true,
9838	//       "type": "string"
9839	//     },
9840	//     "instancesId": {
9841	//       "description": "Part of `name`. See documentation of `appsId`.",
9842	//       "location": "path",
9843	//       "required": true,
9844	//       "type": "string"
9845	//     },
9846	//     "servicesId": {
9847	//       "description": "Part of `name`. See documentation of `appsId`.",
9848	//       "location": "path",
9849	//       "required": true,
9850	//       "type": "string"
9851	//     },
9852	//     "versionsId": {
9853	//       "description": "Part of `name`. See documentation of `appsId`.",
9854	//       "location": "path",
9855	//       "required": true,
9856	//       "type": "string"
9857	//     }
9858	//   },
9859	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug",
9860	//   "request": {
9861	//     "$ref": "DebugInstanceRequest"
9862	//   },
9863	//   "response": {
9864	//     "$ref": "Operation"
9865	//   },
9866	//   "scopes": [
9867	//     "https://www.googleapis.com/auth/cloud-platform"
9868	//   ]
9869	// }
9870
9871}
9872
9873// method id "appengine.apps.services.versions.instances.delete":
9874
9875type AppsServicesVersionsInstancesDeleteCall struct {
9876	s           *APIService
9877	appsId      string
9878	servicesId  string
9879	versionsId  string
9880	instancesId string
9881	urlParams_  gensupport.URLParams
9882	ctx_        context.Context
9883	header_     http.Header
9884}
9885
9886// Delete: Stops a running instance.The instance might be automatically
9887// recreated based on the scaling settings of the version. For more
9888// information, see "How Instances are Managed" (standard environment
9889// (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed)
9890// | flexible environment
9891// (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To
9892// ensure that instances are not re-created and avoid getting billed,
9893// you can stop all instances within the target version by changing the
9894// serving status of the version to STOPPED with the
9895// apps.services.versions.patch
9896// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch)
9897// method.
9898//
9899// - appsId: Part of `name`. Name of the resource requested. Example:
9900//   apps/myapp/services/default/versions/v1/instances/instance-1.
9901// - instancesId: Part of `name`. See documentation of `appsId`.
9902// - servicesId: Part of `name`. See documentation of `appsId`.
9903// - versionsId: Part of `name`. See documentation of `appsId`.
9904func (r *AppsServicesVersionsInstancesService) Delete(appsId string, servicesId string, versionsId string, instancesId string) *AppsServicesVersionsInstancesDeleteCall {
9905	c := &AppsServicesVersionsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9906	c.appsId = appsId
9907	c.servicesId = servicesId
9908	c.versionsId = versionsId
9909	c.instancesId = instancesId
9910	return c
9911}
9912
9913// Fields allows partial responses to be retrieved. See
9914// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9915// for more information.
9916func (c *AppsServicesVersionsInstancesDeleteCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesDeleteCall {
9917	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9918	return c
9919}
9920
9921// Context sets the context to be used in this call's Do method. Any
9922// pending HTTP request will be aborted if the provided context is
9923// canceled.
9924func (c *AppsServicesVersionsInstancesDeleteCall) Context(ctx context.Context) *AppsServicesVersionsInstancesDeleteCall {
9925	c.ctx_ = ctx
9926	return c
9927}
9928
9929// Header returns an http.Header that can be modified by the caller to
9930// add HTTP headers to the request.
9931func (c *AppsServicesVersionsInstancesDeleteCall) Header() http.Header {
9932	if c.header_ == nil {
9933		c.header_ = make(http.Header)
9934	}
9935	return c.header_
9936}
9937
9938func (c *AppsServicesVersionsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
9939	reqHeaders := make(http.Header)
9940	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9941	for k, v := range c.header_ {
9942		reqHeaders[k] = v
9943	}
9944	reqHeaders.Set("User-Agent", c.s.userAgent())
9945	var body io.Reader = nil
9946	c.urlParams_.Set("alt", alt)
9947	c.urlParams_.Set("prettyPrint", "false")
9948	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}")
9949	urls += "?" + c.urlParams_.Encode()
9950	req, err := http.NewRequest("DELETE", urls, body)
9951	if err != nil {
9952		return nil, err
9953	}
9954	req.Header = reqHeaders
9955	googleapi.Expand(req.URL, map[string]string{
9956		"appsId":      c.appsId,
9957		"servicesId":  c.servicesId,
9958		"versionsId":  c.versionsId,
9959		"instancesId": c.instancesId,
9960	})
9961	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9962}
9963
9964// Do executes the "appengine.apps.services.versions.instances.delete" call.
9965// Exactly one of *Operation or error will be non-nil. Any non-2xx
9966// status code is an error. Response headers are in either
9967// *Operation.ServerResponse.Header or (if a response was returned at
9968// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9969// to check whether the returned error was because
9970// http.StatusNotModified was returned.
9971func (c *AppsServicesVersionsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9972	gensupport.SetOptions(c.urlParams_, opts...)
9973	res, err := c.doRequest("json")
9974	if res != nil && res.StatusCode == http.StatusNotModified {
9975		if res.Body != nil {
9976			res.Body.Close()
9977		}
9978		return nil, &googleapi.Error{
9979			Code:   res.StatusCode,
9980			Header: res.Header,
9981		}
9982	}
9983	if err != nil {
9984		return nil, err
9985	}
9986	defer googleapi.CloseBody(res)
9987	if err := googleapi.CheckResponse(res); err != nil {
9988		return nil, err
9989	}
9990	ret := &Operation{
9991		ServerResponse: googleapi.ServerResponse{
9992			Header:         res.Header,
9993			HTTPStatusCode: res.StatusCode,
9994		},
9995	}
9996	target := &ret
9997	if err := gensupport.DecodeResponse(target, res); err != nil {
9998		return nil, err
9999	}
10000	return ret, nil
10001	// {
10002	//   "description": "Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.",
10003	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
10004	//   "httpMethod": "DELETE",
10005	//   "id": "appengine.apps.services.versions.instances.delete",
10006	//   "parameterOrder": [
10007	//     "appsId",
10008	//     "servicesId",
10009	//     "versionsId",
10010	//     "instancesId"
10011	//   ],
10012	//   "parameters": {
10013	//     "appsId": {
10014	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.",
10015	//       "location": "path",
10016	//       "required": true,
10017	//       "type": "string"
10018	//     },
10019	//     "instancesId": {
10020	//       "description": "Part of `name`. See documentation of `appsId`.",
10021	//       "location": "path",
10022	//       "required": true,
10023	//       "type": "string"
10024	//     },
10025	//     "servicesId": {
10026	//       "description": "Part of `name`. See documentation of `appsId`.",
10027	//       "location": "path",
10028	//       "required": true,
10029	//       "type": "string"
10030	//     },
10031	//     "versionsId": {
10032	//       "description": "Part of `name`. See documentation of `appsId`.",
10033	//       "location": "path",
10034	//       "required": true,
10035	//       "type": "string"
10036	//     }
10037	//   },
10038	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
10039	//   "response": {
10040	//     "$ref": "Operation"
10041	//   },
10042	//   "scopes": [
10043	//     "https://www.googleapis.com/auth/cloud-platform"
10044	//   ]
10045	// }
10046
10047}
10048
10049// method id "appengine.apps.services.versions.instances.get":
10050
10051type AppsServicesVersionsInstancesGetCall struct {
10052	s            *APIService
10053	appsId       string
10054	servicesId   string
10055	versionsId   string
10056	instancesId  string
10057	urlParams_   gensupport.URLParams
10058	ifNoneMatch_ string
10059	ctx_         context.Context
10060	header_      http.Header
10061}
10062
10063// Get: Gets instance information.
10064//
10065// - appsId: Part of `name`. Name of the resource requested. Example:
10066//   apps/myapp/services/default/versions/v1/instances/instance-1.
10067// - instancesId: Part of `name`. See documentation of `appsId`.
10068// - servicesId: Part of `name`. See documentation of `appsId`.
10069// - versionsId: Part of `name`. See documentation of `appsId`.
10070func (r *AppsServicesVersionsInstancesService) Get(appsId string, servicesId string, versionsId string, instancesId string) *AppsServicesVersionsInstancesGetCall {
10071	c := &AppsServicesVersionsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10072	c.appsId = appsId
10073	c.servicesId = servicesId
10074	c.versionsId = versionsId
10075	c.instancesId = instancesId
10076	return c
10077}
10078
10079// Fields allows partial responses to be retrieved. See
10080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10081// for more information.
10082func (c *AppsServicesVersionsInstancesGetCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesGetCall {
10083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10084	return c
10085}
10086
10087// IfNoneMatch sets the optional parameter which makes the operation
10088// fail if the object's ETag matches the given value. This is useful for
10089// getting updates only after the object has changed since the last
10090// request. Use googleapi.IsNotModified to check whether the response
10091// error from Do is the result of In-None-Match.
10092func (c *AppsServicesVersionsInstancesGetCall) IfNoneMatch(entityTag string) *AppsServicesVersionsInstancesGetCall {
10093	c.ifNoneMatch_ = entityTag
10094	return c
10095}
10096
10097// Context sets the context to be used in this call's Do method. Any
10098// pending HTTP request will be aborted if the provided context is
10099// canceled.
10100func (c *AppsServicesVersionsInstancesGetCall) Context(ctx context.Context) *AppsServicesVersionsInstancesGetCall {
10101	c.ctx_ = ctx
10102	return c
10103}
10104
10105// Header returns an http.Header that can be modified by the caller to
10106// add HTTP headers to the request.
10107func (c *AppsServicesVersionsInstancesGetCall) Header() http.Header {
10108	if c.header_ == nil {
10109		c.header_ = make(http.Header)
10110	}
10111	return c.header_
10112}
10113
10114func (c *AppsServicesVersionsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
10115	reqHeaders := make(http.Header)
10116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10117	for k, v := range c.header_ {
10118		reqHeaders[k] = v
10119	}
10120	reqHeaders.Set("User-Agent", c.s.userAgent())
10121	if c.ifNoneMatch_ != "" {
10122		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10123	}
10124	var body io.Reader = nil
10125	c.urlParams_.Set("alt", alt)
10126	c.urlParams_.Set("prettyPrint", "false")
10127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}")
10128	urls += "?" + c.urlParams_.Encode()
10129	req, err := http.NewRequest("GET", urls, body)
10130	if err != nil {
10131		return nil, err
10132	}
10133	req.Header = reqHeaders
10134	googleapi.Expand(req.URL, map[string]string{
10135		"appsId":      c.appsId,
10136		"servicesId":  c.servicesId,
10137		"versionsId":  c.versionsId,
10138		"instancesId": c.instancesId,
10139	})
10140	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10141}
10142
10143// Do executes the "appengine.apps.services.versions.instances.get" call.
10144// Exactly one of *Instance or error will be non-nil. Any non-2xx status
10145// code is an error. Response headers are in either
10146// *Instance.ServerResponse.Header or (if a response was returned at
10147// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10148// to check whether the returned error was because
10149// http.StatusNotModified was returned.
10150func (c *AppsServicesVersionsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
10151	gensupport.SetOptions(c.urlParams_, opts...)
10152	res, err := c.doRequest("json")
10153	if res != nil && res.StatusCode == http.StatusNotModified {
10154		if res.Body != nil {
10155			res.Body.Close()
10156		}
10157		return nil, &googleapi.Error{
10158			Code:   res.StatusCode,
10159			Header: res.Header,
10160		}
10161	}
10162	if err != nil {
10163		return nil, err
10164	}
10165	defer googleapi.CloseBody(res)
10166	if err := googleapi.CheckResponse(res); err != nil {
10167		return nil, err
10168	}
10169	ret := &Instance{
10170		ServerResponse: googleapi.ServerResponse{
10171			Header:         res.Header,
10172			HTTPStatusCode: res.StatusCode,
10173		},
10174	}
10175	target := &ret
10176	if err := gensupport.DecodeResponse(target, res); err != nil {
10177		return nil, err
10178	}
10179	return ret, nil
10180	// {
10181	//   "description": "Gets instance information.",
10182	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
10183	//   "httpMethod": "GET",
10184	//   "id": "appengine.apps.services.versions.instances.get",
10185	//   "parameterOrder": [
10186	//     "appsId",
10187	//     "servicesId",
10188	//     "versionsId",
10189	//     "instancesId"
10190	//   ],
10191	//   "parameters": {
10192	//     "appsId": {
10193	//       "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.",
10194	//       "location": "path",
10195	//       "required": true,
10196	//       "type": "string"
10197	//     },
10198	//     "instancesId": {
10199	//       "description": "Part of `name`. See documentation of `appsId`.",
10200	//       "location": "path",
10201	//       "required": true,
10202	//       "type": "string"
10203	//     },
10204	//     "servicesId": {
10205	//       "description": "Part of `name`. See documentation of `appsId`.",
10206	//       "location": "path",
10207	//       "required": true,
10208	//       "type": "string"
10209	//     },
10210	//     "versionsId": {
10211	//       "description": "Part of `name`. See documentation of `appsId`.",
10212	//       "location": "path",
10213	//       "required": true,
10214	//       "type": "string"
10215	//     }
10216	//   },
10217	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
10218	//   "response": {
10219	//     "$ref": "Instance"
10220	//   },
10221	//   "scopes": [
10222	//     "https://www.googleapis.com/auth/appengine.admin",
10223	//     "https://www.googleapis.com/auth/cloud-platform",
10224	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
10225	//   ]
10226	// }
10227
10228}
10229
10230// method id "appengine.apps.services.versions.instances.list":
10231
10232type AppsServicesVersionsInstancesListCall struct {
10233	s            *APIService
10234	appsId       string
10235	servicesId   string
10236	versionsId   string
10237	urlParams_   gensupport.URLParams
10238	ifNoneMatch_ string
10239	ctx_         context.Context
10240	header_      http.Header
10241}
10242
10243// List: Lists the instances of a version.Tip: To aggregate details
10244// about instances over time, see the Stackdriver Monitoring API
10245// (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
10246//
10247// - appsId: Part of `parent`. Name of the parent Version resource.
10248//   Example: apps/myapp/services/default/versions/v1.
10249// - servicesId: Part of `parent`. See documentation of `appsId`.
10250// - versionsId: Part of `parent`. See documentation of `appsId`.
10251func (r *AppsServicesVersionsInstancesService) List(appsId string, servicesId string, versionsId string) *AppsServicesVersionsInstancesListCall {
10252	c := &AppsServicesVersionsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10253	c.appsId = appsId
10254	c.servicesId = servicesId
10255	c.versionsId = versionsId
10256	return c
10257}
10258
10259// PageSize sets the optional parameter "pageSize": Maximum results to
10260// return per page.
10261func (c *AppsServicesVersionsInstancesListCall) PageSize(pageSize int64) *AppsServicesVersionsInstancesListCall {
10262	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10263	return c
10264}
10265
10266// PageToken sets the optional parameter "pageToken": Continuation token
10267// for fetching the next page of results.
10268func (c *AppsServicesVersionsInstancesListCall) PageToken(pageToken string) *AppsServicesVersionsInstancesListCall {
10269	c.urlParams_.Set("pageToken", pageToken)
10270	return c
10271}
10272
10273// Fields allows partial responses to be retrieved. See
10274// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10275// for more information.
10276func (c *AppsServicesVersionsInstancesListCall) Fields(s ...googleapi.Field) *AppsServicesVersionsInstancesListCall {
10277	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10278	return c
10279}
10280
10281// IfNoneMatch sets the optional parameter which makes the operation
10282// fail if the object's ETag matches the given value. This is useful for
10283// getting updates only after the object has changed since the last
10284// request. Use googleapi.IsNotModified to check whether the response
10285// error from Do is the result of In-None-Match.
10286func (c *AppsServicesVersionsInstancesListCall) IfNoneMatch(entityTag string) *AppsServicesVersionsInstancesListCall {
10287	c.ifNoneMatch_ = entityTag
10288	return c
10289}
10290
10291// Context sets the context to be used in this call's Do method. Any
10292// pending HTTP request will be aborted if the provided context is
10293// canceled.
10294func (c *AppsServicesVersionsInstancesListCall) Context(ctx context.Context) *AppsServicesVersionsInstancesListCall {
10295	c.ctx_ = ctx
10296	return c
10297}
10298
10299// Header returns an http.Header that can be modified by the caller to
10300// add HTTP headers to the request.
10301func (c *AppsServicesVersionsInstancesListCall) Header() http.Header {
10302	if c.header_ == nil {
10303		c.header_ = make(http.Header)
10304	}
10305	return c.header_
10306}
10307
10308func (c *AppsServicesVersionsInstancesListCall) doRequest(alt string) (*http.Response, error) {
10309	reqHeaders := make(http.Header)
10310	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10311	for k, v := range c.header_ {
10312		reqHeaders[k] = v
10313	}
10314	reqHeaders.Set("User-Agent", c.s.userAgent())
10315	if c.ifNoneMatch_ != "" {
10316		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10317	}
10318	var body io.Reader = nil
10319	c.urlParams_.Set("alt", alt)
10320	c.urlParams_.Set("prettyPrint", "false")
10321	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances")
10322	urls += "?" + c.urlParams_.Encode()
10323	req, err := http.NewRequest("GET", urls, body)
10324	if err != nil {
10325		return nil, err
10326	}
10327	req.Header = reqHeaders
10328	googleapi.Expand(req.URL, map[string]string{
10329		"appsId":     c.appsId,
10330		"servicesId": c.servicesId,
10331		"versionsId": c.versionsId,
10332	})
10333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10334}
10335
10336// Do executes the "appengine.apps.services.versions.instances.list" call.
10337// Exactly one of *ListInstancesResponse or error will be non-nil. Any
10338// non-2xx status code is an error. Response headers are in either
10339// *ListInstancesResponse.ServerResponse.Header or (if a response was
10340// returned at all) in error.(*googleapi.Error).Header. Use
10341// googleapi.IsNotModified to check whether the returned error was
10342// because http.StatusNotModified was returned.
10343func (c *AppsServicesVersionsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
10344	gensupport.SetOptions(c.urlParams_, opts...)
10345	res, err := c.doRequest("json")
10346	if res != nil && res.StatusCode == http.StatusNotModified {
10347		if res.Body != nil {
10348			res.Body.Close()
10349		}
10350		return nil, &googleapi.Error{
10351			Code:   res.StatusCode,
10352			Header: res.Header,
10353		}
10354	}
10355	if err != nil {
10356		return nil, err
10357	}
10358	defer googleapi.CloseBody(res)
10359	if err := googleapi.CheckResponse(res); err != nil {
10360		return nil, err
10361	}
10362	ret := &ListInstancesResponse{
10363		ServerResponse: googleapi.ServerResponse{
10364			Header:         res.Header,
10365			HTTPStatusCode: res.StatusCode,
10366		},
10367	}
10368	target := &ret
10369	if err := gensupport.DecodeResponse(target, res); err != nil {
10370		return nil, err
10371	}
10372	return ret, nil
10373	// {
10374	//   "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).",
10375	//   "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances",
10376	//   "httpMethod": "GET",
10377	//   "id": "appengine.apps.services.versions.instances.list",
10378	//   "parameterOrder": [
10379	//     "appsId",
10380	//     "servicesId",
10381	//     "versionsId"
10382	//   ],
10383	//   "parameters": {
10384	//     "appsId": {
10385	//       "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.",
10386	//       "location": "path",
10387	//       "required": true,
10388	//       "type": "string"
10389	//     },
10390	//     "pageSize": {
10391	//       "description": "Maximum results to return per page.",
10392	//       "format": "int32",
10393	//       "location": "query",
10394	//       "type": "integer"
10395	//     },
10396	//     "pageToken": {
10397	//       "description": "Continuation token for fetching the next page of results.",
10398	//       "location": "query",
10399	//       "type": "string"
10400	//     },
10401	//     "servicesId": {
10402	//       "description": "Part of `parent`. See documentation of `appsId`.",
10403	//       "location": "path",
10404	//       "required": true,
10405	//       "type": "string"
10406	//     },
10407	//     "versionsId": {
10408	//       "description": "Part of `parent`. See documentation of `appsId`.",
10409	//       "location": "path",
10410	//       "required": true,
10411	//       "type": "string"
10412	//     }
10413	//   },
10414	//   "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances",
10415	//   "response": {
10416	//     "$ref": "ListInstancesResponse"
10417	//   },
10418	//   "scopes": [
10419	//     "https://www.googleapis.com/auth/appengine.admin",
10420	//     "https://www.googleapis.com/auth/cloud-platform",
10421	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
10422	//   ]
10423	// }
10424
10425}
10426
10427// Pages invokes f for each page of results.
10428// A non-nil error returned from f will halt the iteration.
10429// The provided context supersedes any context provided to the Context method.
10430func (c *AppsServicesVersionsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
10431	c.ctx_ = ctx
10432	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10433	for {
10434		x, err := c.Do()
10435		if err != nil {
10436			return err
10437		}
10438		if err := f(x); err != nil {
10439			return err
10440		}
10441		if x.NextPageToken == "" {
10442			return nil
10443		}
10444		c.PageToken(x.NextPageToken)
10445	}
10446}
10447