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