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