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