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