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