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