...

Source file src/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-gen.go

Documentation: google.golang.org/api/deploymentmanager/v2beta

     1  // Copyright 2024 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  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/deploymentmanager/v2beta"
    27  //	...
    28  //	ctx := context.Background()
    29  //	deploymentmanagerService, err := deploymentmanager.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	deploymentmanagerService, err := deploymentmanager.NewService(ctx, option.WithScopes(deploymentmanager.NdevCloudmanReadonlyScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	deploymentmanagerService, err := deploymentmanager.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	deploymentmanagerService, err := deploymentmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package deploymentmanager // import "google.golang.org/api/deploymentmanager/v2beta"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "deploymentmanager:v2beta"
    95  const apiName = "deploymentmanager"
    96  const apiVersion = "v2beta"
    97  const basePath = "https://deploymentmanager.googleapis.com/"
    98  const basePathTemplate = "https://deploymentmanager.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://deploymentmanager.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// See, edit, configure, and delete your Google Cloud data and see the email
   104  	// address for your Google Account.
   105  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   106  
   107  	// View your data across Google Cloud services and see the email address of
   108  	// your Google Account
   109  	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
   110  
   111  	// View and manage your Google Cloud Platform management resources and
   112  	// deployment status information
   113  	NdevCloudmanScope = "https://www.googleapis.com/auth/ndev.cloudman"
   114  
   115  	// View your Google Cloud Platform management resources and deployment status
   116  	// information
   117  	NdevCloudmanReadonlyScope = "https://www.googleapis.com/auth/ndev.cloudman.readonly"
   118  )
   119  
   120  // NewService creates a new Service.
   121  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   122  	scopesOption := internaloption.WithDefaultScopes(
   123  		"https://www.googleapis.com/auth/cloud-platform",
   124  		"https://www.googleapis.com/auth/cloud-platform.read-only",
   125  		"https://www.googleapis.com/auth/ndev.cloudman",
   126  		"https://www.googleapis.com/auth/ndev.cloudman.readonly",
   127  	)
   128  	// NOTE: prepend, so we don't override user-specified scopes.
   129  	opts = append([]option.ClientOption{scopesOption}, opts...)
   130  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   131  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   132  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   133  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   134  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   135  	if err != nil {
   136  		return nil, err
   137  	}
   138  	s, err := New(client)
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	if endpoint != "" {
   143  		s.BasePath = endpoint
   144  	}
   145  	return s, nil
   146  }
   147  
   148  // New creates a new Service. It uses the provided http.Client for requests.
   149  //
   150  // Deprecated: please use NewService instead.
   151  // To provide a custom HTTP client, use option.WithHTTPClient.
   152  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   153  func New(client *http.Client) (*Service, error) {
   154  	if client == nil {
   155  		return nil, errors.New("client is nil")
   156  	}
   157  	s := &Service{client: client, BasePath: basePath}
   158  	s.CompositeTypes = NewCompositeTypesService(s)
   159  	s.Deployments = NewDeploymentsService(s)
   160  	s.Manifests = NewManifestsService(s)
   161  	s.Operations = NewOperationsService(s)
   162  	s.Resources = NewResourcesService(s)
   163  	s.TypeProviders = NewTypeProvidersService(s)
   164  	s.Types = NewTypesService(s)
   165  	return s, nil
   166  }
   167  
   168  type Service struct {
   169  	client    *http.Client
   170  	BasePath  string // API endpoint base URL
   171  	UserAgent string // optional additional User-Agent fragment
   172  
   173  	CompositeTypes *CompositeTypesService
   174  
   175  	Deployments *DeploymentsService
   176  
   177  	Manifests *ManifestsService
   178  
   179  	Operations *OperationsService
   180  
   181  	Resources *ResourcesService
   182  
   183  	TypeProviders *TypeProvidersService
   184  
   185  	Types *TypesService
   186  }
   187  
   188  func (s *Service) userAgent() string {
   189  	if s.UserAgent == "" {
   190  		return googleapi.UserAgent
   191  	}
   192  	return googleapi.UserAgent + " " + s.UserAgent
   193  }
   194  
   195  func NewCompositeTypesService(s *Service) *CompositeTypesService {
   196  	rs := &CompositeTypesService{s: s}
   197  	return rs
   198  }
   199  
   200  type CompositeTypesService struct {
   201  	s *Service
   202  }
   203  
   204  func NewDeploymentsService(s *Service) *DeploymentsService {
   205  	rs := &DeploymentsService{s: s}
   206  	return rs
   207  }
   208  
   209  type DeploymentsService struct {
   210  	s *Service
   211  }
   212  
   213  func NewManifestsService(s *Service) *ManifestsService {
   214  	rs := &ManifestsService{s: s}
   215  	return rs
   216  }
   217  
   218  type ManifestsService struct {
   219  	s *Service
   220  }
   221  
   222  func NewOperationsService(s *Service) *OperationsService {
   223  	rs := &OperationsService{s: s}
   224  	return rs
   225  }
   226  
   227  type OperationsService struct {
   228  	s *Service
   229  }
   230  
   231  func NewResourcesService(s *Service) *ResourcesService {
   232  	rs := &ResourcesService{s: s}
   233  	return rs
   234  }
   235  
   236  type ResourcesService struct {
   237  	s *Service
   238  }
   239  
   240  func NewTypeProvidersService(s *Service) *TypeProvidersService {
   241  	rs := &TypeProvidersService{s: s}
   242  	return rs
   243  }
   244  
   245  type TypeProvidersService struct {
   246  	s *Service
   247  }
   248  
   249  func NewTypesService(s *Service) *TypesService {
   250  	rs := &TypesService{s: s}
   251  	return rs
   252  }
   253  
   254  type TypesService struct {
   255  	s *Service
   256  }
   257  
   258  // AsyncOptions: Async options that determine when a resource should finish.
   259  type AsyncOptions struct {
   260  	// MethodMatch: Method regex where this policy will apply.
   261  	MethodMatch string `json:"methodMatch,omitempty"`
   262  	// PollingOptions: Deployment manager will poll instances for this API resource
   263  	// setting a RUNNING state, and blocking until polling conditions tell whether
   264  	// the resource is completed or failed.
   265  	PollingOptions *PollingOptions `json:"pollingOptions,omitempty"`
   266  	// ForceSendFields is a list of field names (e.g. "MethodMatch") to
   267  	// unconditionally include in API requests. By default, fields with empty or
   268  	// default values are omitted from API requests. See
   269  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   270  	// details.
   271  	ForceSendFields []string `json:"-"`
   272  	// NullFields is a list of field names (e.g. "MethodMatch") to include in API
   273  	// requests with the JSON null value. By default, fields with empty values are
   274  	// omitted from API requests. See
   275  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   276  	NullFields []string `json:"-"`
   277  }
   278  
   279  func (s *AsyncOptions) MarshalJSON() ([]byte, error) {
   280  	type NoMethod AsyncOptions
   281  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   282  }
   283  
   284  // AuditConfig: Specifies the audit configuration for a service. The
   285  // configuration determines which permission types are logged, and what
   286  // identities, if any, are exempted from logging. An AuditConfig must have one
   287  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   288  // and a specific service, the union of the two AuditConfigs is used for that
   289  // service: the log_types specified in each AuditConfig are enabled, and the
   290  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   291  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   292  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   293  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   294  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   295  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   296  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   297  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   298  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   299  // `aliya@example.com` from DATA_WRITE logging.
   300  type AuditConfig struct {
   301  	// AuditLogConfigs: The configuration for logging of each type of permission.
   302  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   303  	// Service: Specifies a service that will be enabled for audit logging. For
   304  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   305  	// is a special value that covers all services.
   306  	Service string `json:"service,omitempty"`
   307  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   308  	// unconditionally include in API requests. By default, fields with empty or
   309  	// default values are omitted from API requests. See
   310  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   311  	// details.
   312  	ForceSendFields []string `json:"-"`
   313  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   314  	// API requests with the JSON null value. By default, fields with empty values
   315  	// are omitted from API requests. See
   316  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   317  	NullFields []string `json:"-"`
   318  }
   319  
   320  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   321  	type NoMethod AuditConfig
   322  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   323  }
   324  
   325  // AuditLogConfig: Provides the configuration for logging a type of
   326  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   327  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   328  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   329  // exempting jose@example.com from DATA_READ logging.
   330  type AuditLogConfig struct {
   331  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   332  	// type of permission. Follows the same format of Binding.members.
   333  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   334  	// LogType: The log type that this config enables.
   335  	//
   336  	// Possible values:
   337  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   338  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   339  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   340  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   341  	LogType string `json:"logType,omitempty"`
   342  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   343  	// unconditionally include in API requests. By default, fields with empty or
   344  	// default values are omitted from API requests. See
   345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   346  	// details.
   347  	ForceSendFields []string `json:"-"`
   348  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   349  	// API requests with the JSON null value. By default, fields with empty values
   350  	// are omitted from API requests. See
   351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   352  	NullFields []string `json:"-"`
   353  }
   354  
   355  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   356  	type NoMethod AuditLogConfig
   357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   358  }
   359  
   360  // BaseType: BaseType that describes a service-backed Type.
   361  type BaseType struct {
   362  	// CollectionOverrides: Allows resource handling overrides for specific
   363  	// collections
   364  	CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
   365  	// Credential: Credential used when interacting with this type.
   366  	Credential *Credential `json:"credential,omitempty"`
   367  	// DescriptorUrl: Descriptor Url for the this type.
   368  	DescriptorUrl string `json:"descriptorUrl,omitempty"`
   369  	// Options: Options to apply when handling any resources in this service.
   370  	Options *Options `json:"options,omitempty"`
   371  	// ForceSendFields is a list of field names (e.g. "CollectionOverrides") to
   372  	// unconditionally include in API requests. By default, fields with empty or
   373  	// default values are omitted from API requests. See
   374  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   375  	// details.
   376  	ForceSendFields []string `json:"-"`
   377  	// NullFields is a list of field names (e.g. "CollectionOverrides") to include
   378  	// in API requests with the JSON null value. By default, fields with empty
   379  	// values are omitted from API requests. See
   380  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   381  	NullFields []string `json:"-"`
   382  }
   383  
   384  func (s *BaseType) MarshalJSON() ([]byte, error) {
   385  	type NoMethod BaseType
   386  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   387  }
   388  
   389  // BasicAuth: Basic Auth used as a credential.
   390  type BasicAuth struct {
   391  	Password string `json:"password,omitempty"`
   392  	User     string `json:"user,omitempty"`
   393  	// ForceSendFields is a list of field names (e.g. "Password") to
   394  	// unconditionally include in API requests. By default, fields with empty or
   395  	// default values are omitted from API requests. See
   396  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   397  	// details.
   398  	ForceSendFields []string `json:"-"`
   399  	// NullFields is a list of field names (e.g. "Password") to include in API
   400  	// requests with the JSON null value. By default, fields with empty values are
   401  	// omitted from API requests. See
   402  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   403  	NullFields []string `json:"-"`
   404  }
   405  
   406  func (s *BasicAuth) MarshalJSON() ([]byte, error) {
   407  	type NoMethod BasicAuth
   408  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   409  }
   410  
   411  // Binding: Associates `members`, or principals, with a `role`.
   412  type Binding struct {
   413  	// Condition: The condition that is associated with this binding. If the
   414  	// condition evaluates to `true`, then this binding applies to the current
   415  	// request. If the condition evaluates to `false`, then this binding does not
   416  	// apply to the current request. However, a different role binding might grant
   417  	// the same role to one or more of the principals in this binding. To learn
   418  	// which resources support conditions in their IAM policies, see the IAM
   419  	// documentation
   420  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   421  	Condition *Expr `json:"condition,omitempty"`
   422  	// Members: Specifies the principals requesting access for a Google Cloud
   423  	// resource. `members` can have the following values: * `allUsers`: A special
   424  	// identifier that represents anyone who is on the internet; with or without a
   425  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   426  	// represents anyone who is authenticated with a Google account or a service
   427  	// account. Does not include identities that come from external identity
   428  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   429  	// address that represents a specific Google account. For example,
   430  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   431  	// represents a Google service account. For example,
   432  	// `my-other-app@appspot.gserviceaccount.com`. *
   433  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   434  	// identifier for a Kubernetes service account
   435  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   436  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   437  	// `group:{emailid}`: An email address that represents a Google group. For
   438  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   439  	// (primary) that represents all the users of that domain. For example,
   440  	// `google.com` or `example.com`. *
   441  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   442  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   443  	// pool. *
   444  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   445  	// group/{group_id}`: All workforce identities in a group. *
   446  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   447  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   448  	// a specific attribute value. *
   449  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   450  	// *`: All identities in a workforce identity pool. *
   451  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   452  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   453  	// identity in a workload identity pool. *
   454  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   455  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   456  	// group. *
   457  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   458  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   459  	// `: All identities in a workload identity pool with a certain attribute. *
   460  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   461  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   462  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   463  	// unique identifier) representing a user that has been recently deleted. For
   464  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   465  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   466  	// retains the role in the binding. *
   467  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   468  	// unique identifier) representing a service account that has been recently
   469  	// deleted. For example,
   470  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   471  	// service account is undeleted, this value reverts to
   472  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   473  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   474  	// address (plus unique identifier) representing a Google group that has been
   475  	// recently deleted. For example,
   476  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   477  	// this value reverts to `group:{emailid}` and the recovered group retains the
   478  	// role in the binding. *
   479  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   480  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   481  	// workforce identity pool. For example,
   482  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   483  	// ol-id/subject/my-subject-attribute-value`.
   484  	Members []string `json:"members,omitempty"`
   485  	// Role: Role that is assigned to the list of `members`, or principals. For
   486  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   487  	// of the IAM roles and permissions, see the IAM documentation
   488  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   489  	// available pre-defined roles, see here
   490  	// (https://cloud.google.com/iam/docs/understanding-roles).
   491  	Role string `json:"role,omitempty"`
   492  	// ForceSendFields is a list of field names (e.g. "Condition") to
   493  	// unconditionally include in API requests. By default, fields with empty or
   494  	// default values are omitted from API requests. See
   495  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   496  	// details.
   497  	ForceSendFields []string `json:"-"`
   498  	// NullFields is a list of field names (e.g. "Condition") to include in API
   499  	// requests with the JSON null value. By default, fields with empty values are
   500  	// omitted from API requests. See
   501  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   502  	NullFields []string `json:"-"`
   503  }
   504  
   505  func (s *Binding) MarshalJSON() ([]byte, error) {
   506  	type NoMethod Binding
   507  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   508  }
   509  
   510  type BulkInsertOperationStatus struct {
   511  	// CreatedVmCount: [Output Only] Count of VMs successfully created so far.
   512  	CreatedVmCount int64 `json:"createdVmCount,omitempty"`
   513  	// DeletedVmCount: [Output Only] Count of VMs that got deleted during rollback.
   514  	DeletedVmCount int64 `json:"deletedVmCount,omitempty"`
   515  	// FailedToCreateVmCount: [Output Only] Count of VMs that started creating but
   516  	// encountered an error.
   517  	FailedToCreateVmCount int64 `json:"failedToCreateVmCount,omitempty"`
   518  	// Status: [Output Only] Creation status of BulkInsert operation - information
   519  	// if the flow is rolling forward or rolling back.
   520  	//
   521  	// Possible values:
   522  	//   "STATUS_UNSPECIFIED"
   523  	//   "CREATING" - Rolling forward - creating VMs.
   524  	//   "ROLLING_BACK" - Rolling back - cleaning up after an error.
   525  	//   "DONE" - Done
   526  	Status string `json:"status,omitempty"`
   527  	// TargetVmCount: [Output Only] Count of VMs originally planned to be created.
   528  	TargetVmCount int64 `json:"targetVmCount,omitempty"`
   529  	// ForceSendFields is a list of field names (e.g. "CreatedVmCount") to
   530  	// unconditionally include in API requests. By default, fields with empty or
   531  	// default values are omitted from API requests. See
   532  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   533  	// details.
   534  	ForceSendFields []string `json:"-"`
   535  	// NullFields is a list of field names (e.g. "CreatedVmCount") to include in
   536  	// API requests with the JSON null value. By default, fields with empty values
   537  	// are omitted from API requests. See
   538  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   539  	NullFields []string `json:"-"`
   540  }
   541  
   542  func (s *BulkInsertOperationStatus) MarshalJSON() ([]byte, error) {
   543  	type NoMethod BulkInsertOperationStatus
   544  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   545  }
   546  
   547  // CollectionOverride: CollectionOverride allows resource handling overrides
   548  // for specific resources within a BaseType
   549  type CollectionOverride struct {
   550  	// Collection: The collection that identifies this resource within its service.
   551  	Collection string `json:"collection,omitempty"`
   552  	// Options: The options to apply to this resource-level override
   553  	Options *Options `json:"options,omitempty"`
   554  	// ForceSendFields is a list of field names (e.g. "Collection") to
   555  	// unconditionally include in API requests. By default, fields with empty or
   556  	// default values are omitted from API requests. See
   557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   558  	// details.
   559  	ForceSendFields []string `json:"-"`
   560  	// NullFields is a list of field names (e.g. "Collection") to include in API
   561  	// requests with the JSON null value. By default, fields with empty values are
   562  	// omitted from API requests. See
   563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   564  	NullFields []string `json:"-"`
   565  }
   566  
   567  func (s *CollectionOverride) MarshalJSON() ([]byte, error) {
   568  	type NoMethod CollectionOverride
   569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   570  }
   571  
   572  // CompositeType: Holds the composite type.
   573  type CompositeType struct {
   574  	// Description: An optional textual description of the resource; provided by
   575  	// the client when the resource is created.
   576  	Description string `json:"description,omitempty"`
   577  	Id          uint64 `json:"id,omitempty,string"`
   578  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
   579  	InsertTime string `json:"insertTime,omitempty"`
   580  	// Labels: Map of labels; provided by the client when the resource is created
   581  	// or updated. Specifically: Label keys must be between 1 and 63 characters
   582  	// long and must conform to the following regular expression: `a-z
   583  	// ([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long
   584  	// and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
   585  	Labels []*CompositeTypeLabelEntry `json:"labels,omitempty"`
   586  	// Name: Name of the composite type, must follow the expression:
   587  	// `[a-z]([-a-z0-9_.]{0,61}[a-z0-9])?`.
   588  	Name string `json:"name,omitempty"`
   589  	// Operation: Output only. The Operation that most recently ran, or is
   590  	// currently running, on this composite type.
   591  	Operation *Operation `json:"operation,omitempty"`
   592  	// SelfLink: Output only. Server defined URL for the resource.
   593  	SelfLink string `json:"selfLink,omitempty"`
   594  	// Possible values:
   595  	//   "UNKNOWN_STATUS"
   596  	//   "DEPRECATED"
   597  	//   "EXPERIMENTAL"
   598  	//   "SUPPORTED"
   599  	Status string `json:"status,omitempty"`
   600  	// TemplateContents: Files for the template type.
   601  	TemplateContents *TemplateContents `json:"templateContents,omitempty"`
   602  
   603  	// ServerResponse contains the HTTP response code and headers from the server.
   604  	googleapi.ServerResponse `json:"-"`
   605  	// ForceSendFields is a list of field names (e.g. "Description") to
   606  	// unconditionally include in API requests. By default, fields with empty or
   607  	// default values are omitted from API requests. See
   608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   609  	// details.
   610  	ForceSendFields []string `json:"-"`
   611  	// NullFields is a list of field names (e.g. "Description") to include in API
   612  	// requests with the JSON null value. By default, fields with empty values are
   613  	// omitted from API requests. See
   614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   615  	NullFields []string `json:"-"`
   616  }
   617  
   618  func (s *CompositeType) MarshalJSON() ([]byte, error) {
   619  	type NoMethod CompositeType
   620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   621  }
   622  
   623  // CompositeTypeLabelEntry: Label object for CompositeTypes
   624  type CompositeTypeLabelEntry struct {
   625  	// Key: Key of the label
   626  	Key string `json:"key,omitempty"`
   627  	// Value: Value of the label
   628  	Value string `json:"value,omitempty"`
   629  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
   630  	// include in API requests. By default, fields with empty or default values are
   631  	// omitted from API requests. See
   632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   633  	// details.
   634  	ForceSendFields []string `json:"-"`
   635  	// NullFields is a list of field names (e.g. "Key") to include in API requests
   636  	// with the JSON null value. By default, fields with empty values are omitted
   637  	// from API requests. See
   638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   639  	NullFields []string `json:"-"`
   640  }
   641  
   642  func (s *CompositeTypeLabelEntry) MarshalJSON() ([]byte, error) {
   643  	type NoMethod CompositeTypeLabelEntry
   644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   645  }
   646  
   647  // CompositeTypesListResponse: A response that returns all Composite Types
   648  // supported by Deployment Manager
   649  type CompositeTypesListResponse struct {
   650  	// CompositeTypes: Output only. A list of resource composite types supported by
   651  	// Deployment Manager.
   652  	CompositeTypes []*CompositeType `json:"compositeTypes,omitempty"`
   653  	// NextPageToken: A token used to continue a truncated list request.
   654  	NextPageToken string `json:"nextPageToken,omitempty"`
   655  
   656  	// ServerResponse contains the HTTP response code and headers from the server.
   657  	googleapi.ServerResponse `json:"-"`
   658  	// ForceSendFields is a list of field names (e.g. "CompositeTypes") to
   659  	// unconditionally include in API requests. By default, fields with empty or
   660  	// default values are omitted from API requests. See
   661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   662  	// details.
   663  	ForceSendFields []string `json:"-"`
   664  	// NullFields is a list of field names (e.g. "CompositeTypes") to include in
   665  	// API requests with the JSON null value. By default, fields with empty values
   666  	// are omitted from API requests. See
   667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   668  	NullFields []string `json:"-"`
   669  }
   670  
   671  func (s *CompositeTypesListResponse) MarshalJSON() ([]byte, error) {
   672  	type NoMethod CompositeTypesListResponse
   673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   674  }
   675  
   676  type ConfigFile struct {
   677  	// Content: The contents of the file.
   678  	Content string `json:"content,omitempty"`
   679  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
   680  	// include in API requests. By default, fields with empty or default values are
   681  	// omitted from API requests. See
   682  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   683  	// details.
   684  	ForceSendFields []string `json:"-"`
   685  	// NullFields is a list of field names (e.g. "Content") to include in API
   686  	// requests with the JSON null value. By default, fields with empty values are
   687  	// omitted from API requests. See
   688  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   689  	NullFields []string `json:"-"`
   690  }
   691  
   692  func (s *ConfigFile) MarshalJSON() ([]byte, error) {
   693  	type NoMethod ConfigFile
   694  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   695  }
   696  
   697  // Credential: The credential used by Deployment Manager and TypeProvider. Only
   698  // one of the options is permitted.
   699  type Credential struct {
   700  	// BasicAuth: Basic Auth Credential, only used by TypeProvider.
   701  	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
   702  	// ServiceAccount: Service Account Credential, only used by Deployment.
   703  	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
   704  	// UseProjectDefault: Specify to use the project default credential, only
   705  	// supported by Deployment.
   706  	UseProjectDefault bool `json:"useProjectDefault,omitempty"`
   707  	// ForceSendFields is a list of field names (e.g. "BasicAuth") to
   708  	// unconditionally include in API requests. By default, fields with empty or
   709  	// default values are omitted from API requests. See
   710  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   711  	// details.
   712  	ForceSendFields []string `json:"-"`
   713  	// NullFields is a list of field names (e.g. "BasicAuth") to include in API
   714  	// requests with the JSON null value. By default, fields with empty values are
   715  	// omitted from API requests. See
   716  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   717  	NullFields []string `json:"-"`
   718  }
   719  
   720  func (s *Credential) MarshalJSON() ([]byte, error) {
   721  	type NoMethod Credential
   722  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   723  }
   724  
   725  type Deployment struct {
   726  	// Description: An optional user-provided description of the deployment.
   727  	Description string `json:"description,omitempty"`
   728  	// Fingerprint: Provides a fingerprint to use in requests to modify a
   729  	// deployment, such as `update()`, `stop()`, and `cancelPreview()` requests. A
   730  	// fingerprint is a randomly generated value that must be provided with
   731  	// `update()`, `stop()`, and `cancelPreview()` requests to perform optimistic
   732  	// locking. This ensures optimistic concurrency so that only one request
   733  	// happens at a time. The fingerprint is initially generated by Deployment
   734  	// Manager and changes after every request to modify data. To get the latest
   735  	// fingerprint value, perform a `get()` request to a deployment.
   736  	Fingerprint string `json:"fingerprint,omitempty"`
   737  	Id          uint64 `json:"id,omitempty,string"`
   738  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
   739  	InsertTime string `json:"insertTime,omitempty"`
   740  	// Labels: Map of One Platform labels; provided by the client when the resource
   741  	// is created or updated. Specifically: Label keys must be between 1 and 63
   742  	// characters long and must conform to the following regular expression: `a-z
   743  	// ([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long
   744  	// and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
   745  	Labels []*DeploymentLabelEntry `json:"labels,omitempty"`
   746  	// Manifest: Output only. URL of the manifest representing the last manifest
   747  	// that was successfully deployed. If no manifest has been successfully
   748  	// deployed, this field will be absent.
   749  	Manifest string `json:"manifest,omitempty"`
   750  	// Name: Name of the resource; provided by the client when the resource is
   751  	// created. The name must be 1-63 characters long, and comply with RFC1035.
   752  	// Specifically, the name must be 1-63 characters long and match the regular
   753  	// expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
   754  	// be a lowercase letter, and all following characters must be a dash,
   755  	// lowercase letter, or digit, except the last character, which cannot be a
   756  	// dash.
   757  	Name string `json:"name,omitempty"`
   758  	// Operation: Output only. The Operation that most recently ran, or is
   759  	// currently running, on this deployment.
   760  	Operation *Operation `json:"operation,omitempty"`
   761  	// SelfLink: Output only. Server defined URL for the resource.
   762  	SelfLink string `json:"selfLink,omitempty"`
   763  	// Target: [Input Only] The parameters that define your deployment, including
   764  	// the deployment configuration and relevant templates.
   765  	Target *TargetConfiguration `json:"target,omitempty"`
   766  	// Update: Output only. If Deployment Manager is currently updating or
   767  	// previewing an update to this deployment, the updated configuration appears
   768  	// here.
   769  	Update *DeploymentUpdate `json:"update,omitempty"`
   770  	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
   771  	UpdateTime string `json:"updateTime,omitempty"`
   772  
   773  	// ServerResponse contains the HTTP response code and headers from the server.
   774  	googleapi.ServerResponse `json:"-"`
   775  	// ForceSendFields is a list of field names (e.g. "Description") to
   776  	// unconditionally include in API requests. By default, fields with empty or
   777  	// default values are omitted from API requests. See
   778  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   779  	// details.
   780  	ForceSendFields []string `json:"-"`
   781  	// NullFields is a list of field names (e.g. "Description") to include in API
   782  	// requests with the JSON null value. By default, fields with empty values are
   783  	// omitted from API requests. See
   784  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   785  	NullFields []string `json:"-"`
   786  }
   787  
   788  func (s *Deployment) MarshalJSON() ([]byte, error) {
   789  	type NoMethod Deployment
   790  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   791  }
   792  
   793  // DeploymentLabelEntry: Label object for Deployments
   794  type DeploymentLabelEntry struct {
   795  	// Key: Key of the label
   796  	Key string `json:"key,omitempty"`
   797  	// Value: Value of the label
   798  	Value string `json:"value,omitempty"`
   799  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
   800  	// include in API requests. By default, fields with empty or default values are
   801  	// omitted from API requests. See
   802  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   803  	// details.
   804  	ForceSendFields []string `json:"-"`
   805  	// NullFields is a list of field names (e.g. "Key") to include in API requests
   806  	// with the JSON null value. By default, fields with empty values are omitted
   807  	// from API requests. See
   808  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   809  	NullFields []string `json:"-"`
   810  }
   811  
   812  func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) {
   813  	type NoMethod DeploymentLabelEntry
   814  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   815  }
   816  
   817  type DeploymentUpdate struct {
   818  	// Description: Output only. An optional user-provided description of the
   819  	// deployment after the current update has been applied.
   820  	Description string `json:"description,omitempty"`
   821  	// Labels: Map of One Platform labels; provided by the client when the resource
   822  	// is created or updated. Specifically: Label keys must be between 1 and 63
   823  	// characters long and must conform to the following regular expression: `a-z
   824  	// ([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long
   825  	// and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
   826  	Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"`
   827  	// Manifest: Output only. URL of the manifest representing the update
   828  	// configuration of this deployment.
   829  	Manifest string `json:"manifest,omitempty"`
   830  	// ForceSendFields is a list of field names (e.g. "Description") to
   831  	// unconditionally include in API requests. By default, fields with empty or
   832  	// default values are omitted from API requests. See
   833  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   834  	// details.
   835  	ForceSendFields []string `json:"-"`
   836  	// NullFields is a list of field names (e.g. "Description") to include in API
   837  	// requests with the JSON null value. By default, fields with empty values are
   838  	// omitted from API requests. See
   839  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   840  	NullFields []string `json:"-"`
   841  }
   842  
   843  func (s *DeploymentUpdate) MarshalJSON() ([]byte, error) {
   844  	type NoMethod DeploymentUpdate
   845  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   846  }
   847  
   848  // DeploymentUpdateLabelEntry: Label object for DeploymentUpdate
   849  type DeploymentUpdateLabelEntry struct {
   850  	// Key: Key of the label
   851  	Key string `json:"key,omitempty"`
   852  	// Value: Value of the label
   853  	Value string `json:"value,omitempty"`
   854  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
   855  	// include in API requests. By default, fields with empty or default values are
   856  	// omitted from API requests. See
   857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   858  	// details.
   859  	ForceSendFields []string `json:"-"`
   860  	// NullFields is a list of field names (e.g. "Key") to include in API requests
   861  	// with the JSON null value. By default, fields with empty values are omitted
   862  	// from API requests. See
   863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   864  	NullFields []string `json:"-"`
   865  }
   866  
   867  func (s *DeploymentUpdateLabelEntry) MarshalJSON() ([]byte, error) {
   868  	type NoMethod DeploymentUpdateLabelEntry
   869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   870  }
   871  
   872  type DeploymentsCancelPreviewRequest struct {
   873  	// Fingerprint: Specifies a fingerprint for `cancelPreview()` requests. A
   874  	// fingerprint is a randomly generated value that must be provided in
   875  	// `cancelPreview()` requests to perform optimistic locking. This ensures
   876  	// optimistic concurrency so that the deployment does not have conflicting
   877  	// requests (e.g. if someone attempts to make a new update request while
   878  	// another user attempts to cancel a preview, this would prevent one of the
   879  	// requests). The fingerprint is initially generated by Deployment Manager and
   880  	// changes after every request to modify a deployment. To get the latest
   881  	// fingerprint value, perform a `get()` request on the deployment.
   882  	Fingerprint string `json:"fingerprint,omitempty"`
   883  	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
   884  	// unconditionally include in API requests. By default, fields with empty or
   885  	// default values are omitted from API requests. See
   886  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   887  	// details.
   888  	ForceSendFields []string `json:"-"`
   889  	// NullFields is a list of field names (e.g. "Fingerprint") to include in API
   890  	// requests with the JSON null value. By default, fields with empty values are
   891  	// omitted from API requests. See
   892  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   893  	NullFields []string `json:"-"`
   894  }
   895  
   896  func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) {
   897  	type NoMethod DeploymentsCancelPreviewRequest
   898  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   899  }
   900  
   901  // DeploymentsListResponse: A response containing a partial list of deployments
   902  // and a page token used to build the next request if the request has been
   903  // truncated.
   904  type DeploymentsListResponse struct {
   905  	// Deployments: Output only. The deployments contained in this response.
   906  	Deployments []*Deployment `json:"deployments,omitempty"`
   907  	// NextPageToken: Output only. A token used to continue a truncated list
   908  	// request.
   909  	NextPageToken string `json:"nextPageToken,omitempty"`
   910  
   911  	// ServerResponse contains the HTTP response code and headers from the server.
   912  	googleapi.ServerResponse `json:"-"`
   913  	// ForceSendFields is a list of field names (e.g. "Deployments") to
   914  	// unconditionally include in API requests. By default, fields with empty or
   915  	// default values are omitted from API requests. See
   916  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   917  	// details.
   918  	ForceSendFields []string `json:"-"`
   919  	// NullFields is a list of field names (e.g. "Deployments") to include in API
   920  	// requests with the JSON null value. By default, fields with empty values are
   921  	// omitted from API requests. See
   922  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   923  	NullFields []string `json:"-"`
   924  }
   925  
   926  func (s *DeploymentsListResponse) MarshalJSON() ([]byte, error) {
   927  	type NoMethod DeploymentsListResponse
   928  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   929  }
   930  
   931  type DeploymentsStopRequest struct {
   932  	// Fingerprint: Specifies a fingerprint for `stop()` requests. A fingerprint is
   933  	// a randomly generated value that must be provided in `stop()` requests to
   934  	// perform optimistic locking. This ensures optimistic concurrency so that the
   935  	// deployment does not have conflicting requests (e.g. if someone attempts to
   936  	// make a new update request while another user attempts to stop an ongoing
   937  	// update request, this would prevent a collision). The fingerprint is
   938  	// initially generated by Deployment Manager and changes after every request to
   939  	// modify a deployment. To get the latest fingerprint value, perform a `get()`
   940  	// request on the deployment.
   941  	Fingerprint string `json:"fingerprint,omitempty"`
   942  	// ForceSendFields is a list of field names (e.g. "Fingerprint") to
   943  	// unconditionally include in API requests. By default, fields with empty or
   944  	// default values are omitted from API requests. See
   945  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   946  	// details.
   947  	ForceSendFields []string `json:"-"`
   948  	// NullFields is a list of field names (e.g. "Fingerprint") to include in API
   949  	// requests with the JSON null value. By default, fields with empty values are
   950  	// omitted from API requests. See
   951  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   952  	NullFields []string `json:"-"`
   953  }
   954  
   955  func (s *DeploymentsStopRequest) MarshalJSON() ([]byte, error) {
   956  	type NoMethod DeploymentsStopRequest
   957  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   958  }
   959  
   960  type Diagnostic struct {
   961  	// Field: JsonPath expression on the resource that if non empty, indicates that
   962  	// this field needs to be extracted as a diagnostic.
   963  	Field string `json:"field,omitempty"`
   964  	// Level: Level to record this diagnostic.
   965  	//
   966  	// Possible values:
   967  	//   "UNKNOWN"
   968  	//   "INFORMATION" - If level is informational, it only gets displayed as part
   969  	// of the resource.
   970  	//   "WARNING" - If level is warning, will end up in the resource as a warning.
   971  	//   "ERROR" - If level is error, it will indicate an error occurred after
   972  	// finishCondition is set, and this field will populate resource errors and
   973  	// operation errors.
   974  	Level string `json:"level,omitempty"`
   975  	// ForceSendFields is a list of field names (e.g. "Field") to unconditionally
   976  	// include in API requests. By default, fields with empty or default values are
   977  	// omitted from API requests. See
   978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   979  	// details.
   980  	ForceSendFields []string `json:"-"`
   981  	// NullFields is a list of field names (e.g. "Field") to include in API
   982  	// requests with the JSON null value. By default, fields with empty values are
   983  	// omitted from API requests. See
   984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   985  	NullFields []string `json:"-"`
   986  }
   987  
   988  func (s *Diagnostic) MarshalJSON() ([]byte, error) {
   989  	type NoMethod Diagnostic
   990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   991  }
   992  
   993  // Expr: Represents a textual expression in the Common Expression Language
   994  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
   995  // of CEL are documented at https://github.com/google/cel-spec. Example
   996  // (Comparison): title: "Summary size limit" description: "Determines if a
   997  // summary is less than 100 chars" expression: "document.summary.size() < 100"
   998  // Example (Equality): title: "Requestor is owner" description: "Determines if
   999  // requestor is the document owner" expression: "document.owner ==
  1000  // request.auth.claims.email" Example (Logic): title: "Public documents"
  1001  // description: "Determine whether the document should be publicly visible"
  1002  // expression: "document.type != 'private' && document.type != 'internal'"
  1003  // Example (Data Manipulation): title: "Notification string" description:
  1004  // "Create a notification string with a timestamp." expression: "'New message
  1005  // received at ' + string(document.create_time)" The exact variables and
  1006  // functions that may be referenced within an expression are determined by the
  1007  // service that evaluates it. See the service documentation for additional
  1008  // information.
  1009  type Expr struct {
  1010  	// Description: Optional. Description of the expression. This is a longer text
  1011  	// which describes the expression, e.g. when hovered over it in a UI.
  1012  	Description string `json:"description,omitempty"`
  1013  	// Expression: Textual representation of an expression in Common Expression
  1014  	// Language syntax.
  1015  	Expression string `json:"expression,omitempty"`
  1016  	// Location: Optional. String indicating the location of the expression for
  1017  	// error reporting, e.g. a file name and a position in the file.
  1018  	Location string `json:"location,omitempty"`
  1019  	// Title: Optional. Title for the expression, i.e. a short string describing
  1020  	// its purpose. This can be used e.g. in UIs which allow to enter the
  1021  	// expression.
  1022  	Title string `json:"title,omitempty"`
  1023  	// ForceSendFields is a list of field names (e.g. "Description") to
  1024  	// unconditionally include in API requests. By default, fields with empty or
  1025  	// default values are omitted from API requests. See
  1026  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1027  	// details.
  1028  	ForceSendFields []string `json:"-"`
  1029  	// NullFields is a list of field names (e.g. "Description") to include in API
  1030  	// requests with the JSON null value. By default, fields with empty values are
  1031  	// omitted from API requests. See
  1032  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1033  	NullFields []string `json:"-"`
  1034  }
  1035  
  1036  func (s *Expr) MarshalJSON() ([]byte, error) {
  1037  	type NoMethod Expr
  1038  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1039  }
  1040  
  1041  type GlobalSetPolicyRequest struct {
  1042  	// Bindings: Flatten Policy to create a backward compatible wire-format.
  1043  	// Deprecated. Use 'policy' to specify bindings.
  1044  	Bindings []*Binding `json:"bindings,omitempty"`
  1045  	// Etag: Flatten Policy to create a backward compatible wire-format.
  1046  	// Deprecated. Use 'policy' to specify the etag.
  1047  	Etag string `json:"etag,omitempty"`
  1048  	// Policy: REQUIRED: The complete policy to be applied to the 'resource'. The
  1049  	// size of the policy is limited to a few 10s of KB. An empty policy is in
  1050  	// general a valid policy but certain services (like Projects) might reject
  1051  	// them.
  1052  	Policy *Policy `json:"policy,omitempty"`
  1053  	// ForceSendFields is a list of field names (e.g. "Bindings") to
  1054  	// unconditionally include in API requests. By default, fields with empty or
  1055  	// default values are omitted from API requests. See
  1056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1057  	// details.
  1058  	ForceSendFields []string `json:"-"`
  1059  	// NullFields is a list of field names (e.g. "Bindings") to include in API
  1060  	// requests with the JSON null value. By default, fields with empty values are
  1061  	// omitted from API requests. See
  1062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1063  	NullFields []string `json:"-"`
  1064  }
  1065  
  1066  func (s *GlobalSetPolicyRequest) MarshalJSON() ([]byte, error) {
  1067  	type NoMethod GlobalSetPolicyRequest
  1068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1069  }
  1070  
  1071  type ImportFile struct {
  1072  	// Content: The contents of the file.
  1073  	Content string `json:"content,omitempty"`
  1074  	// Name: The name of the file.
  1075  	Name string `json:"name,omitempty"`
  1076  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  1077  	// include in API requests. By default, fields with empty or default values are
  1078  	// omitted from API requests. See
  1079  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1080  	// details.
  1081  	ForceSendFields []string `json:"-"`
  1082  	// NullFields is a list of field names (e.g. "Content") to include in API
  1083  	// requests with the JSON null value. By default, fields with empty values are
  1084  	// omitted from API requests. See
  1085  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1086  	NullFields []string `json:"-"`
  1087  }
  1088  
  1089  func (s *ImportFile) MarshalJSON() ([]byte, error) {
  1090  	type NoMethod ImportFile
  1091  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1092  }
  1093  
  1094  // InputMapping: InputMapping creates a 'virtual' property that will be
  1095  // injected into the properties before sending the request to the underlying
  1096  // API.
  1097  type InputMapping struct {
  1098  	// FieldName: The name of the field that is going to be injected.
  1099  	FieldName string `json:"fieldName,omitempty"`
  1100  	// Location: The location where this mapping applies.
  1101  	//
  1102  	// Possible values:
  1103  	//   "UNKNOWN"
  1104  	//   "PATH"
  1105  	//   "QUERY"
  1106  	//   "BODY"
  1107  	//   "HEADER"
  1108  	Location string `json:"location,omitempty"`
  1109  	// MethodMatch: Regex to evaluate on method to decide if input applies.
  1110  	MethodMatch string `json:"methodMatch,omitempty"`
  1111  	// Value: A jsonPath expression to select an element.
  1112  	Value string `json:"value,omitempty"`
  1113  	// ForceSendFields is a list of field names (e.g. "FieldName") to
  1114  	// unconditionally include in API requests. By default, fields with empty or
  1115  	// default values are omitted from API requests. See
  1116  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1117  	// details.
  1118  	ForceSendFields []string `json:"-"`
  1119  	// NullFields is a list of field names (e.g. "FieldName") to include in API
  1120  	// requests with the JSON null value. By default, fields with empty values are
  1121  	// omitted from API requests. See
  1122  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1123  	NullFields []string `json:"-"`
  1124  }
  1125  
  1126  func (s *InputMapping) MarshalJSON() ([]byte, error) {
  1127  	type NoMethod InputMapping
  1128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1129  }
  1130  
  1131  type InstancesBulkInsertOperationMetadata struct {
  1132  	// PerLocationStatus: Status information per location (location name is key).
  1133  	// Example key: zones/us-central1-a
  1134  	PerLocationStatus map[string]BulkInsertOperationStatus `json:"perLocationStatus,omitempty"`
  1135  	// ForceSendFields is a list of field names (e.g. "PerLocationStatus") to
  1136  	// unconditionally include in API requests. By default, fields with empty or
  1137  	// default values are omitted from API requests. See
  1138  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1139  	// details.
  1140  	ForceSendFields []string `json:"-"`
  1141  	// NullFields is a list of field names (e.g. "PerLocationStatus") to include in
  1142  	// API requests with the JSON null value. By default, fields with empty values
  1143  	// are omitted from API requests. See
  1144  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1145  	NullFields []string `json:"-"`
  1146  }
  1147  
  1148  func (s *InstancesBulkInsertOperationMetadata) MarshalJSON() ([]byte, error) {
  1149  	type NoMethod InstancesBulkInsertOperationMetadata
  1150  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1151  }
  1152  
  1153  type Manifest struct {
  1154  	// Config: Output only. The YAML configuration for this manifest.
  1155  	Config *ConfigFile `json:"config,omitempty"`
  1156  	// ExpandedConfig: Output only. The fully-expanded configuration file,
  1157  	// including any templates and references.
  1158  	ExpandedConfig string `json:"expandedConfig,omitempty"`
  1159  	Id             uint64 `json:"id,omitempty,string"`
  1160  	// Imports: Output only. The imported files for this manifest.
  1161  	Imports []*ImportFile `json:"imports,omitempty"`
  1162  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
  1163  	InsertTime string `json:"insertTime,omitempty"`
  1164  	// Layout: Output only. The YAML layout for this manifest.
  1165  	Layout string `json:"layout,omitempty"`
  1166  	// ManifestSizeBytes: Output only. The computed size of the fully expanded
  1167  	// manifest.
  1168  	ManifestSizeBytes int64 `json:"manifestSizeBytes,omitempty,string"`
  1169  	// ManifestSizeLimitBytes: Output only. The size limit for expanded manifests
  1170  	// in the project.
  1171  	ManifestSizeLimitBytes int64 `json:"manifestSizeLimitBytes,omitempty,string"`
  1172  	// Name: Output only. The name of the manifest.
  1173  	Name string `json:"name,omitempty"`
  1174  	// SelfLink: Output only. Self link for the manifest.
  1175  	SelfLink string `json:"selfLink,omitempty"`
  1176  
  1177  	// ServerResponse contains the HTTP response code and headers from the server.
  1178  	googleapi.ServerResponse `json:"-"`
  1179  	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
  1180  	// include in API requests. By default, fields with empty or default values are
  1181  	// omitted from API requests. See
  1182  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1183  	// details.
  1184  	ForceSendFields []string `json:"-"`
  1185  	// NullFields is a list of field names (e.g. "Config") to include in API
  1186  	// requests with the JSON null value. By default, fields with empty values are
  1187  	// omitted from API requests. See
  1188  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1189  	NullFields []string `json:"-"`
  1190  }
  1191  
  1192  func (s *Manifest) MarshalJSON() ([]byte, error) {
  1193  	type NoMethod Manifest
  1194  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1195  }
  1196  
  1197  // ManifestsListResponse: A response containing a partial list of manifests and
  1198  // a page token used to build the next request if the request has been
  1199  // truncated.
  1200  type ManifestsListResponse struct {
  1201  	// Manifests: Output only. Manifests contained in this list response.
  1202  	Manifests []*Manifest `json:"manifests,omitempty"`
  1203  	// NextPageToken: Output only. A token used to continue a truncated list
  1204  	// request.
  1205  	NextPageToken string `json:"nextPageToken,omitempty"`
  1206  
  1207  	// ServerResponse contains the HTTP response code and headers from the server.
  1208  	googleapi.ServerResponse `json:"-"`
  1209  	// ForceSendFields is a list of field names (e.g. "Manifests") to
  1210  	// unconditionally include in API requests. By default, fields with empty or
  1211  	// default values are omitted from API requests. See
  1212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1213  	// details.
  1214  	ForceSendFields []string `json:"-"`
  1215  	// NullFields is a list of field names (e.g. "Manifests") to include in API
  1216  	// requests with the JSON null value. By default, fields with empty values are
  1217  	// omitted from API requests. See
  1218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1219  	NullFields []string `json:"-"`
  1220  }
  1221  
  1222  func (s *ManifestsListResponse) MarshalJSON() ([]byte, error) {
  1223  	type NoMethod ManifestsListResponse
  1224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1225  }
  1226  
  1227  // Operation: Represents an Operation resource. Google Compute Engine has three
  1228  // Operation resources: * Global
  1229  // (/compute/docs/reference/rest/{$api_version}/globalOperations) * Regional
  1230  // (/compute/docs/reference/rest/{$api_version}/regionOperations) * Zonal
  1231  // (/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an
  1232  // operation resource to manage asynchronous API requests. For more
  1233  // information, read Handling API responses. Operations can be global, regional
  1234  // or zonal. - For global operations, use the `globalOperations` resource. -
  1235  // For regional operations, use the `regionOperations` resource. - For zonal
  1236  // operations, use the `zoneOperations` resource. For more information, read
  1237  // Global, Regional, and Zonal Resources. Note that completed Operation
  1238  // resources have a limited retention period.
  1239  type Operation struct {
  1240  	// ClientOperationId: [Output Only] The value of `requestId` if you provided it
  1241  	// in the request. Not present otherwise.
  1242  	ClientOperationId string `json:"clientOperationId,omitempty"`
  1243  	// CreationTimestamp: [Deprecated] This field is deprecated.
  1244  	CreationTimestamp string `json:"creationTimestamp,omitempty"`
  1245  	// Description: [Output Only] A textual description of the operation, which is
  1246  	// set when the operation is created.
  1247  	Description string `json:"description,omitempty"`
  1248  	// EndTime: [Output Only] The time that this operation was completed. This
  1249  	// value is in RFC3339 text format.
  1250  	EndTime string `json:"endTime,omitempty"`
  1251  	// Error: [Output Only] If errors are generated during processing of the
  1252  	// operation, this field will be populated.
  1253  	Error *OperationError `json:"error,omitempty"`
  1254  	// HttpErrorMessage: [Output Only] If the operation fails, this field contains
  1255  	// the HTTP error message that was returned, such as `NOT FOUND`.
  1256  	HttpErrorMessage string `json:"httpErrorMessage,omitempty"`
  1257  	// HttpErrorStatusCode: [Output Only] If the operation fails, this field
  1258  	// contains the HTTP error status code that was returned. For example, a `404`
  1259  	// means the resource was not found.
  1260  	HttpErrorStatusCode int64 `json:"httpErrorStatusCode,omitempty"`
  1261  	// Id: [Output Only] The unique identifier for the operation. This identifier
  1262  	// is defined by the server.
  1263  	Id uint64 `json:"id,omitempty,string"`
  1264  	// InsertTime: [Output Only] The time that this operation was requested. This
  1265  	// value is in RFC3339 text format.
  1266  	InsertTime                           string                                `json:"insertTime,omitempty"`
  1267  	InstancesBulkInsertOperationMetadata *InstancesBulkInsertOperationMetadata `json:"instancesBulkInsertOperationMetadata,omitempty"`
  1268  	// Kind: [Output Only] Type of the resource. Always `compute#operation` for
  1269  	// Operation resources.
  1270  	Kind string `json:"kind,omitempty"`
  1271  	// Name: [Output Only] Name of the operation.
  1272  	Name string `json:"name,omitempty"`
  1273  	// OperationGroupId: [Output Only] An ID that represents a group of operations,
  1274  	// such as when a group of operations results from a `bulkInsert` API request.
  1275  	OperationGroupId string `json:"operationGroupId,omitempty"`
  1276  	// OperationType: [Output Only] The type of operation, such as `insert`,
  1277  	// `update`, or `delete`, and so on.
  1278  	OperationType string `json:"operationType,omitempty"`
  1279  	// Progress: [Output Only] An optional progress indicator that ranges from 0 to
  1280  	// 100. There is no requirement that this be linear or support any granularity
  1281  	// of operations. This should not be used to guess when the operation will be
  1282  	// complete. This number should monotonically increase as the operation
  1283  	// progresses.
  1284  	Progress int64 `json:"progress,omitempty"`
  1285  	// Region: [Output Only] The URL of the region where the operation resides.
  1286  	// Only applicable when performing regional operations.
  1287  	Region string `json:"region,omitempty"`
  1288  	// SelfLink: [Output Only] Server-defined URL for the resource.
  1289  	SelfLink string `json:"selfLink,omitempty"`
  1290  	// SetCommonInstanceMetadataOperationMetadata: [Output Only] If the operation
  1291  	// is for projects.setCommonInstanceMetadata, this field will contain
  1292  	// information on all underlying zonal actions and their state.
  1293  	SetCommonInstanceMetadataOperationMetadata *SetCommonInstanceMetadataOperationMetadata `json:"setCommonInstanceMetadataOperationMetadata,omitempty"`
  1294  	// StartTime: [Output Only] The time that this operation was started by the
  1295  	// server. This value is in RFC3339 text format.
  1296  	StartTime string `json:"startTime,omitempty"`
  1297  	// Status: [Output Only] The status of the operation, which can be one of the
  1298  	// following: `PENDING`, `RUNNING`, or `DONE`.
  1299  	//
  1300  	// Possible values:
  1301  	//   "PENDING"
  1302  	//   "RUNNING"
  1303  	//   "DONE"
  1304  	Status string `json:"status,omitempty"`
  1305  	// StatusMessage: [Output Only] An optional textual description of the current
  1306  	// status of the operation.
  1307  	StatusMessage string `json:"statusMessage,omitempty"`
  1308  	// TargetId: [Output Only] The unique target ID, which identifies a specific
  1309  	// incarnation of the target resource.
  1310  	TargetId uint64 `json:"targetId,omitempty,string"`
  1311  	// TargetLink: [Output Only] The URL of the resource that the operation
  1312  	// modifies. For operations related to creating a snapshot, this points to the
  1313  	// persistent disk that the snapshot was created from.
  1314  	TargetLink string `json:"targetLink,omitempty"`
  1315  	// User: [Output Only] User who requested the operation, for example:
  1316  	// `user@example.com` or `alice_smith_identifier
  1317  	// (global/workforcePools/example-com-us-employees)`.
  1318  	User string `json:"user,omitempty"`
  1319  	// Warnings: [Output Only] If warning messages are generated during processing
  1320  	// of the operation, this field will be populated.
  1321  	Warnings []*OperationWarnings `json:"warnings,omitempty"`
  1322  	// Zone: [Output Only] The URL of the zone where the operation resides. Only
  1323  	// applicable when performing per-zone operations.
  1324  	Zone string `json:"zone,omitempty"`
  1325  
  1326  	// ServerResponse contains the HTTP response code and headers from the server.
  1327  	googleapi.ServerResponse `json:"-"`
  1328  	// ForceSendFields is a list of field names (e.g. "ClientOperationId") to
  1329  	// unconditionally include in API requests. By default, fields with empty or
  1330  	// default values are omitted from API requests. See
  1331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1332  	// details.
  1333  	ForceSendFields []string `json:"-"`
  1334  	// NullFields is a list of field names (e.g. "ClientOperationId") to include in
  1335  	// API requests with the JSON null value. By default, fields with empty values
  1336  	// are omitted from API requests. See
  1337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1338  	NullFields []string `json:"-"`
  1339  }
  1340  
  1341  func (s *Operation) MarshalJSON() ([]byte, error) {
  1342  	type NoMethod Operation
  1343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1344  }
  1345  
  1346  // OperationError: [Output Only] If errors are generated during processing of
  1347  // the operation, this field will be populated.
  1348  type OperationError struct {
  1349  	// Errors: [Output Only] The array of errors encountered while processing this
  1350  	// operation.
  1351  	Errors []*OperationErrorErrors `json:"errors,omitempty"`
  1352  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  1353  	// include in API requests. By default, fields with empty or default values are
  1354  	// omitted from API requests. See
  1355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1356  	// details.
  1357  	ForceSendFields []string `json:"-"`
  1358  	// NullFields is a list of field names (e.g. "Errors") to include in API
  1359  	// requests with the JSON null value. By default, fields with empty values are
  1360  	// omitted from API requests. See
  1361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1362  	NullFields []string `json:"-"`
  1363  }
  1364  
  1365  func (s *OperationError) MarshalJSON() ([]byte, error) {
  1366  	type NoMethod OperationError
  1367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1368  }
  1369  
  1370  type OperationErrorErrors struct {
  1371  	// Code: [Output Only] The error type identifier for this error.
  1372  	Code string `json:"code,omitempty"`
  1373  	// Location: [Output Only] Indicates the field in the request that caused the
  1374  	// error. This property is optional.
  1375  	Location string `json:"location,omitempty"`
  1376  	// Message: [Output Only] An optional, human-readable error message.
  1377  	Message string `json:"message,omitempty"`
  1378  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1379  	// include in API requests. By default, fields with empty or default values are
  1380  	// omitted from API requests. See
  1381  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1382  	// details.
  1383  	ForceSendFields []string `json:"-"`
  1384  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1385  	// with the JSON null value. By default, fields with empty values are omitted
  1386  	// from API requests. See
  1387  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1388  	NullFields []string `json:"-"`
  1389  }
  1390  
  1391  func (s *OperationErrorErrors) MarshalJSON() ([]byte, error) {
  1392  	type NoMethod OperationErrorErrors
  1393  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1394  }
  1395  
  1396  type OperationWarnings struct {
  1397  	// Code: [Output Only] A warning code, if applicable. For example, Compute
  1398  	// Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
  1399  	//
  1400  	// Possible values:
  1401  	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
  1402  	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
  1403  	//   "UNREACHABLE" - A given scope cannot be reached.
  1404  	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
  1405  	// assigned to an instance on the network.
  1406  	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
  1407  	// an instance that does not exist.
  1408  	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
  1409  	// refers to an instance that is not on the same network as the route.
  1410  	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
  1411  	// forward.
  1412  	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
  1413  	// status of RUNNING.
  1414  	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
  1415  	// kernel, which is deprecated.
  1416  	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
  1417  	// requires a TOS they have not accepted.
  1418  	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
  1419  	// larger than image size.
  1420  	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
  1421  	// could not be deleted because they were in use.
  1422  	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
  1423  	// group manager is valid as such, but its application does not make a lot of
  1424  	// sense, because it allows only single instance in instance group.
  1425  	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
  1426  	// the process despite the mentioned error.
  1427  	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
  1428  	// by a failed operation.
  1429  	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
  1430  	// overridden. Deprecated unused field.
  1431  	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
  1432  	// in use.
  1433  	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
  1434  	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api call
  1435  	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
  1436  	// ignored.
  1437  	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
  1438  	// present
  1439  	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
  1440  	// resources has a type marked as experimental
  1441  	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
  1442  	// has a type marked as deprecated
  1443  	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
  1444  	// due to errors
  1445  	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
  1446  	// exceedingly large number of resources
  1447  	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
  1448  	// URL refers to an instance that does not have an ipv6 interface on the same
  1449  	// network as the route.
  1450  	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
  1451  	// service is associated with a health check that is not of type
  1452  	// HTTP/HTTPS/HTTP2.
  1453  	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
  1454  	// overhead quota exceed which captures the amount of resources filtered out by
  1455  	// user-defined list filter.
  1456  	Code string `json:"code,omitempty"`
  1457  	// Data: [Output Only] Metadata about this warning in key: value format. For
  1458  	// example: "data": [ { "key": "scope", "value": "zones/us-east1-d" }
  1459  	Data []*OperationWarningsData `json:"data,omitempty"`
  1460  	// Message: [Output Only] A human-readable description of the warning code.
  1461  	Message string `json:"message,omitempty"`
  1462  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1463  	// include in API requests. By default, fields with empty or default values are
  1464  	// omitted from API requests. See
  1465  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1466  	// details.
  1467  	ForceSendFields []string `json:"-"`
  1468  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1469  	// with the JSON null value. By default, fields with empty values are omitted
  1470  	// from API requests. See
  1471  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1472  	NullFields []string `json:"-"`
  1473  }
  1474  
  1475  func (s *OperationWarnings) MarshalJSON() ([]byte, error) {
  1476  	type NoMethod OperationWarnings
  1477  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1478  }
  1479  
  1480  type OperationWarningsData struct {
  1481  	// Key: [Output Only] A key that provides more detail on the warning being
  1482  	// returned. For example, for warnings where there are no results in a list
  1483  	// request for a particular zone, this key might be scope and the key value
  1484  	// might be the zone name. Other examples might be a key indicating a
  1485  	// deprecated resource and a suggested replacement, or a warning about invalid
  1486  	// network settings (for example, if an instance attempts to perform IP
  1487  	// forwarding but is not enabled for IP forwarding).
  1488  	Key string `json:"key,omitempty"`
  1489  	// Value: [Output Only] A warning data value corresponding to the key.
  1490  	Value string `json:"value,omitempty"`
  1491  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  1492  	// include in API requests. By default, fields with empty or default values are
  1493  	// omitted from API requests. See
  1494  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1495  	// details.
  1496  	ForceSendFields []string `json:"-"`
  1497  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  1498  	// with the JSON null value. By default, fields with empty values are omitted
  1499  	// from API requests. See
  1500  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1501  	NullFields []string `json:"-"`
  1502  }
  1503  
  1504  func (s *OperationWarningsData) MarshalJSON() ([]byte, error) {
  1505  	type NoMethod OperationWarningsData
  1506  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1507  }
  1508  
  1509  // OperationsListResponse: A response containing a partial list of operations
  1510  // and a page token used to build the next request if the request has been
  1511  // truncated.
  1512  type OperationsListResponse struct {
  1513  	// NextPageToken: Output only. A token used to continue a truncated list
  1514  	// request.
  1515  	NextPageToken string `json:"nextPageToken,omitempty"`
  1516  	// Operations: Output only. Operations contained in this list response.
  1517  	Operations []*Operation `json:"operations,omitempty"`
  1518  
  1519  	// ServerResponse contains the HTTP response code and headers from the server.
  1520  	googleapi.ServerResponse `json:"-"`
  1521  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1522  	// unconditionally include in API requests. By default, fields with empty or
  1523  	// default values are omitted from API requests. See
  1524  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1525  	// details.
  1526  	ForceSendFields []string `json:"-"`
  1527  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1528  	// requests with the JSON null value. By default, fields with empty values are
  1529  	// omitted from API requests. See
  1530  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1531  	NullFields []string `json:"-"`
  1532  }
  1533  
  1534  func (s *OperationsListResponse) MarshalJSON() ([]byte, error) {
  1535  	type NoMethod OperationsListResponse
  1536  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1537  }
  1538  
  1539  // Options: Options allows customized resource handling by Deployment Manager.
  1540  type Options struct {
  1541  	// AsyncOptions: Options regarding how to thread async requests.
  1542  	AsyncOptions []*AsyncOptions `json:"asyncOptions,omitempty"`
  1543  	// InputMappings: The mappings that apply for requests.
  1544  	InputMappings []*InputMapping `json:"inputMappings,omitempty"`
  1545  	// ValidationOptions: Options for how to validate and process properties on a
  1546  	// resource.
  1547  	ValidationOptions *ValidationOptions `json:"validationOptions,omitempty"`
  1548  	// VirtualProperties: Additional properties block described as a jsonSchema,
  1549  	// these properties will never be part of the json payload, but they can be
  1550  	// consumed by InputMappings, this must be a valid json schema draft-04. The
  1551  	// properties specified here will be decouple in a different section. This
  1552  	// schema will be merged to the schema validation, and properties here will be
  1553  	// extracted From the payload and consumed explicitly by InputMappings. ex:
  1554  	// field1: type: string field2: type: number
  1555  	VirtualProperties string `json:"virtualProperties,omitempty"`
  1556  	// ForceSendFields is a list of field names (e.g. "AsyncOptions") to
  1557  	// unconditionally include in API requests. By default, fields with empty or
  1558  	// default values are omitted from API requests. See
  1559  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1560  	// details.
  1561  	ForceSendFields []string `json:"-"`
  1562  	// NullFields is a list of field names (e.g. "AsyncOptions") to include in API
  1563  	// requests with the JSON null value. By default, fields with empty values are
  1564  	// omitted from API requests. See
  1565  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1566  	NullFields []string `json:"-"`
  1567  }
  1568  
  1569  func (s *Options) MarshalJSON() ([]byte, error) {
  1570  	type NoMethod Options
  1571  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1572  }
  1573  
  1574  // Policy: An Identity and Access Management (IAM) policy, which specifies
  1575  // access controls for Google Cloud resources. A `Policy` is a collection of
  1576  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  1577  // single `role`. Principals can be user accounts, service accounts, Google
  1578  // groups, and domains (such as G Suite). A `role` is a named list of
  1579  // permissions; each `role` can be an IAM predefined role or a user-created
  1580  // custom role. For some types of Google Cloud resources, a `binding` can also
  1581  // specify a `condition`, which is a logical expression that allows access to a
  1582  // resource only if the expression evaluates to `true`. A condition can add
  1583  // constraints based on attributes of the request, the resource, or both. To
  1584  // learn which resources support conditions in their IAM policies, see the IAM
  1585  // documentation
  1586  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  1587  // example:** ``` { "bindings": [ { "role":
  1588  // "roles/resourcemanager.organizationAdmin", "members": [
  1589  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  1590  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  1591  // "roles/resourcemanager.organizationViewer", "members": [
  1592  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  1593  // "description": "Does not grant access after Sep 2020", "expression":
  1594  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  1595  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  1596  // members: - user:mike@example.com - group:admins@example.com -
  1597  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  1598  // role: roles/resourcemanager.organizationAdmin - members: -
  1599  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  1600  // condition: title: expirable access description: Does not grant access after
  1601  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  1602  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  1603  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  1604  type Policy struct {
  1605  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  1606  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  1607  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  1608  	// Optionally, may specify a `condition` that determines how and when the
  1609  	// `bindings` are applied. Each of the `bindings` must contain at least one
  1610  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  1611  	// up to 250 of these principals can be Google groups. Each occurrence of a
  1612  	// principal counts towards these limits. For example, if the `bindings` grant
  1613  	// 50 different roles to `user:alice@example.com`, and not to any other
  1614  	// principal, then you can add another 1,450 principals to the `bindings` in
  1615  	// the `Policy`.
  1616  	Bindings []*Binding `json:"bindings,omitempty"`
  1617  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  1618  	// prevent simultaneous updates of a policy from overwriting each other. It is
  1619  	// strongly suggested that systems make use of the `etag` in the
  1620  	// read-modify-write cycle to perform policy updates in order to avoid race
  1621  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  1622  	// systems are expected to put that etag in the request to `setIamPolicy` to
  1623  	// ensure that their change will be applied to the same version of the policy.
  1624  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  1625  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  1626  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  1627  	// the conditions in the version `3` policy are lost.
  1628  	Etag string `json:"etag,omitempty"`
  1629  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  1630  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  1631  	// affects conditional role bindings must specify version `3`. This requirement
  1632  	// applies to the following operations: * Getting a policy that includes a
  1633  	// conditional role binding * Adding a conditional role binding to a policy *
  1634  	// Changing a conditional role binding in a policy * Removing any role binding,
  1635  	// with or without a condition, from a policy that includes conditions
  1636  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  1637  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  1638  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  1639  	// the conditions in the version `3` policy are lost. If a policy does not
  1640  	// include any conditions, operations on that policy may specify any valid
  1641  	// version or leave the field unset. To learn which resources support
  1642  	// conditions in their IAM policies, see the IAM documentation
  1643  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  1644  	Version int64 `json:"version,omitempty"`
  1645  
  1646  	// ServerResponse contains the HTTP response code and headers from the server.
  1647  	googleapi.ServerResponse `json:"-"`
  1648  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  1649  	// unconditionally include in API requests. By default, fields with empty or
  1650  	// default values are omitted from API requests. See
  1651  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1652  	// details.
  1653  	ForceSendFields []string `json:"-"`
  1654  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  1655  	// requests with the JSON null value. By default, fields with empty values are
  1656  	// omitted from API requests. See
  1657  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1658  	NullFields []string `json:"-"`
  1659  }
  1660  
  1661  func (s *Policy) MarshalJSON() ([]byte, error) {
  1662  	type NoMethod Policy
  1663  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1664  }
  1665  
  1666  type PollingOptions struct {
  1667  	// Diagnostics: An array of diagnostics to be collected by Deployment Manager,
  1668  	// these diagnostics will be displayed to the user.
  1669  	Diagnostics []*Diagnostic `json:"diagnostics,omitempty"`
  1670  	// FailCondition: JsonPath expression that determines if the request failed.
  1671  	FailCondition string `json:"failCondition,omitempty"`
  1672  	// FinishCondition: JsonPath expression that determines if the request is
  1673  	// completed.
  1674  	FinishCondition string `json:"finishCondition,omitempty"`
  1675  	// PollingLink: JsonPath expression that evaluates to string, it indicates
  1676  	// where to poll.
  1677  	PollingLink string `json:"pollingLink,omitempty"`
  1678  	// TargetLink: JsonPath expression, after polling is completed, indicates where
  1679  	// to fetch the resource.
  1680  	TargetLink string `json:"targetLink,omitempty"`
  1681  	// ForceSendFields is a list of field names (e.g. "Diagnostics") to
  1682  	// unconditionally include in API requests. By default, fields with empty or
  1683  	// default values are omitted from API requests. See
  1684  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1685  	// details.
  1686  	ForceSendFields []string `json:"-"`
  1687  	// NullFields is a list of field names (e.g. "Diagnostics") to include in API
  1688  	// requests with the JSON null value. By default, fields with empty values are
  1689  	// omitted from API requests. See
  1690  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1691  	NullFields []string `json:"-"`
  1692  }
  1693  
  1694  func (s *PollingOptions) MarshalJSON() ([]byte, error) {
  1695  	type NoMethod PollingOptions
  1696  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1697  }
  1698  
  1699  type Resource struct {
  1700  	// AccessControl: The Access Control Policy set on this resource.
  1701  	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
  1702  	// FinalProperties: Output only. The evaluated properties of the resource with
  1703  	// references expanded. Returned as serialized YAML.
  1704  	FinalProperties string `json:"finalProperties,omitempty"`
  1705  	Id              uint64 `json:"id,omitempty,string"`
  1706  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
  1707  	InsertTime string `json:"insertTime,omitempty"`
  1708  	// Manifest: Output only. URL of the manifest representing the current
  1709  	// configuration of this resource.
  1710  	Manifest string `json:"manifest,omitempty"`
  1711  	// Name: Output only. The name of the resource as it appears in the YAML
  1712  	// config.
  1713  	Name string `json:"name,omitempty"`
  1714  	// Properties: Output only. The current properties of the resource before any
  1715  	// references have been filled in. Returned as serialized YAML.
  1716  	Properties string `json:"properties,omitempty"`
  1717  	// Type: Output only. The type of the resource, for example
  1718  	// `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.
  1719  	Type string `json:"type,omitempty"`
  1720  	// Update: Output only. If Deployment Manager is currently updating or
  1721  	// previewing an update to this resource, the updated configuration appears
  1722  	// here.
  1723  	Update *ResourceUpdate `json:"update,omitempty"`
  1724  	// UpdateTime: Output only. Update timestamp in RFC3339 text format.
  1725  	UpdateTime string `json:"updateTime,omitempty"`
  1726  	// Url: Output only. The URL of the actual resource.
  1727  	Url string `json:"url,omitempty"`
  1728  	// Warnings: Output only. If warning messages are generated during processing
  1729  	// of this resource, this field will be populated.
  1730  	Warnings []*ResourceWarnings `json:"warnings,omitempty"`
  1731  
  1732  	// ServerResponse contains the HTTP response code and headers from the server.
  1733  	googleapi.ServerResponse `json:"-"`
  1734  	// ForceSendFields is a list of field names (e.g. "AccessControl") to
  1735  	// unconditionally include in API requests. By default, fields with empty or
  1736  	// default values are omitted from API requests. See
  1737  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1738  	// details.
  1739  	ForceSendFields []string `json:"-"`
  1740  	// NullFields is a list of field names (e.g. "AccessControl") to include in API
  1741  	// requests with the JSON null value. By default, fields with empty values are
  1742  	// omitted from API requests. See
  1743  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1744  	NullFields []string `json:"-"`
  1745  }
  1746  
  1747  func (s *Resource) MarshalJSON() ([]byte, error) {
  1748  	type NoMethod Resource
  1749  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1750  }
  1751  
  1752  type ResourceWarnings struct {
  1753  	// Code: [Output Only] A warning code, if applicable. For example, Compute
  1754  	// Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
  1755  	//
  1756  	// Possible values:
  1757  	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
  1758  	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
  1759  	//   "UNREACHABLE" - A given scope cannot be reached.
  1760  	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
  1761  	// assigned to an instance on the network.
  1762  	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
  1763  	// an instance that does not exist.
  1764  	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
  1765  	// refers to an instance that is not on the same network as the route.
  1766  	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
  1767  	// forward.
  1768  	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
  1769  	// status of RUNNING.
  1770  	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
  1771  	// kernel, which is deprecated.
  1772  	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
  1773  	// requires a TOS they have not accepted.
  1774  	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
  1775  	// larger than image size.
  1776  	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
  1777  	// could not be deleted because they were in use.
  1778  	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
  1779  	// group manager is valid as such, but its application does not make a lot of
  1780  	// sense, because it allows only single instance in instance group.
  1781  	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
  1782  	// the process despite the mentioned error.
  1783  	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
  1784  	// by a failed operation.
  1785  	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
  1786  	// overridden. Deprecated unused field.
  1787  	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
  1788  	// in use.
  1789  	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
  1790  	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api call
  1791  	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
  1792  	// ignored.
  1793  	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
  1794  	// present
  1795  	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
  1796  	// resources has a type marked as experimental
  1797  	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
  1798  	// has a type marked as deprecated
  1799  	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
  1800  	// due to errors
  1801  	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
  1802  	// exceedingly large number of resources
  1803  	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
  1804  	// URL refers to an instance that does not have an ipv6 interface on the same
  1805  	// network as the route.
  1806  	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
  1807  	// service is associated with a health check that is not of type
  1808  	// HTTP/HTTPS/HTTP2.
  1809  	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
  1810  	// overhead quota exceed which captures the amount of resources filtered out by
  1811  	// user-defined list filter.
  1812  	Code string `json:"code,omitempty"`
  1813  	// Data: [Output Only] Metadata about this warning in key: value format. For
  1814  	// example: "data": [ { "key": "scope", "value": "zones/us-east1-d" }
  1815  	Data []*ResourceWarningsData `json:"data,omitempty"`
  1816  	// Message: [Output Only] A human-readable description of the warning code.
  1817  	Message string `json:"message,omitempty"`
  1818  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1819  	// include in API requests. By default, fields with empty or default values are
  1820  	// omitted from API requests. See
  1821  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1822  	// details.
  1823  	ForceSendFields []string `json:"-"`
  1824  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1825  	// with the JSON null value. By default, fields with empty values are omitted
  1826  	// from API requests. See
  1827  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1828  	NullFields []string `json:"-"`
  1829  }
  1830  
  1831  func (s *ResourceWarnings) MarshalJSON() ([]byte, error) {
  1832  	type NoMethod ResourceWarnings
  1833  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1834  }
  1835  
  1836  type ResourceWarningsData struct {
  1837  	// Key: [Output Only] A key that provides more detail on the warning being
  1838  	// returned. For example, for warnings where there are no results in a list
  1839  	// request for a particular zone, this key might be scope and the key value
  1840  	// might be the zone name. Other examples might be a key indicating a
  1841  	// deprecated resource and a suggested replacement, or a warning about invalid
  1842  	// network settings (for example, if an instance attempts to perform IP
  1843  	// forwarding but is not enabled for IP forwarding).
  1844  	Key string `json:"key,omitempty"`
  1845  	// Value: [Output Only] A warning data value corresponding to the key.
  1846  	Value string `json:"value,omitempty"`
  1847  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  1848  	// include in API requests. By default, fields with empty or default values are
  1849  	// omitted from API requests. See
  1850  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1851  	// details.
  1852  	ForceSendFields []string `json:"-"`
  1853  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  1854  	// with the JSON null value. By default, fields with empty values are omitted
  1855  	// from API requests. See
  1856  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1857  	NullFields []string `json:"-"`
  1858  }
  1859  
  1860  func (s *ResourceWarningsData) MarshalJSON() ([]byte, error) {
  1861  	type NoMethod ResourceWarningsData
  1862  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1863  }
  1864  
  1865  // ResourceAccessControl: The access controls set on the resource.
  1866  type ResourceAccessControl struct {
  1867  	// GcpIamPolicy: The GCP IAM Policy to set on the resource.
  1868  	GcpIamPolicy string `json:"gcpIamPolicy,omitempty"`
  1869  	// ForceSendFields is a list of field names (e.g. "GcpIamPolicy") to
  1870  	// unconditionally include in API requests. By default, fields with empty or
  1871  	// default values are omitted from API requests. See
  1872  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1873  	// details.
  1874  	ForceSendFields []string `json:"-"`
  1875  	// NullFields is a list of field names (e.g. "GcpIamPolicy") to include in API
  1876  	// requests with the JSON null value. By default, fields with empty values are
  1877  	// omitted from API requests. See
  1878  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1879  	NullFields []string `json:"-"`
  1880  }
  1881  
  1882  func (s *ResourceAccessControl) MarshalJSON() ([]byte, error) {
  1883  	type NoMethod ResourceAccessControl
  1884  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1885  }
  1886  
  1887  type ResourceUpdate struct {
  1888  	// AccessControl: The Access Control Policy to set on this resource after
  1889  	// updating the resource itself.
  1890  	AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
  1891  	// Error: Output only. If errors are generated during update of the resource,
  1892  	// this field will be populated.
  1893  	Error *ResourceUpdateError `json:"error,omitempty"`
  1894  	// FinalProperties: Output only. The expanded properties of the resource with
  1895  	// reference values expanded. Returned as serialized YAML.
  1896  	FinalProperties string `json:"finalProperties,omitempty"`
  1897  	// Intent: Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or
  1898  	// `CANCEL`.
  1899  	//
  1900  	// Possible values:
  1901  	//   "CREATE_OR_ACQUIRE" - The resource is scheduled to be created, or if it
  1902  	// already exists, acquired.
  1903  	//   "DELETE" - The resource is scheduled to be deleted.
  1904  	//   "ACQUIRE" - The resource is scheduled to be acquired.
  1905  	//   "UPDATE" - The resource is scheduled to be updated via the UPDATE method.
  1906  	//   "ABANDON" - The resource is scheduled to be abandoned.
  1907  	//   "CREATE" - The resource is scheduled to be created.
  1908  	Intent string `json:"intent,omitempty"`
  1909  	// Manifest: Output only. URL of the manifest representing the update
  1910  	// configuration of this resource.
  1911  	Manifest string `json:"manifest,omitempty"`
  1912  	// Properties: Output only. The set of updated properties for this resource,
  1913  	// before references are expanded. Returned as serialized YAML.
  1914  	Properties string `json:"properties,omitempty"`
  1915  	// State: Output only. The state of the resource.
  1916  	//
  1917  	// Possible values:
  1918  	//   "PENDING" - There are changes pending for this resource.
  1919  	//   "IN_PROGRESS" - The service is executing changes on the resource.
  1920  	//   "IN_PREVIEW" - The service is previewing changes on the resource.
  1921  	//   "FAILED" - The service has failed to change the resource.
  1922  	//   "ABORTED" - The service has aborted trying to change the resource.
  1923  	State string `json:"state,omitempty"`
  1924  	// Warnings: Output only. If warning messages are generated during processing
  1925  	// of this resource, this field will be populated.
  1926  	Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"`
  1927  	// ForceSendFields is a list of field names (e.g. "AccessControl") to
  1928  	// unconditionally include in API requests. By default, fields with empty or
  1929  	// default values are omitted from API requests. See
  1930  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1931  	// details.
  1932  	ForceSendFields []string `json:"-"`
  1933  	// NullFields is a list of field names (e.g. "AccessControl") to include in API
  1934  	// requests with the JSON null value. By default, fields with empty values are
  1935  	// omitted from API requests. See
  1936  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1937  	NullFields []string `json:"-"`
  1938  }
  1939  
  1940  func (s *ResourceUpdate) MarshalJSON() ([]byte, error) {
  1941  	type NoMethod ResourceUpdate
  1942  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1943  }
  1944  
  1945  // ResourceUpdateError: Output only. If errors are generated during update of
  1946  // the resource, this field will be populated.
  1947  type ResourceUpdateError struct {
  1948  	// Errors: [Output Only] The array of errors encountered while processing this
  1949  	// operation.
  1950  	Errors []*ResourceUpdateErrorErrors `json:"errors,omitempty"`
  1951  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  1952  	// include in API requests. By default, fields with empty or default values are
  1953  	// omitted from API requests. See
  1954  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1955  	// details.
  1956  	ForceSendFields []string `json:"-"`
  1957  	// NullFields is a list of field names (e.g. "Errors") to include in API
  1958  	// requests with the JSON null value. By default, fields with empty values are
  1959  	// omitted from API requests. See
  1960  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1961  	NullFields []string `json:"-"`
  1962  }
  1963  
  1964  func (s *ResourceUpdateError) MarshalJSON() ([]byte, error) {
  1965  	type NoMethod ResourceUpdateError
  1966  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1967  }
  1968  
  1969  type ResourceUpdateErrorErrors struct {
  1970  	// Code: [Output Only] The error type identifier for this error.
  1971  	Code string `json:"code,omitempty"`
  1972  	// Location: [Output Only] Indicates the field in the request that caused the
  1973  	// error. This property is optional.
  1974  	Location string `json:"location,omitempty"`
  1975  	// Message: [Output Only] An optional, human-readable error message.
  1976  	Message string `json:"message,omitempty"`
  1977  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1978  	// include in API requests. By default, fields with empty or default values are
  1979  	// omitted from API requests. See
  1980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1981  	// details.
  1982  	ForceSendFields []string `json:"-"`
  1983  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1984  	// with the JSON null value. By default, fields with empty values are omitted
  1985  	// from API requests. See
  1986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1987  	NullFields []string `json:"-"`
  1988  }
  1989  
  1990  func (s *ResourceUpdateErrorErrors) MarshalJSON() ([]byte, error) {
  1991  	type NoMethod ResourceUpdateErrorErrors
  1992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1993  }
  1994  
  1995  type ResourceUpdateWarnings struct {
  1996  	// Code: [Output Only] A warning code, if applicable. For example, Compute
  1997  	// Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
  1998  	//
  1999  	// Possible values:
  2000  	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created.
  2001  	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list page.
  2002  	//   "UNREACHABLE" - A given scope cannot be reached.
  2003  	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not
  2004  	// assigned to an instance on the network.
  2005  	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to
  2006  	// an instance that does not exist.
  2007  	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL
  2008  	// refers to an instance that is not on the same network as the route.
  2009  	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip
  2010  	// forward.
  2011  	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a
  2012  	// status of RUNNING.
  2013  	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected
  2014  	// kernel, which is deprecated.
  2015  	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that
  2016  	// requires a TOS they have not accepted.
  2017  	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is
  2018  	// larger than image size.
  2019  	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete
  2020  	// could not be deleted because they were in use.
  2021  	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance
  2022  	// group manager is valid as such, but its application does not make a lot of
  2023  	// sense, because it allows only single instance in instance group.
  2024  	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue
  2025  	// the process despite the mentioned error.
  2026  	//   "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made
  2027  	// by a failed operation.
  2028  	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
  2029  	// overridden. Deprecated unused field.
  2030  	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is
  2031  	// in use.
  2032  	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
  2033  	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api call
  2034  	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
  2035  	// ignored.
  2036  	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are
  2037  	// present
  2038  	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
  2039  	// resources has a type marked as experimental
  2040  	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources
  2041  	// has a type marked as deprecated
  2042  	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be missing
  2043  	// due to errors
  2044  	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
  2045  	// exceedingly large number of resources
  2046  	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance
  2047  	// URL refers to an instance that does not have an ipv6 interface on the same
  2048  	// network as the route.
  2049  	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend
  2050  	// service is associated with a health check that is not of type
  2051  	// HTTP/HTTPS/HTTP2.
  2052  	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list
  2053  	// overhead quota exceed which captures the amount of resources filtered out by
  2054  	// user-defined list filter.
  2055  	Code string `json:"code,omitempty"`
  2056  	// Data: [Output Only] Metadata about this warning in key: value format. For
  2057  	// example: "data": [ { "key": "scope", "value": "zones/us-east1-d" }
  2058  	Data []*ResourceUpdateWarningsData `json:"data,omitempty"`
  2059  	// Message: [Output Only] A human-readable description of the warning code.
  2060  	Message string `json:"message,omitempty"`
  2061  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2062  	// include in API requests. By default, fields with empty or default values are
  2063  	// omitted from API requests. See
  2064  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2065  	// details.
  2066  	ForceSendFields []string `json:"-"`
  2067  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2068  	// with the JSON null value. By default, fields with empty values are omitted
  2069  	// from API requests. See
  2070  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2071  	NullFields []string `json:"-"`
  2072  }
  2073  
  2074  func (s *ResourceUpdateWarnings) MarshalJSON() ([]byte, error) {
  2075  	type NoMethod ResourceUpdateWarnings
  2076  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2077  }
  2078  
  2079  type ResourceUpdateWarningsData struct {
  2080  	// Key: [Output Only] A key that provides more detail on the warning being
  2081  	// returned. For example, for warnings where there are no results in a list
  2082  	// request for a particular zone, this key might be scope and the key value
  2083  	// might be the zone name. Other examples might be a key indicating a
  2084  	// deprecated resource and a suggested replacement, or a warning about invalid
  2085  	// network settings (for example, if an instance attempts to perform IP
  2086  	// forwarding but is not enabled for IP forwarding).
  2087  	Key string `json:"key,omitempty"`
  2088  	// Value: [Output Only] A warning data value corresponding to the key.
  2089  	Value string `json:"value,omitempty"`
  2090  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2091  	// include in API requests. By default, fields with empty or default values are
  2092  	// omitted from API requests. See
  2093  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2094  	// details.
  2095  	ForceSendFields []string `json:"-"`
  2096  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2097  	// with the JSON null value. By default, fields with empty values are omitted
  2098  	// from API requests. See
  2099  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2100  	NullFields []string `json:"-"`
  2101  }
  2102  
  2103  func (s *ResourceUpdateWarningsData) MarshalJSON() ([]byte, error) {
  2104  	type NoMethod ResourceUpdateWarningsData
  2105  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2106  }
  2107  
  2108  // ResourcesListResponse: A response containing a partial list of resources and
  2109  // a page token used to build the next request if the request has been
  2110  // truncated.
  2111  type ResourcesListResponse struct {
  2112  	// NextPageToken: A token used to continue a truncated list request.
  2113  	NextPageToken string `json:"nextPageToken,omitempty"`
  2114  	// Resources: Resources contained in this list response.
  2115  	Resources []*Resource `json:"resources,omitempty"`
  2116  
  2117  	// ServerResponse contains the HTTP response code and headers from the server.
  2118  	googleapi.ServerResponse `json:"-"`
  2119  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2120  	// unconditionally include in API requests. By default, fields with empty or
  2121  	// default values are omitted from API requests. See
  2122  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2123  	// details.
  2124  	ForceSendFields []string `json:"-"`
  2125  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2126  	// requests with the JSON null value. By default, fields with empty values are
  2127  	// omitted from API requests. See
  2128  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2129  	NullFields []string `json:"-"`
  2130  }
  2131  
  2132  func (s *ResourcesListResponse) MarshalJSON() ([]byte, error) {
  2133  	type NoMethod ResourcesListResponse
  2134  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2135  }
  2136  
  2137  // ServiceAccount: Service Account used as a credential.
  2138  type ServiceAccount struct {
  2139  	// Email: The IAM service account email address like
  2140  	// test@myproject.iam.gserviceaccount.com
  2141  	Email string `json:"email,omitempty"`
  2142  	// ForceSendFields is a list of field names (e.g. "Email") to unconditionally
  2143  	// include in API requests. By default, fields with empty or default values are
  2144  	// omitted from API requests. See
  2145  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2146  	// details.
  2147  	ForceSendFields []string `json:"-"`
  2148  	// NullFields is a list of field names (e.g. "Email") to include in API
  2149  	// requests with the JSON null value. By default, fields with empty values are
  2150  	// omitted from API requests. See
  2151  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2152  	NullFields []string `json:"-"`
  2153  }
  2154  
  2155  func (s *ServiceAccount) MarshalJSON() ([]byte, error) {
  2156  	type NoMethod ServiceAccount
  2157  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2158  }
  2159  
  2160  type SetCommonInstanceMetadataOperationMetadata struct {
  2161  	// ClientOperationId: [Output Only] The client operation id.
  2162  	ClientOperationId string `json:"clientOperationId,omitempty"`
  2163  	// PerLocationOperations: [Output Only] Status information per location
  2164  	// (location name is key). Example key: zones/us-central1-a
  2165  	PerLocationOperations map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo `json:"perLocationOperations,omitempty"`
  2166  	// ForceSendFields is a list of field names (e.g. "ClientOperationId") to
  2167  	// unconditionally include in API requests. By default, fields with empty or
  2168  	// default values are omitted from API requests. See
  2169  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2170  	// details.
  2171  	ForceSendFields []string `json:"-"`
  2172  	// NullFields is a list of field names (e.g. "ClientOperationId") to include in
  2173  	// API requests with the JSON null value. By default, fields with empty values
  2174  	// are omitted from API requests. See
  2175  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2176  	NullFields []string `json:"-"`
  2177  }
  2178  
  2179  func (s *SetCommonInstanceMetadataOperationMetadata) MarshalJSON() ([]byte, error) {
  2180  	type NoMethod SetCommonInstanceMetadataOperationMetadata
  2181  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2182  }
  2183  
  2184  type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo struct {
  2185  	// Error: [Output Only] If state is `ABANDONED` or `FAILED`, this field is
  2186  	// populated.
  2187  	Error *Status `json:"error,omitempty"`
  2188  	// State: [Output Only] Status of the action, which can be one of the
  2189  	// following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
  2190  	//
  2191  	// Possible values:
  2192  	//   "UNSPECIFIED"
  2193  	//   "PROPAGATING" - Operation is not yet confirmed to have been created in the
  2194  	// location.
  2195  	//   "PROPAGATED" - Operation is confirmed to be in the location.
  2196  	//   "ABANDONED" - Operation not tracked in this location e.g. zone is marked
  2197  	// as DOWN.
  2198  	//   "FAILED" - Operation is in an error state.
  2199  	//   "DONE" - Operation has completed successfully.
  2200  	State string `json:"state,omitempty"`
  2201  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  2202  	// include in API requests. By default, fields with empty or default values are
  2203  	// omitted from API requests. See
  2204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2205  	// details.
  2206  	ForceSendFields []string `json:"-"`
  2207  	// NullFields is a list of field names (e.g. "Error") to include in API
  2208  	// requests with the JSON null value. By default, fields with empty values are
  2209  	// omitted from API requests. See
  2210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2211  	NullFields []string `json:"-"`
  2212  }
  2213  
  2214  func (s *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) MarshalJSON() ([]byte, error) {
  2215  	type NoMethod SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo
  2216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2217  }
  2218  
  2219  // Status: The `Status` type defines a logical error model that is suitable for
  2220  // different programming environments, including REST APIs and RPC APIs. It is
  2221  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2222  // pieces of data: error code, error message, and error details. You can find
  2223  // out more about this error model and how to work with it in the API Design
  2224  // Guide (https://cloud.google.com/apis/design/errors).
  2225  type Status struct {
  2226  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2227  	Code int64 `json:"code,omitempty"`
  2228  	// Details: A list of messages that carry the error details. There is a common
  2229  	// set of message types for APIs to use.
  2230  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2231  	// Message: A developer-facing error message, which should be in English. Any
  2232  	// user-facing error message should be localized and sent in the
  2233  	// google.rpc.Status.details field, or localized by the client.
  2234  	Message string `json:"message,omitempty"`
  2235  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2236  	// include in API requests. By default, fields with empty or default values are
  2237  	// omitted from API requests. See
  2238  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2239  	// details.
  2240  	ForceSendFields []string `json:"-"`
  2241  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2242  	// with the JSON null value. By default, fields with empty values are omitted
  2243  	// from API requests. See
  2244  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2245  	NullFields []string `json:"-"`
  2246  }
  2247  
  2248  func (s *Status) MarshalJSON() ([]byte, error) {
  2249  	type NoMethod Status
  2250  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2251  }
  2252  
  2253  type TargetConfiguration struct {
  2254  	// Config: The configuration to use for this deployment.
  2255  	Config *ConfigFile `json:"config,omitempty"`
  2256  	// Imports: Specifies any files to import for this configuration. This can be
  2257  	// used to import templates or other files. For example, you might import a
  2258  	// text file in order to use the file in a template.
  2259  	Imports []*ImportFile `json:"imports,omitempty"`
  2260  	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
  2261  	// include in API requests. By default, fields with empty or default values are
  2262  	// omitted from API requests. See
  2263  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2264  	// details.
  2265  	ForceSendFields []string `json:"-"`
  2266  	// NullFields is a list of field names (e.g. "Config") to include in API
  2267  	// requests with the JSON null value. By default, fields with empty values are
  2268  	// omitted from API requests. See
  2269  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2270  	NullFields []string `json:"-"`
  2271  }
  2272  
  2273  func (s *TargetConfiguration) MarshalJSON() ([]byte, error) {
  2274  	type NoMethod TargetConfiguration
  2275  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2276  }
  2277  
  2278  // TemplateContents: Files that make up the template contents of a template
  2279  // type.
  2280  type TemplateContents struct {
  2281  	// Imports: Import files referenced by the main template.
  2282  	Imports []*ImportFile `json:"imports,omitempty"`
  2283  	// Interpreter: Which interpreter (python or jinja) should be used during
  2284  	// expansion.
  2285  	//
  2286  	// Possible values:
  2287  	//   "UNKNOWN_INTERPRETER"
  2288  	//   "PYTHON"
  2289  	//   "JINJA"
  2290  	Interpreter string `json:"interpreter,omitempty"`
  2291  	// MainTemplate: The filename of the mainTemplate
  2292  	MainTemplate string `json:"mainTemplate,omitempty"`
  2293  	// Schema: The contents of the template schema.
  2294  	Schema string `json:"schema,omitempty"`
  2295  	// Template: The contents of the main template file.
  2296  	Template string `json:"template,omitempty"`
  2297  	// ForceSendFields is a list of field names (e.g. "Imports") to unconditionally
  2298  	// include in API requests. By default, fields with empty or default values are
  2299  	// omitted from API requests. See
  2300  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2301  	// details.
  2302  	ForceSendFields []string `json:"-"`
  2303  	// NullFields is a list of field names (e.g. "Imports") to include in API
  2304  	// requests with the JSON null value. By default, fields with empty values are
  2305  	// omitted from API requests. See
  2306  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2307  	NullFields []string `json:"-"`
  2308  }
  2309  
  2310  func (s *TemplateContents) MarshalJSON() ([]byte, error) {
  2311  	type NoMethod TemplateContents
  2312  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2313  }
  2314  
  2315  type TestPermissionsRequest struct {
  2316  	// Permissions: The set of permissions to check for the 'resource'. Permissions
  2317  	// with wildcards (such as '*' or 'storage.*') are not allowed.
  2318  	Permissions []string `json:"permissions,omitempty"`
  2319  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  2320  	// unconditionally include in API requests. By default, fields with empty or
  2321  	// default values are omitted from API requests. See
  2322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2323  	// details.
  2324  	ForceSendFields []string `json:"-"`
  2325  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  2326  	// requests with the JSON null value. By default, fields with empty values are
  2327  	// omitted from API requests. See
  2328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2329  	NullFields []string `json:"-"`
  2330  }
  2331  
  2332  func (s *TestPermissionsRequest) MarshalJSON() ([]byte, error) {
  2333  	type NoMethod TestPermissionsRequest
  2334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2335  }
  2336  
  2337  type TestPermissionsResponse struct {
  2338  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  2339  	// caller is allowed.
  2340  	Permissions []string `json:"permissions,omitempty"`
  2341  
  2342  	// ServerResponse contains the HTTP response code and headers from the server.
  2343  	googleapi.ServerResponse `json:"-"`
  2344  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  2345  	// unconditionally include in API requests. By default, fields with empty or
  2346  	// default values are omitted from API requests. See
  2347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2348  	// details.
  2349  	ForceSendFields []string `json:"-"`
  2350  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  2351  	// requests with the JSON null value. By default, fields with empty values are
  2352  	// omitted from API requests. See
  2353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2354  	NullFields []string `json:"-"`
  2355  }
  2356  
  2357  func (s *TestPermissionsResponse) MarshalJSON() ([]byte, error) {
  2358  	type NoMethod TestPermissionsResponse
  2359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2360  }
  2361  
  2362  // Type: A resource type supported by Deployment Manager.
  2363  type Type struct {
  2364  	// Base: Base Type (configurable service) that backs this Type.
  2365  	Base *BaseType `json:"base,omitempty"`
  2366  	// Description: An optional textual description of the resource; provided by
  2367  	// the client when the resource is created.
  2368  	Description string `json:"description,omitempty"`
  2369  	Id          uint64 `json:"id,omitempty,string"`
  2370  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
  2371  	InsertTime string `json:"insertTime,omitempty"`
  2372  	// Labels: Map of One Platform labels; provided by the client when the resource
  2373  	// is created or updated. Specifically: Label keys must be between 1 and 63
  2374  	// characters long and must conform to the following regular expression: `a-z
  2375  	// ([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long
  2376  	// and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
  2377  	Labels []*TypeLabelEntry `json:"labels,omitempty"`
  2378  	// Name: Name of the type.
  2379  	Name string `json:"name,omitempty"`
  2380  	// Operation: Output only. The Operation that most recently ran, or is
  2381  	// currently running, on this type.
  2382  	Operation *Operation `json:"operation,omitempty"`
  2383  	// SelfLink: Output only. Server defined URL for the resource.
  2384  	SelfLink string `json:"selfLink,omitempty"`
  2385  	// ForceSendFields is a list of field names (e.g. "Base") to unconditionally
  2386  	// include in API requests. By default, fields with empty or default values are
  2387  	// omitted from API requests. See
  2388  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2389  	// details.
  2390  	ForceSendFields []string `json:"-"`
  2391  	// NullFields is a list of field names (e.g. "Base") to include in API requests
  2392  	// with the JSON null value. By default, fields with empty values are omitted
  2393  	// from API requests. See
  2394  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2395  	NullFields []string `json:"-"`
  2396  }
  2397  
  2398  func (s *Type) MarshalJSON() ([]byte, error) {
  2399  	type NoMethod Type
  2400  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2401  }
  2402  
  2403  // TypeInfo: Type Information. Contains detailed information about a composite
  2404  // type, base type, or base type with specific collection.
  2405  type TypeInfo struct {
  2406  	// Description: The description of the type.
  2407  	Description string `json:"description,omitempty"`
  2408  	// DocumentationLink: For swagger 2.0 externalDocs field will be used. For
  2409  	// swagger 1.2 this field will be empty.
  2410  	DocumentationLink string `json:"documentationLink,omitempty"`
  2411  	// Kind: Output only. Type of the output. Always `deploymentManager#TypeInfo`
  2412  	// for TypeInfo.
  2413  	Kind string `json:"kind,omitempty"`
  2414  	// Name: The base type or composite type name.
  2415  	Name string `json:"name,omitempty"`
  2416  	// Schema: For base types with a collection, we return a schema and
  2417  	// documentation link For template types, we return only a schema
  2418  	Schema *TypeInfoSchemaInfo `json:"schema,omitempty"`
  2419  	// SelfLink: Output only. Self link for the type provider.
  2420  	SelfLink string `json:"selfLink,omitempty"`
  2421  	// Title: The title on the API descriptor URL provided.
  2422  	Title string `json:"title,omitempty"`
  2423  
  2424  	// ServerResponse contains the HTTP response code and headers from the server.
  2425  	googleapi.ServerResponse `json:"-"`
  2426  	// ForceSendFields is a list of field names (e.g. "Description") to
  2427  	// unconditionally include in API requests. By default, fields with empty or
  2428  	// default values are omitted from API requests. See
  2429  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2430  	// details.
  2431  	ForceSendFields []string `json:"-"`
  2432  	// NullFields is a list of field names (e.g. "Description") to include in API
  2433  	// requests with the JSON null value. By default, fields with empty values are
  2434  	// omitted from API requests. See
  2435  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2436  	NullFields []string `json:"-"`
  2437  }
  2438  
  2439  func (s *TypeInfo) MarshalJSON() ([]byte, error) {
  2440  	type NoMethod TypeInfo
  2441  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2442  }
  2443  
  2444  type TypeInfoSchemaInfo struct {
  2445  	// Input: The properties that this composite type or base type collection
  2446  	// accept as input, represented as a json blob, format is: JSON Schema Draft V4
  2447  	Input string `json:"input,omitempty"`
  2448  	// Output: The properties that this composite type or base type collection
  2449  	// exposes as output, these properties can be used for references, represented
  2450  	// as json blob, format is: JSON Schema Draft V4
  2451  	Output string `json:"output,omitempty"`
  2452  	// ForceSendFields is a list of field names (e.g. "Input") to unconditionally
  2453  	// include in API requests. By default, fields with empty or default values are
  2454  	// omitted from API requests. See
  2455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2456  	// details.
  2457  	ForceSendFields []string `json:"-"`
  2458  	// NullFields is a list of field names (e.g. "Input") to include in API
  2459  	// requests with the JSON null value. By default, fields with empty values are
  2460  	// omitted from API requests. See
  2461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2462  	NullFields []string `json:"-"`
  2463  }
  2464  
  2465  func (s *TypeInfoSchemaInfo) MarshalJSON() ([]byte, error) {
  2466  	type NoMethod TypeInfoSchemaInfo
  2467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2468  }
  2469  
  2470  // TypeLabelEntry: Label object for Types
  2471  type TypeLabelEntry struct {
  2472  	// Key: Key of the label
  2473  	Key string `json:"key,omitempty"`
  2474  	// Value: Value of the label
  2475  	Value string `json:"value,omitempty"`
  2476  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2477  	// include in API requests. By default, fields with empty or default values are
  2478  	// omitted from API requests. See
  2479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2480  	// details.
  2481  	ForceSendFields []string `json:"-"`
  2482  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2483  	// with the JSON null value. By default, fields with empty values are omitted
  2484  	// from API requests. See
  2485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2486  	NullFields []string `json:"-"`
  2487  }
  2488  
  2489  func (s *TypeLabelEntry) MarshalJSON() ([]byte, error) {
  2490  	type NoMethod TypeLabelEntry
  2491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2492  }
  2493  
  2494  // TypeProvider: A type provider that describes a service-backed Type.
  2495  type TypeProvider struct {
  2496  	// CollectionOverrides: Allows resource handling overrides for specific
  2497  	// collections
  2498  	CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
  2499  	// Credential: Credential used when interacting with this type.
  2500  	Credential *Credential `json:"credential,omitempty"`
  2501  	// CustomCertificateAuthorityRoots: List of up to 2 custom certificate
  2502  	// authority roots to use for TLS authentication when making calls on behalf of
  2503  	// this type provider. If set, TLS authentication will exclusively use these
  2504  	// roots instead of relying on publicly trusted certificate authorities when
  2505  	// validating TLS certificate authenticity. The certificates must be in
  2506  	// base64-encoded PEM format. The maximum size of each certificate must not
  2507  	// exceed 10KB.
  2508  	CustomCertificateAuthorityRoots []string `json:"customCertificateAuthorityRoots,omitempty"`
  2509  	// Description: An optional textual description of the resource; provided by
  2510  	// the client when the resource is created.
  2511  	Description string `json:"description,omitempty"`
  2512  	// DescriptorUrl: Descriptor Url for the this type provider.
  2513  	DescriptorUrl string `json:"descriptorUrl,omitempty"`
  2514  	// Id: Output only. Unique identifier for the resource defined by the server.
  2515  	Id uint64 `json:"id,omitempty,string"`
  2516  	// InsertTime: Output only. Creation timestamp in RFC3339 text format.
  2517  	InsertTime string `json:"insertTime,omitempty"`
  2518  	// Labels: Map of One Platform labels; provided by the client when the resource
  2519  	// is created or updated. Specifically: Label keys must be between 1 and 63
  2520  	// characters long and must conform to the following regular expression: `a-z
  2521  	// ([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long
  2522  	// and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`
  2523  	Labels []*TypeProviderLabelEntry `json:"labels,omitempty"`
  2524  	// Name: Name of the resource; provided by the client when the resource is
  2525  	// created. The name must be 1-63 characters long, and comply with RFC1035.
  2526  	// Specifically, the name must be 1-63 characters long and match the regular
  2527  	// expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
  2528  	// be a lowercase letter, and all following characters must be a dash,
  2529  	// lowercase letter, or digit, except the last character, which cannot be a
  2530  	// dash.
  2531  	Name string `json:"name,omitempty"`
  2532  	// Operation: Output only. The Operation that most recently ran, or is
  2533  	// currently running, on this type provider.
  2534  	Operation *Operation `json:"operation,omitempty"`
  2535  	// Options: Options to apply when handling any resources in this service.
  2536  	Options *Options `json:"options,omitempty"`
  2537  	// SelfLink: Output only. Self link for the type provider.
  2538  	SelfLink string `json:"selfLink,omitempty"`
  2539  
  2540  	// ServerResponse contains the HTTP response code and headers from the server.
  2541  	googleapi.ServerResponse `json:"-"`
  2542  	// ForceSendFields is a list of field names (e.g. "CollectionOverrides") to
  2543  	// unconditionally include in API requests. By default, fields with empty or
  2544  	// default values are omitted from API requests. See
  2545  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2546  	// details.
  2547  	ForceSendFields []string `json:"-"`
  2548  	// NullFields is a list of field names (e.g. "CollectionOverrides") to include
  2549  	// in API requests with the JSON null value. By default, fields with empty
  2550  	// values are omitted from API requests. See
  2551  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2552  	NullFields []string `json:"-"`
  2553  }
  2554  
  2555  func (s *TypeProvider) MarshalJSON() ([]byte, error) {
  2556  	type NoMethod TypeProvider
  2557  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2558  }
  2559  
  2560  // TypeProviderLabelEntry: Label object for TypeProviders
  2561  type TypeProviderLabelEntry struct {
  2562  	// Key: Key of the label
  2563  	Key string `json:"key,omitempty"`
  2564  	// Value: Value of the label
  2565  	Value string `json:"value,omitempty"`
  2566  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2567  	// include in API requests. By default, fields with empty or default values are
  2568  	// omitted from API requests. See
  2569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2570  	// details.
  2571  	ForceSendFields []string `json:"-"`
  2572  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2573  	// with the JSON null value. By default, fields with empty values are omitted
  2574  	// from API requests. See
  2575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2576  	NullFields []string `json:"-"`
  2577  }
  2578  
  2579  func (s *TypeProviderLabelEntry) MarshalJSON() ([]byte, error) {
  2580  	type NoMethod TypeProviderLabelEntry
  2581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2582  }
  2583  
  2584  // TypeProvidersListResponse: A response that returns all Type Providers
  2585  // supported by Deployment Manager
  2586  type TypeProvidersListResponse struct {
  2587  	// NextPageToken: A token used to continue a truncated list request.
  2588  	NextPageToken string `json:"nextPageToken,omitempty"`
  2589  	// TypeProviders: Output only. A list of resource type providers supported by
  2590  	// Deployment Manager.
  2591  	TypeProviders []*TypeProvider `json:"typeProviders,omitempty"`
  2592  
  2593  	// ServerResponse contains the HTTP response code and headers from the server.
  2594  	googleapi.ServerResponse `json:"-"`
  2595  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2596  	// unconditionally include in API requests. By default, fields with empty or
  2597  	// default values are omitted from API requests. See
  2598  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2599  	// details.
  2600  	ForceSendFields []string `json:"-"`
  2601  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2602  	// requests with the JSON null value. By default, fields with empty values are
  2603  	// omitted from API requests. See
  2604  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2605  	NullFields []string `json:"-"`
  2606  }
  2607  
  2608  func (s *TypeProvidersListResponse) MarshalJSON() ([]byte, error) {
  2609  	type NoMethod TypeProvidersListResponse
  2610  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2611  }
  2612  
  2613  type TypeProvidersListTypesResponse struct {
  2614  	// NextPageToken: A token used to continue a truncated list request.
  2615  	NextPageToken string `json:"nextPageToken,omitempty"`
  2616  	// Types: Output only. A list of resource type info.
  2617  	Types []*TypeInfo `json:"types,omitempty"`
  2618  
  2619  	// ServerResponse contains the HTTP response code and headers from the server.
  2620  	googleapi.ServerResponse `json:"-"`
  2621  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2622  	// unconditionally include in API requests. By default, fields with empty or
  2623  	// default values are omitted from API requests. See
  2624  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2625  	// details.
  2626  	ForceSendFields []string `json:"-"`
  2627  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2628  	// requests with the JSON null value. By default, fields with empty values are
  2629  	// omitted from API requests. See
  2630  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2631  	NullFields []string `json:"-"`
  2632  }
  2633  
  2634  func (s *TypeProvidersListTypesResponse) MarshalJSON() ([]byte, error) {
  2635  	type NoMethod TypeProvidersListTypesResponse
  2636  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2637  }
  2638  
  2639  // TypesListResponse: A response that returns all Types supported by Deployment
  2640  // Manager
  2641  type TypesListResponse struct {
  2642  	// NextPageToken: A token used to continue a truncated list request.
  2643  	NextPageToken string `json:"nextPageToken,omitempty"`
  2644  	// Types: Output only. A list of resource types supported by Deployment
  2645  	// Manager.
  2646  	Types []*Type `json:"types,omitempty"`
  2647  
  2648  	// ServerResponse contains the HTTP response code and headers from the server.
  2649  	googleapi.ServerResponse `json:"-"`
  2650  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2651  	// unconditionally include in API requests. By default, fields with empty or
  2652  	// default values are omitted from API requests. See
  2653  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2654  	// details.
  2655  	ForceSendFields []string `json:"-"`
  2656  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2657  	// requests with the JSON null value. By default, fields with empty values are
  2658  	// omitted from API requests. See
  2659  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2660  	NullFields []string `json:"-"`
  2661  }
  2662  
  2663  func (s *TypesListResponse) MarshalJSON() ([]byte, error) {
  2664  	type NoMethod TypesListResponse
  2665  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2666  }
  2667  
  2668  // ValidationOptions: Options for how to validate and process properties on a
  2669  // resource.
  2670  type ValidationOptions struct {
  2671  	// SchemaValidation: Customize how deployment manager will validate the
  2672  	// resource against schema errors.
  2673  	//
  2674  	// Possible values:
  2675  	//   "UNKNOWN"
  2676  	//   "IGNORE" - Ignore schema failures.
  2677  	//   "IGNORE_WITH_WARNINGS" - Ignore schema failures but display them as
  2678  	// warnings.
  2679  	//   "FAIL" - Fail the resource if the schema is not valid, this is the default
  2680  	// behavior.
  2681  	SchemaValidation string `json:"schemaValidation,omitempty"`
  2682  	// UndeclaredProperties: Specify what to do with extra properties when
  2683  	// executing a request.
  2684  	//
  2685  	// Possible values:
  2686  	//   "UNKNOWN"
  2687  	//   "INCLUDE" - Always include even if not present on discovery doc.
  2688  	//   "IGNORE" - Always ignore if not present on discovery doc.
  2689  	//   "INCLUDE_WITH_WARNINGS" - Include on request, but emit a warning.
  2690  	//   "IGNORE_WITH_WARNINGS" - Ignore properties, but emit a warning.
  2691  	//   "FAIL" - Always fail if undeclared properties are present.
  2692  	UndeclaredProperties string `json:"undeclaredProperties,omitempty"`
  2693  	// ForceSendFields is a list of field names (e.g. "SchemaValidation") to
  2694  	// unconditionally include in API requests. By default, fields with empty or
  2695  	// default values are omitted from API requests. See
  2696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2697  	// details.
  2698  	ForceSendFields []string `json:"-"`
  2699  	// NullFields is a list of field names (e.g. "SchemaValidation") to include in
  2700  	// API requests with the JSON null value. By default, fields with empty values
  2701  	// are omitted from API requests. See
  2702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2703  	NullFields []string `json:"-"`
  2704  }
  2705  
  2706  func (s *ValidationOptions) MarshalJSON() ([]byte, error) {
  2707  	type NoMethod ValidationOptions
  2708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2709  }
  2710  
  2711  type CompositeTypesDeleteCall struct {
  2712  	s             *Service
  2713  	project       string
  2714  	compositeType string
  2715  	urlParams_    gensupport.URLParams
  2716  	ctx_          context.Context
  2717  	header_       http.Header
  2718  }
  2719  
  2720  // Delete: Deletes a composite type.
  2721  //
  2722  // - compositeType: The name of the type for this request.
  2723  // - project: The project ID for this request.
  2724  func (r *CompositeTypesService) Delete(project string, compositeType string) *CompositeTypesDeleteCall {
  2725  	c := &CompositeTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2726  	c.project = project
  2727  	c.compositeType = compositeType
  2728  	return c
  2729  }
  2730  
  2731  // Fields allows partial responses to be retrieved. See
  2732  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2733  // details.
  2734  func (c *CompositeTypesDeleteCall) Fields(s ...googleapi.Field) *CompositeTypesDeleteCall {
  2735  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2736  	return c
  2737  }
  2738  
  2739  // Context sets the context to be used in this call's Do method.
  2740  func (c *CompositeTypesDeleteCall) Context(ctx context.Context) *CompositeTypesDeleteCall {
  2741  	c.ctx_ = ctx
  2742  	return c
  2743  }
  2744  
  2745  // Header returns a http.Header that can be modified by the caller to add
  2746  // headers to the request.
  2747  func (c *CompositeTypesDeleteCall) Header() http.Header {
  2748  	if c.header_ == nil {
  2749  		c.header_ = make(http.Header)
  2750  	}
  2751  	return c.header_
  2752  }
  2753  
  2754  func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
  2755  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2756  	var body io.Reader = nil
  2757  	c.urlParams_.Set("alt", alt)
  2758  	c.urlParams_.Set("prettyPrint", "false")
  2759  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
  2760  	urls += "?" + c.urlParams_.Encode()
  2761  	req, err := http.NewRequest("DELETE", urls, body)
  2762  	if err != nil {
  2763  		return nil, err
  2764  	}
  2765  	req.Header = reqHeaders
  2766  	googleapi.Expand(req.URL, map[string]string{
  2767  		"project":       c.project,
  2768  		"compositeType": c.compositeType,
  2769  	})
  2770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2771  }
  2772  
  2773  // Do executes the "deploymentmanager.compositeTypes.delete" call.
  2774  // Any non-2xx status code is an error. Response headers are in either
  2775  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  2776  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2777  // whether the returned error was because http.StatusNotModified was returned.
  2778  func (c *CompositeTypesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  2779  	gensupport.SetOptions(c.urlParams_, opts...)
  2780  	res, err := c.doRequest("json")
  2781  	if res != nil && res.StatusCode == http.StatusNotModified {
  2782  		if res.Body != nil {
  2783  			res.Body.Close()
  2784  		}
  2785  		return nil, gensupport.WrapError(&googleapi.Error{
  2786  			Code:   res.StatusCode,
  2787  			Header: res.Header,
  2788  		})
  2789  	}
  2790  	if err != nil {
  2791  		return nil, err
  2792  	}
  2793  	defer googleapi.CloseBody(res)
  2794  	if err := googleapi.CheckResponse(res); err != nil {
  2795  		return nil, gensupport.WrapError(err)
  2796  	}
  2797  	ret := &Operation{
  2798  		ServerResponse: googleapi.ServerResponse{
  2799  			Header:         res.Header,
  2800  			HTTPStatusCode: res.StatusCode,
  2801  		},
  2802  	}
  2803  	target := &ret
  2804  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2805  		return nil, err
  2806  	}
  2807  	return ret, nil
  2808  }
  2809  
  2810  type CompositeTypesGetCall struct {
  2811  	s             *Service
  2812  	project       string
  2813  	compositeType string
  2814  	urlParams_    gensupport.URLParams
  2815  	ifNoneMatch_  string
  2816  	ctx_          context.Context
  2817  	header_       http.Header
  2818  }
  2819  
  2820  // Get: Gets information about a specific composite type.
  2821  //
  2822  // - compositeType: The name of the composite type for this request.
  2823  // - project: The project ID for this request.
  2824  func (r *CompositeTypesService) Get(project string, compositeType string) *CompositeTypesGetCall {
  2825  	c := &CompositeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2826  	c.project = project
  2827  	c.compositeType = compositeType
  2828  	return c
  2829  }
  2830  
  2831  // Fields allows partial responses to be retrieved. See
  2832  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2833  // details.
  2834  func (c *CompositeTypesGetCall) Fields(s ...googleapi.Field) *CompositeTypesGetCall {
  2835  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2836  	return c
  2837  }
  2838  
  2839  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2840  // object's ETag matches the given value. This is useful for getting updates
  2841  // only after the object has changed since the last request.
  2842  func (c *CompositeTypesGetCall) IfNoneMatch(entityTag string) *CompositeTypesGetCall {
  2843  	c.ifNoneMatch_ = entityTag
  2844  	return c
  2845  }
  2846  
  2847  // Context sets the context to be used in this call's Do method.
  2848  func (c *CompositeTypesGetCall) Context(ctx context.Context) *CompositeTypesGetCall {
  2849  	c.ctx_ = ctx
  2850  	return c
  2851  }
  2852  
  2853  // Header returns a http.Header that can be modified by the caller to add
  2854  // headers to the request.
  2855  func (c *CompositeTypesGetCall) Header() http.Header {
  2856  	if c.header_ == nil {
  2857  		c.header_ = make(http.Header)
  2858  	}
  2859  	return c.header_
  2860  }
  2861  
  2862  func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
  2863  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2864  	if c.ifNoneMatch_ != "" {
  2865  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2866  	}
  2867  	var body io.Reader = nil
  2868  	c.urlParams_.Set("alt", alt)
  2869  	c.urlParams_.Set("prettyPrint", "false")
  2870  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
  2871  	urls += "?" + c.urlParams_.Encode()
  2872  	req, err := http.NewRequest("GET", urls, body)
  2873  	if err != nil {
  2874  		return nil, err
  2875  	}
  2876  	req.Header = reqHeaders
  2877  	googleapi.Expand(req.URL, map[string]string{
  2878  		"project":       c.project,
  2879  		"compositeType": c.compositeType,
  2880  	})
  2881  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2882  }
  2883  
  2884  // Do executes the "deploymentmanager.compositeTypes.get" call.
  2885  // Any non-2xx status code is an error. Response headers are in either
  2886  // *CompositeType.ServerResponse.Header or (if a response was returned at all)
  2887  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2888  // whether the returned error was because http.StatusNotModified was returned.
  2889  func (c *CompositeTypesGetCall) Do(opts ...googleapi.CallOption) (*CompositeType, error) {
  2890  	gensupport.SetOptions(c.urlParams_, opts...)
  2891  	res, err := c.doRequest("json")
  2892  	if res != nil && res.StatusCode == http.StatusNotModified {
  2893  		if res.Body != nil {
  2894  			res.Body.Close()
  2895  		}
  2896  		return nil, gensupport.WrapError(&googleapi.Error{
  2897  			Code:   res.StatusCode,
  2898  			Header: res.Header,
  2899  		})
  2900  	}
  2901  	if err != nil {
  2902  		return nil, err
  2903  	}
  2904  	defer googleapi.CloseBody(res)
  2905  	if err := googleapi.CheckResponse(res); err != nil {
  2906  		return nil, gensupport.WrapError(err)
  2907  	}
  2908  	ret := &CompositeType{
  2909  		ServerResponse: googleapi.ServerResponse{
  2910  			Header:         res.Header,
  2911  			HTTPStatusCode: res.StatusCode,
  2912  		},
  2913  	}
  2914  	target := &ret
  2915  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2916  		return nil, err
  2917  	}
  2918  	return ret, nil
  2919  }
  2920  
  2921  type CompositeTypesInsertCall struct {
  2922  	s             *Service
  2923  	project       string
  2924  	compositetype *CompositeType
  2925  	urlParams_    gensupport.URLParams
  2926  	ctx_          context.Context
  2927  	header_       http.Header
  2928  }
  2929  
  2930  // Insert: Creates a composite type.
  2931  //
  2932  // - project: The project ID for this request.
  2933  func (r *CompositeTypesService) Insert(project string, compositetype *CompositeType) *CompositeTypesInsertCall {
  2934  	c := &CompositeTypesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2935  	c.project = project
  2936  	c.compositetype = compositetype
  2937  	return c
  2938  }
  2939  
  2940  // Fields allows partial responses to be retrieved. See
  2941  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2942  // details.
  2943  func (c *CompositeTypesInsertCall) Fields(s ...googleapi.Field) *CompositeTypesInsertCall {
  2944  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2945  	return c
  2946  }
  2947  
  2948  // Context sets the context to be used in this call's Do method.
  2949  func (c *CompositeTypesInsertCall) Context(ctx context.Context) *CompositeTypesInsertCall {
  2950  	c.ctx_ = ctx
  2951  	return c
  2952  }
  2953  
  2954  // Header returns a http.Header that can be modified by the caller to add
  2955  // headers to the request.
  2956  func (c *CompositeTypesInsertCall) Header() http.Header {
  2957  	if c.header_ == nil {
  2958  		c.header_ = make(http.Header)
  2959  	}
  2960  	return c.header_
  2961  }
  2962  
  2963  func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {
  2964  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2965  	var body io.Reader = nil
  2966  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
  2967  	if err != nil {
  2968  		return nil, err
  2969  	}
  2970  	c.urlParams_.Set("alt", alt)
  2971  	c.urlParams_.Set("prettyPrint", "false")
  2972  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes")
  2973  	urls += "?" + c.urlParams_.Encode()
  2974  	req, err := http.NewRequest("POST", urls, body)
  2975  	if err != nil {
  2976  		return nil, err
  2977  	}
  2978  	req.Header = reqHeaders
  2979  	googleapi.Expand(req.URL, map[string]string{
  2980  		"project": c.project,
  2981  	})
  2982  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2983  }
  2984  
  2985  // Do executes the "deploymentmanager.compositeTypes.insert" call.
  2986  // Any non-2xx status code is an error. Response headers are in either
  2987  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  2988  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2989  // whether the returned error was because http.StatusNotModified was returned.
  2990  func (c *CompositeTypesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  2991  	gensupport.SetOptions(c.urlParams_, opts...)
  2992  	res, err := c.doRequest("json")
  2993  	if res != nil && res.StatusCode == http.StatusNotModified {
  2994  		if res.Body != nil {
  2995  			res.Body.Close()
  2996  		}
  2997  		return nil, gensupport.WrapError(&googleapi.Error{
  2998  			Code:   res.StatusCode,
  2999  			Header: res.Header,
  3000  		})
  3001  	}
  3002  	if err != nil {
  3003  		return nil, err
  3004  	}
  3005  	defer googleapi.CloseBody(res)
  3006  	if err := googleapi.CheckResponse(res); err != nil {
  3007  		return nil, gensupport.WrapError(err)
  3008  	}
  3009  	ret := &Operation{
  3010  		ServerResponse: googleapi.ServerResponse{
  3011  			Header:         res.Header,
  3012  			HTTPStatusCode: res.StatusCode,
  3013  		},
  3014  	}
  3015  	target := &ret
  3016  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3017  		return nil, err
  3018  	}
  3019  	return ret, nil
  3020  }
  3021  
  3022  type CompositeTypesListCall struct {
  3023  	s            *Service
  3024  	project      string
  3025  	urlParams_   gensupport.URLParams
  3026  	ifNoneMatch_ string
  3027  	ctx_         context.Context
  3028  	header_      http.Header
  3029  }
  3030  
  3031  // List: Lists all composite types for Deployment Manager.
  3032  //
  3033  // - project: The project ID for this request.
  3034  func (r *CompositeTypesService) List(project string) *CompositeTypesListCall {
  3035  	c := &CompositeTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3036  	c.project = project
  3037  	return c
  3038  }
  3039  
  3040  // Filter sets the optional parameter "filter": A filter expression that
  3041  // filters resources listed in the response. Most Compute resources support two
  3042  // types of filter expressions: expressions that support regular expressions
  3043  // and expressions that follow API improvement proposal AIP-160. These two
  3044  // types of filter expressions cannot be mixed in one request. If you want to
  3045  // use AIP-160, your expression must specify the field name, an operator, and
  3046  // the value that you want to use for filtering. The value must be a string, a
  3047  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  3048  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  3049  // can exclude instances named `example-instance` by specifying `name !=
  3050  // example-instance`. The `:*` comparison can be used to test whether a key has
  3051  // been defined. For example, to find all objects with `owner` label use: ```
  3052  // labels.owner:* ``` You can also filter nested fields. For example, you could
  3053  // specify `scheduling.automaticRestart = false` to include instances only if
  3054  // they are not scheduled for automatic restarts. You can use filtering on
  3055  // nested fields to filter based on resource labels. To filter on multiple
  3056  // expressions, provide each separate expression within parentheses. For
  3057  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  3058  // Skylake") ``` By default, each expression is an `AND` expression. However,
  3059  // you can include `AND` and `OR` expressions explicitly. For example: ```
  3060  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  3061  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  3062  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  3063  // single un-parenthesized expression with or without quotes or against
  3064  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  3065  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  3066  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  3067  // value is interpreted as a regular expression using Google RE2 library
  3068  // syntax. The literal value must match the entire field. For example, to
  3069  // filter for instances that do not end with name "instance", you would use
  3070  // `name ne .*instance`. You cannot combine constraints on multiple fields
  3071  // using regular expressions.
  3072  func (c *CompositeTypesListCall) Filter(filter string) *CompositeTypesListCall {
  3073  	c.urlParams_.Set("filter", filter)
  3074  	return c
  3075  }
  3076  
  3077  // MaxResults sets the optional parameter "maxResults": The maximum number of
  3078  // results per page that should be returned. If the number of available results
  3079  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  3080  // can be used to get the next page of results in subsequent list requests.
  3081  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  3082  func (c *CompositeTypesListCall) MaxResults(maxResults int64) *CompositeTypesListCall {
  3083  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  3084  	return c
  3085  }
  3086  
  3087  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  3088  // certain order. By default, results are returned in alphanumerical order
  3089  // based on the resource name. You can also sort results in descending order
  3090  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  3091  // This sorts results based on the `creationTimestamp` field in reverse
  3092  // chronological order (newest result first). Use this to sort resources like
  3093  // operations so that the newest operation is returned first. Currently, only
  3094  // sorting by `name` or `creationTimestamp desc` is supported.
  3095  func (c *CompositeTypesListCall) OrderBy(orderBy string) *CompositeTypesListCall {
  3096  	c.urlParams_.Set("orderBy", orderBy)
  3097  	return c
  3098  }
  3099  
  3100  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  3101  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  3102  // request to get the next page of results.
  3103  func (c *CompositeTypesListCall) PageToken(pageToken string) *CompositeTypesListCall {
  3104  	c.urlParams_.Set("pageToken", pageToken)
  3105  	return c
  3106  }
  3107  
  3108  // Fields allows partial responses to be retrieved. See
  3109  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3110  // details.
  3111  func (c *CompositeTypesListCall) Fields(s ...googleapi.Field) *CompositeTypesListCall {
  3112  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3113  	return c
  3114  }
  3115  
  3116  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3117  // object's ETag matches the given value. This is useful for getting updates
  3118  // only after the object has changed since the last request.
  3119  func (c *CompositeTypesListCall) IfNoneMatch(entityTag string) *CompositeTypesListCall {
  3120  	c.ifNoneMatch_ = entityTag
  3121  	return c
  3122  }
  3123  
  3124  // Context sets the context to be used in this call's Do method.
  3125  func (c *CompositeTypesListCall) Context(ctx context.Context) *CompositeTypesListCall {
  3126  	c.ctx_ = ctx
  3127  	return c
  3128  }
  3129  
  3130  // Header returns a http.Header that can be modified by the caller to add
  3131  // headers to the request.
  3132  func (c *CompositeTypesListCall) Header() http.Header {
  3133  	if c.header_ == nil {
  3134  		c.header_ = make(http.Header)
  3135  	}
  3136  	return c.header_
  3137  }
  3138  
  3139  func (c *CompositeTypesListCall) doRequest(alt string) (*http.Response, error) {
  3140  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3141  	if c.ifNoneMatch_ != "" {
  3142  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3143  	}
  3144  	var body io.Reader = nil
  3145  	c.urlParams_.Set("alt", alt)
  3146  	c.urlParams_.Set("prettyPrint", "false")
  3147  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes")
  3148  	urls += "?" + c.urlParams_.Encode()
  3149  	req, err := http.NewRequest("GET", urls, body)
  3150  	if err != nil {
  3151  		return nil, err
  3152  	}
  3153  	req.Header = reqHeaders
  3154  	googleapi.Expand(req.URL, map[string]string{
  3155  		"project": c.project,
  3156  	})
  3157  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3158  }
  3159  
  3160  // Do executes the "deploymentmanager.compositeTypes.list" call.
  3161  // Any non-2xx status code is an error. Response headers are in either
  3162  // *CompositeTypesListResponse.ServerResponse.Header or (if a response was
  3163  // returned at all) in error.(*googleapi.Error).Header. Use
  3164  // googleapi.IsNotModified to check whether the returned error was because
  3165  // http.StatusNotModified was returned.
  3166  func (c *CompositeTypesListCall) Do(opts ...googleapi.CallOption) (*CompositeTypesListResponse, error) {
  3167  	gensupport.SetOptions(c.urlParams_, opts...)
  3168  	res, err := c.doRequest("json")
  3169  	if res != nil && res.StatusCode == http.StatusNotModified {
  3170  		if res.Body != nil {
  3171  			res.Body.Close()
  3172  		}
  3173  		return nil, gensupport.WrapError(&googleapi.Error{
  3174  			Code:   res.StatusCode,
  3175  			Header: res.Header,
  3176  		})
  3177  	}
  3178  	if err != nil {
  3179  		return nil, err
  3180  	}
  3181  	defer googleapi.CloseBody(res)
  3182  	if err := googleapi.CheckResponse(res); err != nil {
  3183  		return nil, gensupport.WrapError(err)
  3184  	}
  3185  	ret := &CompositeTypesListResponse{
  3186  		ServerResponse: googleapi.ServerResponse{
  3187  			Header:         res.Header,
  3188  			HTTPStatusCode: res.StatusCode,
  3189  		},
  3190  	}
  3191  	target := &ret
  3192  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3193  		return nil, err
  3194  	}
  3195  	return ret, nil
  3196  }
  3197  
  3198  // Pages invokes f for each page of results.
  3199  // A non-nil error returned from f will halt the iteration.
  3200  // The provided context supersedes any context provided to the Context method.
  3201  func (c *CompositeTypesListCall) Pages(ctx context.Context, f func(*CompositeTypesListResponse) error) error {
  3202  	c.ctx_ = ctx
  3203  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3204  	for {
  3205  		x, err := c.Do()
  3206  		if err != nil {
  3207  			return err
  3208  		}
  3209  		if err := f(x); err != nil {
  3210  			return err
  3211  		}
  3212  		if x.NextPageToken == "" {
  3213  			return nil
  3214  		}
  3215  		c.PageToken(x.NextPageToken)
  3216  	}
  3217  }
  3218  
  3219  type CompositeTypesPatchCall struct {
  3220  	s             *Service
  3221  	project       string
  3222  	compositeType string
  3223  	compositetype *CompositeType
  3224  	urlParams_    gensupport.URLParams
  3225  	ctx_          context.Context
  3226  	header_       http.Header
  3227  }
  3228  
  3229  // Patch: Patches a composite type.
  3230  //
  3231  // - compositeType: The name of the composite type for this request.
  3232  // - project: The project ID for this request.
  3233  func (r *CompositeTypesService) Patch(project string, compositeType string, compositetype *CompositeType) *CompositeTypesPatchCall {
  3234  	c := &CompositeTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3235  	c.project = project
  3236  	c.compositeType = compositeType
  3237  	c.compositetype = compositetype
  3238  	return c
  3239  }
  3240  
  3241  // Fields allows partial responses to be retrieved. See
  3242  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3243  // details.
  3244  func (c *CompositeTypesPatchCall) Fields(s ...googleapi.Field) *CompositeTypesPatchCall {
  3245  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3246  	return c
  3247  }
  3248  
  3249  // Context sets the context to be used in this call's Do method.
  3250  func (c *CompositeTypesPatchCall) Context(ctx context.Context) *CompositeTypesPatchCall {
  3251  	c.ctx_ = ctx
  3252  	return c
  3253  }
  3254  
  3255  // Header returns a http.Header that can be modified by the caller to add
  3256  // headers to the request.
  3257  func (c *CompositeTypesPatchCall) Header() http.Header {
  3258  	if c.header_ == nil {
  3259  		c.header_ = make(http.Header)
  3260  	}
  3261  	return c.header_
  3262  }
  3263  
  3264  func (c *CompositeTypesPatchCall) doRequest(alt string) (*http.Response, error) {
  3265  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3266  	var body io.Reader = nil
  3267  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
  3268  	if err != nil {
  3269  		return nil, err
  3270  	}
  3271  	c.urlParams_.Set("alt", alt)
  3272  	c.urlParams_.Set("prettyPrint", "false")
  3273  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
  3274  	urls += "?" + c.urlParams_.Encode()
  3275  	req, err := http.NewRequest("PATCH", urls, body)
  3276  	if err != nil {
  3277  		return nil, err
  3278  	}
  3279  	req.Header = reqHeaders
  3280  	googleapi.Expand(req.URL, map[string]string{
  3281  		"project":       c.project,
  3282  		"compositeType": c.compositeType,
  3283  	})
  3284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3285  }
  3286  
  3287  // Do executes the "deploymentmanager.compositeTypes.patch" call.
  3288  // Any non-2xx status code is an error. Response headers are in either
  3289  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3290  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3291  // whether the returned error was because http.StatusNotModified was returned.
  3292  func (c *CompositeTypesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3293  	gensupport.SetOptions(c.urlParams_, opts...)
  3294  	res, err := c.doRequest("json")
  3295  	if res != nil && res.StatusCode == http.StatusNotModified {
  3296  		if res.Body != nil {
  3297  			res.Body.Close()
  3298  		}
  3299  		return nil, gensupport.WrapError(&googleapi.Error{
  3300  			Code:   res.StatusCode,
  3301  			Header: res.Header,
  3302  		})
  3303  	}
  3304  	if err != nil {
  3305  		return nil, err
  3306  	}
  3307  	defer googleapi.CloseBody(res)
  3308  	if err := googleapi.CheckResponse(res); err != nil {
  3309  		return nil, gensupport.WrapError(err)
  3310  	}
  3311  	ret := &Operation{
  3312  		ServerResponse: googleapi.ServerResponse{
  3313  			Header:         res.Header,
  3314  			HTTPStatusCode: res.StatusCode,
  3315  		},
  3316  	}
  3317  	target := &ret
  3318  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3319  		return nil, err
  3320  	}
  3321  	return ret, nil
  3322  }
  3323  
  3324  type CompositeTypesUpdateCall struct {
  3325  	s             *Service
  3326  	project       string
  3327  	compositeType string
  3328  	compositetype *CompositeType
  3329  	urlParams_    gensupport.URLParams
  3330  	ctx_          context.Context
  3331  	header_       http.Header
  3332  }
  3333  
  3334  // Update: Updates a composite type.
  3335  //
  3336  // - compositeType: The name of the composite type for this request.
  3337  // - project: The project ID for this request.
  3338  func (r *CompositeTypesService) Update(project string, compositeType string, compositetype *CompositeType) *CompositeTypesUpdateCall {
  3339  	c := &CompositeTypesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3340  	c.project = project
  3341  	c.compositeType = compositeType
  3342  	c.compositetype = compositetype
  3343  	return c
  3344  }
  3345  
  3346  // Fields allows partial responses to be retrieved. See
  3347  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3348  // details.
  3349  func (c *CompositeTypesUpdateCall) Fields(s ...googleapi.Field) *CompositeTypesUpdateCall {
  3350  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3351  	return c
  3352  }
  3353  
  3354  // Context sets the context to be used in this call's Do method.
  3355  func (c *CompositeTypesUpdateCall) Context(ctx context.Context) *CompositeTypesUpdateCall {
  3356  	c.ctx_ = ctx
  3357  	return c
  3358  }
  3359  
  3360  // Header returns a http.Header that can be modified by the caller to add
  3361  // headers to the request.
  3362  func (c *CompositeTypesUpdateCall) Header() http.Header {
  3363  	if c.header_ == nil {
  3364  		c.header_ = make(http.Header)
  3365  	}
  3366  	return c.header_
  3367  }
  3368  
  3369  func (c *CompositeTypesUpdateCall) doRequest(alt string) (*http.Response, error) {
  3370  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3371  	var body io.Reader = nil
  3372  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.compositetype)
  3373  	if err != nil {
  3374  		return nil, err
  3375  	}
  3376  	c.urlParams_.Set("alt", alt)
  3377  	c.urlParams_.Set("prettyPrint", "false")
  3378  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/compositeTypes/{compositeType}")
  3379  	urls += "?" + c.urlParams_.Encode()
  3380  	req, err := http.NewRequest("PUT", urls, body)
  3381  	if err != nil {
  3382  		return nil, err
  3383  	}
  3384  	req.Header = reqHeaders
  3385  	googleapi.Expand(req.URL, map[string]string{
  3386  		"project":       c.project,
  3387  		"compositeType": c.compositeType,
  3388  	})
  3389  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3390  }
  3391  
  3392  // Do executes the "deploymentmanager.compositeTypes.update" call.
  3393  // Any non-2xx status code is an error. Response headers are in either
  3394  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3395  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3396  // whether the returned error was because http.StatusNotModified was returned.
  3397  func (c *CompositeTypesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3398  	gensupport.SetOptions(c.urlParams_, opts...)
  3399  	res, err := c.doRequest("json")
  3400  	if res != nil && res.StatusCode == http.StatusNotModified {
  3401  		if res.Body != nil {
  3402  			res.Body.Close()
  3403  		}
  3404  		return nil, gensupport.WrapError(&googleapi.Error{
  3405  			Code:   res.StatusCode,
  3406  			Header: res.Header,
  3407  		})
  3408  	}
  3409  	if err != nil {
  3410  		return nil, err
  3411  	}
  3412  	defer googleapi.CloseBody(res)
  3413  	if err := googleapi.CheckResponse(res); err != nil {
  3414  		return nil, gensupport.WrapError(err)
  3415  	}
  3416  	ret := &Operation{
  3417  		ServerResponse: googleapi.ServerResponse{
  3418  			Header:         res.Header,
  3419  			HTTPStatusCode: res.StatusCode,
  3420  		},
  3421  	}
  3422  	target := &ret
  3423  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3424  		return nil, err
  3425  	}
  3426  	return ret, nil
  3427  }
  3428  
  3429  type DeploymentsCancelPreviewCall struct {
  3430  	s                               *Service
  3431  	project                         string
  3432  	deployment                      string
  3433  	deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest
  3434  	urlParams_                      gensupport.URLParams
  3435  	ctx_                            context.Context
  3436  	header_                         http.Header
  3437  }
  3438  
  3439  // CancelPreview: Cancels and removes the preview currently associated with the
  3440  // deployment.
  3441  //
  3442  // - deployment: The name of the deployment for this request.
  3443  // - project: The project ID for this request.
  3444  func (r *DeploymentsService) CancelPreview(project string, deployment string, deploymentscancelpreviewrequest *DeploymentsCancelPreviewRequest) *DeploymentsCancelPreviewCall {
  3445  	c := &DeploymentsCancelPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3446  	c.project = project
  3447  	c.deployment = deployment
  3448  	c.deploymentscancelpreviewrequest = deploymentscancelpreviewrequest
  3449  	return c
  3450  }
  3451  
  3452  // Fields allows partial responses to be retrieved. See
  3453  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3454  // details.
  3455  func (c *DeploymentsCancelPreviewCall) Fields(s ...googleapi.Field) *DeploymentsCancelPreviewCall {
  3456  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3457  	return c
  3458  }
  3459  
  3460  // Context sets the context to be used in this call's Do method.
  3461  func (c *DeploymentsCancelPreviewCall) Context(ctx context.Context) *DeploymentsCancelPreviewCall {
  3462  	c.ctx_ = ctx
  3463  	return c
  3464  }
  3465  
  3466  // Header returns a http.Header that can be modified by the caller to add
  3467  // headers to the request.
  3468  func (c *DeploymentsCancelPreviewCall) Header() http.Header {
  3469  	if c.header_ == nil {
  3470  		c.header_ = make(http.Header)
  3471  	}
  3472  	return c.header_
  3473  }
  3474  
  3475  func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
  3476  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3477  	var body io.Reader = nil
  3478  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentscancelpreviewrequest)
  3479  	if err != nil {
  3480  		return nil, err
  3481  	}
  3482  	c.urlParams_.Set("alt", alt)
  3483  	c.urlParams_.Set("prettyPrint", "false")
  3484  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/cancelPreview")
  3485  	urls += "?" + c.urlParams_.Encode()
  3486  	req, err := http.NewRequest("POST", urls, body)
  3487  	if err != nil {
  3488  		return nil, err
  3489  	}
  3490  	req.Header = reqHeaders
  3491  	googleapi.Expand(req.URL, map[string]string{
  3492  		"project":    c.project,
  3493  		"deployment": c.deployment,
  3494  	})
  3495  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3496  }
  3497  
  3498  // Do executes the "deploymentmanager.deployments.cancelPreview" call.
  3499  // Any non-2xx status code is an error. Response headers are in either
  3500  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3501  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3502  // whether the returned error was because http.StatusNotModified was returned.
  3503  func (c *DeploymentsCancelPreviewCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3504  	gensupport.SetOptions(c.urlParams_, opts...)
  3505  	res, err := c.doRequest("json")
  3506  	if res != nil && res.StatusCode == http.StatusNotModified {
  3507  		if res.Body != nil {
  3508  			res.Body.Close()
  3509  		}
  3510  		return nil, gensupport.WrapError(&googleapi.Error{
  3511  			Code:   res.StatusCode,
  3512  			Header: res.Header,
  3513  		})
  3514  	}
  3515  	if err != nil {
  3516  		return nil, err
  3517  	}
  3518  	defer googleapi.CloseBody(res)
  3519  	if err := googleapi.CheckResponse(res); err != nil {
  3520  		return nil, gensupport.WrapError(err)
  3521  	}
  3522  	ret := &Operation{
  3523  		ServerResponse: googleapi.ServerResponse{
  3524  			Header:         res.Header,
  3525  			HTTPStatusCode: res.StatusCode,
  3526  		},
  3527  	}
  3528  	target := &ret
  3529  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3530  		return nil, err
  3531  	}
  3532  	return ret, nil
  3533  }
  3534  
  3535  type DeploymentsDeleteCall struct {
  3536  	s          *Service
  3537  	project    string
  3538  	deployment string
  3539  	urlParams_ gensupport.URLParams
  3540  	ctx_       context.Context
  3541  	header_    http.Header
  3542  }
  3543  
  3544  // Delete: Deletes a deployment and all of the resources in the deployment.
  3545  //
  3546  // - deployment: The name of the deployment for this request.
  3547  // - project: The project ID for this request.
  3548  func (r *DeploymentsService) Delete(project string, deployment string) *DeploymentsDeleteCall {
  3549  	c := &DeploymentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3550  	c.project = project
  3551  	c.deployment = deployment
  3552  	return c
  3553  }
  3554  
  3555  // DeletePolicy sets the optional parameter "deletePolicy": Sets the policy to
  3556  // use for deleting resources.
  3557  //
  3558  // Possible values:
  3559  //
  3560  //	"DELETE" (default)
  3561  //	"ABANDON"
  3562  func (c *DeploymentsDeleteCall) DeletePolicy(deletePolicy string) *DeploymentsDeleteCall {
  3563  	c.urlParams_.Set("deletePolicy", deletePolicy)
  3564  	return c
  3565  }
  3566  
  3567  // Fields allows partial responses to be retrieved. See
  3568  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3569  // details.
  3570  func (c *DeploymentsDeleteCall) Fields(s ...googleapi.Field) *DeploymentsDeleteCall {
  3571  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3572  	return c
  3573  }
  3574  
  3575  // Context sets the context to be used in this call's Do method.
  3576  func (c *DeploymentsDeleteCall) Context(ctx context.Context) *DeploymentsDeleteCall {
  3577  	c.ctx_ = ctx
  3578  	return c
  3579  }
  3580  
  3581  // Header returns a http.Header that can be modified by the caller to add
  3582  // headers to the request.
  3583  func (c *DeploymentsDeleteCall) Header() http.Header {
  3584  	if c.header_ == nil {
  3585  		c.header_ = make(http.Header)
  3586  	}
  3587  	return c.header_
  3588  }
  3589  
  3590  func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  3591  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3592  	var body io.Reader = nil
  3593  	c.urlParams_.Set("alt", alt)
  3594  	c.urlParams_.Set("prettyPrint", "false")
  3595  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
  3596  	urls += "?" + c.urlParams_.Encode()
  3597  	req, err := http.NewRequest("DELETE", urls, body)
  3598  	if err != nil {
  3599  		return nil, err
  3600  	}
  3601  	req.Header = reqHeaders
  3602  	googleapi.Expand(req.URL, map[string]string{
  3603  		"project":    c.project,
  3604  		"deployment": c.deployment,
  3605  	})
  3606  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3607  }
  3608  
  3609  // Do executes the "deploymentmanager.deployments.delete" call.
  3610  // Any non-2xx status code is an error. Response headers are in either
  3611  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3612  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3613  // whether the returned error was because http.StatusNotModified was returned.
  3614  func (c *DeploymentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3615  	gensupport.SetOptions(c.urlParams_, opts...)
  3616  	res, err := c.doRequest("json")
  3617  	if res != nil && res.StatusCode == http.StatusNotModified {
  3618  		if res.Body != nil {
  3619  			res.Body.Close()
  3620  		}
  3621  		return nil, gensupport.WrapError(&googleapi.Error{
  3622  			Code:   res.StatusCode,
  3623  			Header: res.Header,
  3624  		})
  3625  	}
  3626  	if err != nil {
  3627  		return nil, err
  3628  	}
  3629  	defer googleapi.CloseBody(res)
  3630  	if err := googleapi.CheckResponse(res); err != nil {
  3631  		return nil, gensupport.WrapError(err)
  3632  	}
  3633  	ret := &Operation{
  3634  		ServerResponse: googleapi.ServerResponse{
  3635  			Header:         res.Header,
  3636  			HTTPStatusCode: res.StatusCode,
  3637  		},
  3638  	}
  3639  	target := &ret
  3640  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3641  		return nil, err
  3642  	}
  3643  	return ret, nil
  3644  }
  3645  
  3646  type DeploymentsGetCall struct {
  3647  	s            *Service
  3648  	project      string
  3649  	deployment   string
  3650  	urlParams_   gensupport.URLParams
  3651  	ifNoneMatch_ string
  3652  	ctx_         context.Context
  3653  	header_      http.Header
  3654  }
  3655  
  3656  // Get: Gets information about a specific deployment.
  3657  //
  3658  // - deployment: The name of the deployment for this request.
  3659  // - project: The project ID for this request.
  3660  func (r *DeploymentsService) Get(project string, deployment string) *DeploymentsGetCall {
  3661  	c := &DeploymentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3662  	c.project = project
  3663  	c.deployment = deployment
  3664  	return c
  3665  }
  3666  
  3667  // Fields allows partial responses to be retrieved. See
  3668  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3669  // details.
  3670  func (c *DeploymentsGetCall) Fields(s ...googleapi.Field) *DeploymentsGetCall {
  3671  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3672  	return c
  3673  }
  3674  
  3675  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3676  // object's ETag matches the given value. This is useful for getting updates
  3677  // only after the object has changed since the last request.
  3678  func (c *DeploymentsGetCall) IfNoneMatch(entityTag string) *DeploymentsGetCall {
  3679  	c.ifNoneMatch_ = entityTag
  3680  	return c
  3681  }
  3682  
  3683  // Context sets the context to be used in this call's Do method.
  3684  func (c *DeploymentsGetCall) Context(ctx context.Context) *DeploymentsGetCall {
  3685  	c.ctx_ = ctx
  3686  	return c
  3687  }
  3688  
  3689  // Header returns a http.Header that can be modified by the caller to add
  3690  // headers to the request.
  3691  func (c *DeploymentsGetCall) Header() http.Header {
  3692  	if c.header_ == nil {
  3693  		c.header_ = make(http.Header)
  3694  	}
  3695  	return c.header_
  3696  }
  3697  
  3698  func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
  3699  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3700  	if c.ifNoneMatch_ != "" {
  3701  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3702  	}
  3703  	var body io.Reader = nil
  3704  	c.urlParams_.Set("alt", alt)
  3705  	c.urlParams_.Set("prettyPrint", "false")
  3706  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
  3707  	urls += "?" + c.urlParams_.Encode()
  3708  	req, err := http.NewRequest("GET", urls, body)
  3709  	if err != nil {
  3710  		return nil, err
  3711  	}
  3712  	req.Header = reqHeaders
  3713  	googleapi.Expand(req.URL, map[string]string{
  3714  		"project":    c.project,
  3715  		"deployment": c.deployment,
  3716  	})
  3717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3718  }
  3719  
  3720  // Do executes the "deploymentmanager.deployments.get" call.
  3721  // Any non-2xx status code is an error. Response headers are in either
  3722  // *Deployment.ServerResponse.Header or (if a response was returned at all) in
  3723  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3724  // whether the returned error was because http.StatusNotModified was returned.
  3725  func (c *DeploymentsGetCall) Do(opts ...googleapi.CallOption) (*Deployment, error) {
  3726  	gensupport.SetOptions(c.urlParams_, opts...)
  3727  	res, err := c.doRequest("json")
  3728  	if res != nil && res.StatusCode == http.StatusNotModified {
  3729  		if res.Body != nil {
  3730  			res.Body.Close()
  3731  		}
  3732  		return nil, gensupport.WrapError(&googleapi.Error{
  3733  			Code:   res.StatusCode,
  3734  			Header: res.Header,
  3735  		})
  3736  	}
  3737  	if err != nil {
  3738  		return nil, err
  3739  	}
  3740  	defer googleapi.CloseBody(res)
  3741  	if err := googleapi.CheckResponse(res); err != nil {
  3742  		return nil, gensupport.WrapError(err)
  3743  	}
  3744  	ret := &Deployment{
  3745  		ServerResponse: googleapi.ServerResponse{
  3746  			Header:         res.Header,
  3747  			HTTPStatusCode: res.StatusCode,
  3748  		},
  3749  	}
  3750  	target := &ret
  3751  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3752  		return nil, err
  3753  	}
  3754  	return ret, nil
  3755  }
  3756  
  3757  type DeploymentsGetIamPolicyCall struct {
  3758  	s            *Service
  3759  	project      string
  3760  	resource     string
  3761  	urlParams_   gensupport.URLParams
  3762  	ifNoneMatch_ string
  3763  	ctx_         context.Context
  3764  	header_      http.Header
  3765  }
  3766  
  3767  // GetIamPolicy: Gets the access control policy for a resource. May be empty if
  3768  // no such policy or resource exists.
  3769  //
  3770  // - project: Project ID for this request.
  3771  // - resource: Name or id of the resource for this request.
  3772  func (r *DeploymentsService) GetIamPolicy(project string, resource string) *DeploymentsGetIamPolicyCall {
  3773  	c := &DeploymentsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3774  	c.project = project
  3775  	c.resource = resource
  3776  	return c
  3777  }
  3778  
  3779  // OptionsRequestedPolicyVersion sets the optional parameter
  3780  // "optionsRequestedPolicyVersion": Requested IAM Policy version.
  3781  func (c *DeploymentsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *DeploymentsGetIamPolicyCall {
  3782  	c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  3783  	return c
  3784  }
  3785  
  3786  // Fields allows partial responses to be retrieved. See
  3787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3788  // details.
  3789  func (c *DeploymentsGetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsGetIamPolicyCall {
  3790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3791  	return c
  3792  }
  3793  
  3794  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3795  // object's ETag matches the given value. This is useful for getting updates
  3796  // only after the object has changed since the last request.
  3797  func (c *DeploymentsGetIamPolicyCall) IfNoneMatch(entityTag string) *DeploymentsGetIamPolicyCall {
  3798  	c.ifNoneMatch_ = entityTag
  3799  	return c
  3800  }
  3801  
  3802  // Context sets the context to be used in this call's Do method.
  3803  func (c *DeploymentsGetIamPolicyCall) Context(ctx context.Context) *DeploymentsGetIamPolicyCall {
  3804  	c.ctx_ = ctx
  3805  	return c
  3806  }
  3807  
  3808  // Header returns a http.Header that can be modified by the caller to add
  3809  // headers to the request.
  3810  func (c *DeploymentsGetIamPolicyCall) Header() http.Header {
  3811  	if c.header_ == nil {
  3812  		c.header_ = make(http.Header)
  3813  	}
  3814  	return c.header_
  3815  }
  3816  
  3817  func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  3818  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3819  	if c.ifNoneMatch_ != "" {
  3820  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3821  	}
  3822  	var body io.Reader = nil
  3823  	c.urlParams_.Set("alt", alt)
  3824  	c.urlParams_.Set("prettyPrint", "false")
  3825  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/getIamPolicy")
  3826  	urls += "?" + c.urlParams_.Encode()
  3827  	req, err := http.NewRequest("GET", urls, body)
  3828  	if err != nil {
  3829  		return nil, err
  3830  	}
  3831  	req.Header = reqHeaders
  3832  	googleapi.Expand(req.URL, map[string]string{
  3833  		"project":  c.project,
  3834  		"resource": c.resource,
  3835  	})
  3836  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3837  }
  3838  
  3839  // Do executes the "deploymentmanager.deployments.getIamPolicy" call.
  3840  // Any non-2xx status code is an error. Response headers are in either
  3841  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  3842  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3843  // whether the returned error was because http.StatusNotModified was returned.
  3844  func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  3845  	gensupport.SetOptions(c.urlParams_, opts...)
  3846  	res, err := c.doRequest("json")
  3847  	if res != nil && res.StatusCode == http.StatusNotModified {
  3848  		if res.Body != nil {
  3849  			res.Body.Close()
  3850  		}
  3851  		return nil, gensupport.WrapError(&googleapi.Error{
  3852  			Code:   res.StatusCode,
  3853  			Header: res.Header,
  3854  		})
  3855  	}
  3856  	if err != nil {
  3857  		return nil, err
  3858  	}
  3859  	defer googleapi.CloseBody(res)
  3860  	if err := googleapi.CheckResponse(res); err != nil {
  3861  		return nil, gensupport.WrapError(err)
  3862  	}
  3863  	ret := &Policy{
  3864  		ServerResponse: googleapi.ServerResponse{
  3865  			Header:         res.Header,
  3866  			HTTPStatusCode: res.StatusCode,
  3867  		},
  3868  	}
  3869  	target := &ret
  3870  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3871  		return nil, err
  3872  	}
  3873  	return ret, nil
  3874  }
  3875  
  3876  type DeploymentsInsertCall struct {
  3877  	s          *Service
  3878  	project    string
  3879  	deployment *Deployment
  3880  	urlParams_ gensupport.URLParams
  3881  	ctx_       context.Context
  3882  	header_    http.Header
  3883  }
  3884  
  3885  // Insert: Creates a deployment and all of the resources described by the
  3886  // deployment manifest.
  3887  //
  3888  // - project: The project ID for this request.
  3889  func (r *DeploymentsService) Insert(project string, deployment *Deployment) *DeploymentsInsertCall {
  3890  	c := &DeploymentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3891  	c.project = project
  3892  	c.deployment = deployment
  3893  	return c
  3894  }
  3895  
  3896  // CreatePolicy sets the optional parameter "createPolicy": Sets the policy to
  3897  // use for creating new resources.
  3898  //
  3899  // Possible values:
  3900  //
  3901  //	"CREATE_OR_ACQUIRE" (default)
  3902  //	"ACQUIRE"
  3903  //	"CREATE"
  3904  func (c *DeploymentsInsertCall) CreatePolicy(createPolicy string) *DeploymentsInsertCall {
  3905  	c.urlParams_.Set("createPolicy", createPolicy)
  3906  	return c
  3907  }
  3908  
  3909  // Preview sets the optional parameter "preview": If set to true, creates a
  3910  // deployment and creates "shell" resources but does not actually instantiate
  3911  // these resources. This allows you to preview what your deployment looks like.
  3912  // After previewing a deployment, you can deploy your resources by making a
  3913  // request with the `update()` method or you can use the `cancelPreview()`
  3914  // method to cancel the preview altogether. Note that the deployment will still
  3915  // exist after you cancel the preview and you must separately delete this
  3916  // deployment if you want to remove it.
  3917  func (c *DeploymentsInsertCall) Preview(preview bool) *DeploymentsInsertCall {
  3918  	c.urlParams_.Set("preview", fmt.Sprint(preview))
  3919  	return c
  3920  }
  3921  
  3922  // Fields allows partial responses to be retrieved. See
  3923  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3924  // details.
  3925  func (c *DeploymentsInsertCall) Fields(s ...googleapi.Field) *DeploymentsInsertCall {
  3926  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3927  	return c
  3928  }
  3929  
  3930  // Context sets the context to be used in this call's Do method.
  3931  func (c *DeploymentsInsertCall) Context(ctx context.Context) *DeploymentsInsertCall {
  3932  	c.ctx_ = ctx
  3933  	return c
  3934  }
  3935  
  3936  // Header returns a http.Header that can be modified by the caller to add
  3937  // headers to the request.
  3938  func (c *DeploymentsInsertCall) Header() http.Header {
  3939  	if c.header_ == nil {
  3940  		c.header_ = make(http.Header)
  3941  	}
  3942  	return c.header_
  3943  }
  3944  
  3945  func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
  3946  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3947  	var body io.Reader = nil
  3948  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment)
  3949  	if err != nil {
  3950  		return nil, err
  3951  	}
  3952  	c.urlParams_.Set("alt", alt)
  3953  	c.urlParams_.Set("prettyPrint", "false")
  3954  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments")
  3955  	urls += "?" + c.urlParams_.Encode()
  3956  	req, err := http.NewRequest("POST", urls, body)
  3957  	if err != nil {
  3958  		return nil, err
  3959  	}
  3960  	req.Header = reqHeaders
  3961  	googleapi.Expand(req.URL, map[string]string{
  3962  		"project": c.project,
  3963  	})
  3964  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3965  }
  3966  
  3967  // Do executes the "deploymentmanager.deployments.insert" call.
  3968  // Any non-2xx status code is an error. Response headers are in either
  3969  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3970  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3971  // whether the returned error was because http.StatusNotModified was returned.
  3972  func (c *DeploymentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3973  	gensupport.SetOptions(c.urlParams_, opts...)
  3974  	res, err := c.doRequest("json")
  3975  	if res != nil && res.StatusCode == http.StatusNotModified {
  3976  		if res.Body != nil {
  3977  			res.Body.Close()
  3978  		}
  3979  		return nil, gensupport.WrapError(&googleapi.Error{
  3980  			Code:   res.StatusCode,
  3981  			Header: res.Header,
  3982  		})
  3983  	}
  3984  	if err != nil {
  3985  		return nil, err
  3986  	}
  3987  	defer googleapi.CloseBody(res)
  3988  	if err := googleapi.CheckResponse(res); err != nil {
  3989  		return nil, gensupport.WrapError(err)
  3990  	}
  3991  	ret := &Operation{
  3992  		ServerResponse: googleapi.ServerResponse{
  3993  			Header:         res.Header,
  3994  			HTTPStatusCode: res.StatusCode,
  3995  		},
  3996  	}
  3997  	target := &ret
  3998  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3999  		return nil, err
  4000  	}
  4001  	return ret, nil
  4002  }
  4003  
  4004  type DeploymentsListCall struct {
  4005  	s            *Service
  4006  	project      string
  4007  	urlParams_   gensupport.URLParams
  4008  	ifNoneMatch_ string
  4009  	ctx_         context.Context
  4010  	header_      http.Header
  4011  }
  4012  
  4013  // List: Lists all deployments for a given project.
  4014  //
  4015  // - project: The project ID for this request.
  4016  func (r *DeploymentsService) List(project string) *DeploymentsListCall {
  4017  	c := &DeploymentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4018  	c.project = project
  4019  	return c
  4020  }
  4021  
  4022  // Filter sets the optional parameter "filter": A filter expression that
  4023  // filters resources listed in the response. Most Compute resources support two
  4024  // types of filter expressions: expressions that support regular expressions
  4025  // and expressions that follow API improvement proposal AIP-160. These two
  4026  // types of filter expressions cannot be mixed in one request. If you want to
  4027  // use AIP-160, your expression must specify the field name, an operator, and
  4028  // the value that you want to use for filtering. The value must be a string, a
  4029  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  4030  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  4031  // can exclude instances named `example-instance` by specifying `name !=
  4032  // example-instance`. The `:*` comparison can be used to test whether a key has
  4033  // been defined. For example, to find all objects with `owner` label use: ```
  4034  // labels.owner:* ``` You can also filter nested fields. For example, you could
  4035  // specify `scheduling.automaticRestart = false` to include instances only if
  4036  // they are not scheduled for automatic restarts. You can use filtering on
  4037  // nested fields to filter based on resource labels. To filter on multiple
  4038  // expressions, provide each separate expression within parentheses. For
  4039  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  4040  // Skylake") ``` By default, each expression is an `AND` expression. However,
  4041  // you can include `AND` and `OR` expressions explicitly. For example: ```
  4042  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  4043  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  4044  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  4045  // single un-parenthesized expression with or without quotes or against
  4046  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  4047  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  4048  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  4049  // value is interpreted as a regular expression using Google RE2 library
  4050  // syntax. The literal value must match the entire field. For example, to
  4051  // filter for instances that do not end with name "instance", you would use
  4052  // `name ne .*instance`. You cannot combine constraints on multiple fields
  4053  // using regular expressions.
  4054  func (c *DeploymentsListCall) Filter(filter string) *DeploymentsListCall {
  4055  	c.urlParams_.Set("filter", filter)
  4056  	return c
  4057  }
  4058  
  4059  // MaxResults sets the optional parameter "maxResults": The maximum number of
  4060  // results per page that should be returned. If the number of available results
  4061  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  4062  // can be used to get the next page of results in subsequent list requests.
  4063  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  4064  func (c *DeploymentsListCall) MaxResults(maxResults int64) *DeploymentsListCall {
  4065  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  4066  	return c
  4067  }
  4068  
  4069  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  4070  // certain order. By default, results are returned in alphanumerical order
  4071  // based on the resource name. You can also sort results in descending order
  4072  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  4073  // This sorts results based on the `creationTimestamp` field in reverse
  4074  // chronological order (newest result first). Use this to sort resources like
  4075  // operations so that the newest operation is returned first. Currently, only
  4076  // sorting by `name` or `creationTimestamp desc` is supported.
  4077  func (c *DeploymentsListCall) OrderBy(orderBy string) *DeploymentsListCall {
  4078  	c.urlParams_.Set("orderBy", orderBy)
  4079  	return c
  4080  }
  4081  
  4082  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  4083  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  4084  // request to get the next page of results.
  4085  func (c *DeploymentsListCall) PageToken(pageToken string) *DeploymentsListCall {
  4086  	c.urlParams_.Set("pageToken", pageToken)
  4087  	return c
  4088  }
  4089  
  4090  // Fields allows partial responses to be retrieved. See
  4091  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4092  // details.
  4093  func (c *DeploymentsListCall) Fields(s ...googleapi.Field) *DeploymentsListCall {
  4094  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4095  	return c
  4096  }
  4097  
  4098  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4099  // object's ETag matches the given value. This is useful for getting updates
  4100  // only after the object has changed since the last request.
  4101  func (c *DeploymentsListCall) IfNoneMatch(entityTag string) *DeploymentsListCall {
  4102  	c.ifNoneMatch_ = entityTag
  4103  	return c
  4104  }
  4105  
  4106  // Context sets the context to be used in this call's Do method.
  4107  func (c *DeploymentsListCall) Context(ctx context.Context) *DeploymentsListCall {
  4108  	c.ctx_ = ctx
  4109  	return c
  4110  }
  4111  
  4112  // Header returns a http.Header that can be modified by the caller to add
  4113  // headers to the request.
  4114  func (c *DeploymentsListCall) Header() http.Header {
  4115  	if c.header_ == nil {
  4116  		c.header_ = make(http.Header)
  4117  	}
  4118  	return c.header_
  4119  }
  4120  
  4121  func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
  4122  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4123  	if c.ifNoneMatch_ != "" {
  4124  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4125  	}
  4126  	var body io.Reader = nil
  4127  	c.urlParams_.Set("alt", alt)
  4128  	c.urlParams_.Set("prettyPrint", "false")
  4129  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments")
  4130  	urls += "?" + c.urlParams_.Encode()
  4131  	req, err := http.NewRequest("GET", urls, body)
  4132  	if err != nil {
  4133  		return nil, err
  4134  	}
  4135  	req.Header = reqHeaders
  4136  	googleapi.Expand(req.URL, map[string]string{
  4137  		"project": c.project,
  4138  	})
  4139  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4140  }
  4141  
  4142  // Do executes the "deploymentmanager.deployments.list" call.
  4143  // Any non-2xx status code is an error. Response headers are in either
  4144  // *DeploymentsListResponse.ServerResponse.Header or (if a response was
  4145  // returned at all) in error.(*googleapi.Error).Header. Use
  4146  // googleapi.IsNotModified to check whether the returned error was because
  4147  // http.StatusNotModified was returned.
  4148  func (c *DeploymentsListCall) Do(opts ...googleapi.CallOption) (*DeploymentsListResponse, error) {
  4149  	gensupport.SetOptions(c.urlParams_, opts...)
  4150  	res, err := c.doRequest("json")
  4151  	if res != nil && res.StatusCode == http.StatusNotModified {
  4152  		if res.Body != nil {
  4153  			res.Body.Close()
  4154  		}
  4155  		return nil, gensupport.WrapError(&googleapi.Error{
  4156  			Code:   res.StatusCode,
  4157  			Header: res.Header,
  4158  		})
  4159  	}
  4160  	if err != nil {
  4161  		return nil, err
  4162  	}
  4163  	defer googleapi.CloseBody(res)
  4164  	if err := googleapi.CheckResponse(res); err != nil {
  4165  		return nil, gensupport.WrapError(err)
  4166  	}
  4167  	ret := &DeploymentsListResponse{
  4168  		ServerResponse: googleapi.ServerResponse{
  4169  			Header:         res.Header,
  4170  			HTTPStatusCode: res.StatusCode,
  4171  		},
  4172  	}
  4173  	target := &ret
  4174  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4175  		return nil, err
  4176  	}
  4177  	return ret, nil
  4178  }
  4179  
  4180  // Pages invokes f for each page of results.
  4181  // A non-nil error returned from f will halt the iteration.
  4182  // The provided context supersedes any context provided to the Context method.
  4183  func (c *DeploymentsListCall) Pages(ctx context.Context, f func(*DeploymentsListResponse) error) error {
  4184  	c.ctx_ = ctx
  4185  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4186  	for {
  4187  		x, err := c.Do()
  4188  		if err != nil {
  4189  			return err
  4190  		}
  4191  		if err := f(x); err != nil {
  4192  			return err
  4193  		}
  4194  		if x.NextPageToken == "" {
  4195  			return nil
  4196  		}
  4197  		c.PageToken(x.NextPageToken)
  4198  	}
  4199  }
  4200  
  4201  type DeploymentsPatchCall struct {
  4202  	s           *Service
  4203  	project     string
  4204  	deployment  string
  4205  	deployment2 *Deployment
  4206  	urlParams_  gensupport.URLParams
  4207  	ctx_        context.Context
  4208  	header_     http.Header
  4209  }
  4210  
  4211  // Patch: Patches a deployment and all of the resources described by the
  4212  // deployment manifest.
  4213  //
  4214  // - deployment: The name of the deployment for this request.
  4215  // - project: The project ID for this request.
  4216  func (r *DeploymentsService) Patch(project string, deployment string, deployment2 *Deployment) *DeploymentsPatchCall {
  4217  	c := &DeploymentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4218  	c.project = project
  4219  	c.deployment = deployment
  4220  	c.deployment2 = deployment2
  4221  	return c
  4222  }
  4223  
  4224  // CreatePolicy sets the optional parameter "createPolicy": Sets the policy to
  4225  // use for creating new resources.
  4226  //
  4227  // Possible values:
  4228  //
  4229  //	"CREATE_OR_ACQUIRE" (default)
  4230  //	"ACQUIRE"
  4231  //	"CREATE"
  4232  func (c *DeploymentsPatchCall) CreatePolicy(createPolicy string) *DeploymentsPatchCall {
  4233  	c.urlParams_.Set("createPolicy", createPolicy)
  4234  	return c
  4235  }
  4236  
  4237  // DeletePolicy sets the optional parameter "deletePolicy": Sets the policy to
  4238  // use for deleting resources.
  4239  //
  4240  // Possible values:
  4241  //
  4242  //	"DELETE" (default)
  4243  //	"ABANDON"
  4244  func (c *DeploymentsPatchCall) DeletePolicy(deletePolicy string) *DeploymentsPatchCall {
  4245  	c.urlParams_.Set("deletePolicy", deletePolicy)
  4246  	return c
  4247  }
  4248  
  4249  // Preview sets the optional parameter "preview": If set to true, updates the
  4250  // deployment and creates and updates the "shell" resources but does not
  4251  // actually alter or instantiate these resources. This allows you to preview
  4252  // what your deployment will look like. You can use this intent to preview how
  4253  // an update would affect your deployment. You must provide a `target.config`
  4254  // with a configuration if this is set to true. After previewing a deployment,
  4255  // you can deploy your resources by making a request with the `update()` or you
  4256  // can `cancelPreview()` to remove the preview altogether. Note that the
  4257  // deployment will still exist after you cancel the preview and you must
  4258  // separately delete this deployment if you want to remove it.
  4259  func (c *DeploymentsPatchCall) Preview(preview bool) *DeploymentsPatchCall {
  4260  	c.urlParams_.Set("preview", fmt.Sprint(preview))
  4261  	return c
  4262  }
  4263  
  4264  // Fields allows partial responses to be retrieved. See
  4265  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4266  // details.
  4267  func (c *DeploymentsPatchCall) Fields(s ...googleapi.Field) *DeploymentsPatchCall {
  4268  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4269  	return c
  4270  }
  4271  
  4272  // Context sets the context to be used in this call's Do method.
  4273  func (c *DeploymentsPatchCall) Context(ctx context.Context) *DeploymentsPatchCall {
  4274  	c.ctx_ = ctx
  4275  	return c
  4276  }
  4277  
  4278  // Header returns a http.Header that can be modified by the caller to add
  4279  // headers to the request.
  4280  func (c *DeploymentsPatchCall) Header() http.Header {
  4281  	if c.header_ == nil {
  4282  		c.header_ = make(http.Header)
  4283  	}
  4284  	return c.header_
  4285  }
  4286  
  4287  func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
  4288  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4289  	var body io.Reader = nil
  4290  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
  4291  	if err != nil {
  4292  		return nil, err
  4293  	}
  4294  	c.urlParams_.Set("alt", alt)
  4295  	c.urlParams_.Set("prettyPrint", "false")
  4296  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
  4297  	urls += "?" + c.urlParams_.Encode()
  4298  	req, err := http.NewRequest("PATCH", urls, body)
  4299  	if err != nil {
  4300  		return nil, err
  4301  	}
  4302  	req.Header = reqHeaders
  4303  	googleapi.Expand(req.URL, map[string]string{
  4304  		"project":    c.project,
  4305  		"deployment": c.deployment,
  4306  	})
  4307  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4308  }
  4309  
  4310  // Do executes the "deploymentmanager.deployments.patch" call.
  4311  // Any non-2xx status code is an error. Response headers are in either
  4312  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4313  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4314  // whether the returned error was because http.StatusNotModified was returned.
  4315  func (c *DeploymentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4316  	gensupport.SetOptions(c.urlParams_, opts...)
  4317  	res, err := c.doRequest("json")
  4318  	if res != nil && res.StatusCode == http.StatusNotModified {
  4319  		if res.Body != nil {
  4320  			res.Body.Close()
  4321  		}
  4322  		return nil, gensupport.WrapError(&googleapi.Error{
  4323  			Code:   res.StatusCode,
  4324  			Header: res.Header,
  4325  		})
  4326  	}
  4327  	if err != nil {
  4328  		return nil, err
  4329  	}
  4330  	defer googleapi.CloseBody(res)
  4331  	if err := googleapi.CheckResponse(res); err != nil {
  4332  		return nil, gensupport.WrapError(err)
  4333  	}
  4334  	ret := &Operation{
  4335  		ServerResponse: googleapi.ServerResponse{
  4336  			Header:         res.Header,
  4337  			HTTPStatusCode: res.StatusCode,
  4338  		},
  4339  	}
  4340  	target := &ret
  4341  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4342  		return nil, err
  4343  	}
  4344  	return ret, nil
  4345  }
  4346  
  4347  type DeploymentsSetIamPolicyCall struct {
  4348  	s                      *Service
  4349  	project                string
  4350  	resource               string
  4351  	globalsetpolicyrequest *GlobalSetPolicyRequest
  4352  	urlParams_             gensupport.URLParams
  4353  	ctx_                   context.Context
  4354  	header_                http.Header
  4355  }
  4356  
  4357  // SetIamPolicy: Sets the access control policy on the specified resource.
  4358  // Replaces any existing policy.
  4359  //
  4360  // - project: Project ID for this request.
  4361  // - resource: Name or id of the resource for this request.
  4362  func (r *DeploymentsService) SetIamPolicy(project string, resource string, globalsetpolicyrequest *GlobalSetPolicyRequest) *DeploymentsSetIamPolicyCall {
  4363  	c := &DeploymentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4364  	c.project = project
  4365  	c.resource = resource
  4366  	c.globalsetpolicyrequest = globalsetpolicyrequest
  4367  	return c
  4368  }
  4369  
  4370  // Fields allows partial responses to be retrieved. See
  4371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4372  // details.
  4373  func (c *DeploymentsSetIamPolicyCall) Fields(s ...googleapi.Field) *DeploymentsSetIamPolicyCall {
  4374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4375  	return c
  4376  }
  4377  
  4378  // Context sets the context to be used in this call's Do method.
  4379  func (c *DeploymentsSetIamPolicyCall) Context(ctx context.Context) *DeploymentsSetIamPolicyCall {
  4380  	c.ctx_ = ctx
  4381  	return c
  4382  }
  4383  
  4384  // Header returns a http.Header that can be modified by the caller to add
  4385  // headers to the request.
  4386  func (c *DeploymentsSetIamPolicyCall) Header() http.Header {
  4387  	if c.header_ == nil {
  4388  		c.header_ = make(http.Header)
  4389  	}
  4390  	return c.header_
  4391  }
  4392  
  4393  func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  4394  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4395  	var body io.Reader = nil
  4396  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetpolicyrequest)
  4397  	if err != nil {
  4398  		return nil, err
  4399  	}
  4400  	c.urlParams_.Set("alt", alt)
  4401  	c.urlParams_.Set("prettyPrint", "false")
  4402  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/setIamPolicy")
  4403  	urls += "?" + c.urlParams_.Encode()
  4404  	req, err := http.NewRequest("POST", urls, body)
  4405  	if err != nil {
  4406  		return nil, err
  4407  	}
  4408  	req.Header = reqHeaders
  4409  	googleapi.Expand(req.URL, map[string]string{
  4410  		"project":  c.project,
  4411  		"resource": c.resource,
  4412  	})
  4413  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4414  }
  4415  
  4416  // Do executes the "deploymentmanager.deployments.setIamPolicy" call.
  4417  // Any non-2xx status code is an error. Response headers are in either
  4418  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  4419  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4420  // whether the returned error was because http.StatusNotModified was returned.
  4421  func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  4422  	gensupport.SetOptions(c.urlParams_, opts...)
  4423  	res, err := c.doRequest("json")
  4424  	if res != nil && res.StatusCode == http.StatusNotModified {
  4425  		if res.Body != nil {
  4426  			res.Body.Close()
  4427  		}
  4428  		return nil, gensupport.WrapError(&googleapi.Error{
  4429  			Code:   res.StatusCode,
  4430  			Header: res.Header,
  4431  		})
  4432  	}
  4433  	if err != nil {
  4434  		return nil, err
  4435  	}
  4436  	defer googleapi.CloseBody(res)
  4437  	if err := googleapi.CheckResponse(res); err != nil {
  4438  		return nil, gensupport.WrapError(err)
  4439  	}
  4440  	ret := &Policy{
  4441  		ServerResponse: googleapi.ServerResponse{
  4442  			Header:         res.Header,
  4443  			HTTPStatusCode: res.StatusCode,
  4444  		},
  4445  	}
  4446  	target := &ret
  4447  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4448  		return nil, err
  4449  	}
  4450  	return ret, nil
  4451  }
  4452  
  4453  type DeploymentsStopCall struct {
  4454  	s                      *Service
  4455  	project                string
  4456  	deployment             string
  4457  	deploymentsstoprequest *DeploymentsStopRequest
  4458  	urlParams_             gensupport.URLParams
  4459  	ctx_                   context.Context
  4460  	header_                http.Header
  4461  }
  4462  
  4463  // Stop: Stops an ongoing operation. This does not roll back any work that has
  4464  // already been completed, but prevents any new work from being started.
  4465  //
  4466  // - deployment: The name of the deployment for this request.
  4467  // - project: The project ID for this request.
  4468  func (r *DeploymentsService) Stop(project string, deployment string, deploymentsstoprequest *DeploymentsStopRequest) *DeploymentsStopCall {
  4469  	c := &DeploymentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4470  	c.project = project
  4471  	c.deployment = deployment
  4472  	c.deploymentsstoprequest = deploymentsstoprequest
  4473  	return c
  4474  }
  4475  
  4476  // Fields allows partial responses to be retrieved. See
  4477  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4478  // details.
  4479  func (c *DeploymentsStopCall) Fields(s ...googleapi.Field) *DeploymentsStopCall {
  4480  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4481  	return c
  4482  }
  4483  
  4484  // Context sets the context to be used in this call's Do method.
  4485  func (c *DeploymentsStopCall) Context(ctx context.Context) *DeploymentsStopCall {
  4486  	c.ctx_ = ctx
  4487  	return c
  4488  }
  4489  
  4490  // Header returns a http.Header that can be modified by the caller to add
  4491  // headers to the request.
  4492  func (c *DeploymentsStopCall) Header() http.Header {
  4493  	if c.header_ == nil {
  4494  		c.header_ = make(http.Header)
  4495  	}
  4496  	return c.header_
  4497  }
  4498  
  4499  func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
  4500  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4501  	var body io.Reader = nil
  4502  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploymentsstoprequest)
  4503  	if err != nil {
  4504  		return nil, err
  4505  	}
  4506  	c.urlParams_.Set("alt", alt)
  4507  	c.urlParams_.Set("prettyPrint", "false")
  4508  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/stop")
  4509  	urls += "?" + c.urlParams_.Encode()
  4510  	req, err := http.NewRequest("POST", urls, body)
  4511  	if err != nil {
  4512  		return nil, err
  4513  	}
  4514  	req.Header = reqHeaders
  4515  	googleapi.Expand(req.URL, map[string]string{
  4516  		"project":    c.project,
  4517  		"deployment": c.deployment,
  4518  	})
  4519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4520  }
  4521  
  4522  // Do executes the "deploymentmanager.deployments.stop" call.
  4523  // Any non-2xx status code is an error. Response headers are in either
  4524  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4525  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4526  // whether the returned error was because http.StatusNotModified was returned.
  4527  func (c *DeploymentsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4528  	gensupport.SetOptions(c.urlParams_, opts...)
  4529  	res, err := c.doRequest("json")
  4530  	if res != nil && res.StatusCode == http.StatusNotModified {
  4531  		if res.Body != nil {
  4532  			res.Body.Close()
  4533  		}
  4534  		return nil, gensupport.WrapError(&googleapi.Error{
  4535  			Code:   res.StatusCode,
  4536  			Header: res.Header,
  4537  		})
  4538  	}
  4539  	if err != nil {
  4540  		return nil, err
  4541  	}
  4542  	defer googleapi.CloseBody(res)
  4543  	if err := googleapi.CheckResponse(res); err != nil {
  4544  		return nil, gensupport.WrapError(err)
  4545  	}
  4546  	ret := &Operation{
  4547  		ServerResponse: googleapi.ServerResponse{
  4548  			Header:         res.Header,
  4549  			HTTPStatusCode: res.StatusCode,
  4550  		},
  4551  	}
  4552  	target := &ret
  4553  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4554  		return nil, err
  4555  	}
  4556  	return ret, nil
  4557  }
  4558  
  4559  type DeploymentsTestIamPermissionsCall struct {
  4560  	s                      *Service
  4561  	project                string
  4562  	resource               string
  4563  	testpermissionsrequest *TestPermissionsRequest
  4564  	urlParams_             gensupport.URLParams
  4565  	ctx_                   context.Context
  4566  	header_                http.Header
  4567  }
  4568  
  4569  // TestIamPermissions: Returns permissions that a caller has on the specified
  4570  // resource.
  4571  //
  4572  // - project: Project ID for this request.
  4573  // - resource: Name or id of the resource for this request.
  4574  func (r *DeploymentsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *DeploymentsTestIamPermissionsCall {
  4575  	c := &DeploymentsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4576  	c.project = project
  4577  	c.resource = resource
  4578  	c.testpermissionsrequest = testpermissionsrequest
  4579  	return c
  4580  }
  4581  
  4582  // Fields allows partial responses to be retrieved. See
  4583  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4584  // details.
  4585  func (c *DeploymentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *DeploymentsTestIamPermissionsCall {
  4586  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4587  	return c
  4588  }
  4589  
  4590  // Context sets the context to be used in this call's Do method.
  4591  func (c *DeploymentsTestIamPermissionsCall) Context(ctx context.Context) *DeploymentsTestIamPermissionsCall {
  4592  	c.ctx_ = ctx
  4593  	return c
  4594  }
  4595  
  4596  // Header returns a http.Header that can be modified by the caller to add
  4597  // headers to the request.
  4598  func (c *DeploymentsTestIamPermissionsCall) Header() http.Header {
  4599  	if c.header_ == nil {
  4600  		c.header_ = make(http.Header)
  4601  	}
  4602  	return c.header_
  4603  }
  4604  
  4605  func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  4606  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4607  	var body io.Reader = nil
  4608  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest)
  4609  	if err != nil {
  4610  		return nil, err
  4611  	}
  4612  	c.urlParams_.Set("alt", alt)
  4613  	c.urlParams_.Set("prettyPrint", "false")
  4614  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{resource}/testIamPermissions")
  4615  	urls += "?" + c.urlParams_.Encode()
  4616  	req, err := http.NewRequest("POST", urls, body)
  4617  	if err != nil {
  4618  		return nil, err
  4619  	}
  4620  	req.Header = reqHeaders
  4621  	googleapi.Expand(req.URL, map[string]string{
  4622  		"project":  c.project,
  4623  		"resource": c.resource,
  4624  	})
  4625  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4626  }
  4627  
  4628  // Do executes the "deploymentmanager.deployments.testIamPermissions" call.
  4629  // Any non-2xx status code is an error. Response headers are in either
  4630  // *TestPermissionsResponse.ServerResponse.Header or (if a response was
  4631  // returned at all) in error.(*googleapi.Error).Header. Use
  4632  // googleapi.IsNotModified to check whether the returned error was because
  4633  // http.StatusNotModified was returned.
  4634  func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) {
  4635  	gensupport.SetOptions(c.urlParams_, opts...)
  4636  	res, err := c.doRequest("json")
  4637  	if res != nil && res.StatusCode == http.StatusNotModified {
  4638  		if res.Body != nil {
  4639  			res.Body.Close()
  4640  		}
  4641  		return nil, gensupport.WrapError(&googleapi.Error{
  4642  			Code:   res.StatusCode,
  4643  			Header: res.Header,
  4644  		})
  4645  	}
  4646  	if err != nil {
  4647  		return nil, err
  4648  	}
  4649  	defer googleapi.CloseBody(res)
  4650  	if err := googleapi.CheckResponse(res); err != nil {
  4651  		return nil, gensupport.WrapError(err)
  4652  	}
  4653  	ret := &TestPermissionsResponse{
  4654  		ServerResponse: googleapi.ServerResponse{
  4655  			Header:         res.Header,
  4656  			HTTPStatusCode: res.StatusCode,
  4657  		},
  4658  	}
  4659  	target := &ret
  4660  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4661  		return nil, err
  4662  	}
  4663  	return ret, nil
  4664  }
  4665  
  4666  type DeploymentsUpdateCall struct {
  4667  	s           *Service
  4668  	project     string
  4669  	deployment  string
  4670  	deployment2 *Deployment
  4671  	urlParams_  gensupport.URLParams
  4672  	ctx_        context.Context
  4673  	header_     http.Header
  4674  }
  4675  
  4676  // Update: Updates a deployment and all of the resources described by the
  4677  // deployment manifest.
  4678  //
  4679  // - deployment: The name of the deployment for this request.
  4680  // - project: The project ID for this request.
  4681  func (r *DeploymentsService) Update(project string, deployment string, deployment2 *Deployment) *DeploymentsUpdateCall {
  4682  	c := &DeploymentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4683  	c.project = project
  4684  	c.deployment = deployment
  4685  	c.deployment2 = deployment2
  4686  	return c
  4687  }
  4688  
  4689  // CreatePolicy sets the optional parameter "createPolicy": Sets the policy to
  4690  // use for creating new resources.
  4691  //
  4692  // Possible values:
  4693  //
  4694  //	"CREATE_OR_ACQUIRE" (default)
  4695  //	"ACQUIRE"
  4696  //	"CREATE"
  4697  func (c *DeploymentsUpdateCall) CreatePolicy(createPolicy string) *DeploymentsUpdateCall {
  4698  	c.urlParams_.Set("createPolicy", createPolicy)
  4699  	return c
  4700  }
  4701  
  4702  // DeletePolicy sets the optional parameter "deletePolicy": Sets the policy to
  4703  // use for deleting resources.
  4704  //
  4705  // Possible values:
  4706  //
  4707  //	"DELETE" (default)
  4708  //	"ABANDON"
  4709  func (c *DeploymentsUpdateCall) DeletePolicy(deletePolicy string) *DeploymentsUpdateCall {
  4710  	c.urlParams_.Set("deletePolicy", deletePolicy)
  4711  	return c
  4712  }
  4713  
  4714  // Preview sets the optional parameter "preview": If set to true, updates the
  4715  // deployment and creates and updates the "shell" resources but does not
  4716  // actually alter or instantiate these resources. This allows you to preview
  4717  // what your deployment will look like. You can use this intent to preview how
  4718  // an update would affect your deployment. You must provide a `target.config`
  4719  // with a configuration if this is set to true. After previewing a deployment,
  4720  // you can deploy your resources by making a request with the `update()` or you
  4721  // can `cancelPreview()` to remove the preview altogether. Note that the
  4722  // deployment will still exist after you cancel the preview and you must
  4723  // separately delete this deployment if you want to remove it.
  4724  func (c *DeploymentsUpdateCall) Preview(preview bool) *DeploymentsUpdateCall {
  4725  	c.urlParams_.Set("preview", fmt.Sprint(preview))
  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 for more
  4731  // details.
  4732  func (c *DeploymentsUpdateCall) Fields(s ...googleapi.Field) *DeploymentsUpdateCall {
  4733  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4734  	return c
  4735  }
  4736  
  4737  // Context sets the context to be used in this call's Do method.
  4738  func (c *DeploymentsUpdateCall) Context(ctx context.Context) *DeploymentsUpdateCall {
  4739  	c.ctx_ = ctx
  4740  	return c
  4741  }
  4742  
  4743  // Header returns a http.Header that can be modified by the caller to add
  4744  // headers to the request.
  4745  func (c *DeploymentsUpdateCall) Header() http.Header {
  4746  	if c.header_ == nil {
  4747  		c.header_ = make(http.Header)
  4748  	}
  4749  	return c.header_
  4750  }
  4751  
  4752  func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
  4753  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4754  	var body io.Reader = nil
  4755  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deployment2)
  4756  	if err != nil {
  4757  		return nil, err
  4758  	}
  4759  	c.urlParams_.Set("alt", alt)
  4760  	c.urlParams_.Set("prettyPrint", "false")
  4761  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}")
  4762  	urls += "?" + c.urlParams_.Encode()
  4763  	req, err := http.NewRequest("PUT", urls, body)
  4764  	if err != nil {
  4765  		return nil, err
  4766  	}
  4767  	req.Header = reqHeaders
  4768  	googleapi.Expand(req.URL, map[string]string{
  4769  		"project":    c.project,
  4770  		"deployment": c.deployment,
  4771  	})
  4772  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4773  }
  4774  
  4775  // Do executes the "deploymentmanager.deployments.update" call.
  4776  // Any non-2xx status code is an error. Response headers are in either
  4777  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4778  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4779  // whether the returned error was because http.StatusNotModified was returned.
  4780  func (c *DeploymentsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4781  	gensupport.SetOptions(c.urlParams_, opts...)
  4782  	res, err := c.doRequest("json")
  4783  	if res != nil && res.StatusCode == http.StatusNotModified {
  4784  		if res.Body != nil {
  4785  			res.Body.Close()
  4786  		}
  4787  		return nil, gensupport.WrapError(&googleapi.Error{
  4788  			Code:   res.StatusCode,
  4789  			Header: res.Header,
  4790  		})
  4791  	}
  4792  	if err != nil {
  4793  		return nil, err
  4794  	}
  4795  	defer googleapi.CloseBody(res)
  4796  	if err := googleapi.CheckResponse(res); err != nil {
  4797  		return nil, gensupport.WrapError(err)
  4798  	}
  4799  	ret := &Operation{
  4800  		ServerResponse: googleapi.ServerResponse{
  4801  			Header:         res.Header,
  4802  			HTTPStatusCode: res.StatusCode,
  4803  		},
  4804  	}
  4805  	target := &ret
  4806  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4807  		return nil, err
  4808  	}
  4809  	return ret, nil
  4810  }
  4811  
  4812  type ManifestsGetCall struct {
  4813  	s            *Service
  4814  	project      string
  4815  	deployment   string
  4816  	manifest     string
  4817  	urlParams_   gensupport.URLParams
  4818  	ifNoneMatch_ string
  4819  	ctx_         context.Context
  4820  	header_      http.Header
  4821  }
  4822  
  4823  // Get: Gets information about a specific manifest.
  4824  //
  4825  // - deployment: The name of the deployment for this request.
  4826  // - manifest: The name of the manifest for this request.
  4827  // - project: The project ID for this request.
  4828  func (r *ManifestsService) Get(project string, deployment string, manifest string) *ManifestsGetCall {
  4829  	c := &ManifestsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4830  	c.project = project
  4831  	c.deployment = deployment
  4832  	c.manifest = manifest
  4833  	return c
  4834  }
  4835  
  4836  // Fields allows partial responses to be retrieved. See
  4837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4838  // details.
  4839  func (c *ManifestsGetCall) Fields(s ...googleapi.Field) *ManifestsGetCall {
  4840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4841  	return c
  4842  }
  4843  
  4844  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4845  // object's ETag matches the given value. This is useful for getting updates
  4846  // only after the object has changed since the last request.
  4847  func (c *ManifestsGetCall) IfNoneMatch(entityTag string) *ManifestsGetCall {
  4848  	c.ifNoneMatch_ = entityTag
  4849  	return c
  4850  }
  4851  
  4852  // Context sets the context to be used in this call's Do method.
  4853  func (c *ManifestsGetCall) Context(ctx context.Context) *ManifestsGetCall {
  4854  	c.ctx_ = ctx
  4855  	return c
  4856  }
  4857  
  4858  // Header returns a http.Header that can be modified by the caller to add
  4859  // headers to the request.
  4860  func (c *ManifestsGetCall) Header() http.Header {
  4861  	if c.header_ == nil {
  4862  		c.header_ = make(http.Header)
  4863  	}
  4864  	return c.header_
  4865  }
  4866  
  4867  func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
  4868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4869  	if c.ifNoneMatch_ != "" {
  4870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4871  	}
  4872  	var body io.Reader = nil
  4873  	c.urlParams_.Set("alt", alt)
  4874  	c.urlParams_.Set("prettyPrint", "false")
  4875  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests/{manifest}")
  4876  	urls += "?" + c.urlParams_.Encode()
  4877  	req, err := http.NewRequest("GET", urls, body)
  4878  	if err != nil {
  4879  		return nil, err
  4880  	}
  4881  	req.Header = reqHeaders
  4882  	googleapi.Expand(req.URL, map[string]string{
  4883  		"project":    c.project,
  4884  		"deployment": c.deployment,
  4885  		"manifest":   c.manifest,
  4886  	})
  4887  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4888  }
  4889  
  4890  // Do executes the "deploymentmanager.manifests.get" call.
  4891  // Any non-2xx status code is an error. Response headers are in either
  4892  // *Manifest.ServerResponse.Header or (if a response was returned at all) in
  4893  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4894  // whether the returned error was because http.StatusNotModified was returned.
  4895  func (c *ManifestsGetCall) Do(opts ...googleapi.CallOption) (*Manifest, error) {
  4896  	gensupport.SetOptions(c.urlParams_, opts...)
  4897  	res, err := c.doRequest("json")
  4898  	if res != nil && res.StatusCode == http.StatusNotModified {
  4899  		if res.Body != nil {
  4900  			res.Body.Close()
  4901  		}
  4902  		return nil, gensupport.WrapError(&googleapi.Error{
  4903  			Code:   res.StatusCode,
  4904  			Header: res.Header,
  4905  		})
  4906  	}
  4907  	if err != nil {
  4908  		return nil, err
  4909  	}
  4910  	defer googleapi.CloseBody(res)
  4911  	if err := googleapi.CheckResponse(res); err != nil {
  4912  		return nil, gensupport.WrapError(err)
  4913  	}
  4914  	ret := &Manifest{
  4915  		ServerResponse: googleapi.ServerResponse{
  4916  			Header:         res.Header,
  4917  			HTTPStatusCode: res.StatusCode,
  4918  		},
  4919  	}
  4920  	target := &ret
  4921  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4922  		return nil, err
  4923  	}
  4924  	return ret, nil
  4925  }
  4926  
  4927  type ManifestsListCall struct {
  4928  	s            *Service
  4929  	project      string
  4930  	deployment   string
  4931  	urlParams_   gensupport.URLParams
  4932  	ifNoneMatch_ string
  4933  	ctx_         context.Context
  4934  	header_      http.Header
  4935  }
  4936  
  4937  // List: Lists all manifests for a given deployment.
  4938  //
  4939  // - deployment: The name of the deployment for this request.
  4940  // - project: The project ID for this request.
  4941  func (r *ManifestsService) List(project string, deployment string) *ManifestsListCall {
  4942  	c := &ManifestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4943  	c.project = project
  4944  	c.deployment = deployment
  4945  	return c
  4946  }
  4947  
  4948  // Filter sets the optional parameter "filter": A filter expression that
  4949  // filters resources listed in the response. Most Compute resources support two
  4950  // types of filter expressions: expressions that support regular expressions
  4951  // and expressions that follow API improvement proposal AIP-160. These two
  4952  // types of filter expressions cannot be mixed in one request. If you want to
  4953  // use AIP-160, your expression must specify the field name, an operator, and
  4954  // the value that you want to use for filtering. The value must be a string, a
  4955  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  4956  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  4957  // can exclude instances named `example-instance` by specifying `name !=
  4958  // example-instance`. The `:*` comparison can be used to test whether a key has
  4959  // been defined. For example, to find all objects with `owner` label use: ```
  4960  // labels.owner:* ``` You can also filter nested fields. For example, you could
  4961  // specify `scheduling.automaticRestart = false` to include instances only if
  4962  // they are not scheduled for automatic restarts. You can use filtering on
  4963  // nested fields to filter based on resource labels. To filter on multiple
  4964  // expressions, provide each separate expression within parentheses. For
  4965  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  4966  // Skylake") ``` By default, each expression is an `AND` expression. However,
  4967  // you can include `AND` and `OR` expressions explicitly. For example: ```
  4968  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  4969  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  4970  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  4971  // single un-parenthesized expression with or without quotes or against
  4972  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  4973  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  4974  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  4975  // value is interpreted as a regular expression using Google RE2 library
  4976  // syntax. The literal value must match the entire field. For example, to
  4977  // filter for instances that do not end with name "instance", you would use
  4978  // `name ne .*instance`. You cannot combine constraints on multiple fields
  4979  // using regular expressions.
  4980  func (c *ManifestsListCall) Filter(filter string) *ManifestsListCall {
  4981  	c.urlParams_.Set("filter", filter)
  4982  	return c
  4983  }
  4984  
  4985  // MaxResults sets the optional parameter "maxResults": The maximum number of
  4986  // results per page that should be returned. If the number of available results
  4987  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  4988  // can be used to get the next page of results in subsequent list requests.
  4989  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  4990  func (c *ManifestsListCall) MaxResults(maxResults int64) *ManifestsListCall {
  4991  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  4992  	return c
  4993  }
  4994  
  4995  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  4996  // certain order. By default, results are returned in alphanumerical order
  4997  // based on the resource name. You can also sort results in descending order
  4998  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  4999  // This sorts results based on the `creationTimestamp` field in reverse
  5000  // chronological order (newest result first). Use this to sort resources like
  5001  // operations so that the newest operation is returned first. Currently, only
  5002  // sorting by `name` or `creationTimestamp desc` is supported.
  5003  func (c *ManifestsListCall) OrderBy(orderBy string) *ManifestsListCall {
  5004  	c.urlParams_.Set("orderBy", orderBy)
  5005  	return c
  5006  }
  5007  
  5008  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  5009  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  5010  // request to get the next page of results.
  5011  func (c *ManifestsListCall) PageToken(pageToken string) *ManifestsListCall {
  5012  	c.urlParams_.Set("pageToken", pageToken)
  5013  	return c
  5014  }
  5015  
  5016  // Fields allows partial responses to be retrieved. See
  5017  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5018  // details.
  5019  func (c *ManifestsListCall) Fields(s ...googleapi.Field) *ManifestsListCall {
  5020  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5021  	return c
  5022  }
  5023  
  5024  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5025  // object's ETag matches the given value. This is useful for getting updates
  5026  // only after the object has changed since the last request.
  5027  func (c *ManifestsListCall) IfNoneMatch(entityTag string) *ManifestsListCall {
  5028  	c.ifNoneMatch_ = entityTag
  5029  	return c
  5030  }
  5031  
  5032  // Context sets the context to be used in this call's Do method.
  5033  func (c *ManifestsListCall) Context(ctx context.Context) *ManifestsListCall {
  5034  	c.ctx_ = ctx
  5035  	return c
  5036  }
  5037  
  5038  // Header returns a http.Header that can be modified by the caller to add
  5039  // headers to the request.
  5040  func (c *ManifestsListCall) Header() http.Header {
  5041  	if c.header_ == nil {
  5042  		c.header_ = make(http.Header)
  5043  	}
  5044  	return c.header_
  5045  }
  5046  
  5047  func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
  5048  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5049  	if c.ifNoneMatch_ != "" {
  5050  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5051  	}
  5052  	var body io.Reader = nil
  5053  	c.urlParams_.Set("alt", alt)
  5054  	c.urlParams_.Set("prettyPrint", "false")
  5055  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/manifests")
  5056  	urls += "?" + c.urlParams_.Encode()
  5057  	req, err := http.NewRequest("GET", urls, body)
  5058  	if err != nil {
  5059  		return nil, err
  5060  	}
  5061  	req.Header = reqHeaders
  5062  	googleapi.Expand(req.URL, map[string]string{
  5063  		"project":    c.project,
  5064  		"deployment": c.deployment,
  5065  	})
  5066  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5067  }
  5068  
  5069  // Do executes the "deploymentmanager.manifests.list" call.
  5070  // Any non-2xx status code is an error. Response headers are in either
  5071  // *ManifestsListResponse.ServerResponse.Header or (if a response was returned
  5072  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5073  // check whether the returned error was because http.StatusNotModified was
  5074  // returned.
  5075  func (c *ManifestsListCall) Do(opts ...googleapi.CallOption) (*ManifestsListResponse, error) {
  5076  	gensupport.SetOptions(c.urlParams_, opts...)
  5077  	res, err := c.doRequest("json")
  5078  	if res != nil && res.StatusCode == http.StatusNotModified {
  5079  		if res.Body != nil {
  5080  			res.Body.Close()
  5081  		}
  5082  		return nil, gensupport.WrapError(&googleapi.Error{
  5083  			Code:   res.StatusCode,
  5084  			Header: res.Header,
  5085  		})
  5086  	}
  5087  	if err != nil {
  5088  		return nil, err
  5089  	}
  5090  	defer googleapi.CloseBody(res)
  5091  	if err := googleapi.CheckResponse(res); err != nil {
  5092  		return nil, gensupport.WrapError(err)
  5093  	}
  5094  	ret := &ManifestsListResponse{
  5095  		ServerResponse: googleapi.ServerResponse{
  5096  			Header:         res.Header,
  5097  			HTTPStatusCode: res.StatusCode,
  5098  		},
  5099  	}
  5100  	target := &ret
  5101  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5102  		return nil, err
  5103  	}
  5104  	return ret, nil
  5105  }
  5106  
  5107  // Pages invokes f for each page of results.
  5108  // A non-nil error returned from f will halt the iteration.
  5109  // The provided context supersedes any context provided to the Context method.
  5110  func (c *ManifestsListCall) Pages(ctx context.Context, f func(*ManifestsListResponse) error) error {
  5111  	c.ctx_ = ctx
  5112  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5113  	for {
  5114  		x, err := c.Do()
  5115  		if err != nil {
  5116  			return err
  5117  		}
  5118  		if err := f(x); err != nil {
  5119  			return err
  5120  		}
  5121  		if x.NextPageToken == "" {
  5122  			return nil
  5123  		}
  5124  		c.PageToken(x.NextPageToken)
  5125  	}
  5126  }
  5127  
  5128  type OperationsGetCall struct {
  5129  	s            *Service
  5130  	project      string
  5131  	operation    string
  5132  	urlParams_   gensupport.URLParams
  5133  	ifNoneMatch_ string
  5134  	ctx_         context.Context
  5135  	header_      http.Header
  5136  }
  5137  
  5138  // Get: Gets information about a specific operation.
  5139  //
  5140  // - operation: The name of the operation for this request.
  5141  // - project: The project ID for this request.
  5142  func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
  5143  	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5144  	c.project = project
  5145  	c.operation = operation
  5146  	return c
  5147  }
  5148  
  5149  // Fields allows partial responses to be retrieved. See
  5150  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5151  // details.
  5152  func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
  5153  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5154  	return c
  5155  }
  5156  
  5157  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5158  // object's ETag matches the given value. This is useful for getting updates
  5159  // only after the object has changed since the last request.
  5160  func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
  5161  	c.ifNoneMatch_ = entityTag
  5162  	return c
  5163  }
  5164  
  5165  // Context sets the context to be used in this call's Do method.
  5166  func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
  5167  	c.ctx_ = ctx
  5168  	return c
  5169  }
  5170  
  5171  // Header returns a http.Header that can be modified by the caller to add
  5172  // headers to the request.
  5173  func (c *OperationsGetCall) Header() http.Header {
  5174  	if c.header_ == nil {
  5175  		c.header_ = make(http.Header)
  5176  	}
  5177  	return c.header_
  5178  }
  5179  
  5180  func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
  5181  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5182  	if c.ifNoneMatch_ != "" {
  5183  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5184  	}
  5185  	var body io.Reader = nil
  5186  	c.urlParams_.Set("alt", alt)
  5187  	c.urlParams_.Set("prettyPrint", "false")
  5188  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/operations/{operation}")
  5189  	urls += "?" + c.urlParams_.Encode()
  5190  	req, err := http.NewRequest("GET", urls, body)
  5191  	if err != nil {
  5192  		return nil, err
  5193  	}
  5194  	req.Header = reqHeaders
  5195  	googleapi.Expand(req.URL, map[string]string{
  5196  		"project":   c.project,
  5197  		"operation": c.operation,
  5198  	})
  5199  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5200  }
  5201  
  5202  // Do executes the "deploymentmanager.operations.get" call.
  5203  // Any non-2xx status code is an error. Response headers are in either
  5204  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5205  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5206  // whether the returned error was because http.StatusNotModified was returned.
  5207  func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5208  	gensupport.SetOptions(c.urlParams_, opts...)
  5209  	res, err := c.doRequest("json")
  5210  	if res != nil && res.StatusCode == http.StatusNotModified {
  5211  		if res.Body != nil {
  5212  			res.Body.Close()
  5213  		}
  5214  		return nil, gensupport.WrapError(&googleapi.Error{
  5215  			Code:   res.StatusCode,
  5216  			Header: res.Header,
  5217  		})
  5218  	}
  5219  	if err != nil {
  5220  		return nil, err
  5221  	}
  5222  	defer googleapi.CloseBody(res)
  5223  	if err := googleapi.CheckResponse(res); err != nil {
  5224  		return nil, gensupport.WrapError(err)
  5225  	}
  5226  	ret := &Operation{
  5227  		ServerResponse: googleapi.ServerResponse{
  5228  			Header:         res.Header,
  5229  			HTTPStatusCode: res.StatusCode,
  5230  		},
  5231  	}
  5232  	target := &ret
  5233  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5234  		return nil, err
  5235  	}
  5236  	return ret, nil
  5237  }
  5238  
  5239  type OperationsListCall struct {
  5240  	s            *Service
  5241  	project      string
  5242  	urlParams_   gensupport.URLParams
  5243  	ifNoneMatch_ string
  5244  	ctx_         context.Context
  5245  	header_      http.Header
  5246  }
  5247  
  5248  // List: Lists all operations for a project.
  5249  //
  5250  // - project: The project ID for this request.
  5251  func (r *OperationsService) List(project string) *OperationsListCall {
  5252  	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5253  	c.project = project
  5254  	return c
  5255  }
  5256  
  5257  // Filter sets the optional parameter "filter": A filter expression that
  5258  // filters resources listed in the response. Most Compute resources support two
  5259  // types of filter expressions: expressions that support regular expressions
  5260  // and expressions that follow API improvement proposal AIP-160. These two
  5261  // types of filter expressions cannot be mixed in one request. If you want to
  5262  // use AIP-160, your expression must specify the field name, an operator, and
  5263  // the value that you want to use for filtering. The value must be a string, a
  5264  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  5265  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  5266  // can exclude instances named `example-instance` by specifying `name !=
  5267  // example-instance`. The `:*` comparison can be used to test whether a key has
  5268  // been defined. For example, to find all objects with `owner` label use: ```
  5269  // labels.owner:* ``` You can also filter nested fields. For example, you could
  5270  // specify `scheduling.automaticRestart = false` to include instances only if
  5271  // they are not scheduled for automatic restarts. You can use filtering on
  5272  // nested fields to filter based on resource labels. To filter on multiple
  5273  // expressions, provide each separate expression within parentheses. For
  5274  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  5275  // Skylake") ``` By default, each expression is an `AND` expression. However,
  5276  // you can include `AND` and `OR` expressions explicitly. For example: ```
  5277  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  5278  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  5279  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  5280  // single un-parenthesized expression with or without quotes or against
  5281  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  5282  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  5283  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  5284  // value is interpreted as a regular expression using Google RE2 library
  5285  // syntax. The literal value must match the entire field. For example, to
  5286  // filter for instances that do not end with name "instance", you would use
  5287  // `name ne .*instance`. You cannot combine constraints on multiple fields
  5288  // using regular expressions.
  5289  func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
  5290  	c.urlParams_.Set("filter", filter)
  5291  	return c
  5292  }
  5293  
  5294  // MaxResults sets the optional parameter "maxResults": The maximum number of
  5295  // results per page that should be returned. If the number of available results
  5296  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  5297  // can be used to get the next page of results in subsequent list requests.
  5298  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  5299  func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
  5300  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  5301  	return c
  5302  }
  5303  
  5304  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  5305  // certain order. By default, results are returned in alphanumerical order
  5306  // based on the resource name. You can also sort results in descending order
  5307  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  5308  // This sorts results based on the `creationTimestamp` field in reverse
  5309  // chronological order (newest result first). Use this to sort resources like
  5310  // operations so that the newest operation is returned first. Currently, only
  5311  // sorting by `name` or `creationTimestamp desc` is supported.
  5312  func (c *OperationsListCall) OrderBy(orderBy string) *OperationsListCall {
  5313  	c.urlParams_.Set("orderBy", orderBy)
  5314  	return c
  5315  }
  5316  
  5317  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  5318  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  5319  // request to get the next page of results.
  5320  func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
  5321  	c.urlParams_.Set("pageToken", pageToken)
  5322  	return c
  5323  }
  5324  
  5325  // Fields allows partial responses to be retrieved. See
  5326  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5327  // details.
  5328  func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
  5329  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5330  	return c
  5331  }
  5332  
  5333  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5334  // object's ETag matches the given value. This is useful for getting updates
  5335  // only after the object has changed since the last request.
  5336  func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
  5337  	c.ifNoneMatch_ = entityTag
  5338  	return c
  5339  }
  5340  
  5341  // Context sets the context to be used in this call's Do method.
  5342  func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
  5343  	c.ctx_ = ctx
  5344  	return c
  5345  }
  5346  
  5347  // Header returns a http.Header that can be modified by the caller to add
  5348  // headers to the request.
  5349  func (c *OperationsListCall) Header() http.Header {
  5350  	if c.header_ == nil {
  5351  		c.header_ = make(http.Header)
  5352  	}
  5353  	return c.header_
  5354  }
  5355  
  5356  func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
  5357  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5358  	if c.ifNoneMatch_ != "" {
  5359  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5360  	}
  5361  	var body io.Reader = nil
  5362  	c.urlParams_.Set("alt", alt)
  5363  	c.urlParams_.Set("prettyPrint", "false")
  5364  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/operations")
  5365  	urls += "?" + c.urlParams_.Encode()
  5366  	req, err := http.NewRequest("GET", urls, body)
  5367  	if err != nil {
  5368  		return nil, err
  5369  	}
  5370  	req.Header = reqHeaders
  5371  	googleapi.Expand(req.URL, map[string]string{
  5372  		"project": c.project,
  5373  	})
  5374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5375  }
  5376  
  5377  // Do executes the "deploymentmanager.operations.list" call.
  5378  // Any non-2xx status code is an error. Response headers are in either
  5379  // *OperationsListResponse.ServerResponse.Header or (if a response was returned
  5380  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5381  // check whether the returned error was because http.StatusNotModified was
  5382  // returned.
  5383  func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*OperationsListResponse, error) {
  5384  	gensupport.SetOptions(c.urlParams_, opts...)
  5385  	res, err := c.doRequest("json")
  5386  	if res != nil && res.StatusCode == http.StatusNotModified {
  5387  		if res.Body != nil {
  5388  			res.Body.Close()
  5389  		}
  5390  		return nil, gensupport.WrapError(&googleapi.Error{
  5391  			Code:   res.StatusCode,
  5392  			Header: res.Header,
  5393  		})
  5394  	}
  5395  	if err != nil {
  5396  		return nil, err
  5397  	}
  5398  	defer googleapi.CloseBody(res)
  5399  	if err := googleapi.CheckResponse(res); err != nil {
  5400  		return nil, gensupport.WrapError(err)
  5401  	}
  5402  	ret := &OperationsListResponse{
  5403  		ServerResponse: googleapi.ServerResponse{
  5404  			Header:         res.Header,
  5405  			HTTPStatusCode: res.StatusCode,
  5406  		},
  5407  	}
  5408  	target := &ret
  5409  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5410  		return nil, err
  5411  	}
  5412  	return ret, nil
  5413  }
  5414  
  5415  // Pages invokes f for each page of results.
  5416  // A non-nil error returned from f will halt the iteration.
  5417  // The provided context supersedes any context provided to the Context method.
  5418  func (c *OperationsListCall) Pages(ctx context.Context, f func(*OperationsListResponse) error) error {
  5419  	c.ctx_ = ctx
  5420  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5421  	for {
  5422  		x, err := c.Do()
  5423  		if err != nil {
  5424  			return err
  5425  		}
  5426  		if err := f(x); err != nil {
  5427  			return err
  5428  		}
  5429  		if x.NextPageToken == "" {
  5430  			return nil
  5431  		}
  5432  		c.PageToken(x.NextPageToken)
  5433  	}
  5434  }
  5435  
  5436  type ResourcesGetCall struct {
  5437  	s            *Service
  5438  	project      string
  5439  	deployment   string
  5440  	resource     string
  5441  	urlParams_   gensupport.URLParams
  5442  	ifNoneMatch_ string
  5443  	ctx_         context.Context
  5444  	header_      http.Header
  5445  }
  5446  
  5447  // Get: Gets information about a single resource.
  5448  //
  5449  // - deployment: The name of the deployment for this request.
  5450  // - project: The project ID for this request.
  5451  // - resource: The name of the resource for this request.
  5452  func (r *ResourcesService) Get(project string, deployment string, resource string) *ResourcesGetCall {
  5453  	c := &ResourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5454  	c.project = project
  5455  	c.deployment = deployment
  5456  	c.resource = resource
  5457  	return c
  5458  }
  5459  
  5460  // Fields allows partial responses to be retrieved. See
  5461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5462  // details.
  5463  func (c *ResourcesGetCall) Fields(s ...googleapi.Field) *ResourcesGetCall {
  5464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5465  	return c
  5466  }
  5467  
  5468  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5469  // object's ETag matches the given value. This is useful for getting updates
  5470  // only after the object has changed since the last request.
  5471  func (c *ResourcesGetCall) IfNoneMatch(entityTag string) *ResourcesGetCall {
  5472  	c.ifNoneMatch_ = entityTag
  5473  	return c
  5474  }
  5475  
  5476  // Context sets the context to be used in this call's Do method.
  5477  func (c *ResourcesGetCall) Context(ctx context.Context) *ResourcesGetCall {
  5478  	c.ctx_ = ctx
  5479  	return c
  5480  }
  5481  
  5482  // Header returns a http.Header that can be modified by the caller to add
  5483  // headers to the request.
  5484  func (c *ResourcesGetCall) Header() http.Header {
  5485  	if c.header_ == nil {
  5486  		c.header_ = make(http.Header)
  5487  	}
  5488  	return c.header_
  5489  }
  5490  
  5491  func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
  5492  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5493  	if c.ifNoneMatch_ != "" {
  5494  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5495  	}
  5496  	var body io.Reader = nil
  5497  	c.urlParams_.Set("alt", alt)
  5498  	c.urlParams_.Set("prettyPrint", "false")
  5499  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources/{resource}")
  5500  	urls += "?" + c.urlParams_.Encode()
  5501  	req, err := http.NewRequest("GET", urls, body)
  5502  	if err != nil {
  5503  		return nil, err
  5504  	}
  5505  	req.Header = reqHeaders
  5506  	googleapi.Expand(req.URL, map[string]string{
  5507  		"project":    c.project,
  5508  		"deployment": c.deployment,
  5509  		"resource":   c.resource,
  5510  	})
  5511  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5512  }
  5513  
  5514  // Do executes the "deploymentmanager.resources.get" call.
  5515  // Any non-2xx status code is an error. Response headers are in either
  5516  // *Resource.ServerResponse.Header or (if a response was returned at all) in
  5517  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5518  // whether the returned error was because http.StatusNotModified was returned.
  5519  func (c *ResourcesGetCall) Do(opts ...googleapi.CallOption) (*Resource, error) {
  5520  	gensupport.SetOptions(c.urlParams_, opts...)
  5521  	res, err := c.doRequest("json")
  5522  	if res != nil && res.StatusCode == http.StatusNotModified {
  5523  		if res.Body != nil {
  5524  			res.Body.Close()
  5525  		}
  5526  		return nil, gensupport.WrapError(&googleapi.Error{
  5527  			Code:   res.StatusCode,
  5528  			Header: res.Header,
  5529  		})
  5530  	}
  5531  	if err != nil {
  5532  		return nil, err
  5533  	}
  5534  	defer googleapi.CloseBody(res)
  5535  	if err := googleapi.CheckResponse(res); err != nil {
  5536  		return nil, gensupport.WrapError(err)
  5537  	}
  5538  	ret := &Resource{
  5539  		ServerResponse: googleapi.ServerResponse{
  5540  			Header:         res.Header,
  5541  			HTTPStatusCode: res.StatusCode,
  5542  		},
  5543  	}
  5544  	target := &ret
  5545  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5546  		return nil, err
  5547  	}
  5548  	return ret, nil
  5549  }
  5550  
  5551  type ResourcesListCall struct {
  5552  	s            *Service
  5553  	project      string
  5554  	deployment   string
  5555  	urlParams_   gensupport.URLParams
  5556  	ifNoneMatch_ string
  5557  	ctx_         context.Context
  5558  	header_      http.Header
  5559  }
  5560  
  5561  // List: Lists all resources in a given deployment.
  5562  //
  5563  // - deployment: The name of the deployment for this request.
  5564  // - project: The project ID for this request.
  5565  func (r *ResourcesService) List(project string, deployment string) *ResourcesListCall {
  5566  	c := &ResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5567  	c.project = project
  5568  	c.deployment = deployment
  5569  	return c
  5570  }
  5571  
  5572  // Filter sets the optional parameter "filter": A filter expression that
  5573  // filters resources listed in the response. Most Compute resources support two
  5574  // types of filter expressions: expressions that support regular expressions
  5575  // and expressions that follow API improvement proposal AIP-160. These two
  5576  // types of filter expressions cannot be mixed in one request. If you want to
  5577  // use AIP-160, your expression must specify the field name, an operator, and
  5578  // the value that you want to use for filtering. The value must be a string, a
  5579  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  5580  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  5581  // can exclude instances named `example-instance` by specifying `name !=
  5582  // example-instance`. The `:*` comparison can be used to test whether a key has
  5583  // been defined. For example, to find all objects with `owner` label use: ```
  5584  // labels.owner:* ``` You can also filter nested fields. For example, you could
  5585  // specify `scheduling.automaticRestart = false` to include instances only if
  5586  // they are not scheduled for automatic restarts. You can use filtering on
  5587  // nested fields to filter based on resource labels. To filter on multiple
  5588  // expressions, provide each separate expression within parentheses. For
  5589  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  5590  // Skylake") ``` By default, each expression is an `AND` expression. However,
  5591  // you can include `AND` and `OR` expressions explicitly. For example: ```
  5592  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  5593  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  5594  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  5595  // single un-parenthesized expression with or without quotes or against
  5596  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  5597  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  5598  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  5599  // value is interpreted as a regular expression using Google RE2 library
  5600  // syntax. The literal value must match the entire field. For example, to
  5601  // filter for instances that do not end with name "instance", you would use
  5602  // `name ne .*instance`. You cannot combine constraints on multiple fields
  5603  // using regular expressions.
  5604  func (c *ResourcesListCall) Filter(filter string) *ResourcesListCall {
  5605  	c.urlParams_.Set("filter", filter)
  5606  	return c
  5607  }
  5608  
  5609  // MaxResults sets the optional parameter "maxResults": The maximum number of
  5610  // results per page that should be returned. If the number of available results
  5611  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  5612  // can be used to get the next page of results in subsequent list requests.
  5613  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  5614  func (c *ResourcesListCall) MaxResults(maxResults int64) *ResourcesListCall {
  5615  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  5616  	return c
  5617  }
  5618  
  5619  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  5620  // certain order. By default, results are returned in alphanumerical order
  5621  // based on the resource name. You can also sort results in descending order
  5622  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  5623  // This sorts results based on the `creationTimestamp` field in reverse
  5624  // chronological order (newest result first). Use this to sort resources like
  5625  // operations so that the newest operation is returned first. Currently, only
  5626  // sorting by `name` or `creationTimestamp desc` is supported.
  5627  func (c *ResourcesListCall) OrderBy(orderBy string) *ResourcesListCall {
  5628  	c.urlParams_.Set("orderBy", orderBy)
  5629  	return c
  5630  }
  5631  
  5632  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  5633  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  5634  // request to get the next page of results.
  5635  func (c *ResourcesListCall) PageToken(pageToken string) *ResourcesListCall {
  5636  	c.urlParams_.Set("pageToken", pageToken)
  5637  	return c
  5638  }
  5639  
  5640  // Fields allows partial responses to be retrieved. See
  5641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5642  // details.
  5643  func (c *ResourcesListCall) Fields(s ...googleapi.Field) *ResourcesListCall {
  5644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5645  	return c
  5646  }
  5647  
  5648  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5649  // object's ETag matches the given value. This is useful for getting updates
  5650  // only after the object has changed since the last request.
  5651  func (c *ResourcesListCall) IfNoneMatch(entityTag string) *ResourcesListCall {
  5652  	c.ifNoneMatch_ = entityTag
  5653  	return c
  5654  }
  5655  
  5656  // Context sets the context to be used in this call's Do method.
  5657  func (c *ResourcesListCall) Context(ctx context.Context) *ResourcesListCall {
  5658  	c.ctx_ = ctx
  5659  	return c
  5660  }
  5661  
  5662  // Header returns a http.Header that can be modified by the caller to add
  5663  // headers to the request.
  5664  func (c *ResourcesListCall) Header() http.Header {
  5665  	if c.header_ == nil {
  5666  		c.header_ = make(http.Header)
  5667  	}
  5668  	return c.header_
  5669  }
  5670  
  5671  func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
  5672  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5673  	if c.ifNoneMatch_ != "" {
  5674  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5675  	}
  5676  	var body io.Reader = nil
  5677  	c.urlParams_.Set("alt", alt)
  5678  	c.urlParams_.Set("prettyPrint", "false")
  5679  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/deployments/{deployment}/resources")
  5680  	urls += "?" + c.urlParams_.Encode()
  5681  	req, err := http.NewRequest("GET", urls, body)
  5682  	if err != nil {
  5683  		return nil, err
  5684  	}
  5685  	req.Header = reqHeaders
  5686  	googleapi.Expand(req.URL, map[string]string{
  5687  		"project":    c.project,
  5688  		"deployment": c.deployment,
  5689  	})
  5690  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5691  }
  5692  
  5693  // Do executes the "deploymentmanager.resources.list" call.
  5694  // Any non-2xx status code is an error. Response headers are in either
  5695  // *ResourcesListResponse.ServerResponse.Header or (if a response was returned
  5696  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5697  // check whether the returned error was because http.StatusNotModified was
  5698  // returned.
  5699  func (c *ResourcesListCall) Do(opts ...googleapi.CallOption) (*ResourcesListResponse, error) {
  5700  	gensupport.SetOptions(c.urlParams_, opts...)
  5701  	res, err := c.doRequest("json")
  5702  	if res != nil && res.StatusCode == http.StatusNotModified {
  5703  		if res.Body != nil {
  5704  			res.Body.Close()
  5705  		}
  5706  		return nil, gensupport.WrapError(&googleapi.Error{
  5707  			Code:   res.StatusCode,
  5708  			Header: res.Header,
  5709  		})
  5710  	}
  5711  	if err != nil {
  5712  		return nil, err
  5713  	}
  5714  	defer googleapi.CloseBody(res)
  5715  	if err := googleapi.CheckResponse(res); err != nil {
  5716  		return nil, gensupport.WrapError(err)
  5717  	}
  5718  	ret := &ResourcesListResponse{
  5719  		ServerResponse: googleapi.ServerResponse{
  5720  			Header:         res.Header,
  5721  			HTTPStatusCode: res.StatusCode,
  5722  		},
  5723  	}
  5724  	target := &ret
  5725  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5726  		return nil, err
  5727  	}
  5728  	return ret, nil
  5729  }
  5730  
  5731  // Pages invokes f for each page of results.
  5732  // A non-nil error returned from f will halt the iteration.
  5733  // The provided context supersedes any context provided to the Context method.
  5734  func (c *ResourcesListCall) Pages(ctx context.Context, f func(*ResourcesListResponse) error) error {
  5735  	c.ctx_ = ctx
  5736  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5737  	for {
  5738  		x, err := c.Do()
  5739  		if err != nil {
  5740  			return err
  5741  		}
  5742  		if err := f(x); err != nil {
  5743  			return err
  5744  		}
  5745  		if x.NextPageToken == "" {
  5746  			return nil
  5747  		}
  5748  		c.PageToken(x.NextPageToken)
  5749  	}
  5750  }
  5751  
  5752  type TypeProvidersDeleteCall struct {
  5753  	s            *Service
  5754  	project      string
  5755  	typeProvider string
  5756  	urlParams_   gensupport.URLParams
  5757  	ctx_         context.Context
  5758  	header_      http.Header
  5759  }
  5760  
  5761  // Delete: Deletes a type provider.
  5762  //
  5763  // - project: The project ID for this request.
  5764  // - typeProvider: The name of the type provider for this request.
  5765  func (r *TypeProvidersService) Delete(project string, typeProvider string) *TypeProvidersDeleteCall {
  5766  	c := &TypeProvidersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5767  	c.project = project
  5768  	c.typeProvider = typeProvider
  5769  	return c
  5770  }
  5771  
  5772  // Fields allows partial responses to be retrieved. See
  5773  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5774  // details.
  5775  func (c *TypeProvidersDeleteCall) Fields(s ...googleapi.Field) *TypeProvidersDeleteCall {
  5776  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5777  	return c
  5778  }
  5779  
  5780  // Context sets the context to be used in this call's Do method.
  5781  func (c *TypeProvidersDeleteCall) Context(ctx context.Context) *TypeProvidersDeleteCall {
  5782  	c.ctx_ = ctx
  5783  	return c
  5784  }
  5785  
  5786  // Header returns a http.Header that can be modified by the caller to add
  5787  // headers to the request.
  5788  func (c *TypeProvidersDeleteCall) Header() http.Header {
  5789  	if c.header_ == nil {
  5790  		c.header_ = make(http.Header)
  5791  	}
  5792  	return c.header_
  5793  }
  5794  
  5795  func (c *TypeProvidersDeleteCall) doRequest(alt string) (*http.Response, error) {
  5796  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5797  	var body io.Reader = nil
  5798  	c.urlParams_.Set("alt", alt)
  5799  	c.urlParams_.Set("prettyPrint", "false")
  5800  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
  5801  	urls += "?" + c.urlParams_.Encode()
  5802  	req, err := http.NewRequest("DELETE", urls, body)
  5803  	if err != nil {
  5804  		return nil, err
  5805  	}
  5806  	req.Header = reqHeaders
  5807  	googleapi.Expand(req.URL, map[string]string{
  5808  		"project":      c.project,
  5809  		"typeProvider": c.typeProvider,
  5810  	})
  5811  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5812  }
  5813  
  5814  // Do executes the "deploymentmanager.typeProviders.delete" call.
  5815  // Any non-2xx status code is an error. Response headers are in either
  5816  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5817  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5818  // whether the returned error was because http.StatusNotModified was returned.
  5819  func (c *TypeProvidersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5820  	gensupport.SetOptions(c.urlParams_, opts...)
  5821  	res, err := c.doRequest("json")
  5822  	if res != nil && res.StatusCode == http.StatusNotModified {
  5823  		if res.Body != nil {
  5824  			res.Body.Close()
  5825  		}
  5826  		return nil, gensupport.WrapError(&googleapi.Error{
  5827  			Code:   res.StatusCode,
  5828  			Header: res.Header,
  5829  		})
  5830  	}
  5831  	if err != nil {
  5832  		return nil, err
  5833  	}
  5834  	defer googleapi.CloseBody(res)
  5835  	if err := googleapi.CheckResponse(res); err != nil {
  5836  		return nil, gensupport.WrapError(err)
  5837  	}
  5838  	ret := &Operation{
  5839  		ServerResponse: googleapi.ServerResponse{
  5840  			Header:         res.Header,
  5841  			HTTPStatusCode: res.StatusCode,
  5842  		},
  5843  	}
  5844  	target := &ret
  5845  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5846  		return nil, err
  5847  	}
  5848  	return ret, nil
  5849  }
  5850  
  5851  type TypeProvidersGetCall struct {
  5852  	s            *Service
  5853  	project      string
  5854  	typeProvider string
  5855  	urlParams_   gensupport.URLParams
  5856  	ifNoneMatch_ string
  5857  	ctx_         context.Context
  5858  	header_      http.Header
  5859  }
  5860  
  5861  // Get: Gets information about a specific type provider.
  5862  //
  5863  // - project: The project ID for this request.
  5864  // - typeProvider: The name of the type provider for this request.
  5865  func (r *TypeProvidersService) Get(project string, typeProvider string) *TypeProvidersGetCall {
  5866  	c := &TypeProvidersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5867  	c.project = project
  5868  	c.typeProvider = typeProvider
  5869  	return c
  5870  }
  5871  
  5872  // Fields allows partial responses to be retrieved. See
  5873  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5874  // details.
  5875  func (c *TypeProvidersGetCall) Fields(s ...googleapi.Field) *TypeProvidersGetCall {
  5876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5877  	return c
  5878  }
  5879  
  5880  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5881  // object's ETag matches the given value. This is useful for getting updates
  5882  // only after the object has changed since the last request.
  5883  func (c *TypeProvidersGetCall) IfNoneMatch(entityTag string) *TypeProvidersGetCall {
  5884  	c.ifNoneMatch_ = entityTag
  5885  	return c
  5886  }
  5887  
  5888  // Context sets the context to be used in this call's Do method.
  5889  func (c *TypeProvidersGetCall) Context(ctx context.Context) *TypeProvidersGetCall {
  5890  	c.ctx_ = ctx
  5891  	return c
  5892  }
  5893  
  5894  // Header returns a http.Header that can be modified by the caller to add
  5895  // headers to the request.
  5896  func (c *TypeProvidersGetCall) Header() http.Header {
  5897  	if c.header_ == nil {
  5898  		c.header_ = make(http.Header)
  5899  	}
  5900  	return c.header_
  5901  }
  5902  
  5903  func (c *TypeProvidersGetCall) doRequest(alt string) (*http.Response, error) {
  5904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5905  	if c.ifNoneMatch_ != "" {
  5906  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5907  	}
  5908  	var body io.Reader = nil
  5909  	c.urlParams_.Set("alt", alt)
  5910  	c.urlParams_.Set("prettyPrint", "false")
  5911  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
  5912  	urls += "?" + c.urlParams_.Encode()
  5913  	req, err := http.NewRequest("GET", urls, body)
  5914  	if err != nil {
  5915  		return nil, err
  5916  	}
  5917  	req.Header = reqHeaders
  5918  	googleapi.Expand(req.URL, map[string]string{
  5919  		"project":      c.project,
  5920  		"typeProvider": c.typeProvider,
  5921  	})
  5922  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5923  }
  5924  
  5925  // Do executes the "deploymentmanager.typeProviders.get" call.
  5926  // Any non-2xx status code is an error. Response headers are in either
  5927  // *TypeProvider.ServerResponse.Header or (if a response was returned at all)
  5928  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5929  // whether the returned error was because http.StatusNotModified was returned.
  5930  func (c *TypeProvidersGetCall) Do(opts ...googleapi.CallOption) (*TypeProvider, error) {
  5931  	gensupport.SetOptions(c.urlParams_, opts...)
  5932  	res, err := c.doRequest("json")
  5933  	if res != nil && res.StatusCode == http.StatusNotModified {
  5934  		if res.Body != nil {
  5935  			res.Body.Close()
  5936  		}
  5937  		return nil, gensupport.WrapError(&googleapi.Error{
  5938  			Code:   res.StatusCode,
  5939  			Header: res.Header,
  5940  		})
  5941  	}
  5942  	if err != nil {
  5943  		return nil, err
  5944  	}
  5945  	defer googleapi.CloseBody(res)
  5946  	if err := googleapi.CheckResponse(res); err != nil {
  5947  		return nil, gensupport.WrapError(err)
  5948  	}
  5949  	ret := &TypeProvider{
  5950  		ServerResponse: googleapi.ServerResponse{
  5951  			Header:         res.Header,
  5952  			HTTPStatusCode: res.StatusCode,
  5953  		},
  5954  	}
  5955  	target := &ret
  5956  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5957  		return nil, err
  5958  	}
  5959  	return ret, nil
  5960  }
  5961  
  5962  type TypeProvidersGetTypeCall struct {
  5963  	s            *Service
  5964  	project      string
  5965  	typeProvider string
  5966  	type_        string
  5967  	urlParams_   gensupport.URLParams
  5968  	ifNoneMatch_ string
  5969  	ctx_         context.Context
  5970  	header_      http.Header
  5971  }
  5972  
  5973  // GetType: Gets a type info for a type provided by a TypeProvider.
  5974  //
  5975  // - project: The project ID for this request.
  5976  // - type: The name of the type provider type for this request.
  5977  // - typeProvider: The name of the type provider for this request.
  5978  func (r *TypeProvidersService) GetType(project string, typeProvider string, type_ string) *TypeProvidersGetTypeCall {
  5979  	c := &TypeProvidersGetTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5980  	c.project = project
  5981  	c.typeProvider = typeProvider
  5982  	c.type_ = type_
  5983  	return c
  5984  }
  5985  
  5986  // Fields allows partial responses to be retrieved. See
  5987  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5988  // details.
  5989  func (c *TypeProvidersGetTypeCall) Fields(s ...googleapi.Field) *TypeProvidersGetTypeCall {
  5990  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5991  	return c
  5992  }
  5993  
  5994  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5995  // object's ETag matches the given value. This is useful for getting updates
  5996  // only after the object has changed since the last request.
  5997  func (c *TypeProvidersGetTypeCall) IfNoneMatch(entityTag string) *TypeProvidersGetTypeCall {
  5998  	c.ifNoneMatch_ = entityTag
  5999  	return c
  6000  }
  6001  
  6002  // Context sets the context to be used in this call's Do method.
  6003  func (c *TypeProvidersGetTypeCall) Context(ctx context.Context) *TypeProvidersGetTypeCall {
  6004  	c.ctx_ = ctx
  6005  	return c
  6006  }
  6007  
  6008  // Header returns a http.Header that can be modified by the caller to add
  6009  // headers to the request.
  6010  func (c *TypeProvidersGetTypeCall) Header() http.Header {
  6011  	if c.header_ == nil {
  6012  		c.header_ = make(http.Header)
  6013  	}
  6014  	return c.header_
  6015  }
  6016  
  6017  func (c *TypeProvidersGetTypeCall) doRequest(alt string) (*http.Response, error) {
  6018  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6019  	if c.ifNoneMatch_ != "" {
  6020  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6021  	}
  6022  	var body io.Reader = nil
  6023  	c.urlParams_.Set("alt", alt)
  6024  	c.urlParams_.Set("prettyPrint", "false")
  6025  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types/{type}")
  6026  	urls += "?" + c.urlParams_.Encode()
  6027  	req, err := http.NewRequest("GET", urls, body)
  6028  	if err != nil {
  6029  		return nil, err
  6030  	}
  6031  	req.Header = reqHeaders
  6032  	googleapi.Expand(req.URL, map[string]string{
  6033  		"project":      c.project,
  6034  		"typeProvider": c.typeProvider,
  6035  		"type":         c.type_,
  6036  	})
  6037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6038  }
  6039  
  6040  // Do executes the "deploymentmanager.typeProviders.getType" call.
  6041  // Any non-2xx status code is an error. Response headers are in either
  6042  // *TypeInfo.ServerResponse.Header or (if a response was returned at all) in
  6043  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6044  // whether the returned error was because http.StatusNotModified was returned.
  6045  func (c *TypeProvidersGetTypeCall) Do(opts ...googleapi.CallOption) (*TypeInfo, error) {
  6046  	gensupport.SetOptions(c.urlParams_, opts...)
  6047  	res, err := c.doRequest("json")
  6048  	if res != nil && res.StatusCode == http.StatusNotModified {
  6049  		if res.Body != nil {
  6050  			res.Body.Close()
  6051  		}
  6052  		return nil, gensupport.WrapError(&googleapi.Error{
  6053  			Code:   res.StatusCode,
  6054  			Header: res.Header,
  6055  		})
  6056  	}
  6057  	if err != nil {
  6058  		return nil, err
  6059  	}
  6060  	defer googleapi.CloseBody(res)
  6061  	if err := googleapi.CheckResponse(res); err != nil {
  6062  		return nil, gensupport.WrapError(err)
  6063  	}
  6064  	ret := &TypeInfo{
  6065  		ServerResponse: googleapi.ServerResponse{
  6066  			Header:         res.Header,
  6067  			HTTPStatusCode: res.StatusCode,
  6068  		},
  6069  	}
  6070  	target := &ret
  6071  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6072  		return nil, err
  6073  	}
  6074  	return ret, nil
  6075  }
  6076  
  6077  type TypeProvidersInsertCall struct {
  6078  	s            *Service
  6079  	project      string
  6080  	typeprovider *TypeProvider
  6081  	urlParams_   gensupport.URLParams
  6082  	ctx_         context.Context
  6083  	header_      http.Header
  6084  }
  6085  
  6086  // Insert: Creates a type provider.
  6087  //
  6088  // - project: The project ID for this request.
  6089  func (r *TypeProvidersService) Insert(project string, typeprovider *TypeProvider) *TypeProvidersInsertCall {
  6090  	c := &TypeProvidersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6091  	c.project = project
  6092  	c.typeprovider = typeprovider
  6093  	return c
  6094  }
  6095  
  6096  // Fields allows partial responses to be retrieved. See
  6097  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6098  // details.
  6099  func (c *TypeProvidersInsertCall) Fields(s ...googleapi.Field) *TypeProvidersInsertCall {
  6100  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6101  	return c
  6102  }
  6103  
  6104  // Context sets the context to be used in this call's Do method.
  6105  func (c *TypeProvidersInsertCall) Context(ctx context.Context) *TypeProvidersInsertCall {
  6106  	c.ctx_ = ctx
  6107  	return c
  6108  }
  6109  
  6110  // Header returns a http.Header that can be modified by the caller to add
  6111  // headers to the request.
  6112  func (c *TypeProvidersInsertCall) Header() http.Header {
  6113  	if c.header_ == nil {
  6114  		c.header_ = make(http.Header)
  6115  	}
  6116  	return c.header_
  6117  }
  6118  
  6119  func (c *TypeProvidersInsertCall) doRequest(alt string) (*http.Response, error) {
  6120  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6121  	var body io.Reader = nil
  6122  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
  6123  	if err != nil {
  6124  		return nil, err
  6125  	}
  6126  	c.urlParams_.Set("alt", alt)
  6127  	c.urlParams_.Set("prettyPrint", "false")
  6128  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders")
  6129  	urls += "?" + c.urlParams_.Encode()
  6130  	req, err := http.NewRequest("POST", urls, body)
  6131  	if err != nil {
  6132  		return nil, err
  6133  	}
  6134  	req.Header = reqHeaders
  6135  	googleapi.Expand(req.URL, map[string]string{
  6136  		"project": c.project,
  6137  	})
  6138  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6139  }
  6140  
  6141  // Do executes the "deploymentmanager.typeProviders.insert" call.
  6142  // Any non-2xx status code is an error. Response headers are in either
  6143  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6144  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6145  // whether the returned error was because http.StatusNotModified was returned.
  6146  func (c *TypeProvidersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6147  	gensupport.SetOptions(c.urlParams_, opts...)
  6148  	res, err := c.doRequest("json")
  6149  	if res != nil && res.StatusCode == http.StatusNotModified {
  6150  		if res.Body != nil {
  6151  			res.Body.Close()
  6152  		}
  6153  		return nil, gensupport.WrapError(&googleapi.Error{
  6154  			Code:   res.StatusCode,
  6155  			Header: res.Header,
  6156  		})
  6157  	}
  6158  	if err != nil {
  6159  		return nil, err
  6160  	}
  6161  	defer googleapi.CloseBody(res)
  6162  	if err := googleapi.CheckResponse(res); err != nil {
  6163  		return nil, gensupport.WrapError(err)
  6164  	}
  6165  	ret := &Operation{
  6166  		ServerResponse: googleapi.ServerResponse{
  6167  			Header:         res.Header,
  6168  			HTTPStatusCode: res.StatusCode,
  6169  		},
  6170  	}
  6171  	target := &ret
  6172  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6173  		return nil, err
  6174  	}
  6175  	return ret, nil
  6176  }
  6177  
  6178  type TypeProvidersListCall struct {
  6179  	s            *Service
  6180  	project      string
  6181  	urlParams_   gensupport.URLParams
  6182  	ifNoneMatch_ string
  6183  	ctx_         context.Context
  6184  	header_      http.Header
  6185  }
  6186  
  6187  // List: Lists all resource type providers for Deployment Manager.
  6188  //
  6189  // - project: The project ID for this request.
  6190  func (r *TypeProvidersService) List(project string) *TypeProvidersListCall {
  6191  	c := &TypeProvidersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6192  	c.project = project
  6193  	return c
  6194  }
  6195  
  6196  // Filter sets the optional parameter "filter": A filter expression that
  6197  // filters resources listed in the response. Most Compute resources support two
  6198  // types of filter expressions: expressions that support regular expressions
  6199  // and expressions that follow API improvement proposal AIP-160. These two
  6200  // types of filter expressions cannot be mixed in one request. If you want to
  6201  // use AIP-160, your expression must specify the field name, an operator, and
  6202  // the value that you want to use for filtering. The value must be a string, a
  6203  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  6204  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  6205  // can exclude instances named `example-instance` by specifying `name !=
  6206  // example-instance`. The `:*` comparison can be used to test whether a key has
  6207  // been defined. For example, to find all objects with `owner` label use: ```
  6208  // labels.owner:* ``` You can also filter nested fields. For example, you could
  6209  // specify `scheduling.automaticRestart = false` to include instances only if
  6210  // they are not scheduled for automatic restarts. You can use filtering on
  6211  // nested fields to filter based on resource labels. To filter on multiple
  6212  // expressions, provide each separate expression within parentheses. For
  6213  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  6214  // Skylake") ``` By default, each expression is an `AND` expression. However,
  6215  // you can include `AND` and `OR` expressions explicitly. For example: ```
  6216  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  6217  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  6218  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  6219  // single un-parenthesized expression with or without quotes or against
  6220  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  6221  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  6222  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  6223  // value is interpreted as a regular expression using Google RE2 library
  6224  // syntax. The literal value must match the entire field. For example, to
  6225  // filter for instances that do not end with name "instance", you would use
  6226  // `name ne .*instance`. You cannot combine constraints on multiple fields
  6227  // using regular expressions.
  6228  func (c *TypeProvidersListCall) Filter(filter string) *TypeProvidersListCall {
  6229  	c.urlParams_.Set("filter", filter)
  6230  	return c
  6231  }
  6232  
  6233  // MaxResults sets the optional parameter "maxResults": The maximum number of
  6234  // results per page that should be returned. If the number of available results
  6235  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  6236  // can be used to get the next page of results in subsequent list requests.
  6237  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  6238  func (c *TypeProvidersListCall) MaxResults(maxResults int64) *TypeProvidersListCall {
  6239  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  6240  	return c
  6241  }
  6242  
  6243  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  6244  // certain order. By default, results are returned in alphanumerical order
  6245  // based on the resource name. You can also sort results in descending order
  6246  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  6247  // This sorts results based on the `creationTimestamp` field in reverse
  6248  // chronological order (newest result first). Use this to sort resources like
  6249  // operations so that the newest operation is returned first. Currently, only
  6250  // sorting by `name` or `creationTimestamp desc` is supported.
  6251  func (c *TypeProvidersListCall) OrderBy(orderBy string) *TypeProvidersListCall {
  6252  	c.urlParams_.Set("orderBy", orderBy)
  6253  	return c
  6254  }
  6255  
  6256  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  6257  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  6258  // request to get the next page of results.
  6259  func (c *TypeProvidersListCall) PageToken(pageToken string) *TypeProvidersListCall {
  6260  	c.urlParams_.Set("pageToken", pageToken)
  6261  	return c
  6262  }
  6263  
  6264  // Fields allows partial responses to be retrieved. See
  6265  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6266  // details.
  6267  func (c *TypeProvidersListCall) Fields(s ...googleapi.Field) *TypeProvidersListCall {
  6268  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6269  	return c
  6270  }
  6271  
  6272  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6273  // object's ETag matches the given value. This is useful for getting updates
  6274  // only after the object has changed since the last request.
  6275  func (c *TypeProvidersListCall) IfNoneMatch(entityTag string) *TypeProvidersListCall {
  6276  	c.ifNoneMatch_ = entityTag
  6277  	return c
  6278  }
  6279  
  6280  // Context sets the context to be used in this call's Do method.
  6281  func (c *TypeProvidersListCall) Context(ctx context.Context) *TypeProvidersListCall {
  6282  	c.ctx_ = ctx
  6283  	return c
  6284  }
  6285  
  6286  // Header returns a http.Header that can be modified by the caller to add
  6287  // headers to the request.
  6288  func (c *TypeProvidersListCall) Header() http.Header {
  6289  	if c.header_ == nil {
  6290  		c.header_ = make(http.Header)
  6291  	}
  6292  	return c.header_
  6293  }
  6294  
  6295  func (c *TypeProvidersListCall) doRequest(alt string) (*http.Response, error) {
  6296  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6297  	if c.ifNoneMatch_ != "" {
  6298  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6299  	}
  6300  	var body io.Reader = nil
  6301  	c.urlParams_.Set("alt", alt)
  6302  	c.urlParams_.Set("prettyPrint", "false")
  6303  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders")
  6304  	urls += "?" + c.urlParams_.Encode()
  6305  	req, err := http.NewRequest("GET", urls, body)
  6306  	if err != nil {
  6307  		return nil, err
  6308  	}
  6309  	req.Header = reqHeaders
  6310  	googleapi.Expand(req.URL, map[string]string{
  6311  		"project": c.project,
  6312  	})
  6313  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6314  }
  6315  
  6316  // Do executes the "deploymentmanager.typeProviders.list" call.
  6317  // Any non-2xx status code is an error. Response headers are in either
  6318  // *TypeProvidersListResponse.ServerResponse.Header or (if a response was
  6319  // returned at all) in error.(*googleapi.Error).Header. Use
  6320  // googleapi.IsNotModified to check whether the returned error was because
  6321  // http.StatusNotModified was returned.
  6322  func (c *TypeProvidersListCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListResponse, error) {
  6323  	gensupport.SetOptions(c.urlParams_, opts...)
  6324  	res, err := c.doRequest("json")
  6325  	if res != nil && res.StatusCode == http.StatusNotModified {
  6326  		if res.Body != nil {
  6327  			res.Body.Close()
  6328  		}
  6329  		return nil, gensupport.WrapError(&googleapi.Error{
  6330  			Code:   res.StatusCode,
  6331  			Header: res.Header,
  6332  		})
  6333  	}
  6334  	if err != nil {
  6335  		return nil, err
  6336  	}
  6337  	defer googleapi.CloseBody(res)
  6338  	if err := googleapi.CheckResponse(res); err != nil {
  6339  		return nil, gensupport.WrapError(err)
  6340  	}
  6341  	ret := &TypeProvidersListResponse{
  6342  		ServerResponse: googleapi.ServerResponse{
  6343  			Header:         res.Header,
  6344  			HTTPStatusCode: res.StatusCode,
  6345  		},
  6346  	}
  6347  	target := &ret
  6348  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6349  		return nil, err
  6350  	}
  6351  	return ret, nil
  6352  }
  6353  
  6354  // Pages invokes f for each page of results.
  6355  // A non-nil error returned from f will halt the iteration.
  6356  // The provided context supersedes any context provided to the Context method.
  6357  func (c *TypeProvidersListCall) Pages(ctx context.Context, f func(*TypeProvidersListResponse) error) error {
  6358  	c.ctx_ = ctx
  6359  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6360  	for {
  6361  		x, err := c.Do()
  6362  		if err != nil {
  6363  			return err
  6364  		}
  6365  		if err := f(x); err != nil {
  6366  			return err
  6367  		}
  6368  		if x.NextPageToken == "" {
  6369  			return nil
  6370  		}
  6371  		c.PageToken(x.NextPageToken)
  6372  	}
  6373  }
  6374  
  6375  type TypeProvidersListTypesCall struct {
  6376  	s            *Service
  6377  	project      string
  6378  	typeProvider string
  6379  	urlParams_   gensupport.URLParams
  6380  	ifNoneMatch_ string
  6381  	ctx_         context.Context
  6382  	header_      http.Header
  6383  }
  6384  
  6385  // ListTypes: Lists all the type info for a TypeProvider.
  6386  //
  6387  // - project: The project ID for this request.
  6388  // - typeProvider: The name of the type provider for this request.
  6389  func (r *TypeProvidersService) ListTypes(project string, typeProvider string) *TypeProvidersListTypesCall {
  6390  	c := &TypeProvidersListTypesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6391  	c.project = project
  6392  	c.typeProvider = typeProvider
  6393  	return c
  6394  }
  6395  
  6396  // Filter sets the optional parameter "filter": A filter expression that
  6397  // filters resources listed in the response. Most Compute resources support two
  6398  // types of filter expressions: expressions that support regular expressions
  6399  // and expressions that follow API improvement proposal AIP-160. These two
  6400  // types of filter expressions cannot be mixed in one request. If you want to
  6401  // use AIP-160, your expression must specify the field name, an operator, and
  6402  // the value that you want to use for filtering. The value must be a string, a
  6403  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  6404  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  6405  // can exclude instances named `example-instance` by specifying `name !=
  6406  // example-instance`. The `:*` comparison can be used to test whether a key has
  6407  // been defined. For example, to find all objects with `owner` label use: ```
  6408  // labels.owner:* ``` You can also filter nested fields. For example, you could
  6409  // specify `scheduling.automaticRestart = false` to include instances only if
  6410  // they are not scheduled for automatic restarts. You can use filtering on
  6411  // nested fields to filter based on resource labels. To filter on multiple
  6412  // expressions, provide each separate expression within parentheses. For
  6413  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  6414  // Skylake") ``` By default, each expression is an `AND` expression. However,
  6415  // you can include `AND` and `OR` expressions explicitly. For example: ```
  6416  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  6417  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  6418  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  6419  // single un-parenthesized expression with or without quotes or against
  6420  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  6421  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  6422  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  6423  // value is interpreted as a regular expression using Google RE2 library
  6424  // syntax. The literal value must match the entire field. For example, to
  6425  // filter for instances that do not end with name "instance", you would use
  6426  // `name ne .*instance`. You cannot combine constraints on multiple fields
  6427  // using regular expressions.
  6428  func (c *TypeProvidersListTypesCall) Filter(filter string) *TypeProvidersListTypesCall {
  6429  	c.urlParams_.Set("filter", filter)
  6430  	return c
  6431  }
  6432  
  6433  // MaxResults sets the optional parameter "maxResults": The maximum number of
  6434  // results per page that should be returned. If the number of available results
  6435  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  6436  // can be used to get the next page of results in subsequent list requests.
  6437  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  6438  func (c *TypeProvidersListTypesCall) MaxResults(maxResults int64) *TypeProvidersListTypesCall {
  6439  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  6440  	return c
  6441  }
  6442  
  6443  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  6444  // certain order. By default, results are returned in alphanumerical order
  6445  // based on the resource name. You can also sort results in descending order
  6446  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  6447  // This sorts results based on the `creationTimestamp` field in reverse
  6448  // chronological order (newest result first). Use this to sort resources like
  6449  // operations so that the newest operation is returned first. Currently, only
  6450  // sorting by `name` or `creationTimestamp desc` is supported.
  6451  func (c *TypeProvidersListTypesCall) OrderBy(orderBy string) *TypeProvidersListTypesCall {
  6452  	c.urlParams_.Set("orderBy", orderBy)
  6453  	return c
  6454  }
  6455  
  6456  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  6457  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  6458  // request to get the next page of results.
  6459  func (c *TypeProvidersListTypesCall) PageToken(pageToken string) *TypeProvidersListTypesCall {
  6460  	c.urlParams_.Set("pageToken", pageToken)
  6461  	return c
  6462  }
  6463  
  6464  // Fields allows partial responses to be retrieved. See
  6465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6466  // details.
  6467  func (c *TypeProvidersListTypesCall) Fields(s ...googleapi.Field) *TypeProvidersListTypesCall {
  6468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6469  	return c
  6470  }
  6471  
  6472  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6473  // object's ETag matches the given value. This is useful for getting updates
  6474  // only after the object has changed since the last request.
  6475  func (c *TypeProvidersListTypesCall) IfNoneMatch(entityTag string) *TypeProvidersListTypesCall {
  6476  	c.ifNoneMatch_ = entityTag
  6477  	return c
  6478  }
  6479  
  6480  // Context sets the context to be used in this call's Do method.
  6481  func (c *TypeProvidersListTypesCall) Context(ctx context.Context) *TypeProvidersListTypesCall {
  6482  	c.ctx_ = ctx
  6483  	return c
  6484  }
  6485  
  6486  // Header returns a http.Header that can be modified by the caller to add
  6487  // headers to the request.
  6488  func (c *TypeProvidersListTypesCall) Header() http.Header {
  6489  	if c.header_ == nil {
  6490  		c.header_ = make(http.Header)
  6491  	}
  6492  	return c.header_
  6493  }
  6494  
  6495  func (c *TypeProvidersListTypesCall) doRequest(alt string) (*http.Response, error) {
  6496  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6497  	if c.ifNoneMatch_ != "" {
  6498  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6499  	}
  6500  	var body io.Reader = nil
  6501  	c.urlParams_.Set("alt", alt)
  6502  	c.urlParams_.Set("prettyPrint", "false")
  6503  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}/types")
  6504  	urls += "?" + c.urlParams_.Encode()
  6505  	req, err := http.NewRequest("GET", urls, body)
  6506  	if err != nil {
  6507  		return nil, err
  6508  	}
  6509  	req.Header = reqHeaders
  6510  	googleapi.Expand(req.URL, map[string]string{
  6511  		"project":      c.project,
  6512  		"typeProvider": c.typeProvider,
  6513  	})
  6514  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6515  }
  6516  
  6517  // Do executes the "deploymentmanager.typeProviders.listTypes" call.
  6518  // Any non-2xx status code is an error. Response headers are in either
  6519  // *TypeProvidersListTypesResponse.ServerResponse.Header or (if a response was
  6520  // returned at all) in error.(*googleapi.Error).Header. Use
  6521  // googleapi.IsNotModified to check whether the returned error was because
  6522  // http.StatusNotModified was returned.
  6523  func (c *TypeProvidersListTypesCall) Do(opts ...googleapi.CallOption) (*TypeProvidersListTypesResponse, error) {
  6524  	gensupport.SetOptions(c.urlParams_, opts...)
  6525  	res, err := c.doRequest("json")
  6526  	if res != nil && res.StatusCode == http.StatusNotModified {
  6527  		if res.Body != nil {
  6528  			res.Body.Close()
  6529  		}
  6530  		return nil, gensupport.WrapError(&googleapi.Error{
  6531  			Code:   res.StatusCode,
  6532  			Header: res.Header,
  6533  		})
  6534  	}
  6535  	if err != nil {
  6536  		return nil, err
  6537  	}
  6538  	defer googleapi.CloseBody(res)
  6539  	if err := googleapi.CheckResponse(res); err != nil {
  6540  		return nil, gensupport.WrapError(err)
  6541  	}
  6542  	ret := &TypeProvidersListTypesResponse{
  6543  		ServerResponse: googleapi.ServerResponse{
  6544  			Header:         res.Header,
  6545  			HTTPStatusCode: res.StatusCode,
  6546  		},
  6547  	}
  6548  	target := &ret
  6549  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6550  		return nil, err
  6551  	}
  6552  	return ret, nil
  6553  }
  6554  
  6555  // Pages invokes f for each page of results.
  6556  // A non-nil error returned from f will halt the iteration.
  6557  // The provided context supersedes any context provided to the Context method.
  6558  func (c *TypeProvidersListTypesCall) Pages(ctx context.Context, f func(*TypeProvidersListTypesResponse) error) error {
  6559  	c.ctx_ = ctx
  6560  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6561  	for {
  6562  		x, err := c.Do()
  6563  		if err != nil {
  6564  			return err
  6565  		}
  6566  		if err := f(x); err != nil {
  6567  			return err
  6568  		}
  6569  		if x.NextPageToken == "" {
  6570  			return nil
  6571  		}
  6572  		c.PageToken(x.NextPageToken)
  6573  	}
  6574  }
  6575  
  6576  type TypeProvidersPatchCall struct {
  6577  	s            *Service
  6578  	project      string
  6579  	typeProvider string
  6580  	typeprovider *TypeProvider
  6581  	urlParams_   gensupport.URLParams
  6582  	ctx_         context.Context
  6583  	header_      http.Header
  6584  }
  6585  
  6586  // Patch: Patches a type provider.
  6587  //
  6588  // - project: The project ID for this request.
  6589  // - typeProvider: The name of the type provider for this request.
  6590  func (r *TypeProvidersService) Patch(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersPatchCall {
  6591  	c := &TypeProvidersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6592  	c.project = project
  6593  	c.typeProvider = typeProvider
  6594  	c.typeprovider = typeprovider
  6595  	return c
  6596  }
  6597  
  6598  // Fields allows partial responses to be retrieved. See
  6599  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6600  // details.
  6601  func (c *TypeProvidersPatchCall) Fields(s ...googleapi.Field) *TypeProvidersPatchCall {
  6602  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6603  	return c
  6604  }
  6605  
  6606  // Context sets the context to be used in this call's Do method.
  6607  func (c *TypeProvidersPatchCall) Context(ctx context.Context) *TypeProvidersPatchCall {
  6608  	c.ctx_ = ctx
  6609  	return c
  6610  }
  6611  
  6612  // Header returns a http.Header that can be modified by the caller to add
  6613  // headers to the request.
  6614  func (c *TypeProvidersPatchCall) Header() http.Header {
  6615  	if c.header_ == nil {
  6616  		c.header_ = make(http.Header)
  6617  	}
  6618  	return c.header_
  6619  }
  6620  
  6621  func (c *TypeProvidersPatchCall) doRequest(alt string) (*http.Response, error) {
  6622  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6623  	var body io.Reader = nil
  6624  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
  6625  	if err != nil {
  6626  		return nil, err
  6627  	}
  6628  	c.urlParams_.Set("alt", alt)
  6629  	c.urlParams_.Set("prettyPrint", "false")
  6630  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
  6631  	urls += "?" + c.urlParams_.Encode()
  6632  	req, err := http.NewRequest("PATCH", urls, body)
  6633  	if err != nil {
  6634  		return nil, err
  6635  	}
  6636  	req.Header = reqHeaders
  6637  	googleapi.Expand(req.URL, map[string]string{
  6638  		"project":      c.project,
  6639  		"typeProvider": c.typeProvider,
  6640  	})
  6641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6642  }
  6643  
  6644  // Do executes the "deploymentmanager.typeProviders.patch" call.
  6645  // Any non-2xx status code is an error. Response headers are in either
  6646  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6647  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6648  // whether the returned error was because http.StatusNotModified was returned.
  6649  func (c *TypeProvidersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6650  	gensupport.SetOptions(c.urlParams_, opts...)
  6651  	res, err := c.doRequest("json")
  6652  	if res != nil && res.StatusCode == http.StatusNotModified {
  6653  		if res.Body != nil {
  6654  			res.Body.Close()
  6655  		}
  6656  		return nil, gensupport.WrapError(&googleapi.Error{
  6657  			Code:   res.StatusCode,
  6658  			Header: res.Header,
  6659  		})
  6660  	}
  6661  	if err != nil {
  6662  		return nil, err
  6663  	}
  6664  	defer googleapi.CloseBody(res)
  6665  	if err := googleapi.CheckResponse(res); err != nil {
  6666  		return nil, gensupport.WrapError(err)
  6667  	}
  6668  	ret := &Operation{
  6669  		ServerResponse: googleapi.ServerResponse{
  6670  			Header:         res.Header,
  6671  			HTTPStatusCode: res.StatusCode,
  6672  		},
  6673  	}
  6674  	target := &ret
  6675  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6676  		return nil, err
  6677  	}
  6678  	return ret, nil
  6679  }
  6680  
  6681  type TypeProvidersUpdateCall struct {
  6682  	s            *Service
  6683  	project      string
  6684  	typeProvider string
  6685  	typeprovider *TypeProvider
  6686  	urlParams_   gensupport.URLParams
  6687  	ctx_         context.Context
  6688  	header_      http.Header
  6689  }
  6690  
  6691  // Update: Updates a type provider.
  6692  //
  6693  // - project: The project ID for this request.
  6694  // - typeProvider: The name of the type provider for this request.
  6695  func (r *TypeProvidersService) Update(project string, typeProvider string, typeprovider *TypeProvider) *TypeProvidersUpdateCall {
  6696  	c := &TypeProvidersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6697  	c.project = project
  6698  	c.typeProvider = typeProvider
  6699  	c.typeprovider = typeprovider
  6700  	return c
  6701  }
  6702  
  6703  // Fields allows partial responses to be retrieved. See
  6704  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6705  // details.
  6706  func (c *TypeProvidersUpdateCall) Fields(s ...googleapi.Field) *TypeProvidersUpdateCall {
  6707  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6708  	return c
  6709  }
  6710  
  6711  // Context sets the context to be used in this call's Do method.
  6712  func (c *TypeProvidersUpdateCall) Context(ctx context.Context) *TypeProvidersUpdateCall {
  6713  	c.ctx_ = ctx
  6714  	return c
  6715  }
  6716  
  6717  // Header returns a http.Header that can be modified by the caller to add
  6718  // headers to the request.
  6719  func (c *TypeProvidersUpdateCall) Header() http.Header {
  6720  	if c.header_ == nil {
  6721  		c.header_ = make(http.Header)
  6722  	}
  6723  	return c.header_
  6724  }
  6725  
  6726  func (c *TypeProvidersUpdateCall) doRequest(alt string) (*http.Response, error) {
  6727  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6728  	var body io.Reader = nil
  6729  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.typeprovider)
  6730  	if err != nil {
  6731  		return nil, err
  6732  	}
  6733  	c.urlParams_.Set("alt", alt)
  6734  	c.urlParams_.Set("prettyPrint", "false")
  6735  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/typeProviders/{typeProvider}")
  6736  	urls += "?" + c.urlParams_.Encode()
  6737  	req, err := http.NewRequest("PUT", urls, body)
  6738  	if err != nil {
  6739  		return nil, err
  6740  	}
  6741  	req.Header = reqHeaders
  6742  	googleapi.Expand(req.URL, map[string]string{
  6743  		"project":      c.project,
  6744  		"typeProvider": c.typeProvider,
  6745  	})
  6746  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6747  }
  6748  
  6749  // Do executes the "deploymentmanager.typeProviders.update" call.
  6750  // Any non-2xx status code is an error. Response headers are in either
  6751  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6752  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6753  // whether the returned error was because http.StatusNotModified was returned.
  6754  func (c *TypeProvidersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6755  	gensupport.SetOptions(c.urlParams_, opts...)
  6756  	res, err := c.doRequest("json")
  6757  	if res != nil && res.StatusCode == http.StatusNotModified {
  6758  		if res.Body != nil {
  6759  			res.Body.Close()
  6760  		}
  6761  		return nil, gensupport.WrapError(&googleapi.Error{
  6762  			Code:   res.StatusCode,
  6763  			Header: res.Header,
  6764  		})
  6765  	}
  6766  	if err != nil {
  6767  		return nil, err
  6768  	}
  6769  	defer googleapi.CloseBody(res)
  6770  	if err := googleapi.CheckResponse(res); err != nil {
  6771  		return nil, gensupport.WrapError(err)
  6772  	}
  6773  	ret := &Operation{
  6774  		ServerResponse: googleapi.ServerResponse{
  6775  			Header:         res.Header,
  6776  			HTTPStatusCode: res.StatusCode,
  6777  		},
  6778  	}
  6779  	target := &ret
  6780  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6781  		return nil, err
  6782  	}
  6783  	return ret, nil
  6784  }
  6785  
  6786  type TypesListCall struct {
  6787  	s            *Service
  6788  	project      string
  6789  	urlParams_   gensupport.URLParams
  6790  	ifNoneMatch_ string
  6791  	ctx_         context.Context
  6792  	header_      http.Header
  6793  }
  6794  
  6795  // List: Lists all resource types for Deployment Manager.
  6796  //
  6797  // - project: The project ID for this request.
  6798  func (r *TypesService) List(project string) *TypesListCall {
  6799  	c := &TypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6800  	c.project = project
  6801  	return c
  6802  }
  6803  
  6804  // Filter sets the optional parameter "filter": A filter expression that
  6805  // filters resources listed in the response. Most Compute resources support two
  6806  // types of filter expressions: expressions that support regular expressions
  6807  // and expressions that follow API improvement proposal AIP-160. These two
  6808  // types of filter expressions cannot be mixed in one request. If you want to
  6809  // use AIP-160, your expression must specify the field name, an operator, and
  6810  // the value that you want to use for filtering. The value must be a string, a
  6811  // number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`,
  6812  // `>=` or `:`. For example, if you are filtering Compute Engine instances, you
  6813  // can exclude instances named `example-instance` by specifying `name !=
  6814  // example-instance`. The `:*` comparison can be used to test whether a key has
  6815  // been defined. For example, to find all objects with `owner` label use: ```
  6816  // labels.owner:* ``` You can also filter nested fields. For example, you could
  6817  // specify `scheduling.automaticRestart = false` to include instances only if
  6818  // they are not scheduled for automatic restarts. You can use filtering on
  6819  // nested fields to filter based on resource labels. To filter on multiple
  6820  // expressions, provide each separate expression within parentheses. For
  6821  // example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel
  6822  // Skylake") ``` By default, each expression is an `AND` expression. However,
  6823  // you can include `AND` and `OR` expressions explicitly. For example: ```
  6824  // (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND
  6825  // (scheduling.automaticRestart = true) ``` If you want to use a regular
  6826  // expression, use the `eq` (equal) or `ne` (not equal) operator against a
  6827  // single un-parenthesized expression with or without quotes or against
  6828  // multiple parenthesized expressions. Examples: `fieldname eq unquoted
  6829  // literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted
  6830  // literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal
  6831  // value is interpreted as a regular expression using Google RE2 library
  6832  // syntax. The literal value must match the entire field. For example, to
  6833  // filter for instances that do not end with name "instance", you would use
  6834  // `name ne .*instance`. You cannot combine constraints on multiple fields
  6835  // using regular expressions.
  6836  func (c *TypesListCall) Filter(filter string) *TypesListCall {
  6837  	c.urlParams_.Set("filter", filter)
  6838  	return c
  6839  }
  6840  
  6841  // MaxResults sets the optional parameter "maxResults": The maximum number of
  6842  // results per page that should be returned. If the number of available results
  6843  // is larger than `maxResults`, Compute Engine returns a `nextPageToken` that
  6844  // can be used to get the next page of results in subsequent list requests.
  6845  // Acceptable values are `0` to `500`, inclusive. (Default: `500`)
  6846  func (c *TypesListCall) MaxResults(maxResults int64) *TypesListCall {
  6847  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  6848  	return c
  6849  }
  6850  
  6851  // OrderBy sets the optional parameter "orderBy": Sorts list results by a
  6852  // certain order. By default, results are returned in alphanumerical order
  6853  // based on the resource name. You can also sort results in descending order
  6854  // based on the creation timestamp using `orderBy="creationTimestamp desc".
  6855  // This sorts results based on the `creationTimestamp` field in reverse
  6856  // chronological order (newest result first). Use this to sort resources like
  6857  // operations so that the newest operation is returned first. Currently, only
  6858  // sorting by `name` or `creationTimestamp desc` is supported.
  6859  func (c *TypesListCall) OrderBy(orderBy string) *TypesListCall {
  6860  	c.urlParams_.Set("orderBy", orderBy)
  6861  	return c
  6862  }
  6863  
  6864  // PageToken sets the optional parameter "pageToken": Specifies a page token to
  6865  // use. Set `pageToken` to the `nextPageToken` returned by a previous list
  6866  // request to get the next page of results.
  6867  func (c *TypesListCall) PageToken(pageToken string) *TypesListCall {
  6868  	c.urlParams_.Set("pageToken", pageToken)
  6869  	return c
  6870  }
  6871  
  6872  // Fields allows partial responses to be retrieved. See
  6873  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6874  // details.
  6875  func (c *TypesListCall) Fields(s ...googleapi.Field) *TypesListCall {
  6876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6877  	return c
  6878  }
  6879  
  6880  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6881  // object's ETag matches the given value. This is useful for getting updates
  6882  // only after the object has changed since the last request.
  6883  func (c *TypesListCall) IfNoneMatch(entityTag string) *TypesListCall {
  6884  	c.ifNoneMatch_ = entityTag
  6885  	return c
  6886  }
  6887  
  6888  // Context sets the context to be used in this call's Do method.
  6889  func (c *TypesListCall) Context(ctx context.Context) *TypesListCall {
  6890  	c.ctx_ = ctx
  6891  	return c
  6892  }
  6893  
  6894  // Header returns a http.Header that can be modified by the caller to add
  6895  // headers to the request.
  6896  func (c *TypesListCall) Header() http.Header {
  6897  	if c.header_ == nil {
  6898  		c.header_ = make(http.Header)
  6899  	}
  6900  	return c.header_
  6901  }
  6902  
  6903  func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
  6904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6905  	if c.ifNoneMatch_ != "" {
  6906  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6907  	}
  6908  	var body io.Reader = nil
  6909  	c.urlParams_.Set("alt", alt)
  6910  	c.urlParams_.Set("prettyPrint", "false")
  6911  	urls := googleapi.ResolveRelative(c.s.BasePath, "deploymentmanager/v2beta/projects/{project}/global/types")
  6912  	urls += "?" + c.urlParams_.Encode()
  6913  	req, err := http.NewRequest("GET", urls, body)
  6914  	if err != nil {
  6915  		return nil, err
  6916  	}
  6917  	req.Header = reqHeaders
  6918  	googleapi.Expand(req.URL, map[string]string{
  6919  		"project": c.project,
  6920  	})
  6921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6922  }
  6923  
  6924  // Do executes the "deploymentmanager.types.list" call.
  6925  // Any non-2xx status code is an error. Response headers are in either
  6926  // *TypesListResponse.ServerResponse.Header or (if a response was returned at
  6927  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6928  // check whether the returned error was because http.StatusNotModified was
  6929  // returned.
  6930  func (c *TypesListCall) Do(opts ...googleapi.CallOption) (*TypesListResponse, error) {
  6931  	gensupport.SetOptions(c.urlParams_, opts...)
  6932  	res, err := c.doRequest("json")
  6933  	if res != nil && res.StatusCode == http.StatusNotModified {
  6934  		if res.Body != nil {
  6935  			res.Body.Close()
  6936  		}
  6937  		return nil, gensupport.WrapError(&googleapi.Error{
  6938  			Code:   res.StatusCode,
  6939  			Header: res.Header,
  6940  		})
  6941  	}
  6942  	if err != nil {
  6943  		return nil, err
  6944  	}
  6945  	defer googleapi.CloseBody(res)
  6946  	if err := googleapi.CheckResponse(res); err != nil {
  6947  		return nil, gensupport.WrapError(err)
  6948  	}
  6949  	ret := &TypesListResponse{
  6950  		ServerResponse: googleapi.ServerResponse{
  6951  			Header:         res.Header,
  6952  			HTTPStatusCode: res.StatusCode,
  6953  		},
  6954  	}
  6955  	target := &ret
  6956  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6957  		return nil, err
  6958  	}
  6959  	return ret, nil
  6960  }
  6961  
  6962  // Pages invokes f for each page of results.
  6963  // A non-nil error returned from f will halt the iteration.
  6964  // The provided context supersedes any context provided to the Context method.
  6965  func (c *TypesListCall) Pages(ctx context.Context, f func(*TypesListResponse) error) error {
  6966  	c.ctx_ = ctx
  6967  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6968  	for {
  6969  		x, err := c.Do()
  6970  		if err != nil {
  6971  			return err
  6972  		}
  6973  		if err := f(x); err != nil {
  6974  			return err
  6975  		}
  6976  		if x.NextPageToken == "" {
  6977  			return nil
  6978  		}
  6979  		c.PageToken(x.NextPageToken)
  6980  	}
  6981  }
  6982  

View as plain text