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