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 deploymentmanager provides access to the Google Cloud Deployment Manager API V2Beta Methods.
8//
9// For product documentation, see: https://developers.google.com/deployment-manager/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/deploymentmanager/v2beta"
16//   ...
17//   ctx := context.Background()
18//   deploymentmanagerService, err := deploymentmanager.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//   deploymentmanagerService, err := deploymentmanager.NewService(ctx, option.WithScopes(deploymentmanager.NdevCloudmanReadonlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   deploymentmanagerService, err := deploymentmanager.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//   deploymentmanagerService, err := deploymentmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package deploymentmanager // import "google.golang.org/api/deploymentmanager/v2beta"
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 = "deploymentmanager:v2beta"
77const apiName = "deploymentmanager"
78const apiVersion = "v2beta"
79const basePath = "https://www.googleapis.com/deploymentmanager/v2beta/projects/"
80
81// OAuth2 scopes used by this API.
82const (
83	// View and manage your data across Google Cloud Platform services
84	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
85
86	// View your data across Google Cloud Platform services
87	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
88
89	// View and manage your Google Cloud Platform management resources and
90	// deployment status information
91	NdevCloudmanScope = "https://www.googleapis.com/auth/ndev.cloudman"
92
93	// View your Google Cloud Platform management resources and deployment
94	// status information
95	NdevCloudmanReadonlyScope = "https://www.googleapis.com/auth/ndev.cloudman.readonly"
96)
97
98// NewService creates a new Service.
99func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
100	scopesOption := option.WithScopes(
101		"https://www.googleapis.com/auth/cloud-platform",
102		"https://www.googleapis.com/auth/cloud-platform.read-only",
103		"https://www.googleapis.com/auth/ndev.cloudman",
104		"https://www.googleapis.com/auth/ndev.cloudman.readonly",
105	)
106	// NOTE: prepend, so we don't override user-specified scopes.
107	opts = append([]option.ClientOption{scopesOption}, opts...)
108	client, endpoint, err := htransport.NewClient(ctx, opts...)
109	if err != nil {
110		return nil, err
111	}
112	s, err := New(client)
113	if err != nil {
114		return nil, err
115	}
116	if endpoint != "" {
117		s.BasePath = endpoint
118	}
119	return s, nil
120}
121
122// New creates a new Service. It uses the provided http.Client for requests.
123//
124// Deprecated: please use NewService instead.
125// To provide a custom HTTP client, use option.WithHTTPClient.
126// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
127func New(client *http.Client) (*Service, error) {
128	if client == nil {
129		return nil, errors.New("client is nil")
130	}
131	s := &Service{client: client, BasePath: basePath}
132	s.CompositeTypes = NewCompositeTypesService(s)
133	s.Deployments = NewDeploymentsService(s)
134	s.Manifests = NewManifestsService(s)
135	s.Operations = NewOperationsService(s)
136	s.Resources = NewResourcesService(s)
137	s.TypeProviders = NewTypeProvidersService(s)
138	s.Types = NewTypesService(s)
139	return s, nil
140}
141
142type Service struct {
143	client    *http.Client
144	BasePath  string // API endpoint base URL
145	UserAgent string // optional additional User-Agent fragment
146
147	CompositeTypes *CompositeTypesService
148
149	Deployments *DeploymentsService
150
151	Manifests *ManifestsService
152
153	Operations *OperationsService
154
155	Resources *ResourcesService
156
157	TypeProviders *TypeProvidersService
158
159	Types *TypesService
160}
161
162func (s *Service) userAgent() string {
163	if s.UserAgent == "" {
164		return googleapi.UserAgent
165	}
166	return googleapi.UserAgent + " " + s.UserAgent
167}
168
169func NewCompositeTypesService(s *Service) *CompositeTypesService {
170	rs := &CompositeTypesService{s: s}
171	return rs
172}
173
174type CompositeTypesService struct {
175	s *Service
176}
177
178func NewDeploymentsService(s *Service) *DeploymentsService {
179	rs := &DeploymentsService{s: s}
180	return rs
181}
182
183type DeploymentsService struct {
184	s *Service
185}
186
187func NewManifestsService(s *Service) *ManifestsService {
188	rs := &ManifestsService{s: s}
189	return rs
190}
191
192type ManifestsService struct {
193	s *Service
194}
195
196func NewOperationsService(s *Service) *OperationsService {
197	rs := &OperationsService{s: s}
198	return rs
199}
200
201type OperationsService struct {
202	s *Service
203}
204
205func NewResourcesService(s *Service) *ResourcesService {
206	rs := &ResourcesService{s: s}
207	return rs
208}
209
210type ResourcesService struct {
211	s *Service
212}
213
214func NewTypeProvidersService(s *Service) *TypeProvidersService {
215	rs := &TypeProvidersService{s: s}
216	return rs
217}
218
219type TypeProvidersService struct {
220	s *Service
221}
222
223func NewTypesService(s *Service) *TypesService {
224	rs := &TypesService{s: s}
225	return rs
226}
227
228type TypesService struct {
229	s *Service
230}
231
232// AsyncOptions: Async options that determine when a resource should
233// finish.
234type AsyncOptions struct {
235	// MethodMatch: Method regex where this policy will apply.
236	MethodMatch string `json:"methodMatch,omitempty"`
237
238	// PollingOptions: Deployment manager will poll instances for this API
239	// resource setting a RUNNING state, and blocking until polling
240	// conditions tell whether the resource is completed or failed.
241	PollingOptions *PollingOptions `json:"pollingOptions,omitempty"`
242
243	// ForceSendFields is a list of field names (e.g. "MethodMatch") to
244	// unconditionally include in API requests. By default, fields with
245	// empty values are omitted from API requests. However, any non-pointer,
246	// non-interface field appearing in ForceSendFields will be sent to the
247	// server regardless of whether the field is empty or not. This may be
248	// used to include empty fields in Patch requests.
249	ForceSendFields []string `json:"-"`
250
251	// NullFields is a list of field names (e.g. "MethodMatch") to include
252	// in API requests with the JSON null value. By default, fields with
253	// empty values are omitted from API requests. However, any field with
254	// an empty value appearing in NullFields will be sent to the server as
255	// null. It is an error if a field in this list has a non-empty value.
256	// This may be used to include null fields in Patch requests.
257	NullFields []string `json:"-"`
258}
259
260func (s *AsyncOptions) MarshalJSON() ([]byte, error) {
261	type NoMethod AsyncOptions
262	raw := NoMethod(*s)
263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
264}
265
266// AuditConfig: Specifies the audit configuration for a service. The
267// configuration determines which permission types are logged, and what
268// identities, if any, are exempted from logging. An AuditConfig must
269// have one or more AuditLogConfigs.
270//
271// If there are AuditConfigs for both `allServices` and a specific
272// service, the union of the two AuditConfigs is used for that service:
273// the log_types specified in each AuditConfig are enabled, and the
274// exempted_members in each AuditLogConfig are exempted.
275//
276// Example Policy with multiple AuditConfigs:
277//
278// { "audit_configs": [ { "service": "allServices" "audit_log_configs":
279// [ { "log_type": "DATA_READ", "exempted_members": [
280// "user:foo@gmail.com" ] }, { "log_type": "DATA_WRITE", }, {
281// "log_type": "ADMIN_READ", } ] }, { "service":
282// "fooservice.googleapis.com" "audit_log_configs": [ { "log_type":
283// "DATA_READ", }, { "log_type": "DATA_WRITE", "exempted_members": [
284// "user:bar@gmail.com" ] } ] } ] }
285//
286// For fooservice, this policy enables DATA_READ, DATA_WRITE and
287// ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ
288// logging, and bar@gmail.com from DATA_WRITE logging.
289type AuditConfig struct {
290	// AuditLogConfigs: The configuration for logging of each type of
291	// permission.
292	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
293
294	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
295
296	// Service: Specifies a service that will be enabled for audit logging.
297	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
298	// `allServices` is a special value that covers all services.
299	Service string `json:"service,omitempty"`
300
301	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
302	// unconditionally include in API requests. By default, fields with
303	// empty values are omitted from API requests. However, any non-pointer,
304	// non-interface field appearing in ForceSendFields will be sent to the
305	// server regardless of whether the field is empty or not. This may be
306	// used to include empty fields in Patch requests.
307	ForceSendFields []string `json:"-"`
308
309	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
310	// include in API requests with the JSON null value. By default, fields
311	// with empty values are omitted from API requests. However, any field
312	// with an empty value appearing in NullFields will be sent to the
313	// server as null. It is an error if a field in this list has a
314	// non-empty value. This may be used to include null fields in Patch
315	// requests.
316	NullFields []string `json:"-"`
317}
318
319func (s *AuditConfig) MarshalJSON() ([]byte, error) {
320	type NoMethod AuditConfig
321	raw := NoMethod(*s)
322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
323}
324
325// AuditLogConfig: Provides the configuration for logging a type of
326// permissions. Example:
327//
328// { "audit_log_configs": [ { "log_type": "DATA_READ",
329// "exempted_members": [ "user:foo@gmail.com" ] }, { "log_type":
330// "DATA_WRITE", } ] }
331//
332// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
333// foo@gmail.com from DATA_READ logging.
334type AuditLogConfig struct {
335	// ExemptedMembers: Specifies the identities that do not cause logging
336	// for this type of permission. Follows the same format of
337	// [Binding.members][].
338	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
339
340	// LogType: The log type that this config enables.
341	LogType string `json:"logType,omitempty"`
342
343	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
344	// unconditionally include in API requests. By default, fields with
345	// empty values are omitted from API requests. However, any non-pointer,
346	// non-interface field appearing in ForceSendFields will be sent to the
347	// server regardless of whether the field is empty or not. This may be
348	// used to include empty fields in Patch requests.
349	ForceSendFields []string `json:"-"`
350
351	// NullFields is a list of field names (e.g. "ExemptedMembers") to
352	// include in API requests with the JSON null value. By default, fields
353	// with empty values are omitted from API requests. However, any field
354	// with an empty value appearing in NullFields will be sent to the
355	// server as null. It is an error if a field in this list has a
356	// non-empty value. This may be used to include null fields in Patch
357	// requests.
358	NullFields []string `json:"-"`
359}
360
361func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
362	type NoMethod AuditLogConfig
363	raw := NoMethod(*s)
364	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
365}
366
367// AuthorizationLoggingOptions: Authorization-related information used
368// by Cloud Audit Logging.
369type AuthorizationLoggingOptions struct {
370	// PermissionType: The type of the permission that was checked.
371	PermissionType string `json:"permissionType,omitempty"`
372
373	// ForceSendFields is a list of field names (e.g. "PermissionType") to
374	// unconditionally include in API requests. By default, fields with
375	// empty values are omitted from API requests. However, any non-pointer,
376	// non-interface field appearing in ForceSendFields will be sent to the
377	// server regardless of whether the field is empty or not. This may be
378	// used to include empty fields in Patch requests.
379	ForceSendFields []string `json:"-"`
380
381	// NullFields is a list of field names (e.g. "PermissionType") to
382	// include in API requests with the JSON null value. By default, fields
383	// with empty values are omitted from API requests. However, any field
384	// with an empty value appearing in NullFields will be sent to the
385	// server as null. It is an error if a field in this list has a
386	// non-empty value. This may be used to include null fields in Patch
387	// requests.
388	NullFields []string `json:"-"`
389}
390
391func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) {
392	type NoMethod AuthorizationLoggingOptions
393	raw := NoMethod(*s)
394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
395}
396
397// BaseType: BaseType that describes a service-backed Type.
398type BaseType struct {
399	// CollectionOverrides: Allows resource handling overrides for specific
400	// collections
401	CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
402
403	// Credential: Credential used when interacting with this type.
404	Credential *Credential `json:"credential,omitempty"`
405
406	// DescriptorUrl: Descriptor Url for the this type.
407	DescriptorUrl string `json:"descriptorUrl,omitempty"`
408
409	// Options: Options to apply when handling any resources in this
410	// service.
411	Options *Options `json:"options,omitempty"`
412
413	// ForceSendFields is a list of field names (e.g. "CollectionOverrides")
414	// to unconditionally include in API requests. By default, fields with
415	// empty values are omitted from API requests. However, any non-pointer,
416	// non-interface field appearing in ForceSendFields will be sent to the
417	// server regardless of whether the field is empty or not. This may be
418	// used to include empty fields in Patch requests.
419	ForceSendFields []string `json:"-"`
420
421	// NullFields is a list of field names (e.g. "CollectionOverrides") to
422	// include in API requests with the JSON null value. By default, fields
423	// with empty values are omitted from API requests. However, any field
424	// with an empty value appearing in NullFields will be sent to the
425	// server as null. It is an error if a field in this list has a
426	// non-empty value. This may be used to include null fields in Patch
427	// requests.
428	NullFields []string `json:"-"`
429}
430
431func (s *BaseType) MarshalJSON() ([]byte, error) {
432	type NoMethod BaseType
433	raw := NoMethod(*s)
434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
435}
436
437// BasicAuth: Basic Auth used as a credential.
438type BasicAuth struct {
439	Password string `json:"password,omitempty"`
440
441	User string `json:"user,omitempty"`
442
443	// ForceSendFields is a list of field names (e.g. "Password") to
444	// unconditionally include in API requests. By default, fields with
445	// empty values are omitted from API requests. However, any non-pointer,
446	// non-interface field appearing in ForceSendFields will be sent to the
447	// server regardless of whether the field is empty or not. This may be
448	// used to include empty fields in Patch requests.
449	ForceSendFields []string `json:"-"`
450
451	// NullFields is a list of field names (e.g. "Password") to include in
452	// API requests with the JSON null value. By default, fields with empty
453	// values are omitted from API requests. However, any field with an
454	// empty value appearing in NullFields will be sent to the server as
455	// null. It is an error if a field in this list has a non-empty value.
456	// This may be used to include null fields in Patch requests.
457	NullFields []string `json:"-"`
458}
459
460func (s *BasicAuth) MarshalJSON() ([]byte, error) {
461	type NoMethod BasicAuth
462	raw := NoMethod(*s)
463	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
464}
465
466// Binding: Associates `members` with a `role`.
467type Binding struct {
468	// Condition: Unimplemented. The condition that is associated with this
469	// binding. NOTE: an unsatisfied condition will not allow user access
470	// via current binding. Different bindings, including their conditions,
471	// are examined independently.
472	Condition *Expr `json:"condition,omitempty"`
473
474	// Members: Specifies the identities requesting access for a Cloud
475	// Platform resource. `members` can have the following values:
476	//
477	// * `allUsers`: A special identifier that represents anyone who is on
478	// the internet; with or without a Google account.
479	//
480	// * `allAuthenticatedUsers`: A special identifier that represents
481	// anyone who is authenticated with a Google account or a service
482	// account.
483	//
484	// * `user:{emailid}`: An email address that represents a specific
485	// Google account. For example, `alice@gmail.com` .
486	//
487	//
488	//
489	// * `serviceAccount:{emailid}`: An email address that represents a
490	// service account. For example,
491	// `my-other-app@appspot.gserviceaccount.com`.
492	//
493	// * `group:{emailid}`: An email address that represents a Google group.
494	// For example, `admins@example.com`.
495	//
496	//
497	//
498	// * `domain:{domain}`: A Google Apps domain name that represents all
499	// the users of that domain. For example, `google.com` or `example.com`.
500	Members []string `json:"members,omitempty"`
501
502	// Role: Role that is assigned to `members`. For example,
503	// `roles/viewer`, `roles/editor`, or `roles/owner`.
504	Role string `json:"role,omitempty"`
505
506	// ForceSendFields is a list of field names (e.g. "Condition") to
507	// unconditionally include in API requests. By default, fields with
508	// empty values are omitted from API requests. However, any non-pointer,
509	// non-interface field appearing in ForceSendFields will be sent to the
510	// server regardless of whether the field is empty or not. This may be
511	// used to include empty fields in Patch requests.
512	ForceSendFields []string `json:"-"`
513
514	// NullFields is a list of field names (e.g. "Condition") to include in
515	// API requests with the JSON null value. By default, fields with empty
516	// values are omitted from API requests. However, any field with an
517	// empty value appearing in NullFields will be sent to the server as
518	// null. It is an error if a field in this list has a non-empty value.
519	// This may be used to include null fields in Patch requests.
520	NullFields []string `json:"-"`
521}
522
523func (s *Binding) MarshalJSON() ([]byte, error) {
524	type NoMethod Binding
525	raw := NoMethod(*s)
526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
527}
528
529// CollectionOverride: CollectionOverride allows resource handling
530// overrides for specific resources within a BaseType
531type CollectionOverride struct {
532	// Collection: The collection that identifies this resource within its
533	// service.
534	Collection string `json:"collection,omitempty"`
535
536	// Options: The options to apply to this resource-level override
537	Options *Options `json:"options,omitempty"`
538
539	// ForceSendFields is a list of field names (e.g. "Collection") to
540	// unconditionally include in API requests. By default, fields with
541	// empty values are omitted from API requests. However, any non-pointer,
542	// non-interface field appearing in ForceSendFields will be sent to the
543	// server regardless of whether the field is empty or not. This may be
544	// used to include empty fields in Patch requests.
545	ForceSendFields []string `json:"-"`
546
547	// NullFields is a list of field names (e.g. "Collection") to include in
548	// API requests with the JSON null value. By default, fields with empty
549	// values are omitted from API requests. However, any field with an
550	// empty value appearing in NullFields will be sent to the server as
551	// null. It is an error if a field in this list has a non-empty value.
552	// This may be used to include null fields in Patch requests.
553	NullFields []string `json:"-"`
554}
555
556func (s *CollectionOverride) MarshalJSON() ([]byte, error) {
557	type NoMethod CollectionOverride
558	raw := NoMethod(*s)
559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
560}
561
562// CompositeType: Holds the composite type.
563type CompositeType struct {
564	// Description: An optional textual description of the resource;
565	// provided by the client when the resource is created.
566	Description string `json:"description,omitempty"`
567
568	Id uint64 `json:"id,omitempty,string"`
569
570	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
571	InsertTime string `json:"insertTime,omitempty"`
572
573	// Labels: Map of labels; provided by the client when the resource is
574	// created or updated. Specifically: Label keys must be between 1 and 63
575	// characters long and must conform to the following regular expression:
576	// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
577	// characters long and must conform to the regular expression
578	// ([a-z]([-a-z0-9]*[a-z0-9])?)?
579	Labels []*CompositeTypeLabelEntry `json:"labels,omitempty"`
580
581	// Name: Name of the composite type, must follow the expression:
582	// [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?.
583	Name string `json:"name,omitempty"`
584
585	// Operation: Output only. The Operation that most recently ran, or is
586	// currently running, on this composite type.
587	Operation *Operation `json:"operation,omitempty"`
588
589	// SelfLink: Output only. Server defined URL for the resource.
590	SelfLink string `json:"selfLink,omitempty"`
591
592	Status string `json:"status,omitempty"`
593
594	// TemplateContents: Files for the template type.
595	TemplateContents *TemplateContents `json:"templateContents,omitempty"`
596
597	// ServerResponse contains the HTTP response code and headers from the
598	// server.
599	googleapi.ServerResponse `json:"-"`
600
601	// ForceSendFields is a list of field names (e.g. "Description") to
602	// unconditionally include in API requests. By default, fields with
603	// empty values are omitted from API requests. However, any non-pointer,
604	// non-interface field appearing in ForceSendFields will be sent to the
605	// server regardless of whether the field is empty or not. This may be
606	// used to include empty fields in Patch requests.
607	ForceSendFields []string `json:"-"`
608
609	// NullFields is a list of field names (e.g. "Description") to include
610	// in API requests with the JSON null value. By default, fields with
611	// empty values are omitted from API requests. However, any field with
612	// an empty value appearing in NullFields will be sent to the server as
613	// null. It is an error if a field in this list has a non-empty value.
614	// This may be used to include null fields in Patch requests.
615	NullFields []string `json:"-"`
616}
617
618func (s *CompositeType) MarshalJSON() ([]byte, error) {
619	type NoMethod CompositeType
620	raw := NoMethod(*s)
621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
622}
623
624type CompositeTypeLabelEntry struct {
625	Key string `json:"key,omitempty"`
626
627	Value string `json:"value,omitempty"`
628
629	// ForceSendFields is a list of field names (e.g. "Key") to
630	// unconditionally include in API requests. By default, fields with
631	// empty values are omitted from API requests. However, any non-pointer,
632	// non-interface field appearing in ForceSendFields will be sent to the
633	// server regardless of whether the field is empty or not. This may be
634	// used to include empty fields in Patch requests.
635	ForceSendFields []string `json:"-"`
636
637	// NullFields is a list of field names (e.g. "Key") to include in API
638	// requests with the JSON null value. By default, fields with empty
639	// values are omitted from API requests. However, any field with an
640	// empty value appearing in NullFields will be sent to the server as
641	// null. It is an error if a field in this list has a non-empty value.
642	// This may be used to include null fields in Patch requests.
643	NullFields []string `json:"-"`
644}
645
646func (s *CompositeTypeLabelEntry) MarshalJSON() ([]byte, error) {
647	type NoMethod CompositeTypeLabelEntry
648	raw := NoMethod(*s)
649	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
650}
651
652// CompositeTypesListResponse: A response that returns all Composite
653// Types supported by Deployment Manager
654type CompositeTypesListResponse struct {
655	// CompositeTypes: Output only. A list of resource composite types
656	// supported by Deployment Manager.
657	CompositeTypes []*CompositeType `json:"compositeTypes,omitempty"`
658
659	// NextPageToken: A token used to continue a truncated list request.
660	NextPageToken string `json:"nextPageToken,omitempty"`
661
662	// ServerResponse contains the HTTP response code and headers from the
663	// server.
664	googleapi.ServerResponse `json:"-"`
665
666	// ForceSendFields is a list of field names (e.g. "CompositeTypes") to
667	// unconditionally include in API requests. By default, fields with
668	// empty values are omitted from API requests. However, any non-pointer,
669	// non-interface field appearing in ForceSendFields will be sent to the
670	// server regardless of whether the field is empty or not. This may be
671	// used to include empty fields in Patch requests.
672	ForceSendFields []string `json:"-"`
673
674	// NullFields is a list of field names (e.g. "CompositeTypes") to
675	// include in API requests with the JSON null value. By default, fields
676	// with empty values are omitted from API requests. However, any field
677	// with an empty value appearing in NullFields will be sent to the
678	// server as null. It is an error if a field in this list has a
679	// non-empty value. This may be used to include null fields in Patch
680	// requests.
681	NullFields []string `json:"-"`
682}
683
684func (s *CompositeTypesListResponse) MarshalJSON() ([]byte, error) {
685	type NoMethod CompositeTypesListResponse
686	raw := NoMethod(*s)
687	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
688}
689
690// Condition: A condition to be met.
691type Condition struct {
692	// Iam: Trusted attributes supplied by the IAM system.
693	Iam string `json:"iam,omitempty"`
694
695	// Op: An operator to apply the subject with.
696	Op string `json:"op,omitempty"`
697
698	// Svc: Trusted attributes discharged by the service.
699	Svc string `json:"svc,omitempty"`
700
701	// Sys: Trusted attributes supplied by any service that owns resources
702	// and uses the IAM system for access control.
703	Sys string `json:"sys,omitempty"`
704
705	// Value: DEPRECATED. Use 'values' instead.
706	Value string `json:"value,omitempty"`
707
708	// Values: The objects of the condition. This is mutually exclusive with
709	// 'value'.
710	Values []string `json:"values,omitempty"`
711
712	// ForceSendFields is a list of field names (e.g. "Iam") to
713	// unconditionally include in API requests. By default, fields with
714	// empty values are omitted from API requests. However, any non-pointer,
715	// non-interface field appearing in ForceSendFields will be sent to the
716	// server regardless of whether the field is empty or not. This may be
717	// used to include empty fields in Patch requests.
718	ForceSendFields []string `json:"-"`
719
720	// NullFields is a list of field names (e.g. "Iam") to include in API
721	// requests with the JSON null value. By default, fields with empty
722	// values are omitted from API requests. However, any field with an
723	// empty value appearing in NullFields will be sent to the server as
724	// null. It is an error if a field in this list has a non-empty value.
725	// This may be used to include null fields in Patch requests.
726	NullFields []string `json:"-"`
727}
728
729func (s *Condition) MarshalJSON() ([]byte, error) {
730	type NoMethod Condition
731	raw := NoMethod(*s)
732	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
733}
734
735type ConfigFile struct {
736	// Content: The contents of the file.
737	Content string `json:"content,omitempty"`
738
739	// ForceSendFields is a list of field names (e.g. "Content") to
740	// unconditionally include in API requests. By default, fields with
741	// empty values are omitted from API requests. However, any non-pointer,
742	// non-interface field appearing in ForceSendFields will be sent to the
743	// server regardless of whether the field is empty or not. This may be
744	// used to include empty fields in Patch requests.
745	ForceSendFields []string `json:"-"`
746
747	// NullFields is a list of field names (e.g. "Content") to include in
748	// API requests with the JSON null value. By default, fields with empty
749	// values are omitted from API requests. However, any field with an
750	// empty value appearing in NullFields will be sent to the server as
751	// null. It is an error if a field in this list has a non-empty value.
752	// This may be used to include null fields in Patch requests.
753	NullFields []string `json:"-"`
754}
755
756func (s *ConfigFile) MarshalJSON() ([]byte, error) {
757	type NoMethod ConfigFile
758	raw := NoMethod(*s)
759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
760}
761
762// Credential: The credential used by Deployment Manager and
763// TypeProvider. Only one of the options is permitted.
764type Credential struct {
765	// BasicAuth: Basic Auth Credential, only used by TypeProvider.
766	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
767
768	// ServiceAccount: Service Account Credential, only used by Deployment.
769	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
770
771	// UseProjectDefault: Specify to use the project default credential,
772	// only supported by Deployment.
773	UseProjectDefault bool `json:"useProjectDefault,omitempty"`
774
775	// ForceSendFields is a list of field names (e.g. "BasicAuth") to
776	// unconditionally include in API requests. By default, fields with
777	// empty values are omitted from API requests. However, any non-pointer,
778	// non-interface field appearing in ForceSendFields will be sent to the
779	// server regardless of whether the field is empty or not. This may be
780	// used to include empty fields in Patch requests.
781	ForceSendFields []string `json:"-"`
782
783	// NullFields is a list of field names (e.g. "BasicAuth") to include in
784	// API requests with the JSON null value. By default, fields with empty
785	// values are omitted from API requests. However, any field with an
786	// empty value appearing in NullFields will be sent to the server as
787	// null. It is an error if a field in this list has a non-empty value.
788	// This may be used to include null fields in Patch requests.
789	NullFields []string `json:"-"`
790}
791
792func (s *Credential) MarshalJSON() ([]byte, error) {
793	type NoMethod Credential
794	raw := NoMethod(*s)
795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
796}
797
798type Deployment struct {
799	// Description: An optional user-provided description of the deployment.
800	Description string `json:"description,omitempty"`
801
802	// Fingerprint: Provides a fingerprint to use in requests to modify a
803	// deployment, such as update(), stop(), and cancelPreview() requests. A
804	// fingerprint is a randomly generated value that must be provided with
805	// update(), stop(), and cancelPreview() requests to perform optimistic
806	// locking. This ensures optimistic concurrency so that only one request
807	// happens at a time.
808	//
809	// The fingerprint is initially generated by Deployment Manager and
810	// changes after every request to modify data. To get the latest
811	// fingerprint value, perform a get() request to a deployment.
812	Fingerprint string `json:"fingerprint,omitempty"`
813
814	Id uint64 `json:"id,omitempty,string"`
815
816	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
817	InsertTime string `json:"insertTime,omitempty"`
818
819	// Labels: Map of labels; provided by the client when the resource is
820	// created or updated. Specifically: Label keys must be between 1 and 63
821	// characters long and must conform to the following regular expression:
822	// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
823	// characters long and must conform to the regular expression
824	// ([a-z]([-a-z0-9]*[a-z0-9])?)?
825	Labels []*DeploymentLabelEntry `json:"labels,omitempty"`
826
827	// Manifest: Output only. URL of the manifest representing the last
828	// manifest that was successfully deployed.
829	Manifest string `json:"manifest,omitempty"`
830
831	// Name: Name of the resource; provided by the client when the resource
832	// is created. The name must be 1-63 characters long, and comply with
833	// RFC1035. Specifically, the name must be 1-63 characters long and
834	// match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
835	// the first character must be a lowercase letter, and all following
836	// characters must be a dash, lowercase letter, or digit, except the
837	// last character, which cannot be a dash.
838	Name string `json:"name,omitempty"`
839
840	// Operation: Output only. The Operation that most recently ran, or is
841	// currently running, on this deployment.
842	Operation *Operation `json:"operation,omitempty"`
843
844	// SelfLink: Output only. Server defined URL for the resource.
845	SelfLink string `json:"selfLink,omitempty"`
846
847	// Target: [Input Only] The parameters that define your deployment,
848	// including the deployment configuration and relevant templates.
849	Target *TargetConfiguration `json:"target,omitempty"`
850
851	// Update: Output only. If Deployment Manager is currently updating or
852	// previewing an update to this deployment, the updated configuration
853	// appears here.
854	Update *DeploymentUpdate `json:"update,omitempty"`
855
856	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
857	UpdateTime string `json:"updateTime,omitempty"`
858
859	// ServerResponse contains the HTTP response code and headers from the
860	// server.
861	googleapi.ServerResponse `json:"-"`
862
863	// ForceSendFields is a list of field names (e.g. "Description") to
864	// unconditionally include in API requests. By default, fields with
865	// empty values are omitted from API requests. However, any non-pointer,
866	// non-interface field appearing in ForceSendFields will be sent to the
867	// server regardless of whether the field is empty or not. This may be
868	// used to include empty fields in Patch requests.
869	ForceSendFields []string `json:"-"`
870
871	// NullFields is a list of field names (e.g. "Description") to include
872	// in API requests with the JSON null value. By default, fields with
873	// empty values are omitted from API requests. However, any field with
874	// an empty value appearing in NullFields will be sent to the server as
875	// null. It is an error if a field in this list has a non-empty value.
876	// This may be used to include null fields in Patch requests.
877	NullFields []string `json:"-"`
878}
879
880func (s *Deployment) MarshalJSON() ([]byte, error) {
881	type NoMethod Deployment
882	raw := NoMethod(*s)
883	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
884}
885
886type DeploymentLabelEntry struct {
887	Key string `json:"key,omitempty"`
888
889	Value string `json:"value,omitempty"`
890
891	// ForceSendFields is a list of field names (e.g. "Key") to
892	// unconditionally include in API requests. By default, fields with
893	// empty values are omitted from API requests. However, any non-pointer,
894	// non-interface field appearing in ForceSendFields will be sent to the
895	// server regardless of whether the field is empty or not. This may be
896	// used to include empty fields in Patch requests.
897	ForceSendFields []string `json:"-"`
898
899	// NullFields is a list of field names (e.g. "Key") to include in API
900	// requests with the JSON null value. By default, fields with empty
901	// values are omitted from API requests. However, any field with an
902	// empty value appearing in NullFields will be sent to the server as
903	// null. It is an error if a field in this list has a non-empty value.
904	// This may be used to include null fields in Patch requests.
905	NullFields []string `json:"-"`
906}
907
908func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) {
909	type NoMethod DeploymentLabelEntry
910	raw := NoMethod(*s)
911	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
912}
913
914type DeploymentUpdate struct {
915	// Description: Output only. An optional user-provided description of
916	// the deployment after the current update has been applied.
917	Description string `json:"description,omitempty"`
918
919	// Labels: Output only. Map of labels; provided by the client when the
920	// resource is created or updated. Specifically: Label keys must be
921	// between 1 and 63 characters long and must conform to the following
922	// regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be
923	// between 0 and 63 characters long and must conform to the regular
924	// expression ([a-z]([-a-z0-9]*[a-z0-9])?)?
925	Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"`
926
927	// Manifest: Output only. URL of the manifest representing the update
928	// configuration of this deployment.
929	Manifest string `json:"manifest,omitempty"`
930
931	// ForceSendFields is a list of field names (e.g. "Description") to
932	// unconditionally include in API requests. By default, fields with
933	// empty values are omitted from API requests. However, any non-pointer,
934	// non-interface field appearing in ForceSendFields will be sent to the
935	// server regardless of whether the field is empty or not. This may be
936	// used to include empty fields in Patch requests.
937	ForceSendFields []string `json:"-"`
938
939	// NullFields is a list of field names (e.g. "Description") to include
940	// in API requests with the JSON null value. By default, fields with
941	// empty values are omitted from API requests. However, any field with
942	// an empty value appearing in NullFields will be sent to the server as
943	// null. It is an error if a field in this list has a non-empty value.
944	// This may be used to include null fields in Patch requests.
945	NullFields []string `json:"-"`
946}
947
948func (s *DeploymentUpdate) MarshalJSON() ([]byte, error) {
949	type NoMethod DeploymentUpdate
950	raw := NoMethod(*s)
951	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
952}
953
954type DeploymentUpdateLabelEntry struct {
955	Key string `json:"key,omitempty"`
956
957	Value string `json:"value,omitempty"`
958
959	// ForceSendFields is a list of field names (e.g. "Key") to
960	// unconditionally include in API requests. By default, fields with
961	// empty values are omitted from API requests. However, any non-pointer,
962	// non-interface field appearing in ForceSendFields will be sent to the
963	// server regardless of whether the field is empty or not. This may be
964	// used to include empty fields in Patch requests.
965	ForceSendFields []string `json:"-"`
966
967	// NullFields is a list of field names (e.g. "Key") to include in API
968	// requests with the JSON null value. By default, fields with empty
969	// values are omitted from API requests. However, any field with an
970	// empty value appearing in NullFields will be sent to the server as
971	// null. It is an error if a field in this list has a non-empty value.
972	// This may be used to include null fields in Patch requests.
973	NullFields []string `json:"-"`
974}
975
976func (s *DeploymentUpdateLabelEntry) MarshalJSON() ([]byte, error) {
977	type NoMethod DeploymentUpdateLabelEntry
978	raw := NoMethod(*s)
979	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
980}
981
982type DeploymentsCancelPreviewRequest struct {
983	// Fingerprint: Specifies a fingerprint for cancelPreview() requests. A
984	// fingerprint is a randomly generated value that must be provided in
985	// cancelPreview() requests to perform optimistic locking. This ensures
986	// optimistic concurrency so that the deployment does not have
987	// conflicting requests (e.g. if someone attempts to make a new update
988	// request while another user attempts to cancel a preview, this would
989	// prevent one of the requests).
990	//
991	// The fingerprint is initially generated by Deployment Manager and
992	// changes after every request to modify a deployment. To get the latest
993	// fingerprint value, perform a get() request on the deployment.
994	Fingerprint string `json:"fingerprint,omitempty"`
995
996	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
997	// unconditionally include in API requests. By default, fields with
998	// empty values are omitted from API requests. However, any non-pointer,
999	// non-interface field appearing in ForceSendFields will be sent to the
1000	// server regardless of whether the field is empty or not. This may be
1001	// used to include empty fields in Patch requests.
1002	ForceSendFields []string `json:"-"`
1003
1004	// NullFields is a list of field names (e.g. "Fingerprint") to include
1005	// in API requests with the JSON null value. By default, fields with
1006	// empty values are omitted from API requests. However, any field with
1007	// an empty value appearing in NullFields will be sent to the server as
1008	// null. It is an error if a field in this list has a non-empty value.
1009	// This may be used to include null fields in Patch requests.
1010	NullFields []string `json:"-"`
1011}
1012
1013func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) {
1014	type NoMethod DeploymentsCancelPreviewRequest
1015	raw := NoMethod(*s)
1016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1017}
1018
1019// DeploymentsListResponse: A response containing a partial list of
1020// deployments and a page token used to build the next request if the
1021// request has been truncated.
1022type DeploymentsListResponse struct {
1023	// Deployments: Output only. The deployments contained in this response.
1024	Deployments []*Deployment `json:"deployments,omitempty"`
1025
1026	// NextPageToken: Output only. A token used to continue a truncated list
1027	// request.
1028	NextPageToken string `json:"nextPageToken,omitempty"`
1029
1030	// ServerResponse contains the HTTP response code and headers from the
1031	// server.
1032	googleapi.ServerResponse `json:"-"`
1033
1034	// ForceSendFields is a list of field names (e.g. "Deployments") to
1035	// unconditionally include in API requests. By default, fields with
1036	// empty values are omitted from API requests. However, any non-pointer,
1037	// non-interface field appearing in ForceSendFields will be sent to the
1038	// server regardless of whether the field is empty or not. This may be
1039	// used to include empty fields in Patch requests.
1040	ForceSendFields []string `json:"-"`
1041
1042	// NullFields is a list of field names (e.g. "Deployments") to include
1043	// in API requests with the JSON null value. By default, fields with
1044	// empty values are omitted from API requests. However, any field with
1045	// an empty value appearing in NullFields will be sent to the server as
1046	// null. It is an error if a field in this list has a non-empty value.
1047	// This may be used to include null fields in Patch requests.
1048	NullFields []string `json:"-"`
1049}
1050
1051func (s *DeploymentsListResponse) MarshalJSON() ([]byte, error) {
1052	type NoMethod DeploymentsListResponse
1053	raw := NoMethod(*s)
1054	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1055}
1056
1057type DeploymentsStopRequest struct {
1058	// Fingerprint: Specifies a fingerprint for stop() requests. A
1059	// fingerprint is a randomly generated value that must be provided in
1060	// stop() requests to perform optimistic locking. This ensures
1061	// optimistic concurrency so that the deployment does not have
1062	// conflicting requests (e.g. if someone attempts to make a new update
1063	// request while another user attempts to stop an ongoing update
1064	// request, this would prevent a collision).
1065	//
1066	// The fingerprint is initially generated by Deployment Manager and
1067	// changes after every request to modify a deployment. To get the latest
1068	// fingerprint value, perform a get() request on the deployment.
1069	Fingerprint string `json:"fingerprint,omitempty"`
1070
1071	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
1072	// unconditionally include in API requests. By default, fields with
1073	// empty values are omitted from API requests. However, any non-pointer,
1074	// non-interface field appearing in ForceSendFields will be sent to the
1075	// server regardless of whether the field is empty or not. This may be
1076	// used to include empty fields in Patch requests.
1077	ForceSendFields []string `json:"-"`
1078
1079	// NullFields is a list of field names (e.g. "Fingerprint") to include
1080	// in API requests with the JSON null value. By default, fields with
1081	// empty values are omitted from API requests. However, any field with
1082	// an empty value appearing in NullFields will be sent to the server as
1083	// null. It is an error if a field in this list has a non-empty value.
1084	// This may be used to include null fields in Patch requests.
1085	NullFields []string `json:"-"`
1086}
1087
1088func (s *DeploymentsStopRequest) MarshalJSON() ([]byte, error) {
1089	type NoMethod DeploymentsStopRequest
1090	raw := NoMethod(*s)
1091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1092}
1093
1094type Diagnostic struct {
1095	// Field: JsonPath expression on the resource that if non empty,
1096	// indicates that this field needs to be extracted as a diagnostic.
1097	Field string `json:"field,omitempty"`
1098
1099	// Level: Level to record this diagnostic.
1100	Level string `json:"level,omitempty"`
1101
1102	// ForceSendFields is a list of field names (e.g. "Field") to
1103	// unconditionally include in API requests. By default, fields with
1104	// empty values are omitted from API requests. However, any non-pointer,
1105	// non-interface field appearing in ForceSendFields will be sent to the
1106	// server regardless of whether the field is empty or not. This may be
1107	// used to include empty fields in Patch requests.
1108	ForceSendFields []string `json:"-"`
1109
1110	// NullFields is a list of field names (e.g. "Field") to include in API
1111	// requests with the JSON null value. By default, fields with empty
1112	// values are omitted from API requests. However, any field with an
1113	// empty value appearing in NullFields will be sent to the server as
1114	// null. It is an error if a field in this list has a non-empty value.
1115	// This may be used to include null fields in Patch requests.
1116	NullFields []string `json:"-"`
1117}
1118
1119func (s *Diagnostic) MarshalJSON() ([]byte, error) {
1120	type NoMethod Diagnostic
1121	raw := NoMethod(*s)
1122	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1123}
1124
1125// Expr: Represents an expression text. Example:
1126//
1127// title: "User account presence" description: "Determines whether the
1128// request has a user account" expression: "size(request.user) > 0"
1129type Expr struct {
1130	// Description: An optional description of the expression. This is a
1131	// longer text which describes the expression, e.g. when hovered over it
1132	// in a UI.
1133	Description string `json:"description,omitempty"`
1134
1135	// Expression: Textual representation of an expression in Common
1136	// Expression Language syntax.
1137	//
1138	// The application context of the containing message determines which
1139	// well-known feature set of CEL is supported.
1140	Expression string `json:"expression,omitempty"`
1141
1142	// Location: An optional string indicating the location of the
1143	// expression for error reporting, e.g. a file name and a position in
1144	// the file.
1145	Location string `json:"location,omitempty"`
1146
1147	// Title: An optional title for the expression, i.e. a short string
1148	// describing its purpose. This can be used e.g. in UIs which allow to
1149	// enter the expression.
1150	Title string `json:"title,omitempty"`
1151
1152	// ForceSendFields is a list of field names (e.g. "Description") to
1153	// unconditionally include in API requests. By default, fields with
1154	// empty values are omitted from API requests. However, any non-pointer,
1155	// non-interface field appearing in ForceSendFields will be sent to the
1156	// server regardless of whether the field is empty or not. This may be
1157	// used to include empty fields in Patch requests.
1158	ForceSendFields []string `json:"-"`
1159
1160	// NullFields is a list of field names (e.g. "Description") to include
1161	// in API requests with the JSON null value. By default, fields with
1162	// empty values are omitted from API requests. However, any field with
1163	// an empty value appearing in NullFields will be sent to the server as
1164	// null. It is an error if a field in this list has a non-empty value.
1165	// This may be used to include null fields in Patch requests.
1166	NullFields []string `json:"-"`
1167}
1168
1169func (s *Expr) MarshalJSON() ([]byte, error) {
1170	type NoMethod Expr
1171	raw := NoMethod(*s)
1172	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1173}
1174
1175type GlobalSetPolicyRequest struct {
1176	// Bindings: Flatten Policy to create a backward compatible wire-format.
1177	// Deprecated. Use 'policy' to specify bindings.
1178	Bindings []*Binding `json:"bindings,omitempty"`
1179
1180	// Etag: Flatten Policy to create a backward compatible wire-format.
1181	// Deprecated. Use 'policy' to specify the etag.
1182	Etag string `json:"etag,omitempty"`
1183
1184	// Policy: REQUIRED: The complete policy to be applied to the
1185	// 'resource'. The size of the policy is limited to a few 10s of KB. An
1186	// empty policy is in general a valid policy but certain services (like
1187	// Projects) might reject them.
1188	Policy *Policy `json:"policy,omitempty"`
1189
1190	// ForceSendFields is a list of field names (e.g. "Bindings") to
1191	// unconditionally include in API requests. By default, fields with
1192	// empty values are omitted from API requests. However, any non-pointer,
1193	// non-interface field appearing in ForceSendFields will be sent to the
1194	// server regardless of whether the field is empty or not. This may be
1195	// used to include empty fields in Patch requests.
1196	ForceSendFields []string `json:"-"`
1197
1198	// NullFields is a list of field names (e.g. "Bindings") to include in
1199	// API requests with the JSON null value. By default, fields with empty
1200	// values are omitted from API requests. However, any field with an
1201	// empty value appearing in NullFields will be sent to the server as
1202	// null. It is an error if a field in this list has a non-empty value.
1203	// This may be used to include null fields in Patch requests.
1204	NullFields []string `json:"-"`
1205}
1206
1207func (s *GlobalSetPolicyRequest) MarshalJSON() ([]byte, error) {
1208	type NoMethod GlobalSetPolicyRequest
1209	raw := NoMethod(*s)
1210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1211}
1212
1213type ImportFile struct {
1214	// Content: The contents of the file.
1215	Content string `json:"content,omitempty"`
1216
1217	// Name: The name of the file.
1218	Name string `json:"name,omitempty"`
1219
1220	// ForceSendFields is a list of field names (e.g. "Content") to
1221	// unconditionally include in API requests. By default, fields with
1222	// empty values are omitted from API requests. However, any non-pointer,
1223	// non-interface field appearing in ForceSendFields will be sent to the
1224	// server regardless of whether the field is empty or not. This may be
1225	// used to include empty fields in Patch requests.
1226	ForceSendFields []string `json:"-"`
1227
1228	// NullFields is a list of field names (e.g. "Content") to include in
1229	// API requests with the JSON null value. By default, fields with empty
1230	// values are omitted from API requests. However, any field with an
1231	// empty value appearing in NullFields will be sent to the server as
1232	// null. It is an error if a field in this list has a non-empty value.
1233	// This may be used to include null fields in Patch requests.
1234	NullFields []string `json:"-"`
1235}
1236
1237func (s *ImportFile) MarshalJSON() ([]byte, error) {
1238	type NoMethod ImportFile
1239	raw := NoMethod(*s)
1240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1241}
1242
1243// InputMapping: InputMapping creates a 'virtual' property that will be
1244// injected into the properties before sending the request to the
1245// underlying API.
1246type InputMapping struct {
1247	// FieldName: The name of the field that is going to be injected.
1248	FieldName string `json:"fieldName,omitempty"`
1249
1250	// Location: The location where this mapping applies.
1251	Location string `json:"location,omitempty"`
1252
1253	// MethodMatch: Regex to evaluate on method to decide if input applies.
1254	MethodMatch string `json:"methodMatch,omitempty"`
1255
1256	// Value: A jsonPath expression to select an element.
1257	Value string `json:"value,omitempty"`
1258
1259	// ForceSendFields is a list of field names (e.g. "FieldName") to
1260	// unconditionally include in API requests. By default, fields with
1261	// empty values are omitted from API requests. However, any non-pointer,
1262	// non-interface field appearing in ForceSendFields will be sent to the
1263	// server regardless of whether the field is empty or not. This may be
1264	// used to include empty fields in Patch requests.
1265	ForceSendFields []string `json:"-"`
1266
1267	// NullFields is a list of field names (e.g. "FieldName") to include in
1268	// API requests with the JSON null value. By default, fields with empty
1269	// values are omitted from API requests. However, any field with an
1270	// empty value appearing in NullFields will be sent to the server as
1271	// null. It is an error if a field in this list has a non-empty value.
1272	// This may be used to include null fields in Patch requests.
1273	NullFields []string `json:"-"`
1274}
1275
1276func (s *InputMapping) MarshalJSON() ([]byte, error) {
1277	type NoMethod InputMapping
1278	raw := NoMethod(*s)
1279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1280}
1281
1282// LogConfig: Specifies what kind of log the caller must write
1283type LogConfig struct {
1284	// CloudAudit: Cloud audit options.
1285	CloudAudit *LogConfigCloudAuditOptions `json:"cloudAudit,omitempty"`
1286
1287	// Counter: Counter options.
1288	Counter *LogConfigCounterOptions `json:"counter,omitempty"`
1289
1290	// DataAccess: Data access options.
1291	DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"`
1292
1293	// ForceSendFields is a list of field names (e.g. "CloudAudit") to
1294	// unconditionally include in API requests. By default, fields with
1295	// empty values are omitted from API requests. However, any non-pointer,
1296	// non-interface field appearing in ForceSendFields will be sent to the
1297	// server regardless of whether the field is empty or not. This may be
1298	// used to include empty fields in Patch requests.
1299	ForceSendFields []string `json:"-"`
1300
1301	// NullFields is a list of field names (e.g. "CloudAudit") to include in
1302	// API requests with the JSON null value. By default, fields with empty
1303	// values are omitted from API requests. However, any field with an
1304	// empty value appearing in NullFields will be sent to the server as
1305	// null. It is an error if a field in this list has a non-empty value.
1306	// This may be used to include null fields in Patch requests.
1307	NullFields []string `json:"-"`
1308}
1309
1310func (s *LogConfig) MarshalJSON() ([]byte, error) {
1311	type NoMethod LogConfig
1312	raw := NoMethod(*s)
1313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1314}
1315
1316// LogConfigCloudAuditOptions: Write a Cloud Audit log
1317type LogConfigCloudAuditOptions struct {
1318	// AuthorizationLoggingOptions: Information used by the Cloud Audit
1319	// Logging pipeline.
1320	AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"`
1321
1322	// LogName: The log_name to populate in the Cloud Audit Record.
1323	LogName string `json:"logName,omitempty"`
1324
1325	// ForceSendFields is a list of field names (e.g.
1326	// "AuthorizationLoggingOptions") to unconditionally include in API
1327	// requests. By default, fields with empty values are omitted from API
1328	// requests. However, any non-pointer, non-interface field appearing in
1329	// ForceSendFields will be sent to the server regardless of whether the
1330	// field is empty or not. This may be used to include empty fields in
1331	// Patch requests.
1332	ForceSendFields []string `json:"-"`
1333
1334	// NullFields is a list of field names (e.g.
1335	// "AuthorizationLoggingOptions") to include in API requests with the
1336	// JSON null value. By default, fields with empty values are omitted
1337	// from API requests. However, any field with an empty value appearing
1338	// in NullFields will be sent to the server as null. It is an error if a
1339	// field in this list has a non-empty value. This may be used to include
1340	// null fields in Patch requests.
1341	NullFields []string `json:"-"`
1342}
1343
1344func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) {
1345	type NoMethod LogConfigCloudAuditOptions
1346	raw := NoMethod(*s)
1347	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1348}
1349
1350// LogConfigCounterOptions: Increment a streamz counter with the
1351// specified metric and field names.
1352//
1353// Metric names should start with a '/', generally be lowercase-only,
1354// and end in "_count". Field names should not contain an initial slash.
1355// The actual exported metric names will have "/iam/policy"
1356// prepended.
1357//
1358// Field names correspond to IAM request parameters and field values are
1359// their respective values.
1360//
1361// Supported field names: - "authority", which is "[token]" if
1362// IAMContext.token is present, otherwise the value of
1363// IAMContext.authority_selector if present, and otherwise a
1364// representation of IAMContext.principal; or - "iam_principal", a
1365// representation of IAMContext.principal even if a token or authority
1366// selector is present; or - "" (empty string), resulting in a counter
1367// with no fields.
1368//
1369// Examples: counter { metric: "/debug_access_count" field:
1370// "iam_principal" } ==> increment counter
1371// /iam/policy/backend_debug_access_count {iam_principal=[value of
1372// IAMContext.principal]}
1373//
1374// At this time we do not support multiple field names (though this may
1375// be supported in the future).
1376type LogConfigCounterOptions struct {
1377	// Field: The field value to attribute.
1378	Field string `json:"field,omitempty"`
1379
1380	// Metric: The metric to update.
1381	Metric string `json:"metric,omitempty"`
1382
1383	// ForceSendFields is a list of field names (e.g. "Field") to
1384	// unconditionally include in API requests. By default, fields with
1385	// empty values are omitted from API requests. However, any non-pointer,
1386	// non-interface field appearing in ForceSendFields will be sent to the
1387	// server regardless of whether the field is empty or not. This may be
1388	// used to include empty fields in Patch requests.
1389	ForceSendFields []string `json:"-"`
1390
1391	// NullFields is a list of field names (e.g. "Field") to include in API
1392	// requests with the JSON null value. By default, fields with empty
1393	// values are omitted from API requests. However, any field with an
1394	// empty value appearing in NullFields will be sent to the server as
1395	// null. It is an error if a field in this list has a non-empty value.
1396	// This may be used to include null fields in Patch requests.
1397	NullFields []string `json:"-"`
1398}
1399
1400func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) {
1401	type NoMethod LogConfigCounterOptions
1402	raw := NoMethod(*s)
1403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1404}
1405
1406// LogConfigDataAccessOptions: Write a Data Access (Gin) log
1407type LogConfigDataAccessOptions struct {
1408	// LogMode: Whether Gin logging should happen in a fail-closed manner at
1409	// the caller. This is relevant only in the LocalIAM implementation, for
1410	// now.
1411	//
1412	// NOTE: Logging to Gin in a fail-closed manner is currently unsupported
1413	// while work is being done to satisfy the requirements of go/345.
1414	// Currently, setting LOG_FAIL_CLOSED mode will have no effect, but
1415	// still exists because there is active work being done to support it
1416	// (b/115874152).
1417	LogMode string `json:"logMode,omitempty"`
1418
1419	// ForceSendFields is a list of field names (e.g. "LogMode") to
1420	// unconditionally include in API requests. By default, fields with
1421	// empty values are omitted from API requests. However, any non-pointer,
1422	// non-interface field appearing in ForceSendFields will be sent to the
1423	// server regardless of whether the field is empty or not. This may be
1424	// used to include empty fields in Patch requests.
1425	ForceSendFields []string `json:"-"`
1426
1427	// NullFields is a list of field names (e.g. "LogMode") to include in
1428	// API requests with the JSON null value. By default, fields with empty
1429	// values are omitted from API requests. However, any field with an
1430	// empty value appearing in NullFields will be sent to the server as
1431	// null. It is an error if a field in this list has a non-empty value.
1432	// This may be used to include null fields in Patch requests.
1433	NullFields []string `json:"-"`
1434}
1435
1436func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) {
1437	type NoMethod LogConfigDataAccessOptions
1438	raw := NoMethod(*s)
1439	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1440}
1441
1442type Manifest struct {
1443	// Config: Output only. The YAML configuration for this manifest.
1444	Config *ConfigFile `json:"config,omitempty"`
1445
1446	// ExpandedConfig: Output only. The fully-expanded configuration file,
1447	// including any templates and references.
1448	ExpandedConfig string `json:"expandedConfig,omitempty"`
1449
1450	Id uint64 `json:"id,omitempty,string"`
1451
1452	// Imports: Output only. The imported files for this manifest.
1453	Imports []*ImportFile `json:"imports,omitempty"`
1454
1455	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
1456	InsertTime string `json:"insertTime,omitempty"`
1457
1458	// Layout: Output only. The YAML layout for this manifest.
1459	Layout string `json:"layout,omitempty"`
1460
1461	// Name: Output only.
1462	//
1463	// The name of the manifest.
1464	Name string `json:"name,omitempty"`
1465
1466	// SelfLink: Output only. Self link for the manifest.
1467	SelfLink string `json:"selfLink,omitempty"`
1468
1469	// ServerResponse contains the HTTP response code and headers from the
1470	// server.
1471	googleapi.ServerResponse `json:"-"`
1472
1473	// ForceSendFields is a list of field names (e.g. "Config") to
1474	// unconditionally include in API requests. By default, fields with
1475	// empty values are omitted from API requests. However, any non-pointer,
1476	// non-interface field appearing in ForceSendFields will be sent to the
1477	// server regardless of whether the field is empty or not. This may be
1478	// used to include empty fields in Patch requests.
1479	ForceSendFields []string `json:"-"`
1480
1481	// NullFields is a list of field names (e.g. "Config") to include in API
1482	// requests with the JSON null value. By default, fields with empty
1483	// values are omitted from API requests. However, any field with an
1484	// empty value appearing in NullFields will be sent to the server as
1485	// null. It is an error if a field in this list has a non-empty value.
1486	// This may be used to include null fields in Patch requests.
1487	NullFields []string `json:"-"`
1488}
1489
1490func (s *Manifest) MarshalJSON() ([]byte, error) {
1491	type NoMethod Manifest
1492	raw := NoMethod(*s)
1493	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1494}
1495
1496// ManifestsListResponse: A response containing a partial list of
1497// manifests and a page token used to build the next request if the
1498// request has been truncated.
1499type ManifestsListResponse struct {
1500	// Manifests: Output only. Manifests contained in this list response.
1501	Manifests []*Manifest `json:"manifests,omitempty"`
1502
1503	// NextPageToken: Output only. A token used to continue a truncated list
1504	// request.
1505	NextPageToken string `json:"nextPageToken,omitempty"`
1506
1507	// ServerResponse contains the HTTP response code and headers from the
1508	// server.
1509	googleapi.ServerResponse `json:"-"`
1510
1511	// ForceSendFields is a list of field names (e.g. "Manifests") to
1512	// unconditionally include in API requests. By default, fields with
1513	// empty values are omitted from API requests. However, any non-pointer,
1514	// non-interface field appearing in ForceSendFields will be sent to the
1515	// server regardless of whether the field is empty or not. This may be
1516	// used to include empty fields in Patch requests.
1517	ForceSendFields []string `json:"-"`
1518
1519	// NullFields is a list of field names (e.g. "Manifests") to include in
1520	// API requests with the JSON null value. By default, fields with empty
1521	// values are omitted from API requests. However, any field with an
1522	// empty value appearing in NullFields will be sent to the server as
1523	// null. It is an error if a field in this list has a non-empty value.
1524	// This may be used to include null fields in Patch requests.
1525	NullFields []string `json:"-"`
1526}
1527
1528func (s *ManifestsListResponse) MarshalJSON() ([]byte, error) {
1529	type NoMethod ManifestsListResponse
1530	raw := NoMethod(*s)
1531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1532}
1533
1534// Operation: An Operation resource, used to manage asynchronous API
1535// requests. (== resource_for v1.globalOperations ==) (== resource_for
1536// beta.globalOperations ==) (== resource_for v1.regionOperations ==)
1537// (== resource_for beta.regionOperations ==) (== resource_for
1538// v1.zoneOperations ==) (== resource_for beta.zoneOperations ==)
1539type Operation struct {
1540	// ClientOperationId: [Output Only] The value of `requestId` if you
1541	// provided it in the request. Not present otherwise.
1542	ClientOperationId string `json:"clientOperationId,omitempty"`
1543
1544	// CreationTimestamp: [Deprecated] This field is deprecated.
1545	CreationTimestamp string `json:"creationTimestamp,omitempty"`
1546
1547	// Description: [Output Only] A textual description of the operation,
1548	// which is set when the operation is created.
1549	Description string `json:"description,omitempty"`
1550
1551	// EndTime: [Output Only] The time that this operation was completed.
1552	// This value is in RFC3339 text format.
1553	EndTime string `json:"endTime,omitempty"`
1554
1555	// Error: [Output Only] If errors are generated during processing of the
1556	// operation, this field will be populated.
1557	Error *OperationError `json:"error,omitempty"`
1558
1559	// HttpErrorMessage: [Output Only] If the operation fails, this field
1560	// contains the HTTP error message that was returned, such as NOT FOUND.
1561	HttpErrorMessage string `json:"httpErrorMessage,omitempty"`
1562
1563	// HttpErrorStatusCode: [Output Only] If the operation fails, this field
1564	// contains the HTTP error status code that was returned. For example, a
1565	// 404 means the resource was not found.
1566	HttpErrorStatusCode int64 `json:"httpErrorStatusCode,omitempty"`
1567
1568	// Id: [Output Only] The unique identifier for the resource. This
1569	// identifier is defined by the server.
1570	Id uint64 `json:"id,omitempty,string"`
1571
1572	// InsertTime: [Output Only] The time that this operation was requested.
1573	// This value is in RFC3339 text format.
1574	InsertTime string `json:"insertTime,omitempty"`
1575
1576	// Kind: [Output Only] Type of the resource. Always compute#operation
1577	// for Operation resources.
1578	Kind string `json:"kind,omitempty"`
1579
1580	// Name: [Output Only] Name of the resource.
1581	Name string `json:"name,omitempty"`
1582
1583	// OperationType: [Output Only] The type of operation, such as insert,
1584	// update, or delete, and so on.
1585	OperationType string `json:"operationType,omitempty"`
1586
1587	// Progress: [Output Only] An optional progress indicator that ranges
1588	// from 0 to 100. There is no requirement that this be linear or support
1589	// any granularity of operations. This should not be used to guess when
1590	// the operation will be complete. This number should monotonically
1591	// increase as the operation progresses.
1592	Progress int64 `json:"progress,omitempty"`
1593
1594	// Region: [Output Only] The URL of the region where the operation
1595	// resides. Only available when performing regional operations. You must
1596	// specify this field as part of the HTTP request URL. It is not
1597	// settable as a field in the request body.
1598	Region string `json:"region,omitempty"`
1599
1600	// SelfLink: [Output Only] Server-defined URL for the resource.
1601	SelfLink string `json:"selfLink,omitempty"`
1602
1603	// StartTime: [Output Only] The time that this operation was started by
1604	// the server. This value is in RFC3339 text format.
1605	StartTime string `json:"startTime,omitempty"`
1606
1607	// Status: [Output Only] The status of the operation, which can be one
1608	// of the following: PENDING, RUNNING, or DONE.
1609	Status string `json:"status,omitempty"`
1610
1611	// StatusMessage: [Output Only] An optional textual description of the
1612	// current status of the operation.
1613	StatusMessage string `json:"statusMessage,omitempty"`
1614
1615	// TargetId: [Output Only] The unique target ID, which identifies a
1616	// specific incarnation of the target resource.
1617	TargetId uint64 `json:"targetId,omitempty,string"`
1618
1619	// TargetLink: [Output Only] The URL of the resource that the operation
1620	// modifies. For operations related to creating a snapshot, this points
1621	// to the persistent disk that the snapshot was created from.
1622	TargetLink string `json:"targetLink,omitempty"`
1623
1624	// User: [Output Only] User who requested the operation, for example:
1625	// user@example.com.
1626	User string `json:"user,omitempty"`
1627
1628	// Warnings: [Output Only] If warning messages are generated during
1629	// processing of the operation, this field will be populated.
1630	Warnings []*OperationWarnings `json:"warnings,omitempty"`
1631
1632	// Zone: [Output Only] The URL of the zone where the operation resides.
1633	// Only available when performing per-zone operations. You must specify
1634	// this field as part of the HTTP request URL. It is not settable as a
1635	// field in the request body.
1636	Zone string `json:"zone,omitempty"`
1637
1638	// ServerResponse contains the HTTP response code and headers from the
1639	// server.
1640	googleapi.ServerResponse `json:"-"`
1641
1642	// ForceSendFields is a list of field names (e.g. "ClientOperationId")
1643	// to unconditionally include in API requests. By default, fields with
1644	// empty values are omitted from API requests. However, any non-pointer,
1645	// non-interface field appearing in ForceSendFields will be sent to the
1646	// server regardless of whether the field is empty or not. This may be
1647	// used to include empty fields in Patch requests.
1648	ForceSendFields []string `json:"-"`
1649
1650	// NullFields is a list of field names (e.g. "ClientOperationId") to
1651	// include in API requests with the JSON null value. By default, fields
1652	// with empty values are omitted from API requests. However, any field
1653	// with an empty value appearing in NullFields will be sent to the
1654	// server as null. It is an error if a field in this list has a
1655	// non-empty value. This may be used to include null fields in Patch
1656	// requests.
1657	NullFields []string `json:"-"`
1658}
1659
1660func (s *Operation) MarshalJSON() ([]byte, error) {
1661	type NoMethod Operation
1662	raw := NoMethod(*s)
1663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1664}
1665
1666// OperationError: [Output Only] If errors are generated during
1667// processing of the operation, this field will be populated.
1668type OperationError struct {
1669	// Errors: [Output Only] The array of errors encountered while
1670	// processing this operation.
1671	Errors []*OperationErrorErrors `json:"errors,omitempty"`
1672
1673	// ForceSendFields is a list of field names (e.g. "Errors") to
1674	// unconditionally include in API requests. By default, fields with
1675	// empty values are omitted from API requests. However, any non-pointer,
1676	// non-interface field appearing in ForceSendFields will be sent to the
1677	// server regardless of whether the field is empty or not. This may be
1678	// used to include empty fields in Patch requests.
1679	ForceSendFields []string `json:"-"`
1680
1681	// NullFields is a list of field names (e.g. "Errors") to include in API
1682	// requests with the JSON null value. By default, fields with empty
1683	// values are omitted from API requests. However, any field with an
1684	// empty value appearing in NullFields will be sent to the server as
1685	// null. It is an error if a field in this list has a non-empty value.
1686	// This may be used to include null fields in Patch requests.
1687	NullFields []string `json:"-"`
1688}
1689
1690func (s *OperationError) MarshalJSON() ([]byte, error) {
1691	type NoMethod OperationError
1692	raw := NoMethod(*s)
1693	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1694}
1695
1696type OperationErrorErrors struct {
1697	// Code: [Output Only] The error type identifier for this error.
1698	Code string `json:"code,omitempty"`
1699
1700	// Location: [Output Only] Indicates the field in the request that
1701	// caused the error. This property is optional.
1702	Location string `json:"location,omitempty"`
1703
1704	// Message: [Output Only] An optional, human-readable error message.
1705	Message string `json:"message,omitempty"`
1706
1707	// ForceSendFields is a list of field names (e.g. "Code") to
1708	// unconditionally include in API requests. By default, fields with
1709	// empty values are omitted from API requests. However, any non-pointer,
1710	// non-interface field appearing in ForceSendFields will be sent to the
1711	// server regardless of whether the field is empty or not. This may be
1712	// used to include empty fields in Patch requests.
1713	ForceSendFields []string `json:"-"`
1714
1715	// NullFields is a list of field names (e.g. "Code") to include in API
1716	// requests with the JSON null value. By default, fields with empty
1717	// values are omitted from API requests. However, any field with an
1718	// empty value appearing in NullFields will be sent to the server as
1719	// null. It is an error if a field in this list has a non-empty value.
1720	// This may be used to include null fields in Patch requests.
1721	NullFields []string `json:"-"`
1722}
1723
1724func (s *OperationErrorErrors) MarshalJSON() ([]byte, error) {
1725	type NoMethod OperationErrorErrors
1726	raw := NoMethod(*s)
1727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1728}
1729
1730type OperationWarnings struct {
1731	// Code: [Output Only] A warning code, if applicable. For example,
1732	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
1733	// the response.
1734	Code string `json:"code,omitempty"`
1735
1736	// Data: [Output Only] Metadata about this warning in key: value format.
1737	// For example:
1738	// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
1739	Data []*OperationWarningsData `json:"data,omitempty"`
1740
1741	// Message: [Output Only] A human-readable description of the warning
1742	// code.
1743	Message string `json:"message,omitempty"`
1744
1745	// ForceSendFields is a list of field names (e.g. "Code") to
1746	// unconditionally include in API requests. By default, fields with
1747	// empty values are omitted from API requests. However, any non-pointer,
1748	// non-interface field appearing in ForceSendFields will be sent to the
1749	// server regardless of whether the field is empty or not. This may be
1750	// used to include empty fields in Patch requests.
1751	ForceSendFields []string `json:"-"`
1752
1753	// NullFields is a list of field names (e.g. "Code") to include in API
1754	// requests with the JSON null value. By default, fields with empty
1755	// values are omitted from API requests. However, any field with an
1756	// empty value appearing in NullFields will be sent to the server as
1757	// null. It is an error if a field in this list has a non-empty value.
1758	// This may be used to include null fields in Patch requests.
1759	NullFields []string `json:"-"`
1760}
1761
1762func (s *OperationWarnings) MarshalJSON() ([]byte, error) {
1763	type NoMethod OperationWarnings
1764	raw := NoMethod(*s)
1765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1766}
1767
1768type OperationWarningsData struct {
1769	// Key: [Output Only] A key that provides more detail on the warning
1770	// being returned. For example, for warnings where there are no results
1771	// in a list request for a particular zone, this key might be scope and
1772	// the key value might be the zone name. Other examples might be a key
1773	// indicating a deprecated resource and a suggested replacement, or a
1774	// warning about invalid network settings (for example, if an instance
1775	// attempts to perform IP forwarding but is not enabled for IP
1776	// forwarding).
1777	Key string `json:"key,omitempty"`
1778
1779	// Value: [Output Only] A warning data value corresponding to the key.
1780	Value string `json:"value,omitempty"`
1781
1782	// ForceSendFields is a list of field names (e.g. "Key") to
1783	// unconditionally include in API requests. By default, fields with
1784	// empty values are omitted from API requests. However, any non-pointer,
1785	// non-interface field appearing in ForceSendFields will be sent to the
1786	// server regardless of whether the field is empty or not. This may be
1787	// used to include empty fields in Patch requests.
1788	ForceSendFields []string `json:"-"`
1789
1790	// NullFields is a list of field names (e.g. "Key") to include in API
1791	// requests with the JSON null value. By default, fields with empty
1792	// values are omitted from API requests. However, any field with an
1793	// empty value appearing in NullFields will be sent to the server as
1794	// null. It is an error if a field in this list has a non-empty value.
1795	// This may be used to include null fields in Patch requests.
1796	NullFields []string `json:"-"`
1797}
1798
1799func (s *OperationWarningsData) MarshalJSON() ([]byte, error) {
1800	type NoMethod OperationWarningsData
1801	raw := NoMethod(*s)
1802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1803}
1804
1805// OperationsListResponse: A response containing a partial list of
1806// operations and a page token used to build the next request if the
1807// request has been truncated.
1808type OperationsListResponse struct {
1809	// NextPageToken: Output only. A token used to continue a truncated list
1810	// request.
1811	NextPageToken string `json:"nextPageToken,omitempty"`
1812
1813	// Operations: Output only. Operations contained in this list response.
1814	Operations []*Operation `json:"operations,omitempty"`
1815
1816	// ServerResponse contains the HTTP response code and headers from the
1817	// server.
1818	googleapi.ServerResponse `json:"-"`
1819
1820	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1821	// unconditionally include in API requests. By default, fields with
1822	// empty values are omitted from API requests. However, any non-pointer,
1823	// non-interface field appearing in ForceSendFields will be sent to the
1824	// server regardless of whether the field is empty or not. This may be
1825	// used to include empty fields in Patch requests.
1826	ForceSendFields []string `json:"-"`
1827
1828	// NullFields is a list of field names (e.g. "NextPageToken") to include
1829	// in API requests with the JSON null value. By default, fields with
1830	// empty values are omitted from API requests. However, any field with
1831	// an empty value appearing in NullFields will be sent to the server as
1832	// null. It is an error if a field in this list has a non-empty value.
1833	// This may be used to include null fields in Patch requests.
1834	NullFields []string `json:"-"`
1835}
1836
1837func (s *OperationsListResponse) MarshalJSON() ([]byte, error) {
1838	type NoMethod OperationsListResponse
1839	raw := NoMethod(*s)
1840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1841}
1842
1843// Options: Options allows customized resource handling by Deployment
1844// Manager.
1845type Options struct {
1846	// AsyncOptions: Options regarding how to thread async requests.
1847	AsyncOptions []*AsyncOptions `json:"asyncOptions,omitempty"`
1848
1849	// InputMappings: The mappings that apply for requests.
1850	InputMappings []*InputMapping `json:"inputMappings,omitempty"`
1851
1852	// ValidationOptions: Options for how to validate and process properties
1853	// on a resource.
1854	ValidationOptions *ValidationOptions `json:"validationOptions,omitempty"`
1855
1856	// VirtualProperties: Additional properties block described as a
1857	// jsonSchema, these properties will never be part of the json payload,
1858	// but they can be consumed by InputMappings, this must be a valid json
1859	// schema draft-04. The properties specified here will be decouple in a
1860	// different section. This schema will be merged to the schema
1861	// validation, and properties here will be extracted From the payload
1862	// and consumed explicitly by InputMappings. ex: field1: type: string
1863	// field2: type: number
1864	VirtualProperties string `json:"virtualProperties,omitempty"`
1865
1866	// ForceSendFields is a list of field names (e.g. "AsyncOptions") to
1867	// unconditionally include in API requests. By default, fields with
1868	// empty values are omitted from API requests. However, any non-pointer,
1869	// non-interface field appearing in ForceSendFields will be sent to the
1870	// server regardless of whether the field is empty or not. This may be
1871	// used to include empty fields in Patch requests.
1872	ForceSendFields []string `json:"-"`
1873
1874	// NullFields is a list of field names (e.g. "AsyncOptions") to include
1875	// in API requests with the JSON null value. By default, fields with
1876	// empty values are omitted from API requests. However, any field with
1877	// an empty value appearing in NullFields will be sent to the server as
1878	// null. It is an error if a field in this list has a non-empty value.
1879	// This may be used to include null fields in Patch requests.
1880	NullFields []string `json:"-"`
1881}
1882
1883func (s *Options) MarshalJSON() ([]byte, error) {
1884	type NoMethod Options
1885	raw := NoMethod(*s)
1886	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1887}
1888
1889// Policy: Defines an Identity and Access Management (IAM) policy. It is
1890// used to specify access control policies for Cloud Platform
1891// resources.
1892//
1893//
1894//
1895// A `Policy` consists of a list of `bindings`. A `binding` binds a list
1896// of `members` to a `role`, where the members can be user accounts,
1897// Google groups, Google domains, and service accounts. A `role` is a
1898// named list of permissions defined by IAM.
1899//
1900// **JSON Example**
1901//
1902// { "bindings": [ { "role": "roles/owner", "members": [
1903// "user:mike@example.com", "group:admins@example.com",
1904// "domain:google.com",
1905// "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, {
1906// "role": "roles/viewer", "members": ["user:sean@example.com"] } ]
1907// }
1908//
1909// **YAML Example**
1910//
1911// bindings: - members: - user:mike@example.com -
1912// group:admins@example.com - domain:google.com -
1913// serviceAccount:my-other-app@appspot.gserviceaccount.com role:
1914// roles/owner - members: - user:sean@example.com role:
1915// roles/viewer
1916//
1917//
1918//
1919// For a description of IAM and its features, see the [IAM developer's
1920// guide](https://cloud.google.com/iam/docs).
1921type Policy struct {
1922	// AuditConfigs: Specifies cloud audit logging configuration for this
1923	// policy.
1924	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
1925
1926	// Bindings: Associates a list of `members` to a `role`. `bindings` with
1927	// no members will result in an error.
1928	Bindings []*Binding `json:"bindings,omitempty"`
1929
1930	// Etag: `etag` is used for optimistic concurrency control as a way to
1931	// help prevent simultaneous updates of a policy from overwriting each
1932	// other. It is strongly suggested that systems make use of the `etag`
1933	// in the read-modify-write cycle to perform policy updates in order to
1934	// avoid race conditions: An `etag` is returned in the response to
1935	// `getIamPolicy`, and systems are expected to put that etag in the
1936	// request to `setIamPolicy` to ensure that their change will be applied
1937	// to the same version of the policy.
1938	//
1939	// If no `etag` is provided in the call to `setIamPolicy`, then the
1940	// existing policy is overwritten blindly.
1941	Etag string `json:"etag,omitempty"`
1942
1943	IamOwned bool `json:"iamOwned,omitempty"`
1944
1945	// Rules: If more than one rule is specified, the rules are applied in
1946	// the following manner: - All matching LOG rules are always applied. -
1947	// If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging
1948	// will be applied if one or more matching rule requires logging. -
1949	// Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
1950	// granted. Logging will be applied if one or more matching rule
1951	// requires logging. - Otherwise, if no rule applies, permission is
1952	// denied.
1953	Rules []*Rule `json:"rules,omitempty"`
1954
1955	// Version: Deprecated.
1956	Version int64 `json:"version,omitempty"`
1957
1958	// ServerResponse contains the HTTP response code and headers from the
1959	// server.
1960	googleapi.ServerResponse `json:"-"`
1961
1962	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
1963	// unconditionally include in API requests. By default, fields with
1964	// empty values are omitted from API requests. However, any non-pointer,
1965	// non-interface field appearing in ForceSendFields will be sent to the
1966	// server regardless of whether the field is empty or not. This may be
1967	// used to include empty fields in Patch requests.
1968	ForceSendFields []string `json:"-"`
1969
1970	// NullFields is a list of field names (e.g. "AuditConfigs") to include
1971	// in API requests with the JSON null value. By default, fields with
1972	// empty values are omitted from API requests. However, any field with
1973	// an empty value appearing in NullFields will be sent to the server as
1974	// null. It is an error if a field in this list has a non-empty value.
1975	// This may be used to include null fields in Patch requests.
1976	NullFields []string `json:"-"`
1977}
1978
1979func (s *Policy) MarshalJSON() ([]byte, error) {
1980	type NoMethod Policy
1981	raw := NoMethod(*s)
1982	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1983}
1984
1985type PollingOptions struct {
1986	// Diagnostics: An array of diagnostics to be collected by Deployment
1987	// Manager, these diagnostics will be displayed to the user.
1988	Diagnostics []*Diagnostic `json:"diagnostics,omitempty"`
1989
1990	// FailCondition: JsonPath expression that determines if the request
1991	// failed.
1992	FailCondition string `json:"failCondition,omitempty"`
1993
1994	// FinishCondition: JsonPath expression that determines if the request
1995	// is completed.
1996	FinishCondition string `json:"finishCondition,omitempty"`
1997
1998	// PollingLink: JsonPath expression that evaluates to string, it
1999	// indicates where to poll.
2000	PollingLink string `json:"pollingLink,omitempty"`
2001
2002	// TargetLink: JsonPath expression, after polling is completed,
2003	// indicates where to fetch the resource.
2004	TargetLink string `json:"targetLink,omitempty"`
2005
2006	// ForceSendFields is a list of field names (e.g. "Diagnostics") to
2007	// unconditionally include in API requests. By default, fields with
2008	// empty values are omitted from API requests. However, any non-pointer,
2009	// non-interface field appearing in ForceSendFields will be sent to the
2010	// server regardless of whether the field is empty or not. This may be
2011	// used to include empty fields in Patch requests.
2012	ForceSendFields []string `json:"-"`
2013
2014	// NullFields is a list of field names (e.g. "Diagnostics") to include
2015	// in API requests with the JSON null value. By default, fields with
2016	// empty values are omitted from API requests. However, any field with
2017	// an empty value appearing in NullFields will be sent to the server as
2018	// null. It is an error if a field in this list has a non-empty value.
2019	// This may be used to include null fields in Patch requests.
2020	NullFields []string `json:"-"`
2021}
2022
2023func (s *PollingOptions) MarshalJSON() ([]byte, error) {
2024	type NoMethod PollingOptions
2025	raw := NoMethod(*s)
2026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2027}
2028
2029type Resource struct {
2030	// AccessControl: The Access Control Policy set on this resource.
2031	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
2032
2033	// FinalProperties: Output only. The evaluated properties of the
2034	// resource with references expanded. Returned as serialized YAML.
2035	FinalProperties string `json:"finalProperties,omitempty"`
2036
2037	Id uint64 `json:"id,omitempty,string"`
2038
2039	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2040	InsertTime string `json:"insertTime,omitempty"`
2041
2042	// Manifest: Output only. URL of the manifest representing the current
2043	// configuration of this resource.
2044	Manifest string `json:"manifest,omitempty"`
2045
2046	// Name: Output only. The name of the resource as it appears in the YAML
2047	// config.
2048	Name string `json:"name,omitempty"`
2049
2050	// Properties: Output only. The current properties of the resource
2051	// before any references have been filled in. Returned as serialized
2052	// YAML.
2053	Properties string `json:"properties,omitempty"`
2054
2055	// Type: Output only. The type of the resource, for example
2056	// compute.v1.instance, or cloudfunctions.v1beta1.function.
2057	Type string `json:"type,omitempty"`
2058
2059	// Update: Output only. If Deployment Manager is currently updating or
2060	// previewing an update to this resource, the updated configuration
2061	// appears here.
2062	Update *ResourceUpdate `json:"update,omitempty"`
2063
2064	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
2065	UpdateTime string `json:"updateTime,omitempty"`
2066
2067	// Url: Output only. The URL of the actual resource.
2068	Url string `json:"url,omitempty"`
2069
2070	// Warnings: Output only. If warning messages are generated during
2071	// processing of this resource, this field will be populated.
2072	Warnings []*ResourceWarnings `json:"warnings,omitempty"`
2073
2074	// ServerResponse contains the HTTP response code and headers from the
2075	// server.
2076	googleapi.ServerResponse `json:"-"`
2077
2078	// ForceSendFields is a list of field names (e.g. "AccessControl") to
2079	// unconditionally include in API requests. By default, fields with
2080	// empty values are omitted from API requests. However, any non-pointer,
2081	// non-interface field appearing in ForceSendFields will be sent to the
2082	// server regardless of whether the field is empty or not. This may be
2083	// used to include empty fields in Patch requests.
2084	ForceSendFields []string `json:"-"`
2085
2086	// NullFields is a list of field names (e.g. "AccessControl") to include
2087	// in API requests with the JSON null value. By default, fields with
2088	// empty values are omitted from API requests. However, any field with
2089	// an empty value appearing in NullFields will be sent to the server as
2090	// null. It is an error if a field in this list has a non-empty value.
2091	// This may be used to include null fields in Patch requests.
2092	NullFields []string `json:"-"`
2093}
2094
2095func (s *Resource) MarshalJSON() ([]byte, error) {
2096	type NoMethod Resource
2097	raw := NoMethod(*s)
2098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2099}
2100
2101type ResourceWarnings struct {
2102	// Code: [Output Only] A warning code, if applicable. For example,
2103	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
2104	// the response.
2105	Code string `json:"code,omitempty"`
2106
2107	// Data: [Output Only] Metadata about this warning in key: value format.
2108	// For example:
2109	// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
2110	Data []*ResourceWarningsData `json:"data,omitempty"`
2111
2112	// Message: [Output Only] A human-readable description of the warning
2113	// code.
2114	Message string `json:"message,omitempty"`
2115
2116	// ForceSendFields is a list of field names (e.g. "Code") to
2117	// unconditionally include in API requests. By default, fields with
2118	// empty values are omitted from API requests. However, any non-pointer,
2119	// non-interface field appearing in ForceSendFields will be sent to the
2120	// server regardless of whether the field is empty or not. This may be
2121	// used to include empty fields in Patch requests.
2122	ForceSendFields []string `json:"-"`
2123
2124	// NullFields is a list of field names (e.g. "Code") to include in API
2125	// requests with the JSON null value. By default, fields with empty
2126	// values are omitted from API requests. However, any field with an
2127	// empty value appearing in NullFields will be sent to the server as
2128	// null. It is an error if a field in this list has a non-empty value.
2129	// This may be used to include null fields in Patch requests.
2130	NullFields []string `json:"-"`
2131}
2132
2133func (s *ResourceWarnings) MarshalJSON() ([]byte, error) {
2134	type NoMethod ResourceWarnings
2135	raw := NoMethod(*s)
2136	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2137}
2138
2139type ResourceWarningsData struct {
2140	// Key: [Output Only] A key that provides more detail on the warning
2141	// being returned. For example, for warnings where there are no results
2142	// in a list request for a particular zone, this key might be scope and
2143	// the key value might be the zone name. Other examples might be a key
2144	// indicating a deprecated resource and a suggested replacement, or a
2145	// warning about invalid network settings (for example, if an instance
2146	// attempts to perform IP forwarding but is not enabled for IP
2147	// forwarding).
2148	Key string `json:"key,omitempty"`
2149
2150	// Value: [Output Only] A warning data value corresponding to the key.
2151	Value string `json:"value,omitempty"`
2152
2153	// ForceSendFields is a list of field names (e.g. "Key") to
2154	// unconditionally include in API requests. By default, fields with
2155	// empty values are omitted from API requests. However, any non-pointer,
2156	// non-interface field appearing in ForceSendFields will be sent to the
2157	// server regardless of whether the field is empty or not. This may be
2158	// used to include empty fields in Patch requests.
2159	ForceSendFields []string `json:"-"`
2160
2161	// NullFields is a list of field names (e.g. "Key") to include in API
2162	// requests with the JSON null value. By default, fields with empty
2163	// values are omitted from API requests. However, any field with an
2164	// empty value appearing in NullFields will be sent to the server as
2165	// null. It is an error if a field in this list has a non-empty value.
2166	// This may be used to include null fields in Patch requests.
2167	NullFields []string `json:"-"`
2168}
2169
2170func (s *ResourceWarningsData) MarshalJSON() ([]byte, error) {
2171	type NoMethod ResourceWarningsData
2172	raw := NoMethod(*s)
2173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2174}
2175
2176// ResourceAccessControl: The access controls set on the resource.
2177type ResourceAccessControl struct {
2178	// GcpIamPolicy: The GCP IAM Policy to set on the resource.
2179	GcpIamPolicy string `json:"gcpIamPolicy,omitempty"`
2180
2181	// ForceSendFields is a list of field names (e.g. "GcpIamPolicy") to
2182	// unconditionally include in API requests. By default, fields with
2183	// empty values are omitted from API requests. However, any non-pointer,
2184	// non-interface field appearing in ForceSendFields will be sent to the
2185	// server regardless of whether the field is empty or not. This may be
2186	// used to include empty fields in Patch requests.
2187	ForceSendFields []string `json:"-"`
2188
2189	// NullFields is a list of field names (e.g. "GcpIamPolicy") to include
2190	// in API requests with the JSON null value. By default, fields with
2191	// empty values are omitted from API requests. However, any field with
2192	// an empty value appearing in NullFields will be sent to the server as
2193	// null. It is an error if a field in this list has a non-empty value.
2194	// This may be used to include null fields in Patch requests.
2195	NullFields []string `json:"-"`
2196}
2197
2198func (s *ResourceAccessControl) MarshalJSON() ([]byte, error) {
2199	type NoMethod ResourceAccessControl
2200	raw := NoMethod(*s)
2201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2202}
2203
2204type ResourceUpdate struct {
2205	// AccessControl: The Access Control Policy to set on this resource
2206	// after updating the resource itself.
2207	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
2208
2209	// Error: Output only. If errors are generated during update of the
2210	// resource, this field will be populated.
2211	Error *ResourceUpdateError `json:"error,omitempty"`
2212
2213	// FinalProperties: Output only. The expanded properties of the resource
2214	// with reference values expanded. Returned as serialized YAML.
2215	FinalProperties string `json:"finalProperties,omitempty"`
2216
2217	// Intent: Output only. The intent of the resource: PREVIEW, UPDATE, or
2218	// CANCEL.
2219	Intent string `json:"intent,omitempty"`
2220
2221	// Manifest: Output only. URL of the manifest representing the update
2222	// configuration of this resource.
2223	Manifest string `json:"manifest,omitempty"`
2224
2225	// Properties: Output only. The set of updated properties for this
2226	// resource, before references are expanded. Returned as serialized
2227	// YAML.
2228	Properties string `json:"properties,omitempty"`
2229
2230	// State: Output only. The state of the resource.
2231	State string `json:"state,omitempty"`
2232
2233	// Warnings: Output only. If warning messages are generated during
2234	// processing of this resource, this field will be populated.
2235	Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"`
2236
2237	// ForceSendFields is a list of field names (e.g. "AccessControl") to
2238	// unconditionally include in API requests. By default, fields with
2239	// empty values are omitted from API requests. However, any non-pointer,
2240	// non-interface field appearing in ForceSendFields will be sent to the
2241	// server regardless of whether the field is empty or not. This may be
2242	// used to include empty fields in Patch requests.
2243	ForceSendFields []string `json:"-"`
2244
2245	// NullFields is a list of field names (e.g. "AccessControl") to include
2246	// in API requests with the JSON null value. By default, fields with
2247	// empty values are omitted from API requests. However, any field with
2248	// an empty value appearing in NullFields will be sent to the server as
2249	// null. It is an error if a field in this list has a non-empty value.
2250	// This may be used to include null fields in Patch requests.
2251	NullFields []string `json:"-"`
2252}
2253
2254func (s *ResourceUpdate) MarshalJSON() ([]byte, error) {
2255	type NoMethod ResourceUpdate
2256	raw := NoMethod(*s)
2257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2258}
2259
2260// ResourceUpdateError: Output only. If errors are generated during
2261// update of the resource, this field will be populated.
2262type ResourceUpdateError struct {
2263	// Errors: [Output Only] The array of errors encountered while
2264	// processing this operation.
2265	Errors []*ResourceUpdateErrorErrors `json:"errors,omitempty"`
2266
2267	// ForceSendFields is a list of field names (e.g. "Errors") to
2268	// unconditionally include in API requests. By default, fields with
2269	// empty values are omitted from API requests. However, any non-pointer,
2270	// non-interface field appearing in ForceSendFields will be sent to the
2271	// server regardless of whether the field is empty or not. This may be
2272	// used to include empty fields in Patch requests.
2273	ForceSendFields []string `json:"-"`
2274
2275	// NullFields is a list of field names (e.g. "Errors") to include in API
2276	// requests with the JSON null value. By default, fields with empty
2277	// values are omitted from API requests. However, any field with an
2278	// empty value appearing in NullFields will be sent to the server as
2279	// null. It is an error if a field in this list has a non-empty value.
2280	// This may be used to include null fields in Patch requests.
2281	NullFields []string `json:"-"`
2282}
2283
2284func (s *ResourceUpdateError) MarshalJSON() ([]byte, error) {
2285	type NoMethod ResourceUpdateError
2286	raw := NoMethod(*s)
2287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2288}
2289
2290type ResourceUpdateErrorErrors struct {
2291	// Code: [Output Only] The error type identifier for this error.
2292	Code string `json:"code,omitempty"`
2293
2294	// Location: [Output Only] Indicates the field in the request that
2295	// caused the error. This property is optional.
2296	Location string `json:"location,omitempty"`
2297
2298	// Message: [Output Only] An optional, human-readable error message.
2299	Message string `json:"message,omitempty"`
2300
2301	// ForceSendFields is a list of field names (e.g. "Code") to
2302	// unconditionally include in API requests. By default, fields with
2303	// empty values are omitted from API requests. However, any non-pointer,
2304	// non-interface field appearing in ForceSendFields will be sent to the
2305	// server regardless of whether the field is empty or not. This may be
2306	// used to include empty fields in Patch requests.
2307	ForceSendFields []string `json:"-"`
2308
2309	// NullFields is a list of field names (e.g. "Code") to include in API
2310	// requests with the JSON null value. By default, fields with empty
2311	// values are omitted from API requests. However, any field with an
2312	// empty value appearing in NullFields will be sent to the server as
2313	// null. It is an error if a field in this list has a non-empty value.
2314	// This may be used to include null fields in Patch requests.
2315	NullFields []string `json:"-"`
2316}
2317
2318func (s *ResourceUpdateErrorErrors) MarshalJSON() ([]byte, error) {
2319	type NoMethod ResourceUpdateErrorErrors
2320	raw := NoMethod(*s)
2321	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2322}
2323
2324type ResourceUpdateWarnings struct {
2325	// Code: [Output Only] A warning code, if applicable. For example,
2326	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
2327	// the response.
2328	Code string `json:"code,omitempty"`
2329
2330	// Data: [Output Only] Metadata about this warning in key: value format.
2331	// For example:
2332	// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
2333	Data []*ResourceUpdateWarningsData `json:"data,omitempty"`
2334
2335	// Message: [Output Only] A human-readable description of the warning
2336	// code.
2337	Message string `json:"message,omitempty"`
2338
2339	// ForceSendFields is a list of field names (e.g. "Code") to
2340	// unconditionally include in API requests. By default, fields with
2341	// empty values are omitted from API requests. However, any non-pointer,
2342	// non-interface field appearing in ForceSendFields will be sent to the
2343	// server regardless of whether the field is empty or not. This may be
2344	// used to include empty fields in Patch requests.
2345	ForceSendFields []string `json:"-"`
2346
2347	// NullFields is a list of field names (e.g. "Code") to include in API
2348	// requests with the JSON null value. By default, fields with empty
2349	// values are omitted from API requests. However, any field with an
2350	// empty value appearing in NullFields will be sent to the server as
2351	// null. It is an error if a field in this list has a non-empty value.
2352	// This may be used to include null fields in Patch requests.
2353	NullFields []string `json:"-"`
2354}
2355
2356func (s *ResourceUpdateWarnings) MarshalJSON() ([]byte, error) {
2357	type NoMethod ResourceUpdateWarnings
2358	raw := NoMethod(*s)
2359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2360}
2361
2362type ResourceUpdateWarningsData struct {
2363	// Key: [Output Only] A key that provides more detail on the warning
2364	// being returned. For example, for warnings where there are no results
2365	// in a list request for a particular zone, this key might be scope and
2366	// the key value might be the zone name. Other examples might be a key
2367	// indicating a deprecated resource and a suggested replacement, or a
2368	// warning about invalid network settings (for example, if an instance
2369	// attempts to perform IP forwarding but is not enabled for IP
2370	// forwarding).
2371	Key string `json:"key,omitempty"`
2372
2373	// Value: [Output Only] A warning data value corresponding to the key.
2374	Value string `json:"value,omitempty"`
2375
2376	// ForceSendFields is a list of field names (e.g. "Key") to
2377	// unconditionally include in API requests. By default, fields with
2378	// empty values are omitted from API requests. However, any non-pointer,
2379	// non-interface field appearing in ForceSendFields will be sent to the
2380	// server regardless of whether the field is empty or not. This may be
2381	// used to include empty fields in Patch requests.
2382	ForceSendFields []string `json:"-"`
2383
2384	// NullFields is a list of field names (e.g. "Key") to include in API
2385	// requests with the JSON null value. By default, fields with empty
2386	// values are omitted from API requests. However, any field with an
2387	// empty value appearing in NullFields will be sent to the server as
2388	// null. It is an error if a field in this list has a non-empty value.
2389	// This may be used to include null fields in Patch requests.
2390	NullFields []string `json:"-"`
2391}
2392
2393func (s *ResourceUpdateWarningsData) MarshalJSON() ([]byte, error) {
2394	type NoMethod ResourceUpdateWarningsData
2395	raw := NoMethod(*s)
2396	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2397}
2398
2399// ResourcesListResponse: A response containing a partial list of
2400// resources and a page token used to build the next request if the
2401// request has been truncated.
2402type ResourcesListResponse struct {
2403	// NextPageToken: A token used to continue a truncated list request.
2404	NextPageToken string `json:"nextPageToken,omitempty"`
2405
2406	// Resources: Resources contained in this list response.
2407	Resources []*Resource `json:"resources,omitempty"`
2408
2409	// ServerResponse contains the HTTP response code and headers from the
2410	// server.
2411	googleapi.ServerResponse `json:"-"`
2412
2413	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2414	// unconditionally include in API requests. By default, fields with
2415	// empty values are omitted from API requests. However, any non-pointer,
2416	// non-interface field appearing in ForceSendFields will be sent to the
2417	// server regardless of whether the field is empty or not. This may be
2418	// used to include empty fields in Patch requests.
2419	ForceSendFields []string `json:"-"`
2420
2421	// NullFields is a list of field names (e.g. "NextPageToken") to include
2422	// in API requests with the JSON null value. By default, fields with
2423	// empty values are omitted from API requests. However, any field with
2424	// an empty value appearing in NullFields will be sent to the server as
2425	// null. It is an error if a field in this list has a non-empty value.
2426	// This may be used to include null fields in Patch requests.
2427	NullFields []string `json:"-"`
2428}
2429
2430func (s *ResourcesListResponse) MarshalJSON() ([]byte, error) {
2431	type NoMethod ResourcesListResponse
2432	raw := NoMethod(*s)
2433	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2434}
2435
2436// Rule: A rule to be applied in a Policy.
2437type Rule struct {
2438	// Action: Required
2439	Action string `json:"action,omitempty"`
2440
2441	// Conditions: Additional restrictions that must be met. All conditions
2442	// must pass for the rule to match.
2443	Conditions []*Condition `json:"conditions,omitempty"`
2444
2445	// Description: Human-readable description of the rule.
2446	Description string `json:"description,omitempty"`
2447
2448	// Ins: If one or more 'in' clauses are specified, the rule matches if
2449	// the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
2450	Ins []string `json:"ins,omitempty"`
2451
2452	// LogConfigs: The config returned to callers of
2453	// tech.iam.IAM.CheckPolicy for any entries that match the LOG action.
2454	LogConfigs []*LogConfig `json:"logConfigs,omitempty"`
2455
2456	// NotIns: If one or more 'not_in' clauses are specified, the rule
2457	// matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the
2458	// entries.
2459	NotIns []string `json:"notIns,omitempty"`
2460
2461	// Permissions: A permission is a string of form '..' (e.g.,
2462	// 'storage.buckets.list'). A value of '*' matches all permissions, and
2463	// a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
2464	Permissions []string `json:"permissions,omitempty"`
2465
2466	// ForceSendFields is a list of field names (e.g. "Action") to
2467	// unconditionally include in API requests. By default, fields with
2468	// empty values are omitted from API requests. However, any non-pointer,
2469	// non-interface field appearing in ForceSendFields will be sent to the
2470	// server regardless of whether the field is empty or not. This may be
2471	// used to include empty fields in Patch requests.
2472	ForceSendFields []string `json:"-"`
2473
2474	// NullFields is a list of field names (e.g. "Action") to include in API
2475	// requests with the JSON null value. By default, fields with empty
2476	// values are omitted from API requests. However, any field with an
2477	// empty value appearing in NullFields will be sent to the server as
2478	// null. It is an error if a field in this list has a non-empty value.
2479	// This may be used to include null fields in Patch requests.
2480	NullFields []string `json:"-"`
2481}
2482
2483func (s *Rule) MarshalJSON() ([]byte, error) {
2484	type NoMethod Rule
2485	raw := NoMethod(*s)
2486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2487}
2488
2489// ServiceAccount: Service Account used as a credential.
2490type ServiceAccount struct {
2491	// Email: The IAM service account email address like
2492	// test@myproject.iam.gserviceaccount.com
2493	Email string `json:"email,omitempty"`
2494
2495	// ForceSendFields is a list of field names (e.g. "Email") to
2496	// unconditionally include in API requests. By default, fields with
2497	// empty values are omitted from API requests. However, any non-pointer,
2498	// non-interface field appearing in ForceSendFields will be sent to the
2499	// server regardless of whether the field is empty or not. This may be
2500	// used to include empty fields in Patch requests.
2501	ForceSendFields []string `json:"-"`
2502
2503	// NullFields is a list of field names (e.g. "Email") to include in API
2504	// requests with the JSON null value. By default, fields with empty
2505	// values are omitted from API requests. However, any field with an
2506	// empty value appearing in NullFields will be sent to the server as
2507	// null. It is an error if a field in this list has a non-empty value.
2508	// This may be used to include null fields in Patch requests.
2509	NullFields []string `json:"-"`
2510}
2511
2512func (s *ServiceAccount) MarshalJSON() ([]byte, error) {
2513	type NoMethod ServiceAccount
2514	raw := NoMethod(*s)
2515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2516}
2517
2518type TargetConfiguration struct {
2519	// Config: The configuration to use for this deployment.
2520	Config *ConfigFile `json:"config,omitempty"`
2521
2522	// Imports: Specifies any files to import for this configuration. This
2523	// can be used to import templates or other files. For example, you
2524	// might import a text file in order to use the file in a template.
2525	Imports []*ImportFile `json:"imports,omitempty"`
2526
2527	// ForceSendFields is a list of field names (e.g. "Config") to
2528	// unconditionally include in API requests. By default, fields with
2529	// empty values are omitted from API requests. However, any non-pointer,
2530	// non-interface field appearing in ForceSendFields will be sent to the
2531	// server regardless of whether the field is empty or not. This may be
2532	// used to include empty fields in Patch requests.
2533	ForceSendFields []string `json:"-"`
2534
2535	// NullFields is a list of field names (e.g. "Config") to include in API
2536	// requests with the JSON null value. By default, fields with empty
2537	// values are omitted from API requests. However, any field with an
2538	// empty value appearing in NullFields will be sent to the server as
2539	// null. It is an error if a field in this list has a non-empty value.
2540	// This may be used to include null fields in Patch requests.
2541	NullFields []string `json:"-"`
2542}
2543
2544func (s *TargetConfiguration) MarshalJSON() ([]byte, error) {
2545	type NoMethod TargetConfiguration
2546	raw := NoMethod(*s)
2547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2548}
2549
2550// TemplateContents: Files that make up the template contents of a
2551// template type.
2552type TemplateContents struct {
2553	// Imports: Import files referenced by the main template.
2554	Imports []*ImportFile `json:"imports,omitempty"`
2555
2556	// Interpreter: Which interpreter (python or jinja) should be used
2557	// during expansion.
2558	Interpreter string `json:"interpreter,omitempty"`
2559
2560	// MainTemplate: The filename of the mainTemplate
2561	MainTemplate string `json:"mainTemplate,omitempty"`
2562
2563	// Schema: The contents of the template schema.
2564	Schema string `json:"schema,omitempty"`
2565
2566	// Template: The contents of the main template file.
2567	Template string `json:"template,omitempty"`
2568
2569	// ForceSendFields is a list of field names (e.g. "Imports") to
2570	// unconditionally include in API requests. By default, fields with
2571	// empty values are omitted from API requests. However, any non-pointer,
2572	// non-interface field appearing in ForceSendFields will be sent to the
2573	// server regardless of whether the field is empty or not. This may be
2574	// used to include empty fields in Patch requests.
2575	ForceSendFields []string `json:"-"`
2576
2577	// NullFields is a list of field names (e.g. "Imports") to include in
2578	// API requests with the JSON null value. By default, fields with empty
2579	// values are omitted from API requests. However, any field with an
2580	// empty value appearing in NullFields will be sent to the server as
2581	// null. It is an error if a field in this list has a non-empty value.
2582	// This may be used to include null fields in Patch requests.
2583	NullFields []string `json:"-"`
2584}
2585
2586func (s *TemplateContents) MarshalJSON() ([]byte, error) {
2587	type NoMethod TemplateContents
2588	raw := NoMethod(*s)
2589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2590}
2591
2592type TestPermissionsRequest struct {
2593	// Permissions: The set of permissions to check for the 'resource'.
2594	// Permissions with wildcards (such as '*' or 'storage.*') are not
2595	// allowed.
2596	Permissions []string `json:"permissions,omitempty"`
2597
2598	// ForceSendFields is a list of field names (e.g. "Permissions") to
2599	// unconditionally include in API requests. By default, fields with
2600	// empty values are omitted from API requests. However, any non-pointer,
2601	// non-interface field appearing in ForceSendFields will be sent to the
2602	// server regardless of whether the field is empty or not. This may be
2603	// used to include empty fields in Patch requests.
2604	ForceSendFields []string `json:"-"`
2605
2606	// NullFields is a list of field names (e.g. "Permissions") to include
2607	// in API requests with the JSON null value. By default, fields with
2608	// empty values are omitted from API requests. However, any field with
2609	// an empty value appearing in NullFields will be sent to the server as
2610	// null. It is an error if a field in this list has a non-empty value.
2611	// This may be used to include null fields in Patch requests.
2612	NullFields []string `json:"-"`
2613}
2614
2615func (s *TestPermissionsRequest) MarshalJSON() ([]byte, error) {
2616	type NoMethod TestPermissionsRequest
2617	raw := NoMethod(*s)
2618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2619}
2620
2621type TestPermissionsResponse struct {
2622	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2623	// the caller is allowed.
2624	Permissions []string `json:"permissions,omitempty"`
2625
2626	// ServerResponse contains the HTTP response code and headers from the
2627	// server.
2628	googleapi.ServerResponse `json:"-"`
2629
2630	// ForceSendFields is a list of field names (e.g. "Permissions") to
2631	// unconditionally include in API requests. By default, fields with
2632	// empty values are omitted from API requests. However, any non-pointer,
2633	// non-interface field appearing in ForceSendFields will be sent to the
2634	// server regardless of whether the field is empty or not. This may be
2635	// used to include empty fields in Patch requests.
2636	ForceSendFields []string `json:"-"`
2637
2638	// NullFields is a list of field names (e.g. "Permissions") to include
2639	// in API requests with the JSON null value. By default, fields with
2640	// empty values are omitted from API requests. However, any field with
2641	// an empty value appearing in NullFields will be sent to the server as
2642	// null. It is an error if a field in this list has a non-empty value.
2643	// This may be used to include null fields in Patch requests.
2644	NullFields []string `json:"-"`
2645}
2646
2647func (s *TestPermissionsResponse) MarshalJSON() ([]byte, error) {
2648	type NoMethod TestPermissionsResponse
2649	raw := NoMethod(*s)
2650	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2651}
2652
2653// Type: A resource type supported by Deployment Manager.
2654type Type struct {
2655	// Base: Base Type (configurable service) that backs this Type.
2656	Base *BaseType `json:"base,omitempty"`
2657
2658	// Description: An optional textual description of the resource;
2659	// provided by the client when the resource is created.
2660	Description string `json:"description,omitempty"`
2661
2662	Id uint64 `json:"id,omitempty,string"`
2663
2664	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2665	InsertTime string `json:"insertTime,omitempty"`
2666
2667	// Labels: Map of labels; provided by the client when the resource is
2668	// created or updated. Specifically: Label keys must be between 1 and 63
2669	// characters long and must conform to the following regular expression:
2670	// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
2671	// characters long and must conform to the regular expression
2672	// ([a-z]([-a-z0-9]*[a-z0-9])?)?
2673	Labels []*TypeLabelEntry `json:"labels,omitempty"`
2674
2675	// Name: Name of the type.
2676	Name string `json:"name,omitempty"`
2677
2678	// Operation: Output only. The Operation that most recently ran, or is
2679	// currently running, on this type.
2680	Operation *Operation `json:"operation,omitempty"`
2681
2682	// SelfLink: Output only. Server defined URL for the resource.
2683	SelfLink string `json:"selfLink,omitempty"`
2684
2685	// ForceSendFields is a list of field names (e.g. "Base") to
2686	// unconditionally include in API requests. By default, fields with
2687	// empty values are omitted from API requests. However, any non-pointer,
2688	// non-interface field appearing in ForceSendFields will be sent to the
2689	// server regardless of whether the field is empty or not. This may be
2690	// used to include empty fields in Patch requests.
2691	ForceSendFields []string `json:"-"`
2692
2693	// NullFields is a list of field names (e.g. "Base") to include in API
2694	// requests with the JSON null value. By default, fields with empty
2695	// values are omitted from API requests. However, any field with an
2696	// empty value appearing in NullFields will be sent to the server as
2697	// null. It is an error if a field in this list has a non-empty value.
2698	// This may be used to include null fields in Patch requests.
2699	NullFields []string `json:"-"`
2700}
2701
2702func (s *Type) MarshalJSON() ([]byte, error) {
2703	type NoMethod Type
2704	raw := NoMethod(*s)
2705	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2706}
2707
2708// TypeInfo: Type Information. Contains detailed information about a
2709// composite type, base type, or base type with specific collection.
2710type TypeInfo struct {
2711	// Description: The description of the type.
2712	Description string `json:"description,omitempty"`
2713
2714	// DocumentationLink: For swagger 2.0 externalDocs field will be used.
2715	// For swagger 1.2 this field will be empty.
2716	DocumentationLink string `json:"documentationLink,omitempty"`
2717
2718	// Kind: Output only. Type of the output. Always
2719	// deploymentManager#TypeInfo for TypeInfo.
2720	Kind string `json:"kind,omitempty"`
2721
2722	// Name: The base type or composite type name.
2723	Name string `json:"name,omitempty"`
2724
2725	// Schema: For base types with a collection, we return a schema and
2726	// documentation link For template types, we return only a schema
2727	Schema *TypeInfoSchemaInfo `json:"schema,omitempty"`
2728
2729	// SelfLink: Output only. Self link for the type provider.
2730	SelfLink string `json:"selfLink,omitempty"`
2731
2732	// Title: The title on the API descriptor URL provided.
2733	Title string `json:"title,omitempty"`
2734
2735	// ServerResponse contains the HTTP response code and headers from the
2736	// server.
2737	googleapi.ServerResponse `json:"-"`
2738
2739	// ForceSendFields is a list of field names (e.g. "Description") to
2740	// unconditionally include in API requests. By default, fields with
2741	// empty values are omitted from API requests. However, any non-pointer,
2742	// non-interface field appearing in ForceSendFields will be sent to the
2743	// server regardless of whether the field is empty or not. This may be
2744	// used to include empty fields in Patch requests.
2745	ForceSendFields []string `json:"-"`
2746
2747	// NullFields is a list of field names (e.g. "Description") to include
2748	// in API requests with the JSON null value. By default, fields with
2749	// empty values are omitted from API requests. However, any field with
2750	// an empty value appearing in NullFields will be sent to the server as
2751	// null. It is an error if a field in this list has a non-empty value.
2752	// This may be used to include null fields in Patch requests.
2753	NullFields []string `json:"-"`
2754}
2755
2756func (s *TypeInfo) MarshalJSON() ([]byte, error) {
2757	type NoMethod TypeInfo
2758	raw := NoMethod(*s)
2759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2760}
2761
2762type TypeInfoSchemaInfo struct {
2763	// Input: The properties that this composite type or base type
2764	// collection accept as input, represented as a json blob, format is:
2765	// JSON Schema Draft V4
2766	Input string `json:"input,omitempty"`
2767
2768	// Output: The properties that this composite type or base type
2769	// collection exposes as output, these properties can be used for
2770	// references, represented as json blob, format is: JSON Schema Draft V4
2771	Output string `json:"output,omitempty"`
2772
2773	// ForceSendFields is a list of field names (e.g. "Input") to
2774	// unconditionally include in API requests. By default, fields with
2775	// empty values are omitted from API requests. However, any non-pointer,
2776	// non-interface field appearing in ForceSendFields will be sent to the
2777	// server regardless of whether the field is empty or not. This may be
2778	// used to include empty fields in Patch requests.
2779	ForceSendFields []string `json:"-"`
2780
2781	// NullFields is a list of field names (e.g. "Input") to include in API
2782	// requests with the JSON null value. By default, fields with empty
2783	// values are omitted from API requests. However, any field with an
2784	// empty value appearing in NullFields will be sent to the server as
2785	// null. It is an error if a field in this list has a non-empty value.
2786	// This may be used to include null fields in Patch requests.
2787	NullFields []string `json:"-"`
2788}
2789
2790func (s *TypeInfoSchemaInfo) MarshalJSON() ([]byte, error) {
2791	type NoMethod TypeInfoSchemaInfo
2792	raw := NoMethod(*s)
2793	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2794}
2795
2796type TypeLabelEntry struct {
2797	Key string `json:"key,omitempty"`
2798
2799	Value string `json:"value,omitempty"`
2800
2801	// ForceSendFields is a list of field names (e.g. "Key") to
2802	// unconditionally include in API requests. By default, fields with
2803	// empty values are omitted from API requests. However, any non-pointer,
2804	// non-interface field appearing in ForceSendFields will be sent to the
2805	// server regardless of whether the field is empty or not. This may be
2806	// used to include empty fields in Patch requests.
2807	ForceSendFields []string `json:"-"`
2808
2809	// NullFields is a list of field names (e.g. "Key") to include in API
2810	// requests with the JSON null value. By default, fields with empty
2811	// values are omitted from API requests. However, any field with an
2812	// empty value appearing in NullFields will be sent to the server as
2813	// null. It is an error if a field in this list has a non-empty value.
2814	// This may be used to include null fields in Patch requests.
2815	NullFields []string `json:"-"`
2816}
2817
2818func (s *TypeLabelEntry) MarshalJSON() ([]byte, error) {
2819	type NoMethod TypeLabelEntry
2820	raw := NoMethod(*s)
2821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2822}
2823
2824// TypeProvider: A type provider that describes a service-backed Type.
2825type TypeProvider struct {
2826	// CollectionOverrides: Allows resource handling overrides for specific
2827	// collections
2828	CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
2829
2830	// Credential: Credential used when interacting with this type.
2831	Credential *Credential `json:"credential,omitempty"`
2832
2833	// Description: An optional textual description of the resource;
2834	// provided by the client when the resource is created.
2835	Description string `json:"description,omitempty"`
2836
2837	// DescriptorUrl: Descriptor Url for the this type provider.
2838	DescriptorUrl string `json:"descriptorUrl,omitempty"`
2839
2840	// Id: Output only. Unique identifier for the resource defined by the
2841	// server.
2842	Id uint64 `json:"id,omitempty,string"`
2843
2844	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2845	InsertTime string `json:"insertTime,omitempty"`
2846
2847	// Labels: Map of labels; provided by the client when the resource is
2848	// created or updated. Specifically: Label keys must be between 1 and 63
2849	// characters long and must conform to the following regular expression:
2850	// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
2851	// characters long and must conform to the regular expression
2852	// ([a-z]([-a-z0-9]*[a-z0-9])?)?
2853	Labels []*TypeProviderLabelEntry `json:"labels,omitempty"`
2854
2855	// Name: Name of the resource; provided by the client when the resource
2856	// is created. The name must be 1-63 characters long, and comply with
2857	// RFC1035. Specifically, the name must be 1-63 characters long and
2858	// match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
2859	// the first character must be a lowercase letter, and all following
2860	// characters must be a dash, lowercase letter, or digit, except the
2861	// last character, which cannot be a dash.
2862	Name string `json:"name,omitempty"`
2863
2864	// Operation: Output only. The Operation that most recently ran, or is
2865	// currently running, on this type provider.
2866	Operation *Operation `json:"operation,omitempty"`
2867
2868	// Options: Options to apply when handling any resources in this
2869	// service.
2870	Options *Options `json:"options,omitempty"`
2871
2872	// SelfLink: Output only. Self link for the type provider.
2873	SelfLink string `json:"selfLink,omitempty"`
2874
2875	// ServerResponse contains the HTTP response code and headers from the
2876	// server.
2877	googleapi.ServerResponse `json:"-"`
2878
2879	// ForceSendFields is a list of field names (e.g. "CollectionOverrides")
2880	// to unconditionally include in API requests. By default, fields with
2881	// empty values are omitted from API requests. However, any non-pointer,
2882	// non-interface field appearing in ForceSendFields will be sent to the
2883	// server regardless of whether the field is empty or not. This may be
2884	// used to include empty fields in Patch requests.
2885	ForceSendFields []string `json:"-"`
2886
2887	// NullFields is a list of field names (e.g. "CollectionOverrides") to
2888	// include in API requests with the JSON null value. By default, fields
2889	// with empty values are omitted from API requests. However, any field
2890	// with an empty value appearing in NullFields will be sent to the
2891	// server as null. It is an error if a field in this list has a
2892	// non-empty value. This may be used to include null fields in Patch
2893	// requests.
2894	NullFields []string `json:"-"`
2895}
2896
2897func (s *TypeProvider) MarshalJSON() ([]byte, error) {
2898	type NoMethod TypeProvider
2899	raw := NoMethod(*s)
2900	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2901}
2902
2903type TypeProviderLabelEntry struct {
2904	Key string `json:"key,omitempty"`
2905
2906	Value string `json:"value,omitempty"`
2907
2908	// ForceSendFields is a list of field names (e.g. "Key") to
2909	// unconditionally include in API requests. By default, fields with
2910	// empty values are omitted from API requests. However, any non-pointer,
2911	// non-interface field appearing in ForceSendFields will be sent to the
2912	// server regardless of whether the field is empty or not. This may be
2913	// used to include empty fields in Patch requests.
2914	ForceSendFields []string `json:"-"`
2915
2916	// NullFields is a list of field names (e.g. "Key") to include in API
2917	// requests with the JSON null value. By default, fields with empty
2918	// values are omitted from API requests. However, any field with an
2919	// empty value appearing in NullFields will be sent to the server as
2920	// null. It is an error if a field in this list has a non-empty value.
2921	// This may be used to include null fields in Patch requests.
2922	NullFields []string `json:"-"`
2923}
2924
2925func (s *TypeProviderLabelEntry) MarshalJSON() ([]byte, error) {
2926	type NoMethod TypeProviderLabelEntry
2927	raw := NoMethod(*s)
2928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2929}
2930
2931// TypeProvidersListResponse: A response that returns all Type Providers
2932// supported by Deployment Manager
2933type TypeProvidersListResponse struct {
2934	// NextPageToken: A token used to continue a truncated list request.
2935	NextPageToken string `json:"nextPageToken,omitempty"`
2936
2937	// TypeProviders: Output only. A list of resource type providers
2938	// supported by Deployment Manager.
2939	TypeProviders []*TypeProvider `json:"typeProviders,omitempty"`
2940
2941	// ServerResponse contains the HTTP response code and headers from the
2942	// server.
2943	googleapi.ServerResponse `json:"-"`
2944
2945	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2946	// unconditionally include in API requests. By default, fields with
2947	// empty values are omitted from API requests. However, any non-pointer,
2948	// non-interface field appearing in ForceSendFields will be sent to the
2949	// server regardless of whether the field is empty or not. This may be
2950	// used to include empty fields in Patch requests.
2951	ForceSendFields []string `json:"-"`
2952
2953	// NullFields is a list of field names (e.g. "NextPageToken") to include
2954	// in API requests with the JSON null value. By default, fields with
2955	// empty values are omitted from API requests. However, any field with
2956	// an empty value appearing in NullFields will be sent to the server as
2957	// null. It is an error if a field in this list has a non-empty value.
2958	// This may be used to include null fields in Patch requests.
2959	NullFields []string `json:"-"`
2960}
2961
2962func (s *TypeProvidersListResponse) MarshalJSON() ([]byte, error) {
2963	type NoMethod TypeProvidersListResponse
2964	raw := NoMethod(*s)
2965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2966}
2967
2968type TypeProvidersListTypesResponse struct {
2969	// NextPageToken: A token used to continue a truncated list request.
2970	NextPageToken string `json:"nextPageToken,omitempty"`
2971
2972	// Types: Output only. A list of resource type info.
2973	Types []*TypeInfo `json:"types,omitempty"`
2974
2975	// ServerResponse contains the HTTP response code and headers from the
2976	// server.
2977	googleapi.ServerResponse `json:"-"`
2978
2979	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2980	// unconditionally include in API requests. By default, fields with
2981	// empty values are omitted from API requests. However, any non-pointer,
2982	// non-interface field appearing in ForceSendFields will be sent to the
2983	// server regardless of whether the field is empty or not. This may be
2984	// used to include empty fields in Patch requests.
2985	ForceSendFields []string `json:"-"`
2986
2987	// NullFields is a list of field names (e.g. "NextPageToken") to include
2988	// in API requests with the JSON null value. By default, fields with
2989	// empty values are omitted from API requests. However, any field with
2990	// an empty value appearing in NullFields will be sent to the server as
2991	// null. It is an error if a field in this list has a non-empty value.
2992	// This may be used to include null fields in Patch requests.
2993	NullFields []string `json:"-"`
2994}
2995
2996func (s *TypeProvidersListTypesResponse) MarshalJSON() ([]byte, error) {
2997	type NoMethod TypeProvidersListTypesResponse
2998	raw := NoMethod(*s)
2999	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3000}
3001
3002// TypesListResponse: A response that returns all Types supported by
3003// Deployment Manager
3004type TypesListResponse struct {
3005	// NextPageToken: A token used to continue a truncated list request.
3006	NextPageToken string `json:"nextPageToken,omitempty"`
3007
3008	// Types: Output only. A list of resource types supported by Deployment
3009	// Manager.
3010	Types []*Type `json:"types,omitempty"`
3011
3012	// ServerResponse contains the HTTP response code and headers from the
3013	// server.
3014	googleapi.ServerResponse `json:"-"`
3015
3016	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3017	// unconditionally include in API requests. By default, fields with
3018	// empty values are omitted from API requests. However, any non-pointer,
3019	// non-interface field appearing in ForceSendFields will be sent to the
3020	// server regardless of whether the field is empty or not. This may be
3021	// used to include empty fields in Patch requests.
3022	ForceSendFields []string `json:"-"`
3023
3024	// NullFields is a list of field names (e.g. "NextPageToken") to include
3025	// in API requests with the JSON null value. By default, fields with
3026	// empty values are omitted from API requests. However, any field with
3027	// an empty value appearing in NullFields will be sent to the server as
3028	// null. It is an error if a field in this list has a non-empty value.
3029	// This may be used to include null fields in Patch requests.
3030	NullFields []string `json:"-"`
3031}
3032
3033func (s *TypesListResponse) MarshalJSON() ([]byte, error) {
3034	type NoMethod TypesListResponse
3035	raw := NoMethod(*s)
3036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3037}
3038
3039// ValidationOptions: Options for how to validate and process properties
3040// on a resource.
3041type ValidationOptions struct {
3042	// SchemaValidation: Customize how deployment manager will validate the
3043	// resource against schema errors.
3044	SchemaValidation string `json:"schemaValidation,omitempty"`
3045
3046	// UndeclaredProperties: Specify what to do with extra properties when
3047	// executing a request.
3048	UndeclaredProperties string `json:"undeclaredProperties,omitempty"`
3049
3050	// ForceSendFields is a list of field names (e.g. "SchemaValidation") to
3051	// unconditionally include in API requests. By default, fields with
3052	// empty values are omitted from API requests. However, any non-pointer,
3053	// non-interface field appearing in ForceSendFields will be sent to the
3054	// server regardless of whether the field is empty or not. This may be
3055	// used to include empty fields in Patch requests.
3056	ForceSendFields []string `json:"-"`
3057
3058	// NullFields is a list of field names (e.g. "SchemaValidation") to
3059	// include in API requests with the JSON null value. By default, fields
3060	// with empty values are omitted from API requests. However, any field
3061	// with an empty value appearing in NullFields will be sent to the
3062	// server as null. It is an error if a field in this list has a
3063	// non-empty value. This may be used to include null fields in Patch
3064	// requests.
3065	NullFields []string `json:"-"`
3066}
3067
3068func (s *ValidationOptions) MarshalJSON() ([]byte, error) {
3069	type NoMethod ValidationOptions
3070	raw := NoMethod(*s)
3071	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3072}
3073
3074// method id "deploymentmanager.compositeTypes.delete":
3075
3076type CompositeTypesDeleteCall struct {
3077	s             *Service
3078	project       string
3079	compositeType string
3080	urlParams_    gensupport.URLParams
3081	ctx_          context.Context
3082	header_       http.Header
3083}
3084
3085// Delete: Deletes a composite type.
3086func (r *CompositeTypesService) Delete(project string, compositeType string) *CompositeTypesDeleteCall {
3087	c := &CompositeTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3088	c.project = project
3089	c.compositeType = compositeType
3090	return c
3091}
3092
3093// Fields allows partial responses to be retrieved. See
3094// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3095// for more information.
3096func (c *CompositeTypesDeleteCall) Fields(s ...googleapi.Field) *CompositeTypesDeleteCall {
3097	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3098	return c
3099}
3100
3101// Context sets the context to be used in this call's Do method. Any
3102// pending HTTP request will be aborted if the provided context is
3103// canceled.
3104func (c *CompositeTypesDeleteCall) Context(ctx context.Context) *CompositeTypesDeleteCall {
3105	c.ctx_ = ctx
3106	return c
3107}
3108
3109// Header returns an http.Header that can be modified by the caller to
3110// add HTTP headers to the request.
3111func (c *CompositeTypesDeleteCall) Header() http.Header {
3112	if c.header_ == nil {
3113		c.header_ = make(http.Header)
3114	}
3115	return c.header_
3116}
3117
3118func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
3119	reqHeaders := make(http.Header)
3120	for k, v := range c.header_ {
3121		reqHeaders[k] = v
3122	}
3123	reqHeaders.Set("User-Agent", c.s.userAgent())
3124	var body io.Reader = nil
3125	c.urlParams_.Set("alt", alt)
3126	c.urlParams_.Set("prettyPrint", "false")
3127	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
3128	urls += "?" + c.urlParams_.Encode()
3129	req, err := http.NewRequest("DELETE", urls, body)
3130	if err != nil {
3131		return nil, err
3132	}
3133	req.Header = reqHeaders
3134	googleapi.Expand(req.URL, map[string]string{
3135		"project":       c.project,
3136		"compositeType": c.compositeType,
3137	})
3138	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3139}
3140
3141// Do executes the "deploymentmanager.compositeTypes.delete" call.
3142// Exactly one of *Operation or error will be non-nil. Any non-2xx
3143// status code is an error. Response headers are in either
3144// *Operation.ServerResponse.Header or (if a response was returned at
3145// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3146// to check whether the returned error was because
3147// http.StatusNotModified was returned.
3148func (c *CompositeTypesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3149	gensupport.SetOptions(c.urlParams_, opts...)
3150	res, err := c.doRequest("json")
3151	if res != nil && res.StatusCode == http.StatusNotModified {
3152		if res.Body != nil {
3153			res.Body.Close()
3154		}
3155		return nil, &googleapi.Error{
3156			Code:   res.StatusCode,
3157			Header: res.Header,
3158		}
3159	}
3160	if err != nil {
3161		return nil, err
3162	}
3163	defer googleapi.CloseBody(res)
3164	if err := googleapi.CheckResponse(res); err != nil {
3165		return nil, err
3166	}
3167	ret := &Operation{
3168		ServerResponse: googleapi.ServerResponse{
3169			Header:         res.Header,
3170			HTTPStatusCode: res.StatusCode,
3171		},
3172	}
3173	target := &ret
3174	if err := gensupport.DecodeResponse(target, res); err != nil {
3175		return nil, err
3176	}
3177	return ret, nil
3178	// {
3179	//   "description": "Deletes a composite type.",
3180	//   "httpMethod": "DELETE",
3181	//   "id": "deploymentmanager.compositeTypes.delete",
3182	//   "parameterOrder": [
3183	//     "project",
3184	//     "compositeType"
3185	//   ],
3186	//   "parameters": {
3187	//     "compositeType": {
3188	//       "description": "The name of the type for this request.",
3189	//       "location": "path",
3190	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3191	//       "required": true,
3192	//       "type": "string"
3193	//     },
3194	//     "project": {
3195	//       "description": "The project ID for this request.",
3196	//       "location": "path",
3197	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3198	//       "required": true,
3199	//       "type": "string"
3200	//     }
3201	//   },
3202	//   "path": "{project}/global/compositeTypes/{compositeType}",
3203	//   "response": {
3204	//     "$ref": "Operation"
3205	//   },
3206	//   "scopes": [
3207	//     "https://www.googleapis.com/auth/cloud-platform",
3208	//     "https://www.googleapis.com/auth/ndev.cloudman"
3209	//   ]
3210	// }
3211
3212}
3213
3214// method id "deploymentmanager.compositeTypes.get":
3215
3216type CompositeTypesGetCall struct {
3217	s             *Service
3218	project       string
3219	compositeType string
3220	urlParams_    gensupport.URLParams
3221	ifNoneMatch_  string
3222	ctx_          context.Context
3223	header_       http.Header
3224}
3225
3226// Get: Gets information about a specific composite type.
3227func (r *CompositeTypesService) Get(project string, compositeType string) *CompositeTypesGetCall {
3228	c := &CompositeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3229	c.project = project
3230	c.compositeType = compositeType
3231	return c
3232}
3233
3234// Fields allows partial responses to be retrieved. See
3235// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3236// for more information.
3237func (c *CompositeTypesGetCall) Fields(s ...googleapi.Field) *CompositeTypesGetCall {
3238	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3239	return c
3240}
3241
3242// IfNoneMatch sets the optional parameter which makes the operation
3243// fail if the object's ETag matches the given value. This is useful for
3244// getting updates only after the object has changed since the last
3245// request. Use googleapi.IsNotModified to check whether the response
3246// error from Do is the result of In-None-Match.
3247func (c *CompositeTypesGetCall) IfNoneMatch(entityTag string) *CompositeTypesGetCall {
3248	c.ifNoneMatch_ = entityTag
3249	return c
3250}
3251
3252// Context sets the context to be used in this call's Do method. Any
3253// pending HTTP request will be aborted if the provided context is
3254// canceled.
3255func (c *CompositeTypesGetCall) Context(ctx context.Context) *CompositeTypesGetCall {
3256	c.ctx_ = ctx
3257	return c
3258}
3259
3260// Header returns an http.Header that can be modified by the caller to
3261// add HTTP headers to the request.
3262func (c *CompositeTypesGetCall) Header() http.Header {
3263	if c.header_ == nil {
3264		c.header_ = make(http.Header)
3265	}
3266	return c.header_
3267}
3268
3269func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
3270	reqHeaders := make(http.Header)
3271	for k, v := range c.header_ {
3272		reqHeaders[k] = v
3273	}
3274	reqHeaders.Set("User-Agent", c.s.userAgent())
3275	if c.ifNoneMatch_ != "" {
3276		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3277	}
3278	var body io.Reader = nil
3279	c.urlParams_.Set("alt", alt)
3280	c.urlParams_.Set("prettyPrint", "false")
3281	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
3282	urls += "?" + c.urlParams_.Encode()
3283	req, err := http.NewRequest("GET", urls, body)
3284	if err != nil {
3285		return nil, err
3286	}
3287	req.Header = reqHeaders
3288	googleapi.Expand(req.URL, map[string]string{
3289		"project":       c.project,
3290		"compositeType": c.compositeType,
3291	})
3292	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3293}
3294
3295// Do executes the "deploymentmanager.compositeTypes.get" call.
3296// Exactly one of *CompositeType or error will be non-nil. Any non-2xx
3297// status code is an error. Response headers are in either
3298// *CompositeType.ServerResponse.Header or (if a response was returned
3299// at all) in error.(*googleapi.Error).Header. Use
3300// googleapi.IsNotModified to check whether the returned error was
3301// because http.StatusNotModified was returned.
3302func (c *CompositeTypesGetCall) Do(opts ...googleapi.CallOption) (*CompositeType, error) {
3303	gensupport.SetOptions(c.urlParams_, opts...)
3304	res, err := c.doRequest("json")
3305	if res != nil && res.StatusCode == http.StatusNotModified {
3306		if res.Body != nil {
3307			res.Body.Close()
3308		}
3309		return nil, &googleapi.Error{
3310			Code:   res.StatusCode,
3311			Header: res.Header,
3312		}
3313	}
3314	if err != nil {
3315		return nil, err
3316	}
3317	defer googleapi.CloseBody(res)
3318	if err := googleapi.CheckResponse(res); err != nil {
3319		return nil, err
3320	}
3321	ret := &CompositeType{
3322		ServerResponse: googleapi.ServerResponse{
3323			Header:         res.Header,
3324			HTTPStatusCode: res.StatusCode,
3325		},
3326	}
3327	target := &ret
3328	if err := gensupport.DecodeResponse(target, res); err != nil {
3329		return nil, err
3330	}
3331	return ret, nil
3332	// {
3333	//   "description": "Gets information about a specific composite type.",
3334	//   "httpMethod": "GET",
3335	//   "id": "deploymentmanager.compositeTypes.get",
3336	//   "parameterOrder": [
3337	//     "project",
3338	//     "compositeType"
3339	//   ],
3340	//   "parameters": {
3341	//     "compositeType": {
3342	//       "description": "The name of the composite type for this request.",
3343	//       "location": "path",
3344	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3345	//       "required": true,
3346	//       "type": "string"
3347	//     },
3348	//     "project": {
3349	//       "description": "The project ID for this request.",
3350	//       "location": "path",
3351	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3352	//       "required": true,
3353	//       "type": "string"
3354	//     }
3355	//   },
3356	//   "path": "{project}/global/compositeTypes/{compositeType}",
3357	//   "response": {
3358	//     "$ref": "CompositeType"
3359	//   },
3360	//   "scopes": [
3361	//     "https://www.googleapis.com/auth/cloud-platform",
3362	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
3363	//     "https://www.googleapis.com/auth/ndev.cloudman",
3364	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
3365	//   ]
3366	// }
3367
3368}
3369
3370// method id "deploymentmanager.compositeTypes.insert":
3371
3372type CompositeTypesInsertCall struct {
3373	s             *Service
3374	project       string
3375	compositetype *CompositeType
3376	urlParams_    gensupport.URLParams
3377	ctx_          context.Context
3378	header_       http.Header
3379}
3380
3381// Insert: Creates a composite type.
3382func (r *CompositeTypesService) Insert(project string, compositetype *CompositeType) *CompositeTypesInsertCall {
3383	c := &CompositeTypesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3384	c.project = project
3385	c.compositetype = compositetype
3386	return c
3387}
3388
3389// Fields allows partial responses to be retrieved. See
3390// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3391// for more information.
3392func (c *CompositeTypesInsertCall) Fields(s ...googleapi.Field) *CompositeTypesInsertCall {
3393	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3394	return c
3395}
3396
3397// Context sets the context to be used in this call's Do method. Any
3398// pending HTTP request will be aborted if the provided context is
3399// canceled.
3400func (c *CompositeTypesInsertCall) Context(ctx context.Context) *CompositeTypesInsertCall {
3401	c.ctx_ = ctx
3402	return c
3403}
3404
3405// Header returns an http.Header that can be modified by the caller to
3406// add HTTP headers to the request.
3407func (c *CompositeTypesInsertCall) Header() http.Header {
3408	if c.header_ == nil {
3409		c.header_ = make(http.Header)
3410	}
3411	return c.header_
3412}
3413
3414func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {
3415	reqHeaders := make(http.Header)
3416	for k, v := range c.header_ {
3417		reqHeaders[k] = v
3418	}
3419	reqHeaders.Set("User-Agent", c.s.userAgent())
3420	var body io.Reader = nil
3421	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
3422	if err != nil {
3423		return nil, err
3424	}
3425	reqHeaders.Set("Content-Type", "application/json")
3426	c.urlParams_.Set("alt", alt)
3427	c.urlParams_.Set("prettyPrint", "false")
3428	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes")
3429	urls += "?" + c.urlParams_.Encode()
3430	req, err := http.NewRequest("POST", urls, body)
3431	if err != nil {
3432		return nil, err
3433	}
3434	req.Header = reqHeaders
3435	googleapi.Expand(req.URL, map[string]string{
3436		"project": c.project,
3437	})
3438	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3439}
3440
3441// Do executes the "deploymentmanager.compositeTypes.insert" call.
3442// Exactly one of *Operation or error will be non-nil. Any non-2xx
3443// status code is an error. Response headers are in either
3444// *Operation.ServerResponse.Header or (if a response was returned at
3445// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3446// to check whether the returned error was because
3447// http.StatusNotModified was returned.
3448func (c *CompositeTypesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3449	gensupport.SetOptions(c.urlParams_, opts...)
3450	res, err := c.doRequest("json")
3451	if res != nil && res.StatusCode == http.StatusNotModified {
3452		if res.Body != nil {
3453			res.Body.Close()
3454		}
3455		return nil, &googleapi.Error{
3456			Code:   res.StatusCode,
3457			Header: res.Header,
3458		}
3459	}
3460	if err != nil {
3461		return nil, err
3462	}
3463	defer googleapi.CloseBody(res)
3464	if err := googleapi.CheckResponse(res); err != nil {
3465		return nil, err
3466	}
3467	ret := &Operation{
3468		ServerResponse: googleapi.ServerResponse{
3469			Header:         res.Header,
3470			HTTPStatusCode: res.StatusCode,
3471		},
3472	}
3473	target := &ret
3474	if err := gensupport.DecodeResponse(target, res); err != nil {
3475		return nil, err
3476	}
3477	return ret, nil
3478	// {
3479	//   "description": "Creates a composite type.",
3480	//   "httpMethod": "POST",
3481	//   "id": "deploymentmanager.compositeTypes.insert",
3482	//   "parameterOrder": [
3483	//     "project"
3484	//   ],
3485	//   "parameters": {
3486	//     "project": {
3487	//       "description": "The project ID for this request.",
3488	//       "location": "path",
3489	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3490	//       "required": true,
3491	//       "type": "string"
3492	//     }
3493	//   },
3494	//   "path": "{project}/global/compositeTypes",
3495	//   "request": {
3496	//     "$ref": "CompositeType"
3497	//   },
3498	//   "response": {
3499	//     "$ref": "Operation"
3500	//   },
3501	//   "scopes": [
3502	//     "https://www.googleapis.com/auth/cloud-platform",
3503	//     "https://www.googleapis.com/auth/ndev.cloudman"
3504	//   ]
3505	// }
3506
3507}
3508
3509// method id "deploymentmanager.compositeTypes.list":
3510
3511type CompositeTypesListCall struct {
3512	s            *Service
3513	project      string
3514	urlParams_   gensupport.URLParams
3515	ifNoneMatch_ string
3516	ctx_         context.Context
3517	header_      http.Header
3518}
3519
3520// List: Lists all composite types for Deployment Manager.
3521func (r *CompositeTypesService) List(project string) *CompositeTypesListCall {
3522	c := &CompositeTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3523	c.project = project
3524	return c
3525}
3526
3527// Filter sets the optional parameter "filter": A filter expression that
3528// filters resources listed in the response. The expression must specify
3529// the field name, a comparison operator, and the value that you want to
3530// use for filtering. The value must be a string, a number, or a
3531// boolean. The comparison operator must be either =, !=, >, or <.
3532//
3533// For example, if you are filtering Compute Engine instances, you can
3534// exclude instances named example-instance by specifying name !=
3535// example-instance.
3536//
3537// You can also filter nested fields. For example, you could specify
3538// scheduling.automaticRestart = false to include instances only if they
3539// are not scheduled for automatic restarts. You can use filtering on
3540// nested fields to filter based on resource labels.
3541//
3542// To filter on multiple expressions, provide each separate expression
3543// within parentheses. For example, (scheduling.automaticRestart = true)
3544// (cpuPlatform = "Intel Skylake"). By default, each expression is an
3545// AND expression. However, you can include AND and OR expressions
3546// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
3547// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
3548// true).
3549func (c *CompositeTypesListCall) Filter(filter string) *CompositeTypesListCall {
3550	c.urlParams_.Set("filter", filter)
3551	return c
3552}
3553
3554// MaxResults sets the optional parameter "maxResults": The maximum
3555// number of results per page that should be returned. If the number of
3556// available results is larger than maxResults, Compute Engine returns a
3557// nextPageToken that can be used to get the next page of results in
3558// subsequent list requests. Acceptable values are 0 to 500, inclusive.
3559// (Default: 500)
3560func (c *CompositeTypesListCall) MaxResults(maxResults int64) *CompositeTypesListCall {
3561	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
3562	return c
3563}
3564
3565// OrderBy sets the optional parameter "orderBy": Sorts list results by
3566// a certain order. By default, results are returned in alphanumerical
3567// order based on the resource name.
3568//
3569// You can also sort results in descending order based on the creation
3570// timestamp using orderBy="creationTimestamp desc". This sorts results
3571// based on the creationTimestamp field in reverse chronological order
3572// (newest result first). Use this to sort resources like operations so
3573// that the newest operation is returned first.
3574//
3575// Currently, only sorting by name or creationTimestamp desc is
3576// supported.
3577func (c *CompositeTypesListCall) OrderBy(orderBy string) *CompositeTypesListCall {
3578	c.urlParams_.Set("orderBy", orderBy)
3579	return c
3580}
3581
3582// PageToken sets the optional parameter "pageToken": Specifies a page
3583// token to use. Set pageToken to the nextPageToken returned by a
3584// previous list request to get the next page of results.
3585func (c *CompositeTypesListCall) PageToken(pageToken string) *CompositeTypesListCall {
3586	c.urlParams_.Set("pageToken", pageToken)
3587	return c
3588}
3589
3590// Fields allows partial responses to be retrieved. See
3591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3592// for more information.
3593func (c *CompositeTypesListCall) Fields(s ...googleapi.Field) *CompositeTypesListCall {
3594	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3595	return c
3596}
3597
3598// IfNoneMatch sets the optional parameter which makes the operation
3599// fail if the object's ETag matches the given value. This is useful for
3600// getting updates only after the object has changed since the last
3601// request. Use googleapi.IsNotModified to check whether the response
3602// error from Do is the result of In-None-Match.
3603func (c *CompositeTypesListCall) IfNoneMatch(entityTag string) *CompositeTypesListCall {
3604	c.ifNoneMatch_ = entityTag
3605	return c
3606}
3607
3608// Context sets the context to be used in this call's Do method. Any
3609// pending HTTP request will be aborted if the provided context is
3610// canceled.
3611func (c *CompositeTypesListCall) Context(ctx context.Context) *CompositeTypesListCall {
3612	c.ctx_ = ctx
3613	return c
3614}
3615
3616// Header returns an http.Header that can be modified by the caller to
3617// add HTTP headers to the request.
3618func (c *CompositeTypesListCall) Header() http.Header {
3619	if c.header_ == nil {
3620		c.header_ = make(http.Header)
3621	}
3622	return c.header_
3623}
3624
3625func (c *CompositeTypesListCall) doRequest(alt string) (*http.Response, error) {
3626	reqHeaders := make(http.Header)
3627	for k, v := range c.header_ {
3628		reqHeaders[k] = v
3629	}
3630	reqHeaders.Set("User-Agent", c.s.userAgent())
3631	if c.ifNoneMatch_ != "" {
3632		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3633	}
3634	var body io.Reader = nil
3635	c.urlParams_.Set("alt", alt)
3636	c.urlParams_.Set("prettyPrint", "false")
3637	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes")
3638	urls += "?" + c.urlParams_.Encode()
3639	req, err := http.NewRequest("GET", urls, body)
3640	if err != nil {
3641		return nil, err
3642	}
3643	req.Header = reqHeaders
3644	googleapi.Expand(req.URL, map[string]string{
3645		"project": c.project,
3646	})
3647	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3648}
3649
3650// Do executes the "deploymentmanager.compositeTypes.list" call.
3651// Exactly one of *CompositeTypesListResponse or error will be non-nil.
3652// Any non-2xx status code is an error. Response headers are in either
3653// *CompositeTypesListResponse.ServerResponse.Header or (if a response
3654// was returned at all) in error.(*googleapi.Error).Header. Use
3655// googleapi.IsNotModified to check whether the returned error was
3656// because http.StatusNotModified was returned.
3657func (c *CompositeTypesListCall) Do(opts ...googleapi.CallOption) (*CompositeTypesListResponse, error) {
3658	gensupport.SetOptions(c.urlParams_, opts...)
3659	res, err := c.doRequest("json")
3660	if res != nil && res.StatusCode == http.StatusNotModified {
3661		if res.Body != nil {
3662			res.Body.Close()
3663		}
3664		return nil, &googleapi.Error{
3665			Code:   res.StatusCode,
3666			Header: res.Header,
3667		}
3668	}
3669	if err != nil {
3670		return nil, err
3671	}
3672	defer googleapi.CloseBody(res)
3673	if err := googleapi.CheckResponse(res); err != nil {
3674		return nil, err
3675	}
3676	ret := &CompositeTypesListResponse{
3677		ServerResponse: googleapi.ServerResponse{
3678			Header:         res.Header,
3679			HTTPStatusCode: res.StatusCode,
3680		},
3681	}
3682	target := &ret
3683	if err := gensupport.DecodeResponse(target, res); err != nil {
3684		return nil, err
3685	}
3686	return ret, nil
3687	// {
3688	//   "description": "Lists all composite types for Deployment Manager.",
3689	//   "httpMethod": "GET",
3690	//   "id": "deploymentmanager.compositeTypes.list",
3691	//   "parameterOrder": [
3692	//     "project"
3693	//   ],
3694	//   "parameters": {
3695	//     "filter": {
3696	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
3697	//       "location": "query",
3698	//       "type": "string"
3699	//     },
3700	//     "maxResults": {
3701	//       "default": "500",
3702	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
3703	//       "format": "uint32",
3704	//       "location": "query",
3705	//       "minimum": "0",
3706	//       "type": "integer"
3707	//     },
3708	//     "orderBy": {
3709	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
3710	//       "location": "query",
3711	//       "type": "string"
3712	//     },
3713	//     "pageToken": {
3714	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
3715	//       "location": "query",
3716	//       "type": "string"
3717	//     },
3718	//     "project": {
3719	//       "description": "The project ID for this request.",
3720	//       "location": "path",
3721	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3722	//       "required": true,
3723	//       "type": "string"
3724	//     }
3725	//   },
3726	//   "path": "{project}/global/compositeTypes",
3727	//   "response": {
3728	//     "$ref": "CompositeTypesListResponse"
3729	//   },
3730	//   "scopes": [
3731	//     "https://www.googleapis.com/auth/cloud-platform",
3732	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
3733	//     "https://www.googleapis.com/auth/ndev.cloudman",
3734	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
3735	//   ]
3736	// }
3737
3738}
3739
3740// Pages invokes f for each page of results.
3741// A non-nil error returned from f will halt the iteration.
3742// The provided context supersedes any context provided to the Context method.
3743func (c *CompositeTypesListCall) Pages(ctx context.Context, f func(*CompositeTypesListResponse) error) error {
3744	c.ctx_ = ctx
3745	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3746	for {
3747		x, err := c.Do()
3748		if err != nil {
3749			return err
3750		}
3751		if err := f(x); err != nil {
3752			return err
3753		}
3754		if x.NextPageToken == "" {
3755			return nil
3756		}
3757		c.PageToken(x.NextPageToken)
3758	}
3759}
3760
3761// method id "deploymentmanager.compositeTypes.patch":
3762
3763type CompositeTypesPatchCall struct {
3764	s             *Service
3765	project       string
3766	compositeType string
3767	compositetype *CompositeType
3768	urlParams_    gensupport.URLParams
3769	ctx_          context.Context
3770	header_       http.Header
3771}
3772
3773// Patch: Updates a composite type. This method supports patch
3774// semantics.
3775func (r *CompositeTypesService) Patch(project string, compositeType string, compositetype *CompositeType) *CompositeTypesPatchCall {
3776	c := &CompositeTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3777	c.project = project
3778	c.compositeType = compositeType
3779	c.compositetype = compositetype
3780	return c
3781}
3782
3783// Fields allows partial responses to be retrieved. See
3784// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3785// for more information.
3786func (c *CompositeTypesPatchCall) Fields(s ...googleapi.Field) *CompositeTypesPatchCall {
3787	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3788	return c
3789}
3790
3791// Context sets the context to be used in this call's Do method. Any
3792// pending HTTP request will be aborted if the provided context is
3793// canceled.
3794func (c *CompositeTypesPatchCall) Context(ctx context.Context) *CompositeTypesPatchCall {
3795	c.ctx_ = ctx
3796	return c
3797}
3798
3799// Header returns an http.Header that can be modified by the caller to
3800// add HTTP headers to the request.
3801func (c *CompositeTypesPatchCall) Header() http.Header {
3802	if c.header_ == nil {
3803		c.header_ = make(http.Header)
3804	}
3805	return c.header_
3806}
3807
3808func (c *CompositeTypesPatchCall) doRequest(alt string) (*http.Response, error) {
3809	reqHeaders := make(http.Header)
3810	for k, v := range c.header_ {
3811		reqHeaders[k] = v
3812	}
3813	reqHeaders.Set("User-Agent", c.s.userAgent())
3814	var body io.Reader = nil
3815	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
3816	if err != nil {
3817		return nil, err
3818	}
3819	reqHeaders.Set("Content-Type", "application/json")
3820	c.urlParams_.Set("alt", alt)
3821	c.urlParams_.Set("prettyPrint", "false")
3822	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
3823	urls += "?" + c.urlParams_.Encode()
3824	req, err := http.NewRequest("PATCH", urls, body)
3825	if err != nil {
3826		return nil, err
3827	}
3828	req.Header = reqHeaders
3829	googleapi.Expand(req.URL, map[string]string{
3830		"project":       c.project,
3831		"compositeType": c.compositeType,
3832	})
3833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3834}
3835
3836// Do executes the "deploymentmanager.compositeTypes.patch" call.
3837// Exactly one of *Operation or error will be non-nil. Any non-2xx
3838// status code is an error. Response headers are in either
3839// *Operation.ServerResponse.Header or (if a response was returned at
3840// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3841// to check whether the returned error was because
3842// http.StatusNotModified was returned.
3843func (c *CompositeTypesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3844	gensupport.SetOptions(c.urlParams_, opts...)
3845	res, err := c.doRequest("json")
3846	if res != nil && res.StatusCode == http.StatusNotModified {
3847		if res.Body != nil {
3848			res.Body.Close()
3849		}
3850		return nil, &googleapi.Error{
3851			Code:   res.StatusCode,
3852			Header: res.Header,
3853		}
3854	}
3855	if err != nil {
3856		return nil, err
3857	}
3858	defer googleapi.CloseBody(res)
3859	if err := googleapi.CheckResponse(res); err != nil {
3860		return nil, err
3861	}
3862	ret := &Operation{
3863		ServerResponse: googleapi.ServerResponse{
3864			Header:         res.Header,
3865			HTTPStatusCode: res.StatusCode,
3866		},
3867	}
3868	target := &ret
3869	if err := gensupport.DecodeResponse(target, res); err != nil {
3870		return nil, err
3871	}
3872	return ret, nil
3873	// {
3874	//   "description": "Updates a composite type. This method supports patch semantics.",
3875	//   "httpMethod": "PATCH",
3876	//   "id": "deploymentmanager.compositeTypes.patch",
3877	//   "parameterOrder": [
3878	//     "project",
3879	//     "compositeType"
3880	//   ],
3881	//   "parameters": {
3882	//     "compositeType": {
3883	//       "description": "The name of the composite type for this request.",
3884	//       "location": "path",
3885	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3886	//       "required": true,
3887	//       "type": "string"
3888	//     },
3889	//     "project": {
3890	//       "description": "The project ID for this request.",
3891	//       "location": "path",
3892	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3893	//       "required": true,
3894	//       "type": "string"
3895	//     }
3896	//   },
3897	//   "path": "{project}/global/compositeTypes/{compositeType}",
3898	//   "request": {
3899	//     "$ref": "CompositeType"
3900	//   },
3901	//   "response": {
3902	//     "$ref": "Operation"
3903	//   },
3904	//   "scopes": [
3905	//     "https://www.googleapis.com/auth/cloud-platform",
3906	//     "https://www.googleapis.com/auth/ndev.cloudman"
3907	//   ]
3908	// }
3909
3910}
3911
3912// method id "deploymentmanager.compositeTypes.update":
3913
3914type CompositeTypesUpdateCall struct {
3915	s             *Service
3916	project       string
3917	compositeType string
3918	compositetype *CompositeType
3919	urlParams_    gensupport.URLParams
3920	ctx_          context.Context
3921	header_       http.Header
3922}
3923
3924// Update: Updates a composite type.
3925func (r *CompositeTypesService) Update(project string, compositeType string, compositetype *CompositeType) *CompositeTypesUpdateCall {
3926	c := &CompositeTypesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3927	c.project = project
3928	c.compositeType = compositeType
3929	c.compositetype = compositetype
3930	return c
3931}
3932
3933// Fields allows partial responses to be retrieved. See
3934// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3935// for more information.
3936func (c *CompositeTypesUpdateCall) Fields(s ...googleapi.Field) *CompositeTypesUpdateCall {
3937	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3938	return c
3939}
3940
3941// Context sets the context to be used in this call's Do method. Any
3942// pending HTTP request will be aborted if the provided context is
3943// canceled.
3944func (c *CompositeTypesUpdateCall) Context(ctx context.Context) *CompositeTypesUpdateCall {
3945	c.ctx_ = ctx
3946	return c
3947}
3948
3949// Header returns an http.Header that can be modified by the caller to
3950// add HTTP headers to the request.
3951func (c *CompositeTypesUpdateCall) Header() http.Header {
3952	if c.header_ == nil {
3953		c.header_ = make(http.Header)
3954	}
3955	return c.header_
3956}
3957
3958func (c *CompositeTypesUpdateCall) doRequest(alt string) (*http.Response, error) {
3959	reqHeaders := make(http.Header)
3960	for k, v := range c.header_ {
3961		reqHeaders[k] = v
3962	}
3963	reqHeaders.Set("User-Agent", c.s.userAgent())
3964	var body io.Reader = nil
3965	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
3966	if err != nil {
3967		return nil, err
3968	}
3969	reqHeaders.Set("Content-Type", "application/json")
3970	c.urlParams_.Set("alt", alt)
3971	c.urlParams_.Set("prettyPrint", "false")
3972	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
3973	urls += "?" + c.urlParams_.Encode()
3974	req, err := http.NewRequest("PUT", urls, body)
3975	if err != nil {
3976		return nil, err
3977	}
3978	req.Header = reqHeaders
3979	googleapi.Expand(req.URL, map[string]string{
3980		"project":       c.project,
3981		"compositeType": c.compositeType,
3982	})
3983	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3984}
3985
3986// Do executes the "deploymentmanager.compositeTypes.update" call.
3987// Exactly one of *Operation or error will be non-nil. Any non-2xx
3988// status code is an error. Response headers are in either
3989// *Operation.ServerResponse.Header or (if a response was returned at
3990// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3991// to check whether the returned error was because
3992// http.StatusNotModified was returned.
3993func (c *CompositeTypesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3994	gensupport.SetOptions(c.urlParams_, opts...)
3995	res, err := c.doRequest("json")
3996	if res != nil && res.StatusCode == http.StatusNotModified {
3997		if res.Body != nil {
3998			res.Body.Close()
3999		}
4000		return nil, &googleapi.Error{
4001			Code:   res.StatusCode,
4002			Header: res.Header,
4003		}
4004	}
4005	if err != nil {
4006		return nil, err
4007	}
4008	defer googleapi.CloseBody(res)
4009	if err := googleapi.CheckResponse(res); err != nil {
4010		return nil, err
4011	}
4012	ret := &Operation{
4013		ServerResponse: googleapi.ServerResponse{
4014			Header:         res.Header,
4015			HTTPStatusCode: res.StatusCode,
4016		},
4017	}
4018	target := &ret
4019	if err := gensupport.DecodeResponse(target, res); err != nil {
4020		return nil, err
4021	}
4022	return ret, nil
4023	// {
4024	//   "description": "Updates a composite type.",
4025	//   "httpMethod": "PUT",
4026	//   "id": "deploymentmanager.compositeTypes.update",
4027	//   "parameterOrder": [
4028	//     "project",
4029	//     "compositeType"
4030	//   ],
4031	//   "parameters": {
4032	//     "compositeType": {
4033	//       "description": "The name of the composite type for this request.",
4034	//       "location": "path",
4035	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
4036	//       "required": true,
4037	//       "type": "string"
4038	//     },
4039	//     "project": {
4040	//       "description": "The project ID for this request.",
4041	//       "location": "path",
4042	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4043	//       "required": true,
4044	//       "type": "string"
4045	//     }
4046	//   },
4047	//   "path": "{project}/global/compositeTypes/{compositeType}",
4048	//   "request": {
4049	//     "$ref": "CompositeType"
4050	//   },
4051	//   "response": {
4052	//     "$ref": "Operation"
4053	//   },
4054	//   "scopes": [
4055	//     "https://www.googleapis.com/auth/cloud-platform",
4056	//     "https://www.googleapis.com/auth/ndev.cloudman"
4057	//   ]
4058	// }
4059
4060}
4061
4062// method id "deploymentmanager.deployments.cancelPreview":
4063
4064type DeploymentsCancelPreviewCall struct {
4065	s                               *Service
4066	project                         string
4067	deployment                      string
4068	deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest
4069	urlParams_                      gensupport.URLParams
4070	ctx_                            context.Context
4071	header_                         http.Header
4072}
4073
4074// CancelPreview: Cancels and removes the preview currently associated
4075// with the deployment.
4076func (r *DeploymentsService) CancelPreview(project string, deployment string, deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest) *DeploymentsCancelPreviewCall {
4077	c := &DeploymentsCancelPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4078	c.project = project
4079	c.deployment = deployment
4080	c.deploymentscancelpreviewrequest = deploymentscancelpreviewrequest
4081	return c
4082}
4083
4084// Fields allows partial responses to be retrieved. See
4085// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4086// for more information.
4087func (c *DeploymentsCancelPreviewCall) Fields(s ...googleapi.Field) *DeploymentsCancelPreviewCall {
4088	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4089	return c
4090}
4091
4092// Context sets the context to be used in this call's Do method. Any
4093// pending HTTP request will be aborted if the provided context is
4094// canceled.
4095func (c *DeploymentsCancelPreviewCall) Context(ctx context.Context) *DeploymentsCancelPreviewCall {
4096	c.ctx_ = ctx
4097	return c
4098}
4099
4100// Header returns an http.Header that can be modified by the caller to
4101// add HTTP headers to the request.
4102func (c *DeploymentsCancelPreviewCall) Header() http.Header {
4103	if c.header_ == nil {
4104		c.header_ = make(http.Header)
4105	}
4106	return c.header_
4107}
4108
4109func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
4110	reqHeaders := make(http.Header)
4111	for k, v := range c.header_ {
4112		reqHeaders[k] = v
4113	}
4114	reqHeaders.Set("User-Agent", c.s.userAgent())
4115	var body io.Reader = nil
4116	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentscancelpreviewrequest)
4117	if err != nil {
4118		return nil, err
4119	}
4120	reqHeaders.Set("Content-Type", "application/json")
4121	c.urlParams_.Set("alt", alt)
4122	c.urlParams_.Set("prettyPrint", "false")
4123	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/cancelPreview")
4124	urls += "?" + c.urlParams_.Encode()
4125	req, err := http.NewRequest("POST", urls, body)
4126	if err != nil {
4127		return nil, err
4128	}
4129	req.Header = reqHeaders
4130	googleapi.Expand(req.URL, map[string]string{
4131		"project":    c.project,
4132		"deployment": c.deployment,
4133	})
4134	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4135}
4136
4137// Do executes the "deploymentmanager.deployments.cancelPreview" call.
4138// Exactly one of *Operation or error will be non-nil. Any non-2xx
4139// status code is an error. Response headers are in either
4140// *Operation.ServerResponse.Header or (if a response was returned at
4141// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4142// to check whether the returned error was because
4143// http.StatusNotModified was returned.
4144func (c *DeploymentsCancelPreviewCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4145	gensupport.SetOptions(c.urlParams_, opts...)
4146	res, err := c.doRequest("json")
4147	if res != nil && res.StatusCode == http.StatusNotModified {
4148		if res.Body != nil {
4149			res.Body.Close()
4150		}
4151		return nil, &googleapi.Error{
4152			Code:   res.StatusCode,
4153			Header: res.Header,
4154		}
4155	}
4156	if err != nil {
4157		return nil, err
4158	}
4159	defer googleapi.CloseBody(res)
4160	if err := googleapi.CheckResponse(res); err != nil {
4161		return nil, err
4162	}
4163	ret := &Operation{
4164		ServerResponse: googleapi.ServerResponse{
4165			Header:         res.Header,
4166			HTTPStatusCode: res.StatusCode,
4167		},
4168	}
4169	target := &ret
4170	if err := gensupport.DecodeResponse(target, res); err != nil {
4171		return nil, err
4172	}
4173	return ret, nil
4174	// {
4175	//   "description": "Cancels and removes the preview currently associated with the deployment.",
4176	//   "httpMethod": "POST",
4177	//   "id": "deploymentmanager.deployments.cancelPreview",
4178	//   "parameterOrder": [
4179	//     "project",
4180	//     "deployment"
4181	//   ],
4182	//   "parameters": {
4183	//     "deployment": {
4184	//       "description": "The name of the deployment for this request.",
4185	//       "location": "path",
4186	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4187	//       "required": true,
4188	//       "type": "string"
4189	//     },
4190	//     "project": {
4191	//       "description": "The project ID for this request.",
4192	//       "location": "path",
4193	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4194	//       "required": true,
4195	//       "type": "string"
4196	//     }
4197	//   },
4198	//   "path": "{project}/global/deployments/{deployment}/cancelPreview",
4199	//   "request": {
4200	//     "$ref": "DeploymentsCancelPreviewRequest"
4201	//   },
4202	//   "response": {
4203	//     "$ref": "Operation"
4204	//   },
4205	//   "scopes": [
4206	//     "https://www.googleapis.com/auth/cloud-platform",
4207	//     "https://www.googleapis.com/auth/ndev.cloudman"
4208	//   ]
4209	// }
4210
4211}
4212
4213// method id "deploymentmanager.deployments.delete":
4214
4215type DeploymentsDeleteCall struct {
4216	s          *Service
4217	project    string
4218	deployment string
4219	urlParams_ gensupport.URLParams
4220	ctx_       context.Context
4221	header_    http.Header
4222}
4223
4224// Delete: Deletes a deployment and all of the resources in the
4225// deployment.
4226func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
4227	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4228	c.project = project
4229	c.deployment = deployment
4230	return c
4231}
4232
4233// DeletePolicy sets the optional parameter "deletePolicy": Sets the
4234// policy to use for deleting resources.
4235//
4236// Possible values:
4237//   "ABANDON"
4238//   "DELETE" (default)
4239func (c *DeploymentsDeleteCall) DeletePolicy(deletePolicy string) *DeploymentsDeleteCall {
4240	c.urlParams_.Set("deletePolicy", deletePolicy)
4241	return c
4242}
4243
4244// Fields allows partial responses to be retrieved. See
4245// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4246// for more information.
4247func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
4248	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4249	return c
4250}
4251
4252// Context sets the context to be used in this call's Do method. Any
4253// pending HTTP request will be aborted if the provided context is
4254// canceled.
4255func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
4256	c.ctx_ = ctx
4257	return c
4258}
4259
4260// Header returns an http.Header that can be modified by the caller to
4261// add HTTP headers to the request.
4262func (c *DeploymentsDeleteCall) Header() http.Header {
4263	if c.header_ == nil {
4264		c.header_ = make(http.Header)
4265	}
4266	return c.header_
4267}
4268
4269func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
4270	reqHeaders := make(http.Header)
4271	for k, v := range c.header_ {
4272		reqHeaders[k] = v
4273	}
4274	reqHeaders.Set("User-Agent", c.s.userAgent())
4275	var body io.Reader = nil
4276	c.urlParams_.Set("alt", alt)
4277	c.urlParams_.Set("prettyPrint", "false")
4278	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
4279	urls += "?" + c.urlParams_.Encode()
4280	req, err := http.NewRequest("DELETE", urls, body)
4281	if err != nil {
4282		return nil, err
4283	}
4284	req.Header = reqHeaders
4285	googleapi.Expand(req.URL, map[string]string{
4286		"project":    c.project,
4287		"deployment": c.deployment,
4288	})
4289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4290}
4291
4292// Do executes the "deploymentmanager.deployments.delete" call.
4293// Exactly one of *Operation or error will be non-nil. Any non-2xx
4294// status code is an error. Response headers are in either
4295// *Operation.ServerResponse.Header or (if a response was returned at
4296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4297// to check whether the returned error was because
4298// http.StatusNotModified was returned.
4299func (c *DeploymentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4300	gensupport.SetOptions(c.urlParams_, opts...)
4301	res, err := c.doRequest("json")
4302	if res != nil && res.StatusCode == http.StatusNotModified {
4303		if res.Body != nil {
4304			res.Body.Close()
4305		}
4306		return nil, &googleapi.Error{
4307			Code:   res.StatusCode,
4308			Header: res.Header,
4309		}
4310	}
4311	if err != nil {
4312		return nil, err
4313	}
4314	defer googleapi.CloseBody(res)
4315	if err := googleapi.CheckResponse(res); err != nil {
4316		return nil, err
4317	}
4318	ret := &Operation{
4319		ServerResponse: googleapi.ServerResponse{
4320			Header:         res.Header,
4321			HTTPStatusCode: res.StatusCode,
4322		},
4323	}
4324	target := &ret
4325	if err := gensupport.DecodeResponse(target, res); err != nil {
4326		return nil, err
4327	}
4328	return ret, nil
4329	// {
4330	//   "description": "Deletes a deployment and all of the resources in the deployment.",
4331	//   "httpMethod": "DELETE",
4332	//   "id": "deploymentmanager.deployments.delete",
4333	//   "parameterOrder": [
4334	//     "project",
4335	//     "deployment"
4336	//   ],
4337	//   "parameters": {
4338	//     "deletePolicy": {
4339	//       "default": "DELETE",
4340	//       "description": "Sets the policy to use for deleting resources.",
4341	//       "enum": [
4342	//         "ABANDON",
4343	//         "DELETE"
4344	//       ],
4345	//       "enumDescriptions": [
4346	//         "",
4347	//         ""
4348	//       ],
4349	//       "location": "query",
4350	//       "type": "string"
4351	//     },
4352	//     "deployment": {
4353	//       "description": "The name of the deployment for this request.",
4354	//       "location": "path",
4355	//       "required": true,
4356	//       "type": "string"
4357	//     },
4358	//     "project": {
4359	//       "description": "The project ID for this request.",
4360	//       "location": "path",
4361	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4362	//       "required": true,
4363	//       "type": "string"
4364	//     }
4365	//   },
4366	//   "path": "{project}/global/deployments/{deployment}",
4367	//   "response": {
4368	//     "$ref": "Operation"
4369	//   },
4370	//   "scopes": [
4371	//     "https://www.googleapis.com/auth/cloud-platform",
4372	//     "https://www.googleapis.com/auth/ndev.cloudman"
4373	//   ]
4374	// }
4375
4376}
4377
4378// method id "deploymentmanager.deployments.get":
4379
4380type DeploymentsGetCall struct {
4381	s            *Service
4382	project      string
4383	deployment   string
4384	urlParams_   gensupport.URLParams
4385	ifNoneMatch_ string
4386	ctx_         context.Context
4387	header_      http.Header
4388}
4389
4390// Get: Gets information about a specific deployment.
4391func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
4392	c := &DeploymentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4393	c.project = project
4394	c.deployment = deployment
4395	return c
4396}
4397
4398// Fields allows partial responses to be retrieved. See
4399// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4400// for more information.
4401func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
4402	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4403	return c
4404}
4405
4406// IfNoneMatch sets the optional parameter which makes the operation
4407// fail if the object's ETag matches the given value. This is useful for
4408// getting updates only after the object has changed since the last
4409// request. Use googleapi.IsNotModified to check whether the response
4410// error from Do is the result of In-None-Match.
4411func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
4412	c.ifNoneMatch_ = entityTag
4413	return c
4414}
4415
4416// Context sets the context to be used in this call's Do method. Any
4417// pending HTTP request will be aborted if the provided context is
4418// canceled.
4419func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
4420	c.ctx_ = ctx
4421	return c
4422}
4423
4424// Header returns an http.Header that can be modified by the caller to
4425// add HTTP headers to the request.
4426func (c *DeploymentsGetCall) Header() http.Header {
4427	if c.header_ == nil {
4428		c.header_ = make(http.Header)
4429	}
4430	return c.header_
4431}
4432
4433func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
4434	reqHeaders := make(http.Header)
4435	for k, v := range c.header_ {
4436		reqHeaders[k] = v
4437	}
4438	reqHeaders.Set("User-Agent", c.s.userAgent())
4439	if c.ifNoneMatch_ != "" {
4440		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4441	}
4442	var body io.Reader = nil
4443	c.urlParams_.Set("alt", alt)
4444	c.urlParams_.Set("prettyPrint", "false")
4445	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
4446	urls += "?" + c.urlParams_.Encode()
4447	req, err := http.NewRequest("GET", urls, body)
4448	if err != nil {
4449		return nil, err
4450	}
4451	req.Header = reqHeaders
4452	googleapi.Expand(req.URL, map[string]string{
4453		"project":    c.project,
4454		"deployment": c.deployment,
4455	})
4456	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4457}
4458
4459// Do executes the "deploymentmanager.deployments.get" call.
4460// Exactly one of *Deployment or error will be non-nil. Any non-2xx
4461// status code is an error. Response headers are in either
4462// *Deployment.ServerResponse.Header or (if a response was returned at
4463// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4464// to check whether the returned error was because
4465// http.StatusNotModified was returned.
4466func (c *DeploymentsGetCall) Do(opts ...googleapi.CallOption) (*Deployment, error) {
4467	gensupport.SetOptions(c.urlParams_, opts...)
4468	res, err := c.doRequest("json")
4469	if res != nil && res.StatusCode == http.StatusNotModified {
4470		if res.Body != nil {
4471			res.Body.Close()
4472		}
4473		return nil, &googleapi.Error{
4474			Code:   res.StatusCode,
4475			Header: res.Header,
4476		}
4477	}
4478	if err != nil {
4479		return nil, err
4480	}
4481	defer googleapi.CloseBody(res)
4482	if err := googleapi.CheckResponse(res); err != nil {
4483		return nil, err
4484	}
4485	ret := &Deployment{
4486		ServerResponse: googleapi.ServerResponse{
4487			Header:         res.Header,
4488			HTTPStatusCode: res.StatusCode,
4489		},
4490	}
4491	target := &ret
4492	if err := gensupport.DecodeResponse(target, res); err != nil {
4493		return nil, err
4494	}
4495	return ret, nil
4496	// {
4497	//   "description": "Gets information about a specific deployment.",
4498	//   "httpMethod": "GET",
4499	//   "id": "deploymentmanager.deployments.get",
4500	//   "parameterOrder": [
4501	//     "project",
4502	//     "deployment"
4503	//   ],
4504	//   "parameters": {
4505	//     "deployment": {
4506	//       "description": "The name of the deployment for this request.",
4507	//       "location": "path",
4508	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4509	//       "required": true,
4510	//       "type": "string"
4511	//     },
4512	//     "project": {
4513	//       "description": "The project ID for this request.",
4514	//       "location": "path",
4515	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4516	//       "required": true,
4517	//       "type": "string"
4518	//     }
4519	//   },
4520	//   "path": "{project}/global/deployments/{deployment}",
4521	//   "response": {
4522	//     "$ref": "Deployment"
4523	//   },
4524	//   "scopes": [
4525	//     "https://www.googleapis.com/auth/cloud-platform",
4526	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4527	//     "https://www.googleapis.com/auth/ndev.cloudman",
4528	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4529	//   ]
4530	// }
4531
4532}
4533
4534// method id "deploymentmanager.deployments.getIamPolicy":
4535
4536type DeploymentsGetIamPolicyCall struct {
4537	s            *Service
4538	project      string
4539	resource     string
4540	urlParams_   gensupport.URLParams
4541	ifNoneMatch_ string
4542	ctx_         context.Context
4543	header_      http.Header
4544}
4545
4546// GetIamPolicy: Gets the access control policy for a resource. May be
4547// empty if no such policy or resource exists.
4548func (r *DeploymentsService) GetIamPolicy(project string, resource string) *DeploymentsGetIamPolicyCall {
4549	c := &DeploymentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4550	c.project = project
4551	c.resource = resource
4552	return c
4553}
4554
4555// Fields allows partial responses to be retrieved. See
4556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4557// for more information.
4558func (c *DeploymentsGetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsGetIamPolicyCall {
4559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4560	return c
4561}
4562
4563// IfNoneMatch sets the optional parameter which makes the operation
4564// fail if the object's ETag matches the given value. This is useful for
4565// getting updates only after the object has changed since the last
4566// request. Use googleapi.IsNotModified to check whether the response
4567// error from Do is the result of In-None-Match.
4568func (c *DeploymentsGetIamPolicyCall) IfNoneMatch(entityTag string) *DeploymentsGetIamPolicyCall {
4569	c.ifNoneMatch_ = entityTag
4570	return c
4571}
4572
4573// Context sets the context to be used in this call's Do method. Any
4574// pending HTTP request will be aborted if the provided context is
4575// canceled.
4576func (c *DeploymentsGetIamPolicyCall) Context(ctx context.Context) *DeploymentsGetIamPolicyCall {
4577	c.ctx_ = ctx
4578	return c
4579}
4580
4581// Header returns an http.Header that can be modified by the caller to
4582// add HTTP headers to the request.
4583func (c *DeploymentsGetIamPolicyCall) Header() http.Header {
4584	if c.header_ == nil {
4585		c.header_ = make(http.Header)
4586	}
4587	return c.header_
4588}
4589
4590func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4591	reqHeaders := make(http.Header)
4592	for k, v := range c.header_ {
4593		reqHeaders[k] = v
4594	}
4595	reqHeaders.Set("User-Agent", c.s.userAgent())
4596	if c.ifNoneMatch_ != "" {
4597		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4598	}
4599	var body io.Reader = nil
4600	c.urlParams_.Set("alt", alt)
4601	c.urlParams_.Set("prettyPrint", "false")
4602	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{resource}/getIamPolicy")
4603	urls += "?" + c.urlParams_.Encode()
4604	req, err := http.NewRequest("GET", urls, body)
4605	if err != nil {
4606		return nil, err
4607	}
4608	req.Header = reqHeaders
4609	googleapi.Expand(req.URL, map[string]string{
4610		"project":  c.project,
4611		"resource": c.resource,
4612	})
4613	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4614}
4615
4616// Do executes the "deploymentmanager.deployments.getIamPolicy" call.
4617// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4618// code is an error. Response headers are in either
4619// *Policy.ServerResponse.Header or (if a response was returned at all)
4620// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4621// check whether the returned error was because http.StatusNotModified
4622// was returned.
4623func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4624	gensupport.SetOptions(c.urlParams_, opts...)
4625	res, err := c.doRequest("json")
4626	if res != nil && res.StatusCode == http.StatusNotModified {
4627		if res.Body != nil {
4628			res.Body.Close()
4629		}
4630		return nil, &googleapi.Error{
4631			Code:   res.StatusCode,
4632			Header: res.Header,
4633		}
4634	}
4635	if err != nil {
4636		return nil, err
4637	}
4638	defer googleapi.CloseBody(res)
4639	if err := googleapi.CheckResponse(res); err != nil {
4640		return nil, err
4641	}
4642	ret := &Policy{
4643		ServerResponse: googleapi.ServerResponse{
4644			Header:         res.Header,
4645			HTTPStatusCode: res.StatusCode,
4646		},
4647	}
4648	target := &ret
4649	if err := gensupport.DecodeResponse(target, res); err != nil {
4650		return nil, err
4651	}
4652	return ret, nil
4653	// {
4654	//   "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.",
4655	//   "httpMethod": "GET",
4656	//   "id": "deploymentmanager.deployments.getIamPolicy",
4657	//   "parameterOrder": [
4658	//     "project",
4659	//     "resource"
4660	//   ],
4661	//   "parameters": {
4662	//     "project": {
4663	//       "description": "Project ID for this request.",
4664	//       "location": "path",
4665	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4666	//       "required": true,
4667	//       "type": "string"
4668	//     },
4669	//     "resource": {
4670	//       "description": "Name or id of the resource for this request.",
4671	//       "location": "path",
4672	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
4673	//       "required": true,
4674	//       "type": "string"
4675	//     }
4676	//   },
4677	//   "path": "{project}/global/deployments/{resource}/getIamPolicy",
4678	//   "response": {
4679	//     "$ref": "Policy"
4680	//   },
4681	//   "scopes": [
4682	//     "https://www.googleapis.com/auth/cloud-platform",
4683	//     "https://www.googleapis.com/auth/ndev.cloudman"
4684	//   ]
4685	// }
4686
4687}
4688
4689// method id "deploymentmanager.deployments.insert":
4690
4691type DeploymentsInsertCall struct {
4692	s          *Service
4693	project    string
4694	deployment *Deployment
4695	urlParams_ gensupport.URLParams
4696	ctx_       context.Context
4697	header_    http.Header
4698}
4699
4700// Insert: Creates a deployment and all of the resources described by
4701// the deployment manifest.
4702func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
4703	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4704	c.project = project
4705	c.deployment = deployment
4706	return c
4707}
4708
4709// CreatePolicy sets the optional parameter "createPolicy": Sets the
4710// policy to use for creating new resources.
4711//
4712// Possible values:
4713//   "ACQUIRE"
4714//   "CREATE"
4715//   "CREATE_OR_ACQUIRE" (default)
4716func (c *DeploymentsInsertCall) CreatePolicy(createPolicy string) *DeploymentsInsertCall {
4717	c.urlParams_.Set("createPolicy", createPolicy)
4718	return c
4719}
4720
4721// Preview sets the optional parameter "preview": If set to true,
4722// creates a deployment and creates "shell" resources but does not
4723// actually instantiate these resources. This allows you to preview what
4724// your deployment looks like. After previewing a deployment, you can
4725// deploy your resources by making a request with the update() method or
4726// you can use the cancelPreview() method to cancel the preview
4727// altogether. Note that the deployment will still exist after you
4728// cancel the preview and you must separately delete this deployment if
4729// you want to remove it.
4730func (c *DeploymentsInsertCall) Preview(preview bool) *DeploymentsInsertCall {
4731	c.urlParams_.Set("preview", fmt.Sprint(preview))
4732	return c
4733}
4734
4735// Fields allows partial responses to be retrieved. See
4736// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4737// for more information.
4738func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
4739	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4740	return c
4741}
4742
4743// Context sets the context to be used in this call's Do method. Any
4744// pending HTTP request will be aborted if the provided context is
4745// canceled.
4746func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
4747	c.ctx_ = ctx
4748	return c
4749}
4750
4751// Header returns an http.Header that can be modified by the caller to
4752// add HTTP headers to the request.
4753func (c *DeploymentsInsertCall) Header() http.Header {
4754	if c.header_ == nil {
4755		c.header_ = make(http.Header)
4756	}
4757	return c.header_
4758}
4759
4760func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
4761	reqHeaders := make(http.Header)
4762	for k, v := range c.header_ {
4763		reqHeaders[k] = v
4764	}
4765	reqHeaders.Set("User-Agent", c.s.userAgent())
4766	var body io.Reader = nil
4767	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment)
4768	if err != nil {
4769		return nil, err
4770	}
4771	reqHeaders.Set("Content-Type", "application/json")
4772	c.urlParams_.Set("alt", alt)
4773	c.urlParams_.Set("prettyPrint", "false")
4774	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
4775	urls += "?" + c.urlParams_.Encode()
4776	req, err := http.NewRequest("POST", urls, body)
4777	if err != nil {
4778		return nil, err
4779	}
4780	req.Header = reqHeaders
4781	googleapi.Expand(req.URL, map[string]string{
4782		"project": c.project,
4783	})
4784	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4785}
4786
4787// Do executes the "deploymentmanager.deployments.insert" call.
4788// Exactly one of *Operation or error will be non-nil. Any non-2xx
4789// status code is an error. Response headers are in either
4790// *Operation.ServerResponse.Header or (if a response was returned at
4791// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4792// to check whether the returned error was because
4793// http.StatusNotModified was returned.
4794func (c *DeploymentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4795	gensupport.SetOptions(c.urlParams_, opts...)
4796	res, err := c.doRequest("json")
4797	if res != nil && res.StatusCode == http.StatusNotModified {
4798		if res.Body != nil {
4799			res.Body.Close()
4800		}
4801		return nil, &googleapi.Error{
4802			Code:   res.StatusCode,
4803			Header: res.Header,
4804		}
4805	}
4806	if err != nil {
4807		return nil, err
4808	}
4809	defer googleapi.CloseBody(res)
4810	if err := googleapi.CheckResponse(res); err != nil {
4811		return nil, err
4812	}
4813	ret := &Operation{
4814		ServerResponse: googleapi.ServerResponse{
4815			Header:         res.Header,
4816			HTTPStatusCode: res.StatusCode,
4817		},
4818	}
4819	target := &ret
4820	if err := gensupport.DecodeResponse(target, res); err != nil {
4821		return nil, err
4822	}
4823	return ret, nil
4824	// {
4825	//   "description": "Creates a deployment and all of the resources described by the deployment manifest.",
4826	//   "httpMethod": "POST",
4827	//   "id": "deploymentmanager.deployments.insert",
4828	//   "parameterOrder": [
4829	//     "project"
4830	//   ],
4831	//   "parameters": {
4832	//     "createPolicy": {
4833	//       "default": "CREATE_OR_ACQUIRE",
4834	//       "description": "Sets the policy to use for creating new resources.",
4835	//       "enum": [
4836	//         "ACQUIRE",
4837	//         "CREATE",
4838	//         "CREATE_OR_ACQUIRE"
4839	//       ],
4840	//       "enumDescriptions": [
4841	//         "",
4842	//         "",
4843	//         ""
4844	//       ],
4845	//       "location": "query",
4846	//       "type": "string"
4847	//     },
4848	//     "preview": {
4849	//       "description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.",
4850	//       "location": "query",
4851	//       "type": "boolean"
4852	//     },
4853	//     "project": {
4854	//       "description": "The project ID for this request.",
4855	//       "location": "path",
4856	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
4857	//       "required": true,
4858	//       "type": "string"
4859	//     }
4860	//   },
4861	//   "path": "{project}/global/deployments",
4862	//   "request": {
4863	//     "$ref": "Deployment"
4864	//   },
4865	//   "response": {
4866	//     "$ref": "Operation"
4867	//   },
4868	//   "scopes": [
4869	//     "https://www.googleapis.com/auth/cloud-platform",
4870	//     "https://www.googleapis.com/auth/ndev.cloudman"
4871	//   ]
4872	// }
4873
4874}
4875
4876// method id "deploymentmanager.deployments.list":
4877
4878type DeploymentsListCall struct {
4879	s            *Service
4880	project      string
4881	urlParams_   gensupport.URLParams
4882	ifNoneMatch_ string
4883	ctx_         context.Context
4884	header_      http.Header
4885}
4886
4887// List: Lists all deployments for a given project.
4888func (r *DeploymentsService) List(project string) *DeploymentsListCall {
4889	c := &DeploymentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4890	c.project = project
4891	return c
4892}
4893
4894// Filter sets the optional parameter "filter": A filter expression that
4895// filters resources listed in the response. The expression must specify
4896// the field name, a comparison operator, and the value that you want to
4897// use for filtering. The value must be a string, a number, or a
4898// boolean. The comparison operator must be either =, !=, >, or <.
4899//
4900// For example, if you are filtering Compute Engine instances, you can
4901// exclude instances named example-instance by specifying name !=
4902// example-instance.
4903//
4904// You can also filter nested fields. For example, you could specify
4905// scheduling.automaticRestart = false to include instances only if they
4906// are not scheduled for automatic restarts. You can use filtering on
4907// nested fields to filter based on resource labels.
4908//
4909// To filter on multiple expressions, provide each separate expression
4910// within parentheses. For example, (scheduling.automaticRestart = true)
4911// (cpuPlatform = "Intel Skylake"). By default, each expression is an
4912// AND expression. However, you can include AND and OR expressions
4913// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
4914// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
4915// true).
4916func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
4917	c.urlParams_.Set("filter", filter)
4918	return c
4919}
4920
4921// MaxResults sets the optional parameter "maxResults": The maximum
4922// number of results per page that should be returned. If the number of
4923// available results is larger than maxResults, Compute Engine returns a
4924// nextPageToken that can be used to get the next page of results in
4925// subsequent list requests. Acceptable values are 0 to 500, inclusive.
4926// (Default: 500)
4927func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
4928	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
4929	return c
4930}
4931
4932// OrderBy sets the optional parameter "orderBy": Sorts list results by
4933// a certain order. By default, results are returned in alphanumerical
4934// order based on the resource name.
4935//
4936// You can also sort results in descending order based on the creation
4937// timestamp using orderBy="creationTimestamp desc". This sorts results
4938// based on the creationTimestamp field in reverse chronological order
4939// (newest result first). Use this to sort resources like operations so
4940// that the newest operation is returned first.
4941//
4942// Currently, only sorting by name or creationTimestamp desc is
4943// supported.
4944func (c *DeploymentsListCall) OrderBy(orderBy string) *DeploymentsListCall {
4945	c.urlParams_.Set("orderBy", orderBy)
4946	return c
4947}
4948
4949// PageToken sets the optional parameter "pageToken": Specifies a page
4950// token to use. Set pageToken to the nextPageToken returned by a
4951// previous list request to get the next page of results.
4952func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
4953	c.urlParams_.Set("pageToken", pageToken)
4954	return c
4955}
4956
4957// Fields allows partial responses to be retrieved. See
4958// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4959// for more information.
4960func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
4961	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4962	return c
4963}
4964
4965// IfNoneMatch sets the optional parameter which makes the operation
4966// fail if the object's ETag matches the given value. This is useful for
4967// getting updates only after the object has changed since the last
4968// request. Use googleapi.IsNotModified to check whether the response
4969// error from Do is the result of In-None-Match.
4970func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
4971	c.ifNoneMatch_ = entityTag
4972	return c
4973}
4974
4975// Context sets the context to be used in this call's Do method. Any
4976// pending HTTP request will be aborted if the provided context is
4977// canceled.
4978func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
4979	c.ctx_ = ctx
4980	return c
4981}
4982
4983// Header returns an http.Header that can be modified by the caller to
4984// add HTTP headers to the request.
4985func (c *DeploymentsListCall) Header() http.Header {
4986	if c.header_ == nil {
4987		c.header_ = make(http.Header)
4988	}
4989	return c.header_
4990}
4991
4992func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
4993	reqHeaders := make(http.Header)
4994	for k, v := range c.header_ {
4995		reqHeaders[k] = v
4996	}
4997	reqHeaders.Set("User-Agent", c.s.userAgent())
4998	if c.ifNoneMatch_ != "" {
4999		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5000	}
5001	var body io.Reader = nil
5002	c.urlParams_.Set("alt", alt)
5003	c.urlParams_.Set("prettyPrint", "false")
5004	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments")
5005	urls += "?" + c.urlParams_.Encode()
5006	req, err := http.NewRequest("GET", urls, body)
5007	if err != nil {
5008		return nil, err
5009	}
5010	req.Header = reqHeaders
5011	googleapi.Expand(req.URL, map[string]string{
5012		"project": c.project,
5013	})
5014	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5015}
5016
5017// Do executes the "deploymentmanager.deployments.list" call.
5018// Exactly one of *DeploymentsListResponse or error will be non-nil. Any
5019// non-2xx status code is an error. Response headers are in either
5020// *DeploymentsListResponse.ServerResponse.Header or (if a response was
5021// returned at all) in error.(*googleapi.Error).Header. Use
5022// googleapi.IsNotModified to check whether the returned error was
5023// because http.StatusNotModified was returned.
5024func (c *DeploymentsListCall) Do(opts ...googleapi.CallOption) (*DeploymentsListResponse, error) {
5025	gensupport.SetOptions(c.urlParams_, opts...)
5026	res, err := c.doRequest("json")
5027	if res != nil && res.StatusCode == http.StatusNotModified {
5028		if res.Body != nil {
5029			res.Body.Close()
5030		}
5031		return nil, &googleapi.Error{
5032			Code:   res.StatusCode,
5033			Header: res.Header,
5034		}
5035	}
5036	if err != nil {
5037		return nil, err
5038	}
5039	defer googleapi.CloseBody(res)
5040	if err := googleapi.CheckResponse(res); err != nil {
5041		return nil, err
5042	}
5043	ret := &DeploymentsListResponse{
5044		ServerResponse: googleapi.ServerResponse{
5045			Header:         res.Header,
5046			HTTPStatusCode: res.StatusCode,
5047		},
5048	}
5049	target := &ret
5050	if err := gensupport.DecodeResponse(target, res); err != nil {
5051		return nil, err
5052	}
5053	return ret, nil
5054	// {
5055	//   "description": "Lists all deployments for a given project.",
5056	//   "httpMethod": "GET",
5057	//   "id": "deploymentmanager.deployments.list",
5058	//   "parameterOrder": [
5059	//     "project"
5060	//   ],
5061	//   "parameters": {
5062	//     "filter": {
5063	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
5064	//       "location": "query",
5065	//       "type": "string"
5066	//     },
5067	//     "maxResults": {
5068	//       "default": "500",
5069	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
5070	//       "format": "uint32",
5071	//       "location": "query",
5072	//       "minimum": "0",
5073	//       "type": "integer"
5074	//     },
5075	//     "orderBy": {
5076	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
5077	//       "location": "query",
5078	//       "type": "string"
5079	//     },
5080	//     "pageToken": {
5081	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
5082	//       "location": "query",
5083	//       "type": "string"
5084	//     },
5085	//     "project": {
5086	//       "description": "The project ID for this request.",
5087	//       "location": "path",
5088	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5089	//       "required": true,
5090	//       "type": "string"
5091	//     }
5092	//   },
5093	//   "path": "{project}/global/deployments",
5094	//   "response": {
5095	//     "$ref": "DeploymentsListResponse"
5096	//   },
5097	//   "scopes": [
5098	//     "https://www.googleapis.com/auth/cloud-platform",
5099	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
5100	//     "https://www.googleapis.com/auth/ndev.cloudman",
5101	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
5102	//   ]
5103	// }
5104
5105}
5106
5107// Pages invokes f for each page of results.
5108// A non-nil error returned from f will halt the iteration.
5109// The provided context supersedes any context provided to the Context method.
5110func (c *DeploymentsListCall) Pages(ctx context.Context, f func(*DeploymentsListResponse) error) error {
5111	c.ctx_ = ctx
5112	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5113	for {
5114		x, err := c.Do()
5115		if err != nil {
5116			return err
5117		}
5118		if err := f(x); err != nil {
5119			return err
5120		}
5121		if x.NextPageToken == "" {
5122			return nil
5123		}
5124		c.PageToken(x.NextPageToken)
5125	}
5126}
5127
5128// method id "deploymentmanager.deployments.patch":
5129
5130type DeploymentsPatchCall struct {
5131	s           *Service
5132	project     string
5133	deployment  string
5134	deployment2 *Deployment
5135	urlParams_  gensupport.URLParams
5136	ctx_        context.Context
5137	header_     http.Header
5138}
5139
5140// Patch: Updates a deployment and all of the resources described by the
5141// deployment manifest. This method supports patch semantics.
5142func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
5143	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5144	c.project = project
5145	c.deployment = deployment
5146	c.deployment2 = deployment2
5147	return c
5148}
5149
5150// CreatePolicy sets the optional parameter "createPolicy": Sets the
5151// policy to use for creating new resources.
5152//
5153// Possible values:
5154//   "ACQUIRE"
5155//   "CREATE"
5156//   "CREATE_OR_ACQUIRE" (default)
5157func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
5158	c.urlParams_.Set("createPolicy", createPolicy)
5159	return c
5160}
5161
5162// DeletePolicy sets the optional parameter "deletePolicy": Sets the
5163// policy to use for deleting resources.
5164//
5165// Possible values:
5166//   "ABANDON"
5167//   "DELETE" (default)
5168func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
5169	c.urlParams_.Set("deletePolicy", deletePolicy)
5170	return c
5171}
5172
5173// Preview sets the optional parameter "preview": If set to true,
5174// updates the deployment and creates and updates the "shell" resources
5175// but does not actually alter or instantiate these resources. This
5176// allows you to preview what your deployment will look like. You can
5177// use this intent to preview how an update would affect your
5178// deployment. You must provide a target.config with a configuration if
5179// this is set to true. After previewing a deployment, you can deploy
5180// your resources by making a request with the update() or you can
5181// cancelPreview() to remove the preview altogether. Note that the
5182// deployment will still exist after you cancel the preview and you must
5183// separately delete this deployment if you want to remove it.
5184func (c *DeploymentsPatchCall) Preview(preview bool) *DeploymentsPatchCall {
5185	c.urlParams_.Set("preview", fmt.Sprint(preview))
5186	return c
5187}
5188
5189// Fields allows partial responses to be retrieved. See
5190// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5191// for more information.
5192func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
5193	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5194	return c
5195}
5196
5197// Context sets the context to be used in this call's Do method. Any
5198// pending HTTP request will be aborted if the provided context is
5199// canceled.
5200func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
5201	c.ctx_ = ctx
5202	return c
5203}
5204
5205// Header returns an http.Header that can be modified by the caller to
5206// add HTTP headers to the request.
5207func (c *DeploymentsPatchCall) Header() http.Header {
5208	if c.header_ == nil {
5209		c.header_ = make(http.Header)
5210	}
5211	return c.header_
5212}
5213
5214func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
5215	reqHeaders := make(http.Header)
5216	for k, v := range c.header_ {
5217		reqHeaders[k] = v
5218	}
5219	reqHeaders.Set("User-Agent", c.s.userAgent())
5220	var body io.Reader = nil
5221	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
5222	if err != nil {
5223		return nil, err
5224	}
5225	reqHeaders.Set("Content-Type", "application/json")
5226	c.urlParams_.Set("alt", alt)
5227	c.urlParams_.Set("prettyPrint", "false")
5228	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
5229	urls += "?" + c.urlParams_.Encode()
5230	req, err := http.NewRequest("PATCH", urls, body)
5231	if err != nil {
5232		return nil, err
5233	}
5234	req.Header = reqHeaders
5235	googleapi.Expand(req.URL, map[string]string{
5236		"project":    c.project,
5237		"deployment": c.deployment,
5238	})
5239	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5240}
5241
5242// Do executes the "deploymentmanager.deployments.patch" call.
5243// Exactly one of *Operation or error will be non-nil. Any non-2xx
5244// status code is an error. Response headers are in either
5245// *Operation.ServerResponse.Header or (if a response was returned at
5246// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5247// to check whether the returned error was because
5248// http.StatusNotModified was returned.
5249func (c *DeploymentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5250	gensupport.SetOptions(c.urlParams_, opts...)
5251	res, err := c.doRequest("json")
5252	if res != nil && res.StatusCode == http.StatusNotModified {
5253		if res.Body != nil {
5254			res.Body.Close()
5255		}
5256		return nil, &googleapi.Error{
5257			Code:   res.StatusCode,
5258			Header: res.Header,
5259		}
5260	}
5261	if err != nil {
5262		return nil, err
5263	}
5264	defer googleapi.CloseBody(res)
5265	if err := googleapi.CheckResponse(res); err != nil {
5266		return nil, err
5267	}
5268	ret := &Operation{
5269		ServerResponse: googleapi.ServerResponse{
5270			Header:         res.Header,
5271			HTTPStatusCode: res.StatusCode,
5272		},
5273	}
5274	target := &ret
5275	if err := gensupport.DecodeResponse(target, res); err != nil {
5276		return nil, err
5277	}
5278	return ret, nil
5279	// {
5280	//   "description": "Updates a deployment and all of the resources described by the deployment manifest. This method supports patch semantics.",
5281	//   "httpMethod": "PATCH",
5282	//   "id": "deploymentmanager.deployments.patch",
5283	//   "parameterOrder": [
5284	//     "project",
5285	//     "deployment"
5286	//   ],
5287	//   "parameters": {
5288	//     "createPolicy": {
5289	//       "default": "CREATE_OR_ACQUIRE",
5290	//       "description": "Sets the policy to use for creating new resources.",
5291	//       "enum": [
5292	//         "ACQUIRE",
5293	//         "CREATE",
5294	//         "CREATE_OR_ACQUIRE"
5295	//       ],
5296	//       "enumDescriptions": [
5297	//         "",
5298	//         "",
5299	//         ""
5300	//       ],
5301	//       "location": "query",
5302	//       "type": "string"
5303	//     },
5304	//     "deletePolicy": {
5305	//       "default": "DELETE",
5306	//       "description": "Sets the policy to use for deleting resources.",
5307	//       "enum": [
5308	//         "ABANDON",
5309	//         "DELETE"
5310	//       ],
5311	//       "enumDescriptions": [
5312	//         "",
5313	//         ""
5314	//       ],
5315	//       "location": "query",
5316	//       "type": "string"
5317	//     },
5318	//     "deployment": {
5319	//       "description": "The name of the deployment for this request.",
5320	//       "location": "path",
5321	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5322	//       "required": true,
5323	//       "type": "string"
5324	//     },
5325	//     "preview": {
5326	//       "default": "false",
5327	//       "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.",
5328	//       "location": "query",
5329	//       "type": "boolean"
5330	//     },
5331	//     "project": {
5332	//       "description": "The project ID for this request.",
5333	//       "location": "path",
5334	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5335	//       "required": true,
5336	//       "type": "string"
5337	//     }
5338	//   },
5339	//   "path": "{project}/global/deployments/{deployment}",
5340	//   "request": {
5341	//     "$ref": "Deployment"
5342	//   },
5343	//   "response": {
5344	//     "$ref": "Operation"
5345	//   },
5346	//   "scopes": [
5347	//     "https://www.googleapis.com/auth/cloud-platform",
5348	//     "https://www.googleapis.com/auth/ndev.cloudman"
5349	//   ]
5350	// }
5351
5352}
5353
5354// method id "deploymentmanager.deployments.setIamPolicy":
5355
5356type DeploymentsSetIamPolicyCall struct {
5357	s                      *Service
5358	project                string
5359	resource               string
5360	globalsetpolicyrequest *GlobalSetPolicyRequest
5361	urlParams_             gensupport.URLParams
5362	ctx_                   context.Context
5363	header_                http.Header
5364}
5365
5366// SetIamPolicy: Sets the access control policy on the specified
5367// resource. Replaces any existing policy.
5368func (r *DeploymentsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *DeploymentsSetIamPolicyCall {
5369	c := &DeploymentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5370	c.project = project
5371	c.resource = resource
5372	c.globalsetpolicyrequest = globalsetpolicyrequest
5373	return c
5374}
5375
5376// Fields allows partial responses to be retrieved. See
5377// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5378// for more information.
5379func (c *DeploymentsSetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsSetIamPolicyCall {
5380	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5381	return c
5382}
5383
5384// Context sets the context to be used in this call's Do method. Any
5385// pending HTTP request will be aborted if the provided context is
5386// canceled.
5387func (c *DeploymentsSetIamPolicyCall) Context(ctx context.Context) *DeploymentsSetIamPolicyCall {
5388	c.ctx_ = ctx
5389	return c
5390}
5391
5392// Header returns an http.Header that can be modified by the caller to
5393// add HTTP headers to the request.
5394func (c *DeploymentsSetIamPolicyCall) Header() http.Header {
5395	if c.header_ == nil {
5396		c.header_ = make(http.Header)
5397	}
5398	return c.header_
5399}
5400
5401func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
5402	reqHeaders := make(http.Header)
5403	for k, v := range c.header_ {
5404		reqHeaders[k] = v
5405	}
5406	reqHeaders.Set("User-Agent", c.s.userAgent())
5407	var body io.Reader = nil
5408	body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetpolicyrequest)
5409	if err != nil {
5410		return nil, err
5411	}
5412	reqHeaders.Set("Content-Type", "application/json")
5413	c.urlParams_.Set("alt", alt)
5414	c.urlParams_.Set("prettyPrint", "false")
5415	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{resource}/setIamPolicy")
5416	urls += "?" + c.urlParams_.Encode()
5417	req, err := http.NewRequest("POST", urls, body)
5418	if err != nil {
5419		return nil, err
5420	}
5421	req.Header = reqHeaders
5422	googleapi.Expand(req.URL, map[string]string{
5423		"project":  c.project,
5424		"resource": c.resource,
5425	})
5426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5427}
5428
5429// Do executes the "deploymentmanager.deployments.setIamPolicy" call.
5430// Exactly one of *Policy or error will be non-nil. Any non-2xx status
5431// code is an error. Response headers are in either
5432// *Policy.ServerResponse.Header or (if a response was returned at all)
5433// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5434// check whether the returned error was because http.StatusNotModified
5435// was returned.
5436func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
5437	gensupport.SetOptions(c.urlParams_, opts...)
5438	res, err := c.doRequest("json")
5439	if res != nil && res.StatusCode == http.StatusNotModified {
5440		if res.Body != nil {
5441			res.Body.Close()
5442		}
5443		return nil, &googleapi.Error{
5444			Code:   res.StatusCode,
5445			Header: res.Header,
5446		}
5447	}
5448	if err != nil {
5449		return nil, err
5450	}
5451	defer googleapi.CloseBody(res)
5452	if err := googleapi.CheckResponse(res); err != nil {
5453		return nil, err
5454	}
5455	ret := &Policy{
5456		ServerResponse: googleapi.ServerResponse{
5457			Header:         res.Header,
5458			HTTPStatusCode: res.StatusCode,
5459		},
5460	}
5461	target := &ret
5462	if err := gensupport.DecodeResponse(target, res); err != nil {
5463		return nil, err
5464	}
5465	return ret, nil
5466	// {
5467	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
5468	//   "httpMethod": "POST",
5469	//   "id": "deploymentmanager.deployments.setIamPolicy",
5470	//   "parameterOrder": [
5471	//     "project",
5472	//     "resource"
5473	//   ],
5474	//   "parameters": {
5475	//     "project": {
5476	//       "description": "Project ID for this request.",
5477	//       "location": "path",
5478	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5479	//       "required": true,
5480	//       "type": "string"
5481	//     },
5482	//     "resource": {
5483	//       "description": "Name or id of the resource for this request.",
5484	//       "location": "path",
5485	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
5486	//       "required": true,
5487	//       "type": "string"
5488	//     }
5489	//   },
5490	//   "path": "{project}/global/deployments/{resource}/setIamPolicy",
5491	//   "request": {
5492	//     "$ref": "GlobalSetPolicyRequest"
5493	//   },
5494	//   "response": {
5495	//     "$ref": "Policy"
5496	//   },
5497	//   "scopes": [
5498	//     "https://www.googleapis.com/auth/cloud-platform",
5499	//     "https://www.googleapis.com/auth/ndev.cloudman"
5500	//   ]
5501	// }
5502
5503}
5504
5505// method id "deploymentmanager.deployments.stop":
5506
5507type DeploymentsStopCall struct {
5508	s                      *Service
5509	project                string
5510	deployment             string
5511	deploymentsstoprequest *DeploymentsStopRequest
5512	urlParams_             gensupport.URLParams
5513	ctx_                   context.Context
5514	header_                http.Header
5515}
5516
5517// Stop: Stops an ongoing operation. This does not roll back any work
5518// that has already been completed, but prevents any new work from being
5519// started.
5520func (r *DeploymentsService) Stop(project string, deployment string, deploymentsstoprequest *DeploymentsStopRequest) *DeploymentsStopCall {
5521	c := &DeploymentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5522	c.project = project
5523	c.deployment = deployment
5524	c.deploymentsstoprequest = deploymentsstoprequest
5525	return c
5526}
5527
5528// Fields allows partial responses to be retrieved. See
5529// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5530// for more information.
5531func (c *DeploymentsStopCall) Fields(s ...googleapi.Field) *DeploymentsStopCall {
5532	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5533	return c
5534}
5535
5536// Context sets the context to be used in this call's Do method. Any
5537// pending HTTP request will be aborted if the provided context is
5538// canceled.
5539func (c *DeploymentsStopCall) Context(ctx context.Context) *DeploymentsStopCall {
5540	c.ctx_ = ctx
5541	return c
5542}
5543
5544// Header returns an http.Header that can be modified by the caller to
5545// add HTTP headers to the request.
5546func (c *DeploymentsStopCall) Header() http.Header {
5547	if c.header_ == nil {
5548		c.header_ = make(http.Header)
5549	}
5550	return c.header_
5551}
5552
5553func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
5554	reqHeaders := make(http.Header)
5555	for k, v := range c.header_ {
5556		reqHeaders[k] = v
5557	}
5558	reqHeaders.Set("User-Agent", c.s.userAgent())
5559	var body io.Reader = nil
5560	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentsstoprequest)
5561	if err != nil {
5562		return nil, err
5563	}
5564	reqHeaders.Set("Content-Type", "application/json")
5565	c.urlParams_.Set("alt", alt)
5566	c.urlParams_.Set("prettyPrint", "false")
5567	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/stop")
5568	urls += "?" + c.urlParams_.Encode()
5569	req, err := http.NewRequest("POST", urls, body)
5570	if err != nil {
5571		return nil, err
5572	}
5573	req.Header = reqHeaders
5574	googleapi.Expand(req.URL, map[string]string{
5575		"project":    c.project,
5576		"deployment": c.deployment,
5577	})
5578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5579}
5580
5581// Do executes the "deploymentmanager.deployments.stop" call.
5582// Exactly one of *Operation or error will be non-nil. Any non-2xx
5583// status code is an error. Response headers are in either
5584// *Operation.ServerResponse.Header or (if a response was returned at
5585// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5586// to check whether the returned error was because
5587// http.StatusNotModified was returned.
5588func (c *DeploymentsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5589	gensupport.SetOptions(c.urlParams_, opts...)
5590	res, err := c.doRequest("json")
5591	if res != nil && res.StatusCode == http.StatusNotModified {
5592		if res.Body != nil {
5593			res.Body.Close()
5594		}
5595		return nil, &googleapi.Error{
5596			Code:   res.StatusCode,
5597			Header: res.Header,
5598		}
5599	}
5600	if err != nil {
5601		return nil, err
5602	}
5603	defer googleapi.CloseBody(res)
5604	if err := googleapi.CheckResponse(res); err != nil {
5605		return nil, err
5606	}
5607	ret := &Operation{
5608		ServerResponse: googleapi.ServerResponse{
5609			Header:         res.Header,
5610			HTTPStatusCode: res.StatusCode,
5611		},
5612	}
5613	target := &ret
5614	if err := gensupport.DecodeResponse(target, res); err != nil {
5615		return nil, err
5616	}
5617	return ret, nil
5618	// {
5619	//   "description": "Stops an ongoing operation. This does not roll back any work that has already been completed, but prevents any new work from being started.",
5620	//   "httpMethod": "POST",
5621	//   "id": "deploymentmanager.deployments.stop",
5622	//   "parameterOrder": [
5623	//     "project",
5624	//     "deployment"
5625	//   ],
5626	//   "parameters": {
5627	//     "deployment": {
5628	//       "description": "The name of the deployment for this request.",
5629	//       "location": "path",
5630	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5631	//       "required": true,
5632	//       "type": "string"
5633	//     },
5634	//     "project": {
5635	//       "description": "The project ID for this request.",
5636	//       "location": "path",
5637	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5638	//       "required": true,
5639	//       "type": "string"
5640	//     }
5641	//   },
5642	//   "path": "{project}/global/deployments/{deployment}/stop",
5643	//   "request": {
5644	//     "$ref": "DeploymentsStopRequest"
5645	//   },
5646	//   "response": {
5647	//     "$ref": "Operation"
5648	//   },
5649	//   "scopes": [
5650	//     "https://www.googleapis.com/auth/cloud-platform",
5651	//     "https://www.googleapis.com/auth/ndev.cloudman"
5652	//   ]
5653	// }
5654
5655}
5656
5657// method id "deploymentmanager.deployments.testIamPermissions":
5658
5659type DeploymentsTestIamPermissionsCall struct {
5660	s                      *Service
5661	project                string
5662	resource               string
5663	testpermissionsrequest *TestPermissionsRequest
5664	urlParams_             gensupport.URLParams
5665	ctx_                   context.Context
5666	header_                http.Header
5667}
5668
5669// TestIamPermissions: Returns permissions that a caller has on the
5670// specified resource.
5671func (r *DeploymentsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *DeploymentsTestIamPermissionsCall {
5672	c := &DeploymentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5673	c.project = project
5674	c.resource = resource
5675	c.testpermissionsrequest = testpermissionsrequest
5676	return c
5677}
5678
5679// Fields allows partial responses to be retrieved. See
5680// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5681// for more information.
5682func (c *DeploymentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *DeploymentsTestIamPermissionsCall {
5683	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5684	return c
5685}
5686
5687// Context sets the context to be used in this call's Do method. Any
5688// pending HTTP request will be aborted if the provided context is
5689// canceled.
5690func (c *DeploymentsTestIamPermissionsCall) Context(ctx context.Context) *DeploymentsTestIamPermissionsCall {
5691	c.ctx_ = ctx
5692	return c
5693}
5694
5695// Header returns an http.Header that can be modified by the caller to
5696// add HTTP headers to the request.
5697func (c *DeploymentsTestIamPermissionsCall) Header() http.Header {
5698	if c.header_ == nil {
5699		c.header_ = make(http.Header)
5700	}
5701	return c.header_
5702}
5703
5704func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5705	reqHeaders := make(http.Header)
5706	for k, v := range c.header_ {
5707		reqHeaders[k] = v
5708	}
5709	reqHeaders.Set("User-Agent", c.s.userAgent())
5710	var body io.Reader = nil
5711	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest)
5712	if err != nil {
5713		return nil, err
5714	}
5715	reqHeaders.Set("Content-Type", "application/json")
5716	c.urlParams_.Set("alt", alt)
5717	c.urlParams_.Set("prettyPrint", "false")
5718	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{resource}/testIamPermissions")
5719	urls += "?" + c.urlParams_.Encode()
5720	req, err := http.NewRequest("POST", urls, body)
5721	if err != nil {
5722		return nil, err
5723	}
5724	req.Header = reqHeaders
5725	googleapi.Expand(req.URL, map[string]string{
5726		"project":  c.project,
5727		"resource": c.resource,
5728	})
5729	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5730}
5731
5732// Do executes the "deploymentmanager.deployments.testIamPermissions" call.
5733// Exactly one of *TestPermissionsResponse or error will be non-nil. Any
5734// non-2xx status code is an error. Response headers are in either
5735// *TestPermissionsResponse.ServerResponse.Header or (if a response was
5736// returned at all) in error.(*googleapi.Error).Header. Use
5737// googleapi.IsNotModified to check whether the returned error was
5738// because http.StatusNotModified was returned.
5739func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
5740	gensupport.SetOptions(c.urlParams_, opts...)
5741	res, err := c.doRequest("json")
5742	if res != nil && res.StatusCode == http.StatusNotModified {
5743		if res.Body != nil {
5744			res.Body.Close()
5745		}
5746		return nil, &googleapi.Error{
5747			Code:   res.StatusCode,
5748			Header: res.Header,
5749		}
5750	}
5751	if err != nil {
5752		return nil, err
5753	}
5754	defer googleapi.CloseBody(res)
5755	if err := googleapi.CheckResponse(res); err != nil {
5756		return nil, err
5757	}
5758	ret := &TestPermissionsResponse{
5759		ServerResponse: googleapi.ServerResponse{
5760			Header:         res.Header,
5761			HTTPStatusCode: res.StatusCode,
5762		},
5763	}
5764	target := &ret
5765	if err := gensupport.DecodeResponse(target, res); err != nil {
5766		return nil, err
5767	}
5768	return ret, nil
5769	// {
5770	//   "description": "Returns permissions that a caller has on the specified resource.",
5771	//   "httpMethod": "POST",
5772	//   "id": "deploymentmanager.deployments.testIamPermissions",
5773	//   "parameterOrder": [
5774	//     "project",
5775	//     "resource"
5776	//   ],
5777	//   "parameters": {
5778	//     "project": {
5779	//       "description": "Project ID for this request.",
5780	//       "location": "path",
5781	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
5782	//       "required": true,
5783	//       "type": "string"
5784	//     },
5785	//     "resource": {
5786	//       "description": "Name or id of the resource for this request.",
5787	//       "location": "path",
5788	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
5789	//       "required": true,
5790	//       "type": "string"
5791	//     }
5792	//   },
5793	//   "path": "{project}/global/deployments/{resource}/testIamPermissions",
5794	//   "request": {
5795	//     "$ref": "TestPermissionsRequest"
5796	//   },
5797	//   "response": {
5798	//     "$ref": "TestPermissionsResponse"
5799	//   },
5800	//   "scopes": [
5801	//     "https://www.googleapis.com/auth/cloud-platform",
5802	//     "https://www.googleapis.com/auth/ndev.cloudman"
5803	//   ]
5804	// }
5805
5806}
5807
5808// method id "deploymentmanager.deployments.update":
5809
5810type DeploymentsUpdateCall struct {
5811	s           *Service
5812	project     string
5813	deployment  string
5814	deployment2 *Deployment
5815	urlParams_  gensupport.URLParams
5816	ctx_        context.Context
5817	header_     http.Header
5818}
5819
5820// Update: Updates a deployment and all of the resources described by
5821// the deployment manifest.
5822func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
5823	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5824	c.project = project
5825	c.deployment = deployment
5826	c.deployment2 = deployment2
5827	return c
5828}
5829
5830// CreatePolicy sets the optional parameter "createPolicy": Sets the
5831// policy to use for creating new resources.
5832//
5833// Possible values:
5834//   "ACQUIRE"
5835//   "CREATE"
5836//   "CREATE_OR_ACQUIRE" (default)
5837func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
5838	c.urlParams_.Set("createPolicy", createPolicy)
5839	return c
5840}
5841
5842// DeletePolicy sets the optional parameter "deletePolicy": Sets the
5843// policy to use for deleting resources.
5844//
5845// Possible values:
5846//   "ABANDON"
5847//   "DELETE" (default)
5848func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
5849	c.urlParams_.Set("deletePolicy", deletePolicy)
5850	return c
5851}
5852
5853// Preview sets the optional parameter "preview": If set to true,
5854// updates the deployment and creates and updates the "shell" resources
5855// but does not actually alter or instantiate these resources. This
5856// allows you to preview what your deployment will look like. You can
5857// use this intent to preview how an update would affect your
5858// deployment. You must provide a target.config with a configuration if
5859// this is set to true. After previewing a deployment, you can deploy
5860// your resources by making a request with the update() or you can
5861// cancelPreview() to remove the preview altogether. Note that the
5862// deployment will still exist after you cancel the preview and you must
5863// separately delete this deployment if you want to remove it.
5864func (c *DeploymentsUpdateCall) Preview(preview bool) *DeploymentsUpdateCall {
5865	c.urlParams_.Set("preview", fmt.Sprint(preview))
5866	return c
5867}
5868
5869// Fields allows partial responses to be retrieved. See
5870// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5871// for more information.
5872func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
5873	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5874	return c
5875}
5876
5877// Context sets the context to be used in this call's Do method. Any
5878// pending HTTP request will be aborted if the provided context is
5879// canceled.
5880func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
5881	c.ctx_ = ctx
5882	return c
5883}
5884
5885// Header returns an http.Header that can be modified by the caller to
5886// add HTTP headers to the request.
5887func (c *DeploymentsUpdateCall) Header() http.Header {
5888	if c.header_ == nil {
5889		c.header_ = make(http.Header)
5890	}
5891	return c.header_
5892}
5893
5894func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
5895	reqHeaders := make(http.Header)
5896	for k, v := range c.header_ {
5897		reqHeaders[k] = v
5898	}
5899	reqHeaders.Set("User-Agent", c.s.userAgent())
5900	var body io.Reader = nil
5901	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
5902	if err != nil {
5903		return nil, err
5904	}
5905	reqHeaders.Set("Content-Type", "application/json")
5906	c.urlParams_.Set("alt", alt)
5907	c.urlParams_.Set("prettyPrint", "false")
5908	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}")
5909	urls += "?" + c.urlParams_.Encode()
5910	req, err := http.NewRequest("PUT", urls, body)
5911	if err != nil {
5912		return nil, err
5913	}
5914	req.Header = reqHeaders
5915	googleapi.Expand(req.URL, map[string]string{
5916		"project":    c.project,
5917		"deployment": c.deployment,
5918	})
5919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5920}
5921
5922// Do executes the "deploymentmanager.deployments.update" call.
5923// Exactly one of *Operation or error will be non-nil. Any non-2xx
5924// status code is an error. Response headers are in either
5925// *Operation.ServerResponse.Header or (if a response was returned at
5926// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5927// to check whether the returned error was because
5928// http.StatusNotModified was returned.
5929func (c *DeploymentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5930	gensupport.SetOptions(c.urlParams_, opts...)
5931	res, err := c.doRequest("json")
5932	if res != nil && res.StatusCode == http.StatusNotModified {
5933		if res.Body != nil {
5934			res.Body.Close()
5935		}
5936		return nil, &googleapi.Error{
5937			Code:   res.StatusCode,
5938			Header: res.Header,
5939		}
5940	}
5941	if err != nil {
5942		return nil, err
5943	}
5944	defer googleapi.CloseBody(res)
5945	if err := googleapi.CheckResponse(res); err != nil {
5946		return nil, err
5947	}
5948	ret := &Operation{
5949		ServerResponse: googleapi.ServerResponse{
5950			Header:         res.Header,
5951			HTTPStatusCode: res.StatusCode,
5952		},
5953	}
5954	target := &ret
5955	if err := gensupport.DecodeResponse(target, res); err != nil {
5956		return nil, err
5957	}
5958	return ret, nil
5959	// {
5960	//   "description": "Updates a deployment and all of the resources described by the deployment manifest.",
5961	//   "httpMethod": "PUT",
5962	//   "id": "deploymentmanager.deployments.update",
5963	//   "parameterOrder": [
5964	//     "project",
5965	//     "deployment"
5966	//   ],
5967	//   "parameters": {
5968	//     "createPolicy": {
5969	//       "default": "CREATE_OR_ACQUIRE",
5970	//       "description": "Sets the policy to use for creating new resources.",
5971	//       "enum": [
5972	//         "ACQUIRE",
5973	//         "CREATE",
5974	//         "CREATE_OR_ACQUIRE"
5975	//       ],
5976	//       "enumDescriptions": [
5977	//         "",
5978	//         "",
5979	//         ""
5980	//       ],
5981	//       "location": "query",
5982	//       "type": "string"
5983	//     },
5984	//     "deletePolicy": {
5985	//       "default": "DELETE",
5986	//       "description": "Sets the policy to use for deleting resources.",
5987	//       "enum": [
5988	//         "ABANDON",
5989	//         "DELETE"
5990	//       ],
5991	//       "enumDescriptions": [
5992	//         "",
5993	//         ""
5994	//       ],
5995	//       "location": "query",
5996	//       "type": "string"
5997	//     },
5998	//     "deployment": {
5999	//       "description": "The name of the deployment for this request.",
6000	//       "location": "path",
6001	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6002	//       "required": true,
6003	//       "type": "string"
6004	//     },
6005	//     "preview": {
6006	//       "default": "false",
6007	//       "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.",
6008	//       "location": "query",
6009	//       "type": "boolean"
6010	//     },
6011	//     "project": {
6012	//       "description": "The project ID for this request.",
6013	//       "location": "path",
6014	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6015	//       "required": true,
6016	//       "type": "string"
6017	//     }
6018	//   },
6019	//   "path": "{project}/global/deployments/{deployment}",
6020	//   "request": {
6021	//     "$ref": "Deployment"
6022	//   },
6023	//   "response": {
6024	//     "$ref": "Operation"
6025	//   },
6026	//   "scopes": [
6027	//     "https://www.googleapis.com/auth/cloud-platform",
6028	//     "https://www.googleapis.com/auth/ndev.cloudman"
6029	//   ]
6030	// }
6031
6032}
6033
6034// method id "deploymentmanager.manifests.get":
6035
6036type ManifestsGetCall struct {
6037	s            *Service
6038	project      string
6039	deployment   string
6040	manifest     string
6041	urlParams_   gensupport.URLParams
6042	ifNoneMatch_ string
6043	ctx_         context.Context
6044	header_      http.Header
6045}
6046
6047// Get: Gets information about a specific manifest.
6048func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
6049	c := &ManifestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6050	c.project = project
6051	c.deployment = deployment
6052	c.manifest = manifest
6053	return c
6054}
6055
6056// Fields allows partial responses to be retrieved. See
6057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6058// for more information.
6059func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
6060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6061	return c
6062}
6063
6064// IfNoneMatch sets the optional parameter which makes the operation
6065// fail if the object's ETag matches the given value. This is useful for
6066// getting updates only after the object has changed since the last
6067// request. Use googleapi.IsNotModified to check whether the response
6068// error from Do is the result of In-None-Match.
6069func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
6070	c.ifNoneMatch_ = entityTag
6071	return c
6072}
6073
6074// Context sets the context to be used in this call's Do method. Any
6075// pending HTTP request will be aborted if the provided context is
6076// canceled.
6077func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
6078	c.ctx_ = ctx
6079	return c
6080}
6081
6082// Header returns an http.Header that can be modified by the caller to
6083// add HTTP headers to the request.
6084func (c *ManifestsGetCall) Header() http.Header {
6085	if c.header_ == nil {
6086		c.header_ = make(http.Header)
6087	}
6088	return c.header_
6089}
6090
6091func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
6092	reqHeaders := make(http.Header)
6093	for k, v := range c.header_ {
6094		reqHeaders[k] = v
6095	}
6096	reqHeaders.Set("User-Agent", c.s.userAgent())
6097	if c.ifNoneMatch_ != "" {
6098		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6099	}
6100	var body io.Reader = nil
6101	c.urlParams_.Set("alt", alt)
6102	c.urlParams_.Set("prettyPrint", "false")
6103	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests/{manifest}")
6104	urls += "?" + c.urlParams_.Encode()
6105	req, err := http.NewRequest("GET", urls, body)
6106	if err != nil {
6107		return nil, err
6108	}
6109	req.Header = reqHeaders
6110	googleapi.Expand(req.URL, map[string]string{
6111		"project":    c.project,
6112		"deployment": c.deployment,
6113		"manifest":   c.manifest,
6114	})
6115	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6116}
6117
6118// Do executes the "deploymentmanager.manifests.get" call.
6119// Exactly one of *Manifest or error will be non-nil. Any non-2xx status
6120// code is an error. Response headers are in either
6121// *Manifest.ServerResponse.Header or (if a response was returned at
6122// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6123// to check whether the returned error was because
6124// http.StatusNotModified was returned.
6125func (c *ManifestsGetCall) Do(opts ...googleapi.CallOption) (*Manifest, error) {
6126	gensupport.SetOptions(c.urlParams_, opts...)
6127	res, err := c.doRequest("json")
6128	if res != nil && res.StatusCode == http.StatusNotModified {
6129		if res.Body != nil {
6130			res.Body.Close()
6131		}
6132		return nil, &googleapi.Error{
6133			Code:   res.StatusCode,
6134			Header: res.Header,
6135		}
6136	}
6137	if err != nil {
6138		return nil, err
6139	}
6140	defer googleapi.CloseBody(res)
6141	if err := googleapi.CheckResponse(res); err != nil {
6142		return nil, err
6143	}
6144	ret := &Manifest{
6145		ServerResponse: googleapi.ServerResponse{
6146			Header:         res.Header,
6147			HTTPStatusCode: res.StatusCode,
6148		},
6149	}
6150	target := &ret
6151	if err := gensupport.DecodeResponse(target, res); err != nil {
6152		return nil, err
6153	}
6154	return ret, nil
6155	// {
6156	//   "description": "Gets information about a specific manifest.",
6157	//   "httpMethod": "GET",
6158	//   "id": "deploymentmanager.manifests.get",
6159	//   "parameterOrder": [
6160	//     "project",
6161	//     "deployment",
6162	//     "manifest"
6163	//   ],
6164	//   "parameters": {
6165	//     "deployment": {
6166	//       "description": "The name of the deployment for this request.",
6167	//       "location": "path",
6168	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6169	//       "required": true,
6170	//       "type": "string"
6171	//     },
6172	//     "manifest": {
6173	//       "description": "The name of the manifest for this request.",
6174	//       "location": "path",
6175	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6176	//       "required": true,
6177	//       "type": "string"
6178	//     },
6179	//     "project": {
6180	//       "description": "The project ID for this request.",
6181	//       "location": "path",
6182	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6183	//       "required": true,
6184	//       "type": "string"
6185	//     }
6186	//   },
6187	//   "path": "{project}/global/deployments/{deployment}/manifests/{manifest}",
6188	//   "response": {
6189	//     "$ref": "Manifest"
6190	//   },
6191	//   "scopes": [
6192	//     "https://www.googleapis.com/auth/cloud-platform",
6193	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6194	//     "https://www.googleapis.com/auth/ndev.cloudman",
6195	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6196	//   ]
6197	// }
6198
6199}
6200
6201// method id "deploymentmanager.manifests.list":
6202
6203type ManifestsListCall struct {
6204	s            *Service
6205	project      string
6206	deployment   string
6207	urlParams_   gensupport.URLParams
6208	ifNoneMatch_ string
6209	ctx_         context.Context
6210	header_      http.Header
6211}
6212
6213// List: Lists all manifests for a given deployment.
6214func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
6215	c := &ManifestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6216	c.project = project
6217	c.deployment = deployment
6218	return c
6219}
6220
6221// Filter sets the optional parameter "filter": A filter expression that
6222// filters resources listed in the response. The expression must specify
6223// the field name, a comparison operator, and the value that you want to
6224// use for filtering. The value must be a string, a number, or a
6225// boolean. The comparison operator must be either =, !=, >, or <.
6226//
6227// For example, if you are filtering Compute Engine instances, you can
6228// exclude instances named example-instance by specifying name !=
6229// example-instance.
6230//
6231// You can also filter nested fields. For example, you could specify
6232// scheduling.automaticRestart = false to include instances only if they
6233// are not scheduled for automatic restarts. You can use filtering on
6234// nested fields to filter based on resource labels.
6235//
6236// To filter on multiple expressions, provide each separate expression
6237// within parentheses. For example, (scheduling.automaticRestart = true)
6238// (cpuPlatform = "Intel Skylake"). By default, each expression is an
6239// AND expression. However, you can include AND and OR expressions
6240// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
6241// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
6242// true).
6243func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
6244	c.urlParams_.Set("filter", filter)
6245	return c
6246}
6247
6248// MaxResults sets the optional parameter "maxResults": The maximum
6249// number of results per page that should be returned. If the number of
6250// available results is larger than maxResults, Compute Engine returns a
6251// nextPageToken that can be used to get the next page of results in
6252// subsequent list requests. Acceptable values are 0 to 500, inclusive.
6253// (Default: 500)
6254func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
6255	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6256	return c
6257}
6258
6259// OrderBy sets the optional parameter "orderBy": Sorts list results by
6260// a certain order. By default, results are returned in alphanumerical
6261// order based on the resource name.
6262//
6263// You can also sort results in descending order based on the creation
6264// timestamp using orderBy="creationTimestamp desc". This sorts results
6265// based on the creationTimestamp field in reverse chronological order
6266// (newest result first). Use this to sort resources like operations so
6267// that the newest operation is returned first.
6268//
6269// Currently, only sorting by name or creationTimestamp desc is
6270// supported.
6271func (c *ManifestsListCall) OrderBy(orderBy string) *ManifestsListCall {
6272	c.urlParams_.Set("orderBy", orderBy)
6273	return c
6274}
6275
6276// PageToken sets the optional parameter "pageToken": Specifies a page
6277// token to use. Set pageToken to the nextPageToken returned by a
6278// previous list request to get the next page of results.
6279func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
6280	c.urlParams_.Set("pageToken", pageToken)
6281	return c
6282}
6283
6284// Fields allows partial responses to be retrieved. See
6285// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6286// for more information.
6287func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
6288	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6289	return c
6290}
6291
6292// IfNoneMatch sets the optional parameter which makes the operation
6293// fail if the object's ETag matches the given value. This is useful for
6294// getting updates only after the object has changed since the last
6295// request. Use googleapi.IsNotModified to check whether the response
6296// error from Do is the result of In-None-Match.
6297func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
6298	c.ifNoneMatch_ = entityTag
6299	return c
6300}
6301
6302// Context sets the context to be used in this call's Do method. Any
6303// pending HTTP request will be aborted if the provided context is
6304// canceled.
6305func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
6306	c.ctx_ = ctx
6307	return c
6308}
6309
6310// Header returns an http.Header that can be modified by the caller to
6311// add HTTP headers to the request.
6312func (c *ManifestsListCall) Header() http.Header {
6313	if c.header_ == nil {
6314		c.header_ = make(http.Header)
6315	}
6316	return c.header_
6317}
6318
6319func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
6320	reqHeaders := make(http.Header)
6321	for k, v := range c.header_ {
6322		reqHeaders[k] = v
6323	}
6324	reqHeaders.Set("User-Agent", c.s.userAgent())
6325	if c.ifNoneMatch_ != "" {
6326		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6327	}
6328	var body io.Reader = nil
6329	c.urlParams_.Set("alt", alt)
6330	c.urlParams_.Set("prettyPrint", "false")
6331	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/manifests")
6332	urls += "?" + c.urlParams_.Encode()
6333	req, err := http.NewRequest("GET", urls, body)
6334	if err != nil {
6335		return nil, err
6336	}
6337	req.Header = reqHeaders
6338	googleapi.Expand(req.URL, map[string]string{
6339		"project":    c.project,
6340		"deployment": c.deployment,
6341	})
6342	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6343}
6344
6345// Do executes the "deploymentmanager.manifests.list" call.
6346// Exactly one of *ManifestsListResponse or error will be non-nil. Any
6347// non-2xx status code is an error. Response headers are in either
6348// *ManifestsListResponse.ServerResponse.Header or (if a response was
6349// returned at all) in error.(*googleapi.Error).Header. Use
6350// googleapi.IsNotModified to check whether the returned error was
6351// because http.StatusNotModified was returned.
6352func (c *ManifestsListCall) Do(opts ...googleapi.CallOption) (*ManifestsListResponse, error) {
6353	gensupport.SetOptions(c.urlParams_, opts...)
6354	res, err := c.doRequest("json")
6355	if res != nil && res.StatusCode == http.StatusNotModified {
6356		if res.Body != nil {
6357			res.Body.Close()
6358		}
6359		return nil, &googleapi.Error{
6360			Code:   res.StatusCode,
6361			Header: res.Header,
6362		}
6363	}
6364	if err != nil {
6365		return nil, err
6366	}
6367	defer googleapi.CloseBody(res)
6368	if err := googleapi.CheckResponse(res); err != nil {
6369		return nil, err
6370	}
6371	ret := &ManifestsListResponse{
6372		ServerResponse: googleapi.ServerResponse{
6373			Header:         res.Header,
6374			HTTPStatusCode: res.StatusCode,
6375		},
6376	}
6377	target := &ret
6378	if err := gensupport.DecodeResponse(target, res); err != nil {
6379		return nil, err
6380	}
6381	return ret, nil
6382	// {
6383	//   "description": "Lists all manifests for a given deployment.",
6384	//   "httpMethod": "GET",
6385	//   "id": "deploymentmanager.manifests.list",
6386	//   "parameterOrder": [
6387	//     "project",
6388	//     "deployment"
6389	//   ],
6390	//   "parameters": {
6391	//     "deployment": {
6392	//       "description": "The name of the deployment for this request.",
6393	//       "location": "path",
6394	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6395	//       "required": true,
6396	//       "type": "string"
6397	//     },
6398	//     "filter": {
6399	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
6400	//       "location": "query",
6401	//       "type": "string"
6402	//     },
6403	//     "maxResults": {
6404	//       "default": "500",
6405	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
6406	//       "format": "uint32",
6407	//       "location": "query",
6408	//       "minimum": "0",
6409	//       "type": "integer"
6410	//     },
6411	//     "orderBy": {
6412	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
6413	//       "location": "query",
6414	//       "type": "string"
6415	//     },
6416	//     "pageToken": {
6417	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
6418	//       "location": "query",
6419	//       "type": "string"
6420	//     },
6421	//     "project": {
6422	//       "description": "The project ID for this request.",
6423	//       "location": "path",
6424	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6425	//       "required": true,
6426	//       "type": "string"
6427	//     }
6428	//   },
6429	//   "path": "{project}/global/deployments/{deployment}/manifests",
6430	//   "response": {
6431	//     "$ref": "ManifestsListResponse"
6432	//   },
6433	//   "scopes": [
6434	//     "https://www.googleapis.com/auth/cloud-platform",
6435	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6436	//     "https://www.googleapis.com/auth/ndev.cloudman",
6437	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6438	//   ]
6439	// }
6440
6441}
6442
6443// Pages invokes f for each page of results.
6444// A non-nil error returned from f will halt the iteration.
6445// The provided context supersedes any context provided to the Context method.
6446func (c *ManifestsListCall) Pages(ctx context.Context, f func(*ManifestsListResponse) error) error {
6447	c.ctx_ = ctx
6448	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6449	for {
6450		x, err := c.Do()
6451		if err != nil {
6452			return err
6453		}
6454		if err := f(x); err != nil {
6455			return err
6456		}
6457		if x.NextPageToken == "" {
6458			return nil
6459		}
6460		c.PageToken(x.NextPageToken)
6461	}
6462}
6463
6464// method id "deploymentmanager.operations.get":
6465
6466type OperationsGetCall struct {
6467	s            *Service
6468	project      string
6469	operation    string
6470	urlParams_   gensupport.URLParams
6471	ifNoneMatch_ string
6472	ctx_         context.Context
6473	header_      http.Header
6474}
6475
6476// Get: Gets information about a specific operation.
6477func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
6478	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6479	c.project = project
6480	c.operation = operation
6481	return c
6482}
6483
6484// Fields allows partial responses to be retrieved. See
6485// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6486// for more information.
6487func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
6488	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6489	return c
6490}
6491
6492// IfNoneMatch sets the optional parameter which makes the operation
6493// fail if the object's ETag matches the given value. This is useful for
6494// getting updates only after the object has changed since the last
6495// request. Use googleapi.IsNotModified to check whether the response
6496// error from Do is the result of In-None-Match.
6497func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
6498	c.ifNoneMatch_ = entityTag
6499	return c
6500}
6501
6502// Context sets the context to be used in this call's Do method. Any
6503// pending HTTP request will be aborted if the provided context is
6504// canceled.
6505func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
6506	c.ctx_ = ctx
6507	return c
6508}
6509
6510// Header returns an http.Header that can be modified by the caller to
6511// add HTTP headers to the request.
6512func (c *OperationsGetCall) Header() http.Header {
6513	if c.header_ == nil {
6514		c.header_ = make(http.Header)
6515	}
6516	return c.header_
6517}
6518
6519func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
6520	reqHeaders := make(http.Header)
6521	for k, v := range c.header_ {
6522		reqHeaders[k] = v
6523	}
6524	reqHeaders.Set("User-Agent", c.s.userAgent())
6525	if c.ifNoneMatch_ != "" {
6526		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6527	}
6528	var body io.Reader = nil
6529	c.urlParams_.Set("alt", alt)
6530	c.urlParams_.Set("prettyPrint", "false")
6531	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
6532	urls += "?" + c.urlParams_.Encode()
6533	req, err := http.NewRequest("GET", urls, body)
6534	if err != nil {
6535		return nil, err
6536	}
6537	req.Header = reqHeaders
6538	googleapi.Expand(req.URL, map[string]string{
6539		"project":   c.project,
6540		"operation": c.operation,
6541	})
6542	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6543}
6544
6545// Do executes the "deploymentmanager.operations.get" call.
6546// Exactly one of *Operation or error will be non-nil. Any non-2xx
6547// status code is an error. Response headers are in either
6548// *Operation.ServerResponse.Header or (if a response was returned at
6549// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6550// to check whether the returned error was because
6551// http.StatusNotModified was returned.
6552func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6553	gensupport.SetOptions(c.urlParams_, opts...)
6554	res, err := c.doRequest("json")
6555	if res != nil && res.StatusCode == http.StatusNotModified {
6556		if res.Body != nil {
6557			res.Body.Close()
6558		}
6559		return nil, &googleapi.Error{
6560			Code:   res.StatusCode,
6561			Header: res.Header,
6562		}
6563	}
6564	if err != nil {
6565		return nil, err
6566	}
6567	defer googleapi.CloseBody(res)
6568	if err := googleapi.CheckResponse(res); err != nil {
6569		return nil, err
6570	}
6571	ret := &Operation{
6572		ServerResponse: googleapi.ServerResponse{
6573			Header:         res.Header,
6574			HTTPStatusCode: res.StatusCode,
6575		},
6576	}
6577	target := &ret
6578	if err := gensupport.DecodeResponse(target, res); err != nil {
6579		return nil, err
6580	}
6581	return ret, nil
6582	// {
6583	//   "description": "Gets information about a specific operation.",
6584	//   "httpMethod": "GET",
6585	//   "id": "deploymentmanager.operations.get",
6586	//   "parameterOrder": [
6587	//     "project",
6588	//     "operation"
6589	//   ],
6590	//   "parameters": {
6591	//     "operation": {
6592	//       "description": "The name of the operation for this request.",
6593	//       "location": "path",
6594	//       "required": true,
6595	//       "type": "string"
6596	//     },
6597	//     "project": {
6598	//       "description": "The project ID for this request.",
6599	//       "location": "path",
6600	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6601	//       "required": true,
6602	//       "type": "string"
6603	//     }
6604	//   },
6605	//   "path": "{project}/global/operations/{operation}",
6606	//   "response": {
6607	//     "$ref": "Operation"
6608	//   },
6609	//   "scopes": [
6610	//     "https://www.googleapis.com/auth/cloud-platform",
6611	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6612	//     "https://www.googleapis.com/auth/ndev.cloudman",
6613	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6614	//   ]
6615	// }
6616
6617}
6618
6619// method id "deploymentmanager.operations.list":
6620
6621type OperationsListCall struct {
6622	s            *Service
6623	project      string
6624	urlParams_   gensupport.URLParams
6625	ifNoneMatch_ string
6626	ctx_         context.Context
6627	header_      http.Header
6628}
6629
6630// List: Lists all operations for a project.
6631func (r *OperationsService) List(project string) *OperationsListCall {
6632	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6633	c.project = project
6634	return c
6635}
6636
6637// Filter sets the optional parameter "filter": A filter expression that
6638// filters resources listed in the response. The expression must specify
6639// the field name, a comparison operator, and the value that you want to
6640// use for filtering. The value must be a string, a number, or a
6641// boolean. The comparison operator must be either =, !=, >, or <.
6642//
6643// For example, if you are filtering Compute Engine instances, you can
6644// exclude instances named example-instance by specifying name !=
6645// example-instance.
6646//
6647// You can also filter nested fields. For example, you could specify
6648// scheduling.automaticRestart = false to include instances only if they
6649// are not scheduled for automatic restarts. You can use filtering on
6650// nested fields to filter based on resource labels.
6651//
6652// To filter on multiple expressions, provide each separate expression
6653// within parentheses. For example, (scheduling.automaticRestart = true)
6654// (cpuPlatform = "Intel Skylake"). By default, each expression is an
6655// AND expression. However, you can include AND and OR expressions
6656// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
6657// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
6658// true).
6659func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
6660	c.urlParams_.Set("filter", filter)
6661	return c
6662}
6663
6664// MaxResults sets the optional parameter "maxResults": The maximum
6665// number of results per page that should be returned. If the number of
6666// available results is larger than maxResults, Compute Engine returns a
6667// nextPageToken that can be used to get the next page of results in
6668// subsequent list requests. Acceptable values are 0 to 500, inclusive.
6669// (Default: 500)
6670func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
6671	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6672	return c
6673}
6674
6675// OrderBy sets the optional parameter "orderBy": Sorts list results by
6676// a certain order. By default, results are returned in alphanumerical
6677// order based on the resource name.
6678//
6679// You can also sort results in descending order based on the creation
6680// timestamp using orderBy="creationTimestamp desc". This sorts results
6681// based on the creationTimestamp field in reverse chronological order
6682// (newest result first). Use this to sort resources like operations so
6683// that the newest operation is returned first.
6684//
6685// Currently, only sorting by name or creationTimestamp desc is
6686// supported.
6687func (c *OperationsListCall) OrderBy(orderBy string) *OperationsListCall {
6688	c.urlParams_.Set("orderBy", orderBy)
6689	return c
6690}
6691
6692// PageToken sets the optional parameter "pageToken": Specifies a page
6693// token to use. Set pageToken to the nextPageToken returned by a
6694// previous list request to get the next page of results.
6695func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
6696	c.urlParams_.Set("pageToken", pageToken)
6697	return c
6698}
6699
6700// Fields allows partial responses to be retrieved. See
6701// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6702// for more information.
6703func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
6704	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6705	return c
6706}
6707
6708// IfNoneMatch sets the optional parameter which makes the operation
6709// fail if the object's ETag matches the given value. This is useful for
6710// getting updates only after the object has changed since the last
6711// request. Use googleapi.IsNotModified to check whether the response
6712// error from Do is the result of In-None-Match.
6713func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
6714	c.ifNoneMatch_ = entityTag
6715	return c
6716}
6717
6718// Context sets the context to be used in this call's Do method. Any
6719// pending HTTP request will be aborted if the provided context is
6720// canceled.
6721func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
6722	c.ctx_ = ctx
6723	return c
6724}
6725
6726// Header returns an http.Header that can be modified by the caller to
6727// add HTTP headers to the request.
6728func (c *OperationsListCall) Header() http.Header {
6729	if c.header_ == nil {
6730		c.header_ = make(http.Header)
6731	}
6732	return c.header_
6733}
6734
6735func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
6736	reqHeaders := make(http.Header)
6737	for k, v := range c.header_ {
6738		reqHeaders[k] = v
6739	}
6740	reqHeaders.Set("User-Agent", c.s.userAgent())
6741	if c.ifNoneMatch_ != "" {
6742		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6743	}
6744	var body io.Reader = nil
6745	c.urlParams_.Set("alt", alt)
6746	c.urlParams_.Set("prettyPrint", "false")
6747	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
6748	urls += "?" + c.urlParams_.Encode()
6749	req, err := http.NewRequest("GET", urls, body)
6750	if err != nil {
6751		return nil, err
6752	}
6753	req.Header = reqHeaders
6754	googleapi.Expand(req.URL, map[string]string{
6755		"project": c.project,
6756	})
6757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6758}
6759
6760// Do executes the "deploymentmanager.operations.list" call.
6761// Exactly one of *OperationsListResponse or error will be non-nil. Any
6762// non-2xx status code is an error. Response headers are in either
6763// *OperationsListResponse.ServerResponse.Header or (if a response was
6764// returned at all) in error.(*googleapi.Error).Header. Use
6765// googleapi.IsNotModified to check whether the returned error was
6766// because http.StatusNotModified was returned.
6767func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*OperationsListResponse, error) {
6768	gensupport.SetOptions(c.urlParams_, opts...)
6769	res, err := c.doRequest("json")
6770	if res != nil && res.StatusCode == http.StatusNotModified {
6771		if res.Body != nil {
6772			res.Body.Close()
6773		}
6774		return nil, &googleapi.Error{
6775			Code:   res.StatusCode,
6776			Header: res.Header,
6777		}
6778	}
6779	if err != nil {
6780		return nil, err
6781	}
6782	defer googleapi.CloseBody(res)
6783	if err := googleapi.CheckResponse(res); err != nil {
6784		return nil, err
6785	}
6786	ret := &OperationsListResponse{
6787		ServerResponse: googleapi.ServerResponse{
6788			Header:         res.Header,
6789			HTTPStatusCode: res.StatusCode,
6790		},
6791	}
6792	target := &ret
6793	if err := gensupport.DecodeResponse(target, res); err != nil {
6794		return nil, err
6795	}
6796	return ret, nil
6797	// {
6798	//   "description": "Lists all operations for a project.",
6799	//   "httpMethod": "GET",
6800	//   "id": "deploymentmanager.operations.list",
6801	//   "parameterOrder": [
6802	//     "project"
6803	//   ],
6804	//   "parameters": {
6805	//     "filter": {
6806	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
6807	//       "location": "query",
6808	//       "type": "string"
6809	//     },
6810	//     "maxResults": {
6811	//       "default": "500",
6812	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
6813	//       "format": "uint32",
6814	//       "location": "query",
6815	//       "minimum": "0",
6816	//       "type": "integer"
6817	//     },
6818	//     "orderBy": {
6819	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
6820	//       "location": "query",
6821	//       "type": "string"
6822	//     },
6823	//     "pageToken": {
6824	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
6825	//       "location": "query",
6826	//       "type": "string"
6827	//     },
6828	//     "project": {
6829	//       "description": "The project ID for this request.",
6830	//       "location": "path",
6831	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
6832	//       "required": true,
6833	//       "type": "string"
6834	//     }
6835	//   },
6836	//   "path": "{project}/global/operations",
6837	//   "response": {
6838	//     "$ref": "OperationsListResponse"
6839	//   },
6840	//   "scopes": [
6841	//     "https://www.googleapis.com/auth/cloud-platform",
6842	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6843	//     "https://www.googleapis.com/auth/ndev.cloudman",
6844	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6845	//   ]
6846	// }
6847
6848}
6849
6850// Pages invokes f for each page of results.
6851// A non-nil error returned from f will halt the iteration.
6852// The provided context supersedes any context provided to the Context method.
6853func (c *OperationsListCall) Pages(ctx context.Context, f func(*OperationsListResponse) error) error {
6854	c.ctx_ = ctx
6855	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6856	for {
6857		x, err := c.Do()
6858		if err != nil {
6859			return err
6860		}
6861		if err := f(x); err != nil {
6862			return err
6863		}
6864		if x.NextPageToken == "" {
6865			return nil
6866		}
6867		c.PageToken(x.NextPageToken)
6868	}
6869}
6870
6871// method id "deploymentmanager.resources.get":
6872
6873type ResourcesGetCall struct {
6874	s            *Service
6875	project      string
6876	deployment   string
6877	resource     string
6878	urlParams_   gensupport.URLParams
6879	ifNoneMatch_ string
6880	ctx_         context.Context
6881	header_      http.Header
6882}
6883
6884// Get: Gets information about a single resource.
6885func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
6886	c := &ResourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6887	c.project = project
6888	c.deployment = deployment
6889	c.resource = resource
6890	return c
6891}
6892
6893// Fields allows partial responses to be retrieved. See
6894// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6895// for more information.
6896func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
6897	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6898	return c
6899}
6900
6901// IfNoneMatch sets the optional parameter which makes the operation
6902// fail if the object's ETag matches the given value. This is useful for
6903// getting updates only after the object has changed since the last
6904// request. Use googleapi.IsNotModified to check whether the response
6905// error from Do is the result of In-None-Match.
6906func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
6907	c.ifNoneMatch_ = entityTag
6908	return c
6909}
6910
6911// Context sets the context to be used in this call's Do method. Any
6912// pending HTTP request will be aborted if the provided context is
6913// canceled.
6914func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
6915	c.ctx_ = ctx
6916	return c
6917}
6918
6919// Header returns an http.Header that can be modified by the caller to
6920// add HTTP headers to the request.
6921func (c *ResourcesGetCall) Header() http.Header {
6922	if c.header_ == nil {
6923		c.header_ = make(http.Header)
6924	}
6925	return c.header_
6926}
6927
6928func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
6929	reqHeaders := make(http.Header)
6930	for k, v := range c.header_ {
6931		reqHeaders[k] = v
6932	}
6933	reqHeaders.Set("User-Agent", c.s.userAgent())
6934	if c.ifNoneMatch_ != "" {
6935		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6936	}
6937	var body io.Reader = nil
6938	c.urlParams_.Set("alt", alt)
6939	c.urlParams_.Set("prettyPrint", "false")
6940	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources/{resource}")
6941	urls += "?" + c.urlParams_.Encode()
6942	req, err := http.NewRequest("GET", urls, body)
6943	if err != nil {
6944		return nil, err
6945	}
6946	req.Header = reqHeaders
6947	googleapi.Expand(req.URL, map[string]string{
6948		"project":    c.project,
6949		"deployment": c.deployment,
6950		"resource":   c.resource,
6951	})
6952	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6953}
6954
6955// Do executes the "deploymentmanager.resources.get" call.
6956// Exactly one of *Resource or error will be non-nil. Any non-2xx status
6957// code is an error. Response headers are in either
6958// *Resource.ServerResponse.Header or (if a response was returned at
6959// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6960// to check whether the returned error was because
6961// http.StatusNotModified was returned.
6962func (c *ResourcesGetCall) Do(opts ...googleapi.CallOption) (*Resource, error) {
6963	gensupport.SetOptions(c.urlParams_, opts...)
6964	res, err := c.doRequest("json")
6965	if res != nil && res.StatusCode == http.StatusNotModified {
6966		if res.Body != nil {
6967			res.Body.Close()
6968		}
6969		return nil, &googleapi.Error{
6970			Code:   res.StatusCode,
6971			Header: res.Header,
6972		}
6973	}
6974	if err != nil {
6975		return nil, err
6976	}
6977	defer googleapi.CloseBody(res)
6978	if err := googleapi.CheckResponse(res); err != nil {
6979		return nil, err
6980	}
6981	ret := &Resource{
6982		ServerResponse: googleapi.ServerResponse{
6983			Header:         res.Header,
6984			HTTPStatusCode: res.StatusCode,
6985		},
6986	}
6987	target := &ret
6988	if err := gensupport.DecodeResponse(target, res); err != nil {
6989		return nil, err
6990	}
6991	return ret, nil
6992	// {
6993	//   "description": "Gets information about a single resource.",
6994	//   "httpMethod": "GET",
6995	//   "id": "deploymentmanager.resources.get",
6996	//   "parameterOrder": [
6997	//     "project",
6998	//     "deployment",
6999	//     "resource"
7000	//   ],
7001	//   "parameters": {
7002	//     "deployment": {
7003	//       "description": "The name of the deployment for this request.",
7004	//       "location": "path",
7005	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7006	//       "required": true,
7007	//       "type": "string"
7008	//     },
7009	//     "project": {
7010	//       "description": "The project ID for this request.",
7011	//       "location": "path",
7012	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7013	//       "required": true,
7014	//       "type": "string"
7015	//     },
7016	//     "resource": {
7017	//       "description": "The name of the resource for this request.",
7018	//       "location": "path",
7019	//       "required": true,
7020	//       "type": "string"
7021	//     }
7022	//   },
7023	//   "path": "{project}/global/deployments/{deployment}/resources/{resource}",
7024	//   "response": {
7025	//     "$ref": "Resource"
7026	//   },
7027	//   "scopes": [
7028	//     "https://www.googleapis.com/auth/cloud-platform",
7029	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7030	//     "https://www.googleapis.com/auth/ndev.cloudman",
7031	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7032	//   ]
7033	// }
7034
7035}
7036
7037// method id "deploymentmanager.resources.list":
7038
7039type ResourcesListCall struct {
7040	s            *Service
7041	project      string
7042	deployment   string
7043	urlParams_   gensupport.URLParams
7044	ifNoneMatch_ string
7045	ctx_         context.Context
7046	header_      http.Header
7047}
7048
7049// List: Lists all resources in a given deployment.
7050func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
7051	c := &ResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7052	c.project = project
7053	c.deployment = deployment
7054	return c
7055}
7056
7057// Filter sets the optional parameter "filter": A filter expression that
7058// filters resources listed in the response. The expression must specify
7059// the field name, a comparison operator, and the value that you want to
7060// use for filtering. The value must be a string, a number, or a
7061// boolean. The comparison operator must be either =, !=, >, or <.
7062//
7063// For example, if you are filtering Compute Engine instances, you can
7064// exclude instances named example-instance by specifying name !=
7065// example-instance.
7066//
7067// You can also filter nested fields. For example, you could specify
7068// scheduling.automaticRestart = false to include instances only if they
7069// are not scheduled for automatic restarts. You can use filtering on
7070// nested fields to filter based on resource labels.
7071//
7072// To filter on multiple expressions, provide each separate expression
7073// within parentheses. For example, (scheduling.automaticRestart = true)
7074// (cpuPlatform = "Intel Skylake"). By default, each expression is an
7075// AND expression. However, you can include AND and OR expressions
7076// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
7077// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
7078// true).
7079func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
7080	c.urlParams_.Set("filter", filter)
7081	return c
7082}
7083
7084// MaxResults sets the optional parameter "maxResults": The maximum
7085// number of results per page that should be returned. If the number of
7086// available results is larger than maxResults, Compute Engine returns a
7087// nextPageToken that can be used to get the next page of results in
7088// subsequent list requests. Acceptable values are 0 to 500, inclusive.
7089// (Default: 500)
7090func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
7091	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7092	return c
7093}
7094
7095// OrderBy sets the optional parameter "orderBy": Sorts list results by
7096// a certain order. By default, results are returned in alphanumerical
7097// order based on the resource name.
7098//
7099// You can also sort results in descending order based on the creation
7100// timestamp using orderBy="creationTimestamp desc". This sorts results
7101// based on the creationTimestamp field in reverse chronological order
7102// (newest result first). Use this to sort resources like operations so
7103// that the newest operation is returned first.
7104//
7105// Currently, only sorting by name or creationTimestamp desc is
7106// supported.
7107func (c *ResourcesListCall) OrderBy(orderBy string) *ResourcesListCall {
7108	c.urlParams_.Set("orderBy", orderBy)
7109	return c
7110}
7111
7112// PageToken sets the optional parameter "pageToken": Specifies a page
7113// token to use. Set pageToken to the nextPageToken returned by a
7114// previous list request to get the next page of results.
7115func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
7116	c.urlParams_.Set("pageToken", pageToken)
7117	return c
7118}
7119
7120// Fields allows partial responses to be retrieved. See
7121// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7122// for more information.
7123func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
7124	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7125	return c
7126}
7127
7128// IfNoneMatch sets the optional parameter which makes the operation
7129// fail if the object's ETag matches the given value. This is useful for
7130// getting updates only after the object has changed since the last
7131// request. Use googleapi.IsNotModified to check whether the response
7132// error from Do is the result of In-None-Match.
7133func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
7134	c.ifNoneMatch_ = entityTag
7135	return c
7136}
7137
7138// Context sets the context to be used in this call's Do method. Any
7139// pending HTTP request will be aborted if the provided context is
7140// canceled.
7141func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
7142	c.ctx_ = ctx
7143	return c
7144}
7145
7146// Header returns an http.Header that can be modified by the caller to
7147// add HTTP headers to the request.
7148func (c *ResourcesListCall) Header() http.Header {
7149	if c.header_ == nil {
7150		c.header_ = make(http.Header)
7151	}
7152	return c.header_
7153}
7154
7155func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
7156	reqHeaders := make(http.Header)
7157	for k, v := range c.header_ {
7158		reqHeaders[k] = v
7159	}
7160	reqHeaders.Set("User-Agent", c.s.userAgent())
7161	if c.ifNoneMatch_ != "" {
7162		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7163	}
7164	var body io.Reader = nil
7165	c.urlParams_.Set("alt", alt)
7166	c.urlParams_.Set("prettyPrint", "false")
7167	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/deployments/{deployment}/resources")
7168	urls += "?" + c.urlParams_.Encode()
7169	req, err := http.NewRequest("GET", urls, body)
7170	if err != nil {
7171		return nil, err
7172	}
7173	req.Header = reqHeaders
7174	googleapi.Expand(req.URL, map[string]string{
7175		"project":    c.project,
7176		"deployment": c.deployment,
7177	})
7178	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7179}
7180
7181// Do executes the "deploymentmanager.resources.list" call.
7182// Exactly one of *ResourcesListResponse or error will be non-nil. Any
7183// non-2xx status code is an error. Response headers are in either
7184// *ResourcesListResponse.ServerResponse.Header or (if a response was
7185// returned at all) in error.(*googleapi.Error).Header. Use
7186// googleapi.IsNotModified to check whether the returned error was
7187// because http.StatusNotModified was returned.
7188func (c *ResourcesListCall) Do(opts ...googleapi.CallOption) (*ResourcesListResponse, error) {
7189	gensupport.SetOptions(c.urlParams_, opts...)
7190	res, err := c.doRequest("json")
7191	if res != nil && res.StatusCode == http.StatusNotModified {
7192		if res.Body != nil {
7193			res.Body.Close()
7194		}
7195		return nil, &googleapi.Error{
7196			Code:   res.StatusCode,
7197			Header: res.Header,
7198		}
7199	}
7200	if err != nil {
7201		return nil, err
7202	}
7203	defer googleapi.CloseBody(res)
7204	if err := googleapi.CheckResponse(res); err != nil {
7205		return nil, err
7206	}
7207	ret := &ResourcesListResponse{
7208		ServerResponse: googleapi.ServerResponse{
7209			Header:         res.Header,
7210			HTTPStatusCode: res.StatusCode,
7211		},
7212	}
7213	target := &ret
7214	if err := gensupport.DecodeResponse(target, res); err != nil {
7215		return nil, err
7216	}
7217	return ret, nil
7218	// {
7219	//   "description": "Lists all resources in a given deployment.",
7220	//   "httpMethod": "GET",
7221	//   "id": "deploymentmanager.resources.list",
7222	//   "parameterOrder": [
7223	//     "project",
7224	//     "deployment"
7225	//   ],
7226	//   "parameters": {
7227	//     "deployment": {
7228	//       "description": "The name of the deployment for this request.",
7229	//       "location": "path",
7230	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7231	//       "required": true,
7232	//       "type": "string"
7233	//     },
7234	//     "filter": {
7235	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
7236	//       "location": "query",
7237	//       "type": "string"
7238	//     },
7239	//     "maxResults": {
7240	//       "default": "500",
7241	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
7242	//       "format": "uint32",
7243	//       "location": "query",
7244	//       "minimum": "0",
7245	//       "type": "integer"
7246	//     },
7247	//     "orderBy": {
7248	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
7249	//       "location": "query",
7250	//       "type": "string"
7251	//     },
7252	//     "pageToken": {
7253	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
7254	//       "location": "query",
7255	//       "type": "string"
7256	//     },
7257	//     "project": {
7258	//       "description": "The project ID for this request.",
7259	//       "location": "path",
7260	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7261	//       "required": true,
7262	//       "type": "string"
7263	//     }
7264	//   },
7265	//   "path": "{project}/global/deployments/{deployment}/resources",
7266	//   "response": {
7267	//     "$ref": "ResourcesListResponse"
7268	//   },
7269	//   "scopes": [
7270	//     "https://www.googleapis.com/auth/cloud-platform",
7271	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7272	//     "https://www.googleapis.com/auth/ndev.cloudman",
7273	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7274	//   ]
7275	// }
7276
7277}
7278
7279// Pages invokes f for each page of results.
7280// A non-nil error returned from f will halt the iteration.
7281// The provided context supersedes any context provided to the Context method.
7282func (c *ResourcesListCall) Pages(ctx context.Context, f func(*ResourcesListResponse) error) error {
7283	c.ctx_ = ctx
7284	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7285	for {
7286		x, err := c.Do()
7287		if err != nil {
7288			return err
7289		}
7290		if err := f(x); err != nil {
7291			return err
7292		}
7293		if x.NextPageToken == "" {
7294			return nil
7295		}
7296		c.PageToken(x.NextPageToken)
7297	}
7298}
7299
7300// method id "deploymentmanager.typeProviders.delete":
7301
7302type TypeProvidersDeleteCall struct {
7303	s            *Service
7304	project      string
7305	typeProvider string
7306	urlParams_   gensupport.URLParams
7307	ctx_         context.Context
7308	header_      http.Header
7309}
7310
7311// Delete: Deletes a type provider.
7312func (r *TypeProvidersService) Delete(project string, typeProvider string) *TypeProvidersDeleteCall {
7313	c := &TypeProvidersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7314	c.project = project
7315	c.typeProvider = typeProvider
7316	return c
7317}
7318
7319// Fields allows partial responses to be retrieved. See
7320// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7321// for more information.
7322func (c *TypeProvidersDeleteCall) Fields(s ...googleapi.Field) *TypeProvidersDeleteCall {
7323	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7324	return c
7325}
7326
7327// Context sets the context to be used in this call's Do method. Any
7328// pending HTTP request will be aborted if the provided context is
7329// canceled.
7330func (c *TypeProvidersDeleteCall) Context(ctx context.Context) *TypeProvidersDeleteCall {
7331	c.ctx_ = ctx
7332	return c
7333}
7334
7335// Header returns an http.Header that can be modified by the caller to
7336// add HTTP headers to the request.
7337func (c *TypeProvidersDeleteCall) Header() http.Header {
7338	if c.header_ == nil {
7339		c.header_ = make(http.Header)
7340	}
7341	return c.header_
7342}
7343
7344func (c *TypeProvidersDeleteCall) doRequest(alt string) (*http.Response, error) {
7345	reqHeaders := make(http.Header)
7346	for k, v := range c.header_ {
7347		reqHeaders[k] = v
7348	}
7349	reqHeaders.Set("User-Agent", c.s.userAgent())
7350	var body io.Reader = nil
7351	c.urlParams_.Set("alt", alt)
7352	c.urlParams_.Set("prettyPrint", "false")
7353	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}")
7354	urls += "?" + c.urlParams_.Encode()
7355	req, err := http.NewRequest("DELETE", urls, body)
7356	if err != nil {
7357		return nil, err
7358	}
7359	req.Header = reqHeaders
7360	googleapi.Expand(req.URL, map[string]string{
7361		"project":      c.project,
7362		"typeProvider": c.typeProvider,
7363	})
7364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7365}
7366
7367// Do executes the "deploymentmanager.typeProviders.delete" call.
7368// Exactly one of *Operation or error will be non-nil. Any non-2xx
7369// status code is an error. Response headers are in either
7370// *Operation.ServerResponse.Header or (if a response was returned at
7371// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7372// to check whether the returned error was because
7373// http.StatusNotModified was returned.
7374func (c *TypeProvidersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7375	gensupport.SetOptions(c.urlParams_, opts...)
7376	res, err := c.doRequest("json")
7377	if res != nil && res.StatusCode == http.StatusNotModified {
7378		if res.Body != nil {
7379			res.Body.Close()
7380		}
7381		return nil, &googleapi.Error{
7382			Code:   res.StatusCode,
7383			Header: res.Header,
7384		}
7385	}
7386	if err != nil {
7387		return nil, err
7388	}
7389	defer googleapi.CloseBody(res)
7390	if err := googleapi.CheckResponse(res); err != nil {
7391		return nil, err
7392	}
7393	ret := &Operation{
7394		ServerResponse: googleapi.ServerResponse{
7395			Header:         res.Header,
7396			HTTPStatusCode: res.StatusCode,
7397		},
7398	}
7399	target := &ret
7400	if err := gensupport.DecodeResponse(target, res); err != nil {
7401		return nil, err
7402	}
7403	return ret, nil
7404	// {
7405	//   "description": "Deletes a type provider.",
7406	//   "httpMethod": "DELETE",
7407	//   "id": "deploymentmanager.typeProviders.delete",
7408	//   "parameterOrder": [
7409	//     "project",
7410	//     "typeProvider"
7411	//   ],
7412	//   "parameters": {
7413	//     "project": {
7414	//       "description": "The project ID for this request.",
7415	//       "location": "path",
7416	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7417	//       "required": true,
7418	//       "type": "string"
7419	//     },
7420	//     "typeProvider": {
7421	//       "description": "The name of the type provider for this request.",
7422	//       "location": "path",
7423	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7424	//       "required": true,
7425	//       "type": "string"
7426	//     }
7427	//   },
7428	//   "path": "{project}/global/typeProviders/{typeProvider}",
7429	//   "response": {
7430	//     "$ref": "Operation"
7431	//   },
7432	//   "scopes": [
7433	//     "https://www.googleapis.com/auth/cloud-platform",
7434	//     "https://www.googleapis.com/auth/ndev.cloudman"
7435	//   ]
7436	// }
7437
7438}
7439
7440// method id "deploymentmanager.typeProviders.get":
7441
7442type TypeProvidersGetCall struct {
7443	s            *Service
7444	project      string
7445	typeProvider string
7446	urlParams_   gensupport.URLParams
7447	ifNoneMatch_ string
7448	ctx_         context.Context
7449	header_      http.Header
7450}
7451
7452// Get: Gets information about a specific type provider.
7453func (r *TypeProvidersService) Get(project string, typeProvider string) *TypeProvidersGetCall {
7454	c := &TypeProvidersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7455	c.project = project
7456	c.typeProvider = typeProvider
7457	return c
7458}
7459
7460// Fields allows partial responses to be retrieved. See
7461// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7462// for more information.
7463func (c *TypeProvidersGetCall) Fields(s ...googleapi.Field) *TypeProvidersGetCall {
7464	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7465	return c
7466}
7467
7468// IfNoneMatch sets the optional parameter which makes the operation
7469// fail if the object's ETag matches the given value. This is useful for
7470// getting updates only after the object has changed since the last
7471// request. Use googleapi.IsNotModified to check whether the response
7472// error from Do is the result of In-None-Match.
7473func (c *TypeProvidersGetCall) IfNoneMatch(entityTag string) *TypeProvidersGetCall {
7474	c.ifNoneMatch_ = entityTag
7475	return c
7476}
7477
7478// Context sets the context to be used in this call's Do method. Any
7479// pending HTTP request will be aborted if the provided context is
7480// canceled.
7481func (c *TypeProvidersGetCall) Context(ctx context.Context) *TypeProvidersGetCall {
7482	c.ctx_ = ctx
7483	return c
7484}
7485
7486// Header returns an http.Header that can be modified by the caller to
7487// add HTTP headers to the request.
7488func (c *TypeProvidersGetCall) Header() http.Header {
7489	if c.header_ == nil {
7490		c.header_ = make(http.Header)
7491	}
7492	return c.header_
7493}
7494
7495func (c *TypeProvidersGetCall) doRequest(alt string) (*http.Response, error) {
7496	reqHeaders := make(http.Header)
7497	for k, v := range c.header_ {
7498		reqHeaders[k] = v
7499	}
7500	reqHeaders.Set("User-Agent", c.s.userAgent())
7501	if c.ifNoneMatch_ != "" {
7502		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7503	}
7504	var body io.Reader = nil
7505	c.urlParams_.Set("alt", alt)
7506	c.urlParams_.Set("prettyPrint", "false")
7507	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}")
7508	urls += "?" + c.urlParams_.Encode()
7509	req, err := http.NewRequest("GET", urls, body)
7510	if err != nil {
7511		return nil, err
7512	}
7513	req.Header = reqHeaders
7514	googleapi.Expand(req.URL, map[string]string{
7515		"project":      c.project,
7516		"typeProvider": c.typeProvider,
7517	})
7518	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7519}
7520
7521// Do executes the "deploymentmanager.typeProviders.get" call.
7522// Exactly one of *TypeProvider or error will be non-nil. Any non-2xx
7523// status code is an error. Response headers are in either
7524// *TypeProvider.ServerResponse.Header or (if a response was returned at
7525// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7526// to check whether the returned error was because
7527// http.StatusNotModified was returned.
7528func (c *TypeProvidersGetCall) Do(opts ...googleapi.CallOption) (*TypeProvider, error) {
7529	gensupport.SetOptions(c.urlParams_, opts...)
7530	res, err := c.doRequest("json")
7531	if res != nil && res.StatusCode == http.StatusNotModified {
7532		if res.Body != nil {
7533			res.Body.Close()
7534		}
7535		return nil, &googleapi.Error{
7536			Code:   res.StatusCode,
7537			Header: res.Header,
7538		}
7539	}
7540	if err != nil {
7541		return nil, err
7542	}
7543	defer googleapi.CloseBody(res)
7544	if err := googleapi.CheckResponse(res); err != nil {
7545		return nil, err
7546	}
7547	ret := &TypeProvider{
7548		ServerResponse: googleapi.ServerResponse{
7549			Header:         res.Header,
7550			HTTPStatusCode: res.StatusCode,
7551		},
7552	}
7553	target := &ret
7554	if err := gensupport.DecodeResponse(target, res); err != nil {
7555		return nil, err
7556	}
7557	return ret, nil
7558	// {
7559	//   "description": "Gets information about a specific type provider.",
7560	//   "httpMethod": "GET",
7561	//   "id": "deploymentmanager.typeProviders.get",
7562	//   "parameterOrder": [
7563	//     "project",
7564	//     "typeProvider"
7565	//   ],
7566	//   "parameters": {
7567	//     "project": {
7568	//       "description": "The project ID for this request.",
7569	//       "location": "path",
7570	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7571	//       "required": true,
7572	//       "type": "string"
7573	//     },
7574	//     "typeProvider": {
7575	//       "description": "The name of the type provider for this request.",
7576	//       "location": "path",
7577	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7578	//       "required": true,
7579	//       "type": "string"
7580	//     }
7581	//   },
7582	//   "path": "{project}/global/typeProviders/{typeProvider}",
7583	//   "response": {
7584	//     "$ref": "TypeProvider"
7585	//   },
7586	//   "scopes": [
7587	//     "https://www.googleapis.com/auth/cloud-platform",
7588	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7589	//     "https://www.googleapis.com/auth/ndev.cloudman",
7590	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7591	//   ]
7592	// }
7593
7594}
7595
7596// method id "deploymentmanager.typeProviders.getType":
7597
7598type TypeProvidersGetTypeCall struct {
7599	s            *Service
7600	project      string
7601	typeProvider string
7602	type_        string
7603	urlParams_   gensupport.URLParams
7604	ifNoneMatch_ string
7605	ctx_         context.Context
7606	header_      http.Header
7607}
7608
7609// GetType: Gets a type info for a type provided by a TypeProvider.
7610func (r *TypeProvidersService) GetType(project string, typeProvider string, type_ string) *TypeProvidersGetTypeCall {
7611	c := &TypeProvidersGetTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7612	c.project = project
7613	c.typeProvider = typeProvider
7614	c.type_ = type_
7615	return c
7616}
7617
7618// Fields allows partial responses to be retrieved. See
7619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7620// for more information.
7621func (c *TypeProvidersGetTypeCall) Fields(s ...googleapi.Field) *TypeProvidersGetTypeCall {
7622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7623	return c
7624}
7625
7626// IfNoneMatch sets the optional parameter which makes the operation
7627// fail if the object's ETag matches the given value. This is useful for
7628// getting updates only after the object has changed since the last
7629// request. Use googleapi.IsNotModified to check whether the response
7630// error from Do is the result of In-None-Match.
7631func (c *TypeProvidersGetTypeCall) IfNoneMatch(entityTag string) *TypeProvidersGetTypeCall {
7632	c.ifNoneMatch_ = entityTag
7633	return c
7634}
7635
7636// Context sets the context to be used in this call's Do method. Any
7637// pending HTTP request will be aborted if the provided context is
7638// canceled.
7639func (c *TypeProvidersGetTypeCall) Context(ctx context.Context) *TypeProvidersGetTypeCall {
7640	c.ctx_ = ctx
7641	return c
7642}
7643
7644// Header returns an http.Header that can be modified by the caller to
7645// add HTTP headers to the request.
7646func (c *TypeProvidersGetTypeCall) Header() http.Header {
7647	if c.header_ == nil {
7648		c.header_ = make(http.Header)
7649	}
7650	return c.header_
7651}
7652
7653func (c *TypeProvidersGetTypeCall) doRequest(alt string) (*http.Response, error) {
7654	reqHeaders := make(http.Header)
7655	for k, v := range c.header_ {
7656		reqHeaders[k] = v
7657	}
7658	reqHeaders.Set("User-Agent", c.s.userAgent())
7659	if c.ifNoneMatch_ != "" {
7660		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7661	}
7662	var body io.Reader = nil
7663	c.urlParams_.Set("alt", alt)
7664	c.urlParams_.Set("prettyPrint", "false")
7665	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}/types/{type}")
7666	urls += "?" + c.urlParams_.Encode()
7667	req, err := http.NewRequest("GET", urls, body)
7668	if err != nil {
7669		return nil, err
7670	}
7671	req.Header = reqHeaders
7672	googleapi.Expand(req.URL, map[string]string{
7673		"project":      c.project,
7674		"typeProvider": c.typeProvider,
7675		"type":         c.type_,
7676	})
7677	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7678}
7679
7680// Do executes the "deploymentmanager.typeProviders.getType" call.
7681// Exactly one of *TypeInfo or error will be non-nil. Any non-2xx status
7682// code is an error. Response headers are in either
7683// *TypeInfo.ServerResponse.Header or (if a response was returned at
7684// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7685// to check whether the returned error was because
7686// http.StatusNotModified was returned.
7687func (c *TypeProvidersGetTypeCall) Do(opts ...googleapi.CallOption) (*TypeInfo, error) {
7688	gensupport.SetOptions(c.urlParams_, opts...)
7689	res, err := c.doRequest("json")
7690	if res != nil && res.StatusCode == http.StatusNotModified {
7691		if res.Body != nil {
7692			res.Body.Close()
7693		}
7694		return nil, &googleapi.Error{
7695			Code:   res.StatusCode,
7696			Header: res.Header,
7697		}
7698	}
7699	if err != nil {
7700		return nil, err
7701	}
7702	defer googleapi.CloseBody(res)
7703	if err := googleapi.CheckResponse(res); err != nil {
7704		return nil, err
7705	}
7706	ret := &TypeInfo{
7707		ServerResponse: googleapi.ServerResponse{
7708			Header:         res.Header,
7709			HTTPStatusCode: res.StatusCode,
7710		},
7711	}
7712	target := &ret
7713	if err := gensupport.DecodeResponse(target, res); err != nil {
7714		return nil, err
7715	}
7716	return ret, nil
7717	// {
7718	//   "description": "Gets a type info for a type provided by a TypeProvider.",
7719	//   "httpMethod": "GET",
7720	//   "id": "deploymentmanager.typeProviders.getType",
7721	//   "parameterOrder": [
7722	//     "project",
7723	//     "typeProvider",
7724	//     "type"
7725	//   ],
7726	//   "parameters": {
7727	//     "project": {
7728	//       "description": "The project ID for this request.",
7729	//       "location": "path",
7730	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7731	//       "required": true,
7732	//       "type": "string"
7733	//     },
7734	//     "type": {
7735	//       "description": "The name of the type provider type for this request.",
7736	//       "location": "path",
7737	//       "required": true,
7738	//       "type": "string"
7739	//     },
7740	//     "typeProvider": {
7741	//       "description": "The name of the type provider for this request.",
7742	//       "location": "path",
7743	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7744	//       "required": true,
7745	//       "type": "string"
7746	//     }
7747	//   },
7748	//   "path": "{project}/global/typeProviders/{typeProvider}/types/{type}",
7749	//   "response": {
7750	//     "$ref": "TypeInfo"
7751	//   },
7752	//   "scopes": [
7753	//     "https://www.googleapis.com/auth/cloud-platform",
7754	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7755	//     "https://www.googleapis.com/auth/ndev.cloudman",
7756	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7757	//   ]
7758	// }
7759
7760}
7761
7762// method id "deploymentmanager.typeProviders.insert":
7763
7764type TypeProvidersInsertCall struct {
7765	s            *Service
7766	project      string
7767	typeprovider *TypeProvider
7768	urlParams_   gensupport.URLParams
7769	ctx_         context.Context
7770	header_      http.Header
7771}
7772
7773// Insert: Creates a type provider.
7774func (r *TypeProvidersService) Insert(project string, typeprovider *TypeProvider) *TypeProvidersInsertCall {
7775	c := &TypeProvidersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7776	c.project = project
7777	c.typeprovider = typeprovider
7778	return c
7779}
7780
7781// Fields allows partial responses to be retrieved. See
7782// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7783// for more information.
7784func (c *TypeProvidersInsertCall) Fields(s ...googleapi.Field) *TypeProvidersInsertCall {
7785	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7786	return c
7787}
7788
7789// Context sets the context to be used in this call's Do method. Any
7790// pending HTTP request will be aborted if the provided context is
7791// canceled.
7792func (c *TypeProvidersInsertCall) Context(ctx context.Context) *TypeProvidersInsertCall {
7793	c.ctx_ = ctx
7794	return c
7795}
7796
7797// Header returns an http.Header that can be modified by the caller to
7798// add HTTP headers to the request.
7799func (c *TypeProvidersInsertCall) Header() http.Header {
7800	if c.header_ == nil {
7801		c.header_ = make(http.Header)
7802	}
7803	return c.header_
7804}
7805
7806func (c *TypeProvidersInsertCall) doRequest(alt string) (*http.Response, error) {
7807	reqHeaders := make(http.Header)
7808	for k, v := range c.header_ {
7809		reqHeaders[k] = v
7810	}
7811	reqHeaders.Set("User-Agent", c.s.userAgent())
7812	var body io.Reader = nil
7813	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
7814	if err != nil {
7815		return nil, err
7816	}
7817	reqHeaders.Set("Content-Type", "application/json")
7818	c.urlParams_.Set("alt", alt)
7819	c.urlParams_.Set("prettyPrint", "false")
7820	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders")
7821	urls += "?" + c.urlParams_.Encode()
7822	req, err := http.NewRequest("POST", urls, body)
7823	if err != nil {
7824		return nil, err
7825	}
7826	req.Header = reqHeaders
7827	googleapi.Expand(req.URL, map[string]string{
7828		"project": c.project,
7829	})
7830	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7831}
7832
7833// Do executes the "deploymentmanager.typeProviders.insert" call.
7834// Exactly one of *Operation or error will be non-nil. Any non-2xx
7835// status code is an error. Response headers are in either
7836// *Operation.ServerResponse.Header or (if a response was returned at
7837// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7838// to check whether the returned error was because
7839// http.StatusNotModified was returned.
7840func (c *TypeProvidersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7841	gensupport.SetOptions(c.urlParams_, opts...)
7842	res, err := c.doRequest("json")
7843	if res != nil && res.StatusCode == http.StatusNotModified {
7844		if res.Body != nil {
7845			res.Body.Close()
7846		}
7847		return nil, &googleapi.Error{
7848			Code:   res.StatusCode,
7849			Header: res.Header,
7850		}
7851	}
7852	if err != nil {
7853		return nil, err
7854	}
7855	defer googleapi.CloseBody(res)
7856	if err := googleapi.CheckResponse(res); err != nil {
7857		return nil, err
7858	}
7859	ret := &Operation{
7860		ServerResponse: googleapi.ServerResponse{
7861			Header:         res.Header,
7862			HTTPStatusCode: res.StatusCode,
7863		},
7864	}
7865	target := &ret
7866	if err := gensupport.DecodeResponse(target, res); err != nil {
7867		return nil, err
7868	}
7869	return ret, nil
7870	// {
7871	//   "description": "Creates a type provider.",
7872	//   "httpMethod": "POST",
7873	//   "id": "deploymentmanager.typeProviders.insert",
7874	//   "parameterOrder": [
7875	//     "project"
7876	//   ],
7877	//   "parameters": {
7878	//     "project": {
7879	//       "description": "The project ID for this request.",
7880	//       "location": "path",
7881	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7882	//       "required": true,
7883	//       "type": "string"
7884	//     }
7885	//   },
7886	//   "path": "{project}/global/typeProviders",
7887	//   "request": {
7888	//     "$ref": "TypeProvider"
7889	//   },
7890	//   "response": {
7891	//     "$ref": "Operation"
7892	//   },
7893	//   "scopes": [
7894	//     "https://www.googleapis.com/auth/cloud-platform",
7895	//     "https://www.googleapis.com/auth/ndev.cloudman"
7896	//   ]
7897	// }
7898
7899}
7900
7901// method id "deploymentmanager.typeProviders.list":
7902
7903type TypeProvidersListCall struct {
7904	s            *Service
7905	project      string
7906	urlParams_   gensupport.URLParams
7907	ifNoneMatch_ string
7908	ctx_         context.Context
7909	header_      http.Header
7910}
7911
7912// List: Lists all resource type providers for Deployment Manager.
7913func (r *TypeProvidersService) List(project string) *TypeProvidersListCall {
7914	c := &TypeProvidersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7915	c.project = project
7916	return c
7917}
7918
7919// Filter sets the optional parameter "filter": A filter expression that
7920// filters resources listed in the response. The expression must specify
7921// the field name, a comparison operator, and the value that you want to
7922// use for filtering. The value must be a string, a number, or a
7923// boolean. The comparison operator must be either =, !=, >, or <.
7924//
7925// For example, if you are filtering Compute Engine instances, you can
7926// exclude instances named example-instance by specifying name !=
7927// example-instance.
7928//
7929// You can also filter nested fields. For example, you could specify
7930// scheduling.automaticRestart = false to include instances only if they
7931// are not scheduled for automatic restarts. You can use filtering on
7932// nested fields to filter based on resource labels.
7933//
7934// To filter on multiple expressions, provide each separate expression
7935// within parentheses. For example, (scheduling.automaticRestart = true)
7936// (cpuPlatform = "Intel Skylake"). By default, each expression is an
7937// AND expression. However, you can include AND and OR expressions
7938// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
7939// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
7940// true).
7941func (c *TypeProvidersListCall) Filter(filter string) *TypeProvidersListCall {
7942	c.urlParams_.Set("filter", filter)
7943	return c
7944}
7945
7946// MaxResults sets the optional parameter "maxResults": The maximum
7947// number of results per page that should be returned. If the number of
7948// available results is larger than maxResults, Compute Engine returns a
7949// nextPageToken that can be used to get the next page of results in
7950// subsequent list requests. Acceptable values are 0 to 500, inclusive.
7951// (Default: 500)
7952func (c *TypeProvidersListCall) MaxResults(maxResults int64) *TypeProvidersListCall {
7953	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7954	return c
7955}
7956
7957// OrderBy sets the optional parameter "orderBy": Sorts list results by
7958// a certain order. By default, results are returned in alphanumerical
7959// order based on the resource name.
7960//
7961// You can also sort results in descending order based on the creation
7962// timestamp using orderBy="creationTimestamp desc". This sorts results
7963// based on the creationTimestamp field in reverse chronological order
7964// (newest result first). Use this to sort resources like operations so
7965// that the newest operation is returned first.
7966//
7967// Currently, only sorting by name or creationTimestamp desc is
7968// supported.
7969func (c *TypeProvidersListCall) OrderBy(orderBy string) *TypeProvidersListCall {
7970	c.urlParams_.Set("orderBy", orderBy)
7971	return c
7972}
7973
7974// PageToken sets the optional parameter "pageToken": Specifies a page
7975// token to use. Set pageToken to the nextPageToken returned by a
7976// previous list request to get the next page of results.
7977func (c *TypeProvidersListCall) PageToken(pageToken string) *TypeProvidersListCall {
7978	c.urlParams_.Set("pageToken", pageToken)
7979	return c
7980}
7981
7982// Fields allows partial responses to be retrieved. See
7983// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7984// for more information.
7985func (c *TypeProvidersListCall) Fields(s ...googleapi.Field) *TypeProvidersListCall {
7986	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7987	return c
7988}
7989
7990// IfNoneMatch sets the optional parameter which makes the operation
7991// fail if the object's ETag matches the given value. This is useful for
7992// getting updates only after the object has changed since the last
7993// request. Use googleapi.IsNotModified to check whether the response
7994// error from Do is the result of In-None-Match.
7995func (c *TypeProvidersListCall) IfNoneMatch(entityTag string) *TypeProvidersListCall {
7996	c.ifNoneMatch_ = entityTag
7997	return c
7998}
7999
8000// Context sets the context to be used in this call's Do method. Any
8001// pending HTTP request will be aborted if the provided context is
8002// canceled.
8003func (c *TypeProvidersListCall) Context(ctx context.Context) *TypeProvidersListCall {
8004	c.ctx_ = ctx
8005	return c
8006}
8007
8008// Header returns an http.Header that can be modified by the caller to
8009// add HTTP headers to the request.
8010func (c *TypeProvidersListCall) Header() http.Header {
8011	if c.header_ == nil {
8012		c.header_ = make(http.Header)
8013	}
8014	return c.header_
8015}
8016
8017func (c *TypeProvidersListCall) doRequest(alt string) (*http.Response, error) {
8018	reqHeaders := make(http.Header)
8019	for k, v := range c.header_ {
8020		reqHeaders[k] = v
8021	}
8022	reqHeaders.Set("User-Agent", c.s.userAgent())
8023	if c.ifNoneMatch_ != "" {
8024		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8025	}
8026	var body io.Reader = nil
8027	c.urlParams_.Set("alt", alt)
8028	c.urlParams_.Set("prettyPrint", "false")
8029	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders")
8030	urls += "?" + c.urlParams_.Encode()
8031	req, err := http.NewRequest("GET", urls, body)
8032	if err != nil {
8033		return nil, err
8034	}
8035	req.Header = reqHeaders
8036	googleapi.Expand(req.URL, map[string]string{
8037		"project": c.project,
8038	})
8039	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8040}
8041
8042// Do executes the "deploymentmanager.typeProviders.list" call.
8043// Exactly one of *TypeProvidersListResponse or error will be non-nil.
8044// Any non-2xx status code is an error. Response headers are in either
8045// *TypeProvidersListResponse.ServerResponse.Header or (if a response
8046// was returned at all) in error.(*googleapi.Error).Header. Use
8047// googleapi.IsNotModified to check whether the returned error was
8048// because http.StatusNotModified was returned.
8049func (c *TypeProvidersListCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListResponse, error) {
8050	gensupport.SetOptions(c.urlParams_, opts...)
8051	res, err := c.doRequest("json")
8052	if res != nil && res.StatusCode == http.StatusNotModified {
8053		if res.Body != nil {
8054			res.Body.Close()
8055		}
8056		return nil, &googleapi.Error{
8057			Code:   res.StatusCode,
8058			Header: res.Header,
8059		}
8060	}
8061	if err != nil {
8062		return nil, err
8063	}
8064	defer googleapi.CloseBody(res)
8065	if err := googleapi.CheckResponse(res); err != nil {
8066		return nil, err
8067	}
8068	ret := &TypeProvidersListResponse{
8069		ServerResponse: googleapi.ServerResponse{
8070			Header:         res.Header,
8071			HTTPStatusCode: res.StatusCode,
8072		},
8073	}
8074	target := &ret
8075	if err := gensupport.DecodeResponse(target, res); err != nil {
8076		return nil, err
8077	}
8078	return ret, nil
8079	// {
8080	//   "description": "Lists all resource type providers for Deployment Manager.",
8081	//   "httpMethod": "GET",
8082	//   "id": "deploymentmanager.typeProviders.list",
8083	//   "parameterOrder": [
8084	//     "project"
8085	//   ],
8086	//   "parameters": {
8087	//     "filter": {
8088	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
8089	//       "location": "query",
8090	//       "type": "string"
8091	//     },
8092	//     "maxResults": {
8093	//       "default": "500",
8094	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
8095	//       "format": "uint32",
8096	//       "location": "query",
8097	//       "minimum": "0",
8098	//       "type": "integer"
8099	//     },
8100	//     "orderBy": {
8101	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
8102	//       "location": "query",
8103	//       "type": "string"
8104	//     },
8105	//     "pageToken": {
8106	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
8107	//       "location": "query",
8108	//       "type": "string"
8109	//     },
8110	//     "project": {
8111	//       "description": "The project ID for this request.",
8112	//       "location": "path",
8113	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
8114	//       "required": true,
8115	//       "type": "string"
8116	//     }
8117	//   },
8118	//   "path": "{project}/global/typeProviders",
8119	//   "response": {
8120	//     "$ref": "TypeProvidersListResponse"
8121	//   },
8122	//   "scopes": [
8123	//     "https://www.googleapis.com/auth/cloud-platform",
8124	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
8125	//     "https://www.googleapis.com/auth/ndev.cloudman",
8126	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8127	//   ]
8128	// }
8129
8130}
8131
8132// Pages invokes f for each page of results.
8133// A non-nil error returned from f will halt the iteration.
8134// The provided context supersedes any context provided to the Context method.
8135func (c *TypeProvidersListCall) Pages(ctx context.Context, f func(*TypeProvidersListResponse) error) error {
8136	c.ctx_ = ctx
8137	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8138	for {
8139		x, err := c.Do()
8140		if err != nil {
8141			return err
8142		}
8143		if err := f(x); err != nil {
8144			return err
8145		}
8146		if x.NextPageToken == "" {
8147			return nil
8148		}
8149		c.PageToken(x.NextPageToken)
8150	}
8151}
8152
8153// method id "deploymentmanager.typeProviders.listTypes":
8154
8155type TypeProvidersListTypesCall struct {
8156	s            *Service
8157	project      string
8158	typeProvider string
8159	urlParams_   gensupport.URLParams
8160	ifNoneMatch_ string
8161	ctx_         context.Context
8162	header_      http.Header
8163}
8164
8165// ListTypes: Lists all the type info for a TypeProvider.
8166func (r *TypeProvidersService) ListTypes(project string, typeProvider string) *TypeProvidersListTypesCall {
8167	c := &TypeProvidersListTypesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8168	c.project = project
8169	c.typeProvider = typeProvider
8170	return c
8171}
8172
8173// Filter sets the optional parameter "filter": A filter expression that
8174// filters resources listed in the response. The expression must specify
8175// the field name, a comparison operator, and the value that you want to
8176// use for filtering. The value must be a string, a number, or a
8177// boolean. The comparison operator must be either =, !=, >, or <.
8178//
8179// For example, if you are filtering Compute Engine instances, you can
8180// exclude instances named example-instance by specifying name !=
8181// example-instance.
8182//
8183// You can also filter nested fields. For example, you could specify
8184// scheduling.automaticRestart = false to include instances only if they
8185// are not scheduled for automatic restarts. You can use filtering on
8186// nested fields to filter based on resource labels.
8187//
8188// To filter on multiple expressions, provide each separate expression
8189// within parentheses. For example, (scheduling.automaticRestart = true)
8190// (cpuPlatform = "Intel Skylake"). By default, each expression is an
8191// AND expression. However, you can include AND and OR expressions
8192// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
8193// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
8194// true).
8195func (c *TypeProvidersListTypesCall) Filter(filter string) *TypeProvidersListTypesCall {
8196	c.urlParams_.Set("filter", filter)
8197	return c
8198}
8199
8200// MaxResults sets the optional parameter "maxResults": The maximum
8201// number of results per page that should be returned. If the number of
8202// available results is larger than maxResults, Compute Engine returns a
8203// nextPageToken that can be used to get the next page of results in
8204// subsequent list requests. Acceptable values are 0 to 500, inclusive.
8205// (Default: 500)
8206func (c *TypeProvidersListTypesCall) MaxResults(maxResults int64) *TypeProvidersListTypesCall {
8207	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8208	return c
8209}
8210
8211// OrderBy sets the optional parameter "orderBy": Sorts list results by
8212// a certain order. By default, results are returned in alphanumerical
8213// order based on the resource name.
8214//
8215// You can also sort results in descending order based on the creation
8216// timestamp using orderBy="creationTimestamp desc". This sorts results
8217// based on the creationTimestamp field in reverse chronological order
8218// (newest result first). Use this to sort resources like operations so
8219// that the newest operation is returned first.
8220//
8221// Currently, only sorting by name or creationTimestamp desc is
8222// supported.
8223func (c *TypeProvidersListTypesCall) OrderBy(orderBy string) *TypeProvidersListTypesCall {
8224	c.urlParams_.Set("orderBy", orderBy)
8225	return c
8226}
8227
8228// PageToken sets the optional parameter "pageToken": Specifies a page
8229// token to use. Set pageToken to the nextPageToken returned by a
8230// previous list request to get the next page of results.
8231func (c *TypeProvidersListTypesCall) PageToken(pageToken string) *TypeProvidersListTypesCall {
8232	c.urlParams_.Set("pageToken", pageToken)
8233	return c
8234}
8235
8236// Fields allows partial responses to be retrieved. See
8237// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8238// for more information.
8239func (c *TypeProvidersListTypesCall) Fields(s ...googleapi.Field) *TypeProvidersListTypesCall {
8240	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8241	return c
8242}
8243
8244// IfNoneMatch sets the optional parameter which makes the operation
8245// fail if the object's ETag matches the given value. This is useful for
8246// getting updates only after the object has changed since the last
8247// request. Use googleapi.IsNotModified to check whether the response
8248// error from Do is the result of In-None-Match.
8249func (c *TypeProvidersListTypesCall) IfNoneMatch(entityTag string) *TypeProvidersListTypesCall {
8250	c.ifNoneMatch_ = entityTag
8251	return c
8252}
8253
8254// Context sets the context to be used in this call's Do method. Any
8255// pending HTTP request will be aborted if the provided context is
8256// canceled.
8257func (c *TypeProvidersListTypesCall) Context(ctx context.Context) *TypeProvidersListTypesCall {
8258	c.ctx_ = ctx
8259	return c
8260}
8261
8262// Header returns an http.Header that can be modified by the caller to
8263// add HTTP headers to the request.
8264func (c *TypeProvidersListTypesCall) Header() http.Header {
8265	if c.header_ == nil {
8266		c.header_ = make(http.Header)
8267	}
8268	return c.header_
8269}
8270
8271func (c *TypeProvidersListTypesCall) doRequest(alt string) (*http.Response, error) {
8272	reqHeaders := make(http.Header)
8273	for k, v := range c.header_ {
8274		reqHeaders[k] = v
8275	}
8276	reqHeaders.Set("User-Agent", c.s.userAgent())
8277	if c.ifNoneMatch_ != "" {
8278		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8279	}
8280	var body io.Reader = nil
8281	c.urlParams_.Set("alt", alt)
8282	c.urlParams_.Set("prettyPrint", "false")
8283	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}/types")
8284	urls += "?" + c.urlParams_.Encode()
8285	req, err := http.NewRequest("GET", urls, body)
8286	if err != nil {
8287		return nil, err
8288	}
8289	req.Header = reqHeaders
8290	googleapi.Expand(req.URL, map[string]string{
8291		"project":      c.project,
8292		"typeProvider": c.typeProvider,
8293	})
8294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8295}
8296
8297// Do executes the "deploymentmanager.typeProviders.listTypes" call.
8298// Exactly one of *TypeProvidersListTypesResponse or error will be
8299// non-nil. Any non-2xx status code is an error. Response headers are in
8300// either *TypeProvidersListTypesResponse.ServerResponse.Header or (if a
8301// response was returned at all) in error.(*googleapi.Error).Header. Use
8302// googleapi.IsNotModified to check whether the returned error was
8303// because http.StatusNotModified was returned.
8304func (c *TypeProvidersListTypesCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListTypesResponse, error) {
8305	gensupport.SetOptions(c.urlParams_, opts...)
8306	res, err := c.doRequest("json")
8307	if res != nil && res.StatusCode == http.StatusNotModified {
8308		if res.Body != nil {
8309			res.Body.Close()
8310		}
8311		return nil, &googleapi.Error{
8312			Code:   res.StatusCode,
8313			Header: res.Header,
8314		}
8315	}
8316	if err != nil {
8317		return nil, err
8318	}
8319	defer googleapi.CloseBody(res)
8320	if err := googleapi.CheckResponse(res); err != nil {
8321		return nil, err
8322	}
8323	ret := &TypeProvidersListTypesResponse{
8324		ServerResponse: googleapi.ServerResponse{
8325			Header:         res.Header,
8326			HTTPStatusCode: res.StatusCode,
8327		},
8328	}
8329	target := &ret
8330	if err := gensupport.DecodeResponse(target, res); err != nil {
8331		return nil, err
8332	}
8333	return ret, nil
8334	// {
8335	//   "description": "Lists all the type info for a TypeProvider.",
8336	//   "httpMethod": "GET",
8337	//   "id": "deploymentmanager.typeProviders.listTypes",
8338	//   "parameterOrder": [
8339	//     "project",
8340	//     "typeProvider"
8341	//   ],
8342	//   "parameters": {
8343	//     "filter": {
8344	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
8345	//       "location": "query",
8346	//       "type": "string"
8347	//     },
8348	//     "maxResults": {
8349	//       "default": "500",
8350	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
8351	//       "format": "uint32",
8352	//       "location": "query",
8353	//       "minimum": "0",
8354	//       "type": "integer"
8355	//     },
8356	//     "orderBy": {
8357	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
8358	//       "location": "query",
8359	//       "type": "string"
8360	//     },
8361	//     "pageToken": {
8362	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
8363	//       "location": "query",
8364	//       "type": "string"
8365	//     },
8366	//     "project": {
8367	//       "description": "The project ID for this request.",
8368	//       "location": "path",
8369	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
8370	//       "required": true,
8371	//       "type": "string"
8372	//     },
8373	//     "typeProvider": {
8374	//       "description": "The name of the type provider for this request.",
8375	//       "location": "path",
8376	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8377	//       "required": true,
8378	//       "type": "string"
8379	//     }
8380	//   },
8381	//   "path": "{project}/global/typeProviders/{typeProvider}/types",
8382	//   "response": {
8383	//     "$ref": "TypeProvidersListTypesResponse"
8384	//   },
8385	//   "scopes": [
8386	//     "https://www.googleapis.com/auth/cloud-platform",
8387	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
8388	//     "https://www.googleapis.com/auth/ndev.cloudman",
8389	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8390	//   ]
8391	// }
8392
8393}
8394
8395// Pages invokes f for each page of results.
8396// A non-nil error returned from f will halt the iteration.
8397// The provided context supersedes any context provided to the Context method.
8398func (c *TypeProvidersListTypesCall) Pages(ctx context.Context, f func(*TypeProvidersListTypesResponse) error) error {
8399	c.ctx_ = ctx
8400	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8401	for {
8402		x, err := c.Do()
8403		if err != nil {
8404			return err
8405		}
8406		if err := f(x); err != nil {
8407			return err
8408		}
8409		if x.NextPageToken == "" {
8410			return nil
8411		}
8412		c.PageToken(x.NextPageToken)
8413	}
8414}
8415
8416// method id "deploymentmanager.typeProviders.patch":
8417
8418type TypeProvidersPatchCall struct {
8419	s            *Service
8420	project      string
8421	typeProvider string
8422	typeprovider *TypeProvider
8423	urlParams_   gensupport.URLParams
8424	ctx_         context.Context
8425	header_      http.Header
8426}
8427
8428// Patch: Updates a type provider. This method supports patch semantics.
8429func (r *TypeProvidersService) Patch(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersPatchCall {
8430	c := &TypeProvidersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8431	c.project = project
8432	c.typeProvider = typeProvider
8433	c.typeprovider = typeprovider
8434	return c
8435}
8436
8437// Fields allows partial responses to be retrieved. See
8438// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8439// for more information.
8440func (c *TypeProvidersPatchCall) Fields(s ...googleapi.Field) *TypeProvidersPatchCall {
8441	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8442	return c
8443}
8444
8445// Context sets the context to be used in this call's Do method. Any
8446// pending HTTP request will be aborted if the provided context is
8447// canceled.
8448func (c *TypeProvidersPatchCall) Context(ctx context.Context) *TypeProvidersPatchCall {
8449	c.ctx_ = ctx
8450	return c
8451}
8452
8453// Header returns an http.Header that can be modified by the caller to
8454// add HTTP headers to the request.
8455func (c *TypeProvidersPatchCall) Header() http.Header {
8456	if c.header_ == nil {
8457		c.header_ = make(http.Header)
8458	}
8459	return c.header_
8460}
8461
8462func (c *TypeProvidersPatchCall) doRequest(alt string) (*http.Response, error) {
8463	reqHeaders := make(http.Header)
8464	for k, v := range c.header_ {
8465		reqHeaders[k] = v
8466	}
8467	reqHeaders.Set("User-Agent", c.s.userAgent())
8468	var body io.Reader = nil
8469	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
8470	if err != nil {
8471		return nil, err
8472	}
8473	reqHeaders.Set("Content-Type", "application/json")
8474	c.urlParams_.Set("alt", alt)
8475	c.urlParams_.Set("prettyPrint", "false")
8476	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}")
8477	urls += "?" + c.urlParams_.Encode()
8478	req, err := http.NewRequest("PATCH", urls, body)
8479	if err != nil {
8480		return nil, err
8481	}
8482	req.Header = reqHeaders
8483	googleapi.Expand(req.URL, map[string]string{
8484		"project":      c.project,
8485		"typeProvider": c.typeProvider,
8486	})
8487	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8488}
8489
8490// Do executes the "deploymentmanager.typeProviders.patch" call.
8491// Exactly one of *Operation or error will be non-nil. Any non-2xx
8492// status code is an error. Response headers are in either
8493// *Operation.ServerResponse.Header or (if a response was returned at
8494// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8495// to check whether the returned error was because
8496// http.StatusNotModified was returned.
8497func (c *TypeProvidersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8498	gensupport.SetOptions(c.urlParams_, opts...)
8499	res, err := c.doRequest("json")
8500	if res != nil && res.StatusCode == http.StatusNotModified {
8501		if res.Body != nil {
8502			res.Body.Close()
8503		}
8504		return nil, &googleapi.Error{
8505			Code:   res.StatusCode,
8506			Header: res.Header,
8507		}
8508	}
8509	if err != nil {
8510		return nil, err
8511	}
8512	defer googleapi.CloseBody(res)
8513	if err := googleapi.CheckResponse(res); err != nil {
8514		return nil, err
8515	}
8516	ret := &Operation{
8517		ServerResponse: googleapi.ServerResponse{
8518			Header:         res.Header,
8519			HTTPStatusCode: res.StatusCode,
8520		},
8521	}
8522	target := &ret
8523	if err := gensupport.DecodeResponse(target, res); err != nil {
8524		return nil, err
8525	}
8526	return ret, nil
8527	// {
8528	//   "description": "Updates a type provider. This method supports patch semantics.",
8529	//   "httpMethod": "PATCH",
8530	//   "id": "deploymentmanager.typeProviders.patch",
8531	//   "parameterOrder": [
8532	//     "project",
8533	//     "typeProvider"
8534	//   ],
8535	//   "parameters": {
8536	//     "project": {
8537	//       "description": "The project ID for this request.",
8538	//       "location": "path",
8539	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
8540	//       "required": true,
8541	//       "type": "string"
8542	//     },
8543	//     "typeProvider": {
8544	//       "description": "The name of the type provider for this request.",
8545	//       "location": "path",
8546	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8547	//       "required": true,
8548	//       "type": "string"
8549	//     }
8550	//   },
8551	//   "path": "{project}/global/typeProviders/{typeProvider}",
8552	//   "request": {
8553	//     "$ref": "TypeProvider"
8554	//   },
8555	//   "response": {
8556	//     "$ref": "Operation"
8557	//   },
8558	//   "scopes": [
8559	//     "https://www.googleapis.com/auth/cloud-platform",
8560	//     "https://www.googleapis.com/auth/ndev.cloudman"
8561	//   ]
8562	// }
8563
8564}
8565
8566// method id "deploymentmanager.typeProviders.update":
8567
8568type TypeProvidersUpdateCall struct {
8569	s            *Service
8570	project      string
8571	typeProvider string
8572	typeprovider *TypeProvider
8573	urlParams_   gensupport.URLParams
8574	ctx_         context.Context
8575	header_      http.Header
8576}
8577
8578// Update: Updates a type provider.
8579func (r *TypeProvidersService) Update(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersUpdateCall {
8580	c := &TypeProvidersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8581	c.project = project
8582	c.typeProvider = typeProvider
8583	c.typeprovider = typeprovider
8584	return c
8585}
8586
8587// Fields allows partial responses to be retrieved. See
8588// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8589// for more information.
8590func (c *TypeProvidersUpdateCall) Fields(s ...googleapi.Field) *TypeProvidersUpdateCall {
8591	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8592	return c
8593}
8594
8595// Context sets the context to be used in this call's Do method. Any
8596// pending HTTP request will be aborted if the provided context is
8597// canceled.
8598func (c *TypeProvidersUpdateCall) Context(ctx context.Context) *TypeProvidersUpdateCall {
8599	c.ctx_ = ctx
8600	return c
8601}
8602
8603// Header returns an http.Header that can be modified by the caller to
8604// add HTTP headers to the request.
8605func (c *TypeProvidersUpdateCall) Header() http.Header {
8606	if c.header_ == nil {
8607		c.header_ = make(http.Header)
8608	}
8609	return c.header_
8610}
8611
8612func (c *TypeProvidersUpdateCall) doRequest(alt string) (*http.Response, error) {
8613	reqHeaders := make(http.Header)
8614	for k, v := range c.header_ {
8615		reqHeaders[k] = v
8616	}
8617	reqHeaders.Set("User-Agent", c.s.userAgent())
8618	var body io.Reader = nil
8619	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
8620	if err != nil {
8621		return nil, err
8622	}
8623	reqHeaders.Set("Content-Type", "application/json")
8624	c.urlParams_.Set("alt", alt)
8625	c.urlParams_.Set("prettyPrint", "false")
8626	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/typeProviders/{typeProvider}")
8627	urls += "?" + c.urlParams_.Encode()
8628	req, err := http.NewRequest("PUT", urls, body)
8629	if err != nil {
8630		return nil, err
8631	}
8632	req.Header = reqHeaders
8633	googleapi.Expand(req.URL, map[string]string{
8634		"project":      c.project,
8635		"typeProvider": c.typeProvider,
8636	})
8637	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8638}
8639
8640// Do executes the "deploymentmanager.typeProviders.update" call.
8641// Exactly one of *Operation or error will be non-nil. Any non-2xx
8642// status code is an error. Response headers are in either
8643// *Operation.ServerResponse.Header or (if a response was returned at
8644// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8645// to check whether the returned error was because
8646// http.StatusNotModified was returned.
8647func (c *TypeProvidersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8648	gensupport.SetOptions(c.urlParams_, opts...)
8649	res, err := c.doRequest("json")
8650	if res != nil && res.StatusCode == http.StatusNotModified {
8651		if res.Body != nil {
8652			res.Body.Close()
8653		}
8654		return nil, &googleapi.Error{
8655			Code:   res.StatusCode,
8656			Header: res.Header,
8657		}
8658	}
8659	if err != nil {
8660		return nil, err
8661	}
8662	defer googleapi.CloseBody(res)
8663	if err := googleapi.CheckResponse(res); err != nil {
8664		return nil, err
8665	}
8666	ret := &Operation{
8667		ServerResponse: googleapi.ServerResponse{
8668			Header:         res.Header,
8669			HTTPStatusCode: res.StatusCode,
8670		},
8671	}
8672	target := &ret
8673	if err := gensupport.DecodeResponse(target, res); err != nil {
8674		return nil, err
8675	}
8676	return ret, nil
8677	// {
8678	//   "description": "Updates a type provider.",
8679	//   "httpMethod": "PUT",
8680	//   "id": "deploymentmanager.typeProviders.update",
8681	//   "parameterOrder": [
8682	//     "project",
8683	//     "typeProvider"
8684	//   ],
8685	//   "parameters": {
8686	//     "project": {
8687	//       "description": "The project ID for this request.",
8688	//       "location": "path",
8689	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
8690	//       "required": true,
8691	//       "type": "string"
8692	//     },
8693	//     "typeProvider": {
8694	//       "description": "The name of the type provider for this request.",
8695	//       "location": "path",
8696	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8697	//       "required": true,
8698	//       "type": "string"
8699	//     }
8700	//   },
8701	//   "path": "{project}/global/typeProviders/{typeProvider}",
8702	//   "request": {
8703	//     "$ref": "TypeProvider"
8704	//   },
8705	//   "response": {
8706	//     "$ref": "Operation"
8707	//   },
8708	//   "scopes": [
8709	//     "https://www.googleapis.com/auth/cloud-platform",
8710	//     "https://www.googleapis.com/auth/ndev.cloudman"
8711	//   ]
8712	// }
8713
8714}
8715
8716// method id "deploymentmanager.types.list":
8717
8718type TypesListCall struct {
8719	s            *Service
8720	project      string
8721	urlParams_   gensupport.URLParams
8722	ifNoneMatch_ string
8723	ctx_         context.Context
8724	header_      http.Header
8725}
8726
8727// List: Lists all resource types for Deployment Manager.
8728func (r *TypesService) List(project string) *TypesListCall {
8729	c := &TypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8730	c.project = project
8731	return c
8732}
8733
8734// Filter sets the optional parameter "filter": A filter expression that
8735// filters resources listed in the response. The expression must specify
8736// the field name, a comparison operator, and the value that you want to
8737// use for filtering. The value must be a string, a number, or a
8738// boolean. The comparison operator must be either =, !=, >, or <.
8739//
8740// For example, if you are filtering Compute Engine instances, you can
8741// exclude instances named example-instance by specifying name !=
8742// example-instance.
8743//
8744// You can also filter nested fields. For example, you could specify
8745// scheduling.automaticRestart = false to include instances only if they
8746// are not scheduled for automatic restarts. You can use filtering on
8747// nested fields to filter based on resource labels.
8748//
8749// To filter on multiple expressions, provide each separate expression
8750// within parentheses. For example, (scheduling.automaticRestart = true)
8751// (cpuPlatform = "Intel Skylake"). By default, each expression is an
8752// AND expression. However, you can include AND and OR expressions
8753// explicitly. For example, (cpuPlatform = "Intel Skylake") OR
8754// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart =
8755// true).
8756func (c *TypesListCall) Filter(filter string) *TypesListCall {
8757	c.urlParams_.Set("filter", filter)
8758	return c
8759}
8760
8761// MaxResults sets the optional parameter "maxResults": The maximum
8762// number of results per page that should be returned. If the number of
8763// available results is larger than maxResults, Compute Engine returns a
8764// nextPageToken that can be used to get the next page of results in
8765// subsequent list requests. Acceptable values are 0 to 500, inclusive.
8766// (Default: 500)
8767func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
8768	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8769	return c
8770}
8771
8772// OrderBy sets the optional parameter "orderBy": Sorts list results by
8773// a certain order. By default, results are returned in alphanumerical
8774// order based on the resource name.
8775//
8776// You can also sort results in descending order based on the creation
8777// timestamp using orderBy="creationTimestamp desc". This sorts results
8778// based on the creationTimestamp field in reverse chronological order
8779// (newest result first). Use this to sort resources like operations so
8780// that the newest operation is returned first.
8781//
8782// Currently, only sorting by name or creationTimestamp desc is
8783// supported.
8784func (c *TypesListCall) OrderBy(orderBy string) *TypesListCall {
8785	c.urlParams_.Set("orderBy", orderBy)
8786	return c
8787}
8788
8789// PageToken sets the optional parameter "pageToken": Specifies a page
8790// token to use. Set pageToken to the nextPageToken returned by a
8791// previous list request to get the next page of results.
8792func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
8793	c.urlParams_.Set("pageToken", pageToken)
8794	return c
8795}
8796
8797// Fields allows partial responses to be retrieved. See
8798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8799// for more information.
8800func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
8801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8802	return c
8803}
8804
8805// IfNoneMatch sets the optional parameter which makes the operation
8806// fail if the object's ETag matches the given value. This is useful for
8807// getting updates only after the object has changed since the last
8808// request. Use googleapi.IsNotModified to check whether the response
8809// error from Do is the result of In-None-Match.
8810func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
8811	c.ifNoneMatch_ = entityTag
8812	return c
8813}
8814
8815// Context sets the context to be used in this call's Do method. Any
8816// pending HTTP request will be aborted if the provided context is
8817// canceled.
8818func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
8819	c.ctx_ = ctx
8820	return c
8821}
8822
8823// Header returns an http.Header that can be modified by the caller to
8824// add HTTP headers to the request.
8825func (c *TypesListCall) Header() http.Header {
8826	if c.header_ == nil {
8827		c.header_ = make(http.Header)
8828	}
8829	return c.header_
8830}
8831
8832func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
8833	reqHeaders := make(http.Header)
8834	for k, v := range c.header_ {
8835		reqHeaders[k] = v
8836	}
8837	reqHeaders.Set("User-Agent", c.s.userAgent())
8838	if c.ifNoneMatch_ != "" {
8839		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8840	}
8841	var body io.Reader = nil
8842	c.urlParams_.Set("alt", alt)
8843	c.urlParams_.Set("prettyPrint", "false")
8844	urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/types")
8845	urls += "?" + c.urlParams_.Encode()
8846	req, err := http.NewRequest("GET", urls, body)
8847	if err != nil {
8848		return nil, err
8849	}
8850	req.Header = reqHeaders
8851	googleapi.Expand(req.URL, map[string]string{
8852		"project": c.project,
8853	})
8854	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8855}
8856
8857// Do executes the "deploymentmanager.types.list" call.
8858// Exactly one of *TypesListResponse or error will be non-nil. Any
8859// non-2xx status code is an error. Response headers are in either
8860// *TypesListResponse.ServerResponse.Header or (if a response was
8861// returned at all) in error.(*googleapi.Error).Header. Use
8862// googleapi.IsNotModified to check whether the returned error was
8863// because http.StatusNotModified was returned.
8864func (c *TypesListCall) Do(opts ...googleapi.CallOption) (*TypesListResponse, error) {
8865	gensupport.SetOptions(c.urlParams_, opts...)
8866	res, err := c.doRequest("json")
8867	if res != nil && res.StatusCode == http.StatusNotModified {
8868		if res.Body != nil {
8869			res.Body.Close()
8870		}
8871		return nil, &googleapi.Error{
8872			Code:   res.StatusCode,
8873			Header: res.Header,
8874		}
8875	}
8876	if err != nil {
8877		return nil, err
8878	}
8879	defer googleapi.CloseBody(res)
8880	if err := googleapi.CheckResponse(res); err != nil {
8881		return nil, err
8882	}
8883	ret := &TypesListResponse{
8884		ServerResponse: googleapi.ServerResponse{
8885			Header:         res.Header,
8886			HTTPStatusCode: res.StatusCode,
8887		},
8888	}
8889	target := &ret
8890	if err := gensupport.DecodeResponse(target, res); err != nil {
8891		return nil, err
8892	}
8893	return ret, nil
8894	// {
8895	//   "description": "Lists all resource types for Deployment Manager.",
8896	//   "httpMethod": "GET",
8897	//   "id": "deploymentmanager.types.list",
8898	//   "parameterOrder": [
8899	//     "project"
8900	//   ],
8901	//   "parameters": {
8902	//     "filter": {
8903	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, \u003e, or \u003c.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).",
8904	//       "location": "query",
8905	//       "type": "string"
8906	//     },
8907	//     "maxResults": {
8908	//       "default": "500",
8909	//       "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
8910	//       "format": "uint32",
8911	//       "location": "query",
8912	//       "minimum": "0",
8913	//       "type": "integer"
8914	//     },
8915	//     "orderBy": {
8916	//       "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
8917	//       "location": "query",
8918	//       "type": "string"
8919	//     },
8920	//     "pageToken": {
8921	//       "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
8922	//       "location": "query",
8923	//       "type": "string"
8924	//     },
8925	//     "project": {
8926	//       "description": "The project ID for this request.",
8927	//       "location": "path",
8928	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
8929	//       "required": true,
8930	//       "type": "string"
8931	//     }
8932	//   },
8933	//   "path": "{project}/global/types",
8934	//   "response": {
8935	//     "$ref": "TypesListResponse"
8936	//   },
8937	//   "scopes": [
8938	//     "https://www.googleapis.com/auth/cloud-platform",
8939	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
8940	//     "https://www.googleapis.com/auth/ndev.cloudman",
8941	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8942	//   ]
8943	// }
8944
8945}
8946
8947// Pages invokes f for each page of results.
8948// A non-nil error returned from f will halt the iteration.
8949// The provided context supersedes any context provided to the Context method.
8950func (c *TypesListCall) Pages(ctx context.Context, f func(*TypesListResponse) error) error {
8951	c.ctx_ = ctx
8952	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8953	for {
8954		x, err := c.Do()
8955		if err != nil {
8956			return err
8957		}
8958		if err := f(x); err != nil {
8959			return err
8960		}
8961		if x.NextPageToken == "" {
8962			return nil
8963		}
8964		c.PageToken(x.NextPageToken)
8965	}
8966}
8967