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