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