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`, or principals, 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
446	// principals in this binding. To learn which resources support
447	// conditions in their 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 principals 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 the list of `members`, or principals.
486	// For example, `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`, or
1783// principals, to a single `role`. Principals can be user accounts,
1784// service accounts, Google groups, and domains (such as G Suite). A
1785// `role` is a named list of permissions; each `role` can be an IAM
1786// predefined role or a user-created custom role. For some types of
1787// Google Cloud resources, a `binding` can also specify a `condition`,
1788// which is a logical expression that allows access to a resource only
1789// if the expression evaluates to `true`. A condition can add
1790// constraints based on attributes of the request, the resource, or
1791// both. To learn which resources support conditions in their IAM
1792// policies, see the IAM 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`, or principals, with a
1820	// `role`. Optionally, may specify a `condition` that determines how and
1821	// when the `bindings` are applied. Each of the `bindings` must contain
1822	// at least one principal. The `bindings` in a `Policy` can refer to up
1823	// to 1,500 principals; up to 250 of these principals can be Google
1824	// groups. Each occurrence of a principal counts towards these limits.
1825	// For example, if the `bindings` grant 50 different roles to
1826	// `user:alice@example.com`, and not to any other principal, then you
1827	// can add another 1,450 principals to the `bindings` in the `Policy`.
1828	Bindings []*Binding `json:"bindings,omitempty"`
1829
1830	// Etag: `etag` is used for optimistic concurrency control as a way to
1831	// help prevent simultaneous updates of a policy from overwriting each
1832	// other. It is strongly suggested that systems make use of the `etag`
1833	// in the read-modify-write cycle to perform policy updates in order to
1834	// avoid race conditions: An `etag` is returned in the response to
1835	// `getIamPolicy`, and systems are expected to put that etag in the
1836	// request to `setIamPolicy` to ensure that their change will be applied
1837	// to the same version of the policy. **Important:** If you use IAM
1838	// Conditions, you must include the `etag` field whenever you call
1839	// `setIamPolicy`. If you omit this field, then IAM allows you to
1840	// overwrite a version `3` policy with a version `1` policy, and all of
1841	// the conditions in the version `3` policy are lost.
1842	Etag string `json:"etag,omitempty"`
1843
1844	// Version: Specifies the format of the policy. Valid values are `0`,
1845	// `1`, and `3`. Requests that specify an invalid value are rejected.
1846	// Any operation that affects conditional role bindings must specify
1847	// version `3`. This requirement applies to the following operations: *
1848	// Getting a policy that includes a conditional role binding * Adding a
1849	// conditional role binding to a policy * Changing a conditional role
1850	// binding in a policy * Removing any role binding, with or without a
1851	// condition, from a policy that includes conditions **Important:** If
1852	// you use IAM Conditions, you must include the `etag` field whenever
1853	// you call `setIamPolicy`. If you omit this field, then IAM allows you
1854	// to overwrite a version `3` policy with a version `1` policy, and all
1855	// of the conditions in the version `3` policy are lost. If a policy
1856	// does not include any conditions, operations on that policy may
1857	// specify any valid version or leave the field unset. To learn which
1858	// resources support conditions in their IAM policies, see the IAM
1859	// documentation
1860	// (https://cloud.google.com/iam/help/conditions/resource-policies).
1861	Version int64 `json:"version,omitempty"`
1862
1863	// ServerResponse contains the HTTP response code and headers from the
1864	// server.
1865	googleapi.ServerResponse `json:"-"`
1866
1867	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
1868	// unconditionally include in API requests. By default, fields with
1869	// empty or default values are omitted from API requests. However, any
1870	// non-pointer, non-interface field appearing in ForceSendFields will be
1871	// sent to the server regardless of whether the field is empty or not.
1872	// This may be used to include empty fields in Patch requests.
1873	ForceSendFields []string `json:"-"`
1874
1875	// NullFields is a list of field names (e.g. "AuditConfigs") to include
1876	// in API requests with the JSON null value. By default, fields with
1877	// empty values are omitted from API requests. However, any field with
1878	// an empty value appearing in NullFields will be sent to the server as
1879	// null. It is an error if a field in this list has a non-empty value.
1880	// This may be used to include null fields in Patch requests.
1881	NullFields []string `json:"-"`
1882}
1883
1884func (s *Policy) MarshalJSON() ([]byte, error) {
1885	type NoMethod Policy
1886	raw := NoMethod(*s)
1887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1888}
1889
1890type PollingOptions struct {
1891	// Diagnostics: An array of diagnostics to be collected by Deployment
1892	// Manager, these diagnostics will be displayed to the user.
1893	Diagnostics []*Diagnostic `json:"diagnostics,omitempty"`
1894
1895	// FailCondition: JsonPath expression that determines if the request
1896	// failed.
1897	FailCondition string `json:"failCondition,omitempty"`
1898
1899	// FinishCondition: JsonPath expression that determines if the request
1900	// is completed.
1901	FinishCondition string `json:"finishCondition,omitempty"`
1902
1903	// PollingLink: JsonPath expression that evaluates to string, it
1904	// indicates where to poll.
1905	PollingLink string `json:"pollingLink,omitempty"`
1906
1907	// TargetLink: JsonPath expression, after polling is completed,
1908	// indicates where to fetch the resource.
1909	TargetLink string `json:"targetLink,omitempty"`
1910
1911	// ForceSendFields is a list of field names (e.g. "Diagnostics") to
1912	// unconditionally include in API requests. By default, fields with
1913	// empty or default values are omitted from API requests. However, any
1914	// non-pointer, non-interface field appearing in ForceSendFields will be
1915	// sent to the server regardless of whether the field is empty or not.
1916	// This may be used to include empty fields in Patch requests.
1917	ForceSendFields []string `json:"-"`
1918
1919	// NullFields is a list of field names (e.g. "Diagnostics") to include
1920	// in API requests with the JSON null value. By default, fields with
1921	// empty values are omitted from API requests. However, any field with
1922	// an empty value appearing in NullFields will be sent to the server as
1923	// null. It is an error if a field in this list has a non-empty value.
1924	// This may be used to include null fields in Patch requests.
1925	NullFields []string `json:"-"`
1926}
1927
1928func (s *PollingOptions) MarshalJSON() ([]byte, error) {
1929	type NoMethod PollingOptions
1930	raw := NoMethod(*s)
1931	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1932}
1933
1934type Resource struct {
1935	// AccessControl: The Access Control Policy set on this resource.
1936	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
1937
1938	// FinalProperties: Output only. The evaluated properties of the
1939	// resource with references expanded. Returned as serialized YAML.
1940	FinalProperties string `json:"finalProperties,omitempty"`
1941
1942	Id uint64 `json:"id,omitempty,string"`
1943
1944	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
1945	InsertTime string `json:"insertTime,omitempty"`
1946
1947	// Manifest: Output only. URL of the manifest representing the current
1948	// configuration of this resource.
1949	Manifest string `json:"manifest,omitempty"`
1950
1951	// Name: Output only. The name of the resource as it appears in the YAML
1952	// config.
1953	Name string `json:"name,omitempty"`
1954
1955	// Properties: Output only. The current properties of the resource
1956	// before any references have been filled in. Returned as serialized
1957	// YAML.
1958	Properties string `json:"properties,omitempty"`
1959
1960	// Type: Output only. The type of the resource, for example
1961	// `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.
1962	Type string `json:"type,omitempty"`
1963
1964	// Update: Output only. If Deployment Manager is currently updating or
1965	// previewing an update to this resource, the updated configuration
1966	// appears here.
1967	Update *ResourceUpdate `json:"update,omitempty"`
1968
1969	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
1970	UpdateTime string `json:"updateTime,omitempty"`
1971
1972	// Url: Output only. The URL of the actual resource.
1973	Url string `json:"url,omitempty"`
1974
1975	// Warnings: Output only. If warning messages are generated during
1976	// processing of this resource, this field will be populated.
1977	Warnings []*ResourceWarnings `json:"warnings,omitempty"`
1978
1979	// ServerResponse contains the HTTP response code and headers from the
1980	// server.
1981	googleapi.ServerResponse `json:"-"`
1982
1983	// ForceSendFields is a list of field names (e.g. "AccessControl") to
1984	// unconditionally include in API requests. By default, fields with
1985	// empty or default values are omitted from API requests. However, any
1986	// non-pointer, non-interface field appearing in ForceSendFields will be
1987	// sent to the server regardless of whether the field is empty or not.
1988	// This may be used to include empty fields in Patch requests.
1989	ForceSendFields []string `json:"-"`
1990
1991	// NullFields is a list of field names (e.g. "AccessControl") to include
1992	// in API requests with the JSON null value. By default, fields with
1993	// empty values are omitted from API requests. However, any field with
1994	// an empty value appearing in NullFields will be sent to the server as
1995	// null. It is an error if a field in this list has a non-empty value.
1996	// This may be used to include null fields in Patch requests.
1997	NullFields []string `json:"-"`
1998}
1999
2000func (s *Resource) MarshalJSON() ([]byte, error) {
2001	type NoMethod Resource
2002	raw := NoMethod(*s)
2003	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2004}
2005
2006type ResourceWarnings struct {
2007	// Code: [Output Only] A warning code, if applicable. For example,
2008	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
2009	// the response.
2010	//
2011	// Possible values:
2012	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
2013	// created.
2014	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
2015	// page.
2016	//   "UNREACHABLE" - A given scope cannot be reached.
2017	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
2018	// not assigned to an instance on the network.
2019	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
2020	// refers to an instance that does not exist.
2021	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
2022	// URL refers to an instance that is not on the same network as the
2023	// route.
2024	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
2025	// ip forward.
2026	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
2027	// have a status of RUNNING.
2028	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
2029	// injected kernel, which is deprecated.
2030	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
2031	// that requires a TOS they have not accepted.
2032	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
2033	// that is larger than image size.
2034	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
2035	// auto-delete could not be deleted because they were in use.
2036	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
2037	// instance group manager is valid as such, but its application does not
2038	// make a lot of sense, because it allows only single instance in
2039	// instance group.
2040	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
2041	// continue the process despite the mentioned error.
2042	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient
2043	// changes made by a failed operation.
2044	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
2045	// overridden. Deprecated unused field.
2046	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
2047	// resource is in use.
2048	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
2049	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
2050	// call
2051	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
2052	// ignored.
2053	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
2054	// are present
2055	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
2056	// resources has a type marked as experimental
2057	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
2058	// resources has a type marked as deprecated
2059	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
2060	// missing due to errors
2061	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
2062	// exceedingly large number of resources
2063	Code string `json:"code,omitempty"`
2064
2065	// Data: [Output Only] Metadata about this warning in key: value format.
2066	// For example: "data": [ { "key": "scope", "value": "zones/us-east1-d"
2067	// }
2068	Data []*ResourceWarningsData `json:"data,omitempty"`
2069
2070	// Message: [Output Only] A human-readable description of the warning
2071	// code.
2072	Message string `json:"message,omitempty"`
2073
2074	// ForceSendFields is a list of field names (e.g. "Code") to
2075	// unconditionally include in API requests. By default, fields with
2076	// empty or default values are omitted from API requests. However, any
2077	// non-pointer, non-interface field appearing in ForceSendFields will be
2078	// sent to the server regardless of whether the field is empty or not.
2079	// This may be used to include empty fields in Patch requests.
2080	ForceSendFields []string `json:"-"`
2081
2082	// NullFields is a list of field names (e.g. "Code") to include in API
2083	// requests with the JSON null value. By default, fields with empty
2084	// values are omitted from API requests. However, any field with an
2085	// empty value appearing in NullFields will be sent to the server as
2086	// null. It is an error if a field in this list has a non-empty value.
2087	// This may be used to include null fields in Patch requests.
2088	NullFields []string `json:"-"`
2089}
2090
2091func (s *ResourceWarnings) MarshalJSON() ([]byte, error) {
2092	type NoMethod ResourceWarnings
2093	raw := NoMethod(*s)
2094	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2095}
2096
2097type ResourceWarningsData struct {
2098	// Key: [Output Only] A key that provides more detail on the warning
2099	// being returned. For example, for warnings where there are no results
2100	// in a list request for a particular zone, this key might be scope and
2101	// the key value might be the zone name. Other examples might be a key
2102	// indicating a deprecated resource and a suggested replacement, or a
2103	// warning about invalid network settings (for example, if an instance
2104	// attempts to perform IP forwarding but is not enabled for IP
2105	// forwarding).
2106	Key string `json:"key,omitempty"`
2107
2108	// Value: [Output Only] A warning data value corresponding to the key.
2109	Value string `json:"value,omitempty"`
2110
2111	// ForceSendFields is a list of field names (e.g. "Key") to
2112	// unconditionally include in API requests. By default, fields with
2113	// empty or default values are omitted from API requests. However, any
2114	// non-pointer, non-interface field appearing in ForceSendFields will be
2115	// sent to the server regardless of whether the field is empty or not.
2116	// This may be used to include empty fields in Patch requests.
2117	ForceSendFields []string `json:"-"`
2118
2119	// NullFields is a list of field names (e.g. "Key") to include in API
2120	// requests with the JSON null value. By default, fields with empty
2121	// values are omitted from API requests. However, any field with an
2122	// empty value appearing in NullFields will be sent to the server as
2123	// null. It is an error if a field in this list has a non-empty value.
2124	// This may be used to include null fields in Patch requests.
2125	NullFields []string `json:"-"`
2126}
2127
2128func (s *ResourceWarningsData) MarshalJSON() ([]byte, error) {
2129	type NoMethod ResourceWarningsData
2130	raw := NoMethod(*s)
2131	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2132}
2133
2134// ResourceAccessControl: The access controls set on the resource.
2135type ResourceAccessControl struct {
2136	// GcpIamPolicy: The GCP IAM Policy to set on the resource.
2137	GcpIamPolicy string `json:"gcpIamPolicy,omitempty"`
2138
2139	// ForceSendFields is a list of field names (e.g. "GcpIamPolicy") to
2140	// unconditionally include in API requests. By default, fields with
2141	// empty or default values are omitted from API requests. However, any
2142	// non-pointer, non-interface field appearing in ForceSendFields will be
2143	// sent to the server regardless of whether the field is empty or not.
2144	// This may be used to include empty fields in Patch requests.
2145	ForceSendFields []string `json:"-"`
2146
2147	// NullFields is a list of field names (e.g. "GcpIamPolicy") to include
2148	// in API requests with the JSON null value. By default, fields with
2149	// empty values are omitted from API requests. However, any field with
2150	// an empty value appearing in NullFields will be sent to the server as
2151	// null. It is an error if a field in this list has a non-empty value.
2152	// This may be used to include null fields in Patch requests.
2153	NullFields []string `json:"-"`
2154}
2155
2156func (s *ResourceAccessControl) MarshalJSON() ([]byte, error) {
2157	type NoMethod ResourceAccessControl
2158	raw := NoMethod(*s)
2159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2160}
2161
2162type ResourceUpdate struct {
2163	// AccessControl: The Access Control Policy to set on this resource
2164	// after updating the resource itself.
2165	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
2166
2167	// Error: Output only. If errors are generated during update of the
2168	// resource, this field will be populated.
2169	Error *ResourceUpdateError `json:"error,omitempty"`
2170
2171	// FinalProperties: Output only. The expanded properties of the resource
2172	// with reference values expanded. Returned as serialized YAML.
2173	FinalProperties string `json:"finalProperties,omitempty"`
2174
2175	// Intent: Output only. The intent of the resource: `PREVIEW`, `UPDATE`,
2176	// or `CANCEL`.
2177	//
2178	// Possible values:
2179	//   "CREATE_OR_ACQUIRE" - The resource is scheduled to be created, or
2180	// if it already exists, acquired.
2181	//   "DELETE" - The resource is scheduled to be deleted.
2182	//   "ACQUIRE" - The resource is scheduled to be acquired.
2183	//   "UPDATE" - The resource is scheduled to be updated via the UPDATE
2184	// method.
2185	//   "ABANDON" - The resource is scheduled to be abandoned.
2186	//   "CREATE" - The resource is scheduled to be created.
2187	Intent string `json:"intent,omitempty"`
2188
2189	// Manifest: Output only. URL of the manifest representing the update
2190	// configuration of this resource.
2191	Manifest string `json:"manifest,omitempty"`
2192
2193	// Properties: Output only. The set of updated properties for this
2194	// resource, before references are expanded. Returned as serialized
2195	// YAML.
2196	Properties string `json:"properties,omitempty"`
2197
2198	// State: Output only. The state of the resource.
2199	//
2200	// Possible values:
2201	//   "PENDING" - There are changes pending for this resource.
2202	//   "IN_PROGRESS" - The service is executing changes on the resource.
2203	//   "IN_PREVIEW" - The service is previewing changes on the resource.
2204	//   "FAILED" - The service has failed to change the resource.
2205	//   "ABORTED" - The service has aborted trying to change the resource.
2206	State string `json:"state,omitempty"`
2207
2208	// Warnings: Output only. If warning messages are generated during
2209	// processing of this resource, this field will be populated.
2210	Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"`
2211
2212	// ForceSendFields is a list of field names (e.g. "AccessControl") to
2213	// unconditionally include in API requests. By default, fields with
2214	// empty or default values are omitted from API requests. However, any
2215	// non-pointer, non-interface field appearing in ForceSendFields will be
2216	// sent to the server regardless of whether the field is empty or not.
2217	// This may be used to include empty fields in Patch requests.
2218	ForceSendFields []string `json:"-"`
2219
2220	// NullFields is a list of field names (e.g. "AccessControl") to include
2221	// in API requests with the JSON null value. By default, fields with
2222	// empty values are omitted from API requests. However, any field with
2223	// an empty value appearing in NullFields will be sent to the server as
2224	// null. It is an error if a field in this list has a non-empty value.
2225	// This may be used to include null fields in Patch requests.
2226	NullFields []string `json:"-"`
2227}
2228
2229func (s *ResourceUpdate) MarshalJSON() ([]byte, error) {
2230	type NoMethod ResourceUpdate
2231	raw := NoMethod(*s)
2232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2233}
2234
2235// ResourceUpdateError: Output only. If errors are generated during
2236// update of the resource, this field will be populated.
2237type ResourceUpdateError struct {
2238	// Errors: [Output Only] The array of errors encountered while
2239	// processing this operation.
2240	Errors []*ResourceUpdateErrorErrors `json:"errors,omitempty"`
2241
2242	// ForceSendFields is a list of field names (e.g. "Errors") to
2243	// unconditionally include in API requests. By default, fields with
2244	// empty or default values are omitted from API requests. However, any
2245	// non-pointer, non-interface field appearing in ForceSendFields will be
2246	// sent to the server regardless of whether the field is empty or not.
2247	// This may be used to include empty fields in Patch requests.
2248	ForceSendFields []string `json:"-"`
2249
2250	// NullFields is a list of field names (e.g. "Errors") to include in API
2251	// requests with the JSON null value. By default, fields with empty
2252	// values are omitted from API requests. However, any field with an
2253	// empty value appearing in NullFields will be sent to the server as
2254	// null. It is an error if a field in this list has a non-empty value.
2255	// This may be used to include null fields in Patch requests.
2256	NullFields []string `json:"-"`
2257}
2258
2259func (s *ResourceUpdateError) MarshalJSON() ([]byte, error) {
2260	type NoMethod ResourceUpdateError
2261	raw := NoMethod(*s)
2262	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2263}
2264
2265type ResourceUpdateErrorErrors struct {
2266	// Code: [Output Only] The error type identifier for this error.
2267	Code string `json:"code,omitempty"`
2268
2269	// Location: [Output Only] Indicates the field in the request that
2270	// caused the error. This property is optional.
2271	Location string `json:"location,omitempty"`
2272
2273	// Message: [Output Only] An optional, human-readable error message.
2274	Message string `json:"message,omitempty"`
2275
2276	// ForceSendFields is a list of field names (e.g. "Code") to
2277	// unconditionally include in API requests. By default, fields with
2278	// empty or default values are omitted from API requests. However, any
2279	// non-pointer, non-interface field appearing in ForceSendFields will be
2280	// sent to the server regardless of whether the field is empty or not.
2281	// This may be used to include empty fields in Patch requests.
2282	ForceSendFields []string `json:"-"`
2283
2284	// NullFields is a list of field names (e.g. "Code") to include in API
2285	// requests with the JSON null value. By default, fields with empty
2286	// values are omitted from API requests. However, any field with an
2287	// empty value appearing in NullFields will be sent to the server as
2288	// null. It is an error if a field in this list has a non-empty value.
2289	// This may be used to include null fields in Patch requests.
2290	NullFields []string `json:"-"`
2291}
2292
2293func (s *ResourceUpdateErrorErrors) MarshalJSON() ([]byte, error) {
2294	type NoMethod ResourceUpdateErrorErrors
2295	raw := NoMethod(*s)
2296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2297}
2298
2299type ResourceUpdateWarnings struct {
2300	// Code: [Output Only] A warning code, if applicable. For example,
2301	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
2302	// the response.
2303	//
2304	// Possible values:
2305	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
2306	// created.
2307	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
2308	// page.
2309	//   "UNREACHABLE" - A given scope cannot be reached.
2310	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
2311	// not assigned to an instance on the network.
2312	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
2313	// refers to an instance that does not exist.
2314	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
2315	// URL refers to an instance that is not on the same network as the
2316	// route.
2317	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
2318	// ip forward.
2319	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
2320	// have a status of RUNNING.
2321	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
2322	// injected kernel, which is deprecated.
2323	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
2324	// that requires a TOS they have not accepted.
2325	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
2326	// that is larger than image size.
2327	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
2328	// auto-delete could not be deleted because they were in use.
2329	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
2330	// instance group manager is valid as such, but its application does not
2331	// make a lot of sense, because it allows only single instance in
2332	// instance group.
2333	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
2334	// continue the process despite the mentioned error.
2335	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient
2336	// changes made by a failed operation.
2337	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
2338	// overridden. Deprecated unused field.
2339	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
2340	// resource is in use.
2341	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
2342	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
2343	// call
2344	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
2345	// ignored.
2346	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
2347	// are present
2348	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
2349	// resources has a type marked as experimental
2350	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
2351	// resources has a type marked as deprecated
2352	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
2353	// missing due to errors
2354	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
2355	// exceedingly large number of resources
2356	Code string `json:"code,omitempty"`
2357
2358	// Data: [Output Only] Metadata about this warning in key: value format.
2359	// For example: "data": [ { "key": "scope", "value": "zones/us-east1-d"
2360	// }
2361	Data []*ResourceUpdateWarningsData `json:"data,omitempty"`
2362
2363	// Message: [Output Only] A human-readable description of the warning
2364	// code.
2365	Message string `json:"message,omitempty"`
2366
2367	// ForceSendFields is a list of field names (e.g. "Code") to
2368	// unconditionally include in API requests. By default, fields with
2369	// empty or default values are omitted from API requests. However, any
2370	// non-pointer, non-interface field appearing in ForceSendFields will be
2371	// sent to the server regardless of whether the field is empty or not.
2372	// This may be used to include empty fields in Patch requests.
2373	ForceSendFields []string `json:"-"`
2374
2375	// NullFields is a list of field names (e.g. "Code") to include in API
2376	// requests with the JSON null value. By default, fields with empty
2377	// values are omitted from API requests. However, any field with an
2378	// empty value appearing in NullFields will be sent to the server as
2379	// null. It is an error if a field in this list has a non-empty value.
2380	// This may be used to include null fields in Patch requests.
2381	NullFields []string `json:"-"`
2382}
2383
2384func (s *ResourceUpdateWarnings) MarshalJSON() ([]byte, error) {
2385	type NoMethod ResourceUpdateWarnings
2386	raw := NoMethod(*s)
2387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2388}
2389
2390type ResourceUpdateWarningsData struct {
2391	// Key: [Output Only] A key that provides more detail on the warning
2392	// being returned. For example, for warnings where there are no results
2393	// in a list request for a particular zone, this key might be scope and
2394	// the key value might be the zone name. Other examples might be a key
2395	// indicating a deprecated resource and a suggested replacement, or a
2396	// warning about invalid network settings (for example, if an instance
2397	// attempts to perform IP forwarding but is not enabled for IP
2398	// forwarding).
2399	Key string `json:"key,omitempty"`
2400
2401	// Value: [Output Only] A warning data value corresponding to the key.
2402	Value string `json:"value,omitempty"`
2403
2404	// ForceSendFields is a list of field names (e.g. "Key") to
2405	// unconditionally include in API requests. By default, fields with
2406	// empty or default values are omitted from API requests. However, any
2407	// non-pointer, non-interface field appearing in ForceSendFields will be
2408	// sent to the server regardless of whether the field is empty or not.
2409	// This may be used to include empty fields in Patch requests.
2410	ForceSendFields []string `json:"-"`
2411
2412	// NullFields is a list of field names (e.g. "Key") to include in API
2413	// requests with the JSON null value. By default, fields with empty
2414	// values are omitted from API requests. However, any field with an
2415	// empty value appearing in NullFields will be sent to the server as
2416	// null. It is an error if a field in this list has a non-empty value.
2417	// This may be used to include null fields in Patch requests.
2418	NullFields []string `json:"-"`
2419}
2420
2421func (s *ResourceUpdateWarningsData) MarshalJSON() ([]byte, error) {
2422	type NoMethod ResourceUpdateWarningsData
2423	raw := NoMethod(*s)
2424	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2425}
2426
2427// ResourcesListResponse: A response containing a partial list of
2428// resources and a page token used to build the next request if the
2429// request has been truncated.
2430type ResourcesListResponse struct {
2431	// NextPageToken: A token used to continue a truncated list request.
2432	NextPageToken string `json:"nextPageToken,omitempty"`
2433
2434	// Resources: Resources contained in this list response.
2435	Resources []*Resource `json:"resources,omitempty"`
2436
2437	// ServerResponse contains the HTTP response code and headers from the
2438	// server.
2439	googleapi.ServerResponse `json:"-"`
2440
2441	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2442	// unconditionally include in API requests. By default, fields with
2443	// empty or default values are omitted from API requests. However, any
2444	// non-pointer, non-interface field appearing in ForceSendFields will be
2445	// sent to the server regardless of whether the field is empty or not.
2446	// This may be used to include empty fields in Patch requests.
2447	ForceSendFields []string `json:"-"`
2448
2449	// NullFields is a list of field names (e.g. "NextPageToken") to include
2450	// in API requests with the JSON null value. By default, fields with
2451	// empty values are omitted from API requests. However, any field with
2452	// an empty value appearing in NullFields will be sent to the server as
2453	// null. It is an error if a field in this list has a non-empty value.
2454	// This may be used to include null fields in Patch requests.
2455	NullFields []string `json:"-"`
2456}
2457
2458func (s *ResourcesListResponse) MarshalJSON() ([]byte, error) {
2459	type NoMethod ResourcesListResponse
2460	raw := NoMethod(*s)
2461	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2462}
2463
2464// ServiceAccount: Service Account used as a credential.
2465type ServiceAccount struct {
2466	// Email: The IAM service account email address like
2467	// test@myproject.iam.gserviceaccount.com
2468	Email string `json:"email,omitempty"`
2469
2470	// ForceSendFields is a list of field names (e.g. "Email") to
2471	// unconditionally include in API requests. By default, fields with
2472	// empty or default values are omitted from API requests. However, any
2473	// non-pointer, non-interface field appearing in ForceSendFields will be
2474	// sent to the server regardless of whether the field is empty or not.
2475	// This may be used to include empty fields in Patch requests.
2476	ForceSendFields []string `json:"-"`
2477
2478	// NullFields is a list of field names (e.g. "Email") to include in API
2479	// requests with the JSON null value. By default, fields with empty
2480	// values are omitted from API requests. However, any field with an
2481	// empty value appearing in NullFields will be sent to the server as
2482	// null. It is an error if a field in this list has a non-empty value.
2483	// This may be used to include null fields in Patch requests.
2484	NullFields []string `json:"-"`
2485}
2486
2487func (s *ServiceAccount) MarshalJSON() ([]byte, error) {
2488	type NoMethod ServiceAccount
2489	raw := NoMethod(*s)
2490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2491}
2492
2493type TargetConfiguration struct {
2494	// Config: The configuration to use for this deployment.
2495	Config *ConfigFile `json:"config,omitempty"`
2496
2497	// Imports: Specifies any files to import for this configuration. This
2498	// can be used to import templates or other files. For example, you
2499	// might import a text file in order to use the file in a template.
2500	Imports []*ImportFile `json:"imports,omitempty"`
2501
2502	// ForceSendFields is a list of field names (e.g. "Config") to
2503	// unconditionally include in API requests. By default, fields with
2504	// empty or default values are omitted from API requests. However, any
2505	// non-pointer, non-interface field appearing in ForceSendFields will be
2506	// sent to the server regardless of whether the field is empty or not.
2507	// This may be used to include empty fields in Patch requests.
2508	ForceSendFields []string `json:"-"`
2509
2510	// NullFields is a list of field names (e.g. "Config") to include in API
2511	// requests with the JSON null value. By default, fields with empty
2512	// values are omitted from API requests. However, any field with an
2513	// empty value appearing in NullFields will be sent to the server as
2514	// null. It is an error if a field in this list has a non-empty value.
2515	// This may be used to include null fields in Patch requests.
2516	NullFields []string `json:"-"`
2517}
2518
2519func (s *TargetConfiguration) MarshalJSON() ([]byte, error) {
2520	type NoMethod TargetConfiguration
2521	raw := NoMethod(*s)
2522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2523}
2524
2525// TemplateContents: Files that make up the template contents of a
2526// template type.
2527type TemplateContents struct {
2528	// Imports: Import files referenced by the main template.
2529	Imports []*ImportFile `json:"imports,omitempty"`
2530
2531	// Interpreter: Which interpreter (python or jinja) should be used
2532	// during expansion.
2533	//
2534	// Possible values:
2535	//   "UNKNOWN_INTERPRETER"
2536	//   "PYTHON"
2537	//   "JINJA"
2538	Interpreter string `json:"interpreter,omitempty"`
2539
2540	// MainTemplate: The filename of the mainTemplate
2541	MainTemplate string `json:"mainTemplate,omitempty"`
2542
2543	// Schema: The contents of the template schema.
2544	Schema string `json:"schema,omitempty"`
2545
2546	// Template: The contents of the main template file.
2547	Template string `json:"template,omitempty"`
2548
2549	// ForceSendFields is a list of field names (e.g. "Imports") to
2550	// unconditionally include in API requests. By default, fields with
2551	// empty or default values are omitted from API requests. However, any
2552	// non-pointer, non-interface field appearing in ForceSendFields will be
2553	// sent to the server regardless of whether the field is empty or not.
2554	// This may be used to include empty fields in Patch requests.
2555	ForceSendFields []string `json:"-"`
2556
2557	// NullFields is a list of field names (e.g. "Imports") to include in
2558	// API requests with the JSON null value. By default, fields with empty
2559	// values are omitted from API requests. However, any field with an
2560	// empty value appearing in NullFields will be sent to the server as
2561	// null. It is an error if a field in this list has a non-empty value.
2562	// This may be used to include null fields in Patch requests.
2563	NullFields []string `json:"-"`
2564}
2565
2566func (s *TemplateContents) MarshalJSON() ([]byte, error) {
2567	type NoMethod TemplateContents
2568	raw := NoMethod(*s)
2569	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2570}
2571
2572type TestPermissionsRequest struct {
2573	// Permissions: The set of permissions to check for the 'resource'.
2574	// Permissions with wildcards (such as '*' or 'storage.*') are not
2575	// allowed.
2576	Permissions []string `json:"permissions,omitempty"`
2577
2578	// ForceSendFields is a list of field names (e.g. "Permissions") to
2579	// unconditionally include in API requests. By default, fields with
2580	// empty or default values are omitted from API requests. However, any
2581	// non-pointer, non-interface field appearing in ForceSendFields will be
2582	// sent to the server regardless of whether the field is empty or not.
2583	// This may be used to include empty fields in Patch requests.
2584	ForceSendFields []string `json:"-"`
2585
2586	// NullFields is a list of field names (e.g. "Permissions") to include
2587	// in API requests with the JSON null value. By default, fields with
2588	// empty values are omitted from API requests. However, any field with
2589	// an empty value appearing in NullFields will be sent to the server as
2590	// null. It is an error if a field in this list has a non-empty value.
2591	// This may be used to include null fields in Patch requests.
2592	NullFields []string `json:"-"`
2593}
2594
2595func (s *TestPermissionsRequest) MarshalJSON() ([]byte, error) {
2596	type NoMethod TestPermissionsRequest
2597	raw := NoMethod(*s)
2598	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2599}
2600
2601type TestPermissionsResponse struct {
2602	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2603	// the caller is allowed.
2604	Permissions []string `json:"permissions,omitempty"`
2605
2606	// ServerResponse contains the HTTP response code and headers from the
2607	// server.
2608	googleapi.ServerResponse `json:"-"`
2609
2610	// ForceSendFields is a list of field names (e.g. "Permissions") to
2611	// unconditionally include in API requests. By default, fields with
2612	// empty or default values are omitted from API requests. However, any
2613	// non-pointer, non-interface field appearing in ForceSendFields will be
2614	// sent to the server regardless of whether the field is empty or not.
2615	// This may be used to include empty fields in Patch requests.
2616	ForceSendFields []string `json:"-"`
2617
2618	// NullFields is a list of field names (e.g. "Permissions") to include
2619	// in API requests with the JSON null value. By default, fields with
2620	// empty values are omitted from API requests. However, any field with
2621	// an empty value appearing in NullFields will be sent to the server as
2622	// null. It is an error if a field in this list has a non-empty value.
2623	// This may be used to include null fields in Patch requests.
2624	NullFields []string `json:"-"`
2625}
2626
2627func (s *TestPermissionsResponse) MarshalJSON() ([]byte, error) {
2628	type NoMethod TestPermissionsResponse
2629	raw := NoMethod(*s)
2630	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2631}
2632
2633// Type: A resource type supported by Deployment Manager.
2634type Type struct {
2635	// Base: Base Type (configurable service) that backs this Type.
2636	Base *BaseType `json:"base,omitempty"`
2637
2638	// Description: An optional textual description of the resource;
2639	// provided by the client when the resource is created.
2640	Description string `json:"description,omitempty"`
2641
2642	Id uint64 `json:"id,omitempty,string"`
2643
2644	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2645	InsertTime string `json:"insertTime,omitempty"`
2646
2647	// Labels: Map of One Platform labels; provided by the client when the
2648	// resource is created or updated. Specifically: Label keys must be
2649	// between 1 and 63 characters long and must conform to the following
2650	// regular expression: `a-z ([-a-z0-9]*[a-z0-9])?` Label values must be
2651	// between 0 and 63 characters long and must conform to the regular
2652	// expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
2653	Labels []*TypeLabelEntry `json:"labels,omitempty"`
2654
2655	// Name: Name of the type.
2656	Name string `json:"name,omitempty"`
2657
2658	// Operation: Output only. The Operation that most recently ran, or is
2659	// currently running, on this type.
2660	Operation *Operation `json:"operation,omitempty"`
2661
2662	// SelfLink: Output only. Server defined URL for the resource.
2663	SelfLink string `json:"selfLink,omitempty"`
2664
2665	// ForceSendFields is a list of field names (e.g. "Base") to
2666	// unconditionally include in API requests. By default, fields with
2667	// empty or default values are omitted from API requests. However, any
2668	// non-pointer, non-interface field appearing in ForceSendFields will be
2669	// sent to the server regardless of whether the field is empty or not.
2670	// This may be used to include empty fields in Patch requests.
2671	ForceSendFields []string `json:"-"`
2672
2673	// NullFields is a list of field names (e.g. "Base") to include in API
2674	// requests with the JSON null value. By default, fields with empty
2675	// values are omitted from API requests. However, any field with an
2676	// empty value appearing in NullFields will be sent to the server as
2677	// null. It is an error if a field in this list has a non-empty value.
2678	// This may be used to include null fields in Patch requests.
2679	NullFields []string `json:"-"`
2680}
2681
2682func (s *Type) MarshalJSON() ([]byte, error) {
2683	type NoMethod Type
2684	raw := NoMethod(*s)
2685	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2686}
2687
2688// TypeInfo: Type Information. Contains detailed information about a
2689// composite type, base type, or base type with specific collection.
2690type TypeInfo struct {
2691	// Description: The description of the type.
2692	Description string `json:"description,omitempty"`
2693
2694	// DocumentationLink: For swagger 2.0 externalDocs field will be used.
2695	// For swagger 1.2 this field will be empty.
2696	DocumentationLink string `json:"documentationLink,omitempty"`
2697
2698	// Kind: Output only. Type of the output. Always
2699	// `deploymentManager#TypeInfo` for TypeInfo.
2700	Kind string `json:"kind,omitempty"`
2701
2702	// Name: The base type or composite type name.
2703	Name string `json:"name,omitempty"`
2704
2705	// Schema: For base types with a collection, we return a schema and
2706	// documentation link For template types, we return only a schema
2707	Schema *TypeInfoSchemaInfo `json:"schema,omitempty"`
2708
2709	// SelfLink: Output only. Self link for the type provider.
2710	SelfLink string `json:"selfLink,omitempty"`
2711
2712	// Title: The title on the API descriptor URL provided.
2713	Title string `json:"title,omitempty"`
2714
2715	// ServerResponse contains the HTTP response code and headers from the
2716	// server.
2717	googleapi.ServerResponse `json:"-"`
2718
2719	// ForceSendFields is a list of field names (e.g. "Description") to
2720	// unconditionally include in API requests. By default, fields with
2721	// empty or default values are omitted from API requests. However, any
2722	// non-pointer, non-interface field appearing in ForceSendFields will be
2723	// sent to the server regardless of whether the field is empty or not.
2724	// This may be used to include empty fields in Patch requests.
2725	ForceSendFields []string `json:"-"`
2726
2727	// NullFields is a list of field names (e.g. "Description") to include
2728	// in API requests with the JSON null value. By default, fields with
2729	// empty values are omitted from API requests. However, any field with
2730	// an empty value appearing in NullFields will be sent to the server as
2731	// null. It is an error if a field in this list has a non-empty value.
2732	// This may be used to include null fields in Patch requests.
2733	NullFields []string `json:"-"`
2734}
2735
2736func (s *TypeInfo) MarshalJSON() ([]byte, error) {
2737	type NoMethod TypeInfo
2738	raw := NoMethod(*s)
2739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2740}
2741
2742type TypeInfoSchemaInfo struct {
2743	// Input: The properties that this composite type or base type
2744	// collection accept as input, represented as a json blob, format is:
2745	// JSON Schema Draft V4
2746	Input string `json:"input,omitempty"`
2747
2748	// Output: The properties that this composite type or base type
2749	// collection exposes as output, these properties can be used for
2750	// references, represented as json blob, format is: JSON Schema Draft V4
2751	Output string `json:"output,omitempty"`
2752
2753	// ForceSendFields is a list of field names (e.g. "Input") to
2754	// unconditionally include in API requests. By default, fields with
2755	// empty or default values are omitted from API requests. However, any
2756	// non-pointer, non-interface field appearing in ForceSendFields will be
2757	// sent to the server regardless of whether the field is empty or not.
2758	// This may be used to include empty fields in Patch requests.
2759	ForceSendFields []string `json:"-"`
2760
2761	// NullFields is a list of field names (e.g. "Input") to include in API
2762	// requests with the JSON null value. By default, fields with empty
2763	// values are omitted from API requests. However, any field with an
2764	// empty value appearing in NullFields will be sent to the server as
2765	// null. It is an error if a field in this list has a non-empty value.
2766	// This may be used to include null fields in Patch requests.
2767	NullFields []string `json:"-"`
2768}
2769
2770func (s *TypeInfoSchemaInfo) MarshalJSON() ([]byte, error) {
2771	type NoMethod TypeInfoSchemaInfo
2772	raw := NoMethod(*s)
2773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2774}
2775
2776// TypeLabelEntry: Label object for Types
2777type TypeLabelEntry struct {
2778	// Key: Key of the label
2779	Key string `json:"key,omitempty"`
2780
2781	// Value: Value of the label
2782	Value string `json:"value,omitempty"`
2783
2784	// ForceSendFields is a list of field names (e.g. "Key") to
2785	// unconditionally include in API requests. By default, fields with
2786	// empty or default values are omitted from API requests. However, any
2787	// non-pointer, non-interface field appearing in ForceSendFields will be
2788	// sent to the server regardless of whether the field is empty or not.
2789	// This may be used to include empty fields in Patch requests.
2790	ForceSendFields []string `json:"-"`
2791
2792	// NullFields is a list of field names (e.g. "Key") to include in API
2793	// requests with the JSON null value. By default, fields with empty
2794	// values are omitted from API requests. However, any field with an
2795	// empty value appearing in NullFields will be sent to the server as
2796	// null. It is an error if a field in this list has a non-empty value.
2797	// This may be used to include null fields in Patch requests.
2798	NullFields []string `json:"-"`
2799}
2800
2801func (s *TypeLabelEntry) MarshalJSON() ([]byte, error) {
2802	type NoMethod TypeLabelEntry
2803	raw := NoMethod(*s)
2804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2805}
2806
2807// TypeProvider: A type provider that describes a service-backed Type.
2808type TypeProvider struct {
2809	// CollectionOverrides: Allows resource handling overrides for specific
2810	// collections
2811	CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
2812
2813	// Credential: Credential used when interacting with this type.
2814	Credential *Credential `json:"credential,omitempty"`
2815
2816	// CustomCertificateAuthorityRoots: List of up to 2 custom certificate
2817	// authority roots to use for TLS authentication when making calls on
2818	// behalf of this type provider. If set, TLS authentication will
2819	// exclusively use these roots instead of relying on publicly trusted
2820	// certificate authorities when validating TLS certificate authenticity.
2821	// The certificates must be in base64-encoded PEM format. The maximum
2822	// size of each certificate must not exceed 10KB.
2823	CustomCertificateAuthorityRoots []string `json:"customCertificateAuthorityRoots,omitempty"`
2824
2825	// Description: An optional textual description of the resource;
2826	// provided by the client when the resource is created.
2827	Description string `json:"description,omitempty"`
2828
2829	// DescriptorUrl: Descriptor Url for the this type provider.
2830	DescriptorUrl string `json:"descriptorUrl,omitempty"`
2831
2832	// Id: Output only. Unique identifier for the resource defined by the
2833	// server.
2834	Id uint64 `json:"id,omitempty,string"`
2835
2836	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2837	InsertTime string `json:"insertTime,omitempty"`
2838
2839	// Labels: Map of One Platform labels; provided by the client when the
2840	// resource is created or updated. Specifically: Label keys must be
2841	// between 1 and 63 characters long and must conform to the following
2842	// regular expression: `a-z ([-a-z0-9]*[a-z0-9])?` Label values must be
2843	// between 0 and 63 characters long and must conform to the regular
2844	// expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`
2845	Labels []*TypeProviderLabelEntry `json:"labels,omitempty"`
2846
2847	// Name: Name of the resource; provided by the client when the resource
2848	// is created. The name must be 1-63 characters long, and comply with
2849	// RFC1035. Specifically, the name must be 1-63 characters long and
2850	// match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
2851	// the first character must be a lowercase letter, and all following
2852	// characters must be a dash, lowercase letter, or digit, except the
2853	// last character, which cannot be a dash.
2854	Name string `json:"name,omitempty"`
2855
2856	// Operation: Output only. The Operation that most recently ran, or is
2857	// currently running, on this type provider.
2858	Operation *Operation `json:"operation,omitempty"`
2859
2860	// Options: Options to apply when handling any resources in this
2861	// service.
2862	Options *Options `json:"options,omitempty"`
2863
2864	// SelfLink: Output only. Self link for the type provider.
2865	SelfLink string `json:"selfLink,omitempty"`
2866
2867	// ServerResponse contains the HTTP response code and headers from the
2868	// server.
2869	googleapi.ServerResponse `json:"-"`
2870
2871	// ForceSendFields is a list of field names (e.g. "CollectionOverrides")
2872	// to unconditionally include in API requests. By default, fields with
2873	// empty or default values are omitted from API requests. However, any
2874	// non-pointer, non-interface field appearing in ForceSendFields will be
2875	// sent to the server regardless of whether the field is empty or not.
2876	// This may be used to include empty fields in Patch requests.
2877	ForceSendFields []string `json:"-"`
2878
2879	// NullFields is a list of field names (e.g. "CollectionOverrides") to
2880	// include in API requests with the JSON null value. By default, fields
2881	// with empty values are omitted from API requests. However, any field
2882	// with an empty value appearing in NullFields will be sent to the
2883	// server as null. It is an error if a field in this list has a
2884	// non-empty value. This may be used to include null fields in Patch
2885	// requests.
2886	NullFields []string `json:"-"`
2887}
2888
2889func (s *TypeProvider) MarshalJSON() ([]byte, error) {
2890	type NoMethod TypeProvider
2891	raw := NoMethod(*s)
2892	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2893}
2894
2895// TypeProviderLabelEntry: Label object for TypeProviders
2896type TypeProviderLabelEntry struct {
2897	// Key: Key of the label
2898	Key string `json:"key,omitempty"`
2899
2900	// Value: Value of the label
2901	Value string `json:"value,omitempty"`
2902
2903	// ForceSendFields is a list of field names (e.g. "Key") to
2904	// unconditionally include in API requests. By default, fields with
2905	// empty or default values are omitted from API requests. However, any
2906	// non-pointer, non-interface field appearing in ForceSendFields will be
2907	// sent to the server regardless of whether the field is empty or not.
2908	// This may be used to include empty fields in Patch requests.
2909	ForceSendFields []string `json:"-"`
2910
2911	// NullFields is a list of field names (e.g. "Key") to include in API
2912	// requests with the JSON null value. By default, fields with empty
2913	// values are omitted from API requests. However, any field with an
2914	// empty value appearing in NullFields will be sent to the server as
2915	// null. It is an error if a field in this list has a non-empty value.
2916	// This may be used to include null fields in Patch requests.
2917	NullFields []string `json:"-"`
2918}
2919
2920func (s *TypeProviderLabelEntry) MarshalJSON() ([]byte, error) {
2921	type NoMethod TypeProviderLabelEntry
2922	raw := NoMethod(*s)
2923	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2924}
2925
2926// TypeProvidersListResponse: A response that returns all Type Providers
2927// supported by Deployment Manager
2928type TypeProvidersListResponse struct {
2929	// NextPageToken: A token used to continue a truncated list request.
2930	NextPageToken string `json:"nextPageToken,omitempty"`
2931
2932	// TypeProviders: Output only. A list of resource type providers
2933	// supported by Deployment Manager.
2934	TypeProviders []*TypeProvider `json:"typeProviders,omitempty"`
2935
2936	// ServerResponse contains the HTTP response code and headers from the
2937	// server.
2938	googleapi.ServerResponse `json:"-"`
2939
2940	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2941	// unconditionally include in API requests. By default, fields with
2942	// empty or default values are omitted from API requests. However, any
2943	// non-pointer, non-interface field appearing in ForceSendFields will be
2944	// sent to the server regardless of whether the field is empty or not.
2945	// This may be used to include empty fields in Patch requests.
2946	ForceSendFields []string `json:"-"`
2947
2948	// NullFields is a list of field names (e.g. "NextPageToken") to include
2949	// in API requests with the JSON null value. By default, fields with
2950	// empty values are omitted from API requests. However, any field with
2951	// an empty value appearing in NullFields will be sent to the server as
2952	// null. It is an error if a field in this list has a non-empty value.
2953	// This may be used to include null fields in Patch requests.
2954	NullFields []string `json:"-"`
2955}
2956
2957func (s *TypeProvidersListResponse) MarshalJSON() ([]byte, error) {
2958	type NoMethod TypeProvidersListResponse
2959	raw := NoMethod(*s)
2960	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2961}
2962
2963type TypeProvidersListTypesResponse struct {
2964	// NextPageToken: A token used to continue a truncated list request.
2965	NextPageToken string `json:"nextPageToken,omitempty"`
2966
2967	// Types: Output only. A list of resource type info.
2968	Types []*TypeInfo `json:"types,omitempty"`
2969
2970	// ServerResponse contains the HTTP response code and headers from the
2971	// server.
2972	googleapi.ServerResponse `json:"-"`
2973
2974	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2975	// unconditionally include in API requests. By default, fields with
2976	// empty or default values are omitted from API requests. However, any
2977	// non-pointer, non-interface field appearing in ForceSendFields will be
2978	// sent to the server regardless of whether the field is empty or not.
2979	// This may be used to include empty fields in Patch requests.
2980	ForceSendFields []string `json:"-"`
2981
2982	// NullFields is a list of field names (e.g. "NextPageToken") to include
2983	// in API requests with the JSON null value. By default, fields with
2984	// empty values are omitted from API requests. However, any field with
2985	// an empty value appearing in NullFields will be sent to the server as
2986	// null. It is an error if a field in this list has a non-empty value.
2987	// This may be used to include null fields in Patch requests.
2988	NullFields []string `json:"-"`
2989}
2990
2991func (s *TypeProvidersListTypesResponse) MarshalJSON() ([]byte, error) {
2992	type NoMethod TypeProvidersListTypesResponse
2993	raw := NoMethod(*s)
2994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2995}
2996
2997// TypesListResponse: A response that returns all Types supported by
2998// Deployment Manager
2999type TypesListResponse struct {
3000	// NextPageToken: A token used to continue a truncated list request.
3001	NextPageToken string `json:"nextPageToken,omitempty"`
3002
3003	// Types: Output only. A list of resource types supported by Deployment
3004	// Manager.
3005	Types []*Type `json:"types,omitempty"`
3006
3007	// ServerResponse contains the HTTP response code and headers from the
3008	// server.
3009	googleapi.ServerResponse `json:"-"`
3010
3011	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3012	// unconditionally include in API requests. By default, fields with
3013	// empty or default values are omitted from API requests. However, any
3014	// non-pointer, non-interface field appearing in ForceSendFields will be
3015	// sent to the server regardless of whether the field is empty or not.
3016	// This may be used to include empty fields in Patch requests.
3017	ForceSendFields []string `json:"-"`
3018
3019	// NullFields is a list of field names (e.g. "NextPageToken") to include
3020	// in API requests with the JSON null value. By default, fields with
3021	// empty values are omitted from API requests. However, any field with
3022	// an empty value appearing in NullFields will be sent to the server as
3023	// null. It is an error if a field in this list has a non-empty value.
3024	// This may be used to include null fields in Patch requests.
3025	NullFields []string `json:"-"`
3026}
3027
3028func (s *TypesListResponse) MarshalJSON() ([]byte, error) {
3029	type NoMethod TypesListResponse
3030	raw := NoMethod(*s)
3031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3032}
3033
3034// ValidationOptions: Options for how to validate and process properties
3035// on a resource.
3036type ValidationOptions struct {
3037	// SchemaValidation: Customize how deployment manager will validate the
3038	// resource against schema errors.
3039	//
3040	// Possible values:
3041	//   "UNKNOWN"
3042	//   "IGNORE" - Ignore schema failures.
3043	//   "IGNORE_WITH_WARNINGS" - Ignore schema failures but display them as
3044	// warnings.
3045	//   "FAIL" - Fail the resource if the schema is not valid, this is the
3046	// default behavior.
3047	SchemaValidation string `json:"schemaValidation,omitempty"`
3048
3049	// UndeclaredProperties: Specify what to do with extra properties when
3050	// executing a request.
3051	//
3052	// Possible values:
3053	//   "UNKNOWN"
3054	//   "INCLUDE" - Always include even if not present on discovery doc.
3055	//   "IGNORE" - Always ignore if not present on discovery doc.
3056	//   "INCLUDE_WITH_WARNINGS" - Include on request, but emit a warning.
3057	//   "IGNORE_WITH_WARNINGS" - Ignore properties, but emit a warning.
3058	//   "FAIL" - Always fail if undeclared properties are present.
3059	UndeclaredProperties string `json:"undeclaredProperties,omitempty"`
3060
3061	// ForceSendFields is a list of field names (e.g. "SchemaValidation") to
3062	// unconditionally include in API requests. By default, fields with
3063	// empty or default values are omitted from API requests. However, any
3064	// non-pointer, non-interface field appearing in ForceSendFields will be
3065	// sent to the server regardless of whether the field is empty or not.
3066	// This may be used to include empty fields in Patch requests.
3067	ForceSendFields []string `json:"-"`
3068
3069	// NullFields is a list of field names (e.g. "SchemaValidation") to
3070	// include in API requests with the JSON null value. By default, fields
3071	// with empty values are omitted from API requests. However, any field
3072	// with an empty value appearing in NullFields will be sent to the
3073	// server as null. It is an error if a field in this list has a
3074	// non-empty value. This may be used to include null fields in Patch
3075	// requests.
3076	NullFields []string `json:"-"`
3077}
3078
3079func (s *ValidationOptions) MarshalJSON() ([]byte, error) {
3080	type NoMethod ValidationOptions
3081	raw := NoMethod(*s)
3082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3083}
3084
3085// method id "deploymentmanager.compositeTypes.delete":
3086
3087type CompositeTypesDeleteCall struct {
3088	s             *Service
3089	project       string
3090	compositeType string
3091	urlParams_    gensupport.URLParams
3092	ctx_          context.Context
3093	header_       http.Header
3094}
3095
3096// Delete: Deletes a composite type.
3097//
3098// - compositeType: The name of the type for this request.
3099// - project: The project ID for this request.
3100func (r *CompositeTypesService) Delete(project string, compositeType string) *CompositeTypesDeleteCall {
3101	c := &CompositeTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3102	c.project = project
3103	c.compositeType = compositeType
3104	return c
3105}
3106
3107// Fields allows partial responses to be retrieved. See
3108// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3109// for more information.
3110func (c *CompositeTypesDeleteCall) Fields(s ...googleapi.Field) *CompositeTypesDeleteCall {
3111	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3112	return c
3113}
3114
3115// Context sets the context to be used in this call's Do method. Any
3116// pending HTTP request will be aborted if the provided context is
3117// canceled.
3118func (c *CompositeTypesDeleteCall) Context(ctx context.Context) *CompositeTypesDeleteCall {
3119	c.ctx_ = ctx
3120	return c
3121}
3122
3123// Header returns an http.Header that can be modified by the caller to
3124// add HTTP headers to the request.
3125func (c *CompositeTypesDeleteCall) Header() http.Header {
3126	if c.header_ == nil {
3127		c.header_ = make(http.Header)
3128	}
3129	return c.header_
3130}
3131
3132func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
3133	reqHeaders := make(http.Header)
3134	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3135	for k, v := range c.header_ {
3136		reqHeaders[k] = v
3137	}
3138	reqHeaders.Set("User-Agent", c.s.userAgent())
3139	var body io.Reader = nil
3140	c.urlParams_.Set("alt", alt)
3141	c.urlParams_.Set("prettyPrint", "false")
3142	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
3143	urls += "?" + c.urlParams_.Encode()
3144	req, err := http.NewRequest("DELETE", urls, body)
3145	if err != nil {
3146		return nil, err
3147	}
3148	req.Header = reqHeaders
3149	googleapi.Expand(req.URL, map[string]string{
3150		"project":       c.project,
3151		"compositeType": c.compositeType,
3152	})
3153	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3154}
3155
3156// Do executes the "deploymentmanager.compositeTypes.delete" call.
3157// Exactly one of *Operation or error will be non-nil. Any non-2xx
3158// status code is an error. Response headers are in either
3159// *Operation.ServerResponse.Header or (if a response was returned at
3160// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3161// to check whether the returned error was because
3162// http.StatusNotModified was returned.
3163func (c *CompositeTypesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3164	gensupport.SetOptions(c.urlParams_, opts...)
3165	res, err := c.doRequest("json")
3166	if res != nil && res.StatusCode == http.StatusNotModified {
3167		if res.Body != nil {
3168			res.Body.Close()
3169		}
3170		return nil, &googleapi.Error{
3171			Code:   res.StatusCode,
3172			Header: res.Header,
3173		}
3174	}
3175	if err != nil {
3176		return nil, err
3177	}
3178	defer googleapi.CloseBody(res)
3179	if err := googleapi.CheckResponse(res); err != nil {
3180		return nil, err
3181	}
3182	ret := &Operation{
3183		ServerResponse: googleapi.ServerResponse{
3184			Header:         res.Header,
3185			HTTPStatusCode: res.StatusCode,
3186		},
3187	}
3188	target := &ret
3189	if err := gensupport.DecodeResponse(target, res); err != nil {
3190		return nil, err
3191	}
3192	return ret, nil
3193	// {
3194	//   "description": "Deletes a composite type.",
3195	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3196	//   "httpMethod": "DELETE",
3197	//   "id": "deploymentmanager.compositeTypes.delete",
3198	//   "parameterOrder": [
3199	//     "project",
3200	//     "compositeType"
3201	//   ],
3202	//   "parameters": {
3203	//     "compositeType": {
3204	//       "description": "The name of the type for this request.",
3205	//       "location": "path",
3206	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3207	//       "required": true,
3208	//       "type": "string"
3209	//     },
3210	//     "project": {
3211	//       "description": "The project ID for this request.",
3212	//       "location": "path",
3213	//       "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])?))",
3214	//       "required": true,
3215	//       "type": "string"
3216	//     }
3217	//   },
3218	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3219	//   "response": {
3220	//     "$ref": "Operation"
3221	//   },
3222	//   "scopes": [
3223	//     "https://www.googleapis.com/auth/cloud-platform",
3224	//     "https://www.googleapis.com/auth/ndev.cloudman"
3225	//   ]
3226	// }
3227
3228}
3229
3230// method id "deploymentmanager.compositeTypes.get":
3231
3232type CompositeTypesGetCall struct {
3233	s             *Service
3234	project       string
3235	compositeType string
3236	urlParams_    gensupport.URLParams
3237	ifNoneMatch_  string
3238	ctx_          context.Context
3239	header_       http.Header
3240}
3241
3242// Get: Gets information about a specific composite type.
3243//
3244// - compositeType: The name of the composite type for this request.
3245// - project: The project ID for this request.
3246func (r *CompositeTypesService) Get(project string, compositeType string) *CompositeTypesGetCall {
3247	c := &CompositeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3248	c.project = project
3249	c.compositeType = compositeType
3250	return c
3251}
3252
3253// Fields allows partial responses to be retrieved. See
3254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3255// for more information.
3256func (c *CompositeTypesGetCall) Fields(s ...googleapi.Field) *CompositeTypesGetCall {
3257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3258	return c
3259}
3260
3261// IfNoneMatch sets the optional parameter which makes the operation
3262// fail if the object's ETag matches the given value. This is useful for
3263// getting updates only after the object has changed since the last
3264// request. Use googleapi.IsNotModified to check whether the response
3265// error from Do is the result of In-None-Match.
3266func (c *CompositeTypesGetCall) IfNoneMatch(entityTag string) *CompositeTypesGetCall {
3267	c.ifNoneMatch_ = entityTag
3268	return c
3269}
3270
3271// Context sets the context to be used in this call's Do method. Any
3272// pending HTTP request will be aborted if the provided context is
3273// canceled.
3274func (c *CompositeTypesGetCall) Context(ctx context.Context) *CompositeTypesGetCall {
3275	c.ctx_ = ctx
3276	return c
3277}
3278
3279// Header returns an http.Header that can be modified by the caller to
3280// add HTTP headers to the request.
3281func (c *CompositeTypesGetCall) Header() http.Header {
3282	if c.header_ == nil {
3283		c.header_ = make(http.Header)
3284	}
3285	return c.header_
3286}
3287
3288func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
3289	reqHeaders := make(http.Header)
3290	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3291	for k, v := range c.header_ {
3292		reqHeaders[k] = v
3293	}
3294	reqHeaders.Set("User-Agent", c.s.userAgent())
3295	if c.ifNoneMatch_ != "" {
3296		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3297	}
3298	var body io.Reader = nil
3299	c.urlParams_.Set("alt", alt)
3300	c.urlParams_.Set("prettyPrint", "false")
3301	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
3302	urls += "?" + c.urlParams_.Encode()
3303	req, err := http.NewRequest("GET", urls, body)
3304	if err != nil {
3305		return nil, err
3306	}
3307	req.Header = reqHeaders
3308	googleapi.Expand(req.URL, map[string]string{
3309		"project":       c.project,
3310		"compositeType": c.compositeType,
3311	})
3312	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3313}
3314
3315// Do executes the "deploymentmanager.compositeTypes.get" call.
3316// Exactly one of *CompositeType or error will be non-nil. Any non-2xx
3317// status code is an error. Response headers are in either
3318// *CompositeType.ServerResponse.Header or (if a response was returned
3319// at all) in error.(*googleapi.Error).Header. Use
3320// googleapi.IsNotModified to check whether the returned error was
3321// because http.StatusNotModified was returned.
3322func (c *CompositeTypesGetCall) Do(opts ...googleapi.CallOption) (*CompositeType, error) {
3323	gensupport.SetOptions(c.urlParams_, opts...)
3324	res, err := c.doRequest("json")
3325	if res != nil && res.StatusCode == http.StatusNotModified {
3326		if res.Body != nil {
3327			res.Body.Close()
3328		}
3329		return nil, &googleapi.Error{
3330			Code:   res.StatusCode,
3331			Header: res.Header,
3332		}
3333	}
3334	if err != nil {
3335		return nil, err
3336	}
3337	defer googleapi.CloseBody(res)
3338	if err := googleapi.CheckResponse(res); err != nil {
3339		return nil, err
3340	}
3341	ret := &CompositeType{
3342		ServerResponse: googleapi.ServerResponse{
3343			Header:         res.Header,
3344			HTTPStatusCode: res.StatusCode,
3345		},
3346	}
3347	target := &ret
3348	if err := gensupport.DecodeResponse(target, res); err != nil {
3349		return nil, err
3350	}
3351	return ret, nil
3352	// {
3353	//   "description": "Gets information about a specific composite type.",
3354	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3355	//   "httpMethod": "GET",
3356	//   "id": "deploymentmanager.compositeTypes.get",
3357	//   "parameterOrder": [
3358	//     "project",
3359	//     "compositeType"
3360	//   ],
3361	//   "parameters": {
3362	//     "compositeType": {
3363	//       "description": "The name of the composite type for this request.",
3364	//       "location": "path",
3365	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3366	//       "required": true,
3367	//       "type": "string"
3368	//     },
3369	//     "project": {
3370	//       "description": "The project ID for this request.",
3371	//       "location": "path",
3372	//       "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])?))",
3373	//       "required": true,
3374	//       "type": "string"
3375	//     }
3376	//   },
3377	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3378	//   "response": {
3379	//     "$ref": "CompositeType"
3380	//   },
3381	//   "scopes": [
3382	//     "https://www.googleapis.com/auth/cloud-platform",
3383	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
3384	//     "https://www.googleapis.com/auth/ndev.cloudman",
3385	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
3386	//   ]
3387	// }
3388
3389}
3390
3391// method id "deploymentmanager.compositeTypes.insert":
3392
3393type CompositeTypesInsertCall struct {
3394	s             *Service
3395	project       string
3396	compositetype *CompositeType
3397	urlParams_    gensupport.URLParams
3398	ctx_          context.Context
3399	header_       http.Header
3400}
3401
3402// Insert: Creates a composite type.
3403//
3404// - project: The project ID for this request.
3405func (r *CompositeTypesService) Insert(project string, compositetype *CompositeType) *CompositeTypesInsertCall {
3406	c := &CompositeTypesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3407	c.project = project
3408	c.compositetype = compositetype
3409	return c
3410}
3411
3412// Fields allows partial responses to be retrieved. See
3413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3414// for more information.
3415func (c *CompositeTypesInsertCall) Fields(s ...googleapi.Field) *CompositeTypesInsertCall {
3416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3417	return c
3418}
3419
3420// Context sets the context to be used in this call's Do method. Any
3421// pending HTTP request will be aborted if the provided context is
3422// canceled.
3423func (c *CompositeTypesInsertCall) Context(ctx context.Context) *CompositeTypesInsertCall {
3424	c.ctx_ = ctx
3425	return c
3426}
3427
3428// Header returns an http.Header that can be modified by the caller to
3429// add HTTP headers to the request.
3430func (c *CompositeTypesInsertCall) Header() http.Header {
3431	if c.header_ == nil {
3432		c.header_ = make(http.Header)
3433	}
3434	return c.header_
3435}
3436
3437func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {
3438	reqHeaders := make(http.Header)
3439	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3440	for k, v := range c.header_ {
3441		reqHeaders[k] = v
3442	}
3443	reqHeaders.Set("User-Agent", c.s.userAgent())
3444	var body io.Reader = nil
3445	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
3446	if err != nil {
3447		return nil, err
3448	}
3449	reqHeaders.Set("Content-Type", "application/json")
3450	c.urlParams_.Set("alt", alt)
3451	c.urlParams_.Set("prettyPrint", "false")
3452	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes")
3453	urls += "?" + c.urlParams_.Encode()
3454	req, err := http.NewRequest("POST", urls, body)
3455	if err != nil {
3456		return nil, err
3457	}
3458	req.Header = reqHeaders
3459	googleapi.Expand(req.URL, map[string]string{
3460		"project": c.project,
3461	})
3462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3463}
3464
3465// Do executes the "deploymentmanager.compositeTypes.insert" call.
3466// Exactly one of *Operation or error will be non-nil. Any non-2xx
3467// status code is an error. Response headers are in either
3468// *Operation.ServerResponse.Header or (if a response was returned at
3469// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3470// to check whether the returned error was because
3471// http.StatusNotModified was returned.
3472func (c *CompositeTypesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3473	gensupport.SetOptions(c.urlParams_, opts...)
3474	res, err := c.doRequest("json")
3475	if res != nil && res.StatusCode == http.StatusNotModified {
3476		if res.Body != nil {
3477			res.Body.Close()
3478		}
3479		return nil, &googleapi.Error{
3480			Code:   res.StatusCode,
3481			Header: res.Header,
3482		}
3483	}
3484	if err != nil {
3485		return nil, err
3486	}
3487	defer googleapi.CloseBody(res)
3488	if err := googleapi.CheckResponse(res); err != nil {
3489		return nil, err
3490	}
3491	ret := &Operation{
3492		ServerResponse: googleapi.ServerResponse{
3493			Header:         res.Header,
3494			HTTPStatusCode: res.StatusCode,
3495		},
3496	}
3497	target := &ret
3498	if err := gensupport.DecodeResponse(target, res); err != nil {
3499		return nil, err
3500	}
3501	return ret, nil
3502	// {
3503	//   "description": "Creates a composite type.",
3504	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes",
3505	//   "httpMethod": "POST",
3506	//   "id": "deploymentmanager.compositeTypes.insert",
3507	//   "parameterOrder": [
3508	//     "project"
3509	//   ],
3510	//   "parameters": {
3511	//     "project": {
3512	//       "description": "The project ID for this request.",
3513	//       "location": "path",
3514	//       "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])?))",
3515	//       "required": true,
3516	//       "type": "string"
3517	//     }
3518	//   },
3519	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes",
3520	//   "request": {
3521	//     "$ref": "CompositeType"
3522	//   },
3523	//   "response": {
3524	//     "$ref": "Operation"
3525	//   },
3526	//   "scopes": [
3527	//     "https://www.googleapis.com/auth/cloud-platform",
3528	//     "https://www.googleapis.com/auth/ndev.cloudman"
3529	//   ]
3530	// }
3531
3532}
3533
3534// method id "deploymentmanager.compositeTypes.list":
3535
3536type CompositeTypesListCall struct {
3537	s            *Service
3538	project      string
3539	urlParams_   gensupport.URLParams
3540	ifNoneMatch_ string
3541	ctx_         context.Context
3542	header_      http.Header
3543}
3544
3545// List: Lists all composite types for Deployment Manager.
3546//
3547// - project: The project ID for this request.
3548func (r *CompositeTypesService) List(project string) *CompositeTypesListCall {
3549	c := &CompositeTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3550	c.project = project
3551	return c
3552}
3553
3554// Filter sets the optional parameter "filter": A filter expression that
3555// filters resources listed in the response. The expression must specify
3556// the field name, an operator, and the value that you want to use for
3557// filtering. The value must be a string, a number, or a boolean. The
3558// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
3559// example, if you are filtering Compute Engine instances, you can
3560// exclude instances named `example-instance` by specifying `name !=
3561// example-instance`. The `:` operator can be used with string fields to
3562// match substrings. For non-string fields it is equivalent to the `=`
3563// operator. The `:*` comparison can be used to test whether a key has
3564// been defined. For example, to find all objects with `owner` label
3565// use: ``` labels.owner:* ``` You can also filter nested fields. For
3566// example, you could specify `scheduling.automaticRestart = false` to
3567// include instances only if they are not scheduled for automatic
3568// restarts. You can use filtering on nested fields to filter based on
3569// resource labels. To filter on multiple expressions, provide each
3570// separate expression within parentheses. For example: ```
3571// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
3572// ``` By default, each expression is an `AND` expression. However, you
3573// can include `AND` and `OR` expressions explicitly. For example: ```
3574// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
3575// AND (scheduling.automaticRestart = true) ```
3576func (c *CompositeTypesListCall) Filter(filter string) *CompositeTypesListCall {
3577	c.urlParams_.Set("filter", filter)
3578	return c
3579}
3580
3581// MaxResults sets the optional parameter "maxResults": The maximum
3582// number of results per page that should be returned. If the number of
3583// available results is larger than `maxResults`, Compute Engine returns
3584// a `nextPageToken` that can be used to get the next page of results in
3585// subsequent list requests. Acceptable values are `0` to `500`,
3586// inclusive. (Default: `500`)
3587func (c *CompositeTypesListCall) MaxResults(maxResults int64) *CompositeTypesListCall {
3588	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
3589	return c
3590}
3591
3592// OrderBy sets the optional parameter "orderBy": Sorts list results by
3593// a certain order. By default, results are returned in alphanumerical
3594// order based on the resource name. You can also sort results in
3595// descending order based on the creation timestamp using
3596// `orderBy="creationTimestamp desc". This sorts results based on the
3597// `creationTimestamp` field in reverse chronological order (newest
3598// result first). Use this to sort resources like operations so that the
3599// newest operation is returned first. Currently, only sorting by `name`
3600// or `creationTimestamp desc` is supported.
3601func (c *CompositeTypesListCall) OrderBy(orderBy string) *CompositeTypesListCall {
3602	c.urlParams_.Set("orderBy", orderBy)
3603	return c
3604}
3605
3606// PageToken sets the optional parameter "pageToken": Specifies a page
3607// token to use. Set `pageToken` to the `nextPageToken` returned by a
3608// previous list request to get the next page of results.
3609func (c *CompositeTypesListCall) PageToken(pageToken string) *CompositeTypesListCall {
3610	c.urlParams_.Set("pageToken", pageToken)
3611	return c
3612}
3613
3614// Fields allows partial responses to be retrieved. See
3615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3616// for more information.
3617func (c *CompositeTypesListCall) Fields(s ...googleapi.Field) *CompositeTypesListCall {
3618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3619	return c
3620}
3621
3622// IfNoneMatch sets the optional parameter which makes the operation
3623// fail if the object's ETag matches the given value. This is useful for
3624// getting updates only after the object has changed since the last
3625// request. Use googleapi.IsNotModified to check whether the response
3626// error from Do is the result of In-None-Match.
3627func (c *CompositeTypesListCall) IfNoneMatch(entityTag string) *CompositeTypesListCall {
3628	c.ifNoneMatch_ = entityTag
3629	return c
3630}
3631
3632// Context sets the context to be used in this call's Do method. Any
3633// pending HTTP request will be aborted if the provided context is
3634// canceled.
3635func (c *CompositeTypesListCall) Context(ctx context.Context) *CompositeTypesListCall {
3636	c.ctx_ = ctx
3637	return c
3638}
3639
3640// Header returns an http.Header that can be modified by the caller to
3641// add HTTP headers to the request.
3642func (c *CompositeTypesListCall) Header() http.Header {
3643	if c.header_ == nil {
3644		c.header_ = make(http.Header)
3645	}
3646	return c.header_
3647}
3648
3649func (c *CompositeTypesListCall) doRequest(alt string) (*http.Response, error) {
3650	reqHeaders := make(http.Header)
3651	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3652	for k, v := range c.header_ {
3653		reqHeaders[k] = v
3654	}
3655	reqHeaders.Set("User-Agent", c.s.userAgent())
3656	if c.ifNoneMatch_ != "" {
3657		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3658	}
3659	var body io.Reader = nil
3660	c.urlParams_.Set("alt", alt)
3661	c.urlParams_.Set("prettyPrint", "false")
3662	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes")
3663	urls += "?" + c.urlParams_.Encode()
3664	req, err := http.NewRequest("GET", urls, body)
3665	if err != nil {
3666		return nil, err
3667	}
3668	req.Header = reqHeaders
3669	googleapi.Expand(req.URL, map[string]string{
3670		"project": c.project,
3671	})
3672	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3673}
3674
3675// Do executes the "deploymentmanager.compositeTypes.list" call.
3676// Exactly one of *CompositeTypesListResponse or error will be non-nil.
3677// Any non-2xx status code is an error. Response headers are in either
3678// *CompositeTypesListResponse.ServerResponse.Header or (if a response
3679// was returned at all) in error.(*googleapi.Error).Header. Use
3680// googleapi.IsNotModified to check whether the returned error was
3681// because http.StatusNotModified was returned.
3682func (c *CompositeTypesListCall) Do(opts ...googleapi.CallOption) (*CompositeTypesListResponse, error) {
3683	gensupport.SetOptions(c.urlParams_, opts...)
3684	res, err := c.doRequest("json")
3685	if res != nil && res.StatusCode == http.StatusNotModified {
3686		if res.Body != nil {
3687			res.Body.Close()
3688		}
3689		return nil, &googleapi.Error{
3690			Code:   res.StatusCode,
3691			Header: res.Header,
3692		}
3693	}
3694	if err != nil {
3695		return nil, err
3696	}
3697	defer googleapi.CloseBody(res)
3698	if err := googleapi.CheckResponse(res); err != nil {
3699		return nil, err
3700	}
3701	ret := &CompositeTypesListResponse{
3702		ServerResponse: googleapi.ServerResponse{
3703			Header:         res.Header,
3704			HTTPStatusCode: res.StatusCode,
3705		},
3706	}
3707	target := &ret
3708	if err := gensupport.DecodeResponse(target, res); err != nil {
3709		return nil, err
3710	}
3711	return ret, nil
3712	// {
3713	//   "description": "Lists all composite types for Deployment Manager.",
3714	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes",
3715	//   "httpMethod": "GET",
3716	//   "id": "deploymentmanager.compositeTypes.list",
3717	//   "parameterOrder": [
3718	//     "project"
3719	//   ],
3720	//   "parameters": {
3721	//     "filter": {
3722	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
3723	//       "location": "query",
3724	//       "type": "string"
3725	//     },
3726	//     "maxResults": {
3727	//       "default": "500",
3728	//       "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`)",
3729	//       "format": "uint32",
3730	//       "location": "query",
3731	//       "minimum": "0",
3732	//       "type": "integer"
3733	//     },
3734	//     "orderBy": {
3735	//       "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.",
3736	//       "location": "query",
3737	//       "type": "string"
3738	//     },
3739	//     "pageToken": {
3740	//       "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.",
3741	//       "location": "query",
3742	//       "type": "string"
3743	//     },
3744	//     "project": {
3745	//       "description": "The project ID for this request.",
3746	//       "location": "path",
3747	//       "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])?))",
3748	//       "required": true,
3749	//       "type": "string"
3750	//     }
3751	//   },
3752	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes",
3753	//   "response": {
3754	//     "$ref": "CompositeTypesListResponse"
3755	//   },
3756	//   "scopes": [
3757	//     "https://www.googleapis.com/auth/cloud-platform",
3758	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
3759	//     "https://www.googleapis.com/auth/ndev.cloudman",
3760	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
3761	//   ]
3762	// }
3763
3764}
3765
3766// Pages invokes f for each page of results.
3767// A non-nil error returned from f will halt the iteration.
3768// The provided context supersedes any context provided to the Context method.
3769func (c *CompositeTypesListCall) Pages(ctx context.Context, f func(*CompositeTypesListResponse) error) error {
3770	c.ctx_ = ctx
3771	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3772	for {
3773		x, err := c.Do()
3774		if err != nil {
3775			return err
3776		}
3777		if err := f(x); err != nil {
3778			return err
3779		}
3780		if x.NextPageToken == "" {
3781			return nil
3782		}
3783		c.PageToken(x.NextPageToken)
3784	}
3785}
3786
3787// method id "deploymentmanager.compositeTypes.patch":
3788
3789type CompositeTypesPatchCall struct {
3790	s             *Service
3791	project       string
3792	compositeType string
3793	compositetype *CompositeType
3794	urlParams_    gensupport.URLParams
3795	ctx_          context.Context
3796	header_       http.Header
3797}
3798
3799// Patch: Patches a composite type.
3800//
3801// - compositeType: The name of the composite type for this request.
3802// - project: The project ID for this request.
3803func (r *CompositeTypesService) Patch(project string, compositeType string, compositetype *CompositeType) *CompositeTypesPatchCall {
3804	c := &CompositeTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3805	c.project = project
3806	c.compositeType = compositeType
3807	c.compositetype = compositetype
3808	return c
3809}
3810
3811// Fields allows partial responses to be retrieved. See
3812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3813// for more information.
3814func (c *CompositeTypesPatchCall) Fields(s ...googleapi.Field) *CompositeTypesPatchCall {
3815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3816	return c
3817}
3818
3819// Context sets the context to be used in this call's Do method. Any
3820// pending HTTP request will be aborted if the provided context is
3821// canceled.
3822func (c *CompositeTypesPatchCall) Context(ctx context.Context) *CompositeTypesPatchCall {
3823	c.ctx_ = ctx
3824	return c
3825}
3826
3827// Header returns an http.Header that can be modified by the caller to
3828// add HTTP headers to the request.
3829func (c *CompositeTypesPatchCall) Header() http.Header {
3830	if c.header_ == nil {
3831		c.header_ = make(http.Header)
3832	}
3833	return c.header_
3834}
3835
3836func (c *CompositeTypesPatchCall) doRequest(alt string) (*http.Response, error) {
3837	reqHeaders := make(http.Header)
3838	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3839	for k, v := range c.header_ {
3840		reqHeaders[k] = v
3841	}
3842	reqHeaders.Set("User-Agent", c.s.userAgent())
3843	var body io.Reader = nil
3844	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
3845	if err != nil {
3846		return nil, err
3847	}
3848	reqHeaders.Set("Content-Type", "application/json")
3849	c.urlParams_.Set("alt", alt)
3850	c.urlParams_.Set("prettyPrint", "false")
3851	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
3852	urls += "?" + c.urlParams_.Encode()
3853	req, err := http.NewRequest("PATCH", urls, body)
3854	if err != nil {
3855		return nil, err
3856	}
3857	req.Header = reqHeaders
3858	googleapi.Expand(req.URL, map[string]string{
3859		"project":       c.project,
3860		"compositeType": c.compositeType,
3861	})
3862	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3863}
3864
3865// Do executes the "deploymentmanager.compositeTypes.patch" call.
3866// Exactly one of *Operation or error will be non-nil. Any non-2xx
3867// status code is an error. Response headers are in either
3868// *Operation.ServerResponse.Header or (if a response was returned at
3869// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3870// to check whether the returned error was because
3871// http.StatusNotModified was returned.
3872func (c *CompositeTypesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3873	gensupport.SetOptions(c.urlParams_, opts...)
3874	res, err := c.doRequest("json")
3875	if res != nil && res.StatusCode == http.StatusNotModified {
3876		if res.Body != nil {
3877			res.Body.Close()
3878		}
3879		return nil, &googleapi.Error{
3880			Code:   res.StatusCode,
3881			Header: res.Header,
3882		}
3883	}
3884	if err != nil {
3885		return nil, err
3886	}
3887	defer googleapi.CloseBody(res)
3888	if err := googleapi.CheckResponse(res); err != nil {
3889		return nil, err
3890	}
3891	ret := &Operation{
3892		ServerResponse: googleapi.ServerResponse{
3893			Header:         res.Header,
3894			HTTPStatusCode: res.StatusCode,
3895		},
3896	}
3897	target := &ret
3898	if err := gensupport.DecodeResponse(target, res); err != nil {
3899		return nil, err
3900	}
3901	return ret, nil
3902	// {
3903	//   "description": "Patches a composite type.",
3904	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3905	//   "httpMethod": "PATCH",
3906	//   "id": "deploymentmanager.compositeTypes.patch",
3907	//   "parameterOrder": [
3908	//     "project",
3909	//     "compositeType"
3910	//   ],
3911	//   "parameters": {
3912	//     "compositeType": {
3913	//       "description": "The name of the composite type for this request.",
3914	//       "location": "path",
3915	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
3916	//       "required": true,
3917	//       "type": "string"
3918	//     },
3919	//     "project": {
3920	//       "description": "The project ID for this request.",
3921	//       "location": "path",
3922	//       "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])?))",
3923	//       "required": true,
3924	//       "type": "string"
3925	//     }
3926	//   },
3927	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
3928	//   "request": {
3929	//     "$ref": "CompositeType"
3930	//   },
3931	//   "response": {
3932	//     "$ref": "Operation"
3933	//   },
3934	//   "scopes": [
3935	//     "https://www.googleapis.com/auth/cloud-platform",
3936	//     "https://www.googleapis.com/auth/ndev.cloudman"
3937	//   ]
3938	// }
3939
3940}
3941
3942// method id "deploymentmanager.compositeTypes.update":
3943
3944type CompositeTypesUpdateCall struct {
3945	s             *Service
3946	project       string
3947	compositeType string
3948	compositetype *CompositeType
3949	urlParams_    gensupport.URLParams
3950	ctx_          context.Context
3951	header_       http.Header
3952}
3953
3954// Update: Updates a composite type.
3955//
3956// - compositeType: The name of the composite type for this request.
3957// - project: The project ID for this request.
3958func (r *CompositeTypesService) Update(project string, compositeType string, compositetype *CompositeType) *CompositeTypesUpdateCall {
3959	c := &CompositeTypesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3960	c.project = project
3961	c.compositeType = compositeType
3962	c.compositetype = compositetype
3963	return c
3964}
3965
3966// Fields allows partial responses to be retrieved. See
3967// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3968// for more information.
3969func (c *CompositeTypesUpdateCall) Fields(s ...googleapi.Field) *CompositeTypesUpdateCall {
3970	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3971	return c
3972}
3973
3974// Context sets the context to be used in this call's Do method. Any
3975// pending HTTP request will be aborted if the provided context is
3976// canceled.
3977func (c *CompositeTypesUpdateCall) Context(ctx context.Context) *CompositeTypesUpdateCall {
3978	c.ctx_ = ctx
3979	return c
3980}
3981
3982// Header returns an http.Header that can be modified by the caller to
3983// add HTTP headers to the request.
3984func (c *CompositeTypesUpdateCall) Header() http.Header {
3985	if c.header_ == nil {
3986		c.header_ = make(http.Header)
3987	}
3988	return c.header_
3989}
3990
3991func (c *CompositeTypesUpdateCall) doRequest(alt string) (*http.Response, error) {
3992	reqHeaders := make(http.Header)
3993	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
3994	for k, v := range c.header_ {
3995		reqHeaders[k] = v
3996	}
3997	reqHeaders.Set("User-Agent", c.s.userAgent())
3998	var body io.Reader = nil
3999	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
4000	if err != nil {
4001		return nil, err
4002	}
4003	reqHeaders.Set("Content-Type", "application/json")
4004	c.urlParams_.Set("alt", alt)
4005	c.urlParams_.Set("prettyPrint", "false")
4006	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
4007	urls += "?" + c.urlParams_.Encode()
4008	req, err := http.NewRequest("PUT", urls, body)
4009	if err != nil {
4010		return nil, err
4011	}
4012	req.Header = reqHeaders
4013	googleapi.Expand(req.URL, map[string]string{
4014		"project":       c.project,
4015		"compositeType": c.compositeType,
4016	})
4017	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4018}
4019
4020// Do executes the "deploymentmanager.compositeTypes.update" call.
4021// Exactly one of *Operation or error will be non-nil. Any non-2xx
4022// status code is an error. Response headers are in either
4023// *Operation.ServerResponse.Header or (if a response was returned at
4024// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4025// to check whether the returned error was because
4026// http.StatusNotModified was returned.
4027func (c *CompositeTypesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4028	gensupport.SetOptions(c.urlParams_, opts...)
4029	res, err := c.doRequest("json")
4030	if res != nil && res.StatusCode == http.StatusNotModified {
4031		if res.Body != nil {
4032			res.Body.Close()
4033		}
4034		return nil, &googleapi.Error{
4035			Code:   res.StatusCode,
4036			Header: res.Header,
4037		}
4038	}
4039	if err != nil {
4040		return nil, err
4041	}
4042	defer googleapi.CloseBody(res)
4043	if err := googleapi.CheckResponse(res); err != nil {
4044		return nil, err
4045	}
4046	ret := &Operation{
4047		ServerResponse: googleapi.ServerResponse{
4048			Header:         res.Header,
4049			HTTPStatusCode: res.StatusCode,
4050		},
4051	}
4052	target := &ret
4053	if err := gensupport.DecodeResponse(target, res); err != nil {
4054		return nil, err
4055	}
4056	return ret, nil
4057	// {
4058	//   "description": "Updates a composite type.",
4059	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
4060	//   "httpMethod": "PUT",
4061	//   "id": "deploymentmanager.compositeTypes.update",
4062	//   "parameterOrder": [
4063	//     "project",
4064	//     "compositeType"
4065	//   ],
4066	//   "parameters": {
4067	//     "compositeType": {
4068	//       "description": "The name of the composite type for this request.",
4069	//       "location": "path",
4070	//       "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
4071	//       "required": true,
4072	//       "type": "string"
4073	//     },
4074	//     "project": {
4075	//       "description": "The project ID for this request.",
4076	//       "location": "path",
4077	//       "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])?))",
4078	//       "required": true,
4079	//       "type": "string"
4080	//     }
4081	//   },
4082	//   "path": "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}",
4083	//   "request": {
4084	//     "$ref": "CompositeType"
4085	//   },
4086	//   "response": {
4087	//     "$ref": "Operation"
4088	//   },
4089	//   "scopes": [
4090	//     "https://www.googleapis.com/auth/cloud-platform",
4091	//     "https://www.googleapis.com/auth/ndev.cloudman"
4092	//   ]
4093	// }
4094
4095}
4096
4097// method id "deploymentmanager.deployments.cancelPreview":
4098
4099type DeploymentsCancelPreviewCall struct {
4100	s                               *Service
4101	project                         string
4102	deployment                      string
4103	deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest
4104	urlParams_                      gensupport.URLParams
4105	ctx_                            context.Context
4106	header_                         http.Header
4107}
4108
4109// CancelPreview: Cancels and removes the preview currently associated
4110// with the deployment.
4111//
4112// - deployment: The name of the deployment for this request.
4113// - project: The project ID for this request.
4114func (r *DeploymentsService) CancelPreview(project string, deployment string, deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest) *DeploymentsCancelPreviewCall {
4115	c := &DeploymentsCancelPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4116	c.project = project
4117	c.deployment = deployment
4118	c.deploymentscancelpreviewrequest = deploymentscancelpreviewrequest
4119	return c
4120}
4121
4122// Fields allows partial responses to be retrieved. See
4123// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4124// for more information.
4125func (c *DeploymentsCancelPreviewCall) Fields(s ...googleapi.Field) *DeploymentsCancelPreviewCall {
4126	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4127	return c
4128}
4129
4130// Context sets the context to be used in this call's Do method. Any
4131// pending HTTP request will be aborted if the provided context is
4132// canceled.
4133func (c *DeploymentsCancelPreviewCall) Context(ctx context.Context) *DeploymentsCancelPreviewCall {
4134	c.ctx_ = ctx
4135	return c
4136}
4137
4138// Header returns an http.Header that can be modified by the caller to
4139// add HTTP headers to the request.
4140func (c *DeploymentsCancelPreviewCall) Header() http.Header {
4141	if c.header_ == nil {
4142		c.header_ = make(http.Header)
4143	}
4144	return c.header_
4145}
4146
4147func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
4148	reqHeaders := make(http.Header)
4149	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
4150	for k, v := range c.header_ {
4151		reqHeaders[k] = v
4152	}
4153	reqHeaders.Set("User-Agent", c.s.userAgent())
4154	var body io.Reader = nil
4155	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentscancelpreviewrequest)
4156	if err != nil {
4157		return nil, err
4158	}
4159	reqHeaders.Set("Content-Type", "application/json")
4160	c.urlParams_.Set("alt", alt)
4161	c.urlParams_.Set("prettyPrint", "false")
4162	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/cancelPreview")
4163	urls += "?" + c.urlParams_.Encode()
4164	req, err := http.NewRequest("POST", urls, body)
4165	if err != nil {
4166		return nil, err
4167	}
4168	req.Header = reqHeaders
4169	googleapi.Expand(req.URL, map[string]string{
4170		"project":    c.project,
4171		"deployment": c.deployment,
4172	})
4173	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4174}
4175
4176// Do executes the "deploymentmanager.deployments.cancelPreview" call.
4177// Exactly one of *Operation or error will be non-nil. Any non-2xx
4178// status code is an error. Response headers are in either
4179// *Operation.ServerResponse.Header or (if a response was returned at
4180// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4181// to check whether the returned error was because
4182// http.StatusNotModified was returned.
4183func (c *DeploymentsCancelPreviewCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4184	gensupport.SetOptions(c.urlParams_, opts...)
4185	res, err := c.doRequest("json")
4186	if res != nil && res.StatusCode == http.StatusNotModified {
4187		if res.Body != nil {
4188			res.Body.Close()
4189		}
4190		return nil, &googleapi.Error{
4191			Code:   res.StatusCode,
4192			Header: res.Header,
4193		}
4194	}
4195	if err != nil {
4196		return nil, err
4197	}
4198	defer googleapi.CloseBody(res)
4199	if err := googleapi.CheckResponse(res); err != nil {
4200		return nil, err
4201	}
4202	ret := &Operation{
4203		ServerResponse: googleapi.ServerResponse{
4204			Header:         res.Header,
4205			HTTPStatusCode: res.StatusCode,
4206		},
4207	}
4208	target := &ret
4209	if err := gensupport.DecodeResponse(target, res); err != nil {
4210		return nil, err
4211	}
4212	return ret, nil
4213	// {
4214	//   "description": "Cancels and removes the preview currently associated with the deployment.",
4215	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/cancelPreview",
4216	//   "httpMethod": "POST",
4217	//   "id": "deploymentmanager.deployments.cancelPreview",
4218	//   "parameterOrder": [
4219	//     "project",
4220	//     "deployment"
4221	//   ],
4222	//   "parameters": {
4223	//     "deployment": {
4224	//       "description": "The name of the deployment for this request.",
4225	//       "location": "path",
4226	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4227	//       "required": true,
4228	//       "type": "string"
4229	//     },
4230	//     "project": {
4231	//       "description": "The project ID for this request.",
4232	//       "location": "path",
4233	//       "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])?))",
4234	//       "required": true,
4235	//       "type": "string"
4236	//     }
4237	//   },
4238	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/cancelPreview",
4239	//   "request": {
4240	//     "$ref": "DeploymentsCancelPreviewRequest"
4241	//   },
4242	//   "response": {
4243	//     "$ref": "Operation"
4244	//   },
4245	//   "scopes": [
4246	//     "https://www.googleapis.com/auth/cloud-platform",
4247	//     "https://www.googleapis.com/auth/ndev.cloudman"
4248	//   ]
4249	// }
4250
4251}
4252
4253// method id "deploymentmanager.deployments.delete":
4254
4255type DeploymentsDeleteCall struct {
4256	s          *Service
4257	project    string
4258	deployment string
4259	urlParams_ gensupport.URLParams
4260	ctx_       context.Context
4261	header_    http.Header
4262}
4263
4264// Delete: Deletes a deployment and all of the resources in the
4265// deployment.
4266//
4267// - deployment: The name of the deployment for this request.
4268// - project: The project ID for this request.
4269func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
4270	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4271	c.project = project
4272	c.deployment = deployment
4273	return c
4274}
4275
4276// DeletePolicy sets the optional parameter "deletePolicy": Sets the
4277// policy to use for deleting resources.
4278//
4279// Possible values:
4280//   "DELETE" (default)
4281//   "ABANDON"
4282func (c *DeploymentsDeleteCall) DeletePolicy(deletePolicy string) *DeploymentsDeleteCall {
4283	c.urlParams_.Set("deletePolicy", deletePolicy)
4284	return c
4285}
4286
4287// Fields allows partial responses to be retrieved. See
4288// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4289// for more information.
4290func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
4291	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4292	return c
4293}
4294
4295// Context sets the context to be used in this call's Do method. Any
4296// pending HTTP request will be aborted if the provided context is
4297// canceled.
4298func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
4299	c.ctx_ = ctx
4300	return c
4301}
4302
4303// Header returns an http.Header that can be modified by the caller to
4304// add HTTP headers to the request.
4305func (c *DeploymentsDeleteCall) Header() http.Header {
4306	if c.header_ == nil {
4307		c.header_ = make(http.Header)
4308	}
4309	return c.header_
4310}
4311
4312func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
4313	reqHeaders := make(http.Header)
4314	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
4315	for k, v := range c.header_ {
4316		reqHeaders[k] = v
4317	}
4318	reqHeaders.Set("User-Agent", c.s.userAgent())
4319	var body io.Reader = nil
4320	c.urlParams_.Set("alt", alt)
4321	c.urlParams_.Set("prettyPrint", "false")
4322	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
4323	urls += "?" + c.urlParams_.Encode()
4324	req, err := http.NewRequest("DELETE", urls, body)
4325	if err != nil {
4326		return nil, err
4327	}
4328	req.Header = reqHeaders
4329	googleapi.Expand(req.URL, map[string]string{
4330		"project":    c.project,
4331		"deployment": c.deployment,
4332	})
4333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4334}
4335
4336// Do executes the "deploymentmanager.deployments.delete" call.
4337// Exactly one of *Operation or error will be non-nil. Any non-2xx
4338// status code is an error. Response headers are in either
4339// *Operation.ServerResponse.Header or (if a response was returned at
4340// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4341// to check whether the returned error was because
4342// http.StatusNotModified was returned.
4343func (c *DeploymentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4344	gensupport.SetOptions(c.urlParams_, opts...)
4345	res, err := c.doRequest("json")
4346	if res != nil && res.StatusCode == http.StatusNotModified {
4347		if res.Body != nil {
4348			res.Body.Close()
4349		}
4350		return nil, &googleapi.Error{
4351			Code:   res.StatusCode,
4352			Header: res.Header,
4353		}
4354	}
4355	if err != nil {
4356		return nil, err
4357	}
4358	defer googleapi.CloseBody(res)
4359	if err := googleapi.CheckResponse(res); err != nil {
4360		return nil, err
4361	}
4362	ret := &Operation{
4363		ServerResponse: googleapi.ServerResponse{
4364			Header:         res.Header,
4365			HTTPStatusCode: res.StatusCode,
4366		},
4367	}
4368	target := &ret
4369	if err := gensupport.DecodeResponse(target, res); err != nil {
4370		return nil, err
4371	}
4372	return ret, nil
4373	// {
4374	//   "description": "Deletes a deployment and all of the resources in the deployment.",
4375	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
4376	//   "httpMethod": "DELETE",
4377	//   "id": "deploymentmanager.deployments.delete",
4378	//   "parameterOrder": [
4379	//     "project",
4380	//     "deployment"
4381	//   ],
4382	//   "parameters": {
4383	//     "deletePolicy": {
4384	//       "default": "DELETE",
4385	//       "description": "Sets the policy to use for deleting resources.",
4386	//       "enum": [
4387	//         "DELETE",
4388	//         "ABANDON"
4389	//       ],
4390	//       "enumDescriptions": [
4391	//         "",
4392	//         ""
4393	//       ],
4394	//       "location": "query",
4395	//       "type": "string"
4396	//     },
4397	//     "deployment": {
4398	//       "description": "The name of the deployment for this request.",
4399	//       "location": "path",
4400	//       "required": true,
4401	//       "type": "string"
4402	//     },
4403	//     "project": {
4404	//       "description": "The project ID for this request.",
4405	//       "location": "path",
4406	//       "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])?))",
4407	//       "required": true,
4408	//       "type": "string"
4409	//     }
4410	//   },
4411	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
4412	//   "response": {
4413	//     "$ref": "Operation"
4414	//   },
4415	//   "scopes": [
4416	//     "https://www.googleapis.com/auth/cloud-platform",
4417	//     "https://www.googleapis.com/auth/ndev.cloudman"
4418	//   ]
4419	// }
4420
4421}
4422
4423// method id "deploymentmanager.deployments.get":
4424
4425type DeploymentsGetCall struct {
4426	s            *Service
4427	project      string
4428	deployment   string
4429	urlParams_   gensupport.URLParams
4430	ifNoneMatch_ string
4431	ctx_         context.Context
4432	header_      http.Header
4433}
4434
4435// Get: Gets information about a specific deployment.
4436//
4437// - deployment: The name of the deployment for this request.
4438// - project: The project ID for this request.
4439func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
4440	c := &DeploymentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4441	c.project = project
4442	c.deployment = deployment
4443	return c
4444}
4445
4446// Fields allows partial responses to be retrieved. See
4447// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4448// for more information.
4449func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
4450	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4451	return c
4452}
4453
4454// IfNoneMatch sets the optional parameter which makes the operation
4455// fail if the object's ETag matches the given value. This is useful for
4456// getting updates only after the object has changed since the last
4457// request. Use googleapi.IsNotModified to check whether the response
4458// error from Do is the result of In-None-Match.
4459func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
4460	c.ifNoneMatch_ = entityTag
4461	return c
4462}
4463
4464// Context sets the context to be used in this call's Do method. Any
4465// pending HTTP request will be aborted if the provided context is
4466// canceled.
4467func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
4468	c.ctx_ = ctx
4469	return c
4470}
4471
4472// Header returns an http.Header that can be modified by the caller to
4473// add HTTP headers to the request.
4474func (c *DeploymentsGetCall) Header() http.Header {
4475	if c.header_ == nil {
4476		c.header_ = make(http.Header)
4477	}
4478	return c.header_
4479}
4480
4481func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
4482	reqHeaders := make(http.Header)
4483	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
4484	for k, v := range c.header_ {
4485		reqHeaders[k] = v
4486	}
4487	reqHeaders.Set("User-Agent", c.s.userAgent())
4488	if c.ifNoneMatch_ != "" {
4489		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4490	}
4491	var body io.Reader = nil
4492	c.urlParams_.Set("alt", alt)
4493	c.urlParams_.Set("prettyPrint", "false")
4494	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
4495	urls += "?" + c.urlParams_.Encode()
4496	req, err := http.NewRequest("GET", urls, body)
4497	if err != nil {
4498		return nil, err
4499	}
4500	req.Header = reqHeaders
4501	googleapi.Expand(req.URL, map[string]string{
4502		"project":    c.project,
4503		"deployment": c.deployment,
4504	})
4505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4506}
4507
4508// Do executes the "deploymentmanager.deployments.get" call.
4509// Exactly one of *Deployment or error will be non-nil. Any non-2xx
4510// status code is an error. Response headers are in either
4511// *Deployment.ServerResponse.Header or (if a response was returned at
4512// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4513// to check whether the returned error was because
4514// http.StatusNotModified was returned.
4515func (c *DeploymentsGetCall) Do(opts ...googleapi.CallOption) (*Deployment, error) {
4516	gensupport.SetOptions(c.urlParams_, opts...)
4517	res, err := c.doRequest("json")
4518	if res != nil && res.StatusCode == http.StatusNotModified {
4519		if res.Body != nil {
4520			res.Body.Close()
4521		}
4522		return nil, &googleapi.Error{
4523			Code:   res.StatusCode,
4524			Header: res.Header,
4525		}
4526	}
4527	if err != nil {
4528		return nil, err
4529	}
4530	defer googleapi.CloseBody(res)
4531	if err := googleapi.CheckResponse(res); err != nil {
4532		return nil, err
4533	}
4534	ret := &Deployment{
4535		ServerResponse: googleapi.ServerResponse{
4536			Header:         res.Header,
4537			HTTPStatusCode: res.StatusCode,
4538		},
4539	}
4540	target := &ret
4541	if err := gensupport.DecodeResponse(target, res); err != nil {
4542		return nil, err
4543	}
4544	return ret, nil
4545	// {
4546	//   "description": "Gets information about a specific deployment.",
4547	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
4548	//   "httpMethod": "GET",
4549	//   "id": "deploymentmanager.deployments.get",
4550	//   "parameterOrder": [
4551	//     "project",
4552	//     "deployment"
4553	//   ],
4554	//   "parameters": {
4555	//     "deployment": {
4556	//       "description": "The name of the deployment for this request.",
4557	//       "location": "path",
4558	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4559	//       "required": true,
4560	//       "type": "string"
4561	//     },
4562	//     "project": {
4563	//       "description": "The project ID for this request.",
4564	//       "location": "path",
4565	//       "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])?))",
4566	//       "required": true,
4567	//       "type": "string"
4568	//     }
4569	//   },
4570	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
4571	//   "response": {
4572	//     "$ref": "Deployment"
4573	//   },
4574	//   "scopes": [
4575	//     "https://www.googleapis.com/auth/cloud-platform",
4576	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4577	//     "https://www.googleapis.com/auth/ndev.cloudman",
4578	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4579	//   ]
4580	// }
4581
4582}
4583
4584// method id "deploymentmanager.deployments.getIamPolicy":
4585
4586type DeploymentsGetIamPolicyCall struct {
4587	s            *Service
4588	project      string
4589	resource     string
4590	urlParams_   gensupport.URLParams
4591	ifNoneMatch_ string
4592	ctx_         context.Context
4593	header_      http.Header
4594}
4595
4596// GetIamPolicy: Gets the access control policy for a resource. May be
4597// empty if no such policy or resource exists.
4598//
4599// - project: Project ID for this request.
4600// - resource: Name or id of the resource for this request.
4601func (r *DeploymentsService) GetIamPolicy(project string, resource string) *DeploymentsGetIamPolicyCall {
4602	c := &DeploymentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4603	c.project = project
4604	c.resource = resource
4605	return c
4606}
4607
4608// OptionsRequestedPolicyVersion sets the optional parameter
4609// "optionsRequestedPolicyVersion": Requested IAM Policy version.
4610func (c *DeploymentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *DeploymentsGetIamPolicyCall {
4611	c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
4612	return c
4613}
4614
4615// Fields allows partial responses to be retrieved. See
4616// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4617// for more information.
4618func (c *DeploymentsGetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsGetIamPolicyCall {
4619	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4620	return c
4621}
4622
4623// IfNoneMatch sets the optional parameter which makes the operation
4624// fail if the object's ETag matches the given value. This is useful for
4625// getting updates only after the object has changed since the last
4626// request. Use googleapi.IsNotModified to check whether the response
4627// error from Do is the result of In-None-Match.
4628func (c *DeploymentsGetIamPolicyCall) IfNoneMatch(entityTag string) *DeploymentsGetIamPolicyCall {
4629	c.ifNoneMatch_ = entityTag
4630	return c
4631}
4632
4633// Context sets the context to be used in this call's Do method. Any
4634// pending HTTP request will be aborted if the provided context is
4635// canceled.
4636func (c *DeploymentsGetIamPolicyCall) Context(ctx context.Context) *DeploymentsGetIamPolicyCall {
4637	c.ctx_ = ctx
4638	return c
4639}
4640
4641// Header returns an http.Header that can be modified by the caller to
4642// add HTTP headers to the request.
4643func (c *DeploymentsGetIamPolicyCall) Header() http.Header {
4644	if c.header_ == nil {
4645		c.header_ = make(http.Header)
4646	}
4647	return c.header_
4648}
4649
4650func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4651	reqHeaders := make(http.Header)
4652	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
4653	for k, v := range c.header_ {
4654		reqHeaders[k] = v
4655	}
4656	reqHeaders.Set("User-Agent", c.s.userAgent())
4657	if c.ifNoneMatch_ != "" {
4658		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4659	}
4660	var body io.Reader = nil
4661	c.urlParams_.Set("alt", alt)
4662	c.urlParams_.Set("prettyPrint", "false")
4663	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/getIamPolicy")
4664	urls += "?" + c.urlParams_.Encode()
4665	req, err := http.NewRequest("GET", urls, body)
4666	if err != nil {
4667		return nil, err
4668	}
4669	req.Header = reqHeaders
4670	googleapi.Expand(req.URL, map[string]string{
4671		"project":  c.project,
4672		"resource": c.resource,
4673	})
4674	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4675}
4676
4677// Do executes the "deploymentmanager.deployments.getIamPolicy" call.
4678// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4679// code is an error. Response headers are in either
4680// *Policy.ServerResponse.Header or (if a response was returned at all)
4681// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4682// check whether the returned error was because http.StatusNotModified
4683// was returned.
4684func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4685	gensupport.SetOptions(c.urlParams_, opts...)
4686	res, err := c.doRequest("json")
4687	if res != nil && res.StatusCode == http.StatusNotModified {
4688		if res.Body != nil {
4689			res.Body.Close()
4690		}
4691		return nil, &googleapi.Error{
4692			Code:   res.StatusCode,
4693			Header: res.Header,
4694		}
4695	}
4696	if err != nil {
4697		return nil, err
4698	}
4699	defer googleapi.CloseBody(res)
4700	if err := googleapi.CheckResponse(res); err != nil {
4701		return nil, err
4702	}
4703	ret := &Policy{
4704		ServerResponse: googleapi.ServerResponse{
4705			Header:         res.Header,
4706			HTTPStatusCode: res.StatusCode,
4707		},
4708	}
4709	target := &ret
4710	if err := gensupport.DecodeResponse(target, res); err != nil {
4711		return nil, err
4712	}
4713	return ret, nil
4714	// {
4715	//   "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.",
4716	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/getIamPolicy",
4717	//   "httpMethod": "GET",
4718	//   "id": "deploymentmanager.deployments.getIamPolicy",
4719	//   "parameterOrder": [
4720	//     "project",
4721	//     "resource"
4722	//   ],
4723	//   "parameters": {
4724	//     "optionsRequestedPolicyVersion": {
4725	//       "description": "Requested IAM Policy version.",
4726	//       "format": "int32",
4727	//       "location": "query",
4728	//       "type": "integer"
4729	//     },
4730	//     "project": {
4731	//       "description": "Project ID for this request.",
4732	//       "location": "path",
4733	//       "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])?))",
4734	//       "required": true,
4735	//       "type": "string"
4736	//     },
4737	//     "resource": {
4738	//       "description": "Name or id of the resource for this request.",
4739	//       "location": "path",
4740	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
4741	//       "required": true,
4742	//       "type": "string"
4743	//     }
4744	//   },
4745	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/getIamPolicy",
4746	//   "response": {
4747	//     "$ref": "Policy"
4748	//   },
4749	//   "scopes": [
4750	//     "https://www.googleapis.com/auth/cloud-platform",
4751	//     "https://www.googleapis.com/auth/ndev.cloudman"
4752	//   ]
4753	// }
4754
4755}
4756
4757// method id "deploymentmanager.deployments.insert":
4758
4759type DeploymentsInsertCall struct {
4760	s          *Service
4761	project    string
4762	deployment *Deployment
4763	urlParams_ gensupport.URLParams
4764	ctx_       context.Context
4765	header_    http.Header
4766}
4767
4768// Insert: Creates a deployment and all of the resources described by
4769// the deployment manifest.
4770//
4771// - project: The project ID for this request.
4772func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
4773	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4774	c.project = project
4775	c.deployment = deployment
4776	return c
4777}
4778
4779// CreatePolicy sets the optional parameter "createPolicy": Sets the
4780// policy to use for creating new resources.
4781//
4782// Possible values:
4783//   "CREATE_OR_ACQUIRE" (default)
4784//   "ACQUIRE"
4785//   "CREATE"
4786func (c *DeploymentsInsertCall) CreatePolicy(createPolicy string) *DeploymentsInsertCall {
4787	c.urlParams_.Set("createPolicy", createPolicy)
4788	return c
4789}
4790
4791// Preview sets the optional parameter "preview": If set to true,
4792// creates a deployment and creates "shell" resources but does not
4793// actually instantiate these resources. This allows you to preview what
4794// your deployment looks like. After previewing a deployment, you can
4795// deploy your resources by making a request with the `update()` method
4796// or you can use the `cancelPreview()` method to cancel the preview
4797// altogether. Note that the deployment will still exist after you
4798// cancel the preview and you must separately delete this deployment if
4799// you want to remove it.
4800func (c *DeploymentsInsertCall) Preview(preview bool) *DeploymentsInsertCall {
4801	c.urlParams_.Set("preview", fmt.Sprint(preview))
4802	return c
4803}
4804
4805// Fields allows partial responses to be retrieved. See
4806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4807// for more information.
4808func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
4809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4810	return c
4811}
4812
4813// Context sets the context to be used in this call's Do method. Any
4814// pending HTTP request will be aborted if the provided context is
4815// canceled.
4816func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
4817	c.ctx_ = ctx
4818	return c
4819}
4820
4821// Header returns an http.Header that can be modified by the caller to
4822// add HTTP headers to the request.
4823func (c *DeploymentsInsertCall) Header() http.Header {
4824	if c.header_ == nil {
4825		c.header_ = make(http.Header)
4826	}
4827	return c.header_
4828}
4829
4830func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
4831	reqHeaders := make(http.Header)
4832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
4833	for k, v := range c.header_ {
4834		reqHeaders[k] = v
4835	}
4836	reqHeaders.Set("User-Agent", c.s.userAgent())
4837	var body io.Reader = nil
4838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment)
4839	if err != nil {
4840		return nil, err
4841	}
4842	reqHeaders.Set("Content-Type", "application/json")
4843	c.urlParams_.Set("alt", alt)
4844	c.urlParams_.Set("prettyPrint", "false")
4845	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments")
4846	urls += "?" + c.urlParams_.Encode()
4847	req, err := http.NewRequest("POST", urls, body)
4848	if err != nil {
4849		return nil, err
4850	}
4851	req.Header = reqHeaders
4852	googleapi.Expand(req.URL, map[string]string{
4853		"project": c.project,
4854	})
4855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4856}
4857
4858// Do executes the "deploymentmanager.deployments.insert" call.
4859// Exactly one of *Operation or error will be non-nil. Any non-2xx
4860// status code is an error. Response headers are in either
4861// *Operation.ServerResponse.Header or (if a response was returned at
4862// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4863// to check whether the returned error was because
4864// http.StatusNotModified was returned.
4865func (c *DeploymentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4866	gensupport.SetOptions(c.urlParams_, opts...)
4867	res, err := c.doRequest("json")
4868	if res != nil && res.StatusCode == http.StatusNotModified {
4869		if res.Body != nil {
4870			res.Body.Close()
4871		}
4872		return nil, &googleapi.Error{
4873			Code:   res.StatusCode,
4874			Header: res.Header,
4875		}
4876	}
4877	if err != nil {
4878		return nil, err
4879	}
4880	defer googleapi.CloseBody(res)
4881	if err := googleapi.CheckResponse(res); err != nil {
4882		return nil, err
4883	}
4884	ret := &Operation{
4885		ServerResponse: googleapi.ServerResponse{
4886			Header:         res.Header,
4887			HTTPStatusCode: res.StatusCode,
4888		},
4889	}
4890	target := &ret
4891	if err := gensupport.DecodeResponse(target, res); err != nil {
4892		return nil, err
4893	}
4894	return ret, nil
4895	// {
4896	//   "description": "Creates a deployment and all of the resources described by the deployment manifest.",
4897	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments",
4898	//   "httpMethod": "POST",
4899	//   "id": "deploymentmanager.deployments.insert",
4900	//   "parameterOrder": [
4901	//     "project"
4902	//   ],
4903	//   "parameters": {
4904	//     "createPolicy": {
4905	//       "default": "CREATE_OR_ACQUIRE",
4906	//       "description": "Sets the policy to use for creating new resources.",
4907	//       "enum": [
4908	//         "CREATE_OR_ACQUIRE",
4909	//         "ACQUIRE",
4910	//         "CREATE"
4911	//       ],
4912	//       "enumDescriptions": [
4913	//         "",
4914	//         "",
4915	//         ""
4916	//       ],
4917	//       "location": "query",
4918	//       "type": "string"
4919	//     },
4920	//     "preview": {
4921	//       "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.",
4922	//       "location": "query",
4923	//       "type": "boolean"
4924	//     },
4925	//     "project": {
4926	//       "description": "The project ID for this request.",
4927	//       "location": "path",
4928	//       "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])?))",
4929	//       "required": true,
4930	//       "type": "string"
4931	//     }
4932	//   },
4933	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments",
4934	//   "request": {
4935	//     "$ref": "Deployment"
4936	//   },
4937	//   "response": {
4938	//     "$ref": "Operation"
4939	//   },
4940	//   "scopes": [
4941	//     "https://www.googleapis.com/auth/cloud-platform",
4942	//     "https://www.googleapis.com/auth/ndev.cloudman"
4943	//   ]
4944	// }
4945
4946}
4947
4948// method id "deploymentmanager.deployments.list":
4949
4950type DeploymentsListCall struct {
4951	s            *Service
4952	project      string
4953	urlParams_   gensupport.URLParams
4954	ifNoneMatch_ string
4955	ctx_         context.Context
4956	header_      http.Header
4957}
4958
4959// List: Lists all deployments for a given project.
4960//
4961// - project: The project ID for this request.
4962func (r *DeploymentsService) List(project string) *DeploymentsListCall {
4963	c := &DeploymentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4964	c.project = project
4965	return c
4966}
4967
4968// Filter sets the optional parameter "filter": A filter expression that
4969// filters resources listed in the response. The expression must specify
4970// the field name, an operator, and the value that you want to use for
4971// filtering. The value must be a string, a number, or a boolean. The
4972// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
4973// example, if you are filtering Compute Engine instances, you can
4974// exclude instances named `example-instance` by specifying `name !=
4975// example-instance`. The `:` operator can be used with string fields to
4976// match substrings. For non-string fields it is equivalent to the `=`
4977// operator. The `:*` comparison can be used to test whether a key has
4978// been defined. For example, to find all objects with `owner` label
4979// use: ``` labels.owner:* ``` You can also filter nested fields. For
4980// example, you could specify `scheduling.automaticRestart = false` to
4981// include instances only if they are not scheduled for automatic
4982// restarts. You can use filtering on nested fields to filter based on
4983// resource labels. To filter on multiple expressions, provide each
4984// separate expression within parentheses. For example: ```
4985// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
4986// ``` By default, each expression is an `AND` expression. However, you
4987// can include `AND` and `OR` expressions explicitly. For example: ```
4988// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
4989// AND (scheduling.automaticRestart = true) ```
4990func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
4991	c.urlParams_.Set("filter", filter)
4992	return c
4993}
4994
4995// MaxResults sets the optional parameter "maxResults": The maximum
4996// number of results per page that should be returned. If the number of
4997// available results is larger than `maxResults`, Compute Engine returns
4998// a `nextPageToken` that can be used to get the next page of results in
4999// subsequent list requests. Acceptable values are `0` to `500`,
5000// inclusive. (Default: `500`)
5001func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
5002	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
5003	return c
5004}
5005
5006// OrderBy sets the optional parameter "orderBy": Sorts list results by
5007// a certain order. By default, results are returned in alphanumerical
5008// order based on the resource name. You can also sort results in
5009// descending order based on the creation timestamp using
5010// `orderBy="creationTimestamp desc". This sorts results based on the
5011// `creationTimestamp` field in reverse chronological order (newest
5012// result first). Use this to sort resources like operations so that the
5013// newest operation is returned first. Currently, only sorting by `name`
5014// or `creationTimestamp desc` is supported.
5015func (c *DeploymentsListCall) OrderBy(orderBy string) *DeploymentsListCall {
5016	c.urlParams_.Set("orderBy", orderBy)
5017	return c
5018}
5019
5020// PageToken sets the optional parameter "pageToken": Specifies a page
5021// token to use. Set `pageToken` to the `nextPageToken` returned by a
5022// previous list request to get the next page of results.
5023func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
5024	c.urlParams_.Set("pageToken", pageToken)
5025	return c
5026}
5027
5028// Fields allows partial responses to be retrieved. See
5029// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5030// for more information.
5031func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
5032	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5033	return c
5034}
5035
5036// IfNoneMatch sets the optional parameter which makes the operation
5037// fail if the object's ETag matches the given value. This is useful for
5038// getting updates only after the object has changed since the last
5039// request. Use googleapi.IsNotModified to check whether the response
5040// error from Do is the result of In-None-Match.
5041func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
5042	c.ifNoneMatch_ = entityTag
5043	return c
5044}
5045
5046// Context sets the context to be used in this call's Do method. Any
5047// pending HTTP request will be aborted if the provided context is
5048// canceled.
5049func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
5050	c.ctx_ = ctx
5051	return c
5052}
5053
5054// Header returns an http.Header that can be modified by the caller to
5055// add HTTP headers to the request.
5056func (c *DeploymentsListCall) Header() http.Header {
5057	if c.header_ == nil {
5058		c.header_ = make(http.Header)
5059	}
5060	return c.header_
5061}
5062
5063func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
5064	reqHeaders := make(http.Header)
5065	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5066	for k, v := range c.header_ {
5067		reqHeaders[k] = v
5068	}
5069	reqHeaders.Set("User-Agent", c.s.userAgent())
5070	if c.ifNoneMatch_ != "" {
5071		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5072	}
5073	var body io.Reader = nil
5074	c.urlParams_.Set("alt", alt)
5075	c.urlParams_.Set("prettyPrint", "false")
5076	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments")
5077	urls += "?" + c.urlParams_.Encode()
5078	req, err := http.NewRequest("GET", urls, body)
5079	if err != nil {
5080		return nil, err
5081	}
5082	req.Header = reqHeaders
5083	googleapi.Expand(req.URL, map[string]string{
5084		"project": c.project,
5085	})
5086	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5087}
5088
5089// Do executes the "deploymentmanager.deployments.list" call.
5090// Exactly one of *DeploymentsListResponse or error will be non-nil. Any
5091// non-2xx status code is an error. Response headers are in either
5092// *DeploymentsListResponse.ServerResponse.Header or (if a response was
5093// returned at all) in error.(*googleapi.Error).Header. Use
5094// googleapi.IsNotModified to check whether the returned error was
5095// because http.StatusNotModified was returned.
5096func (c *DeploymentsListCall) Do(opts ...googleapi.CallOption) (*DeploymentsListResponse, error) {
5097	gensupport.SetOptions(c.urlParams_, opts...)
5098	res, err := c.doRequest("json")
5099	if res != nil && res.StatusCode == http.StatusNotModified {
5100		if res.Body != nil {
5101			res.Body.Close()
5102		}
5103		return nil, &googleapi.Error{
5104			Code:   res.StatusCode,
5105			Header: res.Header,
5106		}
5107	}
5108	if err != nil {
5109		return nil, err
5110	}
5111	defer googleapi.CloseBody(res)
5112	if err := googleapi.CheckResponse(res); err != nil {
5113		return nil, err
5114	}
5115	ret := &DeploymentsListResponse{
5116		ServerResponse: googleapi.ServerResponse{
5117			Header:         res.Header,
5118			HTTPStatusCode: res.StatusCode,
5119		},
5120	}
5121	target := &ret
5122	if err := gensupport.DecodeResponse(target, res); err != nil {
5123		return nil, err
5124	}
5125	return ret, nil
5126	// {
5127	//   "description": "Lists all deployments for a given project.",
5128	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments",
5129	//   "httpMethod": "GET",
5130	//   "id": "deploymentmanager.deployments.list",
5131	//   "parameterOrder": [
5132	//     "project"
5133	//   ],
5134	//   "parameters": {
5135	//     "filter": {
5136	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
5137	//       "location": "query",
5138	//       "type": "string"
5139	//     },
5140	//     "maxResults": {
5141	//       "default": "500",
5142	//       "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`)",
5143	//       "format": "uint32",
5144	//       "location": "query",
5145	//       "minimum": "0",
5146	//       "type": "integer"
5147	//     },
5148	//     "orderBy": {
5149	//       "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.",
5150	//       "location": "query",
5151	//       "type": "string"
5152	//     },
5153	//     "pageToken": {
5154	//       "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.",
5155	//       "location": "query",
5156	//       "type": "string"
5157	//     },
5158	//     "project": {
5159	//       "description": "The project ID for this request.",
5160	//       "location": "path",
5161	//       "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])?))",
5162	//       "required": true,
5163	//       "type": "string"
5164	//     }
5165	//   },
5166	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments",
5167	//   "response": {
5168	//     "$ref": "DeploymentsListResponse"
5169	//   },
5170	//   "scopes": [
5171	//     "https://www.googleapis.com/auth/cloud-platform",
5172	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
5173	//     "https://www.googleapis.com/auth/ndev.cloudman",
5174	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
5175	//   ]
5176	// }
5177
5178}
5179
5180// Pages invokes f for each page of results.
5181// A non-nil error returned from f will halt the iteration.
5182// The provided context supersedes any context provided to the Context method.
5183func (c *DeploymentsListCall) Pages(ctx context.Context, f func(*DeploymentsListResponse) error) error {
5184	c.ctx_ = ctx
5185	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5186	for {
5187		x, err := c.Do()
5188		if err != nil {
5189			return err
5190		}
5191		if err := f(x); err != nil {
5192			return err
5193		}
5194		if x.NextPageToken == "" {
5195			return nil
5196		}
5197		c.PageToken(x.NextPageToken)
5198	}
5199}
5200
5201// method id "deploymentmanager.deployments.patch":
5202
5203type DeploymentsPatchCall struct {
5204	s           *Service
5205	project     string
5206	deployment  string
5207	deployment2 *Deployment
5208	urlParams_  gensupport.URLParams
5209	ctx_        context.Context
5210	header_     http.Header
5211}
5212
5213// Patch: Patches a deployment and all of the resources described by the
5214// deployment manifest.
5215//
5216// - deployment: The name of the deployment for this request.
5217// - project: The project ID for this request.
5218func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
5219	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5220	c.project = project
5221	c.deployment = deployment
5222	c.deployment2 = deployment2
5223	return c
5224}
5225
5226// CreatePolicy sets the optional parameter "createPolicy": Sets the
5227// policy to use for creating new resources.
5228//
5229// Possible values:
5230//   "CREATE_OR_ACQUIRE" (default)
5231//   "ACQUIRE"
5232//   "CREATE"
5233func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
5234	c.urlParams_.Set("createPolicy", createPolicy)
5235	return c
5236}
5237
5238// DeletePolicy sets the optional parameter "deletePolicy": Sets the
5239// policy to use for deleting resources.
5240//
5241// Possible values:
5242//   "DELETE" (default)
5243//   "ABANDON"
5244func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
5245	c.urlParams_.Set("deletePolicy", deletePolicy)
5246	return c
5247}
5248
5249// Preview sets the optional parameter "preview": If set to true,
5250// updates the deployment and creates and updates the "shell" resources
5251// but does not actually alter or instantiate these resources. This
5252// allows you to preview what your deployment will look like. You can
5253// use this intent to preview how an update would affect your
5254// deployment. You must provide a `target.config` with a configuration
5255// if this is set to true. After previewing a deployment, you can deploy
5256// your resources by making a request with the `update()` or you can
5257// `cancelPreview()` to remove the preview altogether. Note that the
5258// deployment will still exist after you cancel the preview and you must
5259// separately delete this deployment if you want to remove it.
5260func (c *DeploymentsPatchCall) Preview(preview bool) *DeploymentsPatchCall {
5261	c.urlParams_.Set("preview", fmt.Sprint(preview))
5262	return c
5263}
5264
5265// Fields allows partial responses to be retrieved. See
5266// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5267// for more information.
5268func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
5269	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5270	return c
5271}
5272
5273// Context sets the context to be used in this call's Do method. Any
5274// pending HTTP request will be aborted if the provided context is
5275// canceled.
5276func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
5277	c.ctx_ = ctx
5278	return c
5279}
5280
5281// Header returns an http.Header that can be modified by the caller to
5282// add HTTP headers to the request.
5283func (c *DeploymentsPatchCall) Header() http.Header {
5284	if c.header_ == nil {
5285		c.header_ = make(http.Header)
5286	}
5287	return c.header_
5288}
5289
5290func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
5291	reqHeaders := make(http.Header)
5292	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5293	for k, v := range c.header_ {
5294		reqHeaders[k] = v
5295	}
5296	reqHeaders.Set("User-Agent", c.s.userAgent())
5297	var body io.Reader = nil
5298	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
5299	if err != nil {
5300		return nil, err
5301	}
5302	reqHeaders.Set("Content-Type", "application/json")
5303	c.urlParams_.Set("alt", alt)
5304	c.urlParams_.Set("prettyPrint", "false")
5305	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
5306	urls += "?" + c.urlParams_.Encode()
5307	req, err := http.NewRequest("PATCH", urls, body)
5308	if err != nil {
5309		return nil, err
5310	}
5311	req.Header = reqHeaders
5312	googleapi.Expand(req.URL, map[string]string{
5313		"project":    c.project,
5314		"deployment": c.deployment,
5315	})
5316	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5317}
5318
5319// Do executes the "deploymentmanager.deployments.patch" call.
5320// Exactly one of *Operation or error will be non-nil. Any non-2xx
5321// status code is an error. Response headers are in either
5322// *Operation.ServerResponse.Header or (if a response was returned at
5323// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5324// to check whether the returned error was because
5325// http.StatusNotModified was returned.
5326func (c *DeploymentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5327	gensupport.SetOptions(c.urlParams_, opts...)
5328	res, err := c.doRequest("json")
5329	if res != nil && res.StatusCode == http.StatusNotModified {
5330		if res.Body != nil {
5331			res.Body.Close()
5332		}
5333		return nil, &googleapi.Error{
5334			Code:   res.StatusCode,
5335			Header: res.Header,
5336		}
5337	}
5338	if err != nil {
5339		return nil, err
5340	}
5341	defer googleapi.CloseBody(res)
5342	if err := googleapi.CheckResponse(res); err != nil {
5343		return nil, err
5344	}
5345	ret := &Operation{
5346		ServerResponse: googleapi.ServerResponse{
5347			Header:         res.Header,
5348			HTTPStatusCode: res.StatusCode,
5349		},
5350	}
5351	target := &ret
5352	if err := gensupport.DecodeResponse(target, res); err != nil {
5353		return nil, err
5354	}
5355	return ret, nil
5356	// {
5357	//   "description": "Patches a deployment and all of the resources described by the deployment manifest.",
5358	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
5359	//   "httpMethod": "PATCH",
5360	//   "id": "deploymentmanager.deployments.patch",
5361	//   "parameterOrder": [
5362	//     "project",
5363	//     "deployment"
5364	//   ],
5365	//   "parameters": {
5366	//     "createPolicy": {
5367	//       "default": "CREATE_OR_ACQUIRE",
5368	//       "description": "Sets the policy to use for creating new resources.",
5369	//       "enum": [
5370	//         "CREATE_OR_ACQUIRE",
5371	//         "ACQUIRE",
5372	//         "CREATE"
5373	//       ],
5374	//       "enumDescriptions": [
5375	//         "",
5376	//         "",
5377	//         ""
5378	//       ],
5379	//       "location": "query",
5380	//       "type": "string"
5381	//     },
5382	//     "deletePolicy": {
5383	//       "default": "DELETE",
5384	//       "description": "Sets the policy to use for deleting resources.",
5385	//       "enum": [
5386	//         "DELETE",
5387	//         "ABANDON"
5388	//       ],
5389	//       "enumDescriptions": [
5390	//         "",
5391	//         ""
5392	//       ],
5393	//       "location": "query",
5394	//       "type": "string"
5395	//     },
5396	//     "deployment": {
5397	//       "description": "The name of the deployment for this request.",
5398	//       "location": "path",
5399	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5400	//       "required": true,
5401	//       "type": "string"
5402	//     },
5403	//     "preview": {
5404	//       "default": "false",
5405	//       "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.",
5406	//       "location": "query",
5407	//       "type": "boolean"
5408	//     },
5409	//     "project": {
5410	//       "description": "The project ID for this request.",
5411	//       "location": "path",
5412	//       "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])?))",
5413	//       "required": true,
5414	//       "type": "string"
5415	//     }
5416	//   },
5417	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
5418	//   "request": {
5419	//     "$ref": "Deployment"
5420	//   },
5421	//   "response": {
5422	//     "$ref": "Operation"
5423	//   },
5424	//   "scopes": [
5425	//     "https://www.googleapis.com/auth/cloud-platform",
5426	//     "https://www.googleapis.com/auth/ndev.cloudman"
5427	//   ]
5428	// }
5429
5430}
5431
5432// method id "deploymentmanager.deployments.setIamPolicy":
5433
5434type DeploymentsSetIamPolicyCall struct {
5435	s                      *Service
5436	project                string
5437	resource               string
5438	globalsetpolicyrequest *GlobalSetPolicyRequest
5439	urlParams_             gensupport.URLParams
5440	ctx_                   context.Context
5441	header_                http.Header
5442}
5443
5444// SetIamPolicy: Sets the access control policy on the specified
5445// resource. Replaces any existing policy.
5446//
5447// - project: Project ID for this request.
5448// - resource: Name or id of the resource for this request.
5449func (r *DeploymentsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *DeploymentsSetIamPolicyCall {
5450	c := &DeploymentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5451	c.project = project
5452	c.resource = resource
5453	c.globalsetpolicyrequest = globalsetpolicyrequest
5454	return c
5455}
5456
5457// Fields allows partial responses to be retrieved. See
5458// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5459// for more information.
5460func (c *DeploymentsSetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsSetIamPolicyCall {
5461	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5462	return c
5463}
5464
5465// Context sets the context to be used in this call's Do method. Any
5466// pending HTTP request will be aborted if the provided context is
5467// canceled.
5468func (c *DeploymentsSetIamPolicyCall) Context(ctx context.Context) *DeploymentsSetIamPolicyCall {
5469	c.ctx_ = ctx
5470	return c
5471}
5472
5473// Header returns an http.Header that can be modified by the caller to
5474// add HTTP headers to the request.
5475func (c *DeploymentsSetIamPolicyCall) Header() http.Header {
5476	if c.header_ == nil {
5477		c.header_ = make(http.Header)
5478	}
5479	return c.header_
5480}
5481
5482func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
5483	reqHeaders := make(http.Header)
5484	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5485	for k, v := range c.header_ {
5486		reqHeaders[k] = v
5487	}
5488	reqHeaders.Set("User-Agent", c.s.userAgent())
5489	var body io.Reader = nil
5490	body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetpolicyrequest)
5491	if err != nil {
5492		return nil, err
5493	}
5494	reqHeaders.Set("Content-Type", "application/json")
5495	c.urlParams_.Set("alt", alt)
5496	c.urlParams_.Set("prettyPrint", "false")
5497	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/setIamPolicy")
5498	urls += "?" + c.urlParams_.Encode()
5499	req, err := http.NewRequest("POST", urls, body)
5500	if err != nil {
5501		return nil, err
5502	}
5503	req.Header = reqHeaders
5504	googleapi.Expand(req.URL, map[string]string{
5505		"project":  c.project,
5506		"resource": c.resource,
5507	})
5508	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5509}
5510
5511// Do executes the "deploymentmanager.deployments.setIamPolicy" call.
5512// Exactly one of *Policy or error will be non-nil. Any non-2xx status
5513// code is an error. Response headers are in either
5514// *Policy.ServerResponse.Header or (if a response was returned at all)
5515// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5516// check whether the returned error was because http.StatusNotModified
5517// was returned.
5518func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
5519	gensupport.SetOptions(c.urlParams_, opts...)
5520	res, err := c.doRequest("json")
5521	if res != nil && res.StatusCode == http.StatusNotModified {
5522		if res.Body != nil {
5523			res.Body.Close()
5524		}
5525		return nil, &googleapi.Error{
5526			Code:   res.StatusCode,
5527			Header: res.Header,
5528		}
5529	}
5530	if err != nil {
5531		return nil, err
5532	}
5533	defer googleapi.CloseBody(res)
5534	if err := googleapi.CheckResponse(res); err != nil {
5535		return nil, err
5536	}
5537	ret := &Policy{
5538		ServerResponse: googleapi.ServerResponse{
5539			Header:         res.Header,
5540			HTTPStatusCode: res.StatusCode,
5541		},
5542	}
5543	target := &ret
5544	if err := gensupport.DecodeResponse(target, res); err != nil {
5545		return nil, err
5546	}
5547	return ret, nil
5548	// {
5549	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
5550	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/setIamPolicy",
5551	//   "httpMethod": "POST",
5552	//   "id": "deploymentmanager.deployments.setIamPolicy",
5553	//   "parameterOrder": [
5554	//     "project",
5555	//     "resource"
5556	//   ],
5557	//   "parameters": {
5558	//     "project": {
5559	//       "description": "Project ID for this request.",
5560	//       "location": "path",
5561	//       "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])?))",
5562	//       "required": true,
5563	//       "type": "string"
5564	//     },
5565	//     "resource": {
5566	//       "description": "Name or id of the resource for this request.",
5567	//       "location": "path",
5568	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
5569	//       "required": true,
5570	//       "type": "string"
5571	//     }
5572	//   },
5573	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/setIamPolicy",
5574	//   "request": {
5575	//     "$ref": "GlobalSetPolicyRequest"
5576	//   },
5577	//   "response": {
5578	//     "$ref": "Policy"
5579	//   },
5580	//   "scopes": [
5581	//     "https://www.googleapis.com/auth/cloud-platform",
5582	//     "https://www.googleapis.com/auth/ndev.cloudman"
5583	//   ]
5584	// }
5585
5586}
5587
5588// method id "deploymentmanager.deployments.stop":
5589
5590type DeploymentsStopCall struct {
5591	s                      *Service
5592	project                string
5593	deployment             string
5594	deploymentsstoprequest *DeploymentsStopRequest
5595	urlParams_             gensupport.URLParams
5596	ctx_                   context.Context
5597	header_                http.Header
5598}
5599
5600// Stop: Stops an ongoing operation. This does not roll back any work
5601// that has already been completed, but prevents any new work from being
5602// started.
5603//
5604// - deployment: The name of the deployment for this request.
5605// - project: The project ID for this request.
5606func (r *DeploymentsService) Stop(project string, deployment string, deploymentsstoprequest *DeploymentsStopRequest) *DeploymentsStopCall {
5607	c := &DeploymentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5608	c.project = project
5609	c.deployment = deployment
5610	c.deploymentsstoprequest = deploymentsstoprequest
5611	return c
5612}
5613
5614// Fields allows partial responses to be retrieved. See
5615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5616// for more information.
5617func (c *DeploymentsStopCall) Fields(s ...googleapi.Field) *DeploymentsStopCall {
5618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5619	return c
5620}
5621
5622// Context sets the context to be used in this call's Do method. Any
5623// pending HTTP request will be aborted if the provided context is
5624// canceled.
5625func (c *DeploymentsStopCall) Context(ctx context.Context) *DeploymentsStopCall {
5626	c.ctx_ = ctx
5627	return c
5628}
5629
5630// Header returns an http.Header that can be modified by the caller to
5631// add HTTP headers to the request.
5632func (c *DeploymentsStopCall) Header() http.Header {
5633	if c.header_ == nil {
5634		c.header_ = make(http.Header)
5635	}
5636	return c.header_
5637}
5638
5639func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
5640	reqHeaders := make(http.Header)
5641	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5642	for k, v := range c.header_ {
5643		reqHeaders[k] = v
5644	}
5645	reqHeaders.Set("User-Agent", c.s.userAgent())
5646	var body io.Reader = nil
5647	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentsstoprequest)
5648	if err != nil {
5649		return nil, err
5650	}
5651	reqHeaders.Set("Content-Type", "application/json")
5652	c.urlParams_.Set("alt", alt)
5653	c.urlParams_.Set("prettyPrint", "false")
5654	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/stop")
5655	urls += "?" + c.urlParams_.Encode()
5656	req, err := http.NewRequest("POST", urls, body)
5657	if err != nil {
5658		return nil, err
5659	}
5660	req.Header = reqHeaders
5661	googleapi.Expand(req.URL, map[string]string{
5662		"project":    c.project,
5663		"deployment": c.deployment,
5664	})
5665	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5666}
5667
5668// Do executes the "deploymentmanager.deployments.stop" call.
5669// Exactly one of *Operation or error will be non-nil. Any non-2xx
5670// status code is an error. Response headers are in either
5671// *Operation.ServerResponse.Header or (if a response was returned at
5672// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5673// to check whether the returned error was because
5674// http.StatusNotModified was returned.
5675func (c *DeploymentsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5676	gensupport.SetOptions(c.urlParams_, opts...)
5677	res, err := c.doRequest("json")
5678	if res != nil && res.StatusCode == http.StatusNotModified {
5679		if res.Body != nil {
5680			res.Body.Close()
5681		}
5682		return nil, &googleapi.Error{
5683			Code:   res.StatusCode,
5684			Header: res.Header,
5685		}
5686	}
5687	if err != nil {
5688		return nil, err
5689	}
5690	defer googleapi.CloseBody(res)
5691	if err := googleapi.CheckResponse(res); err != nil {
5692		return nil, err
5693	}
5694	ret := &Operation{
5695		ServerResponse: googleapi.ServerResponse{
5696			Header:         res.Header,
5697			HTTPStatusCode: res.StatusCode,
5698		},
5699	}
5700	target := &ret
5701	if err := gensupport.DecodeResponse(target, res); err != nil {
5702		return nil, err
5703	}
5704	return ret, nil
5705	// {
5706	//   "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.",
5707	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/stop",
5708	//   "httpMethod": "POST",
5709	//   "id": "deploymentmanager.deployments.stop",
5710	//   "parameterOrder": [
5711	//     "project",
5712	//     "deployment"
5713	//   ],
5714	//   "parameters": {
5715	//     "deployment": {
5716	//       "description": "The name of the deployment for this request.",
5717	//       "location": "path",
5718	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5719	//       "required": true,
5720	//       "type": "string"
5721	//     },
5722	//     "project": {
5723	//       "description": "The project ID for this request.",
5724	//       "location": "path",
5725	//       "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])?))",
5726	//       "required": true,
5727	//       "type": "string"
5728	//     }
5729	//   },
5730	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/stop",
5731	//   "request": {
5732	//     "$ref": "DeploymentsStopRequest"
5733	//   },
5734	//   "response": {
5735	//     "$ref": "Operation"
5736	//   },
5737	//   "scopes": [
5738	//     "https://www.googleapis.com/auth/cloud-platform",
5739	//     "https://www.googleapis.com/auth/ndev.cloudman"
5740	//   ]
5741	// }
5742
5743}
5744
5745// method id "deploymentmanager.deployments.testIamPermissions":
5746
5747type DeploymentsTestIamPermissionsCall struct {
5748	s                      *Service
5749	project                string
5750	resource               string
5751	testpermissionsrequest *TestPermissionsRequest
5752	urlParams_             gensupport.URLParams
5753	ctx_                   context.Context
5754	header_                http.Header
5755}
5756
5757// TestIamPermissions: Returns permissions that a caller has on the
5758// specified resource.
5759//
5760// - project: Project ID for this request.
5761// - resource: Name or id of the resource for this request.
5762func (r *DeploymentsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *DeploymentsTestIamPermissionsCall {
5763	c := &DeploymentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5764	c.project = project
5765	c.resource = resource
5766	c.testpermissionsrequest = testpermissionsrequest
5767	return c
5768}
5769
5770// Fields allows partial responses to be retrieved. See
5771// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5772// for more information.
5773func (c *DeploymentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *DeploymentsTestIamPermissionsCall {
5774	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5775	return c
5776}
5777
5778// Context sets the context to be used in this call's Do method. Any
5779// pending HTTP request will be aborted if the provided context is
5780// canceled.
5781func (c *DeploymentsTestIamPermissionsCall) Context(ctx context.Context) *DeploymentsTestIamPermissionsCall {
5782	c.ctx_ = ctx
5783	return c
5784}
5785
5786// Header returns an http.Header that can be modified by the caller to
5787// add HTTP headers to the request.
5788func (c *DeploymentsTestIamPermissionsCall) Header() http.Header {
5789	if c.header_ == nil {
5790		c.header_ = make(http.Header)
5791	}
5792	return c.header_
5793}
5794
5795func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5796	reqHeaders := make(http.Header)
5797	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5798	for k, v := range c.header_ {
5799		reqHeaders[k] = v
5800	}
5801	reqHeaders.Set("User-Agent", c.s.userAgent())
5802	var body io.Reader = nil
5803	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest)
5804	if err != nil {
5805		return nil, err
5806	}
5807	reqHeaders.Set("Content-Type", "application/json")
5808	c.urlParams_.Set("alt", alt)
5809	c.urlParams_.Set("prettyPrint", "false")
5810	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/testIamPermissions")
5811	urls += "?" + c.urlParams_.Encode()
5812	req, err := http.NewRequest("POST", urls, body)
5813	if err != nil {
5814		return nil, err
5815	}
5816	req.Header = reqHeaders
5817	googleapi.Expand(req.URL, map[string]string{
5818		"project":  c.project,
5819		"resource": c.resource,
5820	})
5821	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5822}
5823
5824// Do executes the "deploymentmanager.deployments.testIamPermissions" call.
5825// Exactly one of *TestPermissionsResponse or error will be non-nil. Any
5826// non-2xx status code is an error. Response headers are in either
5827// *TestPermissionsResponse.ServerResponse.Header or (if a response was
5828// returned at all) in error.(*googleapi.Error).Header. Use
5829// googleapi.IsNotModified to check whether the returned error was
5830// because http.StatusNotModified was returned.
5831func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
5832	gensupport.SetOptions(c.urlParams_, opts...)
5833	res, err := c.doRequest("json")
5834	if res != nil && res.StatusCode == http.StatusNotModified {
5835		if res.Body != nil {
5836			res.Body.Close()
5837		}
5838		return nil, &googleapi.Error{
5839			Code:   res.StatusCode,
5840			Header: res.Header,
5841		}
5842	}
5843	if err != nil {
5844		return nil, err
5845	}
5846	defer googleapi.CloseBody(res)
5847	if err := googleapi.CheckResponse(res); err != nil {
5848		return nil, err
5849	}
5850	ret := &TestPermissionsResponse{
5851		ServerResponse: googleapi.ServerResponse{
5852			Header:         res.Header,
5853			HTTPStatusCode: res.StatusCode,
5854		},
5855	}
5856	target := &ret
5857	if err := gensupport.DecodeResponse(target, res); err != nil {
5858		return nil, err
5859	}
5860	return ret, nil
5861	// {
5862	//   "description": "Returns permissions that a caller has on the specified resource.",
5863	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/testIamPermissions",
5864	//   "httpMethod": "POST",
5865	//   "id": "deploymentmanager.deployments.testIamPermissions",
5866	//   "parameterOrder": [
5867	//     "project",
5868	//     "resource"
5869	//   ],
5870	//   "parameters": {
5871	//     "project": {
5872	//       "description": "Project ID for this request.",
5873	//       "location": "path",
5874	//       "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])?))",
5875	//       "required": true,
5876	//       "type": "string"
5877	//     },
5878	//     "resource": {
5879	//       "description": "Name or id of the resource for this request.",
5880	//       "location": "path",
5881	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
5882	//       "required": true,
5883	//       "type": "string"
5884	//     }
5885	//   },
5886	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/testIamPermissions",
5887	//   "request": {
5888	//     "$ref": "TestPermissionsRequest"
5889	//   },
5890	//   "response": {
5891	//     "$ref": "TestPermissionsResponse"
5892	//   },
5893	//   "scopes": [
5894	//     "https://www.googleapis.com/auth/cloud-platform",
5895	//     "https://www.googleapis.com/auth/ndev.cloudman"
5896	//   ]
5897	// }
5898
5899}
5900
5901// method id "deploymentmanager.deployments.update":
5902
5903type DeploymentsUpdateCall struct {
5904	s           *Service
5905	project     string
5906	deployment  string
5907	deployment2 *Deployment
5908	urlParams_  gensupport.URLParams
5909	ctx_        context.Context
5910	header_     http.Header
5911}
5912
5913// Update: Updates a deployment and all of the resources described by
5914// the deployment manifest.
5915//
5916// - deployment: The name of the deployment for this request.
5917// - project: The project ID for this request.
5918func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
5919	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5920	c.project = project
5921	c.deployment = deployment
5922	c.deployment2 = deployment2
5923	return c
5924}
5925
5926// CreatePolicy sets the optional parameter "createPolicy": Sets the
5927// policy to use for creating new resources.
5928//
5929// Possible values:
5930//   "CREATE_OR_ACQUIRE" (default)
5931//   "ACQUIRE"
5932//   "CREATE"
5933func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
5934	c.urlParams_.Set("createPolicy", createPolicy)
5935	return c
5936}
5937
5938// DeletePolicy sets the optional parameter "deletePolicy": Sets the
5939// policy to use for deleting resources.
5940//
5941// Possible values:
5942//   "DELETE" (default)
5943//   "ABANDON"
5944func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
5945	c.urlParams_.Set("deletePolicy", deletePolicy)
5946	return c
5947}
5948
5949// Preview sets the optional parameter "preview": If set to true,
5950// updates the deployment and creates and updates the "shell" resources
5951// but does not actually alter or instantiate these resources. This
5952// allows you to preview what your deployment will look like. You can
5953// use this intent to preview how an update would affect your
5954// deployment. You must provide a `target.config` with a configuration
5955// if this is set to true. After previewing a deployment, you can deploy
5956// your resources by making a request with the `update()` or you can
5957// `cancelPreview()` to remove the preview altogether. Note that the
5958// deployment will still exist after you cancel the preview and you must
5959// separately delete this deployment if you want to remove it.
5960func (c *DeploymentsUpdateCall) Preview(preview bool) *DeploymentsUpdateCall {
5961	c.urlParams_.Set("preview", fmt.Sprint(preview))
5962	return c
5963}
5964
5965// Fields allows partial responses to be retrieved. See
5966// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5967// for more information.
5968func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
5969	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5970	return c
5971}
5972
5973// Context sets the context to be used in this call's Do method. Any
5974// pending HTTP request will be aborted if the provided context is
5975// canceled.
5976func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
5977	c.ctx_ = ctx
5978	return c
5979}
5980
5981// Header returns an http.Header that can be modified by the caller to
5982// add HTTP headers to the request.
5983func (c *DeploymentsUpdateCall) Header() http.Header {
5984	if c.header_ == nil {
5985		c.header_ = make(http.Header)
5986	}
5987	return c.header_
5988}
5989
5990func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
5991	reqHeaders := make(http.Header)
5992	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
5993	for k, v := range c.header_ {
5994		reqHeaders[k] = v
5995	}
5996	reqHeaders.Set("User-Agent", c.s.userAgent())
5997	var body io.Reader = nil
5998	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
5999	if err != nil {
6000		return nil, err
6001	}
6002	reqHeaders.Set("Content-Type", "application/json")
6003	c.urlParams_.Set("alt", alt)
6004	c.urlParams_.Set("prettyPrint", "false")
6005	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
6006	urls += "?" + c.urlParams_.Encode()
6007	req, err := http.NewRequest("PUT", urls, body)
6008	if err != nil {
6009		return nil, err
6010	}
6011	req.Header = reqHeaders
6012	googleapi.Expand(req.URL, map[string]string{
6013		"project":    c.project,
6014		"deployment": c.deployment,
6015	})
6016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6017}
6018
6019// Do executes the "deploymentmanager.deployments.update" call.
6020// Exactly one of *Operation or error will be non-nil. Any non-2xx
6021// status code is an error. Response headers are in either
6022// *Operation.ServerResponse.Header or (if a response was returned at
6023// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6024// to check whether the returned error was because
6025// http.StatusNotModified was returned.
6026func (c *DeploymentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6027	gensupport.SetOptions(c.urlParams_, opts...)
6028	res, err := c.doRequest("json")
6029	if res != nil && res.StatusCode == http.StatusNotModified {
6030		if res.Body != nil {
6031			res.Body.Close()
6032		}
6033		return nil, &googleapi.Error{
6034			Code:   res.StatusCode,
6035			Header: res.Header,
6036		}
6037	}
6038	if err != nil {
6039		return nil, err
6040	}
6041	defer googleapi.CloseBody(res)
6042	if err := googleapi.CheckResponse(res); err != nil {
6043		return nil, err
6044	}
6045	ret := &Operation{
6046		ServerResponse: googleapi.ServerResponse{
6047			Header:         res.Header,
6048			HTTPStatusCode: res.StatusCode,
6049		},
6050	}
6051	target := &ret
6052	if err := gensupport.DecodeResponse(target, res); err != nil {
6053		return nil, err
6054	}
6055	return ret, nil
6056	// {
6057	//   "description": "Updates a deployment and all of the resources described by the deployment manifest.",
6058	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
6059	//   "httpMethod": "PUT",
6060	//   "id": "deploymentmanager.deployments.update",
6061	//   "parameterOrder": [
6062	//     "project",
6063	//     "deployment"
6064	//   ],
6065	//   "parameters": {
6066	//     "createPolicy": {
6067	//       "default": "CREATE_OR_ACQUIRE",
6068	//       "description": "Sets the policy to use for creating new resources.",
6069	//       "enum": [
6070	//         "CREATE_OR_ACQUIRE",
6071	//         "ACQUIRE",
6072	//         "CREATE"
6073	//       ],
6074	//       "enumDescriptions": [
6075	//         "",
6076	//         "",
6077	//         ""
6078	//       ],
6079	//       "location": "query",
6080	//       "type": "string"
6081	//     },
6082	//     "deletePolicy": {
6083	//       "default": "DELETE",
6084	//       "description": "Sets the policy to use for deleting resources.",
6085	//       "enum": [
6086	//         "DELETE",
6087	//         "ABANDON"
6088	//       ],
6089	//       "enumDescriptions": [
6090	//         "",
6091	//         ""
6092	//       ],
6093	//       "location": "query",
6094	//       "type": "string"
6095	//     },
6096	//     "deployment": {
6097	//       "description": "The name of the deployment for this request.",
6098	//       "location": "path",
6099	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6100	//       "required": true,
6101	//       "type": "string"
6102	//     },
6103	//     "preview": {
6104	//       "default": "false",
6105	//       "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.",
6106	//       "location": "query",
6107	//       "type": "boolean"
6108	//     },
6109	//     "project": {
6110	//       "description": "The project ID for this request.",
6111	//       "location": "path",
6112	//       "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])?))",
6113	//       "required": true,
6114	//       "type": "string"
6115	//     }
6116	//   },
6117	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}",
6118	//   "request": {
6119	//     "$ref": "Deployment"
6120	//   },
6121	//   "response": {
6122	//     "$ref": "Operation"
6123	//   },
6124	//   "scopes": [
6125	//     "https://www.googleapis.com/auth/cloud-platform",
6126	//     "https://www.googleapis.com/auth/ndev.cloudman"
6127	//   ]
6128	// }
6129
6130}
6131
6132// method id "deploymentmanager.manifests.get":
6133
6134type ManifestsGetCall struct {
6135	s            *Service
6136	project      string
6137	deployment   string
6138	manifest     string
6139	urlParams_   gensupport.URLParams
6140	ifNoneMatch_ string
6141	ctx_         context.Context
6142	header_      http.Header
6143}
6144
6145// Get: Gets information about a specific manifest.
6146//
6147// - deployment: The name of the deployment for this request.
6148// - manifest: The name of the manifest for this request.
6149// - project: The project ID for this request.
6150func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
6151	c := &ManifestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6152	c.project = project
6153	c.deployment = deployment
6154	c.manifest = manifest
6155	return c
6156}
6157
6158// Fields allows partial responses to be retrieved. See
6159// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6160// for more information.
6161func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
6162	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6163	return c
6164}
6165
6166// IfNoneMatch sets the optional parameter which makes the operation
6167// fail if the object's ETag matches the given value. This is useful for
6168// getting updates only after the object has changed since the last
6169// request. Use googleapi.IsNotModified to check whether the response
6170// error from Do is the result of In-None-Match.
6171func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
6172	c.ifNoneMatch_ = entityTag
6173	return c
6174}
6175
6176// Context sets the context to be used in this call's Do method. Any
6177// pending HTTP request will be aborted if the provided context is
6178// canceled.
6179func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
6180	c.ctx_ = ctx
6181	return c
6182}
6183
6184// Header returns an http.Header that can be modified by the caller to
6185// add HTTP headers to the request.
6186func (c *ManifestsGetCall) Header() http.Header {
6187	if c.header_ == nil {
6188		c.header_ = make(http.Header)
6189	}
6190	return c.header_
6191}
6192
6193func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
6194	reqHeaders := make(http.Header)
6195	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
6196	for k, v := range c.header_ {
6197		reqHeaders[k] = v
6198	}
6199	reqHeaders.Set("User-Agent", c.s.userAgent())
6200	if c.ifNoneMatch_ != "" {
6201		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6202	}
6203	var body io.Reader = nil
6204	c.urlParams_.Set("alt", alt)
6205	c.urlParams_.Set("prettyPrint", "false")
6206	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests/{manifest}")
6207	urls += "?" + c.urlParams_.Encode()
6208	req, err := http.NewRequest("GET", urls, body)
6209	if err != nil {
6210		return nil, err
6211	}
6212	req.Header = reqHeaders
6213	googleapi.Expand(req.URL, map[string]string{
6214		"project":    c.project,
6215		"deployment": c.deployment,
6216		"manifest":   c.manifest,
6217	})
6218	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6219}
6220
6221// Do executes the "deploymentmanager.manifests.get" call.
6222// Exactly one of *Manifest or error will be non-nil. Any non-2xx status
6223// code is an error. Response headers are in either
6224// *Manifest.ServerResponse.Header or (if a response was returned at
6225// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6226// to check whether the returned error was because
6227// http.StatusNotModified was returned.
6228func (c *ManifestsGetCall) Do(opts ...googleapi.CallOption) (*Manifest, error) {
6229	gensupport.SetOptions(c.urlParams_, opts...)
6230	res, err := c.doRequest("json")
6231	if res != nil && res.StatusCode == http.StatusNotModified {
6232		if res.Body != nil {
6233			res.Body.Close()
6234		}
6235		return nil, &googleapi.Error{
6236			Code:   res.StatusCode,
6237			Header: res.Header,
6238		}
6239	}
6240	if err != nil {
6241		return nil, err
6242	}
6243	defer googleapi.CloseBody(res)
6244	if err := googleapi.CheckResponse(res); err != nil {
6245		return nil, err
6246	}
6247	ret := &Manifest{
6248		ServerResponse: googleapi.ServerResponse{
6249			Header:         res.Header,
6250			HTTPStatusCode: res.StatusCode,
6251		},
6252	}
6253	target := &ret
6254	if err := gensupport.DecodeResponse(target, res); err != nil {
6255		return nil, err
6256	}
6257	return ret, nil
6258	// {
6259	//   "description": "Gets information about a specific manifest.",
6260	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests/{manifest}",
6261	//   "httpMethod": "GET",
6262	//   "id": "deploymentmanager.manifests.get",
6263	//   "parameterOrder": [
6264	//     "project",
6265	//     "deployment",
6266	//     "manifest"
6267	//   ],
6268	//   "parameters": {
6269	//     "deployment": {
6270	//       "description": "The name of the deployment for this request.",
6271	//       "location": "path",
6272	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6273	//       "required": true,
6274	//       "type": "string"
6275	//     },
6276	//     "manifest": {
6277	//       "description": "The name of the manifest for this request.",
6278	//       "location": "path",
6279	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6280	//       "required": true,
6281	//       "type": "string"
6282	//     },
6283	//     "project": {
6284	//       "description": "The project ID for this request.",
6285	//       "location": "path",
6286	//       "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])?))",
6287	//       "required": true,
6288	//       "type": "string"
6289	//     }
6290	//   },
6291	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests/{manifest}",
6292	//   "response": {
6293	//     "$ref": "Manifest"
6294	//   },
6295	//   "scopes": [
6296	//     "https://www.googleapis.com/auth/cloud-platform",
6297	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6298	//     "https://www.googleapis.com/auth/ndev.cloudman",
6299	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6300	//   ]
6301	// }
6302
6303}
6304
6305// method id "deploymentmanager.manifests.list":
6306
6307type ManifestsListCall struct {
6308	s            *Service
6309	project      string
6310	deployment   string
6311	urlParams_   gensupport.URLParams
6312	ifNoneMatch_ string
6313	ctx_         context.Context
6314	header_      http.Header
6315}
6316
6317// List: Lists all manifests for a given deployment.
6318//
6319// - deployment: The name of the deployment for this request.
6320// - project: The project ID for this request.
6321func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
6322	c := &ManifestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6323	c.project = project
6324	c.deployment = deployment
6325	return c
6326}
6327
6328// Filter sets the optional parameter "filter": A filter expression that
6329// filters resources listed in the response. The expression must specify
6330// the field name, an operator, and the value that you want to use for
6331// filtering. The value must be a string, a number, or a boolean. The
6332// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
6333// example, if you are filtering Compute Engine instances, you can
6334// exclude instances named `example-instance` by specifying `name !=
6335// example-instance`. The `:` operator can be used with string fields to
6336// match substrings. For non-string fields it is equivalent to the `=`
6337// operator. The `:*` comparison can be used to test whether a key has
6338// been defined. For example, to find all objects with `owner` label
6339// use: ``` labels.owner:* ``` You can also filter nested fields. For
6340// example, you could specify `scheduling.automaticRestart = false` to
6341// include instances only if they are not scheduled for automatic
6342// restarts. You can use filtering on nested fields to filter based on
6343// resource labels. To filter on multiple expressions, provide each
6344// separate expression within parentheses. For example: ```
6345// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
6346// ``` By default, each expression is an `AND` expression. However, you
6347// can include `AND` and `OR` expressions explicitly. For example: ```
6348// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
6349// AND (scheduling.automaticRestart = true) ```
6350func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
6351	c.urlParams_.Set("filter", filter)
6352	return c
6353}
6354
6355// MaxResults sets the optional parameter "maxResults": The maximum
6356// number of results per page that should be returned. If the number of
6357// available results is larger than `maxResults`, Compute Engine returns
6358// a `nextPageToken` that can be used to get the next page of results in
6359// subsequent list requests. Acceptable values are `0` to `500`,
6360// inclusive. (Default: `500`)
6361func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
6362	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6363	return c
6364}
6365
6366// OrderBy sets the optional parameter "orderBy": Sorts list results by
6367// a certain order. By default, results are returned in alphanumerical
6368// order based on the resource name. You can also sort results in
6369// descending order based on the creation timestamp using
6370// `orderBy="creationTimestamp desc". This sorts results based on the
6371// `creationTimestamp` field in reverse chronological order (newest
6372// result first). Use this to sort resources like operations so that the
6373// newest operation is returned first. Currently, only sorting by `name`
6374// or `creationTimestamp desc` is supported.
6375func (c *ManifestsListCall) OrderBy(orderBy string) *ManifestsListCall {
6376	c.urlParams_.Set("orderBy", orderBy)
6377	return c
6378}
6379
6380// PageToken sets the optional parameter "pageToken": Specifies a page
6381// token to use. Set `pageToken` to the `nextPageToken` returned by a
6382// previous list request to get the next page of results.
6383func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
6384	c.urlParams_.Set("pageToken", pageToken)
6385	return c
6386}
6387
6388// Fields allows partial responses to be retrieved. See
6389// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6390// for more information.
6391func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
6392	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6393	return c
6394}
6395
6396// IfNoneMatch sets the optional parameter which makes the operation
6397// fail if the object's ETag matches the given value. This is useful for
6398// getting updates only after the object has changed since the last
6399// request. Use googleapi.IsNotModified to check whether the response
6400// error from Do is the result of In-None-Match.
6401func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
6402	c.ifNoneMatch_ = entityTag
6403	return c
6404}
6405
6406// Context sets the context to be used in this call's Do method. Any
6407// pending HTTP request will be aborted if the provided context is
6408// canceled.
6409func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
6410	c.ctx_ = ctx
6411	return c
6412}
6413
6414// Header returns an http.Header that can be modified by the caller to
6415// add HTTP headers to the request.
6416func (c *ManifestsListCall) Header() http.Header {
6417	if c.header_ == nil {
6418		c.header_ = make(http.Header)
6419	}
6420	return c.header_
6421}
6422
6423func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
6424	reqHeaders := make(http.Header)
6425	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
6426	for k, v := range c.header_ {
6427		reqHeaders[k] = v
6428	}
6429	reqHeaders.Set("User-Agent", c.s.userAgent())
6430	if c.ifNoneMatch_ != "" {
6431		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6432	}
6433	var body io.Reader = nil
6434	c.urlParams_.Set("alt", alt)
6435	c.urlParams_.Set("prettyPrint", "false")
6436	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests")
6437	urls += "?" + c.urlParams_.Encode()
6438	req, err := http.NewRequest("GET", urls, body)
6439	if err != nil {
6440		return nil, err
6441	}
6442	req.Header = reqHeaders
6443	googleapi.Expand(req.URL, map[string]string{
6444		"project":    c.project,
6445		"deployment": c.deployment,
6446	})
6447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6448}
6449
6450// Do executes the "deploymentmanager.manifests.list" call.
6451// Exactly one of *ManifestsListResponse or error will be non-nil. Any
6452// non-2xx status code is an error. Response headers are in either
6453// *ManifestsListResponse.ServerResponse.Header or (if a response was
6454// returned at all) in error.(*googleapi.Error).Header. Use
6455// googleapi.IsNotModified to check whether the returned error was
6456// because http.StatusNotModified was returned.
6457func (c *ManifestsListCall) Do(opts ...googleapi.CallOption) (*ManifestsListResponse, error) {
6458	gensupport.SetOptions(c.urlParams_, opts...)
6459	res, err := c.doRequest("json")
6460	if res != nil && res.StatusCode == http.StatusNotModified {
6461		if res.Body != nil {
6462			res.Body.Close()
6463		}
6464		return nil, &googleapi.Error{
6465			Code:   res.StatusCode,
6466			Header: res.Header,
6467		}
6468	}
6469	if err != nil {
6470		return nil, err
6471	}
6472	defer googleapi.CloseBody(res)
6473	if err := googleapi.CheckResponse(res); err != nil {
6474		return nil, err
6475	}
6476	ret := &ManifestsListResponse{
6477		ServerResponse: googleapi.ServerResponse{
6478			Header:         res.Header,
6479			HTTPStatusCode: res.StatusCode,
6480		},
6481	}
6482	target := &ret
6483	if err := gensupport.DecodeResponse(target, res); err != nil {
6484		return nil, err
6485	}
6486	return ret, nil
6487	// {
6488	//   "description": "Lists all manifests for a given deployment.",
6489	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests",
6490	//   "httpMethod": "GET",
6491	//   "id": "deploymentmanager.manifests.list",
6492	//   "parameterOrder": [
6493	//     "project",
6494	//     "deployment"
6495	//   ],
6496	//   "parameters": {
6497	//     "deployment": {
6498	//       "description": "The name of the deployment for this request.",
6499	//       "location": "path",
6500	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
6501	//       "required": true,
6502	//       "type": "string"
6503	//     },
6504	//     "filter": {
6505	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
6506	//       "location": "query",
6507	//       "type": "string"
6508	//     },
6509	//     "maxResults": {
6510	//       "default": "500",
6511	//       "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`)",
6512	//       "format": "uint32",
6513	//       "location": "query",
6514	//       "minimum": "0",
6515	//       "type": "integer"
6516	//     },
6517	//     "orderBy": {
6518	//       "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.",
6519	//       "location": "query",
6520	//       "type": "string"
6521	//     },
6522	//     "pageToken": {
6523	//       "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.",
6524	//       "location": "query",
6525	//       "type": "string"
6526	//     },
6527	//     "project": {
6528	//       "description": "The project ID for this request.",
6529	//       "location": "path",
6530	//       "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])?))",
6531	//       "required": true,
6532	//       "type": "string"
6533	//     }
6534	//   },
6535	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests",
6536	//   "response": {
6537	//     "$ref": "ManifestsListResponse"
6538	//   },
6539	//   "scopes": [
6540	//     "https://www.googleapis.com/auth/cloud-platform",
6541	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6542	//     "https://www.googleapis.com/auth/ndev.cloudman",
6543	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6544	//   ]
6545	// }
6546
6547}
6548
6549// Pages invokes f for each page of results.
6550// A non-nil error returned from f will halt the iteration.
6551// The provided context supersedes any context provided to the Context method.
6552func (c *ManifestsListCall) Pages(ctx context.Context, f func(*ManifestsListResponse) error) error {
6553	c.ctx_ = ctx
6554	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6555	for {
6556		x, err := c.Do()
6557		if err != nil {
6558			return err
6559		}
6560		if err := f(x); err != nil {
6561			return err
6562		}
6563		if x.NextPageToken == "" {
6564			return nil
6565		}
6566		c.PageToken(x.NextPageToken)
6567	}
6568}
6569
6570// method id "deploymentmanager.operations.get":
6571
6572type OperationsGetCall struct {
6573	s            *Service
6574	project      string
6575	operation    string
6576	urlParams_   gensupport.URLParams
6577	ifNoneMatch_ string
6578	ctx_         context.Context
6579	header_      http.Header
6580}
6581
6582// Get: Gets information about a specific operation.
6583//
6584// - operation: The name of the operation for this request.
6585// - project: The project ID for this request.
6586func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
6587	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6588	c.project = project
6589	c.operation = operation
6590	return c
6591}
6592
6593// Fields allows partial responses to be retrieved. See
6594// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6595// for more information.
6596func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
6597	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6598	return c
6599}
6600
6601// IfNoneMatch sets the optional parameter which makes the operation
6602// fail if the object's ETag matches the given value. This is useful for
6603// getting updates only after the object has changed since the last
6604// request. Use googleapi.IsNotModified to check whether the response
6605// error from Do is the result of In-None-Match.
6606func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
6607	c.ifNoneMatch_ = entityTag
6608	return c
6609}
6610
6611// Context sets the context to be used in this call's Do method. Any
6612// pending HTTP request will be aborted if the provided context is
6613// canceled.
6614func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
6615	c.ctx_ = ctx
6616	return c
6617}
6618
6619// Header returns an http.Header that can be modified by the caller to
6620// add HTTP headers to the request.
6621func (c *OperationsGetCall) Header() http.Header {
6622	if c.header_ == nil {
6623		c.header_ = make(http.Header)
6624	}
6625	return c.header_
6626}
6627
6628func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
6629	reqHeaders := make(http.Header)
6630	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
6631	for k, v := range c.header_ {
6632		reqHeaders[k] = v
6633	}
6634	reqHeaders.Set("User-Agent", c.s.userAgent())
6635	if c.ifNoneMatch_ != "" {
6636		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6637	}
6638	var body io.Reader = nil
6639	c.urlParams_.Set("alt", alt)
6640	c.urlParams_.Set("prettyPrint", "false")
6641	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/operations/{operation}")
6642	urls += "?" + c.urlParams_.Encode()
6643	req, err := http.NewRequest("GET", urls, body)
6644	if err != nil {
6645		return nil, err
6646	}
6647	req.Header = reqHeaders
6648	googleapi.Expand(req.URL, map[string]string{
6649		"project":   c.project,
6650		"operation": c.operation,
6651	})
6652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6653}
6654
6655// Do executes the "deploymentmanager.operations.get" call.
6656// Exactly one of *Operation or error will be non-nil. Any non-2xx
6657// status code is an error. Response headers are in either
6658// *Operation.ServerResponse.Header or (if a response was returned at
6659// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6660// to check whether the returned error was because
6661// http.StatusNotModified was returned.
6662func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6663	gensupport.SetOptions(c.urlParams_, opts...)
6664	res, err := c.doRequest("json")
6665	if res != nil && res.StatusCode == http.StatusNotModified {
6666		if res.Body != nil {
6667			res.Body.Close()
6668		}
6669		return nil, &googleapi.Error{
6670			Code:   res.StatusCode,
6671			Header: res.Header,
6672		}
6673	}
6674	if err != nil {
6675		return nil, err
6676	}
6677	defer googleapi.CloseBody(res)
6678	if err := googleapi.CheckResponse(res); err != nil {
6679		return nil, err
6680	}
6681	ret := &Operation{
6682		ServerResponse: googleapi.ServerResponse{
6683			Header:         res.Header,
6684			HTTPStatusCode: res.StatusCode,
6685		},
6686	}
6687	target := &ret
6688	if err := gensupport.DecodeResponse(target, res); err != nil {
6689		return nil, err
6690	}
6691	return ret, nil
6692	// {
6693	//   "description": "Gets information about a specific operation.",
6694	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/operations/{operation}",
6695	//   "httpMethod": "GET",
6696	//   "id": "deploymentmanager.operations.get",
6697	//   "parameterOrder": [
6698	//     "project",
6699	//     "operation"
6700	//   ],
6701	//   "parameters": {
6702	//     "operation": {
6703	//       "description": "The name of the operation for this request.",
6704	//       "location": "path",
6705	//       "required": true,
6706	//       "type": "string"
6707	//     },
6708	//     "project": {
6709	//       "description": "The project ID for this request.",
6710	//       "location": "path",
6711	//       "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])?))",
6712	//       "required": true,
6713	//       "type": "string"
6714	//     }
6715	//   },
6716	//   "path": "deploymentmanager/v2beta/projects/{project}/global/operations/{operation}",
6717	//   "response": {
6718	//     "$ref": "Operation"
6719	//   },
6720	//   "scopes": [
6721	//     "https://www.googleapis.com/auth/cloud-platform",
6722	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6723	//     "https://www.googleapis.com/auth/ndev.cloudman",
6724	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6725	//   ]
6726	// }
6727
6728}
6729
6730// method id "deploymentmanager.operations.list":
6731
6732type OperationsListCall struct {
6733	s            *Service
6734	project      string
6735	urlParams_   gensupport.URLParams
6736	ifNoneMatch_ string
6737	ctx_         context.Context
6738	header_      http.Header
6739}
6740
6741// List: Lists all operations for a project.
6742//
6743// - project: The project ID for this request.
6744func (r *OperationsService) List(project string) *OperationsListCall {
6745	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6746	c.project = project
6747	return c
6748}
6749
6750// Filter sets the optional parameter "filter": A filter expression that
6751// filters resources listed in the response. The expression must specify
6752// the field name, an operator, and the value that you want to use for
6753// filtering. The value must be a string, a number, or a boolean. The
6754// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
6755// example, if you are filtering Compute Engine instances, you can
6756// exclude instances named `example-instance` by specifying `name !=
6757// example-instance`. The `:` operator can be used with string fields to
6758// match substrings. For non-string fields it is equivalent to the `=`
6759// operator. The `:*` comparison can be used to test whether a key has
6760// been defined. For example, to find all objects with `owner` label
6761// use: ``` labels.owner:* ``` You can also filter nested fields. For
6762// example, you could specify `scheduling.automaticRestart = false` to
6763// include instances only if they are not scheduled for automatic
6764// restarts. You can use filtering on nested fields to filter based on
6765// resource labels. To filter on multiple expressions, provide each
6766// separate expression within parentheses. For example: ```
6767// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
6768// ``` By default, each expression is an `AND` expression. However, you
6769// can include `AND` and `OR` expressions explicitly. For example: ```
6770// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
6771// AND (scheduling.automaticRestart = true) ```
6772func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
6773	c.urlParams_.Set("filter", filter)
6774	return c
6775}
6776
6777// MaxResults sets the optional parameter "maxResults": The maximum
6778// number of results per page that should be returned. If the number of
6779// available results is larger than `maxResults`, Compute Engine returns
6780// a `nextPageToken` that can be used to get the next page of results in
6781// subsequent list requests. Acceptable values are `0` to `500`,
6782// inclusive. (Default: `500`)
6783func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
6784	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6785	return c
6786}
6787
6788// OrderBy sets the optional parameter "orderBy": Sorts list results by
6789// a certain order. By default, results are returned in alphanumerical
6790// order based on the resource name. You can also sort results in
6791// descending order based on the creation timestamp using
6792// `orderBy="creationTimestamp desc". This sorts results based on the
6793// `creationTimestamp` field in reverse chronological order (newest
6794// result first). Use this to sort resources like operations so that the
6795// newest operation is returned first. Currently, only sorting by `name`
6796// or `creationTimestamp desc` is supported.
6797func (c *OperationsListCall) OrderBy(orderBy string) *OperationsListCall {
6798	c.urlParams_.Set("orderBy", orderBy)
6799	return c
6800}
6801
6802// PageToken sets the optional parameter "pageToken": Specifies a page
6803// token to use. Set `pageToken` to the `nextPageToken` returned by a
6804// previous list request to get the next page of results.
6805func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
6806	c.urlParams_.Set("pageToken", pageToken)
6807	return c
6808}
6809
6810// Fields allows partial responses to be retrieved. See
6811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6812// for more information.
6813func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
6814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6815	return c
6816}
6817
6818// IfNoneMatch sets the optional parameter which makes the operation
6819// fail if the object's ETag matches the given value. This is useful for
6820// getting updates only after the object has changed since the last
6821// request. Use googleapi.IsNotModified to check whether the response
6822// error from Do is the result of In-None-Match.
6823func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
6824	c.ifNoneMatch_ = entityTag
6825	return c
6826}
6827
6828// Context sets the context to be used in this call's Do method. Any
6829// pending HTTP request will be aborted if the provided context is
6830// canceled.
6831func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
6832	c.ctx_ = ctx
6833	return c
6834}
6835
6836// Header returns an http.Header that can be modified by the caller to
6837// add HTTP headers to the request.
6838func (c *OperationsListCall) Header() http.Header {
6839	if c.header_ == nil {
6840		c.header_ = make(http.Header)
6841	}
6842	return c.header_
6843}
6844
6845func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
6846	reqHeaders := make(http.Header)
6847	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
6848	for k, v := range c.header_ {
6849		reqHeaders[k] = v
6850	}
6851	reqHeaders.Set("User-Agent", c.s.userAgent())
6852	if c.ifNoneMatch_ != "" {
6853		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6854	}
6855	var body io.Reader = nil
6856	c.urlParams_.Set("alt", alt)
6857	c.urlParams_.Set("prettyPrint", "false")
6858	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/operations")
6859	urls += "?" + c.urlParams_.Encode()
6860	req, err := http.NewRequest("GET", urls, body)
6861	if err != nil {
6862		return nil, err
6863	}
6864	req.Header = reqHeaders
6865	googleapi.Expand(req.URL, map[string]string{
6866		"project": c.project,
6867	})
6868	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6869}
6870
6871// Do executes the "deploymentmanager.operations.list" call.
6872// Exactly one of *OperationsListResponse or error will be non-nil. Any
6873// non-2xx status code is an error. Response headers are in either
6874// *OperationsListResponse.ServerResponse.Header or (if a response was
6875// returned at all) in error.(*googleapi.Error).Header. Use
6876// googleapi.IsNotModified to check whether the returned error was
6877// because http.StatusNotModified was returned.
6878func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*OperationsListResponse, error) {
6879	gensupport.SetOptions(c.urlParams_, opts...)
6880	res, err := c.doRequest("json")
6881	if res != nil && res.StatusCode == http.StatusNotModified {
6882		if res.Body != nil {
6883			res.Body.Close()
6884		}
6885		return nil, &googleapi.Error{
6886			Code:   res.StatusCode,
6887			Header: res.Header,
6888		}
6889	}
6890	if err != nil {
6891		return nil, err
6892	}
6893	defer googleapi.CloseBody(res)
6894	if err := googleapi.CheckResponse(res); err != nil {
6895		return nil, err
6896	}
6897	ret := &OperationsListResponse{
6898		ServerResponse: googleapi.ServerResponse{
6899			Header:         res.Header,
6900			HTTPStatusCode: res.StatusCode,
6901		},
6902	}
6903	target := &ret
6904	if err := gensupport.DecodeResponse(target, res); err != nil {
6905		return nil, err
6906	}
6907	return ret, nil
6908	// {
6909	//   "description": "Lists all operations for a project.",
6910	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/operations",
6911	//   "httpMethod": "GET",
6912	//   "id": "deploymentmanager.operations.list",
6913	//   "parameterOrder": [
6914	//     "project"
6915	//   ],
6916	//   "parameters": {
6917	//     "filter": {
6918	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
6919	//       "location": "query",
6920	//       "type": "string"
6921	//     },
6922	//     "maxResults": {
6923	//       "default": "500",
6924	//       "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`)",
6925	//       "format": "uint32",
6926	//       "location": "query",
6927	//       "minimum": "0",
6928	//       "type": "integer"
6929	//     },
6930	//     "orderBy": {
6931	//       "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.",
6932	//       "location": "query",
6933	//       "type": "string"
6934	//     },
6935	//     "pageToken": {
6936	//       "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.",
6937	//       "location": "query",
6938	//       "type": "string"
6939	//     },
6940	//     "project": {
6941	//       "description": "The project ID for this request.",
6942	//       "location": "path",
6943	//       "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])?))",
6944	//       "required": true,
6945	//       "type": "string"
6946	//     }
6947	//   },
6948	//   "path": "deploymentmanager/v2beta/projects/{project}/global/operations",
6949	//   "response": {
6950	//     "$ref": "OperationsListResponse"
6951	//   },
6952	//   "scopes": [
6953	//     "https://www.googleapis.com/auth/cloud-platform",
6954	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
6955	//     "https://www.googleapis.com/auth/ndev.cloudman",
6956	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
6957	//   ]
6958	// }
6959
6960}
6961
6962// Pages invokes f for each page of results.
6963// A non-nil error returned from f will halt the iteration.
6964// The provided context supersedes any context provided to the Context method.
6965func (c *OperationsListCall) Pages(ctx context.Context, f func(*OperationsListResponse) error) error {
6966	c.ctx_ = ctx
6967	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6968	for {
6969		x, err := c.Do()
6970		if err != nil {
6971			return err
6972		}
6973		if err := f(x); err != nil {
6974			return err
6975		}
6976		if x.NextPageToken == "" {
6977			return nil
6978		}
6979		c.PageToken(x.NextPageToken)
6980	}
6981}
6982
6983// method id "deploymentmanager.resources.get":
6984
6985type ResourcesGetCall struct {
6986	s            *Service
6987	project      string
6988	deployment   string
6989	resource     string
6990	urlParams_   gensupport.URLParams
6991	ifNoneMatch_ string
6992	ctx_         context.Context
6993	header_      http.Header
6994}
6995
6996// Get: Gets information about a single resource.
6997//
6998// - deployment: The name of the deployment for this request.
6999// - project: The project ID for this request.
7000// - resource: The name of the resource for this request.
7001func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
7002	c := &ResourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7003	c.project = project
7004	c.deployment = deployment
7005	c.resource = resource
7006	return c
7007}
7008
7009// Fields allows partial responses to be retrieved. See
7010// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7011// for more information.
7012func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
7013	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7014	return c
7015}
7016
7017// IfNoneMatch sets the optional parameter which makes the operation
7018// fail if the object's ETag matches the given value. This is useful for
7019// getting updates only after the object has changed since the last
7020// request. Use googleapi.IsNotModified to check whether the response
7021// error from Do is the result of In-None-Match.
7022func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
7023	c.ifNoneMatch_ = entityTag
7024	return c
7025}
7026
7027// Context sets the context to be used in this call's Do method. Any
7028// pending HTTP request will be aborted if the provided context is
7029// canceled.
7030func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
7031	c.ctx_ = ctx
7032	return c
7033}
7034
7035// Header returns an http.Header that can be modified by the caller to
7036// add HTTP headers to the request.
7037func (c *ResourcesGetCall) Header() http.Header {
7038	if c.header_ == nil {
7039		c.header_ = make(http.Header)
7040	}
7041	return c.header_
7042}
7043
7044func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
7045	reqHeaders := make(http.Header)
7046	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7047	for k, v := range c.header_ {
7048		reqHeaders[k] = v
7049	}
7050	reqHeaders.Set("User-Agent", c.s.userAgent())
7051	if c.ifNoneMatch_ != "" {
7052		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7053	}
7054	var body io.Reader = nil
7055	c.urlParams_.Set("alt", alt)
7056	c.urlParams_.Set("prettyPrint", "false")
7057	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources/{resource}")
7058	urls += "?" + c.urlParams_.Encode()
7059	req, err := http.NewRequest("GET", urls, body)
7060	if err != nil {
7061		return nil, err
7062	}
7063	req.Header = reqHeaders
7064	googleapi.Expand(req.URL, map[string]string{
7065		"project":    c.project,
7066		"deployment": c.deployment,
7067		"resource":   c.resource,
7068	})
7069	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7070}
7071
7072// Do executes the "deploymentmanager.resources.get" call.
7073// Exactly one of *Resource or error will be non-nil. Any non-2xx status
7074// code is an error. Response headers are in either
7075// *Resource.ServerResponse.Header or (if a response was returned at
7076// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7077// to check whether the returned error was because
7078// http.StatusNotModified was returned.
7079func (c *ResourcesGetCall) Do(opts ...googleapi.CallOption) (*Resource, error) {
7080	gensupport.SetOptions(c.urlParams_, opts...)
7081	res, err := c.doRequest("json")
7082	if res != nil && res.StatusCode == http.StatusNotModified {
7083		if res.Body != nil {
7084			res.Body.Close()
7085		}
7086		return nil, &googleapi.Error{
7087			Code:   res.StatusCode,
7088			Header: res.Header,
7089		}
7090	}
7091	if err != nil {
7092		return nil, err
7093	}
7094	defer googleapi.CloseBody(res)
7095	if err := googleapi.CheckResponse(res); err != nil {
7096		return nil, err
7097	}
7098	ret := &Resource{
7099		ServerResponse: googleapi.ServerResponse{
7100			Header:         res.Header,
7101			HTTPStatusCode: res.StatusCode,
7102		},
7103	}
7104	target := &ret
7105	if err := gensupport.DecodeResponse(target, res); err != nil {
7106		return nil, err
7107	}
7108	return ret, nil
7109	// {
7110	//   "description": "Gets information about a single resource.",
7111	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources/{resource}",
7112	//   "httpMethod": "GET",
7113	//   "id": "deploymentmanager.resources.get",
7114	//   "parameterOrder": [
7115	//     "project",
7116	//     "deployment",
7117	//     "resource"
7118	//   ],
7119	//   "parameters": {
7120	//     "deployment": {
7121	//       "description": "The name of the deployment for this request.",
7122	//       "location": "path",
7123	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7124	//       "required": true,
7125	//       "type": "string"
7126	//     },
7127	//     "project": {
7128	//       "description": "The project ID for this request.",
7129	//       "location": "path",
7130	//       "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])?))",
7131	//       "required": true,
7132	//       "type": "string"
7133	//     },
7134	//     "resource": {
7135	//       "description": "The name of the resource for this request.",
7136	//       "location": "path",
7137	//       "required": true,
7138	//       "type": "string"
7139	//     }
7140	//   },
7141	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources/{resource}",
7142	//   "response": {
7143	//     "$ref": "Resource"
7144	//   },
7145	//   "scopes": [
7146	//     "https://www.googleapis.com/auth/cloud-platform",
7147	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7148	//     "https://www.googleapis.com/auth/ndev.cloudman",
7149	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7150	//   ]
7151	// }
7152
7153}
7154
7155// method id "deploymentmanager.resources.list":
7156
7157type ResourcesListCall struct {
7158	s            *Service
7159	project      string
7160	deployment   string
7161	urlParams_   gensupport.URLParams
7162	ifNoneMatch_ string
7163	ctx_         context.Context
7164	header_      http.Header
7165}
7166
7167// List: Lists all resources in a given deployment.
7168//
7169// - deployment: The name of the deployment for this request.
7170// - project: The project ID for this request.
7171func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
7172	c := &ResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7173	c.project = project
7174	c.deployment = deployment
7175	return c
7176}
7177
7178// Filter sets the optional parameter "filter": A filter expression that
7179// filters resources listed in the response. The expression must specify
7180// the field name, an operator, and the value that you want to use for
7181// filtering. The value must be a string, a number, or a boolean. The
7182// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
7183// example, if you are filtering Compute Engine instances, you can
7184// exclude instances named `example-instance` by specifying `name !=
7185// example-instance`. The `:` operator can be used with string fields to
7186// match substrings. For non-string fields it is equivalent to the `=`
7187// operator. The `:*` comparison can be used to test whether a key has
7188// been defined. For example, to find all objects with `owner` label
7189// use: ``` labels.owner:* ``` You can also filter nested fields. For
7190// example, you could specify `scheduling.automaticRestart = false` to
7191// include instances only if they are not scheduled for automatic
7192// restarts. You can use filtering on nested fields to filter based on
7193// resource labels. To filter on multiple expressions, provide each
7194// separate expression within parentheses. For example: ```
7195// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
7196// ``` By default, each expression is an `AND` expression. However, you
7197// can include `AND` and `OR` expressions explicitly. For example: ```
7198// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
7199// AND (scheduling.automaticRestart = true) ```
7200func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
7201	c.urlParams_.Set("filter", filter)
7202	return c
7203}
7204
7205// MaxResults sets the optional parameter "maxResults": The maximum
7206// number of results per page that should be returned. If the number of
7207// available results is larger than `maxResults`, Compute Engine returns
7208// a `nextPageToken` that can be used to get the next page of results in
7209// subsequent list requests. Acceptable values are `0` to `500`,
7210// inclusive. (Default: `500`)
7211func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
7212	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7213	return c
7214}
7215
7216// OrderBy sets the optional parameter "orderBy": Sorts list results by
7217// a certain order. By default, results are returned in alphanumerical
7218// order based on the resource name. You can also sort results in
7219// descending order based on the creation timestamp using
7220// `orderBy="creationTimestamp desc". This sorts results based on the
7221// `creationTimestamp` field in reverse chronological order (newest
7222// result first). Use this to sort resources like operations so that the
7223// newest operation is returned first. Currently, only sorting by `name`
7224// or `creationTimestamp desc` is supported.
7225func (c *ResourcesListCall) OrderBy(orderBy string) *ResourcesListCall {
7226	c.urlParams_.Set("orderBy", orderBy)
7227	return c
7228}
7229
7230// PageToken sets the optional parameter "pageToken": Specifies a page
7231// token to use. Set `pageToken` to the `nextPageToken` returned by a
7232// previous list request to get the next page of results.
7233func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
7234	c.urlParams_.Set("pageToken", pageToken)
7235	return c
7236}
7237
7238// Fields allows partial responses to be retrieved. See
7239// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7240// for more information.
7241func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
7242	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7243	return c
7244}
7245
7246// IfNoneMatch sets the optional parameter which makes the operation
7247// fail if the object's ETag matches the given value. This is useful for
7248// getting updates only after the object has changed since the last
7249// request. Use googleapi.IsNotModified to check whether the response
7250// error from Do is the result of In-None-Match.
7251func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
7252	c.ifNoneMatch_ = entityTag
7253	return c
7254}
7255
7256// Context sets the context to be used in this call's Do method. Any
7257// pending HTTP request will be aborted if the provided context is
7258// canceled.
7259func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
7260	c.ctx_ = ctx
7261	return c
7262}
7263
7264// Header returns an http.Header that can be modified by the caller to
7265// add HTTP headers to the request.
7266func (c *ResourcesListCall) Header() http.Header {
7267	if c.header_ == nil {
7268		c.header_ = make(http.Header)
7269	}
7270	return c.header_
7271}
7272
7273func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
7274	reqHeaders := make(http.Header)
7275	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7276	for k, v := range c.header_ {
7277		reqHeaders[k] = v
7278	}
7279	reqHeaders.Set("User-Agent", c.s.userAgent())
7280	if c.ifNoneMatch_ != "" {
7281		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7282	}
7283	var body io.Reader = nil
7284	c.urlParams_.Set("alt", alt)
7285	c.urlParams_.Set("prettyPrint", "false")
7286	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources")
7287	urls += "?" + c.urlParams_.Encode()
7288	req, err := http.NewRequest("GET", urls, body)
7289	if err != nil {
7290		return nil, err
7291	}
7292	req.Header = reqHeaders
7293	googleapi.Expand(req.URL, map[string]string{
7294		"project":    c.project,
7295		"deployment": c.deployment,
7296	})
7297	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7298}
7299
7300// Do executes the "deploymentmanager.resources.list" call.
7301// Exactly one of *ResourcesListResponse or error will be non-nil. Any
7302// non-2xx status code is an error. Response headers are in either
7303// *ResourcesListResponse.ServerResponse.Header or (if a response was
7304// returned at all) in error.(*googleapi.Error).Header. Use
7305// googleapi.IsNotModified to check whether the returned error was
7306// because http.StatusNotModified was returned.
7307func (c *ResourcesListCall) Do(opts ...googleapi.CallOption) (*ResourcesListResponse, error) {
7308	gensupport.SetOptions(c.urlParams_, opts...)
7309	res, err := c.doRequest("json")
7310	if res != nil && res.StatusCode == http.StatusNotModified {
7311		if res.Body != nil {
7312			res.Body.Close()
7313		}
7314		return nil, &googleapi.Error{
7315			Code:   res.StatusCode,
7316			Header: res.Header,
7317		}
7318	}
7319	if err != nil {
7320		return nil, err
7321	}
7322	defer googleapi.CloseBody(res)
7323	if err := googleapi.CheckResponse(res); err != nil {
7324		return nil, err
7325	}
7326	ret := &ResourcesListResponse{
7327		ServerResponse: googleapi.ServerResponse{
7328			Header:         res.Header,
7329			HTTPStatusCode: res.StatusCode,
7330		},
7331	}
7332	target := &ret
7333	if err := gensupport.DecodeResponse(target, res); err != nil {
7334		return nil, err
7335	}
7336	return ret, nil
7337	// {
7338	//   "description": "Lists all resources in a given deployment.",
7339	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources",
7340	//   "httpMethod": "GET",
7341	//   "id": "deploymentmanager.resources.list",
7342	//   "parameterOrder": [
7343	//     "project",
7344	//     "deployment"
7345	//   ],
7346	//   "parameters": {
7347	//     "deployment": {
7348	//       "description": "The name of the deployment for this request.",
7349	//       "location": "path",
7350	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7351	//       "required": true,
7352	//       "type": "string"
7353	//     },
7354	//     "filter": {
7355	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
7356	//       "location": "query",
7357	//       "type": "string"
7358	//     },
7359	//     "maxResults": {
7360	//       "default": "500",
7361	//       "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`)",
7362	//       "format": "uint32",
7363	//       "location": "query",
7364	//       "minimum": "0",
7365	//       "type": "integer"
7366	//     },
7367	//     "orderBy": {
7368	//       "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.",
7369	//       "location": "query",
7370	//       "type": "string"
7371	//     },
7372	//     "pageToken": {
7373	//       "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.",
7374	//       "location": "query",
7375	//       "type": "string"
7376	//     },
7377	//     "project": {
7378	//       "description": "The project ID for this request.",
7379	//       "location": "path",
7380	//       "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])?))",
7381	//       "required": true,
7382	//       "type": "string"
7383	//     }
7384	//   },
7385	//   "path": "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources",
7386	//   "response": {
7387	//     "$ref": "ResourcesListResponse"
7388	//   },
7389	//   "scopes": [
7390	//     "https://www.googleapis.com/auth/cloud-platform",
7391	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7392	//     "https://www.googleapis.com/auth/ndev.cloudman",
7393	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7394	//   ]
7395	// }
7396
7397}
7398
7399// Pages invokes f for each page of results.
7400// A non-nil error returned from f will halt the iteration.
7401// The provided context supersedes any context provided to the Context method.
7402func (c *ResourcesListCall) Pages(ctx context.Context, f func(*ResourcesListResponse) error) error {
7403	c.ctx_ = ctx
7404	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7405	for {
7406		x, err := c.Do()
7407		if err != nil {
7408			return err
7409		}
7410		if err := f(x); err != nil {
7411			return err
7412		}
7413		if x.NextPageToken == "" {
7414			return nil
7415		}
7416		c.PageToken(x.NextPageToken)
7417	}
7418}
7419
7420// method id "deploymentmanager.typeProviders.delete":
7421
7422type TypeProvidersDeleteCall struct {
7423	s            *Service
7424	project      string
7425	typeProvider string
7426	urlParams_   gensupport.URLParams
7427	ctx_         context.Context
7428	header_      http.Header
7429}
7430
7431// Delete: Deletes a type provider.
7432//
7433// - project: The project ID for this request.
7434// - typeProvider: The name of the type provider for this request.
7435func (r *TypeProvidersService) Delete(project string, typeProvider string) *TypeProvidersDeleteCall {
7436	c := &TypeProvidersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7437	c.project = project
7438	c.typeProvider = typeProvider
7439	return c
7440}
7441
7442// Fields allows partial responses to be retrieved. See
7443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7444// for more information.
7445func (c *TypeProvidersDeleteCall) Fields(s ...googleapi.Field) *TypeProvidersDeleteCall {
7446	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7447	return c
7448}
7449
7450// Context sets the context to be used in this call's Do method. Any
7451// pending HTTP request will be aborted if the provided context is
7452// canceled.
7453func (c *TypeProvidersDeleteCall) Context(ctx context.Context) *TypeProvidersDeleteCall {
7454	c.ctx_ = ctx
7455	return c
7456}
7457
7458// Header returns an http.Header that can be modified by the caller to
7459// add HTTP headers to the request.
7460func (c *TypeProvidersDeleteCall) Header() http.Header {
7461	if c.header_ == nil {
7462		c.header_ = make(http.Header)
7463	}
7464	return c.header_
7465}
7466
7467func (c *TypeProvidersDeleteCall) doRequest(alt string) (*http.Response, error) {
7468	reqHeaders := make(http.Header)
7469	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7470	for k, v := range c.header_ {
7471		reqHeaders[k] = v
7472	}
7473	reqHeaders.Set("User-Agent", c.s.userAgent())
7474	var body io.Reader = nil
7475	c.urlParams_.Set("alt", alt)
7476	c.urlParams_.Set("prettyPrint", "false")
7477	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
7478	urls += "?" + c.urlParams_.Encode()
7479	req, err := http.NewRequest("DELETE", urls, body)
7480	if err != nil {
7481		return nil, err
7482	}
7483	req.Header = reqHeaders
7484	googleapi.Expand(req.URL, map[string]string{
7485		"project":      c.project,
7486		"typeProvider": c.typeProvider,
7487	})
7488	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7489}
7490
7491// Do executes the "deploymentmanager.typeProviders.delete" call.
7492// Exactly one of *Operation or error will be non-nil. Any non-2xx
7493// status code is an error. Response headers are in either
7494// *Operation.ServerResponse.Header or (if a response was returned at
7495// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7496// to check whether the returned error was because
7497// http.StatusNotModified was returned.
7498func (c *TypeProvidersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7499	gensupport.SetOptions(c.urlParams_, opts...)
7500	res, err := c.doRequest("json")
7501	if res != nil && res.StatusCode == http.StatusNotModified {
7502		if res.Body != nil {
7503			res.Body.Close()
7504		}
7505		return nil, &googleapi.Error{
7506			Code:   res.StatusCode,
7507			Header: res.Header,
7508		}
7509	}
7510	if err != nil {
7511		return nil, err
7512	}
7513	defer googleapi.CloseBody(res)
7514	if err := googleapi.CheckResponse(res); err != nil {
7515		return nil, err
7516	}
7517	ret := &Operation{
7518		ServerResponse: googleapi.ServerResponse{
7519			Header:         res.Header,
7520			HTTPStatusCode: res.StatusCode,
7521		},
7522	}
7523	target := &ret
7524	if err := gensupport.DecodeResponse(target, res); err != nil {
7525		return nil, err
7526	}
7527	return ret, nil
7528	// {
7529	//   "description": "Deletes a type provider.",
7530	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
7531	//   "httpMethod": "DELETE",
7532	//   "id": "deploymentmanager.typeProviders.delete",
7533	//   "parameterOrder": [
7534	//     "project",
7535	//     "typeProvider"
7536	//   ],
7537	//   "parameters": {
7538	//     "project": {
7539	//       "description": "The project ID for this request.",
7540	//       "location": "path",
7541	//       "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])?))",
7542	//       "required": true,
7543	//       "type": "string"
7544	//     },
7545	//     "typeProvider": {
7546	//       "description": "The name of the type provider for this request.",
7547	//       "location": "path",
7548	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7549	//       "required": true,
7550	//       "type": "string"
7551	//     }
7552	//   },
7553	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
7554	//   "response": {
7555	//     "$ref": "Operation"
7556	//   },
7557	//   "scopes": [
7558	//     "https://www.googleapis.com/auth/cloud-platform",
7559	//     "https://www.googleapis.com/auth/ndev.cloudman"
7560	//   ]
7561	// }
7562
7563}
7564
7565// method id "deploymentmanager.typeProviders.get":
7566
7567type TypeProvidersGetCall struct {
7568	s            *Service
7569	project      string
7570	typeProvider string
7571	urlParams_   gensupport.URLParams
7572	ifNoneMatch_ string
7573	ctx_         context.Context
7574	header_      http.Header
7575}
7576
7577// Get: Gets information about a specific type provider.
7578//
7579// - project: The project ID for this request.
7580// - typeProvider: The name of the type provider for this request.
7581func (r *TypeProvidersService) Get(project string, typeProvider string) *TypeProvidersGetCall {
7582	c := &TypeProvidersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7583	c.project = project
7584	c.typeProvider = typeProvider
7585	return c
7586}
7587
7588// Fields allows partial responses to be retrieved. See
7589// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7590// for more information.
7591func (c *TypeProvidersGetCall) Fields(s ...googleapi.Field) *TypeProvidersGetCall {
7592	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7593	return c
7594}
7595
7596// IfNoneMatch sets the optional parameter which makes the operation
7597// fail if the object's ETag matches the given value. This is useful for
7598// getting updates only after the object has changed since the last
7599// request. Use googleapi.IsNotModified to check whether the response
7600// error from Do is the result of In-None-Match.
7601func (c *TypeProvidersGetCall) IfNoneMatch(entityTag string) *TypeProvidersGetCall {
7602	c.ifNoneMatch_ = entityTag
7603	return c
7604}
7605
7606// Context sets the context to be used in this call's Do method. Any
7607// pending HTTP request will be aborted if the provided context is
7608// canceled.
7609func (c *TypeProvidersGetCall) Context(ctx context.Context) *TypeProvidersGetCall {
7610	c.ctx_ = ctx
7611	return c
7612}
7613
7614// Header returns an http.Header that can be modified by the caller to
7615// add HTTP headers to the request.
7616func (c *TypeProvidersGetCall) Header() http.Header {
7617	if c.header_ == nil {
7618		c.header_ = make(http.Header)
7619	}
7620	return c.header_
7621}
7622
7623func (c *TypeProvidersGetCall) doRequest(alt string) (*http.Response, error) {
7624	reqHeaders := make(http.Header)
7625	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7626	for k, v := range c.header_ {
7627		reqHeaders[k] = v
7628	}
7629	reqHeaders.Set("User-Agent", c.s.userAgent())
7630	if c.ifNoneMatch_ != "" {
7631		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7632	}
7633	var body io.Reader = nil
7634	c.urlParams_.Set("alt", alt)
7635	c.urlParams_.Set("prettyPrint", "false")
7636	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
7637	urls += "?" + c.urlParams_.Encode()
7638	req, err := http.NewRequest("GET", urls, body)
7639	if err != nil {
7640		return nil, err
7641	}
7642	req.Header = reqHeaders
7643	googleapi.Expand(req.URL, map[string]string{
7644		"project":      c.project,
7645		"typeProvider": c.typeProvider,
7646	})
7647	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7648}
7649
7650// Do executes the "deploymentmanager.typeProviders.get" call.
7651// Exactly one of *TypeProvider or error will be non-nil. Any non-2xx
7652// status code is an error. Response headers are in either
7653// *TypeProvider.ServerResponse.Header or (if a response was returned at
7654// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7655// to check whether the returned error was because
7656// http.StatusNotModified was returned.
7657func (c *TypeProvidersGetCall) Do(opts ...googleapi.CallOption) (*TypeProvider, error) {
7658	gensupport.SetOptions(c.urlParams_, opts...)
7659	res, err := c.doRequest("json")
7660	if res != nil && res.StatusCode == http.StatusNotModified {
7661		if res.Body != nil {
7662			res.Body.Close()
7663		}
7664		return nil, &googleapi.Error{
7665			Code:   res.StatusCode,
7666			Header: res.Header,
7667		}
7668	}
7669	if err != nil {
7670		return nil, err
7671	}
7672	defer googleapi.CloseBody(res)
7673	if err := googleapi.CheckResponse(res); err != nil {
7674		return nil, err
7675	}
7676	ret := &TypeProvider{
7677		ServerResponse: googleapi.ServerResponse{
7678			Header:         res.Header,
7679			HTTPStatusCode: res.StatusCode,
7680		},
7681	}
7682	target := &ret
7683	if err := gensupport.DecodeResponse(target, res); err != nil {
7684		return nil, err
7685	}
7686	return ret, nil
7687	// {
7688	//   "description": "Gets information about a specific type provider.",
7689	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
7690	//   "httpMethod": "GET",
7691	//   "id": "deploymentmanager.typeProviders.get",
7692	//   "parameterOrder": [
7693	//     "project",
7694	//     "typeProvider"
7695	//   ],
7696	//   "parameters": {
7697	//     "project": {
7698	//       "description": "The project ID for this request.",
7699	//       "location": "path",
7700	//       "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])?))",
7701	//       "required": true,
7702	//       "type": "string"
7703	//     },
7704	//     "typeProvider": {
7705	//       "description": "The name of the type provider for this request.",
7706	//       "location": "path",
7707	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7708	//       "required": true,
7709	//       "type": "string"
7710	//     }
7711	//   },
7712	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
7713	//   "response": {
7714	//     "$ref": "TypeProvider"
7715	//   },
7716	//   "scopes": [
7717	//     "https://www.googleapis.com/auth/cloud-platform",
7718	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7719	//     "https://www.googleapis.com/auth/ndev.cloudman",
7720	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7721	//   ]
7722	// }
7723
7724}
7725
7726// method id "deploymentmanager.typeProviders.getType":
7727
7728type TypeProvidersGetTypeCall struct {
7729	s            *Service
7730	project      string
7731	typeProvider string
7732	type_        string
7733	urlParams_   gensupport.URLParams
7734	ifNoneMatch_ string
7735	ctx_         context.Context
7736	header_      http.Header
7737}
7738
7739// GetType: Gets a type info for a type provided by a TypeProvider.
7740//
7741// - project: The project ID for this request.
7742// - type: The name of the type provider type for this request.
7743// - typeProvider: The name of the type provider for this request.
7744func (r *TypeProvidersService) GetType(project string, typeProvider string, type_ string) *TypeProvidersGetTypeCall {
7745	c := &TypeProvidersGetTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7746	c.project = project
7747	c.typeProvider = typeProvider
7748	c.type_ = type_
7749	return c
7750}
7751
7752// Fields allows partial responses to be retrieved. See
7753// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7754// for more information.
7755func (c *TypeProvidersGetTypeCall) Fields(s ...googleapi.Field) *TypeProvidersGetTypeCall {
7756	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7757	return c
7758}
7759
7760// IfNoneMatch sets the optional parameter which makes the operation
7761// fail if the object's ETag matches the given value. This is useful for
7762// getting updates only after the object has changed since the last
7763// request. Use googleapi.IsNotModified to check whether the response
7764// error from Do is the result of In-None-Match.
7765func (c *TypeProvidersGetTypeCall) IfNoneMatch(entityTag string) *TypeProvidersGetTypeCall {
7766	c.ifNoneMatch_ = entityTag
7767	return c
7768}
7769
7770// Context sets the context to be used in this call's Do method. Any
7771// pending HTTP request will be aborted if the provided context is
7772// canceled.
7773func (c *TypeProvidersGetTypeCall) Context(ctx context.Context) *TypeProvidersGetTypeCall {
7774	c.ctx_ = ctx
7775	return c
7776}
7777
7778// Header returns an http.Header that can be modified by the caller to
7779// add HTTP headers to the request.
7780func (c *TypeProvidersGetTypeCall) Header() http.Header {
7781	if c.header_ == nil {
7782		c.header_ = make(http.Header)
7783	}
7784	return c.header_
7785}
7786
7787func (c *TypeProvidersGetTypeCall) doRequest(alt string) (*http.Response, error) {
7788	reqHeaders := make(http.Header)
7789	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7790	for k, v := range c.header_ {
7791		reqHeaders[k] = v
7792	}
7793	reqHeaders.Set("User-Agent", c.s.userAgent())
7794	if c.ifNoneMatch_ != "" {
7795		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7796	}
7797	var body io.Reader = nil
7798	c.urlParams_.Set("alt", alt)
7799	c.urlParams_.Set("prettyPrint", "false")
7800	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}")
7801	urls += "?" + c.urlParams_.Encode()
7802	req, err := http.NewRequest("GET", urls, body)
7803	if err != nil {
7804		return nil, err
7805	}
7806	req.Header = reqHeaders
7807	googleapi.Expand(req.URL, map[string]string{
7808		"project":      c.project,
7809		"typeProvider": c.typeProvider,
7810		"type":         c.type_,
7811	})
7812	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7813}
7814
7815// Do executes the "deploymentmanager.typeProviders.getType" call.
7816// Exactly one of *TypeInfo or error will be non-nil. Any non-2xx status
7817// code is an error. Response headers are in either
7818// *TypeInfo.ServerResponse.Header or (if a response was returned at
7819// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7820// to check whether the returned error was because
7821// http.StatusNotModified was returned.
7822func (c *TypeProvidersGetTypeCall) Do(opts ...googleapi.CallOption) (*TypeInfo, error) {
7823	gensupport.SetOptions(c.urlParams_, opts...)
7824	res, err := c.doRequest("json")
7825	if res != nil && res.StatusCode == http.StatusNotModified {
7826		if res.Body != nil {
7827			res.Body.Close()
7828		}
7829		return nil, &googleapi.Error{
7830			Code:   res.StatusCode,
7831			Header: res.Header,
7832		}
7833	}
7834	if err != nil {
7835		return nil, err
7836	}
7837	defer googleapi.CloseBody(res)
7838	if err := googleapi.CheckResponse(res); err != nil {
7839		return nil, err
7840	}
7841	ret := &TypeInfo{
7842		ServerResponse: googleapi.ServerResponse{
7843			Header:         res.Header,
7844			HTTPStatusCode: res.StatusCode,
7845		},
7846	}
7847	target := &ret
7848	if err := gensupport.DecodeResponse(target, res); err != nil {
7849		return nil, err
7850	}
7851	return ret, nil
7852	// {
7853	//   "description": "Gets a type info for a type provided by a TypeProvider.",
7854	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}",
7855	//   "httpMethod": "GET",
7856	//   "id": "deploymentmanager.typeProviders.getType",
7857	//   "parameterOrder": [
7858	//     "project",
7859	//     "typeProvider",
7860	//     "type"
7861	//   ],
7862	//   "parameters": {
7863	//     "project": {
7864	//       "description": "The project ID for this request.",
7865	//       "location": "path",
7866	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
7867	//       "required": true,
7868	//       "type": "string"
7869	//     },
7870	//     "type": {
7871	//       "description": "The name of the type provider type for this request.",
7872	//       "location": "path",
7873	//       "required": true,
7874	//       "type": "string"
7875	//     },
7876	//     "typeProvider": {
7877	//       "description": "The name of the type provider for this request.",
7878	//       "location": "path",
7879	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
7880	//       "required": true,
7881	//       "type": "string"
7882	//     }
7883	//   },
7884	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}",
7885	//   "response": {
7886	//     "$ref": "TypeInfo"
7887	//   },
7888	//   "scopes": [
7889	//     "https://www.googleapis.com/auth/cloud-platform",
7890	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
7891	//     "https://www.googleapis.com/auth/ndev.cloudman",
7892	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
7893	//   ]
7894	// }
7895
7896}
7897
7898// method id "deploymentmanager.typeProviders.insert":
7899
7900type TypeProvidersInsertCall struct {
7901	s            *Service
7902	project      string
7903	typeprovider *TypeProvider
7904	urlParams_   gensupport.URLParams
7905	ctx_         context.Context
7906	header_      http.Header
7907}
7908
7909// Insert: Creates a type provider.
7910//
7911// - project: The project ID for this request.
7912func (r *TypeProvidersService) Insert(project string, typeprovider *TypeProvider) *TypeProvidersInsertCall {
7913	c := &TypeProvidersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7914	c.project = project
7915	c.typeprovider = typeprovider
7916	return c
7917}
7918
7919// Fields allows partial responses to be retrieved. See
7920// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7921// for more information.
7922func (c *TypeProvidersInsertCall) Fields(s ...googleapi.Field) *TypeProvidersInsertCall {
7923	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7924	return c
7925}
7926
7927// Context sets the context to be used in this call's Do method. Any
7928// pending HTTP request will be aborted if the provided context is
7929// canceled.
7930func (c *TypeProvidersInsertCall) Context(ctx context.Context) *TypeProvidersInsertCall {
7931	c.ctx_ = ctx
7932	return c
7933}
7934
7935// Header returns an http.Header that can be modified by the caller to
7936// add HTTP headers to the request.
7937func (c *TypeProvidersInsertCall) Header() http.Header {
7938	if c.header_ == nil {
7939		c.header_ = make(http.Header)
7940	}
7941	return c.header_
7942}
7943
7944func (c *TypeProvidersInsertCall) doRequest(alt string) (*http.Response, error) {
7945	reqHeaders := make(http.Header)
7946	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
7947	for k, v := range c.header_ {
7948		reqHeaders[k] = v
7949	}
7950	reqHeaders.Set("User-Agent", c.s.userAgent())
7951	var body io.Reader = nil
7952	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
7953	if err != nil {
7954		return nil, err
7955	}
7956	reqHeaders.Set("Content-Type", "application/json")
7957	c.urlParams_.Set("alt", alt)
7958	c.urlParams_.Set("prettyPrint", "false")
7959	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders")
7960	urls += "?" + c.urlParams_.Encode()
7961	req, err := http.NewRequest("POST", urls, body)
7962	if err != nil {
7963		return nil, err
7964	}
7965	req.Header = reqHeaders
7966	googleapi.Expand(req.URL, map[string]string{
7967		"project": c.project,
7968	})
7969	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7970}
7971
7972// Do executes the "deploymentmanager.typeProviders.insert" call.
7973// Exactly one of *Operation or error will be non-nil. Any non-2xx
7974// status code is an error. Response headers are in either
7975// *Operation.ServerResponse.Header or (if a response was returned at
7976// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7977// to check whether the returned error was because
7978// http.StatusNotModified was returned.
7979func (c *TypeProvidersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7980	gensupport.SetOptions(c.urlParams_, opts...)
7981	res, err := c.doRequest("json")
7982	if res != nil && res.StatusCode == http.StatusNotModified {
7983		if res.Body != nil {
7984			res.Body.Close()
7985		}
7986		return nil, &googleapi.Error{
7987			Code:   res.StatusCode,
7988			Header: res.Header,
7989		}
7990	}
7991	if err != nil {
7992		return nil, err
7993	}
7994	defer googleapi.CloseBody(res)
7995	if err := googleapi.CheckResponse(res); err != nil {
7996		return nil, err
7997	}
7998	ret := &Operation{
7999		ServerResponse: googleapi.ServerResponse{
8000			Header:         res.Header,
8001			HTTPStatusCode: res.StatusCode,
8002		},
8003	}
8004	target := &ret
8005	if err := gensupport.DecodeResponse(target, res); err != nil {
8006		return nil, err
8007	}
8008	return ret, nil
8009	// {
8010	//   "description": "Creates a type provider.",
8011	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders",
8012	//   "httpMethod": "POST",
8013	//   "id": "deploymentmanager.typeProviders.insert",
8014	//   "parameterOrder": [
8015	//     "project"
8016	//   ],
8017	//   "parameters": {
8018	//     "project": {
8019	//       "description": "The project ID for this request.",
8020	//       "location": "path",
8021	//       "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])?))",
8022	//       "required": true,
8023	//       "type": "string"
8024	//     }
8025	//   },
8026	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders",
8027	//   "request": {
8028	//     "$ref": "TypeProvider"
8029	//   },
8030	//   "response": {
8031	//     "$ref": "Operation"
8032	//   },
8033	//   "scopes": [
8034	//     "https://www.googleapis.com/auth/cloud-platform",
8035	//     "https://www.googleapis.com/auth/ndev.cloudman"
8036	//   ]
8037	// }
8038
8039}
8040
8041// method id "deploymentmanager.typeProviders.list":
8042
8043type TypeProvidersListCall struct {
8044	s            *Service
8045	project      string
8046	urlParams_   gensupport.URLParams
8047	ifNoneMatch_ string
8048	ctx_         context.Context
8049	header_      http.Header
8050}
8051
8052// List: Lists all resource type providers for Deployment Manager.
8053//
8054// - project: The project ID for this request.
8055func (r *TypeProvidersService) List(project string) *TypeProvidersListCall {
8056	c := &TypeProvidersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8057	c.project = project
8058	return c
8059}
8060
8061// Filter sets the optional parameter "filter": A filter expression that
8062// filters resources listed in the response. The expression must specify
8063// the field name, an operator, and the value that you want to use for
8064// filtering. The value must be a string, a number, or a boolean. The
8065// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
8066// example, if you are filtering Compute Engine instances, you can
8067// exclude instances named `example-instance` by specifying `name !=
8068// example-instance`. The `:` operator can be used with string fields to
8069// match substrings. For non-string fields it is equivalent to the `=`
8070// operator. The `:*` comparison can be used to test whether a key has
8071// been defined. For example, to find all objects with `owner` label
8072// use: ``` labels.owner:* ``` You can also filter nested fields. For
8073// example, you could specify `scheduling.automaticRestart = false` to
8074// include instances only if they are not scheduled for automatic
8075// restarts. You can use filtering on nested fields to filter based on
8076// resource labels. To filter on multiple expressions, provide each
8077// separate expression within parentheses. For example: ```
8078// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
8079// ``` By default, each expression is an `AND` expression. However, you
8080// can include `AND` and `OR` expressions explicitly. For example: ```
8081// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
8082// AND (scheduling.automaticRestart = true) ```
8083func (c *TypeProvidersListCall) Filter(filter string) *TypeProvidersListCall {
8084	c.urlParams_.Set("filter", filter)
8085	return c
8086}
8087
8088// MaxResults sets the optional parameter "maxResults": The maximum
8089// number of results per page that should be returned. If the number of
8090// available results is larger than `maxResults`, Compute Engine returns
8091// a `nextPageToken` that can be used to get the next page of results in
8092// subsequent list requests. Acceptable values are `0` to `500`,
8093// inclusive. (Default: `500`)
8094func (c *TypeProvidersListCall) MaxResults(maxResults int64) *TypeProvidersListCall {
8095	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8096	return c
8097}
8098
8099// OrderBy sets the optional parameter "orderBy": Sorts list results by
8100// a certain order. By default, results are returned in alphanumerical
8101// order based on the resource name. You can also sort results in
8102// descending order based on the creation timestamp using
8103// `orderBy="creationTimestamp desc". This sorts results based on the
8104// `creationTimestamp` field in reverse chronological order (newest
8105// result first). Use this to sort resources like operations so that the
8106// newest operation is returned first. Currently, only sorting by `name`
8107// or `creationTimestamp desc` is supported.
8108func (c *TypeProvidersListCall) OrderBy(orderBy string) *TypeProvidersListCall {
8109	c.urlParams_.Set("orderBy", orderBy)
8110	return c
8111}
8112
8113// PageToken sets the optional parameter "pageToken": Specifies a page
8114// token to use. Set `pageToken` to the `nextPageToken` returned by a
8115// previous list request to get the next page of results.
8116func (c *TypeProvidersListCall) PageToken(pageToken string) *TypeProvidersListCall {
8117	c.urlParams_.Set("pageToken", pageToken)
8118	return c
8119}
8120
8121// Fields allows partial responses to be retrieved. See
8122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8123// for more information.
8124func (c *TypeProvidersListCall) Fields(s ...googleapi.Field) *TypeProvidersListCall {
8125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8126	return c
8127}
8128
8129// IfNoneMatch sets the optional parameter which makes the operation
8130// fail if the object's ETag matches the given value. This is useful for
8131// getting updates only after the object has changed since the last
8132// request. Use googleapi.IsNotModified to check whether the response
8133// error from Do is the result of In-None-Match.
8134func (c *TypeProvidersListCall) IfNoneMatch(entityTag string) *TypeProvidersListCall {
8135	c.ifNoneMatch_ = entityTag
8136	return c
8137}
8138
8139// Context sets the context to be used in this call's Do method. Any
8140// pending HTTP request will be aborted if the provided context is
8141// canceled.
8142func (c *TypeProvidersListCall) Context(ctx context.Context) *TypeProvidersListCall {
8143	c.ctx_ = ctx
8144	return c
8145}
8146
8147// Header returns an http.Header that can be modified by the caller to
8148// add HTTP headers to the request.
8149func (c *TypeProvidersListCall) Header() http.Header {
8150	if c.header_ == nil {
8151		c.header_ = make(http.Header)
8152	}
8153	return c.header_
8154}
8155
8156func (c *TypeProvidersListCall) doRequest(alt string) (*http.Response, error) {
8157	reqHeaders := make(http.Header)
8158	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
8159	for k, v := range c.header_ {
8160		reqHeaders[k] = v
8161	}
8162	reqHeaders.Set("User-Agent", c.s.userAgent())
8163	if c.ifNoneMatch_ != "" {
8164		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8165	}
8166	var body io.Reader = nil
8167	c.urlParams_.Set("alt", alt)
8168	c.urlParams_.Set("prettyPrint", "false")
8169	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders")
8170	urls += "?" + c.urlParams_.Encode()
8171	req, err := http.NewRequest("GET", urls, body)
8172	if err != nil {
8173		return nil, err
8174	}
8175	req.Header = reqHeaders
8176	googleapi.Expand(req.URL, map[string]string{
8177		"project": c.project,
8178	})
8179	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8180}
8181
8182// Do executes the "deploymentmanager.typeProviders.list" call.
8183// Exactly one of *TypeProvidersListResponse or error will be non-nil.
8184// Any non-2xx status code is an error. Response headers are in either
8185// *TypeProvidersListResponse.ServerResponse.Header or (if a response
8186// was returned at all) in error.(*googleapi.Error).Header. Use
8187// googleapi.IsNotModified to check whether the returned error was
8188// because http.StatusNotModified was returned.
8189func (c *TypeProvidersListCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListResponse, error) {
8190	gensupport.SetOptions(c.urlParams_, opts...)
8191	res, err := c.doRequest("json")
8192	if res != nil && res.StatusCode == http.StatusNotModified {
8193		if res.Body != nil {
8194			res.Body.Close()
8195		}
8196		return nil, &googleapi.Error{
8197			Code:   res.StatusCode,
8198			Header: res.Header,
8199		}
8200	}
8201	if err != nil {
8202		return nil, err
8203	}
8204	defer googleapi.CloseBody(res)
8205	if err := googleapi.CheckResponse(res); err != nil {
8206		return nil, err
8207	}
8208	ret := &TypeProvidersListResponse{
8209		ServerResponse: googleapi.ServerResponse{
8210			Header:         res.Header,
8211			HTTPStatusCode: res.StatusCode,
8212		},
8213	}
8214	target := &ret
8215	if err := gensupport.DecodeResponse(target, res); err != nil {
8216		return nil, err
8217	}
8218	return ret, nil
8219	// {
8220	//   "description": "Lists all resource type providers for Deployment Manager.",
8221	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders",
8222	//   "httpMethod": "GET",
8223	//   "id": "deploymentmanager.typeProviders.list",
8224	//   "parameterOrder": [
8225	//     "project"
8226	//   ],
8227	//   "parameters": {
8228	//     "filter": {
8229	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
8230	//       "location": "query",
8231	//       "type": "string"
8232	//     },
8233	//     "maxResults": {
8234	//       "default": "500",
8235	//       "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`)",
8236	//       "format": "uint32",
8237	//       "location": "query",
8238	//       "minimum": "0",
8239	//       "type": "integer"
8240	//     },
8241	//     "orderBy": {
8242	//       "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.",
8243	//       "location": "query",
8244	//       "type": "string"
8245	//     },
8246	//     "pageToken": {
8247	//       "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.",
8248	//       "location": "query",
8249	//       "type": "string"
8250	//     },
8251	//     "project": {
8252	//       "description": "The project ID for this request.",
8253	//       "location": "path",
8254	//       "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])?))",
8255	//       "required": true,
8256	//       "type": "string"
8257	//     }
8258	//   },
8259	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders",
8260	//   "response": {
8261	//     "$ref": "TypeProvidersListResponse"
8262	//   },
8263	//   "scopes": [
8264	//     "https://www.googleapis.com/auth/cloud-platform",
8265	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
8266	//     "https://www.googleapis.com/auth/ndev.cloudman",
8267	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8268	//   ]
8269	// }
8270
8271}
8272
8273// Pages invokes f for each page of results.
8274// A non-nil error returned from f will halt the iteration.
8275// The provided context supersedes any context provided to the Context method.
8276func (c *TypeProvidersListCall) Pages(ctx context.Context, f func(*TypeProvidersListResponse) error) error {
8277	c.ctx_ = ctx
8278	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8279	for {
8280		x, err := c.Do()
8281		if err != nil {
8282			return err
8283		}
8284		if err := f(x); err != nil {
8285			return err
8286		}
8287		if x.NextPageToken == "" {
8288			return nil
8289		}
8290		c.PageToken(x.NextPageToken)
8291	}
8292}
8293
8294// method id "deploymentmanager.typeProviders.listTypes":
8295
8296type TypeProvidersListTypesCall struct {
8297	s            *Service
8298	project      string
8299	typeProvider string
8300	urlParams_   gensupport.URLParams
8301	ifNoneMatch_ string
8302	ctx_         context.Context
8303	header_      http.Header
8304}
8305
8306// ListTypes: Lists all the type info for a TypeProvider.
8307//
8308// - project: The project ID for this request.
8309// - typeProvider: The name of the type provider for this request.
8310func (r *TypeProvidersService) ListTypes(project string, typeProvider string) *TypeProvidersListTypesCall {
8311	c := &TypeProvidersListTypesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8312	c.project = project
8313	c.typeProvider = typeProvider
8314	return c
8315}
8316
8317// Filter sets the optional parameter "filter": A filter expression that
8318// filters resources listed in the response. The expression must specify
8319// the field name, an operator, and the value that you want to use for
8320// filtering. The value must be a string, a number, or a boolean. The
8321// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
8322// example, if you are filtering Compute Engine instances, you can
8323// exclude instances named `example-instance` by specifying `name !=
8324// example-instance`. The `:` operator can be used with string fields to
8325// match substrings. For non-string fields it is equivalent to the `=`
8326// operator. The `:*` comparison can be used to test whether a key has
8327// been defined. For example, to find all objects with `owner` label
8328// use: ``` labels.owner:* ``` You can also filter nested fields. For
8329// example, you could specify `scheduling.automaticRestart = false` to
8330// include instances only if they are not scheduled for automatic
8331// restarts. You can use filtering on nested fields to filter based on
8332// resource labels. To filter on multiple expressions, provide each
8333// separate expression within parentheses. For example: ```
8334// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
8335// ``` By default, each expression is an `AND` expression. However, you
8336// can include `AND` and `OR` expressions explicitly. For example: ```
8337// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
8338// AND (scheduling.automaticRestart = true) ```
8339func (c *TypeProvidersListTypesCall) Filter(filter string) *TypeProvidersListTypesCall {
8340	c.urlParams_.Set("filter", filter)
8341	return c
8342}
8343
8344// MaxResults sets the optional parameter "maxResults": The maximum
8345// number of results per page that should be returned. If the number of
8346// available results is larger than `maxResults`, Compute Engine returns
8347// a `nextPageToken` that can be used to get the next page of results in
8348// subsequent list requests. Acceptable values are `0` to `500`,
8349// inclusive. (Default: `500`)
8350func (c *TypeProvidersListTypesCall) MaxResults(maxResults int64) *TypeProvidersListTypesCall {
8351	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8352	return c
8353}
8354
8355// OrderBy sets the optional parameter "orderBy": Sorts list results by
8356// a certain order. By default, results are returned in alphanumerical
8357// order based on the resource name. You can also sort results in
8358// descending order based on the creation timestamp using
8359// `orderBy="creationTimestamp desc". This sorts results based on the
8360// `creationTimestamp` field in reverse chronological order (newest
8361// result first). Use this to sort resources like operations so that the
8362// newest operation is returned first. Currently, only sorting by `name`
8363// or `creationTimestamp desc` is supported.
8364func (c *TypeProvidersListTypesCall) OrderBy(orderBy string) *TypeProvidersListTypesCall {
8365	c.urlParams_.Set("orderBy", orderBy)
8366	return c
8367}
8368
8369// PageToken sets the optional parameter "pageToken": Specifies a page
8370// token to use. Set `pageToken` to the `nextPageToken` returned by a
8371// previous list request to get the next page of results.
8372func (c *TypeProvidersListTypesCall) PageToken(pageToken string) *TypeProvidersListTypesCall {
8373	c.urlParams_.Set("pageToken", pageToken)
8374	return c
8375}
8376
8377// Fields allows partial responses to be retrieved. See
8378// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8379// for more information.
8380func (c *TypeProvidersListTypesCall) Fields(s ...googleapi.Field) *TypeProvidersListTypesCall {
8381	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8382	return c
8383}
8384
8385// IfNoneMatch sets the optional parameter which makes the operation
8386// fail if the object's ETag matches the given value. This is useful for
8387// getting updates only after the object has changed since the last
8388// request. Use googleapi.IsNotModified to check whether the response
8389// error from Do is the result of In-None-Match.
8390func (c *TypeProvidersListTypesCall) IfNoneMatch(entityTag string) *TypeProvidersListTypesCall {
8391	c.ifNoneMatch_ = entityTag
8392	return c
8393}
8394
8395// Context sets the context to be used in this call's Do method. Any
8396// pending HTTP request will be aborted if the provided context is
8397// canceled.
8398func (c *TypeProvidersListTypesCall) Context(ctx context.Context) *TypeProvidersListTypesCall {
8399	c.ctx_ = ctx
8400	return c
8401}
8402
8403// Header returns an http.Header that can be modified by the caller to
8404// add HTTP headers to the request.
8405func (c *TypeProvidersListTypesCall) Header() http.Header {
8406	if c.header_ == nil {
8407		c.header_ = make(http.Header)
8408	}
8409	return c.header_
8410}
8411
8412func (c *TypeProvidersListTypesCall) doRequest(alt string) (*http.Response, error) {
8413	reqHeaders := make(http.Header)
8414	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
8415	for k, v := range c.header_ {
8416		reqHeaders[k] = v
8417	}
8418	reqHeaders.Set("User-Agent", c.s.userAgent())
8419	if c.ifNoneMatch_ != "" {
8420		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8421	}
8422	var body io.Reader = nil
8423	c.urlParams_.Set("alt", alt)
8424	c.urlParams_.Set("prettyPrint", "false")
8425	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types")
8426	urls += "?" + c.urlParams_.Encode()
8427	req, err := http.NewRequest("GET", urls, body)
8428	if err != nil {
8429		return nil, err
8430	}
8431	req.Header = reqHeaders
8432	googleapi.Expand(req.URL, map[string]string{
8433		"project":      c.project,
8434		"typeProvider": c.typeProvider,
8435	})
8436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8437}
8438
8439// Do executes the "deploymentmanager.typeProviders.listTypes" call.
8440// Exactly one of *TypeProvidersListTypesResponse or error will be
8441// non-nil. Any non-2xx status code is an error. Response headers are in
8442// either *TypeProvidersListTypesResponse.ServerResponse.Header or (if a
8443// response was returned at all) in error.(*googleapi.Error).Header. Use
8444// googleapi.IsNotModified to check whether the returned error was
8445// because http.StatusNotModified was returned.
8446func (c *TypeProvidersListTypesCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListTypesResponse, error) {
8447	gensupport.SetOptions(c.urlParams_, opts...)
8448	res, err := c.doRequest("json")
8449	if res != nil && res.StatusCode == http.StatusNotModified {
8450		if res.Body != nil {
8451			res.Body.Close()
8452		}
8453		return nil, &googleapi.Error{
8454			Code:   res.StatusCode,
8455			Header: res.Header,
8456		}
8457	}
8458	if err != nil {
8459		return nil, err
8460	}
8461	defer googleapi.CloseBody(res)
8462	if err := googleapi.CheckResponse(res); err != nil {
8463		return nil, err
8464	}
8465	ret := &TypeProvidersListTypesResponse{
8466		ServerResponse: googleapi.ServerResponse{
8467			Header:         res.Header,
8468			HTTPStatusCode: res.StatusCode,
8469		},
8470	}
8471	target := &ret
8472	if err := gensupport.DecodeResponse(target, res); err != nil {
8473		return nil, err
8474	}
8475	return ret, nil
8476	// {
8477	//   "description": "Lists all the type info for a TypeProvider.",
8478	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types",
8479	//   "httpMethod": "GET",
8480	//   "id": "deploymentmanager.typeProviders.listTypes",
8481	//   "parameterOrder": [
8482	//     "project",
8483	//     "typeProvider"
8484	//   ],
8485	//   "parameters": {
8486	//     "filter": {
8487	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
8488	//       "location": "query",
8489	//       "type": "string"
8490	//     },
8491	//     "maxResults": {
8492	//       "default": "500",
8493	//       "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`)",
8494	//       "format": "uint32",
8495	//       "location": "query",
8496	//       "minimum": "0",
8497	//       "type": "integer"
8498	//     },
8499	//     "orderBy": {
8500	//       "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.",
8501	//       "location": "query",
8502	//       "type": "string"
8503	//     },
8504	//     "pageToken": {
8505	//       "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.",
8506	//       "location": "query",
8507	//       "type": "string"
8508	//     },
8509	//     "project": {
8510	//       "description": "The project ID for this request.",
8511	//       "location": "path",
8512	//       "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])?))",
8513	//       "required": true,
8514	//       "type": "string"
8515	//     },
8516	//     "typeProvider": {
8517	//       "description": "The name of the type provider for this request.",
8518	//       "location": "path",
8519	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8520	//       "required": true,
8521	//       "type": "string"
8522	//     }
8523	//   },
8524	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types",
8525	//   "response": {
8526	//     "$ref": "TypeProvidersListTypesResponse"
8527	//   },
8528	//   "scopes": [
8529	//     "https://www.googleapis.com/auth/cloud-platform",
8530	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
8531	//     "https://www.googleapis.com/auth/ndev.cloudman",
8532	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8533	//   ]
8534	// }
8535
8536}
8537
8538// Pages invokes f for each page of results.
8539// A non-nil error returned from f will halt the iteration.
8540// The provided context supersedes any context provided to the Context method.
8541func (c *TypeProvidersListTypesCall) Pages(ctx context.Context, f func(*TypeProvidersListTypesResponse) error) error {
8542	c.ctx_ = ctx
8543	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8544	for {
8545		x, err := c.Do()
8546		if err != nil {
8547			return err
8548		}
8549		if err := f(x); err != nil {
8550			return err
8551		}
8552		if x.NextPageToken == "" {
8553			return nil
8554		}
8555		c.PageToken(x.NextPageToken)
8556	}
8557}
8558
8559// method id "deploymentmanager.typeProviders.patch":
8560
8561type TypeProvidersPatchCall struct {
8562	s            *Service
8563	project      string
8564	typeProvider string
8565	typeprovider *TypeProvider
8566	urlParams_   gensupport.URLParams
8567	ctx_         context.Context
8568	header_      http.Header
8569}
8570
8571// Patch: Patches a type provider.
8572//
8573// - project: The project ID for this request.
8574// - typeProvider: The name of the type provider for this request.
8575func (r *TypeProvidersService) Patch(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersPatchCall {
8576	c := &TypeProvidersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8577	c.project = project
8578	c.typeProvider = typeProvider
8579	c.typeprovider = typeprovider
8580	return c
8581}
8582
8583// Fields allows partial responses to be retrieved. See
8584// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8585// for more information.
8586func (c *TypeProvidersPatchCall) Fields(s ...googleapi.Field) *TypeProvidersPatchCall {
8587	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8588	return c
8589}
8590
8591// Context sets the context to be used in this call's Do method. Any
8592// pending HTTP request will be aborted if the provided context is
8593// canceled.
8594func (c *TypeProvidersPatchCall) Context(ctx context.Context) *TypeProvidersPatchCall {
8595	c.ctx_ = ctx
8596	return c
8597}
8598
8599// Header returns an http.Header that can be modified by the caller to
8600// add HTTP headers to the request.
8601func (c *TypeProvidersPatchCall) Header() http.Header {
8602	if c.header_ == nil {
8603		c.header_ = make(http.Header)
8604	}
8605	return c.header_
8606}
8607
8608func (c *TypeProvidersPatchCall) doRequest(alt string) (*http.Response, error) {
8609	reqHeaders := make(http.Header)
8610	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
8611	for k, v := range c.header_ {
8612		reqHeaders[k] = v
8613	}
8614	reqHeaders.Set("User-Agent", c.s.userAgent())
8615	var body io.Reader = nil
8616	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
8617	if err != nil {
8618		return nil, err
8619	}
8620	reqHeaders.Set("Content-Type", "application/json")
8621	c.urlParams_.Set("alt", alt)
8622	c.urlParams_.Set("prettyPrint", "false")
8623	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
8624	urls += "?" + c.urlParams_.Encode()
8625	req, err := http.NewRequest("PATCH", urls, body)
8626	if err != nil {
8627		return nil, err
8628	}
8629	req.Header = reqHeaders
8630	googleapi.Expand(req.URL, map[string]string{
8631		"project":      c.project,
8632		"typeProvider": c.typeProvider,
8633	})
8634	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8635}
8636
8637// Do executes the "deploymentmanager.typeProviders.patch" call.
8638// Exactly one of *Operation or error will be non-nil. Any non-2xx
8639// status code is an error. Response headers are in either
8640// *Operation.ServerResponse.Header or (if a response was returned at
8641// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8642// to check whether the returned error was because
8643// http.StatusNotModified was returned.
8644func (c *TypeProvidersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8645	gensupport.SetOptions(c.urlParams_, opts...)
8646	res, err := c.doRequest("json")
8647	if res != nil && res.StatusCode == http.StatusNotModified {
8648		if res.Body != nil {
8649			res.Body.Close()
8650		}
8651		return nil, &googleapi.Error{
8652			Code:   res.StatusCode,
8653			Header: res.Header,
8654		}
8655	}
8656	if err != nil {
8657		return nil, err
8658	}
8659	defer googleapi.CloseBody(res)
8660	if err := googleapi.CheckResponse(res); err != nil {
8661		return nil, err
8662	}
8663	ret := &Operation{
8664		ServerResponse: googleapi.ServerResponse{
8665			Header:         res.Header,
8666			HTTPStatusCode: res.StatusCode,
8667		},
8668	}
8669	target := &ret
8670	if err := gensupport.DecodeResponse(target, res); err != nil {
8671		return nil, err
8672	}
8673	return ret, nil
8674	// {
8675	//   "description": "Patches a type provider.",
8676	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
8677	//   "httpMethod": "PATCH",
8678	//   "id": "deploymentmanager.typeProviders.patch",
8679	//   "parameterOrder": [
8680	//     "project",
8681	//     "typeProvider"
8682	//   ],
8683	//   "parameters": {
8684	//     "project": {
8685	//       "description": "The project ID for this request.",
8686	//       "location": "path",
8687	//       "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])?))",
8688	//       "required": true,
8689	//       "type": "string"
8690	//     },
8691	//     "typeProvider": {
8692	//       "description": "The name of the type provider for this request.",
8693	//       "location": "path",
8694	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8695	//       "required": true,
8696	//       "type": "string"
8697	//     }
8698	//   },
8699	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
8700	//   "request": {
8701	//     "$ref": "TypeProvider"
8702	//   },
8703	//   "response": {
8704	//     "$ref": "Operation"
8705	//   },
8706	//   "scopes": [
8707	//     "https://www.googleapis.com/auth/cloud-platform",
8708	//     "https://www.googleapis.com/auth/ndev.cloudman"
8709	//   ]
8710	// }
8711
8712}
8713
8714// method id "deploymentmanager.typeProviders.update":
8715
8716type TypeProvidersUpdateCall struct {
8717	s            *Service
8718	project      string
8719	typeProvider string
8720	typeprovider *TypeProvider
8721	urlParams_   gensupport.URLParams
8722	ctx_         context.Context
8723	header_      http.Header
8724}
8725
8726// Update: Updates a type provider.
8727//
8728// - project: The project ID for this request.
8729// - typeProvider: The name of the type provider for this request.
8730func (r *TypeProvidersService) Update(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersUpdateCall {
8731	c := &TypeProvidersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8732	c.project = project
8733	c.typeProvider = typeProvider
8734	c.typeprovider = typeprovider
8735	return c
8736}
8737
8738// Fields allows partial responses to be retrieved. See
8739// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8740// for more information.
8741func (c *TypeProvidersUpdateCall) Fields(s ...googleapi.Field) *TypeProvidersUpdateCall {
8742	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8743	return c
8744}
8745
8746// Context sets the context to be used in this call's Do method. Any
8747// pending HTTP request will be aborted if the provided context is
8748// canceled.
8749func (c *TypeProvidersUpdateCall) Context(ctx context.Context) *TypeProvidersUpdateCall {
8750	c.ctx_ = ctx
8751	return c
8752}
8753
8754// Header returns an http.Header that can be modified by the caller to
8755// add HTTP headers to the request.
8756func (c *TypeProvidersUpdateCall) Header() http.Header {
8757	if c.header_ == nil {
8758		c.header_ = make(http.Header)
8759	}
8760	return c.header_
8761}
8762
8763func (c *TypeProvidersUpdateCall) doRequest(alt string) (*http.Response, error) {
8764	reqHeaders := make(http.Header)
8765	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
8766	for k, v := range c.header_ {
8767		reqHeaders[k] = v
8768	}
8769	reqHeaders.Set("User-Agent", c.s.userAgent())
8770	var body io.Reader = nil
8771	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
8772	if err != nil {
8773		return nil, err
8774	}
8775	reqHeaders.Set("Content-Type", "application/json")
8776	c.urlParams_.Set("alt", alt)
8777	c.urlParams_.Set("prettyPrint", "false")
8778	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
8779	urls += "?" + c.urlParams_.Encode()
8780	req, err := http.NewRequest("PUT", urls, body)
8781	if err != nil {
8782		return nil, err
8783	}
8784	req.Header = reqHeaders
8785	googleapi.Expand(req.URL, map[string]string{
8786		"project":      c.project,
8787		"typeProvider": c.typeProvider,
8788	})
8789	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8790}
8791
8792// Do executes the "deploymentmanager.typeProviders.update" call.
8793// Exactly one of *Operation or error will be non-nil. Any non-2xx
8794// status code is an error. Response headers are in either
8795// *Operation.ServerResponse.Header or (if a response was returned at
8796// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8797// to check whether the returned error was because
8798// http.StatusNotModified was returned.
8799func (c *TypeProvidersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8800	gensupport.SetOptions(c.urlParams_, opts...)
8801	res, err := c.doRequest("json")
8802	if res != nil && res.StatusCode == http.StatusNotModified {
8803		if res.Body != nil {
8804			res.Body.Close()
8805		}
8806		return nil, &googleapi.Error{
8807			Code:   res.StatusCode,
8808			Header: res.Header,
8809		}
8810	}
8811	if err != nil {
8812		return nil, err
8813	}
8814	defer googleapi.CloseBody(res)
8815	if err := googleapi.CheckResponse(res); err != nil {
8816		return nil, err
8817	}
8818	ret := &Operation{
8819		ServerResponse: googleapi.ServerResponse{
8820			Header:         res.Header,
8821			HTTPStatusCode: res.StatusCode,
8822		},
8823	}
8824	target := &ret
8825	if err := gensupport.DecodeResponse(target, res); err != nil {
8826		return nil, err
8827	}
8828	return ret, nil
8829	// {
8830	//   "description": "Updates a type provider.",
8831	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
8832	//   "httpMethod": "PUT",
8833	//   "id": "deploymentmanager.typeProviders.update",
8834	//   "parameterOrder": [
8835	//     "project",
8836	//     "typeProvider"
8837	//   ],
8838	//   "parameters": {
8839	//     "project": {
8840	//       "description": "The project ID for this request.",
8841	//       "location": "path",
8842	//       "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])?))",
8843	//       "required": true,
8844	//       "type": "string"
8845	//     },
8846	//     "typeProvider": {
8847	//       "description": "The name of the type provider for this request.",
8848	//       "location": "path",
8849	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
8850	//       "required": true,
8851	//       "type": "string"
8852	//     }
8853	//   },
8854	//   "path": "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}",
8855	//   "request": {
8856	//     "$ref": "TypeProvider"
8857	//   },
8858	//   "response": {
8859	//     "$ref": "Operation"
8860	//   },
8861	//   "scopes": [
8862	//     "https://www.googleapis.com/auth/cloud-platform",
8863	//     "https://www.googleapis.com/auth/ndev.cloudman"
8864	//   ]
8865	// }
8866
8867}
8868
8869// method id "deploymentmanager.types.list":
8870
8871type TypesListCall struct {
8872	s            *Service
8873	project      string
8874	urlParams_   gensupport.URLParams
8875	ifNoneMatch_ string
8876	ctx_         context.Context
8877	header_      http.Header
8878}
8879
8880// List: Lists all resource types for Deployment Manager.
8881//
8882// - project: The project ID for this request.
8883func (r *TypesService) List(project string) *TypesListCall {
8884	c := &TypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8885	c.project = project
8886	return c
8887}
8888
8889// Filter sets the optional parameter "filter": A filter expression that
8890// filters resources listed in the response. The expression must specify
8891// the field name, an operator, and the value that you want to use for
8892// filtering. The value must be a string, a number, or a boolean. The
8893// operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For
8894// example, if you are filtering Compute Engine instances, you can
8895// exclude instances named `example-instance` by specifying `name !=
8896// example-instance`. The `:` operator can be used with string fields to
8897// match substrings. For non-string fields it is equivalent to the `=`
8898// operator. The `:*` comparison can be used to test whether a key has
8899// been defined. For example, to find all objects with `owner` label
8900// use: ``` labels.owner:* ``` You can also filter nested fields. For
8901// example, you could specify `scheduling.automaticRestart = false` to
8902// include instances only if they are not scheduled for automatic
8903// restarts. You can use filtering on nested fields to filter based on
8904// resource labels. To filter on multiple expressions, provide each
8905// separate expression within parentheses. For example: ```
8906// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
8907// ``` By default, each expression is an `AND` expression. However, you
8908// can include `AND` and `OR` expressions explicitly. For example: ```
8909// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
8910// AND (scheduling.automaticRestart = true) ```
8911func (c *TypesListCall) Filter(filter string) *TypesListCall {
8912	c.urlParams_.Set("filter", filter)
8913	return c
8914}
8915
8916// MaxResults sets the optional parameter "maxResults": The maximum
8917// number of results per page that should be returned. If the number of
8918// available results is larger than `maxResults`, Compute Engine returns
8919// a `nextPageToken` that can be used to get the next page of results in
8920// subsequent list requests. Acceptable values are `0` to `500`,
8921// inclusive. (Default: `500`)
8922func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
8923	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8924	return c
8925}
8926
8927// OrderBy sets the optional parameter "orderBy": Sorts list results by
8928// a certain order. By default, results are returned in alphanumerical
8929// order based on the resource name. You can also sort results in
8930// descending order based on the creation timestamp using
8931// `orderBy="creationTimestamp desc". This sorts results based on the
8932// `creationTimestamp` field in reverse chronological order (newest
8933// result first). Use this to sort resources like operations so that the
8934// newest operation is returned first. Currently, only sorting by `name`
8935// or `creationTimestamp desc` is supported.
8936func (c *TypesListCall) OrderBy(orderBy string) *TypesListCall {
8937	c.urlParams_.Set("orderBy", orderBy)
8938	return c
8939}
8940
8941// PageToken sets the optional parameter "pageToken": Specifies a page
8942// token to use. Set `pageToken` to the `nextPageToken` returned by a
8943// previous list request to get the next page of results.
8944func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
8945	c.urlParams_.Set("pageToken", pageToken)
8946	return c
8947}
8948
8949// Fields allows partial responses to be retrieved. See
8950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8951// for more information.
8952func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
8953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8954	return c
8955}
8956
8957// IfNoneMatch sets the optional parameter which makes the operation
8958// fail if the object's ETag matches the given value. This is useful for
8959// getting updates only after the object has changed since the last
8960// request. Use googleapi.IsNotModified to check whether the response
8961// error from Do is the result of In-None-Match.
8962func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
8963	c.ifNoneMatch_ = entityTag
8964	return c
8965}
8966
8967// Context sets the context to be used in this call's Do method. Any
8968// pending HTTP request will be aborted if the provided context is
8969// canceled.
8970func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
8971	c.ctx_ = ctx
8972	return c
8973}
8974
8975// Header returns an http.Header that can be modified by the caller to
8976// add HTTP headers to the request.
8977func (c *TypesListCall) Header() http.Header {
8978	if c.header_ == nil {
8979		c.header_ = make(http.Header)
8980	}
8981	return c.header_
8982}
8983
8984func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
8985	reqHeaders := make(http.Header)
8986	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201")
8987	for k, v := range c.header_ {
8988		reqHeaders[k] = v
8989	}
8990	reqHeaders.Set("User-Agent", c.s.userAgent())
8991	if c.ifNoneMatch_ != "" {
8992		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8993	}
8994	var body io.Reader = nil
8995	c.urlParams_.Set("alt", alt)
8996	c.urlParams_.Set("prettyPrint", "false")
8997	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/types")
8998	urls += "?" + c.urlParams_.Encode()
8999	req, err := http.NewRequest("GET", urls, body)
9000	if err != nil {
9001		return nil, err
9002	}
9003	req.Header = reqHeaders
9004	googleapi.Expand(req.URL, map[string]string{
9005		"project": c.project,
9006	})
9007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9008}
9009
9010// Do executes the "deploymentmanager.types.list" call.
9011// Exactly one of *TypesListResponse or error will be non-nil. Any
9012// non-2xx status code is an error. Response headers are in either
9013// *TypesListResponse.ServerResponse.Header or (if a response was
9014// returned at all) in error.(*googleapi.Error).Header. Use
9015// googleapi.IsNotModified to check whether the returned error was
9016// because http.StatusNotModified was returned.
9017func (c *TypesListCall) Do(opts ...googleapi.CallOption) (*TypesListResponse, error) {
9018	gensupport.SetOptions(c.urlParams_, opts...)
9019	res, err := c.doRequest("json")
9020	if res != nil && res.StatusCode == http.StatusNotModified {
9021		if res.Body != nil {
9022			res.Body.Close()
9023		}
9024		return nil, &googleapi.Error{
9025			Code:   res.StatusCode,
9026			Header: res.Header,
9027		}
9028	}
9029	if err != nil {
9030		return nil, err
9031	}
9032	defer googleapi.CloseBody(res)
9033	if err := googleapi.CheckResponse(res); err != nil {
9034		return nil, err
9035	}
9036	ret := &TypesListResponse{
9037		ServerResponse: googleapi.ServerResponse{
9038			Header:         res.Header,
9039			HTTPStatusCode: res.StatusCode,
9040		},
9041	}
9042	target := &ret
9043	if err := gensupport.DecodeResponse(target, res); err != nil {
9044		return nil, err
9045	}
9046	return ret, nil
9047	// {
9048	//   "description": "Lists all resource types for Deployment Manager.",
9049	//   "flatPath": "deploymentmanager/v2beta/projects/{project}/global/types",
9050	//   "httpMethod": "GET",
9051	//   "id": "deploymentmanager.types.list",
9052	//   "parameterOrder": [
9053	//     "project"
9054	//   ],
9055	//   "parameters": {
9056	//     "filter": {
9057	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` 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) ```",
9058	//       "location": "query",
9059	//       "type": "string"
9060	//     },
9061	//     "maxResults": {
9062	//       "default": "500",
9063	//       "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`)",
9064	//       "format": "uint32",
9065	//       "location": "query",
9066	//       "minimum": "0",
9067	//       "type": "integer"
9068	//     },
9069	//     "orderBy": {
9070	//       "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.",
9071	//       "location": "query",
9072	//       "type": "string"
9073	//     },
9074	//     "pageToken": {
9075	//       "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.",
9076	//       "location": "query",
9077	//       "type": "string"
9078	//     },
9079	//     "project": {
9080	//       "description": "The project ID for this request.",
9081	//       "location": "path",
9082	//       "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])?))",
9083	//       "required": true,
9084	//       "type": "string"
9085	//     }
9086	//   },
9087	//   "path": "deploymentmanager/v2beta/projects/{project}/global/types",
9088	//   "response": {
9089	//     "$ref": "TypesListResponse"
9090	//   },
9091	//   "scopes": [
9092	//     "https://www.googleapis.com/auth/cloud-platform",
9093	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
9094	//     "https://www.googleapis.com/auth/ndev.cloudman",
9095	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
9096	//   ]
9097	// }
9098
9099}
9100
9101// Pages invokes f for each page of results.
9102// A non-nil error returned from f will halt the iteration.
9103// The provided context supersedes any context provided to the Context method.
9104func (c *TypesListCall) Pages(ctx context.Context, f func(*TypesListResponse) error) error {
9105	c.ctx_ = ctx
9106	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9107	for {
9108		x, err := c.Do()
9109		if err != nil {
9110			return err
9111		}
9112		if err := f(x); err != nil {
9113			return err
9114		}
9115		if x.NextPageToken == "" {
9116			return nil
9117		}
9118		c.PageToken(x.NextPageToken)
9119	}
9120}
9121