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/v2"
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/v2"
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:v2"
79const apiName = "deploymentmanager"
80const apiVersion = "v2"
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.Deployments = NewDeploymentsService(s)
140	s.Manifests = NewManifestsService(s)
141	s.Operations = NewOperationsService(s)
142	s.Resources = NewResourcesService(s)
143	s.Types = NewTypesService(s)
144	return s, nil
145}
146
147type Service struct {
148	client    *http.Client
149	BasePath  string // API endpoint base URL
150	UserAgent string // optional additional User-Agent fragment
151
152	Deployments *DeploymentsService
153
154	Manifests *ManifestsService
155
156	Operations *OperationsService
157
158	Resources *ResourcesService
159
160	Types *TypesService
161}
162
163func (s *Service) userAgent() string {
164	if s.UserAgent == "" {
165		return googleapi.UserAgent
166	}
167	return googleapi.UserAgent + " " + s.UserAgent
168}
169
170func NewDeploymentsService(s *Service) *DeploymentsService {
171	rs := &DeploymentsService{s: s}
172	return rs
173}
174
175type DeploymentsService struct {
176	s *Service
177}
178
179func NewManifestsService(s *Service) *ManifestsService {
180	rs := &ManifestsService{s: s}
181	return rs
182}
183
184type ManifestsService struct {
185	s *Service
186}
187
188func NewOperationsService(s *Service) *OperationsService {
189	rs := &OperationsService{s: s}
190	return rs
191}
192
193type OperationsService struct {
194	s *Service
195}
196
197func NewResourcesService(s *Service) *ResourcesService {
198	rs := &ResourcesService{s: s}
199	return rs
200}
201
202type ResourcesService struct {
203	s *Service
204}
205
206func NewTypesService(s *Service) *TypesService {
207	rs := &TypesService{s: s}
208	return rs
209}
210
211type TypesService struct {
212	s *Service
213}
214
215// AuditConfig: Specifies the audit configuration for a service. The
216// configuration determines which permission types are logged, and what
217// identities, if any, are exempted from logging. An AuditConfig must
218// have one or more AuditLogConfigs. If there are AuditConfigs for both
219// `allServices` and a specific service, the union of the two
220// AuditConfigs is used for that service: the log_types specified in
221// each AuditConfig are enabled, and the exempted_members in each
222// AuditLogConfig are exempted. Example Policy with multiple
223// AuditConfigs: { "audit_configs": [ { "service": "allServices",
224// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
225// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
226// "log_type": "ADMIN_READ" } ] }, { "service":
227// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
228// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
229// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
230// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
231// jose@example.com from DATA_READ logging, and aliya@example.com from
232// DATA_WRITE logging.
233type AuditConfig struct {
234	// AuditLogConfigs: The configuration for logging of each type of
235	// permission.
236	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
237
238	// Service: Specifies a service that will be enabled for audit logging.
239	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
240	// `allServices` is a special value that covers all services.
241	Service string `json:"service,omitempty"`
242
243	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
244	// unconditionally include in API requests. By default, fields with
245	// empty or default values are omitted from API requests. However, any
246	// non-pointer, non-interface field appearing in ForceSendFields will be
247	// sent to the server regardless of whether the field is empty or not.
248	// This may be used to include empty fields in Patch requests.
249	ForceSendFields []string `json:"-"`
250
251	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
252	// include in API requests with the JSON null value. By default, fields
253	// with empty values are omitted from API requests. However, any field
254	// with an empty value appearing in NullFields will be sent to the
255	// server as null. It is an error if a field in this list has a
256	// non-empty value. This may be used to include null fields in Patch
257	// requests.
258	NullFields []string `json:"-"`
259}
260
261func (s *AuditConfig) MarshalJSON() ([]byte, error) {
262	type NoMethod AuditConfig
263	raw := NoMethod(*s)
264	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
265}
266
267// AuditLogConfig: Provides the configuration for logging a type of
268// permissions. Example: { "audit_log_configs": [ { "log_type":
269// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
270// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
271// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
272// logging.
273type AuditLogConfig struct {
274	// ExemptedMembers: Specifies the identities that do not cause logging
275	// for this type of permission. Follows the same format of
276	// Binding.members.
277	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
278
279	// LogType: The log type that this config enables.
280	//
281	// Possible values:
282	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
283	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
284	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
285	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
286	LogType string `json:"logType,omitempty"`
287
288	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
289	// unconditionally include in API requests. By default, fields with
290	// empty or default values are omitted from API requests. However, any
291	// non-pointer, non-interface field appearing in ForceSendFields will be
292	// sent to the server regardless of whether the field is empty or not.
293	// This may be used to include empty fields in Patch requests.
294	ForceSendFields []string `json:"-"`
295
296	// NullFields is a list of field names (e.g. "ExemptedMembers") to
297	// include in API requests with the JSON null value. By default, fields
298	// with empty values are omitted from API requests. However, any field
299	// with an empty value appearing in NullFields will be sent to the
300	// server as null. It is an error if a field in this list has a
301	// non-empty value. This may be used to include null fields in Patch
302	// requests.
303	NullFields []string `json:"-"`
304}
305
306func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
307	type NoMethod AuditLogConfig
308	raw := NoMethod(*s)
309	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
310}
311
312// Binding: Associates `members` with a `role`.
313type Binding struct {
314	// Condition: The condition that is associated with this binding. If the
315	// condition evaluates to `true`, then this binding applies to the
316	// current request. If the condition evaluates to `false`, then this
317	// binding does not apply to the current request. However, a different
318	// role binding might grant the same role to one or more of the members
319	// in this binding. To learn which resources support conditions in their
320	// IAM policies, see the IAM documentation
321	// (https://cloud.google.com/iam/help/conditions/resource-policies).
322	Condition *Expr `json:"condition,omitempty"`
323
324	// Members: Specifies the identities requesting access for a Cloud
325	// Platform resource. `members` can have the following values: *
326	// `allUsers`: A special identifier that represents anyone who is on the
327	// internet; with or without a Google account. *
328	// `allAuthenticatedUsers`: A special identifier that represents anyone
329	// who is authenticated with a Google account or a service account. *
330	// `user:{emailid}`: An email address that represents a specific Google
331	// account. For example, `alice@example.com` . *
332	// `serviceAccount:{emailid}`: An email address that represents a
333	// service account. For example,
334	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
335	// email address that represents a Google group. For example,
336	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
337	// email address (plus unique identifier) representing a user that has
338	// been recently deleted. For example,
339	// `alice@example.com?uid=123456789012345678901`. If the user is
340	// recovered, this value reverts to `user:{emailid}` and the recovered
341	// user retains the role in the binding. *
342	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
343	// (plus unique identifier) representing a service account that has been
344	// recently deleted. For example,
345	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
346	// If the service account is undeleted, this value reverts to
347	// `serviceAccount:{emailid}` and the undeleted service account retains
348	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
349	// An email address (plus unique identifier) representing a Google group
350	// that has been recently deleted. For example,
351	// `admins@example.com?uid=123456789012345678901`. If the group is
352	// recovered, this value reverts to `group:{emailid}` and the recovered
353	// group retains the role in the binding. * `domain:{domain}`: The G
354	// Suite domain (primary) that represents all the users of that domain.
355	// For example, `google.com` or `example.com`.
356	Members []string `json:"members,omitempty"`
357
358	// Role: Role that is assigned to `members`. For example,
359	// `roles/viewer`, `roles/editor`, or `roles/owner`.
360	Role string `json:"role,omitempty"`
361
362	// ForceSendFields is a list of field names (e.g. "Condition") to
363	// unconditionally include in API requests. By default, fields with
364	// empty or default values are omitted from API requests. However, any
365	// non-pointer, non-interface field appearing in ForceSendFields will be
366	// sent to the server regardless of whether the field is empty or not.
367	// This may be used to include empty fields in Patch requests.
368	ForceSendFields []string `json:"-"`
369
370	// NullFields is a list of field names (e.g. "Condition") to include in
371	// API requests with the JSON null value. By default, fields with empty
372	// values are omitted from API requests. However, any field with an
373	// empty value appearing in NullFields will be sent to the server as
374	// null. It is an error if a field in this list has a non-empty value.
375	// This may be used to include null fields in Patch requests.
376	NullFields []string `json:"-"`
377}
378
379func (s *Binding) MarshalJSON() ([]byte, error) {
380	type NoMethod Binding
381	raw := NoMethod(*s)
382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
383}
384
385type ConfigFile struct {
386	// Content: The contents of the file.
387	Content string `json:"content,omitempty"`
388
389	// ForceSendFields is a list of field names (e.g. "Content") to
390	// unconditionally include in API requests. By default, fields with
391	// empty or default values are omitted from API requests. However, any
392	// non-pointer, non-interface field appearing in ForceSendFields will be
393	// sent to the server regardless of whether the field is empty or not.
394	// This may be used to include empty fields in Patch requests.
395	ForceSendFields []string `json:"-"`
396
397	// NullFields is a list of field names (e.g. "Content") to include in
398	// API requests with the JSON null value. By default, fields with empty
399	// values are omitted from API requests. However, any field with an
400	// empty value appearing in NullFields will be sent to the server as
401	// null. It is an error if a field in this list has a non-empty value.
402	// This may be used to include null fields in Patch requests.
403	NullFields []string `json:"-"`
404}
405
406func (s *ConfigFile) MarshalJSON() ([]byte, error) {
407	type NoMethod ConfigFile
408	raw := NoMethod(*s)
409	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
410}
411
412type Deployment struct {
413	// Description: An optional user-provided description of the deployment.
414	Description string `json:"description,omitempty"`
415
416	// Fingerprint: Provides a fingerprint to use in requests to modify a
417	// deployment, such as `update()`, `stop()`, and `cancelPreview()`
418	// requests. A fingerprint is a randomly generated value that must be
419	// provided with `update()`, `stop()`, and `cancelPreview()` requests to
420	// perform optimistic locking. This ensures optimistic concurrency so
421	// that only one request happens at a time. The fingerprint is initially
422	// generated by Deployment Manager and changes after every request to
423	// modify data. To get the latest fingerprint value, perform a `get()`
424	// request to a deployment.
425	Fingerprint string `json:"fingerprint,omitempty"`
426
427	Id uint64 `json:"id,omitempty,string"`
428
429	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
430	InsertTime string `json:"insertTime,omitempty"`
431
432	// Labels: Map of One Platform labels; provided by the client when the
433	// resource is created or updated. Specifically: Label keys must be
434	// between 1 and 63 characters long and must conform to the following
435	// regular expression: `a-z ([-a-z0-9]*[a-z0-9])?` Label values must be
436	// between 0 and 63 characters long and must conform to the regular
437	// expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
438	Labels []*DeploymentLabelEntry `json:"labels,omitempty"`
439
440	// Manifest: Output only. URL of the manifest representing the last
441	// manifest that was successfully deployed. If no manifest has been
442	// successfully deployed, this field will be absent.
443	Manifest string `json:"manifest,omitempty"`
444
445	// Name: Name of the resource; provided by the client when the resource
446	// is created. The name must be 1-63 characters long, and comply with
447	// RFC1035. Specifically, the name must be 1-63 characters long and
448	// match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
449	// the first character must be a lowercase letter, and all following
450	// characters must be a dash, lowercase letter, or digit, except the
451	// last character, which cannot be a dash.
452	Name string `json:"name,omitempty"`
453
454	// Operation: Output only. The Operation that most recently ran, or is
455	// currently running, on this deployment.
456	Operation *Operation `json:"operation,omitempty"`
457
458	// SelfLink: Output only. Server defined URL for the resource.
459	SelfLink string `json:"selfLink,omitempty"`
460
461	// Target: [Input Only] The parameters that define your deployment,
462	// including the deployment configuration and relevant templates.
463	Target *TargetConfiguration `json:"target,omitempty"`
464
465	// Update: Output only. If Deployment Manager is currently updating or
466	// previewing an update to this deployment, the updated configuration
467	// appears here.
468	Update *DeploymentUpdate `json:"update,omitempty"`
469
470	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
471	UpdateTime string `json:"updateTime,omitempty"`
472
473	// ServerResponse contains the HTTP response code and headers from the
474	// server.
475	googleapi.ServerResponse `json:"-"`
476
477	// ForceSendFields is a list of field names (e.g. "Description") to
478	// unconditionally include in API requests. By default, fields with
479	// empty or default values are omitted from API requests. However, any
480	// non-pointer, non-interface field appearing in ForceSendFields will be
481	// sent to the server regardless of whether the field is empty or not.
482	// This may be used to include empty fields in Patch requests.
483	ForceSendFields []string `json:"-"`
484
485	// NullFields is a list of field names (e.g. "Description") to include
486	// in API requests with the JSON null value. By default, fields with
487	// empty values are omitted from API requests. However, any field with
488	// an empty value appearing in NullFields will be sent to the server as
489	// null. It is an error if a field in this list has a non-empty value.
490	// This may be used to include null fields in Patch requests.
491	NullFields []string `json:"-"`
492}
493
494func (s *Deployment) MarshalJSON() ([]byte, error) {
495	type NoMethod Deployment
496	raw := NoMethod(*s)
497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
498}
499
500// DeploymentLabelEntry: Label object for Deployments
501type DeploymentLabelEntry struct {
502	// Key: Key of the label
503	Key string `json:"key,omitempty"`
504
505	// Value: Value of the label
506	Value string `json:"value,omitempty"`
507
508	// ForceSendFields is a list of field names (e.g. "Key") to
509	// unconditionally include in API requests. By default, fields with
510	// empty or default values are omitted from API requests. However, any
511	// non-pointer, non-interface field appearing in ForceSendFields will be
512	// sent to the server regardless of whether the field is empty or not.
513	// This may be used to include empty fields in Patch requests.
514	ForceSendFields []string `json:"-"`
515
516	// NullFields is a list of field names (e.g. "Key") to include in API
517	// requests with the JSON null value. By default, fields with empty
518	// values are omitted from API requests. However, any field with an
519	// empty value appearing in NullFields will be sent to the server as
520	// null. It is an error if a field in this list has a non-empty value.
521	// This may be used to include null fields in Patch requests.
522	NullFields []string `json:"-"`
523}
524
525func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) {
526	type NoMethod DeploymentLabelEntry
527	raw := NoMethod(*s)
528	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
529}
530
531type DeploymentUpdate struct {
532	// Description: Output only. An optional user-provided description of
533	// the deployment after the current update has been applied.
534	Description string `json:"description,omitempty"`
535
536	// Labels: Map of One Platform labels; provided by the client when the
537	// resource is created or updated. Specifically: Label keys must be
538	// between 1 and 63 characters long and must conform to the following
539	// regular expression: `a-z ([-a-z0-9]*[a-z0-9])?` Label values must be
540	// between 0 and 63 characters long and must conform to the regular
541	// expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
542	Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"`
543
544	// Manifest: Output only. URL of the manifest representing the update
545	// configuration of this deployment.
546	Manifest string `json:"manifest,omitempty"`
547
548	// ForceSendFields is a list of field names (e.g. "Description") to
549	// unconditionally include in API requests. By default, fields with
550	// empty or default values are omitted from API requests. However, any
551	// non-pointer, non-interface field appearing in ForceSendFields will be
552	// sent to the server regardless of whether the field is empty or not.
553	// This may be used to include empty fields in Patch requests.
554	ForceSendFields []string `json:"-"`
555
556	// NullFields is a list of field names (e.g. "Description") to include
557	// in API requests with the JSON null value. By default, fields with
558	// empty values are omitted from API requests. However, any field with
559	// an empty value appearing in NullFields will be sent to the server as
560	// null. It is an error if a field in this list has a non-empty value.
561	// This may be used to include null fields in Patch requests.
562	NullFields []string `json:"-"`
563}
564
565func (s *DeploymentUpdate) MarshalJSON() ([]byte, error) {
566	type NoMethod DeploymentUpdate
567	raw := NoMethod(*s)
568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
569}
570
571// DeploymentUpdateLabelEntry: Label object for DeploymentUpdate
572type DeploymentUpdateLabelEntry struct {
573	// Key: Key of the label
574	Key string `json:"key,omitempty"`
575
576	// Value: Value of the label
577	Value string `json:"value,omitempty"`
578
579	// ForceSendFields is a list of field names (e.g. "Key") to
580	// unconditionally include in API requests. By default, fields with
581	// empty or default values are omitted from API requests. However, any
582	// non-pointer, non-interface field appearing in ForceSendFields will be
583	// sent to the server regardless of whether the field is empty or not.
584	// This may be used to include empty fields in Patch requests.
585	ForceSendFields []string `json:"-"`
586
587	// NullFields is a list of field names (e.g. "Key") to include in API
588	// requests with the JSON null value. By default, fields with empty
589	// values are omitted from API requests. However, any field with an
590	// empty value appearing in NullFields will be sent to the server as
591	// null. It is an error if a field in this list has a non-empty value.
592	// This may be used to include null fields in Patch requests.
593	NullFields []string `json:"-"`
594}
595
596func (s *DeploymentUpdateLabelEntry) MarshalJSON() ([]byte, error) {
597	type NoMethod DeploymentUpdateLabelEntry
598	raw := NoMethod(*s)
599	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
600}
601
602type DeploymentsCancelPreviewRequest struct {
603	// Fingerprint: Specifies a fingerprint for `cancelPreview()` requests.
604	// A fingerprint is a randomly generated value that must be provided in
605	// `cancelPreview()` requests to perform optimistic locking. This
606	// ensures optimistic concurrency so that the deployment does not have
607	// conflicting requests (e.g. if someone attempts to make a new update
608	// request while another user attempts to cancel a preview, this would
609	// prevent one of the requests). The fingerprint is initially generated
610	// by Deployment Manager and changes after every request to modify a
611	// deployment. To get the latest fingerprint value, perform a `get()`
612	// request on the deployment.
613	Fingerprint string `json:"fingerprint,omitempty"`
614
615	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
616	// unconditionally include in API requests. By default, fields with
617	// empty or default values are omitted from API requests. However, any
618	// non-pointer, non-interface field appearing in ForceSendFields will be
619	// sent to the server regardless of whether the field is empty or not.
620	// This may be used to include empty fields in Patch requests.
621	ForceSendFields []string `json:"-"`
622
623	// NullFields is a list of field names (e.g. "Fingerprint") to include
624	// in API requests with the JSON null value. By default, fields with
625	// empty values are omitted from API requests. However, any field with
626	// an empty value appearing in NullFields will be sent to the server as
627	// null. It is an error if a field in this list has a non-empty value.
628	// This may be used to include null fields in Patch requests.
629	NullFields []string `json:"-"`
630}
631
632func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) {
633	type NoMethod DeploymentsCancelPreviewRequest
634	raw := NoMethod(*s)
635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
636}
637
638// DeploymentsListResponse: A response containing a partial list of
639// deployments and a page token used to build the next request if the
640// request has been truncated.
641type DeploymentsListResponse struct {
642	// Deployments: Output only. The deployments contained in this response.
643	Deployments []*Deployment `json:"deployments,omitempty"`
644
645	// NextPageToken: Output only. A token used to continue a truncated list
646	// request.
647	NextPageToken string `json:"nextPageToken,omitempty"`
648
649	// ServerResponse contains the HTTP response code and headers from the
650	// server.
651	googleapi.ServerResponse `json:"-"`
652
653	// ForceSendFields is a list of field names (e.g. "Deployments") to
654	// unconditionally include in API requests. By default, fields with
655	// empty or default values are omitted from API requests. However, any
656	// non-pointer, non-interface field appearing in ForceSendFields will be
657	// sent to the server regardless of whether the field is empty or not.
658	// This may be used to include empty fields in Patch requests.
659	ForceSendFields []string `json:"-"`
660
661	// NullFields is a list of field names (e.g. "Deployments") to include
662	// in API requests with the JSON null value. By default, fields with
663	// empty values are omitted from API requests. However, any field with
664	// an empty value appearing in NullFields will be sent to the server as
665	// null. It is an error if a field in this list has a non-empty value.
666	// This may be used to include null fields in Patch requests.
667	NullFields []string `json:"-"`
668}
669
670func (s *DeploymentsListResponse) MarshalJSON() ([]byte, error) {
671	type NoMethod DeploymentsListResponse
672	raw := NoMethod(*s)
673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
674}
675
676type DeploymentsStopRequest struct {
677	// Fingerprint: Specifies a fingerprint for `stop()` requests. A
678	// fingerprint is a randomly generated value that must be provided in
679	// `stop()` requests to perform optimistic locking. This ensures
680	// optimistic concurrency so that the deployment does not have
681	// conflicting requests (e.g. if someone attempts to make a new update
682	// request while another user attempts to stop an ongoing update
683	// request, this would prevent a collision). The fingerprint is
684	// initially generated by Deployment Manager and changes after every
685	// request to modify a deployment. To get the latest fingerprint value,
686	// perform a `get()` request on the deployment.
687	Fingerprint string `json:"fingerprint,omitempty"`
688
689	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
690	// unconditionally include in API requests. By default, fields with
691	// empty or default values are omitted from API requests. However, any
692	// non-pointer, non-interface field appearing in ForceSendFields will be
693	// sent to the server regardless of whether the field is empty or not.
694	// This may be used to include empty fields in Patch requests.
695	ForceSendFields []string `json:"-"`
696
697	// NullFields is a list of field names (e.g. "Fingerprint") to include
698	// in API requests with the JSON null value. By default, fields with
699	// empty values are omitted from API requests. However, any field with
700	// an empty value appearing in NullFields will be sent to the server as
701	// null. It is an error if a field in this list has a non-empty value.
702	// This may be used to include null fields in Patch requests.
703	NullFields []string `json:"-"`
704}
705
706func (s *DeploymentsStopRequest) MarshalJSON() ([]byte, error) {
707	type NoMethod DeploymentsStopRequest
708	raw := NoMethod(*s)
709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
710}
711
712// Expr: Represents a textual expression in the Common Expression
713// Language (CEL) syntax. CEL is a C-like expression language. The
714// syntax and semantics of CEL are documented at
715// https://github.com/google/cel-spec. Example (Comparison): title:
716// "Summary size limit" description: "Determines if a summary is less
717// than 100 chars" expression: "document.summary.size() < 100" Example
718// (Equality): title: "Requestor is owner" description: "Determines if
719// requestor is the document owner" expression: "document.owner ==
720// request.auth.claims.email" Example (Logic): title: "Public documents"
721// description: "Determine whether the document should be publicly
722// visible" expression: "document.type != 'private' && document.type !=
723// 'internal'" Example (Data Manipulation): title: "Notification string"
724// description: "Create a notification string with a timestamp."
725// expression: "'New message received at ' +
726// string(document.create_time)" The exact variables and functions that
727// may be referenced within an expression are determined by the service
728// that evaluates it. See the service documentation for additional
729// information.
730type Expr struct {
731	// Description: Optional. Description of the expression. This is a
732	// longer text which describes the expression, e.g. when hovered over it
733	// in a UI.
734	Description string `json:"description,omitempty"`
735
736	// Expression: Textual representation of an expression in Common
737	// Expression Language syntax.
738	Expression string `json:"expression,omitempty"`
739
740	// Location: Optional. String indicating the location of the expression
741	// for error reporting, e.g. a file name and a position in the file.
742	Location string `json:"location,omitempty"`
743
744	// Title: Optional. Title for the expression, i.e. a short string
745	// describing its purpose. This can be used e.g. in UIs which allow to
746	// enter the expression.
747	Title string `json:"title,omitempty"`
748
749	// ForceSendFields is a list of field names (e.g. "Description") to
750	// unconditionally include in API requests. By default, fields with
751	// empty or default values are omitted from API requests. However, any
752	// non-pointer, non-interface field appearing in ForceSendFields will be
753	// sent to the server regardless of whether the field is empty or not.
754	// This may be used to include empty fields in Patch requests.
755	ForceSendFields []string `json:"-"`
756
757	// NullFields is a list of field names (e.g. "Description") to include
758	// in API requests with the JSON null value. By default, fields with
759	// empty values are omitted from API requests. However, any field with
760	// an empty value appearing in NullFields will be sent to the server as
761	// null. It is an error if a field in this list has a non-empty value.
762	// This may be used to include null fields in Patch requests.
763	NullFields []string `json:"-"`
764}
765
766func (s *Expr) MarshalJSON() ([]byte, error) {
767	type NoMethod Expr
768	raw := NoMethod(*s)
769	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
770}
771
772type GlobalSetPolicyRequest struct {
773	// Bindings: Flatten Policy to create a backward compatible wire-format.
774	// Deprecated. Use 'policy' to specify bindings.
775	Bindings []*Binding `json:"bindings,omitempty"`
776
777	// Etag: Flatten Policy to create a backward compatible wire-format.
778	// Deprecated. Use 'policy' to specify the etag.
779	Etag string `json:"etag,omitempty"`
780
781	// Policy: REQUIRED: The complete policy to be applied to the
782	// 'resource'. The size of the policy is limited to a few 10s of KB. An
783	// empty policy is in general a valid policy but certain services (like
784	// Projects) might reject them.
785	Policy *Policy `json:"policy,omitempty"`
786
787	// ForceSendFields is a list of field names (e.g. "Bindings") to
788	// unconditionally include in API requests. By default, fields with
789	// empty or default values are omitted from API requests. However, any
790	// non-pointer, non-interface field appearing in ForceSendFields will be
791	// sent to the server regardless of whether the field is empty or not.
792	// This may be used to include empty fields in Patch requests.
793	ForceSendFields []string `json:"-"`
794
795	// NullFields is a list of field names (e.g. "Bindings") to include in
796	// API requests with the JSON null value. By default, fields with empty
797	// values are omitted from API requests. However, any field with an
798	// empty value appearing in NullFields will be sent to the server as
799	// null. It is an error if a field in this list has a non-empty value.
800	// This may be used to include null fields in Patch requests.
801	NullFields []string `json:"-"`
802}
803
804func (s *GlobalSetPolicyRequest) MarshalJSON() ([]byte, error) {
805	type NoMethod GlobalSetPolicyRequest
806	raw := NoMethod(*s)
807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
808}
809
810type ImportFile struct {
811	// Content: The contents of the file.
812	Content string `json:"content,omitempty"`
813
814	// Name: The name of the file.
815	Name string `json:"name,omitempty"`
816
817	// ForceSendFields is a list of field names (e.g. "Content") to
818	// unconditionally include in API requests. By default, fields with
819	// empty or default values are omitted from API requests. However, any
820	// non-pointer, non-interface field appearing in ForceSendFields will be
821	// sent to the server regardless of whether the field is empty or not.
822	// This may be used to include empty fields in Patch requests.
823	ForceSendFields []string `json:"-"`
824
825	// NullFields is a list of field names (e.g. "Content") to include in
826	// API requests with the JSON null value. By default, fields with empty
827	// values are omitted from API requests. However, any field with an
828	// empty value appearing in NullFields will be sent to the server as
829	// null. It is an error if a field in this list has a non-empty value.
830	// This may be used to include null fields in Patch requests.
831	NullFields []string `json:"-"`
832}
833
834func (s *ImportFile) MarshalJSON() ([]byte, error) {
835	type NoMethod ImportFile
836	raw := NoMethod(*s)
837	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
838}
839
840type Manifest struct {
841	// Config: Output only. The YAML configuration for this manifest.
842	Config *ConfigFile `json:"config,omitempty"`
843
844	// ExpandedConfig: Output only. The fully-expanded configuration file,
845	// including any templates and references.
846	ExpandedConfig string `json:"expandedConfig,omitempty"`
847
848	Id uint64 `json:"id,omitempty,string"`
849
850	// Imports: Output only. The imported files for this manifest.
851	Imports []*ImportFile `json:"imports,omitempty"`
852
853	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
854	InsertTime string `json:"insertTime,omitempty"`
855
856	// Layout: Output only. The YAML layout for this manifest.
857	Layout string `json:"layout,omitempty"`
858
859	// ManifestSizeBytes: Output only. The computed size of the fully
860	// expanded manifest.
861	ManifestSizeBytes int64 `json:"manifestSizeBytes,omitempty,string"`
862
863	// ManifestSizeLimitBytes: Output only. The size limit for expanded
864	// manifests in the project.
865	ManifestSizeLimitBytes int64 `json:"manifestSizeLimitBytes,omitempty,string"`
866
867	// Name: Output only. The name of the manifest.
868	Name string `json:"name,omitempty"`
869
870	// SelfLink: Output only. Self link for the manifest.
871	SelfLink string `json:"selfLink,omitempty"`
872
873	// ServerResponse contains the HTTP response code and headers from the
874	// server.
875	googleapi.ServerResponse `json:"-"`
876
877	// ForceSendFields is a list of field names (e.g. "Config") to
878	// unconditionally include in API requests. By default, fields with
879	// empty or default values are omitted from API requests. However, any
880	// non-pointer, non-interface field appearing in ForceSendFields will be
881	// sent to the server regardless of whether the field is empty or not.
882	// This may be used to include empty fields in Patch requests.
883	ForceSendFields []string `json:"-"`
884
885	// NullFields is a list of field names (e.g. "Config") to include in API
886	// requests with the JSON null value. By default, fields with empty
887	// values are omitted from API requests. However, any field with an
888	// empty value appearing in NullFields will be sent to the server as
889	// null. It is an error if a field in this list has a non-empty value.
890	// This may be used to include null fields in Patch requests.
891	NullFields []string `json:"-"`
892}
893
894func (s *Manifest) MarshalJSON() ([]byte, error) {
895	type NoMethod Manifest
896	raw := NoMethod(*s)
897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
898}
899
900// ManifestsListResponse: A response containing a partial list of
901// manifests and a page token used to build the next request if the
902// request has been truncated.
903type ManifestsListResponse struct {
904	// Manifests: Output only. Manifests contained in this list response.
905	Manifests []*Manifest `json:"manifests,omitempty"`
906
907	// NextPageToken: Output only. A token used to continue a truncated list
908	// request.
909	NextPageToken string `json:"nextPageToken,omitempty"`
910
911	// ServerResponse contains the HTTP response code and headers from the
912	// server.
913	googleapi.ServerResponse `json:"-"`
914
915	// ForceSendFields is a list of field names (e.g. "Manifests") to
916	// unconditionally include in API requests. By default, fields with
917	// empty or default values are omitted from API requests. However, any
918	// non-pointer, non-interface field appearing in ForceSendFields will be
919	// sent to the server regardless of whether the field is empty or not.
920	// This may be used to include empty fields in Patch requests.
921	ForceSendFields []string `json:"-"`
922
923	// NullFields is a list of field names (e.g. "Manifests") to include in
924	// API requests with the JSON null value. By default, fields with empty
925	// values are omitted from API requests. However, any field with an
926	// empty value appearing in NullFields will be sent to the server as
927	// null. It is an error if a field in this list has a non-empty value.
928	// This may be used to include null fields in Patch requests.
929	NullFields []string `json:"-"`
930}
931
932func (s *ManifestsListResponse) MarshalJSON() ([]byte, error) {
933	type NoMethod ManifestsListResponse
934	raw := NoMethod(*s)
935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
936}
937
938// Operation: Represents an Operation resource. Google Compute Engine
939// has three Operation resources: * Global
940// (/compute/docs/reference/rest/{$api_version}/globalOperations) *
941// Regional
942// (/compute/docs/reference/rest/{$api_version}/regionOperations) *
943// Zonal (/compute/docs/reference/rest/{$api_version}/zoneOperations)
944// You can use an operation resource to manage asynchronous API
945// requests. For more information, read Handling API responses.
946// Operations can be global, regional or zonal. - For global operations,
947// use the `globalOperations` resource. - For regional operations, use
948// the `regionOperations` resource. - For zonal operations, use the
949// `zonalOperations` resource. For more information, read Global,
950// Regional, and Zonal Resources.
951type Operation struct {
952	// ClientOperationId: [Output Only] The value of `requestId` if you
953	// provided it in the request. Not present otherwise.
954	ClientOperationId string `json:"clientOperationId,omitempty"`
955
956	// CreationTimestamp: [Deprecated] This field is deprecated.
957	CreationTimestamp string `json:"creationTimestamp,omitempty"`
958
959	// Description: [Output Only] A textual description of the operation,
960	// which is set when the operation is created.
961	Description string `json:"description,omitempty"`
962
963	// EndTime: [Output Only] The time that this operation was completed.
964	// This value is in RFC3339 text format.
965	EndTime string `json:"endTime,omitempty"`
966
967	// Error: [Output Only] If errors are generated during processing of the
968	// operation, this field will be populated.
969	Error *OperationError `json:"error,omitempty"`
970
971	// HttpErrorMessage: [Output Only] If the operation fails, this field
972	// contains the HTTP error message that was returned, such as `NOT
973	// FOUND`.
974	HttpErrorMessage string `json:"httpErrorMessage,omitempty"`
975
976	// HttpErrorStatusCode: [Output Only] If the operation fails, this field
977	// contains the HTTP error status code that was returned. For example, a
978	// `404` means the resource was not found.
979	HttpErrorStatusCode int64 `json:"httpErrorStatusCode,omitempty"`
980
981	// Id: [Output Only] The unique identifier for the operation. This
982	// identifier is defined by the server.
983	Id uint64 `json:"id,omitempty,string"`
984
985	// InsertTime: [Output Only] The time that this operation was requested.
986	// This value is in RFC3339 text format.
987	InsertTime string `json:"insertTime,omitempty"`
988
989	// Kind: [Output Only] Type of the resource. Always `compute#operation`
990	// for Operation resources.
991	Kind string `json:"kind,omitempty"`
992
993	// Name: [Output Only] Name of the operation.
994	Name string `json:"name,omitempty"`
995
996	// OperationGroupId: [Output Only] An ID that represents a group of
997	// operations, such as when a group of operations results from a
998	// `bulkInsert` API request.
999	OperationGroupId string `json:"operationGroupId,omitempty"`
1000
1001	// OperationType: [Output Only] The type of operation, such as `insert`,
1002	// `update`, or `delete`, and so on.
1003	OperationType string `json:"operationType,omitempty"`
1004
1005	// Progress: [Output Only] An optional progress indicator that ranges
1006	// from 0 to 100. There is no requirement that this be linear or support
1007	// any granularity of operations. This should not be used to guess when
1008	// the operation will be complete. This number should monotonically
1009	// increase as the operation progresses.
1010	Progress int64 `json:"progress,omitempty"`
1011
1012	// Region: [Output Only] The URL of the region where the operation
1013	// resides. Only applicable when performing regional operations.
1014	Region string `json:"region,omitempty"`
1015
1016	// SelfLink: [Output Only] Server-defined URL for the resource.
1017	SelfLink string `json:"selfLink,omitempty"`
1018
1019	// StartTime: [Output Only] The time that this operation was started by
1020	// the server. This value is in RFC3339 text format.
1021	StartTime string `json:"startTime,omitempty"`
1022
1023	// Status: [Output Only] The status of the operation, which can be one
1024	// of the following: `PENDING`, `RUNNING`, or `DONE`.
1025	//
1026	// Possible values:
1027	//   "PENDING"
1028	//   "RUNNING"
1029	//   "DONE"
1030	Status string `json:"status,omitempty"`
1031
1032	// StatusMessage: [Output Only] An optional textual description of the
1033	// current status of the operation.
1034	StatusMessage string `json:"statusMessage,omitempty"`
1035
1036	// TargetId: [Output Only] The unique target ID, which identifies a
1037	// specific incarnation of the target resource.
1038	TargetId uint64 `json:"targetId,omitempty,string"`
1039
1040	// TargetLink: [Output Only] The URL of the resource that the operation
1041	// modifies. For operations related to creating a snapshot, this points
1042	// to the persistent disk that the snapshot was created from.
1043	TargetLink string `json:"targetLink,omitempty"`
1044
1045	// User: [Output Only] User who requested the operation, for example:
1046	// `user@example.com`.
1047	User string `json:"user,omitempty"`
1048
1049	// Warnings: [Output Only] If warning messages are generated during
1050	// processing of the operation, this field will be populated.
1051	Warnings []*OperationWarnings `json:"warnings,omitempty"`
1052
1053	// Zone: [Output Only] The URL of the zone where the operation resides.
1054	// Only applicable when performing per-zone operations.
1055	Zone string `json:"zone,omitempty"`
1056
1057	// ServerResponse contains the HTTP response code and headers from the
1058	// server.
1059	googleapi.ServerResponse `json:"-"`
1060
1061	// ForceSendFields is a list of field names (e.g. "ClientOperationId")
1062	// to unconditionally include in API requests. By default, fields with
1063	// empty or default values are omitted from API requests. However, any
1064	// non-pointer, non-interface field appearing in ForceSendFields will be
1065	// sent to the server regardless of whether the field is empty or not.
1066	// This may be used to include empty fields in Patch requests.
1067	ForceSendFields []string `json:"-"`
1068
1069	// NullFields is a list of field names (e.g. "ClientOperationId") to
1070	// include in API requests with the JSON null value. By default, fields
1071	// with empty values are omitted from API requests. However, any field
1072	// with an empty value appearing in NullFields will be sent to the
1073	// server as null. It is an error if a field in this list has a
1074	// non-empty value. This may be used to include null fields in Patch
1075	// requests.
1076	NullFields []string `json:"-"`
1077}
1078
1079func (s *Operation) MarshalJSON() ([]byte, error) {
1080	type NoMethod Operation
1081	raw := NoMethod(*s)
1082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1083}
1084
1085// OperationError: [Output Only] If errors are generated during
1086// processing of the operation, this field will be populated.
1087type OperationError struct {
1088	// Errors: [Output Only] The array of errors encountered while
1089	// processing this operation.
1090	Errors []*OperationErrorErrors `json:"errors,omitempty"`
1091
1092	// ForceSendFields is a list of field names (e.g. "Errors") to
1093	// unconditionally include in API requests. By default, fields with
1094	// empty or default values are omitted from API requests. However, any
1095	// non-pointer, non-interface field appearing in ForceSendFields will be
1096	// sent to the server regardless of whether the field is empty or not.
1097	// This may be used to include empty fields in Patch requests.
1098	ForceSendFields []string `json:"-"`
1099
1100	// NullFields is a list of field names (e.g. "Errors") to include in API
1101	// requests with the JSON null value. By default, fields with empty
1102	// values are omitted from API requests. However, any field with an
1103	// empty value appearing in NullFields will be sent to the server as
1104	// null. It is an error if a field in this list has a non-empty value.
1105	// This may be used to include null fields in Patch requests.
1106	NullFields []string `json:"-"`
1107}
1108
1109func (s *OperationError) MarshalJSON() ([]byte, error) {
1110	type NoMethod OperationError
1111	raw := NoMethod(*s)
1112	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1113}
1114
1115type OperationErrorErrors struct {
1116	// Code: [Output Only] The error type identifier for this error.
1117	Code string `json:"code,omitempty"`
1118
1119	// Location: [Output Only] Indicates the field in the request that
1120	// caused the error. This property is optional.
1121	Location string `json:"location,omitempty"`
1122
1123	// Message: [Output Only] An optional, human-readable error message.
1124	Message string `json:"message,omitempty"`
1125
1126	// ForceSendFields is a list of field names (e.g. "Code") to
1127	// unconditionally include in API requests. By default, fields with
1128	// empty or default values are omitted from API requests. However, any
1129	// non-pointer, non-interface field appearing in ForceSendFields will be
1130	// sent to the server regardless of whether the field is empty or not.
1131	// This may be used to include empty fields in Patch requests.
1132	ForceSendFields []string `json:"-"`
1133
1134	// NullFields is a list of field names (e.g. "Code") to include in API
1135	// requests with the JSON null value. By default, fields with empty
1136	// values are omitted from API requests. However, any field with an
1137	// empty value appearing in NullFields will be sent to the server as
1138	// null. It is an error if a field in this list has a non-empty value.
1139	// This may be used to include null fields in Patch requests.
1140	NullFields []string `json:"-"`
1141}
1142
1143func (s *OperationErrorErrors) MarshalJSON() ([]byte, error) {
1144	type NoMethod OperationErrorErrors
1145	raw := NoMethod(*s)
1146	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1147}
1148
1149type OperationWarnings struct {
1150	// Code: [Output Only] A warning code, if applicable. For example,
1151	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
1152	// the response.
1153	//
1154	// Possible values:
1155	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
1156	// created.
1157	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
1158	// page.
1159	//   "UNREACHABLE" - A given scope cannot be reached.
1160	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
1161	// not assigned to an instance on the network.
1162	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
1163	// refers to an instance that does not exist.
1164	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
1165	// URL refers to an instance that is not on the same network as the
1166	// route.
1167	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
1168	// ip forward.
1169	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
1170	// have a status of RUNNING.
1171	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
1172	// injected kernel, which is deprecated.
1173	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
1174	// that requires a TOS they have not accepted.
1175	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
1176	// that is larger than image size.
1177	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
1178	// auto-delete could not be deleted because they were in use.
1179	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
1180	// instance group manager is valid as such, but its application does not
1181	// make a lot of sense, because it allows only single instance in
1182	// instance group.
1183	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
1184	// continue the process despite the mentioned error.
1185	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient
1186	// changes made by a failed operation.
1187	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
1188	// overridden. Deprecated unused field.
1189	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
1190	// resource is in use.
1191	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
1192	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
1193	// call
1194	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
1195	// ignored.
1196	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
1197	// are present
1198	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
1199	// resources has a type marked as experimental
1200	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
1201	// resources has a type marked as deprecated
1202	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
1203	// missing due to errors
1204	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
1205	// exceedingly large number of resources
1206	Code string `json:"code,omitempty"`
1207
1208	// Data: [Output Only] Metadata about this warning in key: value format.
1209	// For example: "data": [ { "key": "scope", "value": "zones/us-east1-d"
1210	// }
1211	Data []*OperationWarningsData `json:"data,omitempty"`
1212
1213	// Message: [Output Only] A human-readable description of the warning
1214	// code.
1215	Message string `json:"message,omitempty"`
1216
1217	// ForceSendFields is a list of field names (e.g. "Code") to
1218	// unconditionally include in API requests. By default, fields with
1219	// empty or default values are omitted from API requests. However, any
1220	// non-pointer, non-interface field appearing in ForceSendFields will be
1221	// sent to the server regardless of whether the field is empty or not.
1222	// This may be used to include empty fields in Patch requests.
1223	ForceSendFields []string `json:"-"`
1224
1225	// NullFields is a list of field names (e.g. "Code") to include in API
1226	// requests with the JSON null value. By default, fields with empty
1227	// values are omitted from API requests. However, any field with an
1228	// empty value appearing in NullFields will be sent to the server as
1229	// null. It is an error if a field in this list has a non-empty value.
1230	// This may be used to include null fields in Patch requests.
1231	NullFields []string `json:"-"`
1232}
1233
1234func (s *OperationWarnings) MarshalJSON() ([]byte, error) {
1235	type NoMethod OperationWarnings
1236	raw := NoMethod(*s)
1237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1238}
1239
1240type OperationWarningsData struct {
1241	// Key: [Output Only] A key that provides more detail on the warning
1242	// being returned. For example, for warnings where there are no results
1243	// in a list request for a particular zone, this key might be scope and
1244	// the key value might be the zone name. Other examples might be a key
1245	// indicating a deprecated resource and a suggested replacement, or a
1246	// warning about invalid network settings (for example, if an instance
1247	// attempts to perform IP forwarding but is not enabled for IP
1248	// forwarding).
1249	Key string `json:"key,omitempty"`
1250
1251	// Value: [Output Only] A warning data value corresponding to the key.
1252	Value string `json:"value,omitempty"`
1253
1254	// ForceSendFields is a list of field names (e.g. "Key") to
1255	// unconditionally include in API requests. By default, fields with
1256	// empty or default values are omitted from API requests. However, any
1257	// non-pointer, non-interface field appearing in ForceSendFields will be
1258	// sent to the server regardless of whether the field is empty or not.
1259	// This may be used to include empty fields in Patch requests.
1260	ForceSendFields []string `json:"-"`
1261
1262	// NullFields is a list of field names (e.g. "Key") to include in API
1263	// requests with the JSON null value. By default, fields with empty
1264	// values are omitted from API requests. However, any field with an
1265	// empty value appearing in NullFields will be sent to the server as
1266	// null. It is an error if a field in this list has a non-empty value.
1267	// This may be used to include null fields in Patch requests.
1268	NullFields []string `json:"-"`
1269}
1270
1271func (s *OperationWarningsData) MarshalJSON() ([]byte, error) {
1272	type NoMethod OperationWarningsData
1273	raw := NoMethod(*s)
1274	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1275}
1276
1277// OperationsListResponse: A response containing a partial list of
1278// operations and a page token used to build the next request if the
1279// request has been truncated.
1280type OperationsListResponse struct {
1281	// NextPageToken: Output only. A token used to continue a truncated list
1282	// request.
1283	NextPageToken string `json:"nextPageToken,omitempty"`
1284
1285	// Operations: Output only. Operations contained in this list response.
1286	Operations []*Operation `json:"operations,omitempty"`
1287
1288	// ServerResponse contains the HTTP response code and headers from the
1289	// server.
1290	googleapi.ServerResponse `json:"-"`
1291
1292	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1293	// unconditionally include in API requests. By default, fields with
1294	// empty or default values are omitted from API requests. However, any
1295	// non-pointer, non-interface field appearing in ForceSendFields will be
1296	// sent to the server regardless of whether the field is empty or not.
1297	// This may be used to include empty fields in Patch requests.
1298	ForceSendFields []string `json:"-"`
1299
1300	// NullFields is a list of field names (e.g. "NextPageToken") to include
1301	// in API requests with the JSON null value. By default, fields with
1302	// empty values are omitted from API requests. However, any field with
1303	// an empty value appearing in NullFields will be sent to the server as
1304	// null. It is an error if a field in this list has a non-empty value.
1305	// This may be used to include null fields in Patch requests.
1306	NullFields []string `json:"-"`
1307}
1308
1309func (s *OperationsListResponse) MarshalJSON() ([]byte, error) {
1310	type NoMethod OperationsListResponse
1311	raw := NoMethod(*s)
1312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1313}
1314
1315// Policy: An Identity and Access Management (IAM) policy, which
1316// specifies access controls for Google Cloud resources. A `Policy` is a
1317// collection of `bindings`. A `binding` binds one or more `members` to
1318// a single `role`. Members can be user accounts, service accounts,
1319// Google groups, and domains (such as G Suite). A `role` is a named
1320// list of permissions; each `role` can be an IAM predefined role or a
1321// user-created custom role. For some types of Google Cloud resources, a
1322// `binding` can also specify a `condition`, which is a logical
1323// expression that allows access to a resource only if the expression
1324// evaluates to `true`. A condition can add constraints based on
1325// attributes of the request, the resource, or both. To learn which
1326// resources support conditions in their IAM policies, see the IAM
1327// documentation
1328// (https://cloud.google.com/iam/help/conditions/resource-policies).
1329// **JSON example:** { "bindings": [ { "role":
1330// "roles/resourcemanager.organizationAdmin", "members": [
1331// "user:mike@example.com", "group:admins@example.com",
1332// "domain:google.com",
1333// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
1334// "role": "roles/resourcemanager.organizationViewer", "members": [
1335// "user:eve@example.com" ], "condition": { "title": "expirable access",
1336// "description": "Does not grant access after Sep 2020", "expression":
1337// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
1338// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
1339// members: - user:mike@example.com - group:admins@example.com -
1340// domain:google.com -
1341// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
1342// roles/resourcemanager.organizationAdmin - members: -
1343// user:eve@example.com role: roles/resourcemanager.organizationViewer
1344// condition: title: expirable access description: Does not grant access
1345// after Sep 2020 expression: request.time <
1346// timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3
1347// For a description of IAM and its features, see the IAM documentation
1348// (https://cloud.google.com/iam/docs/).
1349type Policy struct {
1350	// AuditConfigs: Specifies cloud audit logging configuration for this
1351	// policy.
1352	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
1353
1354	// Bindings: Associates a list of `members` to a `role`. Optionally, may
1355	// specify a `condition` that determines how and when the `bindings` are
1356	// applied. Each of the `bindings` must contain at least one member.
1357	Bindings []*Binding `json:"bindings,omitempty"`
1358
1359	// Etag: `etag` is used for optimistic concurrency control as a way to
1360	// help prevent simultaneous updates of a policy from overwriting each
1361	// other. It is strongly suggested that systems make use of the `etag`
1362	// in the read-modify-write cycle to perform policy updates in order to
1363	// avoid race conditions: An `etag` is returned in the response to
1364	// `getIamPolicy`, and systems are expected to put that etag in the
1365	// request to `setIamPolicy` to ensure that their change will be applied
1366	// to the same version of the policy. **Important:** If you use IAM
1367	// Conditions, you must include the `etag` field whenever you call
1368	// `setIamPolicy`. If you omit this field, then IAM allows you to
1369	// overwrite a version `3` policy with a version `1` policy, and all of
1370	// the conditions in the version `3` policy are lost.
1371	Etag string `json:"etag,omitempty"`
1372
1373	// Version: Specifies the format of the policy. Valid values are `0`,
1374	// `1`, and `3`. Requests that specify an invalid value are rejected.
1375	// Any operation that affects conditional role bindings must specify
1376	// version `3`. This requirement applies to the following operations: *
1377	// Getting a policy that includes a conditional role binding * Adding a
1378	// conditional role binding to a policy * Changing a conditional role
1379	// binding in a policy * Removing any role binding, with or without a
1380	// condition, from a policy that includes conditions **Important:** If
1381	// you use IAM Conditions, you must include the `etag` field whenever
1382	// you call `setIamPolicy`. If you omit this field, then IAM allows you
1383	// to overwrite a version `3` policy with a version `1` policy, and all
1384	// of the conditions in the version `3` policy are lost. If a policy
1385	// does not include any conditions, operations on that policy may
1386	// specify any valid version or leave the field unset. To learn which
1387	// resources support conditions in their IAM policies, see the IAM
1388	// documentation
1389	// (https://cloud.google.com/iam/help/conditions/resource-policies).
1390	Version int64 `json:"version,omitempty"`
1391
1392	// ServerResponse contains the HTTP response code and headers from the
1393	// server.
1394	googleapi.ServerResponse `json:"-"`
1395
1396	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
1397	// unconditionally include in API requests. By default, fields with
1398	// empty or default values are omitted from API requests. However, any
1399	// non-pointer, non-interface field appearing in ForceSendFields will be
1400	// sent to the server regardless of whether the field is empty or not.
1401	// This may be used to include empty fields in Patch requests.
1402	ForceSendFields []string `json:"-"`
1403
1404	// NullFields is a list of field names (e.g. "AuditConfigs") to include
1405	// in API requests with the JSON null value. By default, fields with
1406	// empty values are omitted from API requests. However, any field with
1407	// an empty value appearing in NullFields will be sent to the server as
1408	// null. It is an error if a field in this list has a non-empty value.
1409	// This may be used to include null fields in Patch requests.
1410	NullFields []string `json:"-"`
1411}
1412
1413func (s *Policy) MarshalJSON() ([]byte, error) {
1414	type NoMethod Policy
1415	raw := NoMethod(*s)
1416	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1417}
1418
1419type Resource struct {
1420	// AccessControl: The Access Control Policy set on this resource.
1421	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
1422
1423	// FinalProperties: Output only. The evaluated properties of the
1424	// resource with references expanded. Returned as serialized YAML.
1425	FinalProperties string `json:"finalProperties,omitempty"`
1426
1427	Id uint64 `json:"id,omitempty,string"`
1428
1429	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
1430	InsertTime string `json:"insertTime,omitempty"`
1431
1432	// Manifest: Output only. URL of the manifest representing the current
1433	// configuration of this resource.
1434	Manifest string `json:"manifest,omitempty"`
1435
1436	// Name: Output only. The name of the resource as it appears in the YAML
1437	// config.
1438	Name string `json:"name,omitempty"`
1439
1440	// Properties: Output only. The current properties of the resource
1441	// before any references have been filled in. Returned as serialized
1442	// YAML.
1443	Properties string `json:"properties,omitempty"`
1444
1445	// Type: Output only. The type of the resource, for example
1446	// `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.
1447	Type string `json:"type,omitempty"`
1448
1449	// Update: Output only. If Deployment Manager is currently updating or
1450	// previewing an update to this resource, the updated configuration
1451	// appears here.
1452	Update *ResourceUpdate `json:"update,omitempty"`
1453
1454	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
1455	UpdateTime string `json:"updateTime,omitempty"`
1456
1457	// Url: Output only. The URL of the actual resource.
1458	Url string `json:"url,omitempty"`
1459
1460	// Warnings: Output only. If warning messages are generated during
1461	// processing of this resource, this field will be populated.
1462	Warnings []*ResourceWarnings `json:"warnings,omitempty"`
1463
1464	// ServerResponse contains the HTTP response code and headers from the
1465	// server.
1466	googleapi.ServerResponse `json:"-"`
1467
1468	// ForceSendFields is a list of field names (e.g. "AccessControl") to
1469	// unconditionally include in API requests. By default, fields with
1470	// empty or default values are omitted from API requests. However, any
1471	// non-pointer, non-interface field appearing in ForceSendFields will be
1472	// sent to the server regardless of whether the field is empty or not.
1473	// This may be used to include empty fields in Patch requests.
1474	ForceSendFields []string `json:"-"`
1475
1476	// NullFields is a list of field names (e.g. "AccessControl") to include
1477	// in API requests with the JSON null value. By default, fields with
1478	// empty values are omitted from API requests. However, any field with
1479	// an empty value appearing in NullFields will be sent to the server as
1480	// null. It is an error if a field in this list has a non-empty value.
1481	// This may be used to include null fields in Patch requests.
1482	NullFields []string `json:"-"`
1483}
1484
1485func (s *Resource) MarshalJSON() ([]byte, error) {
1486	type NoMethod Resource
1487	raw := NoMethod(*s)
1488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1489}
1490
1491type ResourceWarnings struct {
1492	// Code: [Output Only] A warning code, if applicable. For example,
1493	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
1494	// the response.
1495	//
1496	// Possible values:
1497	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
1498	// created.
1499	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
1500	// page.
1501	//   "UNREACHABLE" - A given scope cannot be reached.
1502	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
1503	// not assigned to an instance on the network.
1504	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
1505	// refers to an instance that does not exist.
1506	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
1507	// URL refers to an instance that is not on the same network as the
1508	// route.
1509	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
1510	// ip forward.
1511	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
1512	// have a status of RUNNING.
1513	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
1514	// injected kernel, which is deprecated.
1515	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
1516	// that requires a TOS they have not accepted.
1517	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
1518	// that is larger than image size.
1519	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
1520	// auto-delete could not be deleted because they were in use.
1521	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
1522	// instance group manager is valid as such, but its application does not
1523	// make a lot of sense, because it allows only single instance in
1524	// instance group.
1525	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
1526	// continue the process despite the mentioned error.
1527	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient
1528	// changes made by a failed operation.
1529	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
1530	// overridden. Deprecated unused field.
1531	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
1532	// resource is in use.
1533	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
1534	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
1535	// call
1536	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
1537	// ignored.
1538	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
1539	// are present
1540	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
1541	// resources has a type marked as experimental
1542	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
1543	// resources has a type marked as deprecated
1544	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
1545	// missing due to errors
1546	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
1547	// exceedingly large number of resources
1548	Code string `json:"code,omitempty"`
1549
1550	// Data: [Output Only] Metadata about this warning in key: value format.
1551	// For example: "data": [ { "key": "scope", "value": "zones/us-east1-d"
1552	// }
1553	Data []*ResourceWarningsData `json:"data,omitempty"`
1554
1555	// Message: [Output Only] A human-readable description of the warning
1556	// code.
1557	Message string `json:"message,omitempty"`
1558
1559	// ForceSendFields is a list of field names (e.g. "Code") to
1560	// unconditionally include in API requests. By default, fields with
1561	// empty or default values are omitted from API requests. However, any
1562	// non-pointer, non-interface field appearing in ForceSendFields will be
1563	// sent to the server regardless of whether the field is empty or not.
1564	// This may be used to include empty fields in Patch requests.
1565	ForceSendFields []string `json:"-"`
1566
1567	// NullFields is a list of field names (e.g. "Code") to include in API
1568	// requests with the JSON null value. By default, fields with empty
1569	// values are omitted from API requests. However, any field with an
1570	// empty value appearing in NullFields will be sent to the server as
1571	// null. It is an error if a field in this list has a non-empty value.
1572	// This may be used to include null fields in Patch requests.
1573	NullFields []string `json:"-"`
1574}
1575
1576func (s *ResourceWarnings) MarshalJSON() ([]byte, error) {
1577	type NoMethod ResourceWarnings
1578	raw := NoMethod(*s)
1579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1580}
1581
1582type ResourceWarningsData struct {
1583	// Key: [Output Only] A key that provides more detail on the warning
1584	// being returned. For example, for warnings where there are no results
1585	// in a list request for a particular zone, this key might be scope and
1586	// the key value might be the zone name. Other examples might be a key
1587	// indicating a deprecated resource and a suggested replacement, or a
1588	// warning about invalid network settings (for example, if an instance
1589	// attempts to perform IP forwarding but is not enabled for IP
1590	// forwarding).
1591	Key string `json:"key,omitempty"`
1592
1593	// Value: [Output Only] A warning data value corresponding to the key.
1594	Value string `json:"value,omitempty"`
1595
1596	// ForceSendFields is a list of field names (e.g. "Key") to
1597	// unconditionally include in API requests. By default, fields with
1598	// empty or default values are omitted from API requests. However, any
1599	// non-pointer, non-interface field appearing in ForceSendFields will be
1600	// sent to the server regardless of whether the field is empty or not.
1601	// This may be used to include empty fields in Patch requests.
1602	ForceSendFields []string `json:"-"`
1603
1604	// NullFields is a list of field names (e.g. "Key") to include in API
1605	// requests with the JSON null value. By default, fields with empty
1606	// values are omitted from API requests. However, any field with an
1607	// empty value appearing in NullFields will be sent to the server as
1608	// null. It is an error if a field in this list has a non-empty value.
1609	// This may be used to include null fields in Patch requests.
1610	NullFields []string `json:"-"`
1611}
1612
1613func (s *ResourceWarningsData) MarshalJSON() ([]byte, error) {
1614	type NoMethod ResourceWarningsData
1615	raw := NoMethod(*s)
1616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1617}
1618
1619// ResourceAccessControl: The access controls set on the resource.
1620type ResourceAccessControl struct {
1621	// GcpIamPolicy: The GCP IAM Policy to set on the resource.
1622	GcpIamPolicy string `json:"gcpIamPolicy,omitempty"`
1623
1624	// ForceSendFields is a list of field names (e.g. "GcpIamPolicy") to
1625	// unconditionally include in API requests. By default, fields with
1626	// empty or default values are omitted from API requests. However, any
1627	// non-pointer, non-interface field appearing in ForceSendFields will be
1628	// sent to the server regardless of whether the field is empty or not.
1629	// This may be used to include empty fields in Patch requests.
1630	ForceSendFields []string `json:"-"`
1631
1632	// NullFields is a list of field names (e.g. "GcpIamPolicy") to include
1633	// in API requests with the JSON null value. By default, fields with
1634	// empty values are omitted from API requests. However, any field with
1635	// an empty value appearing in NullFields will be sent to the server as
1636	// null. It is an error if a field in this list has a non-empty value.
1637	// This may be used to include null fields in Patch requests.
1638	NullFields []string `json:"-"`
1639}
1640
1641func (s *ResourceAccessControl) MarshalJSON() ([]byte, error) {
1642	type NoMethod ResourceAccessControl
1643	raw := NoMethod(*s)
1644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1645}
1646
1647type ResourceUpdate struct {
1648	// AccessControl: The Access Control Policy to set on this resource
1649	// after updating the resource itself.
1650	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
1651
1652	// Error: Output only. If errors are generated during update of the
1653	// resource, this field will be populated.
1654	Error *ResourceUpdateError `json:"error,omitempty"`
1655
1656	// FinalProperties: Output only. The expanded properties of the resource
1657	// with reference values expanded. Returned as serialized YAML.
1658	FinalProperties string `json:"finalProperties,omitempty"`
1659
1660	// Intent: Output only. The intent of the resource: `PREVIEW`, `UPDATE`,
1661	// or `CANCEL`.
1662	//
1663	// Possible values:
1664	//   "CREATE_OR_ACQUIRE" - The resource is scheduled to be created, or
1665	// if it already exists, acquired.
1666	//   "DELETE" - The resource is scheduled to be deleted.
1667	//   "ACQUIRE" - The resource is scheduled to be acquired.
1668	//   "UPDATE" - The resource is scheduled to be updated via the UPDATE
1669	// method.
1670	//   "ABANDON" - The resource is scheduled to be abandoned.
1671	//   "CREATE" - The resource is scheduled to be created.
1672	Intent string `json:"intent,omitempty"`
1673
1674	// Manifest: Output only. URL of the manifest representing the update
1675	// configuration of this resource.
1676	Manifest string `json:"manifest,omitempty"`
1677
1678	// Properties: Output only. The set of updated properties for this
1679	// resource, before references are expanded. Returned as serialized
1680	// YAML.
1681	Properties string `json:"properties,omitempty"`
1682
1683	// State: Output only. The state of the resource.
1684	//
1685	// Possible values:
1686	//   "PENDING" - There are changes pending for this resource.
1687	//   "IN_PROGRESS" - The service is executing changes on the resource.
1688	//   "IN_PREVIEW" - The service is previewing changes on the resource.
1689	//   "FAILED" - The service has failed to change the resource.
1690	//   "ABORTED" - The service has aborted trying to change the resource.
1691	State string `json:"state,omitempty"`
1692
1693	// Warnings: Output only. If warning messages are generated during
1694	// processing of this resource, this field will be populated.
1695	Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"`
1696
1697	// ForceSendFields is a list of field names (e.g. "AccessControl") to
1698	// unconditionally include in API requests. By default, fields with
1699	// empty or default values are omitted from API requests. However, any
1700	// non-pointer, non-interface field appearing in ForceSendFields will be
1701	// sent to the server regardless of whether the field is empty or not.
1702	// This may be used to include empty fields in Patch requests.
1703	ForceSendFields []string `json:"-"`
1704
1705	// NullFields is a list of field names (e.g. "AccessControl") to include
1706	// in API requests with the JSON null value. By default, fields with
1707	// empty values are omitted from API requests. However, any field with
1708	// an empty value appearing in NullFields will be sent to the server as
1709	// null. It is an error if a field in this list has a non-empty value.
1710	// This may be used to include null fields in Patch requests.
1711	NullFields []string `json:"-"`
1712}
1713
1714func (s *ResourceUpdate) MarshalJSON() ([]byte, error) {
1715	type NoMethod ResourceUpdate
1716	raw := NoMethod(*s)
1717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1718}
1719
1720// ResourceUpdateError: Output only. If errors are generated during
1721// update of the resource, this field will be populated.
1722type ResourceUpdateError struct {
1723	// Errors: [Output Only] The array of errors encountered while
1724	// processing this operation.
1725	Errors []*ResourceUpdateErrorErrors `json:"errors,omitempty"`
1726
1727	// ForceSendFields is a list of field names (e.g. "Errors") to
1728	// unconditionally include in API requests. By default, fields with
1729	// empty or default values are omitted from API requests. However, any
1730	// non-pointer, non-interface field appearing in ForceSendFields will be
1731	// sent to the server regardless of whether the field is empty or not.
1732	// This may be used to include empty fields in Patch requests.
1733	ForceSendFields []string `json:"-"`
1734
1735	// NullFields is a list of field names (e.g. "Errors") to include in API
1736	// requests with the JSON null value. By default, fields with empty
1737	// values are omitted from API requests. However, any field with an
1738	// empty value appearing in NullFields will be sent to the server as
1739	// null. It is an error if a field in this list has a non-empty value.
1740	// This may be used to include null fields in Patch requests.
1741	NullFields []string `json:"-"`
1742}
1743
1744func (s *ResourceUpdateError) MarshalJSON() ([]byte, error) {
1745	type NoMethod ResourceUpdateError
1746	raw := NoMethod(*s)
1747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1748}
1749
1750type ResourceUpdateErrorErrors struct {
1751	// Code: [Output Only] The error type identifier for this error.
1752	Code string `json:"code,omitempty"`
1753
1754	// Location: [Output Only] Indicates the field in the request that
1755	// caused the error. This property is optional.
1756	Location string `json:"location,omitempty"`
1757
1758	// Message: [Output Only] An optional, human-readable error message.
1759	Message string `json:"message,omitempty"`
1760
1761	// ForceSendFields is a list of field names (e.g. "Code") to
1762	// unconditionally include in API requests. By default, fields with
1763	// empty or default values are omitted from API requests. However, any
1764	// non-pointer, non-interface field appearing in ForceSendFields will be
1765	// sent to the server regardless of whether the field is empty or not.
1766	// This may be used to include empty fields in Patch requests.
1767	ForceSendFields []string `json:"-"`
1768
1769	// NullFields is a list of field names (e.g. "Code") to include in API
1770	// requests with the JSON null value. By default, fields with empty
1771	// values are omitted from API requests. However, any field with an
1772	// empty value appearing in NullFields will be sent to the server as
1773	// null. It is an error if a field in this list has a non-empty value.
1774	// This may be used to include null fields in Patch requests.
1775	NullFields []string `json:"-"`
1776}
1777
1778func (s *ResourceUpdateErrorErrors) MarshalJSON() ([]byte, error) {
1779	type NoMethod ResourceUpdateErrorErrors
1780	raw := NoMethod(*s)
1781	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1782}
1783
1784type ResourceUpdateWarnings struct {
1785	// Code: [Output Only] A warning code, if applicable. For example,
1786	// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
1787	// the response.
1788	//
1789	// Possible values:
1790	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
1791	// created.
1792	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
1793	// page.
1794	//   "UNREACHABLE" - A given scope cannot be reached.
1795	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
1796	// not assigned to an instance on the network.
1797	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
1798	// refers to an instance that does not exist.
1799	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
1800	// URL refers to an instance that is not on the same network as the
1801	// route.
1802	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
1803	// ip forward.
1804	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
1805	// have a status of RUNNING.
1806	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
1807	// injected kernel, which is deprecated.
1808	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
1809	// that requires a TOS they have not accepted.
1810	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
1811	// that is larger than image size.
1812	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
1813	// auto-delete could not be deleted because they were in use.
1814	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
1815	// instance group manager is valid as such, but its application does not
1816	// make a lot of sense, because it allows only single instance in
1817	// instance group.
1818	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
1819	// continue the process despite the mentioned error.
1820	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient
1821	// changes made by a failed operation.
1822	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
1823	// overridden. Deprecated unused field.
1824	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
1825	// resource is in use.
1826	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
1827	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
1828	// call
1829	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
1830	// ignored.
1831	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
1832	// are present
1833	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
1834	// resources has a type marked as experimental
1835	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
1836	// resources has a type marked as deprecated
1837	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
1838	// missing due to errors
1839	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
1840	// exceedingly large number of resources
1841	Code string `json:"code,omitempty"`
1842
1843	// Data: [Output Only] Metadata about this warning in key: value format.
1844	// For example: "data": [ { "key": "scope", "value": "zones/us-east1-d"
1845	// }
1846	Data []*ResourceUpdateWarningsData `json:"data,omitempty"`
1847
1848	// Message: [Output Only] A human-readable description of the warning
1849	// code.
1850	Message string `json:"message,omitempty"`
1851
1852	// ForceSendFields is a list of field names (e.g. "Code") to
1853	// unconditionally include in API requests. By default, fields with
1854	// empty or default values are omitted from API requests. However, any
1855	// non-pointer, non-interface field appearing in ForceSendFields will be
1856	// sent to the server regardless of whether the field is empty or not.
1857	// This may be used to include empty fields in Patch requests.
1858	ForceSendFields []string `json:"-"`
1859
1860	// NullFields is a list of field names (e.g. "Code") to include in API
1861	// requests with the JSON null value. By default, fields with empty
1862	// values are omitted from API requests. However, any field with an
1863	// empty value appearing in NullFields will be sent to the server as
1864	// null. It is an error if a field in this list has a non-empty value.
1865	// This may be used to include null fields in Patch requests.
1866	NullFields []string `json:"-"`
1867}
1868
1869func (s *ResourceUpdateWarnings) MarshalJSON() ([]byte, error) {
1870	type NoMethod ResourceUpdateWarnings
1871	raw := NoMethod(*s)
1872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1873}
1874
1875type ResourceUpdateWarningsData struct {
1876	// Key: [Output Only] A key that provides more detail on the warning
1877	// being returned. For example, for warnings where there are no results
1878	// in a list request for a particular zone, this key might be scope and
1879	// the key value might be the zone name. Other examples might be a key
1880	// indicating a deprecated resource and a suggested replacement, or a
1881	// warning about invalid network settings (for example, if an instance
1882	// attempts to perform IP forwarding but is not enabled for IP
1883	// forwarding).
1884	Key string `json:"key,omitempty"`
1885
1886	// Value: [Output Only] A warning data value corresponding to the key.
1887	Value string `json:"value,omitempty"`
1888
1889	// ForceSendFields is a list of field names (e.g. "Key") to
1890	// unconditionally include in API requests. By default, fields with
1891	// empty or default values are omitted from API requests. However, any
1892	// non-pointer, non-interface field appearing in ForceSendFields will be
1893	// sent to the server regardless of whether the field is empty or not.
1894	// This may be used to include empty fields in Patch requests.
1895	ForceSendFields []string `json:"-"`
1896
1897	// NullFields is a list of field names (e.g. "Key") to include in API
1898	// requests with the JSON null value. By default, fields with empty
1899	// values are omitted from API requests. However, any field with an
1900	// empty value appearing in NullFields will be sent to the server as
1901	// null. It is an error if a field in this list has a non-empty value.
1902	// This may be used to include null fields in Patch requests.
1903	NullFields []string `json:"-"`
1904}
1905
1906func (s *ResourceUpdateWarningsData) MarshalJSON() ([]byte, error) {
1907	type NoMethod ResourceUpdateWarningsData
1908	raw := NoMethod(*s)
1909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1910}
1911
1912// ResourcesListResponse: A response containing a partial list of
1913// resources and a page token used to build the next request if the
1914// request has been truncated.
1915type ResourcesListResponse struct {
1916	// NextPageToken: A token used to continue a truncated list request.
1917	NextPageToken string `json:"nextPageToken,omitempty"`
1918
1919	// Resources: Resources contained in this list response.
1920	Resources []*Resource `json:"resources,omitempty"`
1921
1922	// ServerResponse contains the HTTP response code and headers from the
1923	// server.
1924	googleapi.ServerResponse `json:"-"`
1925
1926	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1927	// unconditionally include in API requests. By default, fields with
1928	// empty or default values are omitted from API requests. However, any
1929	// non-pointer, non-interface field appearing in ForceSendFields will be
1930	// sent to the server regardless of whether the field is empty or not.
1931	// This may be used to include empty fields in Patch requests.
1932	ForceSendFields []string `json:"-"`
1933
1934	// NullFields is a list of field names (e.g. "NextPageToken") to include
1935	// in API requests with the JSON null value. By default, fields with
1936	// empty values are omitted from API requests. However, any field with
1937	// an empty value appearing in NullFields will be sent to the server as
1938	// null. It is an error if a field in this list has a non-empty value.
1939	// This may be used to include null fields in Patch requests.
1940	NullFields []string `json:"-"`
1941}
1942
1943func (s *ResourcesListResponse) MarshalJSON() ([]byte, error) {
1944	type NoMethod ResourcesListResponse
1945	raw := NoMethod(*s)
1946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1947}
1948
1949type TargetConfiguration struct {
1950	// Config: The configuration to use for this deployment.
1951	Config *ConfigFile `json:"config,omitempty"`
1952
1953	// Imports: Specifies any files to import for this configuration. This
1954	// can be used to import templates or other files. For example, you
1955	// might import a text file in order to use the file in a template.
1956	Imports []*ImportFile `json:"imports,omitempty"`
1957
1958	// ForceSendFields is a list of field names (e.g. "Config") to
1959	// unconditionally include in API requests. By default, fields with
1960	// empty or default values are omitted from API requests. However, any
1961	// non-pointer, non-interface field appearing in ForceSendFields will be
1962	// sent to the server regardless of whether the field is empty or not.
1963	// This may be used to include empty fields in Patch requests.
1964	ForceSendFields []string `json:"-"`
1965
1966	// NullFields is a list of field names (e.g. "Config") to include in API
1967	// requests with the JSON null value. By default, fields with empty
1968	// values are omitted from API requests. However, any field with an
1969	// empty value appearing in NullFields will be sent to the server as
1970	// null. It is an error if a field in this list has a non-empty value.
1971	// This may be used to include null fields in Patch requests.
1972	NullFields []string `json:"-"`
1973}
1974
1975func (s *TargetConfiguration) MarshalJSON() ([]byte, error) {
1976	type NoMethod TargetConfiguration
1977	raw := NoMethod(*s)
1978	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1979}
1980
1981type TestPermissionsRequest struct {
1982	// Permissions: The set of permissions to check for the 'resource'.
1983	// Permissions with wildcards (such as '*' or 'storage.*') are not
1984	// allowed.
1985	Permissions []string `json:"permissions,omitempty"`
1986
1987	// ForceSendFields is a list of field names (e.g. "Permissions") to
1988	// unconditionally include in API requests. By default, fields with
1989	// empty or default values are omitted from API requests. However, any
1990	// non-pointer, non-interface field appearing in ForceSendFields will be
1991	// sent to the server regardless of whether the field is empty or not.
1992	// This may be used to include empty fields in Patch requests.
1993	ForceSendFields []string `json:"-"`
1994
1995	// NullFields is a list of field names (e.g. "Permissions") to include
1996	// in API requests with the JSON null value. By default, fields with
1997	// empty values are omitted from API requests. However, any field with
1998	// an empty value appearing in NullFields will be sent to the server as
1999	// null. It is an error if a field in this list has a non-empty value.
2000	// This may be used to include null fields in Patch requests.
2001	NullFields []string `json:"-"`
2002}
2003
2004func (s *TestPermissionsRequest) MarshalJSON() ([]byte, error) {
2005	type NoMethod TestPermissionsRequest
2006	raw := NoMethod(*s)
2007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2008}
2009
2010type TestPermissionsResponse struct {
2011	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2012	// the caller is allowed.
2013	Permissions []string `json:"permissions,omitempty"`
2014
2015	// ServerResponse contains the HTTP response code and headers from the
2016	// server.
2017	googleapi.ServerResponse `json:"-"`
2018
2019	// ForceSendFields is a list of field names (e.g. "Permissions") to
2020	// unconditionally include in API requests. By default, fields with
2021	// empty or default values are omitted from API requests. However, any
2022	// non-pointer, non-interface field appearing in ForceSendFields will be
2023	// sent to the server regardless of whether the field is empty or not.
2024	// This may be used to include empty fields in Patch requests.
2025	ForceSendFields []string `json:"-"`
2026
2027	// NullFields is a list of field names (e.g. "Permissions") to include
2028	// in API requests with the JSON null value. By default, fields with
2029	// empty values are omitted from API requests. However, any field with
2030	// an empty value appearing in NullFields will be sent to the server as
2031	// null. It is an error if a field in this list has a non-empty value.
2032	// This may be used to include null fields in Patch requests.
2033	NullFields []string `json:"-"`
2034}
2035
2036func (s *TestPermissionsResponse) MarshalJSON() ([]byte, error) {
2037	type NoMethod TestPermissionsResponse
2038	raw := NoMethod(*s)
2039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2040}
2041
2042// Type: A resource type supported by Deployment Manager.
2043type Type struct {
2044	Id uint64 `json:"id,omitempty,string"`
2045
2046	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
2047	InsertTime string `json:"insertTime,omitempty"`
2048
2049	// Name: Name of the type.
2050	Name string `json:"name,omitempty"`
2051
2052	// Operation: Output only. The Operation that most recently ran, or is
2053	// currently running, on this type.
2054	Operation *Operation `json:"operation,omitempty"`
2055
2056	// SelfLink: Output only. Server defined URL for the resource.
2057	SelfLink string `json:"selfLink,omitempty"`
2058
2059	// ForceSendFields is a list of field names (e.g. "Id") to
2060	// unconditionally include in API requests. By default, fields with
2061	// empty or default values are omitted from API requests. However, any
2062	// non-pointer, non-interface field appearing in ForceSendFields will be
2063	// sent to the server regardless of whether the field is empty or not.
2064	// This may be used to include empty fields in Patch requests.
2065	ForceSendFields []string `json:"-"`
2066
2067	// NullFields is a list of field names (e.g. "Id") to include in API
2068	// requests with the JSON null value. By default, fields with empty
2069	// values are omitted from API requests. However, any field with an
2070	// empty value appearing in NullFields will be sent to the server as
2071	// null. It is an error if a field in this list has a non-empty value.
2072	// This may be used to include null fields in Patch requests.
2073	NullFields []string `json:"-"`
2074}
2075
2076func (s *Type) MarshalJSON() ([]byte, error) {
2077	type NoMethod Type
2078	raw := NoMethod(*s)
2079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2080}
2081
2082// TypesListResponse: A response that returns all Types supported by
2083// Deployment Manager
2084type TypesListResponse struct {
2085	// NextPageToken: A token used to continue a truncated list request.
2086	NextPageToken string `json:"nextPageToken,omitempty"`
2087
2088	// Types: Output only. A list of resource types supported by Deployment
2089	// Manager.
2090	Types []*Type `json:"types,omitempty"`
2091
2092	// ServerResponse contains the HTTP response code and headers from the
2093	// server.
2094	googleapi.ServerResponse `json:"-"`
2095
2096	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2097	// unconditionally include in API requests. By default, fields with
2098	// empty or default values are omitted from API requests. However, any
2099	// non-pointer, non-interface field appearing in ForceSendFields will be
2100	// sent to the server regardless of whether the field is empty or not.
2101	// This may be used to include empty fields in Patch requests.
2102	ForceSendFields []string `json:"-"`
2103
2104	// NullFields is a list of field names (e.g. "NextPageToken") to include
2105	// in API requests with the JSON null value. By default, fields with
2106	// empty values are omitted from API requests. However, any field with
2107	// an empty value appearing in NullFields will be sent to the server as
2108	// null. It is an error if a field in this list has a non-empty value.
2109	// This may be used to include null fields in Patch requests.
2110	NullFields []string `json:"-"`
2111}
2112
2113func (s *TypesListResponse) MarshalJSON() ([]byte, error) {
2114	type NoMethod TypesListResponse
2115	raw := NoMethod(*s)
2116	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2117}
2118
2119// method id "deploymentmanager.deployments.cancelPreview":
2120
2121type DeploymentsCancelPreviewCall struct {
2122	s                               *Service
2123	project                         string
2124	deployment                      string
2125	deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest
2126	urlParams_                      gensupport.URLParams
2127	ctx_                            context.Context
2128	header_                         http.Header
2129}
2130
2131// CancelPreview: Cancels and removes the preview currently associated
2132// with the deployment.
2133//
2134// - deployment: The name of the deployment for this request.
2135// - project: The project ID for this request.
2136func (r *DeploymentsService) CancelPreview(project string, deployment string, deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest) *DeploymentsCancelPreviewCall {
2137	c := &DeploymentsCancelPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2138	c.project = project
2139	c.deployment = deployment
2140	c.deploymentscancelpreviewrequest = deploymentscancelpreviewrequest
2141	return c
2142}
2143
2144// Fields allows partial responses to be retrieved. See
2145// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2146// for more information.
2147func (c *DeploymentsCancelPreviewCall) Fields(s ...googleapi.Field) *DeploymentsCancelPreviewCall {
2148	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2149	return c
2150}
2151
2152// Context sets the context to be used in this call's Do method. Any
2153// pending HTTP request will be aborted if the provided context is
2154// canceled.
2155func (c *DeploymentsCancelPreviewCall) Context(ctx context.Context) *DeploymentsCancelPreviewCall {
2156	c.ctx_ = ctx
2157	return c
2158}
2159
2160// Header returns an http.Header that can be modified by the caller to
2161// add HTTP headers to the request.
2162func (c *DeploymentsCancelPreviewCall) Header() http.Header {
2163	if c.header_ == nil {
2164		c.header_ = make(http.Header)
2165	}
2166	return c.header_
2167}
2168
2169func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
2170	reqHeaders := make(http.Header)
2171	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
2172	for k, v := range c.header_ {
2173		reqHeaders[k] = v
2174	}
2175	reqHeaders.Set("User-Agent", c.s.userAgent())
2176	var body io.Reader = nil
2177	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentscancelpreviewrequest)
2178	if err != nil {
2179		return nil, err
2180	}
2181	reqHeaders.Set("Content-Type", "application/json")
2182	c.urlParams_.Set("alt", alt)
2183	c.urlParams_.Set("prettyPrint", "false")
2184	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview")
2185	urls += "?" + c.urlParams_.Encode()
2186	req, err := http.NewRequest("POST", urls, body)
2187	if err != nil {
2188		return nil, err
2189	}
2190	req.Header = reqHeaders
2191	googleapi.Expand(req.URL, map[string]string{
2192		"project":    c.project,
2193		"deployment": c.deployment,
2194	})
2195	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2196}
2197
2198// Do executes the "deploymentmanager.deployments.cancelPreview" call.
2199// Exactly one of *Operation or error will be non-nil. Any non-2xx
2200// status code is an error. Response headers are in either
2201// *Operation.ServerResponse.Header or (if a response was returned at
2202// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2203// to check whether the returned error was because
2204// http.StatusNotModified was returned.
2205func (c *DeploymentsCancelPreviewCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2206	gensupport.SetOptions(c.urlParams_, opts...)
2207	res, err := c.doRequest("json")
2208	if res != nil && res.StatusCode == http.StatusNotModified {
2209		if res.Body != nil {
2210			res.Body.Close()
2211		}
2212		return nil, &googleapi.Error{
2213			Code:   res.StatusCode,
2214			Header: res.Header,
2215		}
2216	}
2217	if err != nil {
2218		return nil, err
2219	}
2220	defer googleapi.CloseBody(res)
2221	if err := googleapi.CheckResponse(res); err != nil {
2222		return nil, err
2223	}
2224	ret := &Operation{
2225		ServerResponse: googleapi.ServerResponse{
2226			Header:         res.Header,
2227			HTTPStatusCode: res.StatusCode,
2228		},
2229	}
2230	target := &ret
2231	if err := gensupport.DecodeResponse(target, res); err != nil {
2232		return nil, err
2233	}
2234	return ret, nil
2235	// {
2236	//   "description": "Cancels and removes the preview currently associated with the deployment.",
2237	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview",
2238	//   "httpMethod": "POST",
2239	//   "id": "deploymentmanager.deployments.cancelPreview",
2240	//   "parameterOrder": [
2241	//     "project",
2242	//     "deployment"
2243	//   ],
2244	//   "parameters": {
2245	//     "deployment": {
2246	//       "description": "The name of the deployment for this request.",
2247	//       "location": "path",
2248	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
2249	//       "required": true,
2250	//       "type": "string"
2251	//     },
2252	//     "project": {
2253	//       "description": "The project ID for this request.",
2254	//       "location": "path",
2255	//       "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])?))",
2256	//       "required": true,
2257	//       "type": "string"
2258	//     }
2259	//   },
2260	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview",
2261	//   "request": {
2262	//     "$ref": "DeploymentsCancelPreviewRequest"
2263	//   },
2264	//   "response": {
2265	//     "$ref": "Operation"
2266	//   },
2267	//   "scopes": [
2268	//     "https://www.googleapis.com/auth/cloud-platform",
2269	//     "https://www.googleapis.com/auth/ndev.cloudman"
2270	//   ]
2271	// }
2272
2273}
2274
2275// method id "deploymentmanager.deployments.delete":
2276
2277type DeploymentsDeleteCall struct {
2278	s          *Service
2279	project    string
2280	deployment string
2281	urlParams_ gensupport.URLParams
2282	ctx_       context.Context
2283	header_    http.Header
2284}
2285
2286// Delete: Deletes a deployment and all of the resources in the
2287// deployment.
2288//
2289// - deployment: The name of the deployment for this request.
2290// - project: The project ID for this request.
2291func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
2292	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2293	c.project = project
2294	c.deployment = deployment
2295	return c
2296}
2297
2298// DeletePolicy sets the optional parameter "deletePolicy": Sets the
2299// policy to use for deleting resources.
2300//
2301// Possible values:
2302//   "DELETE" (default)
2303//   "ABANDON"
2304func (c *DeploymentsDeleteCall) DeletePolicy(deletePolicy string) *DeploymentsDeleteCall {
2305	c.urlParams_.Set("deletePolicy", deletePolicy)
2306	return c
2307}
2308
2309// Fields allows partial responses to be retrieved. See
2310// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2311// for more information.
2312func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
2313	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2314	return c
2315}
2316
2317// Context sets the context to be used in this call's Do method. Any
2318// pending HTTP request will be aborted if the provided context is
2319// canceled.
2320func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
2321	c.ctx_ = ctx
2322	return c
2323}
2324
2325// Header returns an http.Header that can be modified by the caller to
2326// add HTTP headers to the request.
2327func (c *DeploymentsDeleteCall) Header() http.Header {
2328	if c.header_ == nil {
2329		c.header_ = make(http.Header)
2330	}
2331	return c.header_
2332}
2333
2334func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
2335	reqHeaders := make(http.Header)
2336	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
2337	for k, v := range c.header_ {
2338		reqHeaders[k] = v
2339	}
2340	reqHeaders.Set("User-Agent", c.s.userAgent())
2341	var body io.Reader = nil
2342	c.urlParams_.Set("alt", alt)
2343	c.urlParams_.Set("prettyPrint", "false")
2344	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}")
2345	urls += "?" + c.urlParams_.Encode()
2346	req, err := http.NewRequest("DELETE", urls, body)
2347	if err != nil {
2348		return nil, err
2349	}
2350	req.Header = reqHeaders
2351	googleapi.Expand(req.URL, map[string]string{
2352		"project":    c.project,
2353		"deployment": c.deployment,
2354	})
2355	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2356}
2357
2358// Do executes the "deploymentmanager.deployments.delete" call.
2359// Exactly one of *Operation or error will be non-nil. Any non-2xx
2360// status code is an error. Response headers are in either
2361// *Operation.ServerResponse.Header or (if a response was returned at
2362// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2363// to check whether the returned error was because
2364// http.StatusNotModified was returned.
2365func (c *DeploymentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2366	gensupport.SetOptions(c.urlParams_, opts...)
2367	res, err := c.doRequest("json")
2368	if res != nil && res.StatusCode == http.StatusNotModified {
2369		if res.Body != nil {
2370			res.Body.Close()
2371		}
2372		return nil, &googleapi.Error{
2373			Code:   res.StatusCode,
2374			Header: res.Header,
2375		}
2376	}
2377	if err != nil {
2378		return nil, err
2379	}
2380	defer googleapi.CloseBody(res)
2381	if err := googleapi.CheckResponse(res); err != nil {
2382		return nil, err
2383	}
2384	ret := &Operation{
2385		ServerResponse: googleapi.ServerResponse{
2386			Header:         res.Header,
2387			HTTPStatusCode: res.StatusCode,
2388		},
2389	}
2390	target := &ret
2391	if err := gensupport.DecodeResponse(target, res); err != nil {
2392		return nil, err
2393	}
2394	return ret, nil
2395	// {
2396	//   "description": "Deletes a deployment and all of the resources in the deployment.",
2397	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
2398	//   "httpMethod": "DELETE",
2399	//   "id": "deploymentmanager.deployments.delete",
2400	//   "parameterOrder": [
2401	//     "project",
2402	//     "deployment"
2403	//   ],
2404	//   "parameters": {
2405	//     "deletePolicy": {
2406	//       "default": "DELETE",
2407	//       "description": "Sets the policy to use for deleting resources.",
2408	//       "enum": [
2409	//         "DELETE",
2410	//         "ABANDON"
2411	//       ],
2412	//       "enumDescriptions": [
2413	//         "",
2414	//         ""
2415	//       ],
2416	//       "location": "query",
2417	//       "type": "string"
2418	//     },
2419	//     "deployment": {
2420	//       "description": "The name of the deployment for this request.",
2421	//       "location": "path",
2422	//       "required": true,
2423	//       "type": "string"
2424	//     },
2425	//     "project": {
2426	//       "description": "The project ID for this request.",
2427	//       "location": "path",
2428	//       "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])?))",
2429	//       "required": true,
2430	//       "type": "string"
2431	//     }
2432	//   },
2433	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
2434	//   "response": {
2435	//     "$ref": "Operation"
2436	//   },
2437	//   "scopes": [
2438	//     "https://www.googleapis.com/auth/cloud-platform",
2439	//     "https://www.googleapis.com/auth/ndev.cloudman"
2440	//   ]
2441	// }
2442
2443}
2444
2445// method id "deploymentmanager.deployments.get":
2446
2447type DeploymentsGetCall struct {
2448	s            *Service
2449	project      string
2450	deployment   string
2451	urlParams_   gensupport.URLParams
2452	ifNoneMatch_ string
2453	ctx_         context.Context
2454	header_      http.Header
2455}
2456
2457// Get: Gets information about a specific deployment.
2458//
2459// - deployment: The name of the deployment for this request.
2460// - project: The project ID for this request.
2461func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
2462	c := &DeploymentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2463	c.project = project
2464	c.deployment = deployment
2465	return c
2466}
2467
2468// Fields allows partial responses to be retrieved. See
2469// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2470// for more information.
2471func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
2472	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2473	return c
2474}
2475
2476// IfNoneMatch sets the optional parameter which makes the operation
2477// fail if the object's ETag matches the given value. This is useful for
2478// getting updates only after the object has changed since the last
2479// request. Use googleapi.IsNotModified to check whether the response
2480// error from Do is the result of In-None-Match.
2481func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
2482	c.ifNoneMatch_ = entityTag
2483	return c
2484}
2485
2486// Context sets the context to be used in this call's Do method. Any
2487// pending HTTP request will be aborted if the provided context is
2488// canceled.
2489func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
2490	c.ctx_ = ctx
2491	return c
2492}
2493
2494// Header returns an http.Header that can be modified by the caller to
2495// add HTTP headers to the request.
2496func (c *DeploymentsGetCall) Header() http.Header {
2497	if c.header_ == nil {
2498		c.header_ = make(http.Header)
2499	}
2500	return c.header_
2501}
2502
2503func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
2504	reqHeaders := make(http.Header)
2505	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
2506	for k, v := range c.header_ {
2507		reqHeaders[k] = v
2508	}
2509	reqHeaders.Set("User-Agent", c.s.userAgent())
2510	if c.ifNoneMatch_ != "" {
2511		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2512	}
2513	var body io.Reader = nil
2514	c.urlParams_.Set("alt", alt)
2515	c.urlParams_.Set("prettyPrint", "false")
2516	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}")
2517	urls += "?" + c.urlParams_.Encode()
2518	req, err := http.NewRequest("GET", urls, body)
2519	if err != nil {
2520		return nil, err
2521	}
2522	req.Header = reqHeaders
2523	googleapi.Expand(req.URL, map[string]string{
2524		"project":    c.project,
2525		"deployment": c.deployment,
2526	})
2527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2528}
2529
2530// Do executes the "deploymentmanager.deployments.get" call.
2531// Exactly one of *Deployment or error will be non-nil. Any non-2xx
2532// status code is an error. Response headers are in either
2533// *Deployment.ServerResponse.Header or (if a response was returned at
2534// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2535// to check whether the returned error was because
2536// http.StatusNotModified was returned.
2537func (c *DeploymentsGetCall) Do(opts ...googleapi.CallOption) (*Deployment, error) {
2538	gensupport.SetOptions(c.urlParams_, opts...)
2539	res, err := c.doRequest("json")
2540	if res != nil && res.StatusCode == http.StatusNotModified {
2541		if res.Body != nil {
2542			res.Body.Close()
2543		}
2544		return nil, &googleapi.Error{
2545			Code:   res.StatusCode,
2546			Header: res.Header,
2547		}
2548	}
2549	if err != nil {
2550		return nil, err
2551	}
2552	defer googleapi.CloseBody(res)
2553	if err := googleapi.CheckResponse(res); err != nil {
2554		return nil, err
2555	}
2556	ret := &Deployment{
2557		ServerResponse: googleapi.ServerResponse{
2558			Header:         res.Header,
2559			HTTPStatusCode: res.StatusCode,
2560		},
2561	}
2562	target := &ret
2563	if err := gensupport.DecodeResponse(target, res); err != nil {
2564		return nil, err
2565	}
2566	return ret, nil
2567	// {
2568	//   "description": "Gets information about a specific deployment.",
2569	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
2570	//   "httpMethod": "GET",
2571	//   "id": "deploymentmanager.deployments.get",
2572	//   "parameterOrder": [
2573	//     "project",
2574	//     "deployment"
2575	//   ],
2576	//   "parameters": {
2577	//     "deployment": {
2578	//       "description": "The name of the deployment for this request.",
2579	//       "location": "path",
2580	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
2581	//       "required": true,
2582	//       "type": "string"
2583	//     },
2584	//     "project": {
2585	//       "description": "The project ID for this request.",
2586	//       "location": "path",
2587	//       "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])?))",
2588	//       "required": true,
2589	//       "type": "string"
2590	//     }
2591	//   },
2592	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
2593	//   "response": {
2594	//     "$ref": "Deployment"
2595	//   },
2596	//   "scopes": [
2597	//     "https://www.googleapis.com/auth/cloud-platform",
2598	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
2599	//     "https://www.googleapis.com/auth/ndev.cloudman",
2600	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
2601	//   ]
2602	// }
2603
2604}
2605
2606// method id "deploymentmanager.deployments.getIamPolicy":
2607
2608type DeploymentsGetIamPolicyCall struct {
2609	s            *Service
2610	project      string
2611	resource     string
2612	urlParams_   gensupport.URLParams
2613	ifNoneMatch_ string
2614	ctx_         context.Context
2615	header_      http.Header
2616}
2617
2618// GetIamPolicy: Gets the access control policy for a resource. May be
2619// empty if no such policy or resource exists.
2620//
2621// - project: Project ID for this request.
2622// - resource: Name or id of the resource for this request.
2623func (r *DeploymentsService) GetIamPolicy(project string, resource string) *DeploymentsGetIamPolicyCall {
2624	c := &DeploymentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2625	c.project = project
2626	c.resource = resource
2627	return c
2628}
2629
2630// OptionsRequestedPolicyVersion sets the optional parameter
2631// "optionsRequestedPolicyVersion": Requested IAM Policy version.
2632func (c *DeploymentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *DeploymentsGetIamPolicyCall {
2633	c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
2634	return c
2635}
2636
2637// Fields allows partial responses to be retrieved. See
2638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2639// for more information.
2640func (c *DeploymentsGetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsGetIamPolicyCall {
2641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2642	return c
2643}
2644
2645// IfNoneMatch sets the optional parameter which makes the operation
2646// fail if the object's ETag matches the given value. This is useful for
2647// getting updates only after the object has changed since the last
2648// request. Use googleapi.IsNotModified to check whether the response
2649// error from Do is the result of In-None-Match.
2650func (c *DeploymentsGetIamPolicyCall) IfNoneMatch(entityTag string) *DeploymentsGetIamPolicyCall {
2651	c.ifNoneMatch_ = entityTag
2652	return c
2653}
2654
2655// Context sets the context to be used in this call's Do method. Any
2656// pending HTTP request will be aborted if the provided context is
2657// canceled.
2658func (c *DeploymentsGetIamPolicyCall) Context(ctx context.Context) *DeploymentsGetIamPolicyCall {
2659	c.ctx_ = ctx
2660	return c
2661}
2662
2663// Header returns an http.Header that can be modified by the caller to
2664// add HTTP headers to the request.
2665func (c *DeploymentsGetIamPolicyCall) Header() http.Header {
2666	if c.header_ == nil {
2667		c.header_ = make(http.Header)
2668	}
2669	return c.header_
2670}
2671
2672func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
2673	reqHeaders := make(http.Header)
2674	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
2675	for k, v := range c.header_ {
2676		reqHeaders[k] = v
2677	}
2678	reqHeaders.Set("User-Agent", c.s.userAgent())
2679	if c.ifNoneMatch_ != "" {
2680		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2681	}
2682	var body io.Reader = nil
2683	c.urlParams_.Set("alt", alt)
2684	c.urlParams_.Set("prettyPrint", "false")
2685	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy")
2686	urls += "?" + c.urlParams_.Encode()
2687	req, err := http.NewRequest("GET", urls, body)
2688	if err != nil {
2689		return nil, err
2690	}
2691	req.Header = reqHeaders
2692	googleapi.Expand(req.URL, map[string]string{
2693		"project":  c.project,
2694		"resource": c.resource,
2695	})
2696	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2697}
2698
2699// Do executes the "deploymentmanager.deployments.getIamPolicy" call.
2700// Exactly one of *Policy or error will be non-nil. Any non-2xx status
2701// code is an error. Response headers are in either
2702// *Policy.ServerResponse.Header or (if a response was returned at all)
2703// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2704// check whether the returned error was because http.StatusNotModified
2705// was returned.
2706func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
2707	gensupport.SetOptions(c.urlParams_, opts...)
2708	res, err := c.doRequest("json")
2709	if res != nil && res.StatusCode == http.StatusNotModified {
2710		if res.Body != nil {
2711			res.Body.Close()
2712		}
2713		return nil, &googleapi.Error{
2714			Code:   res.StatusCode,
2715			Header: res.Header,
2716		}
2717	}
2718	if err != nil {
2719		return nil, err
2720	}
2721	defer googleapi.CloseBody(res)
2722	if err := googleapi.CheckResponse(res); err != nil {
2723		return nil, err
2724	}
2725	ret := &Policy{
2726		ServerResponse: googleapi.ServerResponse{
2727			Header:         res.Header,
2728			HTTPStatusCode: res.StatusCode,
2729		},
2730	}
2731	target := &ret
2732	if err := gensupport.DecodeResponse(target, res); err != nil {
2733		return nil, err
2734	}
2735	return ret, nil
2736	// {
2737	//   "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.",
2738	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy",
2739	//   "httpMethod": "GET",
2740	//   "id": "deploymentmanager.deployments.getIamPolicy",
2741	//   "parameterOrder": [
2742	//     "project",
2743	//     "resource"
2744	//   ],
2745	//   "parameters": {
2746	//     "optionsRequestedPolicyVersion": {
2747	//       "description": "Requested IAM Policy version.",
2748	//       "format": "int32",
2749	//       "location": "query",
2750	//       "type": "integer"
2751	//     },
2752	//     "project": {
2753	//       "description": "Project ID for this request.",
2754	//       "location": "path",
2755	//       "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])?))",
2756	//       "required": true,
2757	//       "type": "string"
2758	//     },
2759	//     "resource": {
2760	//       "description": "Name or id of the resource for this request.",
2761	//       "location": "path",
2762	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
2763	//       "required": true,
2764	//       "type": "string"
2765	//     }
2766	//   },
2767	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy",
2768	//   "response": {
2769	//     "$ref": "Policy"
2770	//   },
2771	//   "scopes": [
2772	//     "https://www.googleapis.com/auth/cloud-platform",
2773	//     "https://www.googleapis.com/auth/ndev.cloudman"
2774	//   ]
2775	// }
2776
2777}
2778
2779// method id "deploymentmanager.deployments.insert":
2780
2781type DeploymentsInsertCall struct {
2782	s          *Service
2783	project    string
2784	deployment *Deployment
2785	urlParams_ gensupport.URLParams
2786	ctx_       context.Context
2787	header_    http.Header
2788}
2789
2790// Insert: Creates a deployment and all of the resources described by
2791// the deployment manifest.
2792//
2793// - project: The project ID for this request.
2794func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
2795	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2796	c.project = project
2797	c.deployment = deployment
2798	return c
2799}
2800
2801// CreatePolicy sets the optional parameter "createPolicy": Sets the
2802// policy to use for creating new resources.
2803//
2804// Possible values:
2805//   "CREATE_OR_ACQUIRE" (default)
2806//   "ACQUIRE"
2807func (c *DeploymentsInsertCall) CreatePolicy(createPolicy string) *DeploymentsInsertCall {
2808	c.urlParams_.Set("createPolicy", createPolicy)
2809	return c
2810}
2811
2812// Preview sets the optional parameter "preview": If set to true,
2813// creates a deployment and creates "shell" resources but does not
2814// actually instantiate these resources. This allows you to preview what
2815// your deployment looks like. After previewing a deployment, you can
2816// deploy your resources by making a request with the `update()` method
2817// or you can use the `cancelPreview()` method to cancel the preview
2818// altogether. Note that the deployment will still exist after you
2819// cancel the preview and you must separately delete this deployment if
2820// you want to remove it.
2821func (c *DeploymentsInsertCall) Preview(preview bool) *DeploymentsInsertCall {
2822	c.urlParams_.Set("preview", fmt.Sprint(preview))
2823	return c
2824}
2825
2826// Fields allows partial responses to be retrieved. See
2827// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2828// for more information.
2829func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
2830	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2831	return c
2832}
2833
2834// Context sets the context to be used in this call's Do method. Any
2835// pending HTTP request will be aborted if the provided context is
2836// canceled.
2837func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
2838	c.ctx_ = ctx
2839	return c
2840}
2841
2842// Header returns an http.Header that can be modified by the caller to
2843// add HTTP headers to the request.
2844func (c *DeploymentsInsertCall) Header() http.Header {
2845	if c.header_ == nil {
2846		c.header_ = make(http.Header)
2847	}
2848	return c.header_
2849}
2850
2851func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
2852	reqHeaders := make(http.Header)
2853	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
2854	for k, v := range c.header_ {
2855		reqHeaders[k] = v
2856	}
2857	reqHeaders.Set("User-Agent", c.s.userAgent())
2858	var body io.Reader = nil
2859	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment)
2860	if err != nil {
2861		return nil, err
2862	}
2863	reqHeaders.Set("Content-Type", "application/json")
2864	c.urlParams_.Set("alt", alt)
2865	c.urlParams_.Set("prettyPrint", "false")
2866	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments")
2867	urls += "?" + c.urlParams_.Encode()
2868	req, err := http.NewRequest("POST", urls, body)
2869	if err != nil {
2870		return nil, err
2871	}
2872	req.Header = reqHeaders
2873	googleapi.Expand(req.URL, map[string]string{
2874		"project": c.project,
2875	})
2876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2877}
2878
2879// Do executes the "deploymentmanager.deployments.insert" call.
2880// Exactly one of *Operation or error will be non-nil. Any non-2xx
2881// status code is an error. Response headers are in either
2882// *Operation.ServerResponse.Header or (if a response was returned at
2883// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2884// to check whether the returned error was because
2885// http.StatusNotModified was returned.
2886func (c *DeploymentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
2887	gensupport.SetOptions(c.urlParams_, opts...)
2888	res, err := c.doRequest("json")
2889	if res != nil && res.StatusCode == http.StatusNotModified {
2890		if res.Body != nil {
2891			res.Body.Close()
2892		}
2893		return nil, &googleapi.Error{
2894			Code:   res.StatusCode,
2895			Header: res.Header,
2896		}
2897	}
2898	if err != nil {
2899		return nil, err
2900	}
2901	defer googleapi.CloseBody(res)
2902	if err := googleapi.CheckResponse(res); err != nil {
2903		return nil, err
2904	}
2905	ret := &Operation{
2906		ServerResponse: googleapi.ServerResponse{
2907			Header:         res.Header,
2908			HTTPStatusCode: res.StatusCode,
2909		},
2910	}
2911	target := &ret
2912	if err := gensupport.DecodeResponse(target, res); err != nil {
2913		return nil, err
2914	}
2915	return ret, nil
2916	// {
2917	//   "description": "Creates a deployment and all of the resources described by the deployment manifest.",
2918	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments",
2919	//   "httpMethod": "POST",
2920	//   "id": "deploymentmanager.deployments.insert",
2921	//   "parameterOrder": [
2922	//     "project"
2923	//   ],
2924	//   "parameters": {
2925	//     "createPolicy": {
2926	//       "default": "CREATE_OR_ACQUIRE",
2927	//       "description": "Sets the policy to use for creating new resources.",
2928	//       "enum": [
2929	//         "CREATE_OR_ACQUIRE",
2930	//         "ACQUIRE"
2931	//       ],
2932	//       "enumDescriptions": [
2933	//         "",
2934	//         ""
2935	//       ],
2936	//       "location": "query",
2937	//       "type": "string"
2938	//     },
2939	//     "preview": {
2940	//       "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.",
2941	//       "location": "query",
2942	//       "type": "boolean"
2943	//     },
2944	//     "project": {
2945	//       "description": "The project ID for this request.",
2946	//       "location": "path",
2947	//       "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])?))",
2948	//       "required": true,
2949	//       "type": "string"
2950	//     }
2951	//   },
2952	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments",
2953	//   "request": {
2954	//     "$ref": "Deployment"
2955	//   },
2956	//   "response": {
2957	//     "$ref": "Operation"
2958	//   },
2959	//   "scopes": [
2960	//     "https://www.googleapis.com/auth/cloud-platform",
2961	//     "https://www.googleapis.com/auth/ndev.cloudman"
2962	//   ]
2963	// }
2964
2965}
2966
2967// method id "deploymentmanager.deployments.list":
2968
2969type DeploymentsListCall struct {
2970	s            *Service
2971	project      string
2972	urlParams_   gensupport.URLParams
2973	ifNoneMatch_ string
2974	ctx_         context.Context
2975	header_      http.Header
2976}
2977
2978// List: Lists all deployments for a given project.
2979//
2980// - project: The project ID for this request.
2981func (r *DeploymentsService) List(project string) *DeploymentsListCall {
2982	c := &DeploymentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2983	c.project = project
2984	return c
2985}
2986
2987// Filter sets the optional parameter "filter": A filter expression that
2988// filters resources listed in the response. The expression must specify
2989// the field name, a comparison operator, and the value that you want to
2990// use for filtering. The value must be a string, a number, or a
2991// boolean. The comparison operator must be either `=`, `!=`, `>`, or
2992// `<`. For example, if you are filtering Compute Engine instances, you
2993// can exclude instances named `example-instance` by specifying `name !=
2994// example-instance`. You can also filter nested fields. For example,
2995// you could specify `scheduling.automaticRestart = false` to include
2996// instances only if they are not scheduled for automatic restarts. You
2997// can use filtering on nested fields to filter based on resource
2998// labels. To filter on multiple expressions, provide each separate
2999// expression within parentheses. For example: ```
3000// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
3001// ``` By default, each expression is an `AND` expression. However, you
3002// can include `AND` and `OR` expressions explicitly. For example: ```
3003// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
3004// AND (scheduling.automaticRestart = true) ```
3005func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
3006	c.urlParams_.Set("filter", filter)
3007	return c
3008}
3009
3010// MaxResults sets the optional parameter "maxResults": The maximum
3011// number of results per page that should be returned. If the number of
3012// available results is larger than `maxResults`, Compute Engine returns
3013// a `nextPageToken` that can be used to get the next page of results in
3014// subsequent list requests. Acceptable values are `0` to `500`,
3015// inclusive. (Default: `500`)
3016func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
3017	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
3018	return c
3019}
3020
3021// OrderBy sets the optional parameter "orderBy": Sorts list results by
3022// a certain order. By default, results are returned in alphanumerical
3023// order based on the resource name. You can also sort results in
3024// descending order based on the creation timestamp using
3025// `orderBy="creationTimestamp desc". This sorts results based on the
3026// `creationTimestamp` field in reverse chronological order (newest
3027// result first). Use this to sort resources like operations so that the
3028// newest operation is returned first. Currently, only sorting by `name`
3029// or `creationTimestamp desc` is supported.
3030func (c *DeploymentsListCall) OrderBy(orderBy string) *DeploymentsListCall {
3031	c.urlParams_.Set("orderBy", orderBy)
3032	return c
3033}
3034
3035// PageToken sets the optional parameter "pageToken": Specifies a page
3036// token to use. Set `pageToken` to the `nextPageToken` returned by a
3037// previous list request to get the next page of results.
3038func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
3039	c.urlParams_.Set("pageToken", pageToken)
3040	return c
3041}
3042
3043// Fields allows partial responses to be retrieved. See
3044// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3045// for more information.
3046func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
3047	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3048	return c
3049}
3050
3051// IfNoneMatch sets the optional parameter which makes the operation
3052// fail if the object's ETag matches the given value. This is useful for
3053// getting updates only after the object has changed since the last
3054// request. Use googleapi.IsNotModified to check whether the response
3055// error from Do is the result of In-None-Match.
3056func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
3057	c.ifNoneMatch_ = entityTag
3058	return c
3059}
3060
3061// Context sets the context to be used in this call's Do method. Any
3062// pending HTTP request will be aborted if the provided context is
3063// canceled.
3064func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
3065	c.ctx_ = ctx
3066	return c
3067}
3068
3069// Header returns an http.Header that can be modified by the caller to
3070// add HTTP headers to the request.
3071func (c *DeploymentsListCall) Header() http.Header {
3072	if c.header_ == nil {
3073		c.header_ = make(http.Header)
3074	}
3075	return c.header_
3076}
3077
3078func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
3079	reqHeaders := make(http.Header)
3080	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
3081	for k, v := range c.header_ {
3082		reqHeaders[k] = v
3083	}
3084	reqHeaders.Set("User-Agent", c.s.userAgent())
3085	if c.ifNoneMatch_ != "" {
3086		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3087	}
3088	var body io.Reader = nil
3089	c.urlParams_.Set("alt", alt)
3090	c.urlParams_.Set("prettyPrint", "false")
3091	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments")
3092	urls += "?" + c.urlParams_.Encode()
3093	req, err := http.NewRequest("GET", urls, body)
3094	if err != nil {
3095		return nil, err
3096	}
3097	req.Header = reqHeaders
3098	googleapi.Expand(req.URL, map[string]string{
3099		"project": c.project,
3100	})
3101	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3102}
3103
3104// Do executes the "deploymentmanager.deployments.list" call.
3105// Exactly one of *DeploymentsListResponse or error will be non-nil. Any
3106// non-2xx status code is an error. Response headers are in either
3107// *DeploymentsListResponse.ServerResponse.Header or (if a response was
3108// returned at all) in error.(*googleapi.Error).Header. Use
3109// googleapi.IsNotModified to check whether the returned error was
3110// because http.StatusNotModified was returned.
3111func (c *DeploymentsListCall) Do(opts ...googleapi.CallOption) (*DeploymentsListResponse, error) {
3112	gensupport.SetOptions(c.urlParams_, opts...)
3113	res, err := c.doRequest("json")
3114	if res != nil && res.StatusCode == http.StatusNotModified {
3115		if res.Body != nil {
3116			res.Body.Close()
3117		}
3118		return nil, &googleapi.Error{
3119			Code:   res.StatusCode,
3120			Header: res.Header,
3121		}
3122	}
3123	if err != nil {
3124		return nil, err
3125	}
3126	defer googleapi.CloseBody(res)
3127	if err := googleapi.CheckResponse(res); err != nil {
3128		return nil, err
3129	}
3130	ret := &DeploymentsListResponse{
3131		ServerResponse: googleapi.ServerResponse{
3132			Header:         res.Header,
3133			HTTPStatusCode: res.StatusCode,
3134		},
3135	}
3136	target := &ret
3137	if err := gensupport.DecodeResponse(target, res); err != nil {
3138		return nil, err
3139	}
3140	return ret, nil
3141	// {
3142	//   "description": "Lists all deployments for a given project.",
3143	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments",
3144	//   "httpMethod": "GET",
3145	//   "id": "deploymentmanager.deployments.list",
3146	//   "parameterOrder": [
3147	//     "project"
3148	//   ],
3149	//   "parameters": {
3150	//     "filter": {
3151	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
3152	//       "location": "query",
3153	//       "type": "string"
3154	//     },
3155	//     "maxResults": {
3156	//       "default": "500",
3157	//       "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`)",
3158	//       "format": "uint32",
3159	//       "location": "query",
3160	//       "minimum": "0",
3161	//       "type": "integer"
3162	//     },
3163	//     "orderBy": {
3164	//       "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.",
3165	//       "location": "query",
3166	//       "type": "string"
3167	//     },
3168	//     "pageToken": {
3169	//       "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.",
3170	//       "location": "query",
3171	//       "type": "string"
3172	//     },
3173	//     "project": {
3174	//       "description": "The project ID for this request.",
3175	//       "location": "path",
3176	//       "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])?))",
3177	//       "required": true,
3178	//       "type": "string"
3179	//     }
3180	//   },
3181	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments",
3182	//   "response": {
3183	//     "$ref": "DeploymentsListResponse"
3184	//   },
3185	//   "scopes": [
3186	//     "https://www.googleapis.com/auth/cloud-platform",
3187	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
3188	//     "https://www.googleapis.com/auth/ndev.cloudman",
3189	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
3190	//   ]
3191	// }
3192
3193}
3194
3195// Pages invokes f for each page of results.
3196// A non-nil error returned from f will halt the iteration.
3197// The provided context supersedes any context provided to the Context method.
3198func (c *DeploymentsListCall) Pages(ctx context.Context, f func(*DeploymentsListResponse) error) error {
3199	c.ctx_ = ctx
3200	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3201	for {
3202		x, err := c.Do()
3203		if err != nil {
3204			return err
3205		}
3206		if err := f(x); err != nil {
3207			return err
3208		}
3209		if x.NextPageToken == "" {
3210			return nil
3211		}
3212		c.PageToken(x.NextPageToken)
3213	}
3214}
3215
3216// method id "deploymentmanager.deployments.patch":
3217
3218type DeploymentsPatchCall struct {
3219	s           *Service
3220	project     string
3221	deployment  string
3222	deployment2 *Deployment
3223	urlParams_  gensupport.URLParams
3224	ctx_        context.Context
3225	header_     http.Header
3226}
3227
3228// Patch: Patches a deployment and all of the resources described by the
3229// deployment manifest.
3230//
3231// - deployment: The name of the deployment for this request.
3232// - project: The project ID for this request.
3233func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
3234	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3235	c.project = project
3236	c.deployment = deployment
3237	c.deployment2 = deployment2
3238	return c
3239}
3240
3241// CreatePolicy sets the optional parameter "createPolicy": Sets the
3242// policy to use for creating new resources.
3243//
3244// Possible values:
3245//   "CREATE_OR_ACQUIRE" (default)
3246//   "ACQUIRE"
3247func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
3248	c.urlParams_.Set("createPolicy", createPolicy)
3249	return c
3250}
3251
3252// DeletePolicy sets the optional parameter "deletePolicy": Sets the
3253// policy to use for deleting resources.
3254//
3255// Possible values:
3256//   "DELETE" (default)
3257//   "ABANDON"
3258func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
3259	c.urlParams_.Set("deletePolicy", deletePolicy)
3260	return c
3261}
3262
3263// Preview sets the optional parameter "preview": If set to true,
3264// updates the deployment and creates and updates the "shell" resources
3265// but does not actually alter or instantiate these resources. This
3266// allows you to preview what your deployment will look like. You can
3267// use this intent to preview how an update would affect your
3268// deployment. You must provide a `target.config` with a configuration
3269// if this is set to true. After previewing a deployment, you can deploy
3270// your resources by making a request with the `update()` or you can
3271// `cancelPreview()` to remove the preview altogether. Note that the
3272// deployment will still exist after you cancel the preview and you must
3273// separately delete this deployment if you want to remove it.
3274func (c *DeploymentsPatchCall) Preview(preview bool) *DeploymentsPatchCall {
3275	c.urlParams_.Set("preview", fmt.Sprint(preview))
3276	return c
3277}
3278
3279// Fields allows partial responses to be retrieved. See
3280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3281// for more information.
3282func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
3283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3284	return c
3285}
3286
3287// Context sets the context to be used in this call's Do method. Any
3288// pending HTTP request will be aborted if the provided context is
3289// canceled.
3290func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
3291	c.ctx_ = ctx
3292	return c
3293}
3294
3295// Header returns an http.Header that can be modified by the caller to
3296// add HTTP headers to the request.
3297func (c *DeploymentsPatchCall) Header() http.Header {
3298	if c.header_ == nil {
3299		c.header_ = make(http.Header)
3300	}
3301	return c.header_
3302}
3303
3304func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
3305	reqHeaders := make(http.Header)
3306	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
3307	for k, v := range c.header_ {
3308		reqHeaders[k] = v
3309	}
3310	reqHeaders.Set("User-Agent", c.s.userAgent())
3311	var body io.Reader = nil
3312	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
3313	if err != nil {
3314		return nil, err
3315	}
3316	reqHeaders.Set("Content-Type", "application/json")
3317	c.urlParams_.Set("alt", alt)
3318	c.urlParams_.Set("prettyPrint", "false")
3319	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}")
3320	urls += "?" + c.urlParams_.Encode()
3321	req, err := http.NewRequest("PATCH", urls, body)
3322	if err != nil {
3323		return nil, err
3324	}
3325	req.Header = reqHeaders
3326	googleapi.Expand(req.URL, map[string]string{
3327		"project":    c.project,
3328		"deployment": c.deployment,
3329	})
3330	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3331}
3332
3333// Do executes the "deploymentmanager.deployments.patch" call.
3334// Exactly one of *Operation or error will be non-nil. Any non-2xx
3335// status code is an error. Response headers are in either
3336// *Operation.ServerResponse.Header or (if a response was returned at
3337// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3338// to check whether the returned error was because
3339// http.StatusNotModified was returned.
3340func (c *DeploymentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3341	gensupport.SetOptions(c.urlParams_, opts...)
3342	res, err := c.doRequest("json")
3343	if res != nil && res.StatusCode == http.StatusNotModified {
3344		if res.Body != nil {
3345			res.Body.Close()
3346		}
3347		return nil, &googleapi.Error{
3348			Code:   res.StatusCode,
3349			Header: res.Header,
3350		}
3351	}
3352	if err != nil {
3353		return nil, err
3354	}
3355	defer googleapi.CloseBody(res)
3356	if err := googleapi.CheckResponse(res); err != nil {
3357		return nil, err
3358	}
3359	ret := &Operation{
3360		ServerResponse: googleapi.ServerResponse{
3361			Header:         res.Header,
3362			HTTPStatusCode: res.StatusCode,
3363		},
3364	}
3365	target := &ret
3366	if err := gensupport.DecodeResponse(target, res); err != nil {
3367		return nil, err
3368	}
3369	return ret, nil
3370	// {
3371	//   "description": "Patches a deployment and all of the resources described by the deployment manifest.",
3372	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
3373	//   "httpMethod": "PATCH",
3374	//   "id": "deploymentmanager.deployments.patch",
3375	//   "parameterOrder": [
3376	//     "project",
3377	//     "deployment"
3378	//   ],
3379	//   "parameters": {
3380	//     "createPolicy": {
3381	//       "default": "CREATE_OR_ACQUIRE",
3382	//       "description": "Sets the policy to use for creating new resources.",
3383	//       "enum": [
3384	//         "CREATE_OR_ACQUIRE",
3385	//         "ACQUIRE"
3386	//       ],
3387	//       "enumDescriptions": [
3388	//         "",
3389	//         ""
3390	//       ],
3391	//       "location": "query",
3392	//       "type": "string"
3393	//     },
3394	//     "deletePolicy": {
3395	//       "default": "DELETE",
3396	//       "description": "Sets the policy to use for deleting resources.",
3397	//       "enum": [
3398	//         "DELETE",
3399	//         "ABANDON"
3400	//       ],
3401	//       "enumDescriptions": [
3402	//         "",
3403	//         ""
3404	//       ],
3405	//       "location": "query",
3406	//       "type": "string"
3407	//     },
3408	//     "deployment": {
3409	//       "description": "The name of the deployment for this request.",
3410	//       "location": "path",
3411	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
3412	//       "required": true,
3413	//       "type": "string"
3414	//     },
3415	//     "preview": {
3416	//       "default": "false",
3417	//       "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.",
3418	//       "location": "query",
3419	//       "type": "boolean"
3420	//     },
3421	//     "project": {
3422	//       "description": "The project ID for this request.",
3423	//       "location": "path",
3424	//       "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])?))",
3425	//       "required": true,
3426	//       "type": "string"
3427	//     }
3428	//   },
3429	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
3430	//   "request": {
3431	//     "$ref": "Deployment"
3432	//   },
3433	//   "response": {
3434	//     "$ref": "Operation"
3435	//   },
3436	//   "scopes": [
3437	//     "https://www.googleapis.com/auth/cloud-platform",
3438	//     "https://www.googleapis.com/auth/ndev.cloudman"
3439	//   ]
3440	// }
3441
3442}
3443
3444// method id "deploymentmanager.deployments.setIamPolicy":
3445
3446type DeploymentsSetIamPolicyCall struct {
3447	s                      *Service
3448	project                string
3449	resource               string
3450	globalsetpolicyrequest *GlobalSetPolicyRequest
3451	urlParams_             gensupport.URLParams
3452	ctx_                   context.Context
3453	header_                http.Header
3454}
3455
3456// SetIamPolicy: Sets the access control policy on the specified
3457// resource. Replaces any existing policy.
3458//
3459// - project: Project ID for this request.
3460// - resource: Name or id of the resource for this request.
3461func (r *DeploymentsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *DeploymentsSetIamPolicyCall {
3462	c := &DeploymentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3463	c.project = project
3464	c.resource = resource
3465	c.globalsetpolicyrequest = globalsetpolicyrequest
3466	return c
3467}
3468
3469// Fields allows partial responses to be retrieved. See
3470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3471// for more information.
3472func (c *DeploymentsSetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsSetIamPolicyCall {
3473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3474	return c
3475}
3476
3477// Context sets the context to be used in this call's Do method. Any
3478// pending HTTP request will be aborted if the provided context is
3479// canceled.
3480func (c *DeploymentsSetIamPolicyCall) Context(ctx context.Context) *DeploymentsSetIamPolicyCall {
3481	c.ctx_ = ctx
3482	return c
3483}
3484
3485// Header returns an http.Header that can be modified by the caller to
3486// add HTTP headers to the request.
3487func (c *DeploymentsSetIamPolicyCall) Header() http.Header {
3488	if c.header_ == nil {
3489		c.header_ = make(http.Header)
3490	}
3491	return c.header_
3492}
3493
3494func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3495	reqHeaders := make(http.Header)
3496	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
3497	for k, v := range c.header_ {
3498		reqHeaders[k] = v
3499	}
3500	reqHeaders.Set("User-Agent", c.s.userAgent())
3501	var body io.Reader = nil
3502	body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetpolicyrequest)
3503	if err != nil {
3504		return nil, err
3505	}
3506	reqHeaders.Set("Content-Type", "application/json")
3507	c.urlParams_.Set("alt", alt)
3508	c.urlParams_.Set("prettyPrint", "false")
3509	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy")
3510	urls += "?" + c.urlParams_.Encode()
3511	req, err := http.NewRequest("POST", urls, body)
3512	if err != nil {
3513		return nil, err
3514	}
3515	req.Header = reqHeaders
3516	googleapi.Expand(req.URL, map[string]string{
3517		"project":  c.project,
3518		"resource": c.resource,
3519	})
3520	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3521}
3522
3523// Do executes the "deploymentmanager.deployments.setIamPolicy" call.
3524// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3525// code is an error. Response headers are in either
3526// *Policy.ServerResponse.Header or (if a response was returned at all)
3527// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3528// check whether the returned error was because http.StatusNotModified
3529// was returned.
3530func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3531	gensupport.SetOptions(c.urlParams_, opts...)
3532	res, err := c.doRequest("json")
3533	if res != nil && res.StatusCode == http.StatusNotModified {
3534		if res.Body != nil {
3535			res.Body.Close()
3536		}
3537		return nil, &googleapi.Error{
3538			Code:   res.StatusCode,
3539			Header: res.Header,
3540		}
3541	}
3542	if err != nil {
3543		return nil, err
3544	}
3545	defer googleapi.CloseBody(res)
3546	if err := googleapi.CheckResponse(res); err != nil {
3547		return nil, err
3548	}
3549	ret := &Policy{
3550		ServerResponse: googleapi.ServerResponse{
3551			Header:         res.Header,
3552			HTTPStatusCode: res.StatusCode,
3553		},
3554	}
3555	target := &ret
3556	if err := gensupport.DecodeResponse(target, res); err != nil {
3557		return nil, err
3558	}
3559	return ret, nil
3560	// {
3561	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
3562	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy",
3563	//   "httpMethod": "POST",
3564	//   "id": "deploymentmanager.deployments.setIamPolicy",
3565	//   "parameterOrder": [
3566	//     "project",
3567	//     "resource"
3568	//   ],
3569	//   "parameters": {
3570	//     "project": {
3571	//       "description": "Project ID for this request.",
3572	//       "location": "path",
3573	//       "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])?))",
3574	//       "required": true,
3575	//       "type": "string"
3576	//     },
3577	//     "resource": {
3578	//       "description": "Name or id of the resource for this request.",
3579	//       "location": "path",
3580	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
3581	//       "required": true,
3582	//       "type": "string"
3583	//     }
3584	//   },
3585	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy",
3586	//   "request": {
3587	//     "$ref": "GlobalSetPolicyRequest"
3588	//   },
3589	//   "response": {
3590	//     "$ref": "Policy"
3591	//   },
3592	//   "scopes": [
3593	//     "https://www.googleapis.com/auth/cloud-platform",
3594	//     "https://www.googleapis.com/auth/ndev.cloudman"
3595	//   ]
3596	// }
3597
3598}
3599
3600// method id "deploymentmanager.deployments.stop":
3601
3602type DeploymentsStopCall struct {
3603	s                      *Service
3604	project                string
3605	deployment             string
3606	deploymentsstoprequest *DeploymentsStopRequest
3607	urlParams_             gensupport.URLParams
3608	ctx_                   context.Context
3609	header_                http.Header
3610}
3611
3612// Stop: Stops an ongoing operation. This does not roll back any work
3613// that has already been completed, but prevents any new work from being
3614// started.
3615//
3616// - deployment: The name of the deployment for this request.
3617// - project: The project ID for this request.
3618func (r *DeploymentsService) Stop(project string, deployment string, deploymentsstoprequest *DeploymentsStopRequest) *DeploymentsStopCall {
3619	c := &DeploymentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3620	c.project = project
3621	c.deployment = deployment
3622	c.deploymentsstoprequest = deploymentsstoprequest
3623	return c
3624}
3625
3626// Fields allows partial responses to be retrieved. See
3627// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3628// for more information.
3629func (c *DeploymentsStopCall) Fields(s ...googleapi.Field) *DeploymentsStopCall {
3630	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3631	return c
3632}
3633
3634// Context sets the context to be used in this call's Do method. Any
3635// pending HTTP request will be aborted if the provided context is
3636// canceled.
3637func (c *DeploymentsStopCall) Context(ctx context.Context) *DeploymentsStopCall {
3638	c.ctx_ = ctx
3639	return c
3640}
3641
3642// Header returns an http.Header that can be modified by the caller to
3643// add HTTP headers to the request.
3644func (c *DeploymentsStopCall) Header() http.Header {
3645	if c.header_ == nil {
3646		c.header_ = make(http.Header)
3647	}
3648	return c.header_
3649}
3650
3651func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
3652	reqHeaders := make(http.Header)
3653	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
3654	for k, v := range c.header_ {
3655		reqHeaders[k] = v
3656	}
3657	reqHeaders.Set("User-Agent", c.s.userAgent())
3658	var body io.Reader = nil
3659	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentsstoprequest)
3660	if err != nil {
3661		return nil, err
3662	}
3663	reqHeaders.Set("Content-Type", "application/json")
3664	c.urlParams_.Set("alt", alt)
3665	c.urlParams_.Set("prettyPrint", "false")
3666	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop")
3667	urls += "?" + c.urlParams_.Encode()
3668	req, err := http.NewRequest("POST", urls, body)
3669	if err != nil {
3670		return nil, err
3671	}
3672	req.Header = reqHeaders
3673	googleapi.Expand(req.URL, map[string]string{
3674		"project":    c.project,
3675		"deployment": c.deployment,
3676	})
3677	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3678}
3679
3680// Do executes the "deploymentmanager.deployments.stop" call.
3681// Exactly one of *Operation or error will be non-nil. Any non-2xx
3682// status code is an error. Response headers are in either
3683// *Operation.ServerResponse.Header or (if a response was returned at
3684// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3685// to check whether the returned error was because
3686// http.StatusNotModified was returned.
3687func (c *DeploymentsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3688	gensupport.SetOptions(c.urlParams_, opts...)
3689	res, err := c.doRequest("json")
3690	if res != nil && res.StatusCode == http.StatusNotModified {
3691		if res.Body != nil {
3692			res.Body.Close()
3693		}
3694		return nil, &googleapi.Error{
3695			Code:   res.StatusCode,
3696			Header: res.Header,
3697		}
3698	}
3699	if err != nil {
3700		return nil, err
3701	}
3702	defer googleapi.CloseBody(res)
3703	if err := googleapi.CheckResponse(res); err != nil {
3704		return nil, err
3705	}
3706	ret := &Operation{
3707		ServerResponse: googleapi.ServerResponse{
3708			Header:         res.Header,
3709			HTTPStatusCode: res.StatusCode,
3710		},
3711	}
3712	target := &ret
3713	if err := gensupport.DecodeResponse(target, res); err != nil {
3714		return nil, err
3715	}
3716	return ret, nil
3717	// {
3718	//   "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.",
3719	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop",
3720	//   "httpMethod": "POST",
3721	//   "id": "deploymentmanager.deployments.stop",
3722	//   "parameterOrder": [
3723	//     "project",
3724	//     "deployment"
3725	//   ],
3726	//   "parameters": {
3727	//     "deployment": {
3728	//       "description": "The name of the deployment for this request.",
3729	//       "location": "path",
3730	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
3731	//       "required": true,
3732	//       "type": "string"
3733	//     },
3734	//     "project": {
3735	//       "description": "The project ID for this request.",
3736	//       "location": "path",
3737	//       "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
3738	//       "required": true,
3739	//       "type": "string"
3740	//     }
3741	//   },
3742	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop",
3743	//   "request": {
3744	//     "$ref": "DeploymentsStopRequest"
3745	//   },
3746	//   "response": {
3747	//     "$ref": "Operation"
3748	//   },
3749	//   "scopes": [
3750	//     "https://www.googleapis.com/auth/cloud-platform",
3751	//     "https://www.googleapis.com/auth/ndev.cloudman"
3752	//   ]
3753	// }
3754
3755}
3756
3757// method id "deploymentmanager.deployments.testIamPermissions":
3758
3759type DeploymentsTestIamPermissionsCall struct {
3760	s                      *Service
3761	project                string
3762	resource               string
3763	testpermissionsrequest *TestPermissionsRequest
3764	urlParams_             gensupport.URLParams
3765	ctx_                   context.Context
3766	header_                http.Header
3767}
3768
3769// TestIamPermissions: Returns permissions that a caller has on the
3770// specified resource.
3771//
3772// - project: Project ID for this request.
3773// - resource: Name or id of the resource for this request.
3774func (r *DeploymentsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *DeploymentsTestIamPermissionsCall {
3775	c := &DeploymentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3776	c.project = project
3777	c.resource = resource
3778	c.testpermissionsrequest = testpermissionsrequest
3779	return c
3780}
3781
3782// Fields allows partial responses to be retrieved. See
3783// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3784// for more information.
3785func (c *DeploymentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *DeploymentsTestIamPermissionsCall {
3786	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3787	return c
3788}
3789
3790// Context sets the context to be used in this call's Do method. Any
3791// pending HTTP request will be aborted if the provided context is
3792// canceled.
3793func (c *DeploymentsTestIamPermissionsCall) Context(ctx context.Context) *DeploymentsTestIamPermissionsCall {
3794	c.ctx_ = ctx
3795	return c
3796}
3797
3798// Header returns an http.Header that can be modified by the caller to
3799// add HTTP headers to the request.
3800func (c *DeploymentsTestIamPermissionsCall) Header() http.Header {
3801	if c.header_ == nil {
3802		c.header_ = make(http.Header)
3803	}
3804	return c.header_
3805}
3806
3807func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
3808	reqHeaders := make(http.Header)
3809	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
3810	for k, v := range c.header_ {
3811		reqHeaders[k] = v
3812	}
3813	reqHeaders.Set("User-Agent", c.s.userAgent())
3814	var body io.Reader = nil
3815	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest)
3816	if err != nil {
3817		return nil, err
3818	}
3819	reqHeaders.Set("Content-Type", "application/json")
3820	c.urlParams_.Set("alt", alt)
3821	c.urlParams_.Set("prettyPrint", "false")
3822	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions")
3823	urls += "?" + c.urlParams_.Encode()
3824	req, err := http.NewRequest("POST", urls, body)
3825	if err != nil {
3826		return nil, err
3827	}
3828	req.Header = reqHeaders
3829	googleapi.Expand(req.URL, map[string]string{
3830		"project":  c.project,
3831		"resource": c.resource,
3832	})
3833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3834}
3835
3836// Do executes the "deploymentmanager.deployments.testIamPermissions" call.
3837// Exactly one of *TestPermissionsResponse or error will be non-nil. Any
3838// non-2xx status code is an error. Response headers are in either
3839// *TestPermissionsResponse.ServerResponse.Header or (if a response was
3840// returned at all) in error.(*googleapi.Error).Header. Use
3841// googleapi.IsNotModified to check whether the returned error was
3842// because http.StatusNotModified was returned.
3843func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
3844	gensupport.SetOptions(c.urlParams_, opts...)
3845	res, err := c.doRequest("json")
3846	if res != nil && res.StatusCode == http.StatusNotModified {
3847		if res.Body != nil {
3848			res.Body.Close()
3849		}
3850		return nil, &googleapi.Error{
3851			Code:   res.StatusCode,
3852			Header: res.Header,
3853		}
3854	}
3855	if err != nil {
3856		return nil, err
3857	}
3858	defer googleapi.CloseBody(res)
3859	if err := googleapi.CheckResponse(res); err != nil {
3860		return nil, err
3861	}
3862	ret := &TestPermissionsResponse{
3863		ServerResponse: googleapi.ServerResponse{
3864			Header:         res.Header,
3865			HTTPStatusCode: res.StatusCode,
3866		},
3867	}
3868	target := &ret
3869	if err := gensupport.DecodeResponse(target, res); err != nil {
3870		return nil, err
3871	}
3872	return ret, nil
3873	// {
3874	//   "description": "Returns permissions that a caller has on the specified resource.",
3875	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions",
3876	//   "httpMethod": "POST",
3877	//   "id": "deploymentmanager.deployments.testIamPermissions",
3878	//   "parameterOrder": [
3879	//     "project",
3880	//     "resource"
3881	//   ],
3882	//   "parameters": {
3883	//     "project": {
3884	//       "description": "Project ID for this request.",
3885	//       "location": "path",
3886	//       "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])?))",
3887	//       "required": true,
3888	//       "type": "string"
3889	//     },
3890	//     "resource": {
3891	//       "description": "Name or id of the resource for this request.",
3892	//       "location": "path",
3893	//       "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
3894	//       "required": true,
3895	//       "type": "string"
3896	//     }
3897	//   },
3898	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions",
3899	//   "request": {
3900	//     "$ref": "TestPermissionsRequest"
3901	//   },
3902	//   "response": {
3903	//     "$ref": "TestPermissionsResponse"
3904	//   },
3905	//   "scopes": [
3906	//     "https://www.googleapis.com/auth/cloud-platform",
3907	//     "https://www.googleapis.com/auth/ndev.cloudman"
3908	//   ]
3909	// }
3910
3911}
3912
3913// method id "deploymentmanager.deployments.update":
3914
3915type DeploymentsUpdateCall struct {
3916	s           *Service
3917	project     string
3918	deployment  string
3919	deployment2 *Deployment
3920	urlParams_  gensupport.URLParams
3921	ctx_        context.Context
3922	header_     http.Header
3923}
3924
3925// Update: Updates a deployment and all of the resources described by
3926// the deployment manifest.
3927//
3928// - deployment: The name of the deployment for this request.
3929// - project: The project ID for this request.
3930func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
3931	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3932	c.project = project
3933	c.deployment = deployment
3934	c.deployment2 = deployment2
3935	return c
3936}
3937
3938// CreatePolicy sets the optional parameter "createPolicy": Sets the
3939// policy to use for creating new resources.
3940//
3941// Possible values:
3942//   "CREATE_OR_ACQUIRE" (default)
3943//   "ACQUIRE"
3944func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
3945	c.urlParams_.Set("createPolicy", createPolicy)
3946	return c
3947}
3948
3949// DeletePolicy sets the optional parameter "deletePolicy": Sets the
3950// policy to use for deleting resources.
3951//
3952// Possible values:
3953//   "DELETE" (default)
3954//   "ABANDON"
3955func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
3956	c.urlParams_.Set("deletePolicy", deletePolicy)
3957	return c
3958}
3959
3960// Preview sets the optional parameter "preview": If set to true,
3961// updates the deployment and creates and updates the "shell" resources
3962// but does not actually alter or instantiate these resources. This
3963// allows you to preview what your deployment will look like. You can
3964// use this intent to preview how an update would affect your
3965// deployment. You must provide a `target.config` with a configuration
3966// if this is set to true. After previewing a deployment, you can deploy
3967// your resources by making a request with the `update()` or you can
3968// `cancelPreview()` to remove the preview altogether. Note that the
3969// deployment will still exist after you cancel the preview and you must
3970// separately delete this deployment if you want to remove it.
3971func (c *DeploymentsUpdateCall) Preview(preview bool) *DeploymentsUpdateCall {
3972	c.urlParams_.Set("preview", fmt.Sprint(preview))
3973	return c
3974}
3975
3976// Fields allows partial responses to be retrieved. See
3977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3978// for more information.
3979func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
3980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3981	return c
3982}
3983
3984// Context sets the context to be used in this call's Do method. Any
3985// pending HTTP request will be aborted if the provided context is
3986// canceled.
3987func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
3988	c.ctx_ = ctx
3989	return c
3990}
3991
3992// Header returns an http.Header that can be modified by the caller to
3993// add HTTP headers to the request.
3994func (c *DeploymentsUpdateCall) Header() http.Header {
3995	if c.header_ == nil {
3996		c.header_ = make(http.Header)
3997	}
3998	return c.header_
3999}
4000
4001func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
4002	reqHeaders := make(http.Header)
4003	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
4004	for k, v := range c.header_ {
4005		reqHeaders[k] = v
4006	}
4007	reqHeaders.Set("User-Agent", c.s.userAgent())
4008	var body io.Reader = nil
4009	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
4010	if err != nil {
4011		return nil, err
4012	}
4013	reqHeaders.Set("Content-Type", "application/json")
4014	c.urlParams_.Set("alt", alt)
4015	c.urlParams_.Set("prettyPrint", "false")
4016	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}")
4017	urls += "?" + c.urlParams_.Encode()
4018	req, err := http.NewRequest("PUT", urls, body)
4019	if err != nil {
4020		return nil, err
4021	}
4022	req.Header = reqHeaders
4023	googleapi.Expand(req.URL, map[string]string{
4024		"project":    c.project,
4025		"deployment": c.deployment,
4026	})
4027	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4028}
4029
4030// Do executes the "deploymentmanager.deployments.update" call.
4031// Exactly one of *Operation or error will be non-nil. Any non-2xx
4032// status code is an error. Response headers are in either
4033// *Operation.ServerResponse.Header or (if a response was returned at
4034// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4035// to check whether the returned error was because
4036// http.StatusNotModified was returned.
4037func (c *DeploymentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4038	gensupport.SetOptions(c.urlParams_, opts...)
4039	res, err := c.doRequest("json")
4040	if res != nil && res.StatusCode == http.StatusNotModified {
4041		if res.Body != nil {
4042			res.Body.Close()
4043		}
4044		return nil, &googleapi.Error{
4045			Code:   res.StatusCode,
4046			Header: res.Header,
4047		}
4048	}
4049	if err != nil {
4050		return nil, err
4051	}
4052	defer googleapi.CloseBody(res)
4053	if err := googleapi.CheckResponse(res); err != nil {
4054		return nil, err
4055	}
4056	ret := &Operation{
4057		ServerResponse: googleapi.ServerResponse{
4058			Header:         res.Header,
4059			HTTPStatusCode: res.StatusCode,
4060		},
4061	}
4062	target := &ret
4063	if err := gensupport.DecodeResponse(target, res); err != nil {
4064		return nil, err
4065	}
4066	return ret, nil
4067	// {
4068	//   "description": "Updates a deployment and all of the resources described by the deployment manifest.",
4069	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
4070	//   "httpMethod": "PUT",
4071	//   "id": "deploymentmanager.deployments.update",
4072	//   "parameterOrder": [
4073	//     "project",
4074	//     "deployment"
4075	//   ],
4076	//   "parameters": {
4077	//     "createPolicy": {
4078	//       "default": "CREATE_OR_ACQUIRE",
4079	//       "description": "Sets the policy to use for creating new resources.",
4080	//       "enum": [
4081	//         "CREATE_OR_ACQUIRE",
4082	//         "ACQUIRE"
4083	//       ],
4084	//       "enumDescriptions": [
4085	//         "",
4086	//         ""
4087	//       ],
4088	//       "location": "query",
4089	//       "type": "string"
4090	//     },
4091	//     "deletePolicy": {
4092	//       "default": "DELETE",
4093	//       "description": "Sets the policy to use for deleting resources.",
4094	//       "enum": [
4095	//         "DELETE",
4096	//         "ABANDON"
4097	//       ],
4098	//       "enumDescriptions": [
4099	//         "",
4100	//         ""
4101	//       ],
4102	//       "location": "query",
4103	//       "type": "string"
4104	//     },
4105	//     "deployment": {
4106	//       "description": "The name of the deployment for this request.",
4107	//       "location": "path",
4108	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4109	//       "required": true,
4110	//       "type": "string"
4111	//     },
4112	//     "preview": {
4113	//       "default": "false",
4114	//       "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.",
4115	//       "location": "query",
4116	//       "type": "boolean"
4117	//     },
4118	//     "project": {
4119	//       "description": "The project ID for this request.",
4120	//       "location": "path",
4121	//       "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])?))",
4122	//       "required": true,
4123	//       "type": "string"
4124	//     }
4125	//   },
4126	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}",
4127	//   "request": {
4128	//     "$ref": "Deployment"
4129	//   },
4130	//   "response": {
4131	//     "$ref": "Operation"
4132	//   },
4133	//   "scopes": [
4134	//     "https://www.googleapis.com/auth/cloud-platform",
4135	//     "https://www.googleapis.com/auth/ndev.cloudman"
4136	//   ]
4137	// }
4138
4139}
4140
4141// method id "deploymentmanager.manifests.get":
4142
4143type ManifestsGetCall struct {
4144	s            *Service
4145	project      string
4146	deployment   string
4147	manifest     string
4148	urlParams_   gensupport.URLParams
4149	ifNoneMatch_ string
4150	ctx_         context.Context
4151	header_      http.Header
4152}
4153
4154// Get: Gets information about a specific manifest.
4155//
4156// - deployment: The name of the deployment for this request.
4157// - manifest: The name of the manifest for this request.
4158// - project: The project ID for this request.
4159func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
4160	c := &ManifestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4161	c.project = project
4162	c.deployment = deployment
4163	c.manifest = manifest
4164	return c
4165}
4166
4167// Fields allows partial responses to be retrieved. See
4168// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4169// for more information.
4170func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
4171	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4172	return c
4173}
4174
4175// IfNoneMatch sets the optional parameter which makes the operation
4176// fail if the object's ETag matches the given value. This is useful for
4177// getting updates only after the object has changed since the last
4178// request. Use googleapi.IsNotModified to check whether the response
4179// error from Do is the result of In-None-Match.
4180func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
4181	c.ifNoneMatch_ = entityTag
4182	return c
4183}
4184
4185// Context sets the context to be used in this call's Do method. Any
4186// pending HTTP request will be aborted if the provided context is
4187// canceled.
4188func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
4189	c.ctx_ = ctx
4190	return c
4191}
4192
4193// Header returns an http.Header that can be modified by the caller to
4194// add HTTP headers to the request.
4195func (c *ManifestsGetCall) Header() http.Header {
4196	if c.header_ == nil {
4197		c.header_ = make(http.Header)
4198	}
4199	return c.header_
4200}
4201
4202func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
4203	reqHeaders := make(http.Header)
4204	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
4205	for k, v := range c.header_ {
4206		reqHeaders[k] = v
4207	}
4208	reqHeaders.Set("User-Agent", c.s.userAgent())
4209	if c.ifNoneMatch_ != "" {
4210		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4211	}
4212	var body io.Reader = nil
4213	c.urlParams_.Set("alt", alt)
4214	c.urlParams_.Set("prettyPrint", "false")
4215	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}")
4216	urls += "?" + c.urlParams_.Encode()
4217	req, err := http.NewRequest("GET", urls, body)
4218	if err != nil {
4219		return nil, err
4220	}
4221	req.Header = reqHeaders
4222	googleapi.Expand(req.URL, map[string]string{
4223		"project":    c.project,
4224		"deployment": c.deployment,
4225		"manifest":   c.manifest,
4226	})
4227	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4228}
4229
4230// Do executes the "deploymentmanager.manifests.get" call.
4231// Exactly one of *Manifest or error will be non-nil. Any non-2xx status
4232// code is an error. Response headers are in either
4233// *Manifest.ServerResponse.Header or (if a response was returned at
4234// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4235// to check whether the returned error was because
4236// http.StatusNotModified was returned.
4237func (c *ManifestsGetCall) Do(opts ...googleapi.CallOption) (*Manifest, error) {
4238	gensupport.SetOptions(c.urlParams_, opts...)
4239	res, err := c.doRequest("json")
4240	if res != nil && res.StatusCode == http.StatusNotModified {
4241		if res.Body != nil {
4242			res.Body.Close()
4243		}
4244		return nil, &googleapi.Error{
4245			Code:   res.StatusCode,
4246			Header: res.Header,
4247		}
4248	}
4249	if err != nil {
4250		return nil, err
4251	}
4252	defer googleapi.CloseBody(res)
4253	if err := googleapi.CheckResponse(res); err != nil {
4254		return nil, err
4255	}
4256	ret := &Manifest{
4257		ServerResponse: googleapi.ServerResponse{
4258			Header:         res.Header,
4259			HTTPStatusCode: res.StatusCode,
4260		},
4261	}
4262	target := &ret
4263	if err := gensupport.DecodeResponse(target, res); err != nil {
4264		return nil, err
4265	}
4266	return ret, nil
4267	// {
4268	//   "description": "Gets information about a specific manifest.",
4269	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}",
4270	//   "httpMethod": "GET",
4271	//   "id": "deploymentmanager.manifests.get",
4272	//   "parameterOrder": [
4273	//     "project",
4274	//     "deployment",
4275	//     "manifest"
4276	//   ],
4277	//   "parameters": {
4278	//     "deployment": {
4279	//       "description": "The name of the deployment for this request.",
4280	//       "location": "path",
4281	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4282	//       "required": true,
4283	//       "type": "string"
4284	//     },
4285	//     "manifest": {
4286	//       "description": "The name of the manifest for this request.",
4287	//       "location": "path",
4288	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4289	//       "required": true,
4290	//       "type": "string"
4291	//     },
4292	//     "project": {
4293	//       "description": "The project ID for this request.",
4294	//       "location": "path",
4295	//       "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])?))",
4296	//       "required": true,
4297	//       "type": "string"
4298	//     }
4299	//   },
4300	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}",
4301	//   "response": {
4302	//     "$ref": "Manifest"
4303	//   },
4304	//   "scopes": [
4305	//     "https://www.googleapis.com/auth/cloud-platform",
4306	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4307	//     "https://www.googleapis.com/auth/ndev.cloudman",
4308	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4309	//   ]
4310	// }
4311
4312}
4313
4314// method id "deploymentmanager.manifests.list":
4315
4316type ManifestsListCall struct {
4317	s            *Service
4318	project      string
4319	deployment   string
4320	urlParams_   gensupport.URLParams
4321	ifNoneMatch_ string
4322	ctx_         context.Context
4323	header_      http.Header
4324}
4325
4326// List: Lists all manifests for a given deployment.
4327//
4328// - deployment: The name of the deployment for this request.
4329// - project: The project ID for this request.
4330func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
4331	c := &ManifestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4332	c.project = project
4333	c.deployment = deployment
4334	return c
4335}
4336
4337// Filter sets the optional parameter "filter": A filter expression that
4338// filters resources listed in the response. The expression must specify
4339// the field name, a comparison operator, and the value that you want to
4340// use for filtering. The value must be a string, a number, or a
4341// boolean. The comparison operator must be either `=`, `!=`, `>`, or
4342// `<`. For example, if you are filtering Compute Engine instances, you
4343// can exclude instances named `example-instance` by specifying `name !=
4344// example-instance`. You can also filter nested fields. For example,
4345// you could specify `scheduling.automaticRestart = false` to include
4346// instances only if they are not scheduled for automatic restarts. You
4347// can use filtering on nested fields to filter based on resource
4348// labels. To filter on multiple expressions, provide each separate
4349// expression within parentheses. For example: ```
4350// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
4351// ``` By default, each expression is an `AND` expression. However, you
4352// can include `AND` and `OR` expressions explicitly. For example: ```
4353// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
4354// AND (scheduling.automaticRestart = true) ```
4355func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
4356	c.urlParams_.Set("filter", filter)
4357	return c
4358}
4359
4360// MaxResults sets the optional parameter "maxResults": The maximum
4361// number of results per page that should be returned. If the number of
4362// available results is larger than `maxResults`, Compute Engine returns
4363// a `nextPageToken` that can be used to get the next page of results in
4364// subsequent list requests. Acceptable values are `0` to `500`,
4365// inclusive. (Default: `500`)
4366func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
4367	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
4368	return c
4369}
4370
4371// OrderBy sets the optional parameter "orderBy": Sorts list results by
4372// a certain order. By default, results are returned in alphanumerical
4373// order based on the resource name. You can also sort results in
4374// descending order based on the creation timestamp using
4375// `orderBy="creationTimestamp desc". This sorts results based on the
4376// `creationTimestamp` field in reverse chronological order (newest
4377// result first). Use this to sort resources like operations so that the
4378// newest operation is returned first. Currently, only sorting by `name`
4379// or `creationTimestamp desc` is supported.
4380func (c *ManifestsListCall) OrderBy(orderBy string) *ManifestsListCall {
4381	c.urlParams_.Set("orderBy", orderBy)
4382	return c
4383}
4384
4385// PageToken sets the optional parameter "pageToken": Specifies a page
4386// token to use. Set `pageToken` to the `nextPageToken` returned by a
4387// previous list request to get the next page of results.
4388func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
4389	c.urlParams_.Set("pageToken", pageToken)
4390	return c
4391}
4392
4393// Fields allows partial responses to be retrieved. See
4394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4395// for more information.
4396func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
4397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4398	return c
4399}
4400
4401// IfNoneMatch sets the optional parameter which makes the operation
4402// fail if the object's ETag matches the given value. This is useful for
4403// getting updates only after the object has changed since the last
4404// request. Use googleapi.IsNotModified to check whether the response
4405// error from Do is the result of In-None-Match.
4406func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
4407	c.ifNoneMatch_ = entityTag
4408	return c
4409}
4410
4411// Context sets the context to be used in this call's Do method. Any
4412// pending HTTP request will be aborted if the provided context is
4413// canceled.
4414func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
4415	c.ctx_ = ctx
4416	return c
4417}
4418
4419// Header returns an http.Header that can be modified by the caller to
4420// add HTTP headers to the request.
4421func (c *ManifestsListCall) Header() http.Header {
4422	if c.header_ == nil {
4423		c.header_ = make(http.Header)
4424	}
4425	return c.header_
4426}
4427
4428func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
4429	reqHeaders := make(http.Header)
4430	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
4431	for k, v := range c.header_ {
4432		reqHeaders[k] = v
4433	}
4434	reqHeaders.Set("User-Agent", c.s.userAgent())
4435	if c.ifNoneMatch_ != "" {
4436		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4437	}
4438	var body io.Reader = nil
4439	c.urlParams_.Set("alt", alt)
4440	c.urlParams_.Set("prettyPrint", "false")
4441	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests")
4442	urls += "?" + c.urlParams_.Encode()
4443	req, err := http.NewRequest("GET", urls, body)
4444	if err != nil {
4445		return nil, err
4446	}
4447	req.Header = reqHeaders
4448	googleapi.Expand(req.URL, map[string]string{
4449		"project":    c.project,
4450		"deployment": c.deployment,
4451	})
4452	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4453}
4454
4455// Do executes the "deploymentmanager.manifests.list" call.
4456// Exactly one of *ManifestsListResponse or error will be non-nil. Any
4457// non-2xx status code is an error. Response headers are in either
4458// *ManifestsListResponse.ServerResponse.Header or (if a response was
4459// returned at all) in error.(*googleapi.Error).Header. Use
4460// googleapi.IsNotModified to check whether the returned error was
4461// because http.StatusNotModified was returned.
4462func (c *ManifestsListCall) Do(opts ...googleapi.CallOption) (*ManifestsListResponse, error) {
4463	gensupport.SetOptions(c.urlParams_, opts...)
4464	res, err := c.doRequest("json")
4465	if res != nil && res.StatusCode == http.StatusNotModified {
4466		if res.Body != nil {
4467			res.Body.Close()
4468		}
4469		return nil, &googleapi.Error{
4470			Code:   res.StatusCode,
4471			Header: res.Header,
4472		}
4473	}
4474	if err != nil {
4475		return nil, err
4476	}
4477	defer googleapi.CloseBody(res)
4478	if err := googleapi.CheckResponse(res); err != nil {
4479		return nil, err
4480	}
4481	ret := &ManifestsListResponse{
4482		ServerResponse: googleapi.ServerResponse{
4483			Header:         res.Header,
4484			HTTPStatusCode: res.StatusCode,
4485		},
4486	}
4487	target := &ret
4488	if err := gensupport.DecodeResponse(target, res); err != nil {
4489		return nil, err
4490	}
4491	return ret, nil
4492	// {
4493	//   "description": "Lists all manifests for a given deployment.",
4494	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests",
4495	//   "httpMethod": "GET",
4496	//   "id": "deploymentmanager.manifests.list",
4497	//   "parameterOrder": [
4498	//     "project",
4499	//     "deployment"
4500	//   ],
4501	//   "parameters": {
4502	//     "deployment": {
4503	//       "description": "The name of the deployment for this request.",
4504	//       "location": "path",
4505	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
4506	//       "required": true,
4507	//       "type": "string"
4508	//     },
4509	//     "filter": {
4510	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
4511	//       "location": "query",
4512	//       "type": "string"
4513	//     },
4514	//     "maxResults": {
4515	//       "default": "500",
4516	//       "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`)",
4517	//       "format": "uint32",
4518	//       "location": "query",
4519	//       "minimum": "0",
4520	//       "type": "integer"
4521	//     },
4522	//     "orderBy": {
4523	//       "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.",
4524	//       "location": "query",
4525	//       "type": "string"
4526	//     },
4527	//     "pageToken": {
4528	//       "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.",
4529	//       "location": "query",
4530	//       "type": "string"
4531	//     },
4532	//     "project": {
4533	//       "description": "The project ID for this request.",
4534	//       "location": "path",
4535	//       "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])?))",
4536	//       "required": true,
4537	//       "type": "string"
4538	//     }
4539	//   },
4540	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests",
4541	//   "response": {
4542	//     "$ref": "ManifestsListResponse"
4543	//   },
4544	//   "scopes": [
4545	//     "https://www.googleapis.com/auth/cloud-platform",
4546	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4547	//     "https://www.googleapis.com/auth/ndev.cloudman",
4548	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4549	//   ]
4550	// }
4551
4552}
4553
4554// Pages invokes f for each page of results.
4555// A non-nil error returned from f will halt the iteration.
4556// The provided context supersedes any context provided to the Context method.
4557func (c *ManifestsListCall) Pages(ctx context.Context, f func(*ManifestsListResponse) error) error {
4558	c.ctx_ = ctx
4559	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4560	for {
4561		x, err := c.Do()
4562		if err != nil {
4563			return err
4564		}
4565		if err := f(x); err != nil {
4566			return err
4567		}
4568		if x.NextPageToken == "" {
4569			return nil
4570		}
4571		c.PageToken(x.NextPageToken)
4572	}
4573}
4574
4575// method id "deploymentmanager.operations.get":
4576
4577type OperationsGetCall struct {
4578	s            *Service
4579	project      string
4580	operation    string
4581	urlParams_   gensupport.URLParams
4582	ifNoneMatch_ string
4583	ctx_         context.Context
4584	header_      http.Header
4585}
4586
4587// Get: Gets information about a specific operation.
4588//
4589// - operation: The name of the operation for this request.
4590// - project: The project ID for this request.
4591func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
4592	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4593	c.project = project
4594	c.operation = operation
4595	return c
4596}
4597
4598// Fields allows partial responses to be retrieved. See
4599// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4600// for more information.
4601func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
4602	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4603	return c
4604}
4605
4606// IfNoneMatch sets the optional parameter which makes the operation
4607// fail if the object's ETag matches the given value. This is useful for
4608// getting updates only after the object has changed since the last
4609// request. Use googleapi.IsNotModified to check whether the response
4610// error from Do is the result of In-None-Match.
4611func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
4612	c.ifNoneMatch_ = entityTag
4613	return c
4614}
4615
4616// Context sets the context to be used in this call's Do method. Any
4617// pending HTTP request will be aborted if the provided context is
4618// canceled.
4619func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
4620	c.ctx_ = ctx
4621	return c
4622}
4623
4624// Header returns an http.Header that can be modified by the caller to
4625// add HTTP headers to the request.
4626func (c *OperationsGetCall) Header() http.Header {
4627	if c.header_ == nil {
4628		c.header_ = make(http.Header)
4629	}
4630	return c.header_
4631}
4632
4633func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
4634	reqHeaders := make(http.Header)
4635	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
4636	for k, v := range c.header_ {
4637		reqHeaders[k] = v
4638	}
4639	reqHeaders.Set("User-Agent", c.s.userAgent())
4640	if c.ifNoneMatch_ != "" {
4641		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4642	}
4643	var body io.Reader = nil
4644	c.urlParams_.Set("alt", alt)
4645	c.urlParams_.Set("prettyPrint", "false")
4646	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/operations/{operation}")
4647	urls += "?" + c.urlParams_.Encode()
4648	req, err := http.NewRequest("GET", urls, body)
4649	if err != nil {
4650		return nil, err
4651	}
4652	req.Header = reqHeaders
4653	googleapi.Expand(req.URL, map[string]string{
4654		"project":   c.project,
4655		"operation": c.operation,
4656	})
4657	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4658}
4659
4660// Do executes the "deploymentmanager.operations.get" call.
4661// Exactly one of *Operation or error will be non-nil. Any non-2xx
4662// status code is an error. Response headers are in either
4663// *Operation.ServerResponse.Header or (if a response was returned at
4664// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4665// to check whether the returned error was because
4666// http.StatusNotModified was returned.
4667func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4668	gensupport.SetOptions(c.urlParams_, opts...)
4669	res, err := c.doRequest("json")
4670	if res != nil && res.StatusCode == http.StatusNotModified {
4671		if res.Body != nil {
4672			res.Body.Close()
4673		}
4674		return nil, &googleapi.Error{
4675			Code:   res.StatusCode,
4676			Header: res.Header,
4677		}
4678	}
4679	if err != nil {
4680		return nil, err
4681	}
4682	defer googleapi.CloseBody(res)
4683	if err := googleapi.CheckResponse(res); err != nil {
4684		return nil, err
4685	}
4686	ret := &Operation{
4687		ServerResponse: googleapi.ServerResponse{
4688			Header:         res.Header,
4689			HTTPStatusCode: res.StatusCode,
4690		},
4691	}
4692	target := &ret
4693	if err := gensupport.DecodeResponse(target, res); err != nil {
4694		return nil, err
4695	}
4696	return ret, nil
4697	// {
4698	//   "description": "Gets information about a specific operation.",
4699	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/operations/{operation}",
4700	//   "httpMethod": "GET",
4701	//   "id": "deploymentmanager.operations.get",
4702	//   "parameterOrder": [
4703	//     "project",
4704	//     "operation"
4705	//   ],
4706	//   "parameters": {
4707	//     "operation": {
4708	//       "description": "The name of the operation for this request.",
4709	//       "location": "path",
4710	//       "required": true,
4711	//       "type": "string"
4712	//     },
4713	//     "project": {
4714	//       "description": "The project ID for this request.",
4715	//       "location": "path",
4716	//       "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])?))",
4717	//       "required": true,
4718	//       "type": "string"
4719	//     }
4720	//   },
4721	//   "path": "deploymentmanager/v2/projects/{project}/global/operations/{operation}",
4722	//   "response": {
4723	//     "$ref": "Operation"
4724	//   },
4725	//   "scopes": [
4726	//     "https://www.googleapis.com/auth/cloud-platform",
4727	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4728	//     "https://www.googleapis.com/auth/ndev.cloudman",
4729	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4730	//   ]
4731	// }
4732
4733}
4734
4735// method id "deploymentmanager.operations.list":
4736
4737type OperationsListCall struct {
4738	s            *Service
4739	project      string
4740	urlParams_   gensupport.URLParams
4741	ifNoneMatch_ string
4742	ctx_         context.Context
4743	header_      http.Header
4744}
4745
4746// List: Lists all operations for a project.
4747//
4748// - project: The project ID for this request.
4749func (r *OperationsService) List(project string) *OperationsListCall {
4750	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4751	c.project = project
4752	return c
4753}
4754
4755// Filter sets the optional parameter "filter": A filter expression that
4756// filters resources listed in the response. The expression must specify
4757// the field name, a comparison operator, and the value that you want to
4758// use for filtering. The value must be a string, a number, or a
4759// boolean. The comparison operator must be either `=`, `!=`, `>`, or
4760// `<`. For example, if you are filtering Compute Engine instances, you
4761// can exclude instances named `example-instance` by specifying `name !=
4762// example-instance`. You can also filter nested fields. For example,
4763// you could specify `scheduling.automaticRestart = false` to include
4764// instances only if they are not scheduled for automatic restarts. You
4765// can use filtering on nested fields to filter based on resource
4766// labels. To filter on multiple expressions, provide each separate
4767// expression within parentheses. For example: ```
4768// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
4769// ``` By default, each expression is an `AND` expression. However, you
4770// can include `AND` and `OR` expressions explicitly. For example: ```
4771// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
4772// AND (scheduling.automaticRestart = true) ```
4773func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
4774	c.urlParams_.Set("filter", filter)
4775	return c
4776}
4777
4778// MaxResults sets the optional parameter "maxResults": The maximum
4779// number of results per page that should be returned. If the number of
4780// available results is larger than `maxResults`, Compute Engine returns
4781// a `nextPageToken` that can be used to get the next page of results in
4782// subsequent list requests. Acceptable values are `0` to `500`,
4783// inclusive. (Default: `500`)
4784func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
4785	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
4786	return c
4787}
4788
4789// OrderBy sets the optional parameter "orderBy": Sorts list results by
4790// a certain order. By default, results are returned in alphanumerical
4791// order based on the resource name. You can also sort results in
4792// descending order based on the creation timestamp using
4793// `orderBy="creationTimestamp desc". This sorts results based on the
4794// `creationTimestamp` field in reverse chronological order (newest
4795// result first). Use this to sort resources like operations so that the
4796// newest operation is returned first. Currently, only sorting by `name`
4797// or `creationTimestamp desc` is supported.
4798func (c *OperationsListCall) OrderBy(orderBy string) *OperationsListCall {
4799	c.urlParams_.Set("orderBy", orderBy)
4800	return c
4801}
4802
4803// PageToken sets the optional parameter "pageToken": Specifies a page
4804// token to use. Set `pageToken` to the `nextPageToken` returned by a
4805// previous list request to get the next page of results.
4806func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
4807	c.urlParams_.Set("pageToken", pageToken)
4808	return c
4809}
4810
4811// Fields allows partial responses to be retrieved. See
4812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4813// for more information.
4814func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
4815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4816	return c
4817}
4818
4819// IfNoneMatch sets the optional parameter which makes the operation
4820// fail if the object's ETag matches the given value. This is useful for
4821// getting updates only after the object has changed since the last
4822// request. Use googleapi.IsNotModified to check whether the response
4823// error from Do is the result of In-None-Match.
4824func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
4825	c.ifNoneMatch_ = entityTag
4826	return c
4827}
4828
4829// Context sets the context to be used in this call's Do method. Any
4830// pending HTTP request will be aborted if the provided context is
4831// canceled.
4832func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
4833	c.ctx_ = ctx
4834	return c
4835}
4836
4837// Header returns an http.Header that can be modified by the caller to
4838// add HTTP headers to the request.
4839func (c *OperationsListCall) Header() http.Header {
4840	if c.header_ == nil {
4841		c.header_ = make(http.Header)
4842	}
4843	return c.header_
4844}
4845
4846func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
4847	reqHeaders := make(http.Header)
4848	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
4849	for k, v := range c.header_ {
4850		reqHeaders[k] = v
4851	}
4852	reqHeaders.Set("User-Agent", c.s.userAgent())
4853	if c.ifNoneMatch_ != "" {
4854		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4855	}
4856	var body io.Reader = nil
4857	c.urlParams_.Set("alt", alt)
4858	c.urlParams_.Set("prettyPrint", "false")
4859	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/operations")
4860	urls += "?" + c.urlParams_.Encode()
4861	req, err := http.NewRequest("GET", urls, body)
4862	if err != nil {
4863		return nil, err
4864	}
4865	req.Header = reqHeaders
4866	googleapi.Expand(req.URL, map[string]string{
4867		"project": c.project,
4868	})
4869	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4870}
4871
4872// Do executes the "deploymentmanager.operations.list" call.
4873// Exactly one of *OperationsListResponse or error will be non-nil. Any
4874// non-2xx status code is an error. Response headers are in either
4875// *OperationsListResponse.ServerResponse.Header or (if a response was
4876// returned at all) in error.(*googleapi.Error).Header. Use
4877// googleapi.IsNotModified to check whether the returned error was
4878// because http.StatusNotModified was returned.
4879func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*OperationsListResponse, error) {
4880	gensupport.SetOptions(c.urlParams_, opts...)
4881	res, err := c.doRequest("json")
4882	if res != nil && res.StatusCode == http.StatusNotModified {
4883		if res.Body != nil {
4884			res.Body.Close()
4885		}
4886		return nil, &googleapi.Error{
4887			Code:   res.StatusCode,
4888			Header: res.Header,
4889		}
4890	}
4891	if err != nil {
4892		return nil, err
4893	}
4894	defer googleapi.CloseBody(res)
4895	if err := googleapi.CheckResponse(res); err != nil {
4896		return nil, err
4897	}
4898	ret := &OperationsListResponse{
4899		ServerResponse: googleapi.ServerResponse{
4900			Header:         res.Header,
4901			HTTPStatusCode: res.StatusCode,
4902		},
4903	}
4904	target := &ret
4905	if err := gensupport.DecodeResponse(target, res); err != nil {
4906		return nil, err
4907	}
4908	return ret, nil
4909	// {
4910	//   "description": "Lists all operations for a project.",
4911	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/operations",
4912	//   "httpMethod": "GET",
4913	//   "id": "deploymentmanager.operations.list",
4914	//   "parameterOrder": [
4915	//     "project"
4916	//   ],
4917	//   "parameters": {
4918	//     "filter": {
4919	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
4920	//       "location": "query",
4921	//       "type": "string"
4922	//     },
4923	//     "maxResults": {
4924	//       "default": "500",
4925	//       "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`)",
4926	//       "format": "uint32",
4927	//       "location": "query",
4928	//       "minimum": "0",
4929	//       "type": "integer"
4930	//     },
4931	//     "orderBy": {
4932	//       "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.",
4933	//       "location": "query",
4934	//       "type": "string"
4935	//     },
4936	//     "pageToken": {
4937	//       "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.",
4938	//       "location": "query",
4939	//       "type": "string"
4940	//     },
4941	//     "project": {
4942	//       "description": "The project ID for this request.",
4943	//       "location": "path",
4944	//       "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])?))",
4945	//       "required": true,
4946	//       "type": "string"
4947	//     }
4948	//   },
4949	//   "path": "deploymentmanager/v2/projects/{project}/global/operations",
4950	//   "response": {
4951	//     "$ref": "OperationsListResponse"
4952	//   },
4953	//   "scopes": [
4954	//     "https://www.googleapis.com/auth/cloud-platform",
4955	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
4956	//     "https://www.googleapis.com/auth/ndev.cloudman",
4957	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
4958	//   ]
4959	// }
4960
4961}
4962
4963// Pages invokes f for each page of results.
4964// A non-nil error returned from f will halt the iteration.
4965// The provided context supersedes any context provided to the Context method.
4966func (c *OperationsListCall) Pages(ctx context.Context, f func(*OperationsListResponse) error) error {
4967	c.ctx_ = ctx
4968	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4969	for {
4970		x, err := c.Do()
4971		if err != nil {
4972			return err
4973		}
4974		if err := f(x); err != nil {
4975			return err
4976		}
4977		if x.NextPageToken == "" {
4978			return nil
4979		}
4980		c.PageToken(x.NextPageToken)
4981	}
4982}
4983
4984// method id "deploymentmanager.resources.get":
4985
4986type ResourcesGetCall struct {
4987	s            *Service
4988	project      string
4989	deployment   string
4990	resource     string
4991	urlParams_   gensupport.URLParams
4992	ifNoneMatch_ string
4993	ctx_         context.Context
4994	header_      http.Header
4995}
4996
4997// Get: Gets information about a single resource.
4998//
4999// - deployment: The name of the deployment for this request.
5000// - project: The project ID for this request.
5001// - resource: The name of the resource for this request.
5002func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
5003	c := &ResourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5004	c.project = project
5005	c.deployment = deployment
5006	c.resource = resource
5007	return c
5008}
5009
5010// Fields allows partial responses to be retrieved. See
5011// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5012// for more information.
5013func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
5014	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5015	return c
5016}
5017
5018// IfNoneMatch sets the optional parameter which makes the operation
5019// fail if the object's ETag matches the given value. This is useful for
5020// getting updates only after the object has changed since the last
5021// request. Use googleapi.IsNotModified to check whether the response
5022// error from Do is the result of In-None-Match.
5023func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
5024	c.ifNoneMatch_ = entityTag
5025	return c
5026}
5027
5028// Context sets the context to be used in this call's Do method. Any
5029// pending HTTP request will be aborted if the provided context is
5030// canceled.
5031func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
5032	c.ctx_ = ctx
5033	return c
5034}
5035
5036// Header returns an http.Header that can be modified by the caller to
5037// add HTTP headers to the request.
5038func (c *ResourcesGetCall) Header() http.Header {
5039	if c.header_ == nil {
5040		c.header_ = make(http.Header)
5041	}
5042	return c.header_
5043}
5044
5045func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
5046	reqHeaders := make(http.Header)
5047	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
5048	for k, v := range c.header_ {
5049		reqHeaders[k] = v
5050	}
5051	reqHeaders.Set("User-Agent", c.s.userAgent())
5052	if c.ifNoneMatch_ != "" {
5053		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5054	}
5055	var body io.Reader = nil
5056	c.urlParams_.Set("alt", alt)
5057	c.urlParams_.Set("prettyPrint", "false")
5058	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}")
5059	urls += "?" + c.urlParams_.Encode()
5060	req, err := http.NewRequest("GET", urls, body)
5061	if err != nil {
5062		return nil, err
5063	}
5064	req.Header = reqHeaders
5065	googleapi.Expand(req.URL, map[string]string{
5066		"project":    c.project,
5067		"deployment": c.deployment,
5068		"resource":   c.resource,
5069	})
5070	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5071}
5072
5073// Do executes the "deploymentmanager.resources.get" call.
5074// Exactly one of *Resource or error will be non-nil. Any non-2xx status
5075// code is an error. Response headers are in either
5076// *Resource.ServerResponse.Header or (if a response was returned at
5077// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5078// to check whether the returned error was because
5079// http.StatusNotModified was returned.
5080func (c *ResourcesGetCall) Do(opts ...googleapi.CallOption) (*Resource, error) {
5081	gensupport.SetOptions(c.urlParams_, opts...)
5082	res, err := c.doRequest("json")
5083	if res != nil && res.StatusCode == http.StatusNotModified {
5084		if res.Body != nil {
5085			res.Body.Close()
5086		}
5087		return nil, &googleapi.Error{
5088			Code:   res.StatusCode,
5089			Header: res.Header,
5090		}
5091	}
5092	if err != nil {
5093		return nil, err
5094	}
5095	defer googleapi.CloseBody(res)
5096	if err := googleapi.CheckResponse(res); err != nil {
5097		return nil, err
5098	}
5099	ret := &Resource{
5100		ServerResponse: googleapi.ServerResponse{
5101			Header:         res.Header,
5102			HTTPStatusCode: res.StatusCode,
5103		},
5104	}
5105	target := &ret
5106	if err := gensupport.DecodeResponse(target, res); err != nil {
5107		return nil, err
5108	}
5109	return ret, nil
5110	// {
5111	//   "description": "Gets information about a single resource.",
5112	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}",
5113	//   "httpMethod": "GET",
5114	//   "id": "deploymentmanager.resources.get",
5115	//   "parameterOrder": [
5116	//     "project",
5117	//     "deployment",
5118	//     "resource"
5119	//   ],
5120	//   "parameters": {
5121	//     "deployment": {
5122	//       "description": "The name of the deployment for this request.",
5123	//       "location": "path",
5124	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5125	//       "required": true,
5126	//       "type": "string"
5127	//     },
5128	//     "project": {
5129	//       "description": "The project ID for this request.",
5130	//       "location": "path",
5131	//       "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])?))",
5132	//       "required": true,
5133	//       "type": "string"
5134	//     },
5135	//     "resource": {
5136	//       "description": "The name of the resource for this request.",
5137	//       "location": "path",
5138	//       "required": true,
5139	//       "type": "string"
5140	//     }
5141	//   },
5142	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}",
5143	//   "response": {
5144	//     "$ref": "Resource"
5145	//   },
5146	//   "scopes": [
5147	//     "https://www.googleapis.com/auth/cloud-platform",
5148	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
5149	//     "https://www.googleapis.com/auth/ndev.cloudman",
5150	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
5151	//   ]
5152	// }
5153
5154}
5155
5156// method id "deploymentmanager.resources.list":
5157
5158type ResourcesListCall struct {
5159	s            *Service
5160	project      string
5161	deployment   string
5162	urlParams_   gensupport.URLParams
5163	ifNoneMatch_ string
5164	ctx_         context.Context
5165	header_      http.Header
5166}
5167
5168// List: Lists all resources in a given deployment.
5169//
5170// - deployment: The name of the deployment for this request.
5171// - project: The project ID for this request.
5172func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
5173	c := &ResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5174	c.project = project
5175	c.deployment = deployment
5176	return c
5177}
5178
5179// Filter sets the optional parameter "filter": A filter expression that
5180// filters resources listed in the response. The expression must specify
5181// the field name, a comparison operator, and the value that you want to
5182// use for filtering. The value must be a string, a number, or a
5183// boolean. The comparison operator must be either `=`, `!=`, `>`, or
5184// `<`. For example, if you are filtering Compute Engine instances, you
5185// can exclude instances named `example-instance` by specifying `name !=
5186// example-instance`. You can also filter nested fields. For example,
5187// you could specify `scheduling.automaticRestart = false` to include
5188// instances only if they are not scheduled for automatic restarts. You
5189// can use filtering on nested fields to filter based on resource
5190// labels. To filter on multiple expressions, provide each separate
5191// expression within parentheses. For example: ```
5192// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
5193// ``` By default, each expression is an `AND` expression. However, you
5194// can include `AND` and `OR` expressions explicitly. For example: ```
5195// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
5196// AND (scheduling.automaticRestart = true) ```
5197func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
5198	c.urlParams_.Set("filter", filter)
5199	return c
5200}
5201
5202// MaxResults sets the optional parameter "maxResults": The maximum
5203// number of results per page that should be returned. If the number of
5204// available results is larger than `maxResults`, Compute Engine returns
5205// a `nextPageToken` that can be used to get the next page of results in
5206// subsequent list requests. Acceptable values are `0` to `500`,
5207// inclusive. (Default: `500`)
5208func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
5209	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
5210	return c
5211}
5212
5213// OrderBy sets the optional parameter "orderBy": Sorts list results by
5214// a certain order. By default, results are returned in alphanumerical
5215// order based on the resource name. You can also sort results in
5216// descending order based on the creation timestamp using
5217// `orderBy="creationTimestamp desc". This sorts results based on the
5218// `creationTimestamp` field in reverse chronological order (newest
5219// result first). Use this to sort resources like operations so that the
5220// newest operation is returned first. Currently, only sorting by `name`
5221// or `creationTimestamp desc` is supported.
5222func (c *ResourcesListCall) OrderBy(orderBy string) *ResourcesListCall {
5223	c.urlParams_.Set("orderBy", orderBy)
5224	return c
5225}
5226
5227// PageToken sets the optional parameter "pageToken": Specifies a page
5228// token to use. Set `pageToken` to the `nextPageToken` returned by a
5229// previous list request to get the next page of results.
5230func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
5231	c.urlParams_.Set("pageToken", pageToken)
5232	return c
5233}
5234
5235// Fields allows partial responses to be retrieved. See
5236// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5237// for more information.
5238func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
5239	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5240	return c
5241}
5242
5243// IfNoneMatch sets the optional parameter which makes the operation
5244// fail if the object's ETag matches the given value. This is useful for
5245// getting updates only after the object has changed since the last
5246// request. Use googleapi.IsNotModified to check whether the response
5247// error from Do is the result of In-None-Match.
5248func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
5249	c.ifNoneMatch_ = entityTag
5250	return c
5251}
5252
5253// Context sets the context to be used in this call's Do method. Any
5254// pending HTTP request will be aborted if the provided context is
5255// canceled.
5256func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
5257	c.ctx_ = ctx
5258	return c
5259}
5260
5261// Header returns an http.Header that can be modified by the caller to
5262// add HTTP headers to the request.
5263func (c *ResourcesListCall) Header() http.Header {
5264	if c.header_ == nil {
5265		c.header_ = make(http.Header)
5266	}
5267	return c.header_
5268}
5269
5270func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
5271	reqHeaders := make(http.Header)
5272	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
5273	for k, v := range c.header_ {
5274		reqHeaders[k] = v
5275	}
5276	reqHeaders.Set("User-Agent", c.s.userAgent())
5277	if c.ifNoneMatch_ != "" {
5278		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5279	}
5280	var body io.Reader = nil
5281	c.urlParams_.Set("alt", alt)
5282	c.urlParams_.Set("prettyPrint", "false")
5283	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources")
5284	urls += "?" + c.urlParams_.Encode()
5285	req, err := http.NewRequest("GET", urls, body)
5286	if err != nil {
5287		return nil, err
5288	}
5289	req.Header = reqHeaders
5290	googleapi.Expand(req.URL, map[string]string{
5291		"project":    c.project,
5292		"deployment": c.deployment,
5293	})
5294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5295}
5296
5297// Do executes the "deploymentmanager.resources.list" call.
5298// Exactly one of *ResourcesListResponse or error will be non-nil. Any
5299// non-2xx status code is an error. Response headers are in either
5300// *ResourcesListResponse.ServerResponse.Header or (if a response was
5301// returned at all) in error.(*googleapi.Error).Header. Use
5302// googleapi.IsNotModified to check whether the returned error was
5303// because http.StatusNotModified was returned.
5304func (c *ResourcesListCall) Do(opts ...googleapi.CallOption) (*ResourcesListResponse, error) {
5305	gensupport.SetOptions(c.urlParams_, opts...)
5306	res, err := c.doRequest("json")
5307	if res != nil && res.StatusCode == http.StatusNotModified {
5308		if res.Body != nil {
5309			res.Body.Close()
5310		}
5311		return nil, &googleapi.Error{
5312			Code:   res.StatusCode,
5313			Header: res.Header,
5314		}
5315	}
5316	if err != nil {
5317		return nil, err
5318	}
5319	defer googleapi.CloseBody(res)
5320	if err := googleapi.CheckResponse(res); err != nil {
5321		return nil, err
5322	}
5323	ret := &ResourcesListResponse{
5324		ServerResponse: googleapi.ServerResponse{
5325			Header:         res.Header,
5326			HTTPStatusCode: res.StatusCode,
5327		},
5328	}
5329	target := &ret
5330	if err := gensupport.DecodeResponse(target, res); err != nil {
5331		return nil, err
5332	}
5333	return ret, nil
5334	// {
5335	//   "description": "Lists all resources in a given deployment.",
5336	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources",
5337	//   "httpMethod": "GET",
5338	//   "id": "deploymentmanager.resources.list",
5339	//   "parameterOrder": [
5340	//     "project",
5341	//     "deployment"
5342	//   ],
5343	//   "parameters": {
5344	//     "deployment": {
5345	//       "description": "The name of the deployment for this request.",
5346	//       "location": "path",
5347	//       "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
5348	//       "required": true,
5349	//       "type": "string"
5350	//     },
5351	//     "filter": {
5352	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
5353	//       "location": "query",
5354	//       "type": "string"
5355	//     },
5356	//     "maxResults": {
5357	//       "default": "500",
5358	//       "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`)",
5359	//       "format": "uint32",
5360	//       "location": "query",
5361	//       "minimum": "0",
5362	//       "type": "integer"
5363	//     },
5364	//     "orderBy": {
5365	//       "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.",
5366	//       "location": "query",
5367	//       "type": "string"
5368	//     },
5369	//     "pageToken": {
5370	//       "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.",
5371	//       "location": "query",
5372	//       "type": "string"
5373	//     },
5374	//     "project": {
5375	//       "description": "The project ID for this request.",
5376	//       "location": "path",
5377	//       "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])?))",
5378	//       "required": true,
5379	//       "type": "string"
5380	//     }
5381	//   },
5382	//   "path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources",
5383	//   "response": {
5384	//     "$ref": "ResourcesListResponse"
5385	//   },
5386	//   "scopes": [
5387	//     "https://www.googleapis.com/auth/cloud-platform",
5388	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
5389	//     "https://www.googleapis.com/auth/ndev.cloudman",
5390	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
5391	//   ]
5392	// }
5393
5394}
5395
5396// Pages invokes f for each page of results.
5397// A non-nil error returned from f will halt the iteration.
5398// The provided context supersedes any context provided to the Context method.
5399func (c *ResourcesListCall) Pages(ctx context.Context, f func(*ResourcesListResponse) error) error {
5400	c.ctx_ = ctx
5401	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5402	for {
5403		x, err := c.Do()
5404		if err != nil {
5405			return err
5406		}
5407		if err := f(x); err != nil {
5408			return err
5409		}
5410		if x.NextPageToken == "" {
5411			return nil
5412		}
5413		c.PageToken(x.NextPageToken)
5414	}
5415}
5416
5417// method id "deploymentmanager.types.list":
5418
5419type TypesListCall struct {
5420	s            *Service
5421	project      string
5422	urlParams_   gensupport.URLParams
5423	ifNoneMatch_ string
5424	ctx_         context.Context
5425	header_      http.Header
5426}
5427
5428// List: Lists all resource types for Deployment Manager.
5429//
5430// - project: The project ID for this request.
5431func (r *TypesService) List(project string) *TypesListCall {
5432	c := &TypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5433	c.project = project
5434	return c
5435}
5436
5437// Filter sets the optional parameter "filter": A filter expression that
5438// filters resources listed in the response. The expression must specify
5439// the field name, a comparison operator, and the value that you want to
5440// use for filtering. The value must be a string, a number, or a
5441// boolean. The comparison operator must be either `=`, `!=`, `>`, or
5442// `<`. For example, if you are filtering Compute Engine instances, you
5443// can exclude instances named `example-instance` by specifying `name !=
5444// example-instance`. You can also filter nested fields. For example,
5445// you could specify `scheduling.automaticRestart = false` to include
5446// instances only if they are not scheduled for automatic restarts. You
5447// can use filtering on nested fields to filter based on resource
5448// labels. To filter on multiple expressions, provide each separate
5449// expression within parentheses. For example: ```
5450// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake")
5451// ``` By default, each expression is an `AND` expression. However, you
5452// can include `AND` and `OR` expressions explicitly. For example: ```
5453// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell")
5454// AND (scheduling.automaticRestart = true) ```
5455func (c *TypesListCall) Filter(filter string) *TypesListCall {
5456	c.urlParams_.Set("filter", filter)
5457	return c
5458}
5459
5460// MaxResults sets the optional parameter "maxResults": The maximum
5461// number of results per page that should be returned. If the number of
5462// available results is larger than `maxResults`, Compute Engine returns
5463// a `nextPageToken` that can be used to get the next page of results in
5464// subsequent list requests. Acceptable values are `0` to `500`,
5465// inclusive. (Default: `500`)
5466func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
5467	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
5468	return c
5469}
5470
5471// OrderBy sets the optional parameter "orderBy": Sorts list results by
5472// a certain order. By default, results are returned in alphanumerical
5473// order based on the resource name. You can also sort results in
5474// descending order based on the creation timestamp using
5475// `orderBy="creationTimestamp desc". This sorts results based on the
5476// `creationTimestamp` field in reverse chronological order (newest
5477// result first). Use this to sort resources like operations so that the
5478// newest operation is returned first. Currently, only sorting by `name`
5479// or `creationTimestamp desc` is supported.
5480func (c *TypesListCall) OrderBy(orderBy string) *TypesListCall {
5481	c.urlParams_.Set("orderBy", orderBy)
5482	return c
5483}
5484
5485// PageToken sets the optional parameter "pageToken": Specifies a page
5486// token to use. Set `pageToken` to the `nextPageToken` returned by a
5487// previous list request to get the next page of results.
5488func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
5489	c.urlParams_.Set("pageToken", pageToken)
5490	return c
5491}
5492
5493// Fields allows partial responses to be retrieved. See
5494// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5495// for more information.
5496func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
5497	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5498	return c
5499}
5500
5501// IfNoneMatch sets the optional parameter which makes the operation
5502// fail if the object's ETag matches the given value. This is useful for
5503// getting updates only after the object has changed since the last
5504// request. Use googleapi.IsNotModified to check whether the response
5505// error from Do is the result of In-None-Match.
5506func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
5507	c.ifNoneMatch_ = entityTag
5508	return c
5509}
5510
5511// Context sets the context to be used in this call's Do method. Any
5512// pending HTTP request will be aborted if the provided context is
5513// canceled.
5514func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
5515	c.ctx_ = ctx
5516	return c
5517}
5518
5519// Header returns an http.Header that can be modified by the caller to
5520// add HTTP headers to the request.
5521func (c *TypesListCall) Header() http.Header {
5522	if c.header_ == nil {
5523		c.header_ = make(http.Header)
5524	}
5525	return c.header_
5526}
5527
5528func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
5529	reqHeaders := make(http.Header)
5530	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
5531	for k, v := range c.header_ {
5532		reqHeaders[k] = v
5533	}
5534	reqHeaders.Set("User-Agent", c.s.userAgent())
5535	if c.ifNoneMatch_ != "" {
5536		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5537	}
5538	var body io.Reader = nil
5539	c.urlParams_.Set("alt", alt)
5540	c.urlParams_.Set("prettyPrint", "false")
5541	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2/projects/{project}/global/types")
5542	urls += "?" + c.urlParams_.Encode()
5543	req, err := http.NewRequest("GET", urls, body)
5544	if err != nil {
5545		return nil, err
5546	}
5547	req.Header = reqHeaders
5548	googleapi.Expand(req.URL, map[string]string{
5549		"project": c.project,
5550	})
5551	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5552}
5553
5554// Do executes the "deploymentmanager.types.list" call.
5555// Exactly one of *TypesListResponse or error will be non-nil. Any
5556// non-2xx status code is an error. Response headers are in either
5557// *TypesListResponse.ServerResponse.Header or (if a response was
5558// returned at all) in error.(*googleapi.Error).Header. Use
5559// googleapi.IsNotModified to check whether the returned error was
5560// because http.StatusNotModified was returned.
5561func (c *TypesListCall) Do(opts ...googleapi.CallOption) (*TypesListResponse, error) {
5562	gensupport.SetOptions(c.urlParams_, opts...)
5563	res, err := c.doRequest("json")
5564	if res != nil && res.StatusCode == http.StatusNotModified {
5565		if res.Body != nil {
5566			res.Body.Close()
5567		}
5568		return nil, &googleapi.Error{
5569			Code:   res.StatusCode,
5570			Header: res.Header,
5571		}
5572	}
5573	if err != nil {
5574		return nil, err
5575	}
5576	defer googleapi.CloseBody(res)
5577	if err := googleapi.CheckResponse(res); err != nil {
5578		return nil, err
5579	}
5580	ret := &TypesListResponse{
5581		ServerResponse: googleapi.ServerResponse{
5582			Header:         res.Header,
5583			HTTPStatusCode: res.StatusCode,
5584		},
5585	}
5586	target := &ret
5587	if err := gensupport.DecodeResponse(target, res); err != nil {
5588		return nil, err
5589	}
5590	return ret, nil
5591	// {
5592	//   "description": "Lists all resource types for Deployment Manager.",
5593	//   "flatPath": "deploymentmanager/v2/projects/{project}/global/types",
5594	//   "httpMethod": "GET",
5595	//   "id": "deploymentmanager.types.list",
5596	//   "parameterOrder": [
5597	//     "project"
5598	//   ],
5599	//   "parameters": {
5600	//     "filter": {
5601	//       "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `\u003e`, or `\u003c`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
5602	//       "location": "query",
5603	//       "type": "string"
5604	//     },
5605	//     "maxResults": {
5606	//       "default": "500",
5607	//       "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`)",
5608	//       "format": "uint32",
5609	//       "location": "query",
5610	//       "minimum": "0",
5611	//       "type": "integer"
5612	//     },
5613	//     "orderBy": {
5614	//       "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.",
5615	//       "location": "query",
5616	//       "type": "string"
5617	//     },
5618	//     "pageToken": {
5619	//       "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.",
5620	//       "location": "query",
5621	//       "type": "string"
5622	//     },
5623	//     "project": {
5624	//       "description": "The project ID for this request.",
5625	//       "location": "path",
5626	//       "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])?))",
5627	//       "required": true,
5628	//       "type": "string"
5629	//     }
5630	//   },
5631	//   "path": "deploymentmanager/v2/projects/{project}/global/types",
5632	//   "response": {
5633	//     "$ref": "TypesListResponse"
5634	//   },
5635	//   "scopes": [
5636	//     "https://www.googleapis.com/auth/cloud-platform",
5637	//     "https://www.googleapis.com/auth/cloud-platform.read-only",
5638	//     "https://www.googleapis.com/auth/ndev.cloudman",
5639	//     "https://www.googleapis.com/auth/ndev.cloudman.readonly"
5640	//   ]
5641	// }
5642
5643}
5644
5645// Pages invokes f for each page of results.
5646// A non-nil error returned from f will halt the iteration.
5647// The provided context supersedes any context provided to the Context method.
5648func (c *TypesListCall) Pages(ctx context.Context, f func(*TypesListResponse) error) error {
5649	c.ctx_ = ctx
5650	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5651	for {
5652		x, err := c.Do()
5653		if err != nil {
5654			return err
5655		}
5656		if err := f(x); err != nil {
5657			return err
5658		}
5659		if x.NextPageToken == "" {
5660			return nil
5661		}
5662		c.PageToken(x.NextPageToken)
5663	}
5664}
5665