...

Source file src/google.golang.org/api/composer/v1/composer-gen.go

Documentation: google.golang.org/api/composer/v1

     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 composer provides access to the Cloud Composer API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/composer/
    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/composer/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	composerService, err := composer.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  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	composerService, err := composer.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	composerService, err := composer.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package composer // import "google.golang.org/api/composer/v1"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "composer:v1"
    90  const apiName = "composer"
    91  const apiVersion = "v1"
    92  const basePath = "https://composer.googleapis.com/"
    93  const basePathTemplate = "https://composer.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://composer.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Projects = NewProjectsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Projects *ProjectsService
   148  }
   149  
   150  func (s *Service) userAgent() string {
   151  	if s.UserAgent == "" {
   152  		return googleapi.UserAgent
   153  	}
   154  	return googleapi.UserAgent + " " + s.UserAgent
   155  }
   156  
   157  func NewProjectsService(s *Service) *ProjectsService {
   158  	rs := &ProjectsService{s: s}
   159  	rs.Locations = NewProjectsLocationsService(s)
   160  	return rs
   161  }
   162  
   163  type ProjectsService struct {
   164  	s *Service
   165  
   166  	Locations *ProjectsLocationsService
   167  }
   168  
   169  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   170  	rs := &ProjectsLocationsService{s: s}
   171  	rs.Environments = NewProjectsLocationsEnvironmentsService(s)
   172  	rs.ImageVersions = NewProjectsLocationsImageVersionsService(s)
   173  	rs.Operations = NewProjectsLocationsOperationsService(s)
   174  	return rs
   175  }
   176  
   177  type ProjectsLocationsService struct {
   178  	s *Service
   179  
   180  	Environments *ProjectsLocationsEnvironmentsService
   181  
   182  	ImageVersions *ProjectsLocationsImageVersionsService
   183  
   184  	Operations *ProjectsLocationsOperationsService
   185  }
   186  
   187  func NewProjectsLocationsEnvironmentsService(s *Service) *ProjectsLocationsEnvironmentsService {
   188  	rs := &ProjectsLocationsEnvironmentsService{s: s}
   189  	rs.UserWorkloadsConfigMaps = NewProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService(s)
   190  	rs.UserWorkloadsSecrets = NewProjectsLocationsEnvironmentsUserWorkloadsSecretsService(s)
   191  	rs.Workloads = NewProjectsLocationsEnvironmentsWorkloadsService(s)
   192  	return rs
   193  }
   194  
   195  type ProjectsLocationsEnvironmentsService struct {
   196  	s *Service
   197  
   198  	UserWorkloadsConfigMaps *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService
   199  
   200  	UserWorkloadsSecrets *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService
   201  
   202  	Workloads *ProjectsLocationsEnvironmentsWorkloadsService
   203  }
   204  
   205  func NewProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService(s *Service) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService {
   206  	rs := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService{s: s}
   207  	return rs
   208  }
   209  
   210  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService struct {
   211  	s *Service
   212  }
   213  
   214  func NewProjectsLocationsEnvironmentsUserWorkloadsSecretsService(s *Service) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService {
   215  	rs := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsService{s: s}
   216  	return rs
   217  }
   218  
   219  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsService struct {
   220  	s *Service
   221  }
   222  
   223  func NewProjectsLocationsEnvironmentsWorkloadsService(s *Service) *ProjectsLocationsEnvironmentsWorkloadsService {
   224  	rs := &ProjectsLocationsEnvironmentsWorkloadsService{s: s}
   225  	return rs
   226  }
   227  
   228  type ProjectsLocationsEnvironmentsWorkloadsService struct {
   229  	s *Service
   230  }
   231  
   232  func NewProjectsLocationsImageVersionsService(s *Service) *ProjectsLocationsImageVersionsService {
   233  	rs := &ProjectsLocationsImageVersionsService{s: s}
   234  	return rs
   235  }
   236  
   237  type ProjectsLocationsImageVersionsService struct {
   238  	s *Service
   239  }
   240  
   241  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   242  	rs := &ProjectsLocationsOperationsService{s: s}
   243  	return rs
   244  }
   245  
   246  type ProjectsLocationsOperationsService struct {
   247  	s *Service
   248  }
   249  
   250  // AirflowMetadataRetentionPolicyConfig: The policy for airflow metadata
   251  // database retention.
   252  type AirflowMetadataRetentionPolicyConfig struct {
   253  	// RetentionDays: Optional. How many days data should be retained for.
   254  	RetentionDays int64 `json:"retentionDays,omitempty"`
   255  	// RetentionMode: Optional. Retention can be either enabled or disabled.
   256  	//
   257  	// Possible values:
   258  	//   "RETENTION_MODE_UNSPECIFIED" - Default mode doesn't change environment
   259  	// parameters.
   260  	//   "RETENTION_MODE_ENABLED" - Retention policy is enabled.
   261  	//   "RETENTION_MODE_DISABLED" - Retention policy is disabled.
   262  	RetentionMode string `json:"retentionMode,omitempty"`
   263  	// ForceSendFields is a list of field names (e.g. "RetentionDays") to
   264  	// unconditionally include in API requests. By default, fields with empty or
   265  	// default values are omitted from API requests. See
   266  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   267  	// details.
   268  	ForceSendFields []string `json:"-"`
   269  	// NullFields is a list of field names (e.g. "RetentionDays") to include in API
   270  	// requests with the JSON null value. By default, fields with empty values are
   271  	// omitted from API requests. See
   272  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   273  	NullFields []string `json:"-"`
   274  }
   275  
   276  func (s *AirflowMetadataRetentionPolicyConfig) MarshalJSON() ([]byte, error) {
   277  	type NoMethod AirflowMetadataRetentionPolicyConfig
   278  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   279  }
   280  
   281  // AllowedIpRange: Allowed IP range with user-provided description.
   282  type AllowedIpRange struct {
   283  	// Description: Optional. User-provided description. It must contain at most
   284  	// 300 characters.
   285  	Description string `json:"description,omitempty"`
   286  	// Value: IP address or range, defined using CIDR notation, of requests that
   287  	// this rule applies to. Examples: `192.168.1.1` or `192.168.0.0/16` or
   288  	// `2001:db8::/32` or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. IP range
   289  	// prefixes should be properly truncated. For example, `1.2.3.4/24` should be
   290  	// truncated to `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` should be
   291  	// truncated to `2001:db8::/32`.
   292  	Value string `json:"value,omitempty"`
   293  	// ForceSendFields is a list of field names (e.g. "Description") to
   294  	// unconditionally include in API requests. By default, fields with empty or
   295  	// default values are omitted from API requests. See
   296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   297  	// details.
   298  	ForceSendFields []string `json:"-"`
   299  	// NullFields is a list of field names (e.g. "Description") to include in API
   300  	// requests with the JSON null value. By default, fields with empty values are
   301  	// omitted from API requests. See
   302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   303  	NullFields []string `json:"-"`
   304  }
   305  
   306  func (s *AllowedIpRange) MarshalJSON() ([]byte, error) {
   307  	type NoMethod AllowedIpRange
   308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   309  }
   310  
   311  // CheckUpgradeResponse: Message containing information about the result of an
   312  // upgrade check operation.
   313  type CheckUpgradeResponse struct {
   314  	// BuildLogUri: Output only. Url for a docker build log of an upgraded image.
   315  	BuildLogUri string `json:"buildLogUri,omitempty"`
   316  	// ContainsPypiModulesConflict: Output only. Whether build has succeeded or
   317  	// failed on modules conflicts.
   318  	//
   319  	// Possible values:
   320  	//   "CONFLICT_RESULT_UNSPECIFIED" - It is unknown whether build had conflicts
   321  	// or not.
   322  	//   "CONFLICT" - There were python packages conflicts.
   323  	//   "NO_CONFLICT" - There were no python packages conflicts.
   324  	ContainsPypiModulesConflict string `json:"containsPypiModulesConflict,omitempty"`
   325  	// ImageVersion: Composer image for which the build was happening.
   326  	ImageVersion string `json:"imageVersion,omitempty"`
   327  	// PypiConflictBuildLogExtract: Output only. Extract from a docker image build
   328  	// log containing information about pypi modules conflicts.
   329  	PypiConflictBuildLogExtract string `json:"pypiConflictBuildLogExtract,omitempty"`
   330  	// PypiDependencies: Pypi dependencies specified in the environment
   331  	// configuration, at the time when the build was triggered.
   332  	PypiDependencies map[string]string `json:"pypiDependencies,omitempty"`
   333  	// ForceSendFields is a list of field names (e.g. "BuildLogUri") to
   334  	// unconditionally include in API requests. By default, fields with empty or
   335  	// default values are omitted from API requests. See
   336  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   337  	// details.
   338  	ForceSendFields []string `json:"-"`
   339  	// NullFields is a list of field names (e.g. "BuildLogUri") to include in API
   340  	// requests with the JSON null value. By default, fields with empty values are
   341  	// omitted from API requests. See
   342  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   343  	NullFields []string `json:"-"`
   344  }
   345  
   346  func (s *CheckUpgradeResponse) MarshalJSON() ([]byte, error) {
   347  	type NoMethod CheckUpgradeResponse
   348  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   349  }
   350  
   351  // CidrBlock: CIDR block with an optional name.
   352  type CidrBlock struct {
   353  	// CidrBlock: CIDR block that must be specified in CIDR notation.
   354  	CidrBlock string `json:"cidrBlock,omitempty"`
   355  	// DisplayName: User-defined name that identifies the CIDR block.
   356  	DisplayName string `json:"displayName,omitempty"`
   357  	// ForceSendFields is a list of field names (e.g. "CidrBlock") to
   358  	// unconditionally include in API requests. By default, fields with empty or
   359  	// default values are omitted from API requests. See
   360  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   361  	// details.
   362  	ForceSendFields []string `json:"-"`
   363  	// NullFields is a list of field names (e.g. "CidrBlock") to include in API
   364  	// requests with the JSON null value. By default, fields with empty values are
   365  	// omitted from API requests. See
   366  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   367  	NullFields []string `json:"-"`
   368  }
   369  
   370  func (s *CidrBlock) MarshalJSON() ([]byte, error) {
   371  	type NoMethod CidrBlock
   372  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   373  }
   374  
   375  // CloudDataLineageIntegration: Configuration for Cloud Data Lineage
   376  // integration.
   377  type CloudDataLineageIntegration struct {
   378  	// Enabled: Optional. Whether or not Cloud Data Lineage integration is enabled.
   379  	Enabled bool `json:"enabled,omitempty"`
   380  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
   381  	// include in API requests. By default, fields with empty or default values are
   382  	// omitted from API requests. See
   383  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   384  	// details.
   385  	ForceSendFields []string `json:"-"`
   386  	// NullFields is a list of field names (e.g. "Enabled") to include in API
   387  	// requests with the JSON null value. By default, fields with empty values are
   388  	// omitted from API requests. See
   389  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   390  	NullFields []string `json:"-"`
   391  }
   392  
   393  func (s *CloudDataLineageIntegration) MarshalJSON() ([]byte, error) {
   394  	type NoMethod CloudDataLineageIntegration
   395  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   396  }
   397  
   398  // ComposerWorkload: Information about a single workload.
   399  type ComposerWorkload struct {
   400  	// Name: Name of a workload.
   401  	Name string `json:"name,omitempty"`
   402  	// Status: Output only. Status of a workload.
   403  	Status *ComposerWorkloadStatus `json:"status,omitempty"`
   404  	// Type: Type of a workload.
   405  	//
   406  	// Possible values:
   407  	//   "COMPOSER_WORKLOAD_TYPE_UNSPECIFIED" - Not able to determine the type of
   408  	// the workload.
   409  	//   "CELERY_WORKER" - Celery worker.
   410  	//   "KUBERNETES_WORKER" - Kubernetes worker.
   411  	//   "KUBERNETES_OPERATOR_POD" - Workload created by Kubernetes Pod Operator.
   412  	//   "SCHEDULER" - Airflow scheduler.
   413  	//   "DAG_PROCESSOR" - Airflow Dag processor.
   414  	//   "TRIGGERER" - Airflow triggerer.
   415  	//   "WEB_SERVER" - Airflow web server UI.
   416  	//   "REDIS" - Redis.
   417  	Type string `json:"type,omitempty"`
   418  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   419  	// include in API requests. By default, fields with empty or default values are
   420  	// omitted from API requests. See
   421  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   422  	// details.
   423  	ForceSendFields []string `json:"-"`
   424  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   425  	// with the JSON null value. By default, fields with empty values are omitted
   426  	// from API requests. See
   427  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   428  	NullFields []string `json:"-"`
   429  }
   430  
   431  func (s *ComposerWorkload) MarshalJSON() ([]byte, error) {
   432  	type NoMethod ComposerWorkload
   433  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   434  }
   435  
   436  // ComposerWorkloadStatus: Workload status.
   437  type ComposerWorkloadStatus struct {
   438  	// DetailedStatusMessage: Output only. Detailed message of the status.
   439  	DetailedStatusMessage string `json:"detailedStatusMessage,omitempty"`
   440  	// State: Output only. Workload state.
   441  	//
   442  	// Possible values:
   443  	//   "COMPOSER_WORKLOAD_STATE_UNSPECIFIED" - Not able to determine the status
   444  	// of the workload.
   445  	//   "PENDING" - Workload is in pending state and has not yet started.
   446  	//   "OK" - Workload is running fine.
   447  	//   "WARNING" - Workload is running but there are some non-critical problems.
   448  	//   "ERROR" - Workload is not running due to an error.
   449  	//   "SUCCEEDED" - Workload has finished execution with success.
   450  	//   "FAILED" - Workload has finished execution with failure.
   451  	State string `json:"state,omitempty"`
   452  	// StatusMessage: Output only. Text to provide more descriptive status.
   453  	StatusMessage string `json:"statusMessage,omitempty"`
   454  	// ForceSendFields is a list of field names (e.g. "DetailedStatusMessage") to
   455  	// unconditionally include in API requests. By default, fields with empty or
   456  	// default values are omitted from API requests. See
   457  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   458  	// details.
   459  	ForceSendFields []string `json:"-"`
   460  	// NullFields is a list of field names (e.g. "DetailedStatusMessage") to
   461  	// include in API requests with the JSON null value. By default, fields with
   462  	// empty values are omitted from API requests. See
   463  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   464  	NullFields []string `json:"-"`
   465  }
   466  
   467  func (s *ComposerWorkloadStatus) MarshalJSON() ([]byte, error) {
   468  	type NoMethod ComposerWorkloadStatus
   469  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   470  }
   471  
   472  // DagProcessorResource: Configuration for resources used by Airflow DAG
   473  // processors. This field is supported for Cloud Composer environments in
   474  // versions composer-3.*.*-airflow-*.*.* and newer.
   475  type DagProcessorResource struct {
   476  	// Count: Optional. The number of DAG processors. If not provided or set to 0,
   477  	// a single DAG processor instance will be created.
   478  	Count int64 `json:"count,omitempty"`
   479  	// Cpu: Optional. CPU request and limit for a single Airflow DAG processor
   480  	// replica.
   481  	Cpu float64 `json:"cpu,omitempty"`
   482  	// MemoryGb: Optional. Memory (GB) request and limit for a single Airflow DAG
   483  	// processor replica.
   484  	MemoryGb float64 `json:"memoryGb,omitempty"`
   485  	// StorageGb: Optional. Storage (GB) request and limit for a single Airflow DAG
   486  	// processor replica.
   487  	StorageGb float64 `json:"storageGb,omitempty"`
   488  	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
   489  	// include in API requests. By default, fields with empty or default values are
   490  	// omitted from API requests. See
   491  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   492  	// details.
   493  	ForceSendFields []string `json:"-"`
   494  	// NullFields is a list of field names (e.g. "Count") to include in API
   495  	// requests with the JSON null value. By default, fields with empty values are
   496  	// omitted from API requests. See
   497  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   498  	NullFields []string `json:"-"`
   499  }
   500  
   501  func (s *DagProcessorResource) MarshalJSON() ([]byte, error) {
   502  	type NoMethod DagProcessorResource
   503  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   504  }
   505  
   506  func (s *DagProcessorResource) UnmarshalJSON(data []byte) error {
   507  	type NoMethod DagProcessorResource
   508  	var s1 struct {
   509  		Cpu       gensupport.JSONFloat64 `json:"cpu"`
   510  		MemoryGb  gensupport.JSONFloat64 `json:"memoryGb"`
   511  		StorageGb gensupport.JSONFloat64 `json:"storageGb"`
   512  		*NoMethod
   513  	}
   514  	s1.NoMethod = (*NoMethod)(s)
   515  	if err := json.Unmarshal(data, &s1); err != nil {
   516  		return err
   517  	}
   518  	s.Cpu = float64(s1.Cpu)
   519  	s.MemoryGb = float64(s1.MemoryGb)
   520  	s.StorageGb = float64(s1.StorageGb)
   521  	return nil
   522  }
   523  
   524  // DataRetentionConfig: The configuration setting for Airflow database data
   525  // retention mechanism.
   526  type DataRetentionConfig struct {
   527  	// AirflowMetadataRetentionConfig: Optional. The retention policy for airflow
   528  	// metadata database.
   529  	AirflowMetadataRetentionConfig *AirflowMetadataRetentionPolicyConfig `json:"airflowMetadataRetentionConfig,omitempty"`
   530  	// TaskLogsRetentionConfig: Optional. The configuration settings for task logs
   531  	// retention
   532  	TaskLogsRetentionConfig *TaskLogsRetentionConfig `json:"taskLogsRetentionConfig,omitempty"`
   533  	// ForceSendFields is a list of field names (e.g.
   534  	// "AirflowMetadataRetentionConfig") to unconditionally include in API
   535  	// requests. By default, fields with empty or default values are omitted from
   536  	// API requests. See
   537  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   538  	// details.
   539  	ForceSendFields []string `json:"-"`
   540  	// NullFields is a list of field names (e.g. "AirflowMetadataRetentionConfig")
   541  	// to include in API requests with the JSON null value. By default, fields with
   542  	// empty values are omitted from API requests. See
   543  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   544  	NullFields []string `json:"-"`
   545  }
   546  
   547  func (s *DataRetentionConfig) MarshalJSON() ([]byte, error) {
   548  	type NoMethod DataRetentionConfig
   549  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   550  }
   551  
   552  // DatabaseConfig: The configuration of Cloud SQL instance that is used by the
   553  // Apache Airflow software.
   554  type DatabaseConfig struct {
   555  	// MachineType: Optional. Cloud SQL machine type used by Airflow database. It
   556  	// has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or
   557  	// db-n1-standard-16. If not specified, db-n1-standard-2 will be used.
   558  	// Supported for Cloud Composer environments in versions
   559  	// composer-1.*.*-airflow-*.*.*.
   560  	MachineType string `json:"machineType,omitempty"`
   561  	// Zone: Optional. The Compute Engine zone where the Airflow database is
   562  	// created. If zone is provided, it must be in the region selected for the
   563  	// environment. If zone is not provided, a zone is automatically selected. The
   564  	// zone can only be set during environment creation. Supported for Cloud
   565  	// Composer environments in versions composer-2.*.*-airflow-*.*.*.
   566  	Zone string `json:"zone,omitempty"`
   567  	// ForceSendFields is a list of field names (e.g. "MachineType") to
   568  	// unconditionally include in API requests. By default, fields with empty or
   569  	// default values are omitted from API requests. See
   570  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   571  	// details.
   572  	ForceSendFields []string `json:"-"`
   573  	// NullFields is a list of field names (e.g. "MachineType") to include in API
   574  	// requests with the JSON null value. By default, fields with empty values are
   575  	// omitted from API requests. See
   576  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   577  	NullFields []string `json:"-"`
   578  }
   579  
   580  func (s *DatabaseConfig) MarshalJSON() ([]byte, error) {
   581  	type NoMethod DatabaseConfig
   582  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   583  }
   584  
   585  // DatabaseFailoverRequest: Request to trigger database failover (only for
   586  // highly resilient environments).
   587  type DatabaseFailoverRequest struct {
   588  }
   589  
   590  // DatabaseFailoverResponse: Response for DatabaseFailoverRequest.
   591  type DatabaseFailoverResponse struct {
   592  }
   593  
   594  // Date: Represents a whole or partial calendar date, such as a birthday. The
   595  // time of day and time zone are either specified elsewhere or are
   596  // insignificant. The date is relative to the Gregorian Calendar. This can
   597  // represent one of the following: * A full date, with non-zero year, month,
   598  // and day values. * A month and day, with a zero year (for example, an
   599  // anniversary). * A year on its own, with a zero month and a zero day. * A
   600  // year and month, with a zero day (for example, a credit card expiration
   601  // date). Related types: * google.type.TimeOfDay * google.type.DateTime *
   602  // google.protobuf.Timestamp
   603  type Date struct {
   604  	// Day: Day of a month. Must be from 1 to 31 and valid for the year and month,
   605  	// or 0 to specify a year by itself or a year and month where the day isn't
   606  	// significant.
   607  	Day int64 `json:"day,omitempty"`
   608  	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without
   609  	// a month and day.
   610  	Month int64 `json:"month,omitempty"`
   611  	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
   612  	// without a year.
   613  	Year int64 `json:"year,omitempty"`
   614  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
   615  	// include in API requests. By default, fields with empty or default values are
   616  	// omitted from API requests. See
   617  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   618  	// details.
   619  	ForceSendFields []string `json:"-"`
   620  	// NullFields is a list of field names (e.g. "Day") to include in API requests
   621  	// with the JSON null value. By default, fields with empty values are omitted
   622  	// from API requests. See
   623  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   624  	NullFields []string `json:"-"`
   625  }
   626  
   627  func (s *Date) MarshalJSON() ([]byte, error) {
   628  	type NoMethod Date
   629  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   630  }
   631  
   632  // Empty: A generic empty message that you can re-use to avoid defining
   633  // duplicated empty messages in your APIs. A typical example is to use it as
   634  // the request or the response type of an API method. For instance: service Foo
   635  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
   636  type Empty struct {
   637  	// ServerResponse contains the HTTP response code and headers from the server.
   638  	googleapi.ServerResponse `json:"-"`
   639  }
   640  
   641  // EncryptionConfig: The encryption options for the Cloud Composer environment
   642  // and its dependencies.Supported for Cloud Composer environments in versions
   643  // composer-1.*.*-airflow-*.*.*.
   644  type EncryptionConfig struct {
   645  	// KmsKeyName: Optional. Customer-managed Encryption Key available through
   646  	// Google's Key Management Service. Cannot be updated. If not specified,
   647  	// Google-managed key will be used.
   648  	KmsKeyName string `json:"kmsKeyName,omitempty"`
   649  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
   650  	// unconditionally include in API requests. By default, fields with empty or
   651  	// default values are omitted from API requests. See
   652  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   653  	// details.
   654  	ForceSendFields []string `json:"-"`
   655  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
   656  	// requests with the JSON null value. By default, fields with empty values are
   657  	// omitted from API requests. See
   658  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   659  	NullFields []string `json:"-"`
   660  }
   661  
   662  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
   663  	type NoMethod EncryptionConfig
   664  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   665  }
   666  
   667  // Environment: An environment for running orchestration tasks.
   668  type Environment struct {
   669  	// Config: Configuration parameters for this environment.
   670  	Config *EnvironmentConfig `json:"config,omitempty"`
   671  	// CreateTime: Output only. The time at which this environment was created.
   672  	CreateTime string `json:"createTime,omitempty"`
   673  	// Labels: Optional. User-defined labels for this environment. The labels map
   674  	// can contain no more than 64 entries. Entries of the labels map are UTF8
   675  	// strings that comply with the following restrictions: * Keys must conform to
   676  	// regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp:
   677  	// [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally
   678  	// constrained to be <= 128 bytes in size.
   679  	Labels map[string]string `json:"labels,omitempty"`
   680  	// Name: The resource name of the environment, in the form:
   681  	// "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
   682  	// EnvironmentId must start with a lowercase letter followed by up to 63
   683  	// lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
   684  	Name string `json:"name,omitempty"`
   685  	// SatisfiesPzs: Output only. Reserved for future use.
   686  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
   687  	// State: The current state of the environment.
   688  	//
   689  	// Possible values:
   690  	//   "STATE_UNSPECIFIED" - The state of the environment is unknown.
   691  	//   "CREATING" - The environment is in the process of being created.
   692  	//   "RUNNING" - The environment is currently running and healthy. It is ready
   693  	// for use.
   694  	//   "UPDATING" - The environment is being updated. It remains usable but
   695  	// cannot receive additional update requests or be deleted at this time.
   696  	//   "DELETING" - The environment is undergoing deletion. It cannot be used.
   697  	//   "ERROR" - The environment has encountered an error and cannot be used.
   698  	State string `json:"state,omitempty"`
   699  	// StorageConfig: Optional. Storage configuration for this environment.
   700  	StorageConfig *StorageConfig `json:"storageConfig,omitempty"`
   701  	// UpdateTime: Output only. The time at which this environment was last
   702  	// modified.
   703  	UpdateTime string `json:"updateTime,omitempty"`
   704  	// Uuid: Output only. The UUID (Universally Unique IDentifier) associated with
   705  	// this environment. This value is generated when the environment is created.
   706  	Uuid string `json:"uuid,omitempty"`
   707  
   708  	// ServerResponse contains the HTTP response code and headers from the server.
   709  	googleapi.ServerResponse `json:"-"`
   710  	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
   711  	// include in API requests. By default, fields with empty or default values are
   712  	// omitted from API requests. See
   713  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   714  	// details.
   715  	ForceSendFields []string `json:"-"`
   716  	// NullFields is a list of field names (e.g. "Config") to include in API
   717  	// requests with the JSON null value. By default, fields with empty values are
   718  	// omitted from API requests. See
   719  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   720  	NullFields []string `json:"-"`
   721  }
   722  
   723  func (s *Environment) MarshalJSON() ([]byte, error) {
   724  	type NoMethod Environment
   725  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   726  }
   727  
   728  // EnvironmentConfig: Configuration information for an environment.
   729  type EnvironmentConfig struct {
   730  	// AirflowByoidUri: Output only. The 'bring your own identity' variant of the
   731  	// URI of the Apache Airflow Web UI hosted within this environment, to be
   732  	// accessed with external identities using workforce identity federation (see
   733  	// Access environments with workforce identity federation
   734  	// (/composer/docs/composer-2/access-environments-with-workforce-identity-federa
   735  	// tion)).
   736  	AirflowByoidUri string `json:"airflowByoidUri,omitempty"`
   737  	// AirflowUri: Output only. The URI of the Apache Airflow Web UI hosted within
   738  	// this environment (see Airflow web interface
   739  	// (/composer/docs/how-to/accessing/airflow-web-interface)).
   740  	AirflowUri string `json:"airflowUri,omitempty"`
   741  	// DagGcsPrefix: Output only. The Cloud Storage prefix of the DAGs for this
   742  	// environment. Although Cloud Storage objects reside in a flat namespace, a
   743  	// hierarchical file tree can be simulated using "/"-delimited object name
   744  	// prefixes. DAG objects for this environment reside in a simulated directory
   745  	// with the given prefix.
   746  	DagGcsPrefix string `json:"dagGcsPrefix,omitempty"`
   747  	// DataRetentionConfig: Optional. The configuration setting for Airflow
   748  	// database data retention mechanism.
   749  	DataRetentionConfig *DataRetentionConfig `json:"dataRetentionConfig,omitempty"`
   750  	// DatabaseConfig: Optional. The configuration settings for Cloud SQL instance
   751  	// used internally by Apache Airflow software.
   752  	DatabaseConfig *DatabaseConfig `json:"databaseConfig,omitempty"`
   753  	// EncryptionConfig: Optional. The encryption options for the Cloud Composer
   754  	// environment and its dependencies. Cannot be updated.
   755  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   756  	// EnvironmentSize: Optional. The size of the Cloud Composer environment. This
   757  	// field is supported for Cloud Composer environments in versions
   758  	// composer-2.*.*-airflow-*.*.* and newer.
   759  	//
   760  	// Possible values:
   761  	//   "ENVIRONMENT_SIZE_UNSPECIFIED" - The size of the environment is
   762  	// unspecified.
   763  	//   "ENVIRONMENT_SIZE_SMALL" - The environment size is small.
   764  	//   "ENVIRONMENT_SIZE_MEDIUM" - The environment size is medium.
   765  	//   "ENVIRONMENT_SIZE_LARGE" - The environment size is large.
   766  	EnvironmentSize string `json:"environmentSize,omitempty"`
   767  	// GkeCluster: Output only. The Kubernetes Engine cluster used to run this
   768  	// environment.
   769  	GkeCluster string `json:"gkeCluster,omitempty"`
   770  	// MaintenanceWindow: Optional. The maintenance window is the period when Cloud
   771  	// Composer components may undergo maintenance. It is defined so that
   772  	// maintenance is not executed during peak hours or critical time periods. The
   773  	// system will not be under maintenance for every occurrence of this window,
   774  	// but when maintenance is planned, it will be scheduled during the window. The
   775  	// maintenance window period must encompass at least 12 hours per week. This
   776  	// may be split into multiple chunks, each with a size of at least 4 hours. If
   777  	// this value is omitted, the default value for maintenance window is applied.
   778  	// By default, maintenance windows are from 00:00:00 to 04:00:00 (GMT) on
   779  	// Friday, Saturday, and Sunday every week.
   780  	MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"`
   781  	// MasterAuthorizedNetworksConfig: Optional. The configuration options for GKE
   782  	// cluster master authorized networks. By default master authorized networks
   783  	// feature is: - in case of private environment: enabled with no external
   784  	// networks allowlisted. - in case of public environment: disabled.
   785  	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"`
   786  	// NodeConfig: The configuration used for the Kubernetes Engine cluster.
   787  	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
   788  	// NodeCount: The number of nodes in the Kubernetes Engine cluster that will be
   789  	// used to run this environment. This field is supported for Cloud Composer
   790  	// environments in versions composer-1.*.*-airflow-*.*.*.
   791  	NodeCount int64 `json:"nodeCount,omitempty"`
   792  	// PrivateEnvironmentConfig: The configuration used for the Private IP Cloud
   793  	// Composer environment.
   794  	PrivateEnvironmentConfig *PrivateEnvironmentConfig `json:"privateEnvironmentConfig,omitempty"`
   795  	// RecoveryConfig: Optional. The Recovery settings configuration of an
   796  	// environment. This field is supported for Cloud Composer environments in
   797  	// versions composer-2.*.*-airflow-*.*.* and newer.
   798  	RecoveryConfig *RecoveryConfig `json:"recoveryConfig,omitempty"`
   799  	// ResilienceMode: Optional. Resilience mode of the Cloud Composer Environment.
   800  	// This field is supported for Cloud Composer environments in versions
   801  	// composer-2.2.0-airflow-*.*.* and newer.
   802  	//
   803  	// Possible values:
   804  	//   "RESILIENCE_MODE_UNSPECIFIED" - Default mode doesn't change environment
   805  	// parameters.
   806  	//   "HIGH_RESILIENCE" - Enabled High Resilience mode, including Cloud SQL HA.
   807  	ResilienceMode string `json:"resilienceMode,omitempty"`
   808  	// SoftwareConfig: The configuration settings for software inside the
   809  	// environment.
   810  	SoftwareConfig *SoftwareConfig `json:"softwareConfig,omitempty"`
   811  	// WebServerConfig: Optional. The configuration settings for the Airflow web
   812  	// server App Engine instance.
   813  	WebServerConfig *WebServerConfig `json:"webServerConfig,omitempty"`
   814  	// WebServerNetworkAccessControl: Optional. The network-level access control
   815  	// policy for the Airflow web server. If unspecified, no network-level access
   816  	// restrictions will be applied.
   817  	WebServerNetworkAccessControl *WebServerNetworkAccessControl `json:"webServerNetworkAccessControl,omitempty"`
   818  	// WorkloadsConfig: Optional. The workloads configuration settings for the GKE
   819  	// cluster associated with the Cloud Composer environment. The GKE cluster runs
   820  	// Airflow scheduler, web server and workers workloads. This field is supported
   821  	// for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and
   822  	// newer.
   823  	WorkloadsConfig *WorkloadsConfig `json:"workloadsConfig,omitempty"`
   824  	// ForceSendFields is a list of field names (e.g. "AirflowByoidUri") to
   825  	// unconditionally include in API requests. By default, fields with empty or
   826  	// default values are omitted from API requests. See
   827  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   828  	// details.
   829  	ForceSendFields []string `json:"-"`
   830  	// NullFields is a list of field names (e.g. "AirflowByoidUri") to include in
   831  	// API requests with the JSON null value. By default, fields with empty values
   832  	// are omitted from API requests. See
   833  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   834  	NullFields []string `json:"-"`
   835  }
   836  
   837  func (s *EnvironmentConfig) MarshalJSON() ([]byte, error) {
   838  	type NoMethod EnvironmentConfig
   839  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   840  }
   841  
   842  // ExecuteAirflowCommandRequest: Execute Airflow Command request.
   843  type ExecuteAirflowCommandRequest struct {
   844  	// Command: Airflow command.
   845  	Command string `json:"command,omitempty"`
   846  	// Parameters: Parameters for the Airflow command/subcommand as an array of
   847  	// arguments. It may contain positional arguments like `["my-dag-id"]`,
   848  	// key-value parameters like `["--foo=bar"]` or `["--foo","bar"]`, or other
   849  	// flags like `["-f"]`.
   850  	Parameters []string `json:"parameters,omitempty"`
   851  	// Subcommand: Airflow subcommand.
   852  	Subcommand string `json:"subcommand,omitempty"`
   853  	// ForceSendFields is a list of field names (e.g. "Command") to unconditionally
   854  	// include in API requests. By default, fields with empty or default values are
   855  	// omitted from API requests. See
   856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   857  	// details.
   858  	ForceSendFields []string `json:"-"`
   859  	// NullFields is a list of field names (e.g. "Command") to include in API
   860  	// requests with the JSON null value. By default, fields with empty values are
   861  	// omitted from API requests. See
   862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   863  	NullFields []string `json:"-"`
   864  }
   865  
   866  func (s *ExecuteAirflowCommandRequest) MarshalJSON() ([]byte, error) {
   867  	type NoMethod ExecuteAirflowCommandRequest
   868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   869  }
   870  
   871  // ExecuteAirflowCommandResponse: Response to ExecuteAirflowCommandRequest.
   872  type ExecuteAirflowCommandResponse struct {
   873  	// Error: Error message. Empty if there was no error.
   874  	Error string `json:"error,omitempty"`
   875  	// ExecutionId: The unique ID of the command execution for polling.
   876  	ExecutionId string `json:"executionId,omitempty"`
   877  	// Pod: The name of the pod where the command is executed.
   878  	Pod string `json:"pod,omitempty"`
   879  	// PodNamespace: The namespace of the pod where the command is executed.
   880  	PodNamespace string `json:"podNamespace,omitempty"`
   881  
   882  	// ServerResponse contains the HTTP response code and headers from the server.
   883  	googleapi.ServerResponse `json:"-"`
   884  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
   885  	// include in API requests. By default, fields with empty or default values are
   886  	// omitted from API requests. See
   887  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   888  	// details.
   889  	ForceSendFields []string `json:"-"`
   890  	// NullFields is a list of field names (e.g. "Error") to include in API
   891  	// requests with the JSON null value. By default, fields with empty values are
   892  	// omitted from API requests. See
   893  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   894  	NullFields []string `json:"-"`
   895  }
   896  
   897  func (s *ExecuteAirflowCommandResponse) MarshalJSON() ([]byte, error) {
   898  	type NoMethod ExecuteAirflowCommandResponse
   899  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   900  }
   901  
   902  // ExitInfo: Information about how a command ended.
   903  type ExitInfo struct {
   904  	// Error: Error message. Empty if there was no error.
   905  	Error string `json:"error,omitempty"`
   906  	// ExitCode: The exit code from the command execution.
   907  	ExitCode int64 `json:"exitCode,omitempty"`
   908  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
   909  	// include in API requests. By default, fields with empty or default values are
   910  	// omitted from API requests. See
   911  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   912  	// details.
   913  	ForceSendFields []string `json:"-"`
   914  	// NullFields is a list of field names (e.g. "Error") to include in API
   915  	// requests with the JSON null value. By default, fields with empty values are
   916  	// omitted from API requests. See
   917  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   918  	NullFields []string `json:"-"`
   919  }
   920  
   921  func (s *ExitInfo) MarshalJSON() ([]byte, error) {
   922  	type NoMethod ExitInfo
   923  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   924  }
   925  
   926  // FetchDatabasePropertiesResponse: Response for
   927  // FetchDatabasePropertiesRequest.
   928  type FetchDatabasePropertiesResponse struct {
   929  	// IsFailoverReplicaAvailable: The availability status of the failover replica.
   930  	// A false status indicates that the failover replica is out of sync. The
   931  	// primary instance can only fail over to the failover replica when the status
   932  	// is true.
   933  	IsFailoverReplicaAvailable bool `json:"isFailoverReplicaAvailable,omitempty"`
   934  	// PrimaryGceZone: The Compute Engine zone that the instance is currently
   935  	// serving from.
   936  	PrimaryGceZone string `json:"primaryGceZone,omitempty"`
   937  	// SecondaryGceZone: The Compute Engine zone that the failover instance is
   938  	// currently serving from for a regional Cloud SQL instance.
   939  	SecondaryGceZone string `json:"secondaryGceZone,omitempty"`
   940  
   941  	// ServerResponse contains the HTTP response code and headers from the server.
   942  	googleapi.ServerResponse `json:"-"`
   943  	// ForceSendFields is a list of field names (e.g. "IsFailoverReplicaAvailable")
   944  	// to unconditionally include in API requests. By default, fields with empty or
   945  	// default values are omitted from API requests. See
   946  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   947  	// details.
   948  	ForceSendFields []string `json:"-"`
   949  	// NullFields is a list of field names (e.g. "IsFailoverReplicaAvailable") to
   950  	// include in API requests with the JSON null value. By default, fields with
   951  	// empty values are omitted from API requests. See
   952  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   953  	NullFields []string `json:"-"`
   954  }
   955  
   956  func (s *FetchDatabasePropertiesResponse) MarshalJSON() ([]byte, error) {
   957  	type NoMethod FetchDatabasePropertiesResponse
   958  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   959  }
   960  
   961  // IPAllocationPolicy: Configuration for controlling how IPs are allocated in
   962  // the GKE cluster running the Apache Airflow software.
   963  type IPAllocationPolicy struct {
   964  	// ClusterIpv4CidrBlock: Optional. The IP address range used to allocate IP
   965  	// addresses to pods in the GKE cluster. For Cloud Composer environments in
   966  	// versions composer-1.*.*-airflow-*.*.*, this field is applicable only when
   967  	// `use_ip_aliases` is true. Set to blank to have GKE choose a range with the
   968  	// default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a
   969  	// specific netmask. Set to a CIDR
   970  	// (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation
   971  	// (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`,
   972  	// `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
   973  	ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"`
   974  	// ClusterSecondaryRangeName: Optional. The name of the GKE cluster's secondary
   975  	// range used to allocate IP addresses to pods. For Cloud Composer environments
   976  	// in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when
   977  	// `use_ip_aliases` is true.
   978  	ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"`
   979  	// ServicesIpv4CidrBlock: Optional. The IP address range of the services IP
   980  	// addresses in this GKE cluster. For Cloud Composer environments in versions
   981  	// composer-1.*.*-airflow-*.*.*, this field is applicable only when
   982  	// `use_ip_aliases` is true. Set to blank to have GKE choose a range with the
   983  	// default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a
   984  	// specific netmask. Set to a CIDR
   985  	// (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation
   986  	// (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`,
   987  	// `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
   988  	ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"`
   989  	// ServicesSecondaryRangeName: Optional. The name of the services' secondary
   990  	// range used to allocate IP addresses to the GKE cluster. For Cloud Composer
   991  	// environments in versions composer-1.*.*-airflow-*.*.*, this field is
   992  	// applicable only when `use_ip_aliases` is true.
   993  	ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"`
   994  	// UseIpAliases: Optional. Whether or not to enable Alias IPs in the GKE
   995  	// cluster. If `true`, a VPC-native cluster is created. This field is only
   996  	// supported for Cloud Composer environments in versions
   997  	// composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
   998  	// VPC-native GKE clusters.
   999  	UseIpAliases bool `json:"useIpAliases,omitempty"`
  1000  	// ForceSendFields is a list of field names (e.g. "ClusterIpv4CidrBlock") to
  1001  	// unconditionally include in API requests. By default, fields with empty or
  1002  	// default values are omitted from API requests. See
  1003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1004  	// details.
  1005  	ForceSendFields []string `json:"-"`
  1006  	// NullFields is a list of field names (e.g. "ClusterIpv4CidrBlock") to include
  1007  	// in API requests with the JSON null value. By default, fields with empty
  1008  	// values are omitted from API requests. See
  1009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1010  	NullFields []string `json:"-"`
  1011  }
  1012  
  1013  func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) {
  1014  	type NoMethod IPAllocationPolicy
  1015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1016  }
  1017  
  1018  // ImageVersion: ImageVersion information
  1019  type ImageVersion struct {
  1020  	// CreationDisabled: Whether it is impossible to create an environment with the
  1021  	// image version.
  1022  	CreationDisabled bool `json:"creationDisabled,omitempty"`
  1023  	// ImageVersionId: The string identifier of the ImageVersion, in the form:
  1024  	// "composer-x.y.z-airflow-a.b.c"
  1025  	ImageVersionId string `json:"imageVersionId,omitempty"`
  1026  	// IsDefault: Whether this is the default ImageVersion used by Composer during
  1027  	// environment creation if no input ImageVersion is specified.
  1028  	IsDefault bool `json:"isDefault,omitempty"`
  1029  	// ReleaseDate: The date of the version release.
  1030  	ReleaseDate *Date `json:"releaseDate,omitempty"`
  1031  	// SupportedPythonVersions: supported python versions
  1032  	SupportedPythonVersions []string `json:"supportedPythonVersions,omitempty"`
  1033  	// UpgradeDisabled: Whether it is impossible to upgrade an environment running
  1034  	// with the image version.
  1035  	UpgradeDisabled bool `json:"upgradeDisabled,omitempty"`
  1036  	// ForceSendFields is a list of field names (e.g. "CreationDisabled") to
  1037  	// unconditionally include in API requests. By default, fields with empty or
  1038  	// default values are omitted from API requests. See
  1039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1040  	// details.
  1041  	ForceSendFields []string `json:"-"`
  1042  	// NullFields is a list of field names (e.g. "CreationDisabled") to include in
  1043  	// API requests with the JSON null value. By default, fields with empty values
  1044  	// are omitted from API requests. See
  1045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1046  	NullFields []string `json:"-"`
  1047  }
  1048  
  1049  func (s *ImageVersion) MarshalJSON() ([]byte, error) {
  1050  	type NoMethod ImageVersion
  1051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1052  }
  1053  
  1054  // Line: Contains information about a single line from logs.
  1055  type Line struct {
  1056  	// Content: Text content of the log line.
  1057  	Content string `json:"content,omitempty"`
  1058  	// LineNumber: Number of the line.
  1059  	LineNumber int64 `json:"lineNumber,omitempty"`
  1060  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  1061  	// include in API requests. By default, fields with empty or default values are
  1062  	// omitted from API requests. See
  1063  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1064  	// details.
  1065  	ForceSendFields []string `json:"-"`
  1066  	// NullFields is a list of field names (e.g. "Content") to include in API
  1067  	// requests with the JSON null value. By default, fields with empty values are
  1068  	// omitted from API requests. See
  1069  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1070  	NullFields []string `json:"-"`
  1071  }
  1072  
  1073  func (s *Line) MarshalJSON() ([]byte, error) {
  1074  	type NoMethod Line
  1075  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1076  }
  1077  
  1078  // ListEnvironmentsResponse: The environments in a project and location.
  1079  type ListEnvironmentsResponse struct {
  1080  	// Environments: The list of environments returned by a
  1081  	// ListEnvironmentsRequest.
  1082  	Environments []*Environment `json:"environments,omitempty"`
  1083  	// NextPageToken: The page token used to query for the next page if one exists.
  1084  	NextPageToken string `json:"nextPageToken,omitempty"`
  1085  
  1086  	// ServerResponse contains the HTTP response code and headers from the server.
  1087  	googleapi.ServerResponse `json:"-"`
  1088  	// ForceSendFields is a list of field names (e.g. "Environments") to
  1089  	// unconditionally include in API requests. By default, fields with empty or
  1090  	// default values are omitted from API requests. See
  1091  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1092  	// details.
  1093  	ForceSendFields []string `json:"-"`
  1094  	// NullFields is a list of field names (e.g. "Environments") to include in API
  1095  	// requests with the JSON null value. By default, fields with empty values are
  1096  	// omitted from API requests. See
  1097  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1098  	NullFields []string `json:"-"`
  1099  }
  1100  
  1101  func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
  1102  	type NoMethod ListEnvironmentsResponse
  1103  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1104  }
  1105  
  1106  // ListImageVersionsResponse: The ImageVersions in a project and location.
  1107  type ListImageVersionsResponse struct {
  1108  	// ImageVersions: The list of supported ImageVersions in a location.
  1109  	ImageVersions []*ImageVersion `json:"imageVersions,omitempty"`
  1110  	// NextPageToken: The page token used to query for the next page if one exists.
  1111  	NextPageToken string `json:"nextPageToken,omitempty"`
  1112  
  1113  	// ServerResponse contains the HTTP response code and headers from the server.
  1114  	googleapi.ServerResponse `json:"-"`
  1115  	// ForceSendFields is a list of field names (e.g. "ImageVersions") to
  1116  	// unconditionally include in API requests. By default, fields with empty or
  1117  	// default values are omitted from API requests. See
  1118  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1119  	// details.
  1120  	ForceSendFields []string `json:"-"`
  1121  	// NullFields is a list of field names (e.g. "ImageVersions") to include in API
  1122  	// requests with the JSON null value. By default, fields with empty values are
  1123  	// omitted from API requests. See
  1124  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1125  	NullFields []string `json:"-"`
  1126  }
  1127  
  1128  func (s *ListImageVersionsResponse) MarshalJSON() ([]byte, error) {
  1129  	type NoMethod ListImageVersionsResponse
  1130  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1131  }
  1132  
  1133  // ListOperationsResponse: The response message for Operations.ListOperations.
  1134  type ListOperationsResponse struct {
  1135  	// NextPageToken: The standard List next-page token.
  1136  	NextPageToken string `json:"nextPageToken,omitempty"`
  1137  	// Operations: A list of operations that matches the specified filter in the
  1138  	// request.
  1139  	Operations []*Operation `json:"operations,omitempty"`
  1140  
  1141  	// ServerResponse contains the HTTP response code and headers from the server.
  1142  	googleapi.ServerResponse `json:"-"`
  1143  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1144  	// unconditionally include in API requests. By default, fields with empty or
  1145  	// default values are omitted from API requests. See
  1146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1147  	// details.
  1148  	ForceSendFields []string `json:"-"`
  1149  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1150  	// requests with the JSON null value. By default, fields with empty values are
  1151  	// omitted from API requests. See
  1152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1153  	NullFields []string `json:"-"`
  1154  }
  1155  
  1156  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  1157  	type NoMethod ListOperationsResponse
  1158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1159  }
  1160  
  1161  // ListUserWorkloadsConfigMapsResponse: The user workloads ConfigMaps for a
  1162  // given environment.
  1163  type ListUserWorkloadsConfigMapsResponse struct {
  1164  	// NextPageToken: The page token used to query for the next page if one exists.
  1165  	NextPageToken string `json:"nextPageToken,omitempty"`
  1166  	// UserWorkloadsConfigMaps: The list of ConfigMaps returned by a
  1167  	// ListUserWorkloadsConfigMapsRequest.
  1168  	UserWorkloadsConfigMaps []*UserWorkloadsConfigMap `json:"userWorkloadsConfigMaps,omitempty"`
  1169  
  1170  	// ServerResponse contains the HTTP response code and headers from the server.
  1171  	googleapi.ServerResponse `json:"-"`
  1172  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1173  	// unconditionally include in API requests. By default, fields with empty or
  1174  	// default values are omitted from API requests. See
  1175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1176  	// details.
  1177  	ForceSendFields []string `json:"-"`
  1178  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1179  	// requests with the JSON null value. By default, fields with empty values are
  1180  	// omitted from API requests. See
  1181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1182  	NullFields []string `json:"-"`
  1183  }
  1184  
  1185  func (s *ListUserWorkloadsConfigMapsResponse) MarshalJSON() ([]byte, error) {
  1186  	type NoMethod ListUserWorkloadsConfigMapsResponse
  1187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1188  }
  1189  
  1190  // ListUserWorkloadsSecretsResponse: The user workloads Secrets for a given
  1191  // environment.
  1192  type ListUserWorkloadsSecretsResponse struct {
  1193  	// NextPageToken: The page token used to query for the next page if one exists.
  1194  	NextPageToken string `json:"nextPageToken,omitempty"`
  1195  	// UserWorkloadsSecrets: The list of Secrets returned by a
  1196  	// ListUserWorkloadsSecretsRequest.
  1197  	UserWorkloadsSecrets []*UserWorkloadsSecret `json:"userWorkloadsSecrets,omitempty"`
  1198  
  1199  	// ServerResponse contains the HTTP response code and headers from the server.
  1200  	googleapi.ServerResponse `json:"-"`
  1201  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1202  	// unconditionally include in API requests. By default, fields with empty or
  1203  	// default values are omitted from API requests. See
  1204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1205  	// details.
  1206  	ForceSendFields []string `json:"-"`
  1207  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1208  	// requests with the JSON null value. By default, fields with empty values are
  1209  	// omitted from API requests. See
  1210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1211  	NullFields []string `json:"-"`
  1212  }
  1213  
  1214  func (s *ListUserWorkloadsSecretsResponse) MarshalJSON() ([]byte, error) {
  1215  	type NoMethod ListUserWorkloadsSecretsResponse
  1216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1217  }
  1218  
  1219  // ListWorkloadsResponse: Response to ListWorkloadsRequest.
  1220  type ListWorkloadsResponse struct {
  1221  	// NextPageToken: The page token used to query for the next page if one exists.
  1222  	NextPageToken string `json:"nextPageToken,omitempty"`
  1223  	// Workloads: The list of environment workloads.
  1224  	Workloads []*ComposerWorkload `json:"workloads,omitempty"`
  1225  
  1226  	// ServerResponse contains the HTTP response code and headers from the server.
  1227  	googleapi.ServerResponse `json:"-"`
  1228  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1229  	// unconditionally include in API requests. By default, fields with empty or
  1230  	// default values are omitted from API requests. See
  1231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1232  	// details.
  1233  	ForceSendFields []string `json:"-"`
  1234  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1235  	// requests with the JSON null value. By default, fields with empty values are
  1236  	// omitted from API requests. See
  1237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1238  	NullFields []string `json:"-"`
  1239  }
  1240  
  1241  func (s *ListWorkloadsResponse) MarshalJSON() ([]byte, error) {
  1242  	type NoMethod ListWorkloadsResponse
  1243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1244  }
  1245  
  1246  // LoadSnapshotRequest: Request to load a snapshot into a Cloud Composer
  1247  // environment.
  1248  type LoadSnapshotRequest struct {
  1249  	// SkipAirflowOverridesSetting: Whether or not to skip setting Airflow
  1250  	// overrides when loading the environment's state.
  1251  	SkipAirflowOverridesSetting bool `json:"skipAirflowOverridesSetting,omitempty"`
  1252  	// SkipEnvironmentVariablesSetting: Whether or not to skip setting environment
  1253  	// variables when loading the environment's state.
  1254  	SkipEnvironmentVariablesSetting bool `json:"skipEnvironmentVariablesSetting,omitempty"`
  1255  	// SkipGcsDataCopying: Whether or not to skip copying Cloud Storage data when
  1256  	// loading the environment's state.
  1257  	SkipGcsDataCopying bool `json:"skipGcsDataCopying,omitempty"`
  1258  	// SkipPypiPackagesInstallation: Whether or not to skip installing Pypi
  1259  	// packages when loading the environment's state.
  1260  	SkipPypiPackagesInstallation bool `json:"skipPypiPackagesInstallation,omitempty"`
  1261  	// SnapshotPath: A Cloud Storage path to a snapshot to load, e.g.:
  1262  	// "gs://my-bucket/snapshots/project_location_environment_timestamp".
  1263  	SnapshotPath string `json:"snapshotPath,omitempty"`
  1264  	// ForceSendFields is a list of field names (e.g.
  1265  	// "SkipAirflowOverridesSetting") to unconditionally include in API requests.
  1266  	// By default, fields with empty or default values are omitted from API
  1267  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1268  	// for more details.
  1269  	ForceSendFields []string `json:"-"`
  1270  	// NullFields is a list of field names (e.g. "SkipAirflowOverridesSetting") to
  1271  	// include in API requests with the JSON null value. By default, fields with
  1272  	// empty values are omitted from API requests. See
  1273  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1274  	NullFields []string `json:"-"`
  1275  }
  1276  
  1277  func (s *LoadSnapshotRequest) MarshalJSON() ([]byte, error) {
  1278  	type NoMethod LoadSnapshotRequest
  1279  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1280  }
  1281  
  1282  // LoadSnapshotResponse: Response to LoadSnapshotRequest.
  1283  type LoadSnapshotResponse struct {
  1284  }
  1285  
  1286  // MaintenanceWindow: The configuration settings for Cloud Composer maintenance
  1287  // window. The following example: ``` { "startTime":"2019-08-01T01:00:00Z"
  1288  // "endTime":"2019-08-01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" }
  1289  // ``` would define a maintenance window between 01 and 07 hours UTC during
  1290  // each Tuesday and Wednesday.
  1291  type MaintenanceWindow struct {
  1292  	// EndTime: Required. Maintenance window end time. It is used only to calculate
  1293  	// the duration of the maintenance window. The value for end-time must be in
  1294  	// the future, relative to `start_time`.
  1295  	EndTime string `json:"endTime,omitempty"`
  1296  	// Recurrence: Required. Maintenance window recurrence. Format is a subset of
  1297  	// RFC-5545 (https://tools.ietf.org/html/rfc5545) `RRULE`. The only allowed
  1298  	// values for `FREQ` field are `FREQ=DAILY` and `FREQ=WEEKLY;BYDAY=...` Example
  1299  	// values: `FREQ=WEEKLY;BYDAY=TU,WE`, `FREQ=DAILY`.
  1300  	Recurrence string `json:"recurrence,omitempty"`
  1301  	// StartTime: Required. Start time of the first recurrence of the maintenance
  1302  	// window.
  1303  	StartTime string `json:"startTime,omitempty"`
  1304  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  1305  	// include in API requests. By default, fields with empty or default values are
  1306  	// omitted from API requests. See
  1307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1308  	// details.
  1309  	ForceSendFields []string `json:"-"`
  1310  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  1311  	// requests with the JSON null value. By default, fields with empty values are
  1312  	// omitted from API requests. See
  1313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1314  	NullFields []string `json:"-"`
  1315  }
  1316  
  1317  func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
  1318  	type NoMethod MaintenanceWindow
  1319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1320  }
  1321  
  1322  // MasterAuthorizedNetworksConfig: Configuration options for the master
  1323  // authorized networks feature. Enabled master authorized networks will
  1324  // disallow all external traffic to access Kubernetes master through HTTPS
  1325  // except traffic from the given CIDR blocks, Google Compute Engine Public IPs
  1326  // and Google Prod IPs.
  1327  type MasterAuthorizedNetworksConfig struct {
  1328  	// CidrBlocks: Up to 50 external networks that could access Kubernetes master
  1329  	// through HTTPS.
  1330  	CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"`
  1331  	// Enabled: Whether or not master authorized networks feature is enabled.
  1332  	Enabled bool `json:"enabled,omitempty"`
  1333  	// ForceSendFields is a list of field names (e.g. "CidrBlocks") to
  1334  	// unconditionally include in API requests. By default, fields with empty or
  1335  	// default values are omitted from API requests. See
  1336  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1337  	// details.
  1338  	ForceSendFields []string `json:"-"`
  1339  	// NullFields is a list of field names (e.g. "CidrBlocks") to include in API
  1340  	// requests with the JSON null value. By default, fields with empty values are
  1341  	// omitted from API requests. See
  1342  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1343  	NullFields []string `json:"-"`
  1344  }
  1345  
  1346  func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) {
  1347  	type NoMethod MasterAuthorizedNetworksConfig
  1348  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1349  }
  1350  
  1351  // NetworkingConfig: Configuration options for networking connections in the
  1352  // Composer 2 environment.
  1353  type NetworkingConfig struct {
  1354  	// ConnectionType: Optional. Indicates the user requested specifc connection
  1355  	// type between Tenant and Customer projects. You cannot set networking
  1356  	// connection type in public IP environment.
  1357  	//
  1358  	// Possible values:
  1359  	//   "CONNECTION_TYPE_UNSPECIFIED" - No specific connection type was requested,
  1360  	// so the environment uses the default value corresponding to the rest of its
  1361  	// configuration.
  1362  	//   "VPC_PEERING" - Requests the use of VPC peerings for connecting the
  1363  	// Customer and Tenant projects.
  1364  	//   "PRIVATE_SERVICE_CONNECT" - Requests the use of Private Service Connect
  1365  	// for connecting the Customer and Tenant projects.
  1366  	ConnectionType string `json:"connectionType,omitempty"`
  1367  	// ForceSendFields is a list of field names (e.g. "ConnectionType") to
  1368  	// unconditionally include in API requests. By default, fields with empty or
  1369  	// default values are omitted from API requests. See
  1370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1371  	// details.
  1372  	ForceSendFields []string `json:"-"`
  1373  	// NullFields is a list of field names (e.g. "ConnectionType") to include in
  1374  	// API requests with the JSON null value. By default, fields with empty values
  1375  	// are omitted from API requests. See
  1376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1377  	NullFields []string `json:"-"`
  1378  }
  1379  
  1380  func (s *NetworkingConfig) MarshalJSON() ([]byte, error) {
  1381  	type NoMethod NetworkingConfig
  1382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1383  }
  1384  
  1385  // NodeConfig: The configuration information for the Kubernetes Engine nodes
  1386  // running the Apache Airflow software.
  1387  type NodeConfig struct {
  1388  	// ComposerInternalIpv4CidrBlock: Optional. The IP range in CIDR notation to
  1389  	// use internally by Cloud Composer. IP addresses are not reserved - and the
  1390  	// same range can be used by multiple Cloud Composer environments. In case of
  1391  	// overlap, IPs from this range will not be accessible in the user's VPC
  1392  	// network. Cannot be updated. If not specified, the default value of
  1393  	// '100.64.128.0/20' is used. This field is supported for Cloud Composer
  1394  	// environments in versions composer-3.*.*-airflow-*.*.* and newer.
  1395  	ComposerInternalIpv4CidrBlock string `json:"composerInternalIpv4CidrBlock,omitempty"`
  1396  	// ComposerNetworkAttachment: Optional. Network Attachment that Cloud Composer
  1397  	// environment is connected to, which provides connectivity with a user's VPC
  1398  	// network. Takes precedence over network and subnetwork settings. If not
  1399  	// provided, but network and subnetwork are defined during environment, it will
  1400  	// be provisioned. If not provided and network and subnetwork are also empty,
  1401  	// then connectivity to user's VPC network is disabled. Network attachment must
  1402  	// be provided in format
  1403  	// projects/{project}/regions/{region}/networkAttachments/{networkAttachment}.
  1404  	// This field is supported for Cloud Composer environments in versions
  1405  	// composer-3.*.*-airflow-*.*.* and newer.
  1406  	ComposerNetworkAttachment string `json:"composerNetworkAttachment,omitempty"`
  1407  	// DiskSizeGb: Optional. The disk size in GB used for node VMs. Minimum size is
  1408  	// 30GB. If unspecified, defaults to 100GB. Cannot be updated. This field is
  1409  	// supported for Cloud Composer environments in versions
  1410  	// composer-1.*.*-airflow-*.*.*.
  1411  	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
  1412  	// EnableIpMasqAgent: Optional. Deploys 'ip-masq-agent' daemon set in the GKE
  1413  	// cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP
  1414  	// masquerading is used for all destination addresses, except between pods
  1415  	// traffic. See:
  1416  	// https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
  1417  	EnableIpMasqAgent bool `json:"enableIpMasqAgent,omitempty"`
  1418  	// IpAllocationPolicy: Optional. The configuration for controlling how IPs are
  1419  	// allocated in the GKE cluster.
  1420  	IpAllocationPolicy *IPAllocationPolicy `json:"ipAllocationPolicy,omitempty"`
  1421  	// Location: Optional. The Compute Engine zone (/compute/docs/regions-zones) in
  1422  	// which to deploy the VMs used to run the Apache Airflow software, specified
  1423  	// as a relative resource name
  1424  	// (/apis/design/resource_names#relative_resource_name). For example:
  1425  	// "projects/{projectId}/zones/{zoneId}". This `location` must belong to the
  1426  	// enclosing environment's project and location. If both this field and
  1427  	// `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong
  1428  	// to this `location`; if both are unspecified, the service will pick a zone in
  1429  	// the Compute Engine region corresponding to the Cloud Composer location, and
  1430  	// propagate that choice to both fields. If only one field (`location` or
  1431  	// `nodeConfig.machineType`) is specified, the location information from the
  1432  	// specified field will be propagated to the unspecified field. This field is
  1433  	// supported for Cloud Composer environments in versions
  1434  	// composer-1.*.*-airflow-*.*.*.
  1435  	Location string `json:"location,omitempty"`
  1436  	// MachineType: Optional. The Compute Engine machine type
  1437  	// (/compute/docs/machine-types) used for cluster instances, specified as a
  1438  	// relative resource name (/apis/design/resource_names#relative_resource_name).
  1439  	// For example:
  1440  	// "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}". The
  1441  	// `machineType` must belong to the enclosing environment's project and
  1442  	// location. If both this field and `nodeConfig.location` are specified, this
  1443  	// `machineType` must belong to the `nodeConfig.location`; if both are
  1444  	// unspecified, the service will pick a zone in the Compute Engine region
  1445  	// corresponding to the Cloud Composer location, and propagate that choice to
  1446  	// both fields. If exactly one of this field and `nodeConfig.location` is
  1447  	// specified, the location information from the specified field will be
  1448  	// propagated to the unspecified field. The `machineTypeId` must not be a
  1449  	// shared-core machine type (/compute/docs/machine-types#sharedcore). If this
  1450  	// field is unspecified, the `machineTypeId` defaults to "n1-standard-1". This
  1451  	// field is supported for Cloud Composer environments in versions
  1452  	// composer-1.*.*-airflow-*.*.*.
  1453  	MachineType string `json:"machineType,omitempty"`
  1454  	// Network: Optional. The Compute Engine network to be used for machine
  1455  	// communications, specified as a relative resource name
  1456  	// (/apis/design/resource_names#relative_resource_name). For example:
  1457  	// "projects/{projectId}/global/networks/{networkId}". If unspecified, the
  1458  	// "default" network ID in the environment's project is used. If a Custom
  1459  	// Subnet Network (/vpc/docs/vpc#vpc_networks_and_subnets) is provided,
  1460  	// `nodeConfig.subnetwork` must also be provided. For Shared VPC
  1461  	// (/vpc/docs/shared-vpc) subnetwork requirements, see `nodeConfig.subnetwork`.
  1462  	Network string `json:"network,omitempty"`
  1463  	// OauthScopes: Optional. The set of Google API scopes to be made available on
  1464  	// all node VMs. If `oauth_scopes` is empty, defaults to
  1465  	// ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. This
  1466  	// field is supported for Cloud Composer environments in versions
  1467  	// composer-1.*.*-airflow-*.*.*.
  1468  	OauthScopes []string `json:"oauthScopes,omitempty"`
  1469  	// ServiceAccount: Optional. The Google Cloud Platform Service Account to be
  1470  	// used by the node VMs. If a service account is not specified, the "default"
  1471  	// Compute Engine service account is used. Cannot be updated.
  1472  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1473  	// Subnetwork: Optional. The Compute Engine subnetwork to be used for machine
  1474  	// communications, specified as a relative resource name
  1475  	// (/apis/design/resource_names#relative_resource_name). For example:
  1476  	// "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a
  1477  	// subnetwork is provided, `nodeConfig.network` must also be provided, and the
  1478  	// subnetwork must belong to the enclosing environment's project and location.
  1479  	Subnetwork string `json:"subnetwork,omitempty"`
  1480  	// Tags: Optional. The list of instance tags applied to all node VMs. Tags are
  1481  	// used to identify valid sources or targets for network firewalls. Each tag
  1482  	// within the list must comply with RFC1035
  1483  	// (https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated.
  1484  	Tags []string `json:"tags,omitempty"`
  1485  	// ForceSendFields is a list of field names (e.g.
  1486  	// "ComposerInternalIpv4CidrBlock") to unconditionally include in API requests.
  1487  	// By default, fields with empty or default values are omitted from API
  1488  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1489  	// for more details.
  1490  	ForceSendFields []string `json:"-"`
  1491  	// NullFields is a list of field names (e.g. "ComposerInternalIpv4CidrBlock")
  1492  	// to include in API requests with the JSON null value. By default, fields with
  1493  	// empty values are omitted from API requests. See
  1494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1495  	NullFields []string `json:"-"`
  1496  }
  1497  
  1498  func (s *NodeConfig) MarshalJSON() ([]byte, error) {
  1499  	type NoMethod NodeConfig
  1500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1501  }
  1502  
  1503  // Operation: This resource represents a long-running operation that is the
  1504  // result of a network API call.
  1505  type Operation struct {
  1506  	// Done: If the value is `false`, it means the operation is still in progress.
  1507  	// If `true`, the operation is completed, and either `error` or `response` is
  1508  	// available.
  1509  	Done bool `json:"done,omitempty"`
  1510  	// Error: The error result of the operation in case of failure or cancellation.
  1511  	Error *Status `json:"error,omitempty"`
  1512  	// Metadata: Service-specific metadata associated with the operation. It
  1513  	// typically contains progress information and common metadata such as create
  1514  	// time. Some services might not provide such metadata. Any method that returns
  1515  	// a long-running operation should document the metadata type, if any.
  1516  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  1517  	// Name: The server-assigned name, which is only unique within the same service
  1518  	// that originally returns it. If you use the default HTTP mapping, the `name`
  1519  	// should be a resource name ending with `operations/{unique_id}`.
  1520  	Name string `json:"name,omitempty"`
  1521  	// Response: The normal, successful response of the operation. If the original
  1522  	// method returns no data on success, such as `Delete`, the response is
  1523  	// `google.protobuf.Empty`. If the original method is standard
  1524  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  1525  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  1526  	// original method name. For example, if the original method name is
  1527  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  1528  	Response googleapi.RawMessage `json:"response,omitempty"`
  1529  
  1530  	// ServerResponse contains the HTTP response code and headers from the server.
  1531  	googleapi.ServerResponse `json:"-"`
  1532  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  1533  	// include in API requests. By default, fields with empty or default values are
  1534  	// omitted from API requests. See
  1535  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1536  	// details.
  1537  	ForceSendFields []string `json:"-"`
  1538  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  1539  	// with the JSON null value. By default, fields with empty values are omitted
  1540  	// from API requests. See
  1541  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1542  	NullFields []string `json:"-"`
  1543  }
  1544  
  1545  func (s *Operation) MarshalJSON() ([]byte, error) {
  1546  	type NoMethod Operation
  1547  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1548  }
  1549  
  1550  // OperationMetadata: Metadata describing an operation.
  1551  type OperationMetadata struct {
  1552  	// CreateTime: Output only. The time the operation was submitted to the server.
  1553  	CreateTime string `json:"createTime,omitempty"`
  1554  	// EndTime: Output only. The time when the operation terminated, regardless of
  1555  	// its success. This field is unset if the operation is still ongoing.
  1556  	EndTime string `json:"endTime,omitempty"`
  1557  	// OperationType: Output only. The type of operation being performed.
  1558  	//
  1559  	// Possible values:
  1560  	//   "TYPE_UNSPECIFIED" - Unused.
  1561  	//   "CREATE" - A resource creation operation.
  1562  	//   "DELETE" - A resource deletion operation.
  1563  	//   "UPDATE" - A resource update operation.
  1564  	//   "CHECK" - A resource check operation.
  1565  	//   "SAVE_SNAPSHOT" - Saves snapshot of the resource operation.
  1566  	//   "LOAD_SNAPSHOT" - Loads snapshot of the resource operation.
  1567  	//   "DATABASE_FAILOVER" - Triggers failover of environment's Cloud SQL
  1568  	// instance (only for highly resilient environments).
  1569  	OperationType string `json:"operationType,omitempty"`
  1570  	// Resource: Output only. The resource being operated on, as a relative
  1571  	// resource name ( /apis/design/resource_names#relative_resource_name).
  1572  	Resource string `json:"resource,omitempty"`
  1573  	// ResourceUuid: Output only. The UUID of the resource being operated on.
  1574  	ResourceUuid string `json:"resourceUuid,omitempty"`
  1575  	// State: Output only. The current operation state.
  1576  	//
  1577  	// Possible values:
  1578  	//   "STATE_UNSPECIFIED" - Unused.
  1579  	//   "PENDING" - The operation has been created but is not yet started.
  1580  	//   "RUNNING" - The operation is underway.
  1581  	//   "SUCCEEDED" - The operation completed successfully.
  1582  	//   "SUCCESSFUL"
  1583  	//   "FAILED" - The operation is no longer running but did not succeed.
  1584  	State string `json:"state,omitempty"`
  1585  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  1586  	// unconditionally include in API requests. By default, fields with empty or
  1587  	// default values are omitted from API requests. See
  1588  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1589  	// details.
  1590  	ForceSendFields []string `json:"-"`
  1591  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  1592  	// requests with the JSON null value. By default, fields with empty values are
  1593  	// omitted from API requests. See
  1594  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1595  	NullFields []string `json:"-"`
  1596  }
  1597  
  1598  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  1599  	type NoMethod OperationMetadata
  1600  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1601  }
  1602  
  1603  // PollAirflowCommandRequest: Poll Airflow Command request.
  1604  type PollAirflowCommandRequest struct {
  1605  	// ExecutionId: The unique ID of the command execution.
  1606  	ExecutionId string `json:"executionId,omitempty"`
  1607  	// NextLineNumber: Line number from which new logs should be fetched.
  1608  	NextLineNumber int64 `json:"nextLineNumber,omitempty"`
  1609  	// Pod: The name of the pod where the command is executed.
  1610  	Pod string `json:"pod,omitempty"`
  1611  	// PodNamespace: The namespace of the pod where the command is executed.
  1612  	PodNamespace string `json:"podNamespace,omitempty"`
  1613  	// ForceSendFields is a list of field names (e.g. "ExecutionId") to
  1614  	// unconditionally include in API requests. By default, fields with empty or
  1615  	// default values are omitted from API requests. See
  1616  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1617  	// details.
  1618  	ForceSendFields []string `json:"-"`
  1619  	// NullFields is a list of field names (e.g. "ExecutionId") to include in API
  1620  	// requests with the JSON null value. By default, fields with empty values are
  1621  	// omitted from API requests. See
  1622  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1623  	NullFields []string `json:"-"`
  1624  }
  1625  
  1626  func (s *PollAirflowCommandRequest) MarshalJSON() ([]byte, error) {
  1627  	type NoMethod PollAirflowCommandRequest
  1628  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1629  }
  1630  
  1631  // PollAirflowCommandResponse: Response to PollAirflowCommandRequest.
  1632  type PollAirflowCommandResponse struct {
  1633  	// ExitInfo: The result exit status of the command.
  1634  	ExitInfo *ExitInfo `json:"exitInfo,omitempty"`
  1635  	// Output: Output from the command execution. It may not contain the full
  1636  	// output and the caller may need to poll for more lines.
  1637  	Output []*Line `json:"output,omitempty"`
  1638  	// OutputEnd: Whether the command execution has finished and there is no more
  1639  	// output.
  1640  	OutputEnd bool `json:"outputEnd,omitempty"`
  1641  
  1642  	// ServerResponse contains the HTTP response code and headers from the server.
  1643  	googleapi.ServerResponse `json:"-"`
  1644  	// ForceSendFields is a list of field names (e.g. "ExitInfo") to
  1645  	// unconditionally include in API requests. By default, fields with empty or
  1646  	// default values are omitted from API requests. See
  1647  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1648  	// details.
  1649  	ForceSendFields []string `json:"-"`
  1650  	// NullFields is a list of field names (e.g. "ExitInfo") to include in API
  1651  	// requests with the JSON null value. By default, fields with empty values are
  1652  	// omitted from API requests. See
  1653  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1654  	NullFields []string `json:"-"`
  1655  }
  1656  
  1657  func (s *PollAirflowCommandResponse) MarshalJSON() ([]byte, error) {
  1658  	type NoMethod PollAirflowCommandResponse
  1659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1660  }
  1661  
  1662  // PrivateClusterConfig: Configuration options for the private GKE cluster in a
  1663  // Cloud Composer environment.
  1664  type PrivateClusterConfig struct {
  1665  	// EnablePrivateEndpoint: Optional. If `true`, access to the public endpoint of
  1666  	// the GKE cluster is denied.
  1667  	EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`
  1668  	// MasterIpv4CidrBlock: Optional. The CIDR block from which IPv4 range for GKE
  1669  	// master will be reserved. If left blank, the default value of '172.16.0.0/23'
  1670  	// is used.
  1671  	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
  1672  	// MasterIpv4ReservedRange: Output only. The IP range in CIDR notation to use
  1673  	// for the hosted master network. This range is used for assigning internal IP
  1674  	// addresses to the GKE cluster master or set of masters and to the internal
  1675  	// load balancer virtual IP. This range must not overlap with any other ranges
  1676  	// in use within the cluster's network.
  1677  	MasterIpv4ReservedRange string `json:"masterIpv4ReservedRange,omitempty"`
  1678  	// ForceSendFields is a list of field names (e.g. "EnablePrivateEndpoint") to
  1679  	// unconditionally include in API requests. By default, fields with empty or
  1680  	// default values are omitted from API requests. See
  1681  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1682  	// details.
  1683  	ForceSendFields []string `json:"-"`
  1684  	// NullFields is a list of field names (e.g. "EnablePrivateEndpoint") to
  1685  	// include in API requests with the JSON null value. By default, fields with
  1686  	// empty values are omitted from API requests. See
  1687  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1688  	NullFields []string `json:"-"`
  1689  }
  1690  
  1691  func (s *PrivateClusterConfig) MarshalJSON() ([]byte, error) {
  1692  	type NoMethod PrivateClusterConfig
  1693  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1694  }
  1695  
  1696  // PrivateEnvironmentConfig: The configuration information for configuring a
  1697  // Private IP Cloud Composer environment.
  1698  type PrivateEnvironmentConfig struct {
  1699  	// CloudComposerConnectionSubnetwork: Optional. When specified, the environment
  1700  	// will use Private Service Connect instead of VPC peerings to connect to Cloud
  1701  	// SQL in the Tenant Project, and the PSC endpoint in the Customer Project will
  1702  	// use an IP address from this subnetwork.
  1703  	CloudComposerConnectionSubnetwork string `json:"cloudComposerConnectionSubnetwork,omitempty"`
  1704  	// CloudComposerNetworkIpv4CidrBlock: Optional. The CIDR block from which IP
  1705  	// range for Cloud Composer Network in tenant project will be reserved. Needs
  1706  	// to be disjoint from private_cluster_config.master_ipv4_cidr_block and
  1707  	// cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer
  1708  	// environments in versions composer-2.*.*-airflow-*.*.* and newer.
  1709  	CloudComposerNetworkIpv4CidrBlock string `json:"cloudComposerNetworkIpv4CidrBlock,omitempty"`
  1710  	// CloudComposerNetworkIpv4ReservedRange: Output only. The IP range reserved
  1711  	// for the tenant project's Cloud Composer network. This field is supported for
  1712  	// Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and
  1713  	// newer.
  1714  	CloudComposerNetworkIpv4ReservedRange string `json:"cloudComposerNetworkIpv4ReservedRange,omitempty"`
  1715  	// CloudSqlIpv4CidrBlock: Optional. The CIDR block from which IP range in
  1716  	// tenant project will be reserved for Cloud SQL. Needs to be disjoint from
  1717  	// `web_server_ipv4_cidr_block`.
  1718  	CloudSqlIpv4CidrBlock string `json:"cloudSqlIpv4CidrBlock,omitempty"`
  1719  	// EnablePrivateBuildsOnly: Optional. If `true`, builds performed during
  1720  	// operations that install Python packages have only private connectivity to
  1721  	// Google services (including Artifact Registry) and VPC network (if either
  1722  	// `NodeConfig.network` and `NodeConfig.subnetwork` fields or
  1723  	// `NodeConfig.composer_network_attachment` field are specified). If `false`,
  1724  	// the builds also have access to the internet. This field is supported for
  1725  	// Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and
  1726  	// newer.
  1727  	EnablePrivateBuildsOnly bool `json:"enablePrivateBuildsOnly,omitempty"`
  1728  	// EnablePrivateEnvironment: Optional. If `true`, a Private IP Cloud Composer
  1729  	// environment is created. If this field is set to true,
  1730  	// `IPAllocationPolicy.use_ip_aliases` must be set to true for Cloud Composer
  1731  	// environments in versions composer-1.*.*-airflow-*.*.*.
  1732  	EnablePrivateEnvironment bool `json:"enablePrivateEnvironment,omitempty"`
  1733  	// EnablePrivatelyUsedPublicIps: Optional. When enabled, IPs from public
  1734  	// (non-RFC1918) ranges can be used for
  1735  	// `IPAllocationPolicy.cluster_ipv4_cidr_block` and
  1736  	// `IPAllocationPolicy.service_ipv4_cidr_block`.
  1737  	EnablePrivatelyUsedPublicIps bool `json:"enablePrivatelyUsedPublicIps,omitempty"`
  1738  	// NetworkingConfig: Optional. Configuration for the network connections
  1739  	// configuration in the environment.
  1740  	NetworkingConfig *NetworkingConfig `json:"networkingConfig,omitempty"`
  1741  	// PrivateClusterConfig: Optional. Configuration for the private GKE cluster
  1742  	// for a Private IP Cloud Composer environment.
  1743  	PrivateClusterConfig *PrivateClusterConfig `json:"privateClusterConfig,omitempty"`
  1744  	// WebServerIpv4CidrBlock: Optional. The CIDR block from which IP range for web
  1745  	// server will be reserved. Needs to be disjoint from
  1746  	// `private_cluster_config.master_ipv4_cidr_block` and
  1747  	// `cloud_sql_ipv4_cidr_block`. This field is supported for Cloud Composer
  1748  	// environments in versions composer-1.*.*-airflow-*.*.*.
  1749  	WebServerIpv4CidrBlock string `json:"webServerIpv4CidrBlock,omitempty"`
  1750  	// WebServerIpv4ReservedRange: Output only. The IP range reserved for the
  1751  	// tenant project's App Engine VMs. This field is supported for Cloud Composer
  1752  	// environments in versions composer-1.*.*-airflow-*.*.*.
  1753  	WebServerIpv4ReservedRange string `json:"webServerIpv4ReservedRange,omitempty"`
  1754  	// ForceSendFields is a list of field names (e.g.
  1755  	// "CloudComposerConnectionSubnetwork") to unconditionally include in API
  1756  	// requests. By default, fields with empty or default values are omitted from
  1757  	// API requests. See
  1758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1759  	// details.
  1760  	ForceSendFields []string `json:"-"`
  1761  	// NullFields is a list of field names (e.g.
  1762  	// "CloudComposerConnectionSubnetwork") to include in API requests with the
  1763  	// JSON null value. By default, fields with empty values are omitted from API
  1764  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  1765  	// more details.
  1766  	NullFields []string `json:"-"`
  1767  }
  1768  
  1769  func (s *PrivateEnvironmentConfig) MarshalJSON() ([]byte, error) {
  1770  	type NoMethod PrivateEnvironmentConfig
  1771  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1772  }
  1773  
  1774  // RecoveryConfig: The Recovery settings of an environment.
  1775  type RecoveryConfig struct {
  1776  	// ScheduledSnapshotsConfig: Optional. The configuration for scheduled snapshot
  1777  	// creation mechanism.
  1778  	ScheduledSnapshotsConfig *ScheduledSnapshotsConfig `json:"scheduledSnapshotsConfig,omitempty"`
  1779  	// ForceSendFields is a list of field names (e.g. "ScheduledSnapshotsConfig")
  1780  	// to unconditionally include in API requests. By default, fields with empty or
  1781  	// default values are omitted from API requests. See
  1782  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1783  	// details.
  1784  	ForceSendFields []string `json:"-"`
  1785  	// NullFields is a list of field names (e.g. "ScheduledSnapshotsConfig") to
  1786  	// include in API requests with the JSON null value. By default, fields with
  1787  	// empty values are omitted from API requests. See
  1788  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1789  	NullFields []string `json:"-"`
  1790  }
  1791  
  1792  func (s *RecoveryConfig) MarshalJSON() ([]byte, error) {
  1793  	type NoMethod RecoveryConfig
  1794  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1795  }
  1796  
  1797  // SaveSnapshotRequest: Request to create a snapshot of a Cloud Composer
  1798  // environment.
  1799  type SaveSnapshotRequest struct {
  1800  	// SnapshotLocation: Location in a Cloud Storage where the snapshot is going to
  1801  	// be stored, e.g.: "gs://my-bucket/snapshots".
  1802  	SnapshotLocation string `json:"snapshotLocation,omitempty"`
  1803  	// ForceSendFields is a list of field names (e.g. "SnapshotLocation") to
  1804  	// unconditionally include in API requests. By default, fields with empty or
  1805  	// default values are omitted from API requests. See
  1806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1807  	// details.
  1808  	ForceSendFields []string `json:"-"`
  1809  	// NullFields is a list of field names (e.g. "SnapshotLocation") to include in
  1810  	// API requests with the JSON null value. By default, fields with empty values
  1811  	// are omitted from API requests. See
  1812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1813  	NullFields []string `json:"-"`
  1814  }
  1815  
  1816  func (s *SaveSnapshotRequest) MarshalJSON() ([]byte, error) {
  1817  	type NoMethod SaveSnapshotRequest
  1818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1819  }
  1820  
  1821  // SaveSnapshotResponse: Response to SaveSnapshotRequest.
  1822  type SaveSnapshotResponse struct {
  1823  	// SnapshotPath: The fully-resolved Cloud Storage path of the created snapshot,
  1824  	// e.g.: "gs://my-bucket/snapshots/project_location_environment_timestamp".
  1825  	// This field is populated only if the snapshot creation was successful.
  1826  	SnapshotPath string `json:"snapshotPath,omitempty"`
  1827  	// ForceSendFields is a list of field names (e.g. "SnapshotPath") to
  1828  	// unconditionally include in API requests. By default, fields with empty or
  1829  	// default values are omitted from API requests. See
  1830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1831  	// details.
  1832  	ForceSendFields []string `json:"-"`
  1833  	// NullFields is a list of field names (e.g. "SnapshotPath") to include in API
  1834  	// requests with the JSON null value. By default, fields with empty values are
  1835  	// omitted from API requests. See
  1836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1837  	NullFields []string `json:"-"`
  1838  }
  1839  
  1840  func (s *SaveSnapshotResponse) MarshalJSON() ([]byte, error) {
  1841  	type NoMethod SaveSnapshotResponse
  1842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1843  }
  1844  
  1845  // ScheduledSnapshotsConfig: The configuration for scheduled snapshot creation
  1846  // mechanism.
  1847  type ScheduledSnapshotsConfig struct {
  1848  	// Enabled: Optional. Whether scheduled snapshots creation is enabled.
  1849  	Enabled bool `json:"enabled,omitempty"`
  1850  	// SnapshotCreationSchedule: Optional. The cron expression representing the
  1851  	// time when snapshots creation mechanism runs. This field is subject to
  1852  	// additional validation around frequency of execution.
  1853  	SnapshotCreationSchedule string `json:"snapshotCreationSchedule,omitempty"`
  1854  	// SnapshotLocation: Optional. The Cloud Storage location for storing
  1855  	// automatically created snapshots.
  1856  	SnapshotLocation string `json:"snapshotLocation,omitempty"`
  1857  	// TimeZone: Optional. Time zone that sets the context to interpret
  1858  	// snapshot_creation_schedule.
  1859  	TimeZone string `json:"timeZone,omitempty"`
  1860  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  1861  	// include in API requests. By default, fields with empty or default values are
  1862  	// omitted from API requests. See
  1863  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1864  	// details.
  1865  	ForceSendFields []string `json:"-"`
  1866  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  1867  	// requests with the JSON null value. By default, fields with empty values are
  1868  	// omitted from API requests. See
  1869  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1870  	NullFields []string `json:"-"`
  1871  }
  1872  
  1873  func (s *ScheduledSnapshotsConfig) MarshalJSON() ([]byte, error) {
  1874  	type NoMethod ScheduledSnapshotsConfig
  1875  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1876  }
  1877  
  1878  // SchedulerResource: Configuration for resources used by Airflow schedulers.
  1879  type SchedulerResource struct {
  1880  	// Count: Optional. The number of schedulers.
  1881  	Count int64 `json:"count,omitempty"`
  1882  	// Cpu: Optional. CPU request and limit for a single Airflow scheduler replica.
  1883  	Cpu float64 `json:"cpu,omitempty"`
  1884  	// MemoryGb: Optional. Memory (GB) request and limit for a single Airflow
  1885  	// scheduler replica.
  1886  	MemoryGb float64 `json:"memoryGb,omitempty"`
  1887  	// StorageGb: Optional. Storage (GB) request and limit for a single Airflow
  1888  	// scheduler replica.
  1889  	StorageGb float64 `json:"storageGb,omitempty"`
  1890  	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
  1891  	// include in API requests. By default, fields with empty or default values are
  1892  	// omitted from API requests. See
  1893  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1894  	// details.
  1895  	ForceSendFields []string `json:"-"`
  1896  	// NullFields is a list of field names (e.g. "Count") to include in API
  1897  	// requests with the JSON null value. By default, fields with empty values are
  1898  	// omitted from API requests. See
  1899  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1900  	NullFields []string `json:"-"`
  1901  }
  1902  
  1903  func (s *SchedulerResource) MarshalJSON() ([]byte, error) {
  1904  	type NoMethod SchedulerResource
  1905  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1906  }
  1907  
  1908  func (s *SchedulerResource) UnmarshalJSON(data []byte) error {
  1909  	type NoMethod SchedulerResource
  1910  	var s1 struct {
  1911  		Cpu       gensupport.JSONFloat64 `json:"cpu"`
  1912  		MemoryGb  gensupport.JSONFloat64 `json:"memoryGb"`
  1913  		StorageGb gensupport.JSONFloat64 `json:"storageGb"`
  1914  		*NoMethod
  1915  	}
  1916  	s1.NoMethod = (*NoMethod)(s)
  1917  	if err := json.Unmarshal(data, &s1); err != nil {
  1918  		return err
  1919  	}
  1920  	s.Cpu = float64(s1.Cpu)
  1921  	s.MemoryGb = float64(s1.MemoryGb)
  1922  	s.StorageGb = float64(s1.StorageGb)
  1923  	return nil
  1924  }
  1925  
  1926  // SoftwareConfig: Specifies the selection and configuration of software inside
  1927  // the environment.
  1928  type SoftwareConfig struct {
  1929  	// AirflowConfigOverrides: Optional. Apache Airflow configuration properties to
  1930  	// override. Property keys contain the section and property names, separated by
  1931  	// a hyphen, for example "core-dags_are_paused_at_creation". Section names must
  1932  	// not contain hyphens ("-"), opening square brackets ("["), or closing square
  1933  	// brackets ("]"). The property name must not be empty and must not contain an
  1934  	// equals sign ("=") or semicolon (";"). Section and property names must not
  1935  	// contain a period ("."). Apache Airflow configuration property names must be
  1936  	// written in snake_case (https://en.wikipedia.org/wiki/Snake_case). Property
  1937  	// values can contain any character, and can be written in any lower/upper case
  1938  	// format. Certain Apache Airflow configuration property values are blocked
  1939  	// (/composer/docs/concepts/airflow-configurations), and cannot be overridden.
  1940  	AirflowConfigOverrides map[string]string `json:"airflowConfigOverrides,omitempty"`
  1941  	// CloudDataLineageIntegration: Optional. The configuration for Cloud Data
  1942  	// Lineage integration.
  1943  	CloudDataLineageIntegration *CloudDataLineageIntegration `json:"cloudDataLineageIntegration,omitempty"`
  1944  	// EnvVariables: Optional. Additional environment variables to provide to the
  1945  	// Apache Airflow scheduler, worker, and webserver processes. Environment
  1946  	// variable names must match the regular expression `a-zA-Z_*`. They cannot
  1947  	// specify Apache Airflow software configuration overrides (they cannot match
  1948  	// the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot
  1949  	// match any of the following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT`
  1950  	// * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` *
  1951  	// `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` *
  1952  	// `SQL_PROJECT` * `SQL_REGION` * `SQL_USER`
  1953  	EnvVariables map[string]string `json:"envVariables,omitempty"`
  1954  	// ImageVersion: The version of the software running in the environment. This
  1955  	// encapsulates both the version of Cloud Composer functionality and the
  1956  	// version of Apache Airflow. It must match the regular expression
  1957  	// `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9
  1958  	// ]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if
  1959  	// the provided version is supported and denies the request for an unsupported
  1960  	// version. The Cloud Composer portion of the image version is a full semantic
  1961  	// version (https://semver.org), or an alias in the form of major version
  1962  	// number or `latest`. When an alias is provided, the server replaces it with
  1963  	// the current Cloud Composer version that satisfies the alias. The Apache
  1964  	// Airflow portion of the image version is a full semantic version that points
  1965  	// to one of the supported Apache Airflow versions, or an alias in the form of
  1966  	// only major or major.minor versions specified. When an alias is provided, the
  1967  	// server replaces it with the latest Apache Airflow version that satisfies the
  1968  	// alias and is supported in the given Cloud Composer version. In all cases,
  1969  	// the resolved image version is stored in the same field. See also version
  1970  	// list (/composer/docs/concepts/versioning/composer-versions) and versioning
  1971  	// overview (/composer/docs/concepts/versioning/composer-versioning-overview).
  1972  	ImageVersion string `json:"imageVersion,omitempty"`
  1973  	// PypiPackages: Optional. Custom Python Package Index (PyPI) packages to be
  1974  	// installed in the environment. Keys refer to the lowercase package name such
  1975  	// as "numpy" and values are the lowercase extras and version specifier such as
  1976  	// "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
  1977  	// package without pinning it to a version specifier, use the empty string as
  1978  	// the value.
  1979  	PypiPackages map[string]string `json:"pypiPackages,omitempty"`
  1980  	// PythonVersion: Optional. The major version of Python used to run the Apache
  1981  	// Airflow scheduler, worker, and webserver processes. Can be set to '2' or
  1982  	// '3'. If not specified, the default is '3'. Cannot be updated. This field is
  1983  	// only supported for Cloud Composer environments in versions
  1984  	// composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
  1985  	// Python major version 3.
  1986  	PythonVersion string `json:"pythonVersion,omitempty"`
  1987  	// SchedulerCount: Optional. The number of schedulers for Airflow. This field
  1988  	// is supported for Cloud Composer environments in versions
  1989  	// composer-1.*.*-airflow-2.*.*.
  1990  	SchedulerCount int64 `json:"schedulerCount,omitempty"`
  1991  	// WebServerPluginsMode: Optional. Whether or not the web server uses custom
  1992  	// plugins. If unspecified, the field defaults to `PLUGINS_ENABLED`. This field
  1993  	// is supported for Cloud Composer environments in versions
  1994  	// composer-3.*.*-airflow-*.*.* and newer.
  1995  	//
  1996  	// Possible values:
  1997  	//   "WEB_SERVER_PLUGINS_MODE_UNSPECIFIED" - Default mode.
  1998  	//   "PLUGINS_DISABLED" - Web server plugins are not supported.
  1999  	//   "PLUGINS_ENABLED" - Web server plugins are supported.
  2000  	WebServerPluginsMode string `json:"webServerPluginsMode,omitempty"`
  2001  	// ForceSendFields is a list of field names (e.g. "AirflowConfigOverrides") to
  2002  	// unconditionally include in API requests. By default, fields with empty or
  2003  	// default values are omitted from API requests. See
  2004  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2005  	// details.
  2006  	ForceSendFields []string `json:"-"`
  2007  	// NullFields is a list of field names (e.g. "AirflowConfigOverrides") to
  2008  	// include in API requests with the JSON null value. By default, fields with
  2009  	// empty values are omitted from API requests. See
  2010  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2011  	NullFields []string `json:"-"`
  2012  }
  2013  
  2014  func (s *SoftwareConfig) MarshalJSON() ([]byte, error) {
  2015  	type NoMethod SoftwareConfig
  2016  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2017  }
  2018  
  2019  // Status: The `Status` type defines a logical error model that is suitable for
  2020  // different programming environments, including REST APIs and RPC APIs. It is
  2021  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2022  // pieces of data: error code, error message, and error details. You can find
  2023  // out more about this error model and how to work with it in the API Design
  2024  // Guide (https://cloud.google.com/apis/design/errors).
  2025  type Status struct {
  2026  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2027  	Code int64 `json:"code,omitempty"`
  2028  	// Details: A list of messages that carry the error details. There is a common
  2029  	// set of message types for APIs to use.
  2030  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2031  	// Message: A developer-facing error message, which should be in English. Any
  2032  	// user-facing error message should be localized and sent in the
  2033  	// google.rpc.Status.details field, or localized by the client.
  2034  	Message string `json:"message,omitempty"`
  2035  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2036  	// include in API requests. By default, fields with empty or default values are
  2037  	// omitted from API requests. See
  2038  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2039  	// details.
  2040  	ForceSendFields []string `json:"-"`
  2041  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2042  	// with the JSON null value. By default, fields with empty values are omitted
  2043  	// from API requests. See
  2044  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2045  	NullFields []string `json:"-"`
  2046  }
  2047  
  2048  func (s *Status) MarshalJSON() ([]byte, error) {
  2049  	type NoMethod Status
  2050  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2051  }
  2052  
  2053  // StopAirflowCommandRequest: Stop Airflow Command request.
  2054  type StopAirflowCommandRequest struct {
  2055  	// ExecutionId: The unique ID of the command execution.
  2056  	ExecutionId string `json:"executionId,omitempty"`
  2057  	// Force: If true, the execution is terminated forcefully (SIGKILL). If false,
  2058  	// the execution is stopped gracefully, giving it time for cleanup.
  2059  	Force bool `json:"force,omitempty"`
  2060  	// Pod: The name of the pod where the command is executed.
  2061  	Pod string `json:"pod,omitempty"`
  2062  	// PodNamespace: The namespace of the pod where the command is executed.
  2063  	PodNamespace string `json:"podNamespace,omitempty"`
  2064  	// ForceSendFields is a list of field names (e.g. "ExecutionId") to
  2065  	// unconditionally include in API requests. By default, fields with empty or
  2066  	// default values are omitted from API requests. See
  2067  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2068  	// details.
  2069  	ForceSendFields []string `json:"-"`
  2070  	// NullFields is a list of field names (e.g. "ExecutionId") to include in API
  2071  	// requests with the JSON null value. By default, fields with empty values are
  2072  	// omitted from API requests. See
  2073  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2074  	NullFields []string `json:"-"`
  2075  }
  2076  
  2077  func (s *StopAirflowCommandRequest) MarshalJSON() ([]byte, error) {
  2078  	type NoMethod StopAirflowCommandRequest
  2079  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2080  }
  2081  
  2082  // StopAirflowCommandResponse: Response to StopAirflowCommandRequest.
  2083  type StopAirflowCommandResponse struct {
  2084  	// IsDone: Whether the execution is still running.
  2085  	IsDone bool `json:"isDone,omitempty"`
  2086  	// Output: Output message from stopping execution request.
  2087  	Output []string `json:"output,omitempty"`
  2088  
  2089  	// ServerResponse contains the HTTP response code and headers from the server.
  2090  	googleapi.ServerResponse `json:"-"`
  2091  	// ForceSendFields is a list of field names (e.g. "IsDone") to unconditionally
  2092  	// include in API requests. By default, fields with empty or default values are
  2093  	// omitted from API requests. See
  2094  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2095  	// details.
  2096  	ForceSendFields []string `json:"-"`
  2097  	// NullFields is a list of field names (e.g. "IsDone") to include in API
  2098  	// requests with the JSON null value. By default, fields with empty values are
  2099  	// omitted from API requests. See
  2100  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2101  	NullFields []string `json:"-"`
  2102  }
  2103  
  2104  func (s *StopAirflowCommandResponse) MarshalJSON() ([]byte, error) {
  2105  	type NoMethod StopAirflowCommandResponse
  2106  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2107  }
  2108  
  2109  // StorageConfig: The configuration for data storage in the environment.
  2110  type StorageConfig struct {
  2111  	// Bucket: Optional. The name of the Cloud Storage bucket used by the
  2112  	// environment. No `gs://` prefix.
  2113  	Bucket string `json:"bucket,omitempty"`
  2114  	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
  2115  	// include in API requests. By default, fields with empty or default values are
  2116  	// omitted from API requests. See
  2117  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2118  	// details.
  2119  	ForceSendFields []string `json:"-"`
  2120  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  2121  	// requests with the JSON null value. By default, fields with empty values are
  2122  	// omitted from API requests. See
  2123  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2124  	NullFields []string `json:"-"`
  2125  }
  2126  
  2127  func (s *StorageConfig) MarshalJSON() ([]byte, error) {
  2128  	type NoMethod StorageConfig
  2129  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2130  }
  2131  
  2132  // TaskLogsRetentionConfig: The configuration setting for Task Logs.
  2133  type TaskLogsRetentionConfig struct {
  2134  	// StorageMode: Optional. The mode of storage for Airflow workers task logs.
  2135  	//
  2136  	// Possible values:
  2137  	//   "TASK_LOGS_STORAGE_MODE_UNSPECIFIED" - This configuration is not specified
  2138  	// by the user.
  2139  	//   "CLOUD_LOGGING_AND_CLOUD_STORAGE" - Store task logs in Cloud Logging and
  2140  	// in the environment's Cloud Storage bucket.
  2141  	//   "CLOUD_LOGGING_ONLY" - Store task logs in Cloud Logging only.
  2142  	StorageMode string `json:"storageMode,omitempty"`
  2143  	// ForceSendFields is a list of field names (e.g. "StorageMode") to
  2144  	// unconditionally include in API requests. By default, fields with empty or
  2145  	// default values are omitted from API requests. See
  2146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2147  	// details.
  2148  	ForceSendFields []string `json:"-"`
  2149  	// NullFields is a list of field names (e.g. "StorageMode") to include in API
  2150  	// requests with the JSON null value. By default, fields with empty values are
  2151  	// omitted from API requests. See
  2152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2153  	NullFields []string `json:"-"`
  2154  }
  2155  
  2156  func (s *TaskLogsRetentionConfig) MarshalJSON() ([]byte, error) {
  2157  	type NoMethod TaskLogsRetentionConfig
  2158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2159  }
  2160  
  2161  // TriggererResource: Configuration for resources used by Airflow triggerers.
  2162  type TriggererResource struct {
  2163  	// Count: Optional. The number of triggerers.
  2164  	Count int64 `json:"count,omitempty"`
  2165  	// Cpu: Optional. CPU request and limit for a single Airflow triggerer replica.
  2166  	Cpu float64 `json:"cpu,omitempty"`
  2167  	// MemoryGb: Optional. Memory (GB) request and limit for a single Airflow
  2168  	// triggerer replica.
  2169  	MemoryGb float64 `json:"memoryGb,omitempty"`
  2170  	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
  2171  	// include in API requests. By default, fields with empty or default values are
  2172  	// omitted from API requests. See
  2173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2174  	// details.
  2175  	ForceSendFields []string `json:"-"`
  2176  	// NullFields is a list of field names (e.g. "Count") to include in API
  2177  	// requests with the JSON null value. By default, fields with empty values are
  2178  	// omitted from API requests. See
  2179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2180  	NullFields []string `json:"-"`
  2181  }
  2182  
  2183  func (s *TriggererResource) MarshalJSON() ([]byte, error) {
  2184  	type NoMethod TriggererResource
  2185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2186  }
  2187  
  2188  func (s *TriggererResource) UnmarshalJSON(data []byte) error {
  2189  	type NoMethod TriggererResource
  2190  	var s1 struct {
  2191  		Cpu      gensupport.JSONFloat64 `json:"cpu"`
  2192  		MemoryGb gensupport.JSONFloat64 `json:"memoryGb"`
  2193  		*NoMethod
  2194  	}
  2195  	s1.NoMethod = (*NoMethod)(s)
  2196  	if err := json.Unmarshal(data, &s1); err != nil {
  2197  		return err
  2198  	}
  2199  	s.Cpu = float64(s1.Cpu)
  2200  	s.MemoryGb = float64(s1.MemoryGb)
  2201  	return nil
  2202  }
  2203  
  2204  // UserWorkloadsConfigMap: User workloads ConfigMap used by Airflow tasks that
  2205  // run with Kubernetes executor or KubernetesPodOperator.
  2206  type UserWorkloadsConfigMap struct {
  2207  	// Data: Optional. The "data" field of Kubernetes ConfigMap, organized in
  2208  	// key-value pairs. For details see:
  2209  	// https://kubernetes.io/docs/concepts/configuration/configmap/
  2210  	Data map[string]string `json:"data,omitempty"`
  2211  	// Name: Identifier. The resource name of the ConfigMap, in the form:
  2212  	// "projects/{projectId}/locations/{locationId}/environments/{environmentId}/use
  2213  	// rWorkloadsConfigMaps/{userWorkloadsConfigMapId}"
  2214  	Name string `json:"name,omitempty"`
  2215  
  2216  	// ServerResponse contains the HTTP response code and headers from the server.
  2217  	googleapi.ServerResponse `json:"-"`
  2218  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  2219  	// include in API requests. By default, fields with empty or default values are
  2220  	// omitted from API requests. See
  2221  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2222  	// details.
  2223  	ForceSendFields []string `json:"-"`
  2224  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  2225  	// with the JSON null value. By default, fields with empty values are omitted
  2226  	// from API requests. See
  2227  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2228  	NullFields []string `json:"-"`
  2229  }
  2230  
  2231  func (s *UserWorkloadsConfigMap) MarshalJSON() ([]byte, error) {
  2232  	type NoMethod UserWorkloadsConfigMap
  2233  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2234  }
  2235  
  2236  // UserWorkloadsSecret: User workloads Secret used by Airflow tasks that run
  2237  // with Kubernetes executor or KubernetesPodOperator.
  2238  type UserWorkloadsSecret struct {
  2239  	// Data: Optional. The "data" field of Kubernetes Secret, organized in
  2240  	// key-value pairs, which can contain sensitive values such as a password, a
  2241  	// token, or a key. The values for all keys have to be base64-encoded strings.
  2242  	// For details see: https://kubernetes.io/docs/concepts/configuration/secret/
  2243  	Data map[string]string `json:"data,omitempty"`
  2244  	// Name: Identifier. The resource name of the Secret, in the form:
  2245  	// "projects/{projectId}/locations/{locationId}/environments/{environmentId}/use
  2246  	// rWorkloadsSecrets/{userWorkloadsSecretId}"
  2247  	Name string `json:"name,omitempty"`
  2248  
  2249  	// ServerResponse contains the HTTP response code and headers from the server.
  2250  	googleapi.ServerResponse `json:"-"`
  2251  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  2252  	// include in API requests. By default, fields with empty or default values are
  2253  	// omitted from API requests. See
  2254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2255  	// details.
  2256  	ForceSendFields []string `json:"-"`
  2257  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  2258  	// with the JSON null value. By default, fields with empty values are omitted
  2259  	// from API requests. See
  2260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2261  	NullFields []string `json:"-"`
  2262  }
  2263  
  2264  func (s *UserWorkloadsSecret) MarshalJSON() ([]byte, error) {
  2265  	type NoMethod UserWorkloadsSecret
  2266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2267  }
  2268  
  2269  // WebServerConfig: The configuration settings for the Airflow web server App
  2270  // Engine instance. Supported for Cloud Composer environments in versions
  2271  // composer-1.*.*-airflow-*.*.*
  2272  type WebServerConfig struct {
  2273  	// MachineType: Optional. Machine type on which Airflow web server is running.
  2274  	// It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or
  2275  	// composer-n1-webserver-8. If not specified, composer-n1-webserver-2 will be
  2276  	// used. Value custom is returned only in response, if Airflow web server
  2277  	// parameters were manually changed to a non-standard values.
  2278  	MachineType string `json:"machineType,omitempty"`
  2279  	// ForceSendFields is a list of field names (e.g. "MachineType") to
  2280  	// unconditionally include in API requests. By default, fields with empty or
  2281  	// default values are omitted from API requests. See
  2282  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2283  	// details.
  2284  	ForceSendFields []string `json:"-"`
  2285  	// NullFields is a list of field names (e.g. "MachineType") to include in API
  2286  	// requests with the JSON null value. By default, fields with empty values are
  2287  	// omitted from API requests. See
  2288  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2289  	NullFields []string `json:"-"`
  2290  }
  2291  
  2292  func (s *WebServerConfig) MarshalJSON() ([]byte, error) {
  2293  	type NoMethod WebServerConfig
  2294  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2295  }
  2296  
  2297  // WebServerNetworkAccessControl: Network-level access control policy for the
  2298  // Airflow web server.
  2299  type WebServerNetworkAccessControl struct {
  2300  	// AllowedIpRanges: A collection of allowed IP ranges with descriptions.
  2301  	AllowedIpRanges []*AllowedIpRange `json:"allowedIpRanges,omitempty"`
  2302  	// ForceSendFields is a list of field names (e.g. "AllowedIpRanges") to
  2303  	// unconditionally include in API requests. By default, fields with empty or
  2304  	// default values are omitted from API requests. See
  2305  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2306  	// details.
  2307  	ForceSendFields []string `json:"-"`
  2308  	// NullFields is a list of field names (e.g. "AllowedIpRanges") to include in
  2309  	// API requests with the JSON null value. By default, fields with empty values
  2310  	// are omitted from API requests. See
  2311  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2312  	NullFields []string `json:"-"`
  2313  }
  2314  
  2315  func (s *WebServerNetworkAccessControl) MarshalJSON() ([]byte, error) {
  2316  	type NoMethod WebServerNetworkAccessControl
  2317  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2318  }
  2319  
  2320  // WebServerResource: Configuration for resources used by Airflow web server.
  2321  type WebServerResource struct {
  2322  	// Cpu: Optional. CPU request and limit for Airflow web server.
  2323  	Cpu float64 `json:"cpu,omitempty"`
  2324  	// MemoryGb: Optional. Memory (GB) request and limit for Airflow web server.
  2325  	MemoryGb float64 `json:"memoryGb,omitempty"`
  2326  	// StorageGb: Optional. Storage (GB) request and limit for Airflow web server.
  2327  	StorageGb float64 `json:"storageGb,omitempty"`
  2328  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  2329  	// include in API requests. By default, fields with empty or default values are
  2330  	// omitted from API requests. See
  2331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2332  	// details.
  2333  	ForceSendFields []string `json:"-"`
  2334  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  2335  	// with the JSON null value. By default, fields with empty values are omitted
  2336  	// from API requests. See
  2337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2338  	NullFields []string `json:"-"`
  2339  }
  2340  
  2341  func (s *WebServerResource) MarshalJSON() ([]byte, error) {
  2342  	type NoMethod WebServerResource
  2343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2344  }
  2345  
  2346  func (s *WebServerResource) UnmarshalJSON(data []byte) error {
  2347  	type NoMethod WebServerResource
  2348  	var s1 struct {
  2349  		Cpu       gensupport.JSONFloat64 `json:"cpu"`
  2350  		MemoryGb  gensupport.JSONFloat64 `json:"memoryGb"`
  2351  		StorageGb gensupport.JSONFloat64 `json:"storageGb"`
  2352  		*NoMethod
  2353  	}
  2354  	s1.NoMethod = (*NoMethod)(s)
  2355  	if err := json.Unmarshal(data, &s1); err != nil {
  2356  		return err
  2357  	}
  2358  	s.Cpu = float64(s1.Cpu)
  2359  	s.MemoryGb = float64(s1.MemoryGb)
  2360  	s.StorageGb = float64(s1.StorageGb)
  2361  	return nil
  2362  }
  2363  
  2364  // WorkerResource: Configuration for resources used by Airflow workers.
  2365  type WorkerResource struct {
  2366  	// Cpu: Optional. CPU request and limit for a single Airflow worker replica.
  2367  	Cpu float64 `json:"cpu,omitempty"`
  2368  	// MaxCount: Optional. Maximum number of workers for autoscaling.
  2369  	MaxCount int64 `json:"maxCount,omitempty"`
  2370  	// MemoryGb: Optional. Memory (GB) request and limit for a single Airflow
  2371  	// worker replica.
  2372  	MemoryGb float64 `json:"memoryGb,omitempty"`
  2373  	// MinCount: Optional. Minimum number of workers for autoscaling.
  2374  	MinCount int64 `json:"minCount,omitempty"`
  2375  	// StorageGb: Optional. Storage (GB) request and limit for a single Airflow
  2376  	// worker replica.
  2377  	StorageGb float64 `json:"storageGb,omitempty"`
  2378  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  2379  	// include in API requests. By default, fields with empty or default values are
  2380  	// omitted from API requests. See
  2381  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2382  	// details.
  2383  	ForceSendFields []string `json:"-"`
  2384  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  2385  	// with the JSON null value. By default, fields with empty values are omitted
  2386  	// from API requests. See
  2387  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2388  	NullFields []string `json:"-"`
  2389  }
  2390  
  2391  func (s *WorkerResource) MarshalJSON() ([]byte, error) {
  2392  	type NoMethod WorkerResource
  2393  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2394  }
  2395  
  2396  func (s *WorkerResource) UnmarshalJSON(data []byte) error {
  2397  	type NoMethod WorkerResource
  2398  	var s1 struct {
  2399  		Cpu       gensupport.JSONFloat64 `json:"cpu"`
  2400  		MemoryGb  gensupport.JSONFloat64 `json:"memoryGb"`
  2401  		StorageGb gensupport.JSONFloat64 `json:"storageGb"`
  2402  		*NoMethod
  2403  	}
  2404  	s1.NoMethod = (*NoMethod)(s)
  2405  	if err := json.Unmarshal(data, &s1); err != nil {
  2406  		return err
  2407  	}
  2408  	s.Cpu = float64(s1.Cpu)
  2409  	s.MemoryGb = float64(s1.MemoryGb)
  2410  	s.StorageGb = float64(s1.StorageGb)
  2411  	return nil
  2412  }
  2413  
  2414  // WorkloadsConfig: The Kubernetes workloads configuration for GKE cluster
  2415  // associated with the Cloud Composer environment. Supported for Cloud Composer
  2416  // environments in versions composer-2.*.*-airflow-*.*.* and newer.
  2417  type WorkloadsConfig struct {
  2418  	// DagProcessor: Optional. Resources used by Airflow DAG processors. This field
  2419  	// is supported for Cloud Composer environments in versions
  2420  	// composer-3.*.*-airflow-*.*.* and newer.
  2421  	DagProcessor *DagProcessorResource `json:"dagProcessor,omitempty"`
  2422  	// Scheduler: Optional. Resources used by Airflow schedulers.
  2423  	Scheduler *SchedulerResource `json:"scheduler,omitempty"`
  2424  	// Triggerer: Optional. Resources used by Airflow triggerers.
  2425  	Triggerer *TriggererResource `json:"triggerer,omitempty"`
  2426  	// WebServer: Optional. Resources used by Airflow web server.
  2427  	WebServer *WebServerResource `json:"webServer,omitempty"`
  2428  	// Worker: Optional. Resources used by Airflow workers.
  2429  	Worker *WorkerResource `json:"worker,omitempty"`
  2430  	// ForceSendFields is a list of field names (e.g. "DagProcessor") to
  2431  	// unconditionally include in API requests. By default, fields with empty or
  2432  	// default values are omitted from API requests. See
  2433  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2434  	// details.
  2435  	ForceSendFields []string `json:"-"`
  2436  	// NullFields is a list of field names (e.g. "DagProcessor") to include in API
  2437  	// requests with the JSON null value. By default, fields with empty values are
  2438  	// omitted from API requests. See
  2439  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2440  	NullFields []string `json:"-"`
  2441  }
  2442  
  2443  func (s *WorkloadsConfig) MarshalJSON() ([]byte, error) {
  2444  	type NoMethod WorkloadsConfig
  2445  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2446  }
  2447  
  2448  type ProjectsLocationsEnvironmentsCreateCall struct {
  2449  	s           *Service
  2450  	parent      string
  2451  	environment *Environment
  2452  	urlParams_  gensupport.URLParams
  2453  	ctx_        context.Context
  2454  	header_     http.Header
  2455  }
  2456  
  2457  // Create: Create a new environment.
  2458  //
  2459  //   - parent: The parent must be of the form
  2460  //     "projects/{projectId}/locations/{locationId}".
  2461  func (r *ProjectsLocationsEnvironmentsService) Create(parent string, environment *Environment) *ProjectsLocationsEnvironmentsCreateCall {
  2462  	c := &ProjectsLocationsEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2463  	c.parent = parent
  2464  	c.environment = environment
  2465  	return c
  2466  }
  2467  
  2468  // Fields allows partial responses to be retrieved. See
  2469  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2470  // details.
  2471  func (c *ProjectsLocationsEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsCreateCall {
  2472  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2473  	return c
  2474  }
  2475  
  2476  // Context sets the context to be used in this call's Do method.
  2477  func (c *ProjectsLocationsEnvironmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsCreateCall {
  2478  	c.ctx_ = ctx
  2479  	return c
  2480  }
  2481  
  2482  // Header returns a http.Header that can be modified by the caller to add
  2483  // headers to the request.
  2484  func (c *ProjectsLocationsEnvironmentsCreateCall) Header() http.Header {
  2485  	if c.header_ == nil {
  2486  		c.header_ = make(http.Header)
  2487  	}
  2488  	return c.header_
  2489  }
  2490  
  2491  func (c *ProjectsLocationsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
  2492  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2493  	var body io.Reader = nil
  2494  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  2495  	if err != nil {
  2496  		return nil, err
  2497  	}
  2498  	c.urlParams_.Set("alt", alt)
  2499  	c.urlParams_.Set("prettyPrint", "false")
  2500  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/environments")
  2501  	urls += "?" + c.urlParams_.Encode()
  2502  	req, err := http.NewRequest("POST", urls, body)
  2503  	if err != nil {
  2504  		return nil, err
  2505  	}
  2506  	req.Header = reqHeaders
  2507  	googleapi.Expand(req.URL, map[string]string{
  2508  		"parent": c.parent,
  2509  	})
  2510  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2511  }
  2512  
  2513  // Do executes the "composer.projects.locations.environments.create" call.
  2514  // Any non-2xx status code is an error. Response headers are in either
  2515  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  2516  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2517  // whether the returned error was because http.StatusNotModified was returned.
  2518  func (c *ProjectsLocationsEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  2519  	gensupport.SetOptions(c.urlParams_, opts...)
  2520  	res, err := c.doRequest("json")
  2521  	if res != nil && res.StatusCode == http.StatusNotModified {
  2522  		if res.Body != nil {
  2523  			res.Body.Close()
  2524  		}
  2525  		return nil, gensupport.WrapError(&googleapi.Error{
  2526  			Code:   res.StatusCode,
  2527  			Header: res.Header,
  2528  		})
  2529  	}
  2530  	if err != nil {
  2531  		return nil, err
  2532  	}
  2533  	defer googleapi.CloseBody(res)
  2534  	if err := googleapi.CheckResponse(res); err != nil {
  2535  		return nil, gensupport.WrapError(err)
  2536  	}
  2537  	ret := &Operation{
  2538  		ServerResponse: googleapi.ServerResponse{
  2539  			Header:         res.Header,
  2540  			HTTPStatusCode: res.StatusCode,
  2541  		},
  2542  	}
  2543  	target := &ret
  2544  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2545  		return nil, err
  2546  	}
  2547  	return ret, nil
  2548  }
  2549  
  2550  type ProjectsLocationsEnvironmentsDatabaseFailoverCall struct {
  2551  	s                       *Service
  2552  	environment             string
  2553  	databasefailoverrequest *DatabaseFailoverRequest
  2554  	urlParams_              gensupport.URLParams
  2555  	ctx_                    context.Context
  2556  	header_                 http.Header
  2557  }
  2558  
  2559  // DatabaseFailover: Triggers database failover (only for highly resilient
  2560  // environments).
  2561  //
  2562  //   - environment: Target environment:
  2563  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  2564  func (r *ProjectsLocationsEnvironmentsService) DatabaseFailover(environment string, databasefailoverrequest *DatabaseFailoverRequest) *ProjectsLocationsEnvironmentsDatabaseFailoverCall {
  2565  	c := &ProjectsLocationsEnvironmentsDatabaseFailoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2566  	c.environment = environment
  2567  	c.databasefailoverrequest = databasefailoverrequest
  2568  	return c
  2569  }
  2570  
  2571  // Fields allows partial responses to be retrieved. See
  2572  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2573  // details.
  2574  func (c *ProjectsLocationsEnvironmentsDatabaseFailoverCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsDatabaseFailoverCall {
  2575  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2576  	return c
  2577  }
  2578  
  2579  // Context sets the context to be used in this call's Do method.
  2580  func (c *ProjectsLocationsEnvironmentsDatabaseFailoverCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsDatabaseFailoverCall {
  2581  	c.ctx_ = ctx
  2582  	return c
  2583  }
  2584  
  2585  // Header returns a http.Header that can be modified by the caller to add
  2586  // headers to the request.
  2587  func (c *ProjectsLocationsEnvironmentsDatabaseFailoverCall) Header() http.Header {
  2588  	if c.header_ == nil {
  2589  		c.header_ = make(http.Header)
  2590  	}
  2591  	return c.header_
  2592  }
  2593  
  2594  func (c *ProjectsLocationsEnvironmentsDatabaseFailoverCall) doRequest(alt string) (*http.Response, error) {
  2595  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2596  	var body io.Reader = nil
  2597  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.databasefailoverrequest)
  2598  	if err != nil {
  2599  		return nil, err
  2600  	}
  2601  	c.urlParams_.Set("alt", alt)
  2602  	c.urlParams_.Set("prettyPrint", "false")
  2603  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:databaseFailover")
  2604  	urls += "?" + c.urlParams_.Encode()
  2605  	req, err := http.NewRequest("POST", urls, body)
  2606  	if err != nil {
  2607  		return nil, err
  2608  	}
  2609  	req.Header = reqHeaders
  2610  	googleapi.Expand(req.URL, map[string]string{
  2611  		"environment": c.environment,
  2612  	})
  2613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2614  }
  2615  
  2616  // Do executes the "composer.projects.locations.environments.databaseFailover" call.
  2617  // Any non-2xx status code is an error. Response headers are in either
  2618  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  2619  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2620  // whether the returned error was because http.StatusNotModified was returned.
  2621  func (c *ProjectsLocationsEnvironmentsDatabaseFailoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  2622  	gensupport.SetOptions(c.urlParams_, opts...)
  2623  	res, err := c.doRequest("json")
  2624  	if res != nil && res.StatusCode == http.StatusNotModified {
  2625  		if res.Body != nil {
  2626  			res.Body.Close()
  2627  		}
  2628  		return nil, gensupport.WrapError(&googleapi.Error{
  2629  			Code:   res.StatusCode,
  2630  			Header: res.Header,
  2631  		})
  2632  	}
  2633  	if err != nil {
  2634  		return nil, err
  2635  	}
  2636  	defer googleapi.CloseBody(res)
  2637  	if err := googleapi.CheckResponse(res); err != nil {
  2638  		return nil, gensupport.WrapError(err)
  2639  	}
  2640  	ret := &Operation{
  2641  		ServerResponse: googleapi.ServerResponse{
  2642  			Header:         res.Header,
  2643  			HTTPStatusCode: res.StatusCode,
  2644  		},
  2645  	}
  2646  	target := &ret
  2647  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2648  		return nil, err
  2649  	}
  2650  	return ret, nil
  2651  }
  2652  
  2653  type ProjectsLocationsEnvironmentsDeleteCall struct {
  2654  	s          *Service
  2655  	name       string
  2656  	urlParams_ gensupport.URLParams
  2657  	ctx_       context.Context
  2658  	header_    http.Header
  2659  }
  2660  
  2661  // Delete: Delete an environment.
  2662  //
  2663  //   - name: The environment to delete, in the form:
  2664  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  2665  func (r *ProjectsLocationsEnvironmentsService) Delete(name string) *ProjectsLocationsEnvironmentsDeleteCall {
  2666  	c := &ProjectsLocationsEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2667  	c.name = name
  2668  	return c
  2669  }
  2670  
  2671  // Fields allows partial responses to be retrieved. See
  2672  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2673  // details.
  2674  func (c *ProjectsLocationsEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsDeleteCall {
  2675  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2676  	return c
  2677  }
  2678  
  2679  // Context sets the context to be used in this call's Do method.
  2680  func (c *ProjectsLocationsEnvironmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsDeleteCall {
  2681  	c.ctx_ = ctx
  2682  	return c
  2683  }
  2684  
  2685  // Header returns a http.Header that can be modified by the caller to add
  2686  // headers to the request.
  2687  func (c *ProjectsLocationsEnvironmentsDeleteCall) Header() http.Header {
  2688  	if c.header_ == nil {
  2689  		c.header_ = make(http.Header)
  2690  	}
  2691  	return c.header_
  2692  }
  2693  
  2694  func (c *ProjectsLocationsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  2695  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2696  	var body io.Reader = nil
  2697  	c.urlParams_.Set("alt", alt)
  2698  	c.urlParams_.Set("prettyPrint", "false")
  2699  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  2700  	urls += "?" + c.urlParams_.Encode()
  2701  	req, err := http.NewRequest("DELETE", urls, body)
  2702  	if err != nil {
  2703  		return nil, err
  2704  	}
  2705  	req.Header = reqHeaders
  2706  	googleapi.Expand(req.URL, map[string]string{
  2707  		"name": c.name,
  2708  	})
  2709  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2710  }
  2711  
  2712  // Do executes the "composer.projects.locations.environments.delete" call.
  2713  // Any non-2xx status code is an error. Response headers are in either
  2714  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  2715  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2716  // whether the returned error was because http.StatusNotModified was returned.
  2717  func (c *ProjectsLocationsEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  2718  	gensupport.SetOptions(c.urlParams_, opts...)
  2719  	res, err := c.doRequest("json")
  2720  	if res != nil && res.StatusCode == http.StatusNotModified {
  2721  		if res.Body != nil {
  2722  			res.Body.Close()
  2723  		}
  2724  		return nil, gensupport.WrapError(&googleapi.Error{
  2725  			Code:   res.StatusCode,
  2726  			Header: res.Header,
  2727  		})
  2728  	}
  2729  	if err != nil {
  2730  		return nil, err
  2731  	}
  2732  	defer googleapi.CloseBody(res)
  2733  	if err := googleapi.CheckResponse(res); err != nil {
  2734  		return nil, gensupport.WrapError(err)
  2735  	}
  2736  	ret := &Operation{
  2737  		ServerResponse: googleapi.ServerResponse{
  2738  			Header:         res.Header,
  2739  			HTTPStatusCode: res.StatusCode,
  2740  		},
  2741  	}
  2742  	target := &ret
  2743  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2744  		return nil, err
  2745  	}
  2746  	return ret, nil
  2747  }
  2748  
  2749  type ProjectsLocationsEnvironmentsExecuteAirflowCommandCall struct {
  2750  	s                            *Service
  2751  	environment                  string
  2752  	executeairflowcommandrequest *ExecuteAirflowCommandRequest
  2753  	urlParams_                   gensupport.URLParams
  2754  	ctx_                         context.Context
  2755  	header_                      http.Header
  2756  }
  2757  
  2758  // ExecuteAirflowCommand: Executes Airflow CLI command.
  2759  //
  2760  //   - environment: The resource name of the environment in the form:
  2761  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  2762  func (r *ProjectsLocationsEnvironmentsService) ExecuteAirflowCommand(environment string, executeairflowcommandrequest *ExecuteAirflowCommandRequest) *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall {
  2763  	c := &ProjectsLocationsEnvironmentsExecuteAirflowCommandCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2764  	c.environment = environment
  2765  	c.executeairflowcommandrequest = executeairflowcommandrequest
  2766  	return c
  2767  }
  2768  
  2769  // Fields allows partial responses to be retrieved. See
  2770  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2771  // details.
  2772  func (c *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall {
  2773  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2774  	return c
  2775  }
  2776  
  2777  // Context sets the context to be used in this call's Do method.
  2778  func (c *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall {
  2779  	c.ctx_ = ctx
  2780  	return c
  2781  }
  2782  
  2783  // Header returns a http.Header that can be modified by the caller to add
  2784  // headers to the request.
  2785  func (c *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall) Header() http.Header {
  2786  	if c.header_ == nil {
  2787  		c.header_ = make(http.Header)
  2788  	}
  2789  	return c.header_
  2790  }
  2791  
  2792  func (c *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall) doRequest(alt string) (*http.Response, error) {
  2793  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2794  	var body io.Reader = nil
  2795  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.executeairflowcommandrequest)
  2796  	if err != nil {
  2797  		return nil, err
  2798  	}
  2799  	c.urlParams_.Set("alt", alt)
  2800  	c.urlParams_.Set("prettyPrint", "false")
  2801  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:executeAirflowCommand")
  2802  	urls += "?" + c.urlParams_.Encode()
  2803  	req, err := http.NewRequest("POST", urls, body)
  2804  	if err != nil {
  2805  		return nil, err
  2806  	}
  2807  	req.Header = reqHeaders
  2808  	googleapi.Expand(req.URL, map[string]string{
  2809  		"environment": c.environment,
  2810  	})
  2811  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2812  }
  2813  
  2814  // Do executes the "composer.projects.locations.environments.executeAirflowCommand" call.
  2815  // Any non-2xx status code is an error. Response headers are in either
  2816  // *ExecuteAirflowCommandResponse.ServerResponse.Header or (if a response was
  2817  // returned at all) in error.(*googleapi.Error).Header. Use
  2818  // googleapi.IsNotModified to check whether the returned error was because
  2819  // http.StatusNotModified was returned.
  2820  func (c *ProjectsLocationsEnvironmentsExecuteAirflowCommandCall) Do(opts ...googleapi.CallOption) (*ExecuteAirflowCommandResponse, error) {
  2821  	gensupport.SetOptions(c.urlParams_, opts...)
  2822  	res, err := c.doRequest("json")
  2823  	if res != nil && res.StatusCode == http.StatusNotModified {
  2824  		if res.Body != nil {
  2825  			res.Body.Close()
  2826  		}
  2827  		return nil, gensupport.WrapError(&googleapi.Error{
  2828  			Code:   res.StatusCode,
  2829  			Header: res.Header,
  2830  		})
  2831  	}
  2832  	if err != nil {
  2833  		return nil, err
  2834  	}
  2835  	defer googleapi.CloseBody(res)
  2836  	if err := googleapi.CheckResponse(res); err != nil {
  2837  		return nil, gensupport.WrapError(err)
  2838  	}
  2839  	ret := &ExecuteAirflowCommandResponse{
  2840  		ServerResponse: googleapi.ServerResponse{
  2841  			Header:         res.Header,
  2842  			HTTPStatusCode: res.StatusCode,
  2843  		},
  2844  	}
  2845  	target := &ret
  2846  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2847  		return nil, err
  2848  	}
  2849  	return ret, nil
  2850  }
  2851  
  2852  type ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall struct {
  2853  	s            *Service
  2854  	environment  string
  2855  	urlParams_   gensupport.URLParams
  2856  	ifNoneMatch_ string
  2857  	ctx_         context.Context
  2858  	header_      http.Header
  2859  }
  2860  
  2861  // FetchDatabaseProperties: Fetches database properties.
  2862  //
  2863  //   - environment: The resource name of the environment, in the form:
  2864  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  2865  func (r *ProjectsLocationsEnvironmentsService) FetchDatabaseProperties(environment string) *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall {
  2866  	c := &ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2867  	c.environment = environment
  2868  	return c
  2869  }
  2870  
  2871  // Fields allows partial responses to be retrieved. See
  2872  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2873  // details.
  2874  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall {
  2875  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2876  	return c
  2877  }
  2878  
  2879  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2880  // object's ETag matches the given value. This is useful for getting updates
  2881  // only after the object has changed since the last request.
  2882  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall {
  2883  	c.ifNoneMatch_ = entityTag
  2884  	return c
  2885  }
  2886  
  2887  // Context sets the context to be used in this call's Do method.
  2888  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall {
  2889  	c.ctx_ = ctx
  2890  	return c
  2891  }
  2892  
  2893  // Header returns a http.Header that can be modified by the caller to add
  2894  // headers to the request.
  2895  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) Header() http.Header {
  2896  	if c.header_ == nil {
  2897  		c.header_ = make(http.Header)
  2898  	}
  2899  	return c.header_
  2900  }
  2901  
  2902  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) doRequest(alt string) (*http.Response, error) {
  2903  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2904  	if c.ifNoneMatch_ != "" {
  2905  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2906  	}
  2907  	var body io.Reader = nil
  2908  	c.urlParams_.Set("alt", alt)
  2909  	c.urlParams_.Set("prettyPrint", "false")
  2910  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:fetchDatabaseProperties")
  2911  	urls += "?" + c.urlParams_.Encode()
  2912  	req, err := http.NewRequest("GET", urls, body)
  2913  	if err != nil {
  2914  		return nil, err
  2915  	}
  2916  	req.Header = reqHeaders
  2917  	googleapi.Expand(req.URL, map[string]string{
  2918  		"environment": c.environment,
  2919  	})
  2920  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2921  }
  2922  
  2923  // Do executes the "composer.projects.locations.environments.fetchDatabaseProperties" call.
  2924  // Any non-2xx status code is an error. Response headers are in either
  2925  // *FetchDatabasePropertiesResponse.ServerResponse.Header or (if a response was
  2926  // returned at all) in error.(*googleapi.Error).Header. Use
  2927  // googleapi.IsNotModified to check whether the returned error was because
  2928  // http.StatusNotModified was returned.
  2929  func (c *ProjectsLocationsEnvironmentsFetchDatabasePropertiesCall) Do(opts ...googleapi.CallOption) (*FetchDatabasePropertiesResponse, error) {
  2930  	gensupport.SetOptions(c.urlParams_, opts...)
  2931  	res, err := c.doRequest("json")
  2932  	if res != nil && res.StatusCode == http.StatusNotModified {
  2933  		if res.Body != nil {
  2934  			res.Body.Close()
  2935  		}
  2936  		return nil, gensupport.WrapError(&googleapi.Error{
  2937  			Code:   res.StatusCode,
  2938  			Header: res.Header,
  2939  		})
  2940  	}
  2941  	if err != nil {
  2942  		return nil, err
  2943  	}
  2944  	defer googleapi.CloseBody(res)
  2945  	if err := googleapi.CheckResponse(res); err != nil {
  2946  		return nil, gensupport.WrapError(err)
  2947  	}
  2948  	ret := &FetchDatabasePropertiesResponse{
  2949  		ServerResponse: googleapi.ServerResponse{
  2950  			Header:         res.Header,
  2951  			HTTPStatusCode: res.StatusCode,
  2952  		},
  2953  	}
  2954  	target := &ret
  2955  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2956  		return nil, err
  2957  	}
  2958  	return ret, nil
  2959  }
  2960  
  2961  type ProjectsLocationsEnvironmentsGetCall struct {
  2962  	s            *Service
  2963  	name         string
  2964  	urlParams_   gensupport.URLParams
  2965  	ifNoneMatch_ string
  2966  	ctx_         context.Context
  2967  	header_      http.Header
  2968  }
  2969  
  2970  // Get: Get an existing environment.
  2971  //
  2972  //   - name: The resource name of the environment to get, in the form:
  2973  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  2974  func (r *ProjectsLocationsEnvironmentsService) Get(name string) *ProjectsLocationsEnvironmentsGetCall {
  2975  	c := &ProjectsLocationsEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2976  	c.name = name
  2977  	return c
  2978  }
  2979  
  2980  // Fields allows partial responses to be retrieved. See
  2981  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2982  // details.
  2983  func (c *ProjectsLocationsEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsGetCall {
  2984  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2985  	return c
  2986  }
  2987  
  2988  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2989  // object's ETag matches the given value. This is useful for getting updates
  2990  // only after the object has changed since the last request.
  2991  func (c *ProjectsLocationsEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsGetCall {
  2992  	c.ifNoneMatch_ = entityTag
  2993  	return c
  2994  }
  2995  
  2996  // Context sets the context to be used in this call's Do method.
  2997  func (c *ProjectsLocationsEnvironmentsGetCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsGetCall {
  2998  	c.ctx_ = ctx
  2999  	return c
  3000  }
  3001  
  3002  // Header returns a http.Header that can be modified by the caller to add
  3003  // headers to the request.
  3004  func (c *ProjectsLocationsEnvironmentsGetCall) Header() http.Header {
  3005  	if c.header_ == nil {
  3006  		c.header_ = make(http.Header)
  3007  	}
  3008  	return c.header_
  3009  }
  3010  
  3011  func (c *ProjectsLocationsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
  3012  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3013  	if c.ifNoneMatch_ != "" {
  3014  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3015  	}
  3016  	var body io.Reader = nil
  3017  	c.urlParams_.Set("alt", alt)
  3018  	c.urlParams_.Set("prettyPrint", "false")
  3019  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3020  	urls += "?" + c.urlParams_.Encode()
  3021  	req, err := http.NewRequest("GET", urls, body)
  3022  	if err != nil {
  3023  		return nil, err
  3024  	}
  3025  	req.Header = reqHeaders
  3026  	googleapi.Expand(req.URL, map[string]string{
  3027  		"name": c.name,
  3028  	})
  3029  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3030  }
  3031  
  3032  // Do executes the "composer.projects.locations.environments.get" call.
  3033  // Any non-2xx status code is an error. Response headers are in either
  3034  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  3035  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3036  // whether the returned error was because http.StatusNotModified was returned.
  3037  func (c *ProjectsLocationsEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  3038  	gensupport.SetOptions(c.urlParams_, opts...)
  3039  	res, err := c.doRequest("json")
  3040  	if res != nil && res.StatusCode == http.StatusNotModified {
  3041  		if res.Body != nil {
  3042  			res.Body.Close()
  3043  		}
  3044  		return nil, gensupport.WrapError(&googleapi.Error{
  3045  			Code:   res.StatusCode,
  3046  			Header: res.Header,
  3047  		})
  3048  	}
  3049  	if err != nil {
  3050  		return nil, err
  3051  	}
  3052  	defer googleapi.CloseBody(res)
  3053  	if err := googleapi.CheckResponse(res); err != nil {
  3054  		return nil, gensupport.WrapError(err)
  3055  	}
  3056  	ret := &Environment{
  3057  		ServerResponse: googleapi.ServerResponse{
  3058  			Header:         res.Header,
  3059  			HTTPStatusCode: res.StatusCode,
  3060  		},
  3061  	}
  3062  	target := &ret
  3063  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3064  		return nil, err
  3065  	}
  3066  	return ret, nil
  3067  }
  3068  
  3069  type ProjectsLocationsEnvironmentsListCall struct {
  3070  	s            *Service
  3071  	parent       string
  3072  	urlParams_   gensupport.URLParams
  3073  	ifNoneMatch_ string
  3074  	ctx_         context.Context
  3075  	header_      http.Header
  3076  }
  3077  
  3078  // List: List environments.
  3079  //
  3080  //   - parent: List environments in the given project and location, in the form:
  3081  //     "projects/{projectId}/locations/{locationId}".
  3082  func (r *ProjectsLocationsEnvironmentsService) List(parent string) *ProjectsLocationsEnvironmentsListCall {
  3083  	c := &ProjectsLocationsEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3084  	c.parent = parent
  3085  	return c
  3086  }
  3087  
  3088  // PageSize sets the optional parameter "pageSize": The maximum number of
  3089  // environments to return.
  3090  func (c *ProjectsLocationsEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsEnvironmentsListCall {
  3091  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3092  	return c
  3093  }
  3094  
  3095  // PageToken sets the optional parameter "pageToken": The next_page_token value
  3096  // returned from a previous List request, if any.
  3097  func (c *ProjectsLocationsEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsEnvironmentsListCall {
  3098  	c.urlParams_.Set("pageToken", pageToken)
  3099  	return c
  3100  }
  3101  
  3102  // Fields allows partial responses to be retrieved. See
  3103  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3104  // details.
  3105  func (c *ProjectsLocationsEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsListCall {
  3106  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3107  	return c
  3108  }
  3109  
  3110  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3111  // object's ETag matches the given value. This is useful for getting updates
  3112  // only after the object has changed since the last request.
  3113  func (c *ProjectsLocationsEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsListCall {
  3114  	c.ifNoneMatch_ = entityTag
  3115  	return c
  3116  }
  3117  
  3118  // Context sets the context to be used in this call's Do method.
  3119  func (c *ProjectsLocationsEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsListCall {
  3120  	c.ctx_ = ctx
  3121  	return c
  3122  }
  3123  
  3124  // Header returns a http.Header that can be modified by the caller to add
  3125  // headers to the request.
  3126  func (c *ProjectsLocationsEnvironmentsListCall) Header() http.Header {
  3127  	if c.header_ == nil {
  3128  		c.header_ = make(http.Header)
  3129  	}
  3130  	return c.header_
  3131  }
  3132  
  3133  func (c *ProjectsLocationsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
  3134  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3135  	if c.ifNoneMatch_ != "" {
  3136  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3137  	}
  3138  	var body io.Reader = nil
  3139  	c.urlParams_.Set("alt", alt)
  3140  	c.urlParams_.Set("prettyPrint", "false")
  3141  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/environments")
  3142  	urls += "?" + c.urlParams_.Encode()
  3143  	req, err := http.NewRequest("GET", urls, body)
  3144  	if err != nil {
  3145  		return nil, err
  3146  	}
  3147  	req.Header = reqHeaders
  3148  	googleapi.Expand(req.URL, map[string]string{
  3149  		"parent": c.parent,
  3150  	})
  3151  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3152  }
  3153  
  3154  // Do executes the "composer.projects.locations.environments.list" call.
  3155  // Any non-2xx status code is an error. Response headers are in either
  3156  // *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
  3157  // returned at all) in error.(*googleapi.Error).Header. Use
  3158  // googleapi.IsNotModified to check whether the returned error was because
  3159  // http.StatusNotModified was returned.
  3160  func (c *ProjectsLocationsEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
  3161  	gensupport.SetOptions(c.urlParams_, opts...)
  3162  	res, err := c.doRequest("json")
  3163  	if res != nil && res.StatusCode == http.StatusNotModified {
  3164  		if res.Body != nil {
  3165  			res.Body.Close()
  3166  		}
  3167  		return nil, gensupport.WrapError(&googleapi.Error{
  3168  			Code:   res.StatusCode,
  3169  			Header: res.Header,
  3170  		})
  3171  	}
  3172  	if err != nil {
  3173  		return nil, err
  3174  	}
  3175  	defer googleapi.CloseBody(res)
  3176  	if err := googleapi.CheckResponse(res); err != nil {
  3177  		return nil, gensupport.WrapError(err)
  3178  	}
  3179  	ret := &ListEnvironmentsResponse{
  3180  		ServerResponse: googleapi.ServerResponse{
  3181  			Header:         res.Header,
  3182  			HTTPStatusCode: res.StatusCode,
  3183  		},
  3184  	}
  3185  	target := &ret
  3186  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3187  		return nil, err
  3188  	}
  3189  	return ret, nil
  3190  }
  3191  
  3192  // Pages invokes f for each page of results.
  3193  // A non-nil error returned from f will halt the iteration.
  3194  // The provided context supersedes any context provided to the Context method.
  3195  func (c *ProjectsLocationsEnvironmentsListCall) Pages(ctx context.Context, f func(*ListEnvironmentsResponse) error) error {
  3196  	c.ctx_ = ctx
  3197  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3198  	for {
  3199  		x, err := c.Do()
  3200  		if err != nil {
  3201  			return err
  3202  		}
  3203  		if err := f(x); err != nil {
  3204  			return err
  3205  		}
  3206  		if x.NextPageToken == "" {
  3207  			return nil
  3208  		}
  3209  		c.PageToken(x.NextPageToken)
  3210  	}
  3211  }
  3212  
  3213  type ProjectsLocationsEnvironmentsLoadSnapshotCall struct {
  3214  	s                   *Service
  3215  	environment         string
  3216  	loadsnapshotrequest *LoadSnapshotRequest
  3217  	urlParams_          gensupport.URLParams
  3218  	ctx_                context.Context
  3219  	header_             http.Header
  3220  }
  3221  
  3222  // LoadSnapshot: Loads a snapshot of a Cloud Composer environment. As a result
  3223  // of this operation, a snapshot of environment's specified in
  3224  // LoadSnapshotRequest is loaded into the environment.
  3225  //
  3226  //   - environment: The resource name of the target environment in the form:
  3227  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3228  func (r *ProjectsLocationsEnvironmentsService) LoadSnapshot(environment string, loadsnapshotrequest *LoadSnapshotRequest) *ProjectsLocationsEnvironmentsLoadSnapshotCall {
  3229  	c := &ProjectsLocationsEnvironmentsLoadSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3230  	c.environment = environment
  3231  	c.loadsnapshotrequest = loadsnapshotrequest
  3232  	return c
  3233  }
  3234  
  3235  // Fields allows partial responses to be retrieved. See
  3236  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3237  // details.
  3238  func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsLoadSnapshotCall {
  3239  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3240  	return c
  3241  }
  3242  
  3243  // Context sets the context to be used in this call's Do method.
  3244  func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsLoadSnapshotCall {
  3245  	c.ctx_ = ctx
  3246  	return c
  3247  }
  3248  
  3249  // Header returns a http.Header that can be modified by the caller to add
  3250  // headers to the request.
  3251  func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) Header() http.Header {
  3252  	if c.header_ == nil {
  3253  		c.header_ = make(http.Header)
  3254  	}
  3255  	return c.header_
  3256  }
  3257  
  3258  func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) doRequest(alt string) (*http.Response, error) {
  3259  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3260  	var body io.Reader = nil
  3261  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.loadsnapshotrequest)
  3262  	if err != nil {
  3263  		return nil, err
  3264  	}
  3265  	c.urlParams_.Set("alt", alt)
  3266  	c.urlParams_.Set("prettyPrint", "false")
  3267  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:loadSnapshot")
  3268  	urls += "?" + c.urlParams_.Encode()
  3269  	req, err := http.NewRequest("POST", urls, body)
  3270  	if err != nil {
  3271  		return nil, err
  3272  	}
  3273  	req.Header = reqHeaders
  3274  	googleapi.Expand(req.URL, map[string]string{
  3275  		"environment": c.environment,
  3276  	})
  3277  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3278  }
  3279  
  3280  // Do executes the "composer.projects.locations.environments.loadSnapshot" call.
  3281  // Any non-2xx status code is an error. Response headers are in either
  3282  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3283  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3284  // whether the returned error was because http.StatusNotModified was returned.
  3285  func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3286  	gensupport.SetOptions(c.urlParams_, opts...)
  3287  	res, err := c.doRequest("json")
  3288  	if res != nil && res.StatusCode == http.StatusNotModified {
  3289  		if res.Body != nil {
  3290  			res.Body.Close()
  3291  		}
  3292  		return nil, gensupport.WrapError(&googleapi.Error{
  3293  			Code:   res.StatusCode,
  3294  			Header: res.Header,
  3295  		})
  3296  	}
  3297  	if err != nil {
  3298  		return nil, err
  3299  	}
  3300  	defer googleapi.CloseBody(res)
  3301  	if err := googleapi.CheckResponse(res); err != nil {
  3302  		return nil, gensupport.WrapError(err)
  3303  	}
  3304  	ret := &Operation{
  3305  		ServerResponse: googleapi.ServerResponse{
  3306  			Header:         res.Header,
  3307  			HTTPStatusCode: res.StatusCode,
  3308  		},
  3309  	}
  3310  	target := &ret
  3311  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3312  		return nil, err
  3313  	}
  3314  	return ret, nil
  3315  }
  3316  
  3317  type ProjectsLocationsEnvironmentsPatchCall struct {
  3318  	s           *Service
  3319  	name        string
  3320  	environment *Environment
  3321  	urlParams_  gensupport.URLParams
  3322  	ctx_        context.Context
  3323  	header_     http.Header
  3324  }
  3325  
  3326  // Patch: Update an environment.
  3327  //
  3328  //   - name: The relative resource name of the environment to update, in the
  3329  //     form:
  3330  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3331  func (r *ProjectsLocationsEnvironmentsService) Patch(name string, environment *Environment) *ProjectsLocationsEnvironmentsPatchCall {
  3332  	c := &ProjectsLocationsEnvironmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3333  	c.name = name
  3334  	c.environment = environment
  3335  	return c
  3336  }
  3337  
  3338  // UpdateMask sets the optional parameter "updateMask": Required. A
  3339  // comma-separated list of paths, relative to `Environment`, of fields to
  3340  // update. For example, to set the version of scikit-learn to install in the
  3341  // environment to 0.19.0 and to remove an existing installation of numpy, the
  3342  // `updateMask` parameter would include the following two `paths` values:
  3343  // "config.softwareConfig.pypiPackages.scikit-learn" and
  3344  // "config.softwareConfig.pypiPackages.numpy". The included patch environment
  3345  // would specify the scikit-learn version as follows: { "config":{
  3346  // "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note
  3347  // that in the above example, any existing PyPI packages other than
  3348  // scikit-learn and numpy will be unaffected. Only one update type may be
  3349  // included in a single request's `updateMask`. For example, one cannot update
  3350  // both the PyPI packages and labels in the same request. However, it is
  3351  // possible to update multiple members of a map field simultaneously in the
  3352  // same request. For example, to set the labels "label1" and "label2" while
  3353  // clearing "label3" (assuming it already exists), one can provide the paths
  3354  // "labels.label1", "labels.label2", and "labels.label3" and populate the patch
  3355  // environment as follows: { "labels":{ "label1":"new-label1-value"
  3356  // "label2":"new-label2-value" } } Note that in the above example, any existing
  3357  // labels that are not included in the `updateMask` will be unaffected. It is
  3358  // also possible to replace an entire map field by providing the map field's
  3359  // path in the `updateMask`. The new value of the field will be that which is
  3360  // provided in the patch environment. For example, to delete all pre-existing
  3361  // user-specified PyPI packages and install botocore at version 1.7.14, the
  3362  // `updateMask` would contain the path "config.softwareConfig.pypiPackages",
  3363  // and the patch environment would be the following: { "config":{
  3364  // "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:**
  3365  // Only the following fields can be updated: *
  3366  // `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI
  3367  // packages. If a replacement package map is not included in `environment`, all
  3368  // custom PyPI packages are cleared. It is an error to provide both this mask
  3369  // and a mask specifying an individual package. *
  3370  // `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI
  3371  // package *packagename*, preserving other packages. To delete the package,
  3372  // include it in `updateMask`, and omit the mapping for it in
  3373  // `environment.config.softwareConfig.pypiPackages`. It is an error to provide
  3374  // both a mask of this form and the `config.softwareConfig.pypiPackages` mask.
  3375  // * `labels` * Replace all environment labels. If a replacement labels map is
  3376  // not included in `environment`, all labels are cleared. It is an error to
  3377  // provide both this mask and a mask specifying one or more individual labels.
  3378  // * `labels.`labelName * Set the label named *labelName*, while preserving
  3379  // other labels. To delete the label, include it in `updateMask` and omit its
  3380  // mapping in `environment.labels`. It is an error to provide both a mask of
  3381  // this form and the `labels` mask. * `config.nodeCount` * Horizontally scale
  3382  // the number of nodes in the environment. An integer greater than or equal to
  3383  // 3 must be provided in the `config.nodeCount` field. Supported for Cloud
  3384  // Composer environments in versions composer-1.*.*-airflow-*.*.*. *
  3385  // `config.webServerNetworkAccessControl` * Replace the environment's current
  3386  // `WebServerNetworkAccessControl`. *
  3387  // `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow
  3388  // config overrides. If a replacement config overrides map is not included in
  3389  // `environment`, all config overrides are cleared. It is an error to provide
  3390  // both this mask and a mask specifying one or more individual config
  3391  // overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name *
  3392  // Override the Apache Airflow config property *name* in the section named
  3393  // *section*, preserving other properties. To delete the property override,
  3394  // include it in `updateMask` and omit its mapping in
  3395  // `environment.config.softwareConfig.airflowConfigOverrides`. It is an error
  3396  // to provide both a mask of this form and the
  3397  // `config.softwareConfig.airflowConfigOverrides` mask. *
  3398  // `config.softwareConfig.envVariables` * Replace all environment variables. If
  3399  // a replacement environment variable map is not included in `environment`, all
  3400  // custom environment variables are cleared. *
  3401  // `config.softwareConfig.schedulerCount` * Horizontally scale the number of
  3402  // schedulers in Airflow. A positive integer not greater than the number of
  3403  // nodes must be provided in the `config.softwareConfig.schedulerCount` field.
  3404  // Supported for Cloud Composer environments in versions
  3405  // composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud
  3406  // SQL machine type used by Airflow database. It has to be one of:
  3407  // db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16.
  3408  // Supported for Cloud Composer environments in versions
  3409  // composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` *
  3410  // Machine type on which Airflow web server is running. It has to be one of:
  3411  // composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8.
  3412  // Supported for Cloud Composer environments in versions
  3413  // composer-1.*.*-airflow-*.*.*.
  3414  func (c *ProjectsLocationsEnvironmentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEnvironmentsPatchCall {
  3415  	c.urlParams_.Set("updateMask", updateMask)
  3416  	return c
  3417  }
  3418  
  3419  // Fields allows partial responses to be retrieved. See
  3420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3421  // details.
  3422  func (c *ProjectsLocationsEnvironmentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsPatchCall {
  3423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3424  	return c
  3425  }
  3426  
  3427  // Context sets the context to be used in this call's Do method.
  3428  func (c *ProjectsLocationsEnvironmentsPatchCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsPatchCall {
  3429  	c.ctx_ = ctx
  3430  	return c
  3431  }
  3432  
  3433  // Header returns a http.Header that can be modified by the caller to add
  3434  // headers to the request.
  3435  func (c *ProjectsLocationsEnvironmentsPatchCall) Header() http.Header {
  3436  	if c.header_ == nil {
  3437  		c.header_ = make(http.Header)
  3438  	}
  3439  	return c.header_
  3440  }
  3441  
  3442  func (c *ProjectsLocationsEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
  3443  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3444  	var body io.Reader = nil
  3445  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  3446  	if err != nil {
  3447  		return nil, err
  3448  	}
  3449  	c.urlParams_.Set("alt", alt)
  3450  	c.urlParams_.Set("prettyPrint", "false")
  3451  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3452  	urls += "?" + c.urlParams_.Encode()
  3453  	req, err := http.NewRequest("PATCH", urls, body)
  3454  	if err != nil {
  3455  		return nil, err
  3456  	}
  3457  	req.Header = reqHeaders
  3458  	googleapi.Expand(req.URL, map[string]string{
  3459  		"name": c.name,
  3460  	})
  3461  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3462  }
  3463  
  3464  // Do executes the "composer.projects.locations.environments.patch" call.
  3465  // Any non-2xx status code is an error. Response headers are in either
  3466  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3467  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3468  // whether the returned error was because http.StatusNotModified was returned.
  3469  func (c *ProjectsLocationsEnvironmentsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3470  	gensupport.SetOptions(c.urlParams_, opts...)
  3471  	res, err := c.doRequest("json")
  3472  	if res != nil && res.StatusCode == http.StatusNotModified {
  3473  		if res.Body != nil {
  3474  			res.Body.Close()
  3475  		}
  3476  		return nil, gensupport.WrapError(&googleapi.Error{
  3477  			Code:   res.StatusCode,
  3478  			Header: res.Header,
  3479  		})
  3480  	}
  3481  	if err != nil {
  3482  		return nil, err
  3483  	}
  3484  	defer googleapi.CloseBody(res)
  3485  	if err := googleapi.CheckResponse(res); err != nil {
  3486  		return nil, gensupport.WrapError(err)
  3487  	}
  3488  	ret := &Operation{
  3489  		ServerResponse: googleapi.ServerResponse{
  3490  			Header:         res.Header,
  3491  			HTTPStatusCode: res.StatusCode,
  3492  		},
  3493  	}
  3494  	target := &ret
  3495  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3496  		return nil, err
  3497  	}
  3498  	return ret, nil
  3499  }
  3500  
  3501  type ProjectsLocationsEnvironmentsPollAirflowCommandCall struct {
  3502  	s                         *Service
  3503  	environment               string
  3504  	pollairflowcommandrequest *PollAirflowCommandRequest
  3505  	urlParams_                gensupport.URLParams
  3506  	ctx_                      context.Context
  3507  	header_                   http.Header
  3508  }
  3509  
  3510  // PollAirflowCommand: Polls Airflow CLI command execution and fetches logs.
  3511  //
  3512  //   - environment: The resource name of the environment in the form:
  3513  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3514  func (r *ProjectsLocationsEnvironmentsService) PollAirflowCommand(environment string, pollairflowcommandrequest *PollAirflowCommandRequest) *ProjectsLocationsEnvironmentsPollAirflowCommandCall {
  3515  	c := &ProjectsLocationsEnvironmentsPollAirflowCommandCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3516  	c.environment = environment
  3517  	c.pollairflowcommandrequest = pollairflowcommandrequest
  3518  	return c
  3519  }
  3520  
  3521  // Fields allows partial responses to be retrieved. See
  3522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3523  // details.
  3524  func (c *ProjectsLocationsEnvironmentsPollAirflowCommandCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsPollAirflowCommandCall {
  3525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3526  	return c
  3527  }
  3528  
  3529  // Context sets the context to be used in this call's Do method.
  3530  func (c *ProjectsLocationsEnvironmentsPollAirflowCommandCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsPollAirflowCommandCall {
  3531  	c.ctx_ = ctx
  3532  	return c
  3533  }
  3534  
  3535  // Header returns a http.Header that can be modified by the caller to add
  3536  // headers to the request.
  3537  func (c *ProjectsLocationsEnvironmentsPollAirflowCommandCall) Header() http.Header {
  3538  	if c.header_ == nil {
  3539  		c.header_ = make(http.Header)
  3540  	}
  3541  	return c.header_
  3542  }
  3543  
  3544  func (c *ProjectsLocationsEnvironmentsPollAirflowCommandCall) doRequest(alt string) (*http.Response, error) {
  3545  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3546  	var body io.Reader = nil
  3547  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.pollairflowcommandrequest)
  3548  	if err != nil {
  3549  		return nil, err
  3550  	}
  3551  	c.urlParams_.Set("alt", alt)
  3552  	c.urlParams_.Set("prettyPrint", "false")
  3553  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:pollAirflowCommand")
  3554  	urls += "?" + c.urlParams_.Encode()
  3555  	req, err := http.NewRequest("POST", urls, body)
  3556  	if err != nil {
  3557  		return nil, err
  3558  	}
  3559  	req.Header = reqHeaders
  3560  	googleapi.Expand(req.URL, map[string]string{
  3561  		"environment": c.environment,
  3562  	})
  3563  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3564  }
  3565  
  3566  // Do executes the "composer.projects.locations.environments.pollAirflowCommand" call.
  3567  // Any non-2xx status code is an error. Response headers are in either
  3568  // *PollAirflowCommandResponse.ServerResponse.Header or (if a response was
  3569  // returned at all) in error.(*googleapi.Error).Header. Use
  3570  // googleapi.IsNotModified to check whether the returned error was because
  3571  // http.StatusNotModified was returned.
  3572  func (c *ProjectsLocationsEnvironmentsPollAirflowCommandCall) Do(opts ...googleapi.CallOption) (*PollAirflowCommandResponse, error) {
  3573  	gensupport.SetOptions(c.urlParams_, opts...)
  3574  	res, err := c.doRequest("json")
  3575  	if res != nil && res.StatusCode == http.StatusNotModified {
  3576  		if res.Body != nil {
  3577  			res.Body.Close()
  3578  		}
  3579  		return nil, gensupport.WrapError(&googleapi.Error{
  3580  			Code:   res.StatusCode,
  3581  			Header: res.Header,
  3582  		})
  3583  	}
  3584  	if err != nil {
  3585  		return nil, err
  3586  	}
  3587  	defer googleapi.CloseBody(res)
  3588  	if err := googleapi.CheckResponse(res); err != nil {
  3589  		return nil, gensupport.WrapError(err)
  3590  	}
  3591  	ret := &PollAirflowCommandResponse{
  3592  		ServerResponse: googleapi.ServerResponse{
  3593  			Header:         res.Header,
  3594  			HTTPStatusCode: res.StatusCode,
  3595  		},
  3596  	}
  3597  	target := &ret
  3598  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3599  		return nil, err
  3600  	}
  3601  	return ret, nil
  3602  }
  3603  
  3604  type ProjectsLocationsEnvironmentsSaveSnapshotCall struct {
  3605  	s                   *Service
  3606  	environment         string
  3607  	savesnapshotrequest *SaveSnapshotRequest
  3608  	urlParams_          gensupport.URLParams
  3609  	ctx_                context.Context
  3610  	header_             http.Header
  3611  }
  3612  
  3613  // SaveSnapshot: Creates a snapshots of a Cloud Composer environment. As a
  3614  // result of this operation, snapshot of environment's state is stored in a
  3615  // location specified in the SaveSnapshotRequest.
  3616  //
  3617  //   - environment: The resource name of the source environment in the form:
  3618  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3619  func (r *ProjectsLocationsEnvironmentsService) SaveSnapshot(environment string, savesnapshotrequest *SaveSnapshotRequest) *ProjectsLocationsEnvironmentsSaveSnapshotCall {
  3620  	c := &ProjectsLocationsEnvironmentsSaveSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3621  	c.environment = environment
  3622  	c.savesnapshotrequest = savesnapshotrequest
  3623  	return c
  3624  }
  3625  
  3626  // Fields allows partial responses to be retrieved. See
  3627  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3628  // details.
  3629  func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsSaveSnapshotCall {
  3630  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3631  	return c
  3632  }
  3633  
  3634  // Context sets the context to be used in this call's Do method.
  3635  func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsSaveSnapshotCall {
  3636  	c.ctx_ = ctx
  3637  	return c
  3638  }
  3639  
  3640  // Header returns a http.Header that can be modified by the caller to add
  3641  // headers to the request.
  3642  func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) Header() http.Header {
  3643  	if c.header_ == nil {
  3644  		c.header_ = make(http.Header)
  3645  	}
  3646  	return c.header_
  3647  }
  3648  
  3649  func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) doRequest(alt string) (*http.Response, error) {
  3650  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3651  	var body io.Reader = nil
  3652  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.savesnapshotrequest)
  3653  	if err != nil {
  3654  		return nil, err
  3655  	}
  3656  	c.urlParams_.Set("alt", alt)
  3657  	c.urlParams_.Set("prettyPrint", "false")
  3658  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:saveSnapshot")
  3659  	urls += "?" + c.urlParams_.Encode()
  3660  	req, err := http.NewRequest("POST", urls, body)
  3661  	if err != nil {
  3662  		return nil, err
  3663  	}
  3664  	req.Header = reqHeaders
  3665  	googleapi.Expand(req.URL, map[string]string{
  3666  		"environment": c.environment,
  3667  	})
  3668  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3669  }
  3670  
  3671  // Do executes the "composer.projects.locations.environments.saveSnapshot" call.
  3672  // Any non-2xx status code is an error. Response headers are in either
  3673  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3674  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3675  // whether the returned error was because http.StatusNotModified was returned.
  3676  func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3677  	gensupport.SetOptions(c.urlParams_, opts...)
  3678  	res, err := c.doRequest("json")
  3679  	if res != nil && res.StatusCode == http.StatusNotModified {
  3680  		if res.Body != nil {
  3681  			res.Body.Close()
  3682  		}
  3683  		return nil, gensupport.WrapError(&googleapi.Error{
  3684  			Code:   res.StatusCode,
  3685  			Header: res.Header,
  3686  		})
  3687  	}
  3688  	if err != nil {
  3689  		return nil, err
  3690  	}
  3691  	defer googleapi.CloseBody(res)
  3692  	if err := googleapi.CheckResponse(res); err != nil {
  3693  		return nil, gensupport.WrapError(err)
  3694  	}
  3695  	ret := &Operation{
  3696  		ServerResponse: googleapi.ServerResponse{
  3697  			Header:         res.Header,
  3698  			HTTPStatusCode: res.StatusCode,
  3699  		},
  3700  	}
  3701  	target := &ret
  3702  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3703  		return nil, err
  3704  	}
  3705  	return ret, nil
  3706  }
  3707  
  3708  type ProjectsLocationsEnvironmentsStopAirflowCommandCall struct {
  3709  	s                         *Service
  3710  	environment               string
  3711  	stopairflowcommandrequest *StopAirflowCommandRequest
  3712  	urlParams_                gensupport.URLParams
  3713  	ctx_                      context.Context
  3714  	header_                   http.Header
  3715  }
  3716  
  3717  // StopAirflowCommand: Stops Airflow CLI command execution.
  3718  //
  3719  //   - environment: The resource name of the environment in the form:
  3720  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3721  func (r *ProjectsLocationsEnvironmentsService) StopAirflowCommand(environment string, stopairflowcommandrequest *StopAirflowCommandRequest) *ProjectsLocationsEnvironmentsStopAirflowCommandCall {
  3722  	c := &ProjectsLocationsEnvironmentsStopAirflowCommandCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3723  	c.environment = environment
  3724  	c.stopairflowcommandrequest = stopairflowcommandrequest
  3725  	return c
  3726  }
  3727  
  3728  // Fields allows partial responses to be retrieved. See
  3729  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3730  // details.
  3731  func (c *ProjectsLocationsEnvironmentsStopAirflowCommandCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsStopAirflowCommandCall {
  3732  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3733  	return c
  3734  }
  3735  
  3736  // Context sets the context to be used in this call's Do method.
  3737  func (c *ProjectsLocationsEnvironmentsStopAirflowCommandCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsStopAirflowCommandCall {
  3738  	c.ctx_ = ctx
  3739  	return c
  3740  }
  3741  
  3742  // Header returns a http.Header that can be modified by the caller to add
  3743  // headers to the request.
  3744  func (c *ProjectsLocationsEnvironmentsStopAirflowCommandCall) Header() http.Header {
  3745  	if c.header_ == nil {
  3746  		c.header_ = make(http.Header)
  3747  	}
  3748  	return c.header_
  3749  }
  3750  
  3751  func (c *ProjectsLocationsEnvironmentsStopAirflowCommandCall) doRequest(alt string) (*http.Response, error) {
  3752  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3753  	var body io.Reader = nil
  3754  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.stopairflowcommandrequest)
  3755  	if err != nil {
  3756  		return nil, err
  3757  	}
  3758  	c.urlParams_.Set("alt", alt)
  3759  	c.urlParams_.Set("prettyPrint", "false")
  3760  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+environment}:stopAirflowCommand")
  3761  	urls += "?" + c.urlParams_.Encode()
  3762  	req, err := http.NewRequest("POST", urls, body)
  3763  	if err != nil {
  3764  		return nil, err
  3765  	}
  3766  	req.Header = reqHeaders
  3767  	googleapi.Expand(req.URL, map[string]string{
  3768  		"environment": c.environment,
  3769  	})
  3770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3771  }
  3772  
  3773  // Do executes the "composer.projects.locations.environments.stopAirflowCommand" call.
  3774  // Any non-2xx status code is an error. Response headers are in either
  3775  // *StopAirflowCommandResponse.ServerResponse.Header or (if a response was
  3776  // returned at all) in error.(*googleapi.Error).Header. Use
  3777  // googleapi.IsNotModified to check whether the returned error was because
  3778  // http.StatusNotModified was returned.
  3779  func (c *ProjectsLocationsEnvironmentsStopAirflowCommandCall) Do(opts ...googleapi.CallOption) (*StopAirflowCommandResponse, error) {
  3780  	gensupport.SetOptions(c.urlParams_, opts...)
  3781  	res, err := c.doRequest("json")
  3782  	if res != nil && res.StatusCode == http.StatusNotModified {
  3783  		if res.Body != nil {
  3784  			res.Body.Close()
  3785  		}
  3786  		return nil, gensupport.WrapError(&googleapi.Error{
  3787  			Code:   res.StatusCode,
  3788  			Header: res.Header,
  3789  		})
  3790  	}
  3791  	if err != nil {
  3792  		return nil, err
  3793  	}
  3794  	defer googleapi.CloseBody(res)
  3795  	if err := googleapi.CheckResponse(res); err != nil {
  3796  		return nil, gensupport.WrapError(err)
  3797  	}
  3798  	ret := &StopAirflowCommandResponse{
  3799  		ServerResponse: googleapi.ServerResponse{
  3800  			Header:         res.Header,
  3801  			HTTPStatusCode: res.StatusCode,
  3802  		},
  3803  	}
  3804  	target := &ret
  3805  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3806  		return nil, err
  3807  	}
  3808  	return ret, nil
  3809  }
  3810  
  3811  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall struct {
  3812  	s                      *Service
  3813  	parent                 string
  3814  	userworkloadsconfigmap *UserWorkloadsConfigMap
  3815  	urlParams_             gensupport.URLParams
  3816  	ctx_                   context.Context
  3817  	header_                http.Header
  3818  }
  3819  
  3820  // Create: Creates a user workloads ConfigMap. This method is supported for
  3821  // Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and
  3822  // newer.
  3823  //
  3824  //   - parent: The environment name to create a ConfigMap for, in the form:
  3825  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  3826  func (r *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService) Create(parent string, userworkloadsconfigmap *UserWorkloadsConfigMap) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall {
  3827  	c := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3828  	c.parent = parent
  3829  	c.userworkloadsconfigmap = userworkloadsconfigmap
  3830  	return c
  3831  }
  3832  
  3833  // Fields allows partial responses to be retrieved. See
  3834  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3835  // details.
  3836  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall {
  3837  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3838  	return c
  3839  }
  3840  
  3841  // Context sets the context to be used in this call's Do method.
  3842  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall {
  3843  	c.ctx_ = ctx
  3844  	return c
  3845  }
  3846  
  3847  // Header returns a http.Header that can be modified by the caller to add
  3848  // headers to the request.
  3849  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall) Header() http.Header {
  3850  	if c.header_ == nil {
  3851  		c.header_ = make(http.Header)
  3852  	}
  3853  	return c.header_
  3854  }
  3855  
  3856  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall) doRequest(alt string) (*http.Response, error) {
  3857  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3858  	var body io.Reader = nil
  3859  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userworkloadsconfigmap)
  3860  	if err != nil {
  3861  		return nil, err
  3862  	}
  3863  	c.urlParams_.Set("alt", alt)
  3864  	c.urlParams_.Set("prettyPrint", "false")
  3865  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userWorkloadsConfigMaps")
  3866  	urls += "?" + c.urlParams_.Encode()
  3867  	req, err := http.NewRequest("POST", urls, body)
  3868  	if err != nil {
  3869  		return nil, err
  3870  	}
  3871  	req.Header = reqHeaders
  3872  	googleapi.Expand(req.URL, map[string]string{
  3873  		"parent": c.parent,
  3874  	})
  3875  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3876  }
  3877  
  3878  // Do executes the "composer.projects.locations.environments.userWorkloadsConfigMaps.create" call.
  3879  // Any non-2xx status code is an error. Response headers are in either
  3880  // *UserWorkloadsConfigMap.ServerResponse.Header or (if a response was returned
  3881  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3882  // check whether the returned error was because http.StatusNotModified was
  3883  // returned.
  3884  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsCreateCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsConfigMap, error) {
  3885  	gensupport.SetOptions(c.urlParams_, opts...)
  3886  	res, err := c.doRequest("json")
  3887  	if res != nil && res.StatusCode == http.StatusNotModified {
  3888  		if res.Body != nil {
  3889  			res.Body.Close()
  3890  		}
  3891  		return nil, gensupport.WrapError(&googleapi.Error{
  3892  			Code:   res.StatusCode,
  3893  			Header: res.Header,
  3894  		})
  3895  	}
  3896  	if err != nil {
  3897  		return nil, err
  3898  	}
  3899  	defer googleapi.CloseBody(res)
  3900  	if err := googleapi.CheckResponse(res); err != nil {
  3901  		return nil, gensupport.WrapError(err)
  3902  	}
  3903  	ret := &UserWorkloadsConfigMap{
  3904  		ServerResponse: googleapi.ServerResponse{
  3905  			Header:         res.Header,
  3906  			HTTPStatusCode: res.StatusCode,
  3907  		},
  3908  	}
  3909  	target := &ret
  3910  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3911  		return nil, err
  3912  	}
  3913  	return ret, nil
  3914  }
  3915  
  3916  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall struct {
  3917  	s          *Service
  3918  	name       string
  3919  	urlParams_ gensupport.URLParams
  3920  	ctx_       context.Context
  3921  	header_    http.Header
  3922  }
  3923  
  3924  // Delete: Deletes a user workloads ConfigMap. This method is supported for
  3925  // Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and
  3926  // newer.
  3927  //
  3928  //   - name: The ConfigMap to delete, in the form:
  3929  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  3930  //     serWorkloadsConfigMaps/{userWorkloadsConfigMapId}".
  3931  func (r *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService) Delete(name string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall {
  3932  	c := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3933  	c.name = name
  3934  	return c
  3935  }
  3936  
  3937  // Fields allows partial responses to be retrieved. See
  3938  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3939  // details.
  3940  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall {
  3941  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3942  	return c
  3943  }
  3944  
  3945  // Context sets the context to be used in this call's Do method.
  3946  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall {
  3947  	c.ctx_ = ctx
  3948  	return c
  3949  }
  3950  
  3951  // Header returns a http.Header that can be modified by the caller to add
  3952  // headers to the request.
  3953  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall) Header() http.Header {
  3954  	if c.header_ == nil {
  3955  		c.header_ = make(http.Header)
  3956  	}
  3957  	return c.header_
  3958  }
  3959  
  3960  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
  3961  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3962  	var body io.Reader = nil
  3963  	c.urlParams_.Set("alt", alt)
  3964  	c.urlParams_.Set("prettyPrint", "false")
  3965  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3966  	urls += "?" + c.urlParams_.Encode()
  3967  	req, err := http.NewRequest("DELETE", urls, body)
  3968  	if err != nil {
  3969  		return nil, err
  3970  	}
  3971  	req.Header = reqHeaders
  3972  	googleapi.Expand(req.URL, map[string]string{
  3973  		"name": c.name,
  3974  	})
  3975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3976  }
  3977  
  3978  // Do executes the "composer.projects.locations.environments.userWorkloadsConfigMaps.delete" call.
  3979  // Any non-2xx status code is an error. Response headers are in either
  3980  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  3981  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3982  // whether the returned error was because http.StatusNotModified was returned.
  3983  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  3984  	gensupport.SetOptions(c.urlParams_, opts...)
  3985  	res, err := c.doRequest("json")
  3986  	if res != nil && res.StatusCode == http.StatusNotModified {
  3987  		if res.Body != nil {
  3988  			res.Body.Close()
  3989  		}
  3990  		return nil, gensupport.WrapError(&googleapi.Error{
  3991  			Code:   res.StatusCode,
  3992  			Header: res.Header,
  3993  		})
  3994  	}
  3995  	if err != nil {
  3996  		return nil, err
  3997  	}
  3998  	defer googleapi.CloseBody(res)
  3999  	if err := googleapi.CheckResponse(res); err != nil {
  4000  		return nil, gensupport.WrapError(err)
  4001  	}
  4002  	ret := &Empty{
  4003  		ServerResponse: googleapi.ServerResponse{
  4004  			Header:         res.Header,
  4005  			HTTPStatusCode: res.StatusCode,
  4006  		},
  4007  	}
  4008  	target := &ret
  4009  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4010  		return nil, err
  4011  	}
  4012  	return ret, nil
  4013  }
  4014  
  4015  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall struct {
  4016  	s            *Service
  4017  	name         string
  4018  	urlParams_   gensupport.URLParams
  4019  	ifNoneMatch_ string
  4020  	ctx_         context.Context
  4021  	header_      http.Header
  4022  }
  4023  
  4024  // Get: Gets an existing user workloads ConfigMap. This method is supported for
  4025  // Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and
  4026  // newer.
  4027  //
  4028  //   - name: The resource name of the ConfigMap to get, in the form:
  4029  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  4030  //     serWorkloadsConfigMaps/{userWorkloadsConfigMapId}".
  4031  func (r *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService) Get(name string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall {
  4032  	c := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4033  	c.name = name
  4034  	return c
  4035  }
  4036  
  4037  // Fields allows partial responses to be retrieved. See
  4038  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4039  // details.
  4040  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall {
  4041  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4042  	return c
  4043  }
  4044  
  4045  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4046  // object's ETag matches the given value. This is useful for getting updates
  4047  // only after the object has changed since the last request.
  4048  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall {
  4049  	c.ifNoneMatch_ = entityTag
  4050  	return c
  4051  }
  4052  
  4053  // Context sets the context to be used in this call's Do method.
  4054  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall {
  4055  	c.ctx_ = ctx
  4056  	return c
  4057  }
  4058  
  4059  // Header returns a http.Header that can be modified by the caller to add
  4060  // headers to the request.
  4061  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) Header() http.Header {
  4062  	if c.header_ == nil {
  4063  		c.header_ = make(http.Header)
  4064  	}
  4065  	return c.header_
  4066  }
  4067  
  4068  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) doRequest(alt string) (*http.Response, error) {
  4069  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4070  	if c.ifNoneMatch_ != "" {
  4071  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4072  	}
  4073  	var body io.Reader = nil
  4074  	c.urlParams_.Set("alt", alt)
  4075  	c.urlParams_.Set("prettyPrint", "false")
  4076  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4077  	urls += "?" + c.urlParams_.Encode()
  4078  	req, err := http.NewRequest("GET", urls, body)
  4079  	if err != nil {
  4080  		return nil, err
  4081  	}
  4082  	req.Header = reqHeaders
  4083  	googleapi.Expand(req.URL, map[string]string{
  4084  		"name": c.name,
  4085  	})
  4086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4087  }
  4088  
  4089  // Do executes the "composer.projects.locations.environments.userWorkloadsConfigMaps.get" call.
  4090  // Any non-2xx status code is an error. Response headers are in either
  4091  // *UserWorkloadsConfigMap.ServerResponse.Header or (if a response was returned
  4092  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4093  // check whether the returned error was because http.StatusNotModified was
  4094  // returned.
  4095  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsGetCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsConfigMap, error) {
  4096  	gensupport.SetOptions(c.urlParams_, opts...)
  4097  	res, err := c.doRequest("json")
  4098  	if res != nil && res.StatusCode == http.StatusNotModified {
  4099  		if res.Body != nil {
  4100  			res.Body.Close()
  4101  		}
  4102  		return nil, gensupport.WrapError(&googleapi.Error{
  4103  			Code:   res.StatusCode,
  4104  			Header: res.Header,
  4105  		})
  4106  	}
  4107  	if err != nil {
  4108  		return nil, err
  4109  	}
  4110  	defer googleapi.CloseBody(res)
  4111  	if err := googleapi.CheckResponse(res); err != nil {
  4112  		return nil, gensupport.WrapError(err)
  4113  	}
  4114  	ret := &UserWorkloadsConfigMap{
  4115  		ServerResponse: googleapi.ServerResponse{
  4116  			Header:         res.Header,
  4117  			HTTPStatusCode: res.StatusCode,
  4118  		},
  4119  	}
  4120  	target := &ret
  4121  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4122  		return nil, err
  4123  	}
  4124  	return ret, nil
  4125  }
  4126  
  4127  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall struct {
  4128  	s            *Service
  4129  	parent       string
  4130  	urlParams_   gensupport.URLParams
  4131  	ifNoneMatch_ string
  4132  	ctx_         context.Context
  4133  	header_      http.Header
  4134  }
  4135  
  4136  // List: Lists user workloads ConfigMaps. This method is supported for Cloud
  4137  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4138  //
  4139  //   - parent: List ConfigMaps in the given environment, in the form:
  4140  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  4141  func (r *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService) List(parent string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4142  	c := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4143  	c.parent = parent
  4144  	return c
  4145  }
  4146  
  4147  // PageSize sets the optional parameter "pageSize": The maximum number of
  4148  // ConfigMaps to return.
  4149  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) PageSize(pageSize int64) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4150  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4151  	return c
  4152  }
  4153  
  4154  // PageToken sets the optional parameter "pageToken": The next_page_token value
  4155  // returned from a previous List request, if any.
  4156  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) PageToken(pageToken string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4157  	c.urlParams_.Set("pageToken", pageToken)
  4158  	return c
  4159  }
  4160  
  4161  // Fields allows partial responses to be retrieved. See
  4162  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4163  // details.
  4164  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4165  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4166  	return c
  4167  }
  4168  
  4169  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4170  // object's ETag matches the given value. This is useful for getting updates
  4171  // only after the object has changed since the last request.
  4172  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4173  	c.ifNoneMatch_ = entityTag
  4174  	return c
  4175  }
  4176  
  4177  // Context sets the context to be used in this call's Do method.
  4178  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall {
  4179  	c.ctx_ = ctx
  4180  	return c
  4181  }
  4182  
  4183  // Header returns a http.Header that can be modified by the caller to add
  4184  // headers to the request.
  4185  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) Header() http.Header {
  4186  	if c.header_ == nil {
  4187  		c.header_ = make(http.Header)
  4188  	}
  4189  	return c.header_
  4190  }
  4191  
  4192  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) doRequest(alt string) (*http.Response, error) {
  4193  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4194  	if c.ifNoneMatch_ != "" {
  4195  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4196  	}
  4197  	var body io.Reader = nil
  4198  	c.urlParams_.Set("alt", alt)
  4199  	c.urlParams_.Set("prettyPrint", "false")
  4200  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userWorkloadsConfigMaps")
  4201  	urls += "?" + c.urlParams_.Encode()
  4202  	req, err := http.NewRequest("GET", urls, body)
  4203  	if err != nil {
  4204  		return nil, err
  4205  	}
  4206  	req.Header = reqHeaders
  4207  	googleapi.Expand(req.URL, map[string]string{
  4208  		"parent": c.parent,
  4209  	})
  4210  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4211  }
  4212  
  4213  // Do executes the "composer.projects.locations.environments.userWorkloadsConfigMaps.list" call.
  4214  // Any non-2xx status code is an error. Response headers are in either
  4215  // *ListUserWorkloadsConfigMapsResponse.ServerResponse.Header or (if a response
  4216  // was returned at all) in error.(*googleapi.Error).Header. Use
  4217  // googleapi.IsNotModified to check whether the returned error was because
  4218  // http.StatusNotModified was returned.
  4219  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) Do(opts ...googleapi.CallOption) (*ListUserWorkloadsConfigMapsResponse, error) {
  4220  	gensupport.SetOptions(c.urlParams_, opts...)
  4221  	res, err := c.doRequest("json")
  4222  	if res != nil && res.StatusCode == http.StatusNotModified {
  4223  		if res.Body != nil {
  4224  			res.Body.Close()
  4225  		}
  4226  		return nil, gensupport.WrapError(&googleapi.Error{
  4227  			Code:   res.StatusCode,
  4228  			Header: res.Header,
  4229  		})
  4230  	}
  4231  	if err != nil {
  4232  		return nil, err
  4233  	}
  4234  	defer googleapi.CloseBody(res)
  4235  	if err := googleapi.CheckResponse(res); err != nil {
  4236  		return nil, gensupport.WrapError(err)
  4237  	}
  4238  	ret := &ListUserWorkloadsConfigMapsResponse{
  4239  		ServerResponse: googleapi.ServerResponse{
  4240  			Header:         res.Header,
  4241  			HTTPStatusCode: res.StatusCode,
  4242  		},
  4243  	}
  4244  	target := &ret
  4245  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4246  		return nil, err
  4247  	}
  4248  	return ret, nil
  4249  }
  4250  
  4251  // Pages invokes f for each page of results.
  4252  // A non-nil error returned from f will halt the iteration.
  4253  // The provided context supersedes any context provided to the Context method.
  4254  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsListCall) Pages(ctx context.Context, f func(*ListUserWorkloadsConfigMapsResponse) error) error {
  4255  	c.ctx_ = ctx
  4256  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4257  	for {
  4258  		x, err := c.Do()
  4259  		if err != nil {
  4260  			return err
  4261  		}
  4262  		if err := f(x); err != nil {
  4263  			return err
  4264  		}
  4265  		if x.NextPageToken == "" {
  4266  			return nil
  4267  		}
  4268  		c.PageToken(x.NextPageToken)
  4269  	}
  4270  }
  4271  
  4272  type ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall struct {
  4273  	s                      *Service
  4274  	name                   string
  4275  	userworkloadsconfigmap *UserWorkloadsConfigMap
  4276  	urlParams_             gensupport.URLParams
  4277  	ctx_                   context.Context
  4278  	header_                http.Header
  4279  }
  4280  
  4281  // Update: Updates a user workloads ConfigMap. This method is supported for
  4282  // Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and
  4283  // newer.
  4284  //
  4285  //   - name: Identifier. The resource name of the ConfigMap, in the form:
  4286  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  4287  //     serWorkloadsConfigMaps/{userWorkloadsConfigMapId}".
  4288  func (r *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsService) Update(name string, userworkloadsconfigmap *UserWorkloadsConfigMap) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall {
  4289  	c := &ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4290  	c.name = name
  4291  	c.userworkloadsconfigmap = userworkloadsconfigmap
  4292  	return c
  4293  }
  4294  
  4295  // Fields allows partial responses to be retrieved. See
  4296  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4297  // details.
  4298  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall {
  4299  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4300  	return c
  4301  }
  4302  
  4303  // Context sets the context to be used in this call's Do method.
  4304  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall {
  4305  	c.ctx_ = ctx
  4306  	return c
  4307  }
  4308  
  4309  // Header returns a http.Header that can be modified by the caller to add
  4310  // headers to the request.
  4311  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall) Header() http.Header {
  4312  	if c.header_ == nil {
  4313  		c.header_ = make(http.Header)
  4314  	}
  4315  	return c.header_
  4316  }
  4317  
  4318  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
  4319  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4320  	var body io.Reader = nil
  4321  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userworkloadsconfigmap)
  4322  	if err != nil {
  4323  		return nil, err
  4324  	}
  4325  	c.urlParams_.Set("alt", alt)
  4326  	c.urlParams_.Set("prettyPrint", "false")
  4327  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4328  	urls += "?" + c.urlParams_.Encode()
  4329  	req, err := http.NewRequest("PUT", urls, body)
  4330  	if err != nil {
  4331  		return nil, err
  4332  	}
  4333  	req.Header = reqHeaders
  4334  	googleapi.Expand(req.URL, map[string]string{
  4335  		"name": c.name,
  4336  	})
  4337  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4338  }
  4339  
  4340  // Do executes the "composer.projects.locations.environments.userWorkloadsConfigMaps.update" call.
  4341  // Any non-2xx status code is an error. Response headers are in either
  4342  // *UserWorkloadsConfigMap.ServerResponse.Header or (if a response was returned
  4343  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4344  // check whether the returned error was because http.StatusNotModified was
  4345  // returned.
  4346  func (c *ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsUpdateCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsConfigMap, error) {
  4347  	gensupport.SetOptions(c.urlParams_, opts...)
  4348  	res, err := c.doRequest("json")
  4349  	if res != nil && res.StatusCode == http.StatusNotModified {
  4350  		if res.Body != nil {
  4351  			res.Body.Close()
  4352  		}
  4353  		return nil, gensupport.WrapError(&googleapi.Error{
  4354  			Code:   res.StatusCode,
  4355  			Header: res.Header,
  4356  		})
  4357  	}
  4358  	if err != nil {
  4359  		return nil, err
  4360  	}
  4361  	defer googleapi.CloseBody(res)
  4362  	if err := googleapi.CheckResponse(res); err != nil {
  4363  		return nil, gensupport.WrapError(err)
  4364  	}
  4365  	ret := &UserWorkloadsConfigMap{
  4366  		ServerResponse: googleapi.ServerResponse{
  4367  			Header:         res.Header,
  4368  			HTTPStatusCode: res.StatusCode,
  4369  		},
  4370  	}
  4371  	target := &ret
  4372  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4373  		return nil, err
  4374  	}
  4375  	return ret, nil
  4376  }
  4377  
  4378  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall struct {
  4379  	s                   *Service
  4380  	parent              string
  4381  	userworkloadssecret *UserWorkloadsSecret
  4382  	urlParams_          gensupport.URLParams
  4383  	ctx_                context.Context
  4384  	header_             http.Header
  4385  }
  4386  
  4387  // Create: Creates a user workloads Secret. This method is supported for Cloud
  4388  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4389  //
  4390  //   - parent: The environment name to create a Secret for, in the form:
  4391  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  4392  func (r *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService) Create(parent string, userworkloadssecret *UserWorkloadsSecret) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall {
  4393  	c := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4394  	c.parent = parent
  4395  	c.userworkloadssecret = userworkloadssecret
  4396  	return c
  4397  }
  4398  
  4399  // Fields allows partial responses to be retrieved. See
  4400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4401  // details.
  4402  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall {
  4403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4404  	return c
  4405  }
  4406  
  4407  // Context sets the context to be used in this call's Do method.
  4408  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall {
  4409  	c.ctx_ = ctx
  4410  	return c
  4411  }
  4412  
  4413  // Header returns a http.Header that can be modified by the caller to add
  4414  // headers to the request.
  4415  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall) Header() http.Header {
  4416  	if c.header_ == nil {
  4417  		c.header_ = make(http.Header)
  4418  	}
  4419  	return c.header_
  4420  }
  4421  
  4422  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall) doRequest(alt string) (*http.Response, error) {
  4423  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4424  	var body io.Reader = nil
  4425  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userworkloadssecret)
  4426  	if err != nil {
  4427  		return nil, err
  4428  	}
  4429  	c.urlParams_.Set("alt", alt)
  4430  	c.urlParams_.Set("prettyPrint", "false")
  4431  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userWorkloadsSecrets")
  4432  	urls += "?" + c.urlParams_.Encode()
  4433  	req, err := http.NewRequest("POST", urls, body)
  4434  	if err != nil {
  4435  		return nil, err
  4436  	}
  4437  	req.Header = reqHeaders
  4438  	googleapi.Expand(req.URL, map[string]string{
  4439  		"parent": c.parent,
  4440  	})
  4441  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4442  }
  4443  
  4444  // Do executes the "composer.projects.locations.environments.userWorkloadsSecrets.create" call.
  4445  // Any non-2xx status code is an error. Response headers are in either
  4446  // *UserWorkloadsSecret.ServerResponse.Header or (if a response was returned at
  4447  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4448  // check whether the returned error was because http.StatusNotModified was
  4449  // returned.
  4450  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsCreateCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsSecret, error) {
  4451  	gensupport.SetOptions(c.urlParams_, opts...)
  4452  	res, err := c.doRequest("json")
  4453  	if res != nil && res.StatusCode == http.StatusNotModified {
  4454  		if res.Body != nil {
  4455  			res.Body.Close()
  4456  		}
  4457  		return nil, gensupport.WrapError(&googleapi.Error{
  4458  			Code:   res.StatusCode,
  4459  			Header: res.Header,
  4460  		})
  4461  	}
  4462  	if err != nil {
  4463  		return nil, err
  4464  	}
  4465  	defer googleapi.CloseBody(res)
  4466  	if err := googleapi.CheckResponse(res); err != nil {
  4467  		return nil, gensupport.WrapError(err)
  4468  	}
  4469  	ret := &UserWorkloadsSecret{
  4470  		ServerResponse: googleapi.ServerResponse{
  4471  			Header:         res.Header,
  4472  			HTTPStatusCode: res.StatusCode,
  4473  		},
  4474  	}
  4475  	target := &ret
  4476  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4477  		return nil, err
  4478  	}
  4479  	return ret, nil
  4480  }
  4481  
  4482  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall struct {
  4483  	s          *Service
  4484  	name       string
  4485  	urlParams_ gensupport.URLParams
  4486  	ctx_       context.Context
  4487  	header_    http.Header
  4488  }
  4489  
  4490  // Delete: Deletes a user workloads Secret. This method is supported for Cloud
  4491  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4492  //
  4493  //   - name: The Secret to delete, in the form:
  4494  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  4495  //     serWorkloadsSecrets/{userWorkloadsSecretId}".
  4496  func (r *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService) Delete(name string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall {
  4497  	c := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4498  	c.name = name
  4499  	return c
  4500  }
  4501  
  4502  // Fields allows partial responses to be retrieved. See
  4503  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4504  // details.
  4505  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall {
  4506  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4507  	return c
  4508  }
  4509  
  4510  // Context sets the context to be used in this call's Do method.
  4511  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall {
  4512  	c.ctx_ = ctx
  4513  	return c
  4514  }
  4515  
  4516  // Header returns a http.Header that can be modified by the caller to add
  4517  // headers to the request.
  4518  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall) Header() http.Header {
  4519  	if c.header_ == nil {
  4520  		c.header_ = make(http.Header)
  4521  	}
  4522  	return c.header_
  4523  }
  4524  
  4525  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall) doRequest(alt string) (*http.Response, error) {
  4526  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4527  	var body io.Reader = nil
  4528  	c.urlParams_.Set("alt", alt)
  4529  	c.urlParams_.Set("prettyPrint", "false")
  4530  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4531  	urls += "?" + c.urlParams_.Encode()
  4532  	req, err := http.NewRequest("DELETE", urls, body)
  4533  	if err != nil {
  4534  		return nil, err
  4535  	}
  4536  	req.Header = reqHeaders
  4537  	googleapi.Expand(req.URL, map[string]string{
  4538  		"name": c.name,
  4539  	})
  4540  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4541  }
  4542  
  4543  // Do executes the "composer.projects.locations.environments.userWorkloadsSecrets.delete" call.
  4544  // Any non-2xx status code is an error. Response headers are in either
  4545  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  4546  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4547  // whether the returned error was because http.StatusNotModified was returned.
  4548  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  4549  	gensupport.SetOptions(c.urlParams_, opts...)
  4550  	res, err := c.doRequest("json")
  4551  	if res != nil && res.StatusCode == http.StatusNotModified {
  4552  		if res.Body != nil {
  4553  			res.Body.Close()
  4554  		}
  4555  		return nil, gensupport.WrapError(&googleapi.Error{
  4556  			Code:   res.StatusCode,
  4557  			Header: res.Header,
  4558  		})
  4559  	}
  4560  	if err != nil {
  4561  		return nil, err
  4562  	}
  4563  	defer googleapi.CloseBody(res)
  4564  	if err := googleapi.CheckResponse(res); err != nil {
  4565  		return nil, gensupport.WrapError(err)
  4566  	}
  4567  	ret := &Empty{
  4568  		ServerResponse: googleapi.ServerResponse{
  4569  			Header:         res.Header,
  4570  			HTTPStatusCode: res.StatusCode,
  4571  		},
  4572  	}
  4573  	target := &ret
  4574  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4575  		return nil, err
  4576  	}
  4577  	return ret, nil
  4578  }
  4579  
  4580  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall struct {
  4581  	s            *Service
  4582  	name         string
  4583  	urlParams_   gensupport.URLParams
  4584  	ifNoneMatch_ string
  4585  	ctx_         context.Context
  4586  	header_      http.Header
  4587  }
  4588  
  4589  // Get: Gets an existing user workloads Secret. Values of the "data" field in
  4590  // the response are cleared. This method is supported for Cloud Composer
  4591  // environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4592  //
  4593  //   - name: The resource name of the Secret to get, in the form:
  4594  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  4595  //     serWorkloadsSecrets/{userWorkloadsSecretId}".
  4596  func (r *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService) Get(name string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall {
  4597  	c := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4598  	c.name = name
  4599  	return c
  4600  }
  4601  
  4602  // Fields allows partial responses to be retrieved. See
  4603  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4604  // details.
  4605  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall {
  4606  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4607  	return c
  4608  }
  4609  
  4610  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4611  // object's ETag matches the given value. This is useful for getting updates
  4612  // only after the object has changed since the last request.
  4613  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall {
  4614  	c.ifNoneMatch_ = entityTag
  4615  	return c
  4616  }
  4617  
  4618  // Context sets the context to be used in this call's Do method.
  4619  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall {
  4620  	c.ctx_ = ctx
  4621  	return c
  4622  }
  4623  
  4624  // Header returns a http.Header that can be modified by the caller to add
  4625  // headers to the request.
  4626  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) Header() http.Header {
  4627  	if c.header_ == nil {
  4628  		c.header_ = make(http.Header)
  4629  	}
  4630  	return c.header_
  4631  }
  4632  
  4633  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) doRequest(alt string) (*http.Response, error) {
  4634  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4635  	if c.ifNoneMatch_ != "" {
  4636  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4637  	}
  4638  	var body io.Reader = nil
  4639  	c.urlParams_.Set("alt", alt)
  4640  	c.urlParams_.Set("prettyPrint", "false")
  4641  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4642  	urls += "?" + c.urlParams_.Encode()
  4643  	req, err := http.NewRequest("GET", urls, body)
  4644  	if err != nil {
  4645  		return nil, err
  4646  	}
  4647  	req.Header = reqHeaders
  4648  	googleapi.Expand(req.URL, map[string]string{
  4649  		"name": c.name,
  4650  	})
  4651  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4652  }
  4653  
  4654  // Do executes the "composer.projects.locations.environments.userWorkloadsSecrets.get" call.
  4655  // Any non-2xx status code is an error. Response headers are in either
  4656  // *UserWorkloadsSecret.ServerResponse.Header or (if a response was returned at
  4657  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4658  // check whether the returned error was because http.StatusNotModified was
  4659  // returned.
  4660  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsGetCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsSecret, error) {
  4661  	gensupport.SetOptions(c.urlParams_, opts...)
  4662  	res, err := c.doRequest("json")
  4663  	if res != nil && res.StatusCode == http.StatusNotModified {
  4664  		if res.Body != nil {
  4665  			res.Body.Close()
  4666  		}
  4667  		return nil, gensupport.WrapError(&googleapi.Error{
  4668  			Code:   res.StatusCode,
  4669  			Header: res.Header,
  4670  		})
  4671  	}
  4672  	if err != nil {
  4673  		return nil, err
  4674  	}
  4675  	defer googleapi.CloseBody(res)
  4676  	if err := googleapi.CheckResponse(res); err != nil {
  4677  		return nil, gensupport.WrapError(err)
  4678  	}
  4679  	ret := &UserWorkloadsSecret{
  4680  		ServerResponse: googleapi.ServerResponse{
  4681  			Header:         res.Header,
  4682  			HTTPStatusCode: res.StatusCode,
  4683  		},
  4684  	}
  4685  	target := &ret
  4686  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4687  		return nil, err
  4688  	}
  4689  	return ret, nil
  4690  }
  4691  
  4692  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall struct {
  4693  	s            *Service
  4694  	parent       string
  4695  	urlParams_   gensupport.URLParams
  4696  	ifNoneMatch_ string
  4697  	ctx_         context.Context
  4698  	header_      http.Header
  4699  }
  4700  
  4701  // List: Lists user workloads Secrets. This method is supported for Cloud
  4702  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4703  //
  4704  //   - parent: List Secrets in the given environment, in the form:
  4705  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  4706  func (r *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService) List(parent string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4707  	c := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4708  	c.parent = parent
  4709  	return c
  4710  }
  4711  
  4712  // PageSize sets the optional parameter "pageSize": The maximum number of
  4713  // Secrets to return.
  4714  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) PageSize(pageSize int64) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4715  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4716  	return c
  4717  }
  4718  
  4719  // PageToken sets the optional parameter "pageToken": The next_page_token value
  4720  // returned from a previous List request, if any.
  4721  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) PageToken(pageToken string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4722  	c.urlParams_.Set("pageToken", pageToken)
  4723  	return c
  4724  }
  4725  
  4726  // Fields allows partial responses to be retrieved. See
  4727  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4728  // details.
  4729  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4730  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4731  	return c
  4732  }
  4733  
  4734  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4735  // object's ETag matches the given value. This is useful for getting updates
  4736  // only after the object has changed since the last request.
  4737  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4738  	c.ifNoneMatch_ = entityTag
  4739  	return c
  4740  }
  4741  
  4742  // Context sets the context to be used in this call's Do method.
  4743  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall {
  4744  	c.ctx_ = ctx
  4745  	return c
  4746  }
  4747  
  4748  // Header returns a http.Header that can be modified by the caller to add
  4749  // headers to the request.
  4750  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) Header() http.Header {
  4751  	if c.header_ == nil {
  4752  		c.header_ = make(http.Header)
  4753  	}
  4754  	return c.header_
  4755  }
  4756  
  4757  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) doRequest(alt string) (*http.Response, error) {
  4758  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4759  	if c.ifNoneMatch_ != "" {
  4760  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4761  	}
  4762  	var body io.Reader = nil
  4763  	c.urlParams_.Set("alt", alt)
  4764  	c.urlParams_.Set("prettyPrint", "false")
  4765  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userWorkloadsSecrets")
  4766  	urls += "?" + c.urlParams_.Encode()
  4767  	req, err := http.NewRequest("GET", urls, body)
  4768  	if err != nil {
  4769  		return nil, err
  4770  	}
  4771  	req.Header = reqHeaders
  4772  	googleapi.Expand(req.URL, map[string]string{
  4773  		"parent": c.parent,
  4774  	})
  4775  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4776  }
  4777  
  4778  // Do executes the "composer.projects.locations.environments.userWorkloadsSecrets.list" call.
  4779  // Any non-2xx status code is an error. Response headers are in either
  4780  // *ListUserWorkloadsSecretsResponse.ServerResponse.Header or (if a response
  4781  // was returned at all) in error.(*googleapi.Error).Header. Use
  4782  // googleapi.IsNotModified to check whether the returned error was because
  4783  // http.StatusNotModified was returned.
  4784  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) Do(opts ...googleapi.CallOption) (*ListUserWorkloadsSecretsResponse, error) {
  4785  	gensupport.SetOptions(c.urlParams_, opts...)
  4786  	res, err := c.doRequest("json")
  4787  	if res != nil && res.StatusCode == http.StatusNotModified {
  4788  		if res.Body != nil {
  4789  			res.Body.Close()
  4790  		}
  4791  		return nil, gensupport.WrapError(&googleapi.Error{
  4792  			Code:   res.StatusCode,
  4793  			Header: res.Header,
  4794  		})
  4795  	}
  4796  	if err != nil {
  4797  		return nil, err
  4798  	}
  4799  	defer googleapi.CloseBody(res)
  4800  	if err := googleapi.CheckResponse(res); err != nil {
  4801  		return nil, gensupport.WrapError(err)
  4802  	}
  4803  	ret := &ListUserWorkloadsSecretsResponse{
  4804  		ServerResponse: googleapi.ServerResponse{
  4805  			Header:         res.Header,
  4806  			HTTPStatusCode: res.StatusCode,
  4807  		},
  4808  	}
  4809  	target := &ret
  4810  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4811  		return nil, err
  4812  	}
  4813  	return ret, nil
  4814  }
  4815  
  4816  // Pages invokes f for each page of results.
  4817  // A non-nil error returned from f will halt the iteration.
  4818  // The provided context supersedes any context provided to the Context method.
  4819  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsListCall) Pages(ctx context.Context, f func(*ListUserWorkloadsSecretsResponse) error) error {
  4820  	c.ctx_ = ctx
  4821  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4822  	for {
  4823  		x, err := c.Do()
  4824  		if err != nil {
  4825  			return err
  4826  		}
  4827  		if err := f(x); err != nil {
  4828  			return err
  4829  		}
  4830  		if x.NextPageToken == "" {
  4831  			return nil
  4832  		}
  4833  		c.PageToken(x.NextPageToken)
  4834  	}
  4835  }
  4836  
  4837  type ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall struct {
  4838  	s                   *Service
  4839  	name                string
  4840  	userworkloadssecret *UserWorkloadsSecret
  4841  	urlParams_          gensupport.URLParams
  4842  	ctx_                context.Context
  4843  	header_             http.Header
  4844  }
  4845  
  4846  // Update: Updates a user workloads Secret. This method is supported for Cloud
  4847  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4848  //
  4849  //   - name: Identifier. The resource name of the Secret, in the form:
  4850  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}/u
  4851  //     serWorkloadsSecrets/{userWorkloadsSecretId}".
  4852  func (r *ProjectsLocationsEnvironmentsUserWorkloadsSecretsService) Update(name string, userworkloadssecret *UserWorkloadsSecret) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall {
  4853  	c := &ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4854  	c.name = name
  4855  	c.userworkloadssecret = userworkloadssecret
  4856  	return c
  4857  }
  4858  
  4859  // Fields allows partial responses to be retrieved. See
  4860  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4861  // details.
  4862  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall {
  4863  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4864  	return c
  4865  }
  4866  
  4867  // Context sets the context to be used in this call's Do method.
  4868  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall {
  4869  	c.ctx_ = ctx
  4870  	return c
  4871  }
  4872  
  4873  // Header returns a http.Header that can be modified by the caller to add
  4874  // headers to the request.
  4875  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall) Header() http.Header {
  4876  	if c.header_ == nil {
  4877  		c.header_ = make(http.Header)
  4878  	}
  4879  	return c.header_
  4880  }
  4881  
  4882  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall) doRequest(alt string) (*http.Response, error) {
  4883  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4884  	var body io.Reader = nil
  4885  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userworkloadssecret)
  4886  	if err != nil {
  4887  		return nil, err
  4888  	}
  4889  	c.urlParams_.Set("alt", alt)
  4890  	c.urlParams_.Set("prettyPrint", "false")
  4891  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4892  	urls += "?" + c.urlParams_.Encode()
  4893  	req, err := http.NewRequest("PUT", urls, body)
  4894  	if err != nil {
  4895  		return nil, err
  4896  	}
  4897  	req.Header = reqHeaders
  4898  	googleapi.Expand(req.URL, map[string]string{
  4899  		"name": c.name,
  4900  	})
  4901  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4902  }
  4903  
  4904  // Do executes the "composer.projects.locations.environments.userWorkloadsSecrets.update" call.
  4905  // Any non-2xx status code is an error. Response headers are in either
  4906  // *UserWorkloadsSecret.ServerResponse.Header or (if a response was returned at
  4907  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4908  // check whether the returned error was because http.StatusNotModified was
  4909  // returned.
  4910  func (c *ProjectsLocationsEnvironmentsUserWorkloadsSecretsUpdateCall) Do(opts ...googleapi.CallOption) (*UserWorkloadsSecret, error) {
  4911  	gensupport.SetOptions(c.urlParams_, opts...)
  4912  	res, err := c.doRequest("json")
  4913  	if res != nil && res.StatusCode == http.StatusNotModified {
  4914  		if res.Body != nil {
  4915  			res.Body.Close()
  4916  		}
  4917  		return nil, gensupport.WrapError(&googleapi.Error{
  4918  			Code:   res.StatusCode,
  4919  			Header: res.Header,
  4920  		})
  4921  	}
  4922  	if err != nil {
  4923  		return nil, err
  4924  	}
  4925  	defer googleapi.CloseBody(res)
  4926  	if err := googleapi.CheckResponse(res); err != nil {
  4927  		return nil, gensupport.WrapError(err)
  4928  	}
  4929  	ret := &UserWorkloadsSecret{
  4930  		ServerResponse: googleapi.ServerResponse{
  4931  			Header:         res.Header,
  4932  			HTTPStatusCode: res.StatusCode,
  4933  		},
  4934  	}
  4935  	target := &ret
  4936  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4937  		return nil, err
  4938  	}
  4939  	return ret, nil
  4940  }
  4941  
  4942  type ProjectsLocationsEnvironmentsWorkloadsListCall struct {
  4943  	s            *Service
  4944  	parent       string
  4945  	urlParams_   gensupport.URLParams
  4946  	ifNoneMatch_ string
  4947  	ctx_         context.Context
  4948  	header_      http.Header
  4949  }
  4950  
  4951  // List: Lists workloads in a Cloud Composer environment. Workload is a unit
  4952  // that runs a single Composer component. This method is supported for Cloud
  4953  // Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
  4954  //
  4955  //   - parent: The environment name to get workloads for, in the form:
  4956  //     "projects/{projectId}/locations/{locationId}/environments/{environmentId}".
  4957  func (r *ProjectsLocationsEnvironmentsWorkloadsService) List(parent string) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4958  	c := &ProjectsLocationsEnvironmentsWorkloadsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4959  	c.parent = parent
  4960  	return c
  4961  }
  4962  
  4963  // Filter sets the optional parameter "filter": The list filter. Currently only
  4964  // supports equality on the type field. The value of a field specified in the
  4965  // filter expression must be one ComposerWorkloadType enum option. It's
  4966  // possible to get multiple types using "OR" operator, e.g.: "type=SCHEDULER OR
  4967  // type=CELERY_WORKER". If not specified, all items are returned.
  4968  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Filter(filter string) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4969  	c.urlParams_.Set("filter", filter)
  4970  	return c
  4971  }
  4972  
  4973  // PageSize sets the optional parameter "pageSize": The maximum number of
  4974  // environments to return.
  4975  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) PageSize(pageSize int64) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4976  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4977  	return c
  4978  }
  4979  
  4980  // PageToken sets the optional parameter "pageToken": The next_page_token value
  4981  // returned from a previous List request, if any.
  4982  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) PageToken(pageToken string) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4983  	c.urlParams_.Set("pageToken", pageToken)
  4984  	return c
  4985  }
  4986  
  4987  // Fields allows partial responses to be retrieved. See
  4988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4989  // details.
  4990  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4992  	return c
  4993  }
  4994  
  4995  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4996  // object's ETag matches the given value. This is useful for getting updates
  4997  // only after the object has changed since the last request.
  4998  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  4999  	c.ifNoneMatch_ = entityTag
  5000  	return c
  5001  }
  5002  
  5003  // Context sets the context to be used in this call's Do method.
  5004  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsWorkloadsListCall {
  5005  	c.ctx_ = ctx
  5006  	return c
  5007  }
  5008  
  5009  // Header returns a http.Header that can be modified by the caller to add
  5010  // headers to the request.
  5011  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Header() http.Header {
  5012  	if c.header_ == nil {
  5013  		c.header_ = make(http.Header)
  5014  	}
  5015  	return c.header_
  5016  }
  5017  
  5018  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) doRequest(alt string) (*http.Response, error) {
  5019  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5020  	if c.ifNoneMatch_ != "" {
  5021  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5022  	}
  5023  	var body io.Reader = nil
  5024  	c.urlParams_.Set("alt", alt)
  5025  	c.urlParams_.Set("prettyPrint", "false")
  5026  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/workloads")
  5027  	urls += "?" + c.urlParams_.Encode()
  5028  	req, err := http.NewRequest("GET", urls, body)
  5029  	if err != nil {
  5030  		return nil, err
  5031  	}
  5032  	req.Header = reqHeaders
  5033  	googleapi.Expand(req.URL, map[string]string{
  5034  		"parent": c.parent,
  5035  	})
  5036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5037  }
  5038  
  5039  // Do executes the "composer.projects.locations.environments.workloads.list" call.
  5040  // Any non-2xx status code is an error. Response headers are in either
  5041  // *ListWorkloadsResponse.ServerResponse.Header or (if a response was returned
  5042  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5043  // check whether the returned error was because http.StatusNotModified was
  5044  // returned.
  5045  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Do(opts ...googleapi.CallOption) (*ListWorkloadsResponse, error) {
  5046  	gensupport.SetOptions(c.urlParams_, opts...)
  5047  	res, err := c.doRequest("json")
  5048  	if res != nil && res.StatusCode == http.StatusNotModified {
  5049  		if res.Body != nil {
  5050  			res.Body.Close()
  5051  		}
  5052  		return nil, gensupport.WrapError(&googleapi.Error{
  5053  			Code:   res.StatusCode,
  5054  			Header: res.Header,
  5055  		})
  5056  	}
  5057  	if err != nil {
  5058  		return nil, err
  5059  	}
  5060  	defer googleapi.CloseBody(res)
  5061  	if err := googleapi.CheckResponse(res); err != nil {
  5062  		return nil, gensupport.WrapError(err)
  5063  	}
  5064  	ret := &ListWorkloadsResponse{
  5065  		ServerResponse: googleapi.ServerResponse{
  5066  			Header:         res.Header,
  5067  			HTTPStatusCode: res.StatusCode,
  5068  		},
  5069  	}
  5070  	target := &ret
  5071  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5072  		return nil, err
  5073  	}
  5074  	return ret, nil
  5075  }
  5076  
  5077  // Pages invokes f for each page of results.
  5078  // A non-nil error returned from f will halt the iteration.
  5079  // The provided context supersedes any context provided to the Context method.
  5080  func (c *ProjectsLocationsEnvironmentsWorkloadsListCall) Pages(ctx context.Context, f func(*ListWorkloadsResponse) error) error {
  5081  	c.ctx_ = ctx
  5082  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5083  	for {
  5084  		x, err := c.Do()
  5085  		if err != nil {
  5086  			return err
  5087  		}
  5088  		if err := f(x); err != nil {
  5089  			return err
  5090  		}
  5091  		if x.NextPageToken == "" {
  5092  			return nil
  5093  		}
  5094  		c.PageToken(x.NextPageToken)
  5095  	}
  5096  }
  5097  
  5098  type ProjectsLocationsImageVersionsListCall struct {
  5099  	s            *Service
  5100  	parent       string
  5101  	urlParams_   gensupport.URLParams
  5102  	ifNoneMatch_ string
  5103  	ctx_         context.Context
  5104  	header_      http.Header
  5105  }
  5106  
  5107  // List: List ImageVersions for provided location.
  5108  //
  5109  //   - parent: List ImageVersions in the given project and location, in the form:
  5110  //     "projects/{projectId}/locations/{locationId}".
  5111  func (r *ProjectsLocationsImageVersionsService) List(parent string) *ProjectsLocationsImageVersionsListCall {
  5112  	c := &ProjectsLocationsImageVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5113  	c.parent = parent
  5114  	return c
  5115  }
  5116  
  5117  // IncludePastReleases sets the optional parameter "includePastReleases":
  5118  // Whether or not image versions from old releases should be included.
  5119  func (c *ProjectsLocationsImageVersionsListCall) IncludePastReleases(includePastReleases bool) *ProjectsLocationsImageVersionsListCall {
  5120  	c.urlParams_.Set("includePastReleases", fmt.Sprint(includePastReleases))
  5121  	return c
  5122  }
  5123  
  5124  // PageSize sets the optional parameter "pageSize": The maximum number of
  5125  // image_versions to return.
  5126  func (c *ProjectsLocationsImageVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsImageVersionsListCall {
  5127  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5128  	return c
  5129  }
  5130  
  5131  // PageToken sets the optional parameter "pageToken": The next_page_token value
  5132  // returned from a previous List request, if any.
  5133  func (c *ProjectsLocationsImageVersionsListCall) PageToken(pageToken string) *ProjectsLocationsImageVersionsListCall {
  5134  	c.urlParams_.Set("pageToken", pageToken)
  5135  	return c
  5136  }
  5137  
  5138  // Fields allows partial responses to be retrieved. See
  5139  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5140  // details.
  5141  func (c *ProjectsLocationsImageVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsImageVersionsListCall {
  5142  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5143  	return c
  5144  }
  5145  
  5146  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5147  // object's ETag matches the given value. This is useful for getting updates
  5148  // only after the object has changed since the last request.
  5149  func (c *ProjectsLocationsImageVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsImageVersionsListCall {
  5150  	c.ifNoneMatch_ = entityTag
  5151  	return c
  5152  }
  5153  
  5154  // Context sets the context to be used in this call's Do method.
  5155  func (c *ProjectsLocationsImageVersionsListCall) Context(ctx context.Context) *ProjectsLocationsImageVersionsListCall {
  5156  	c.ctx_ = ctx
  5157  	return c
  5158  }
  5159  
  5160  // Header returns a http.Header that can be modified by the caller to add
  5161  // headers to the request.
  5162  func (c *ProjectsLocationsImageVersionsListCall) Header() http.Header {
  5163  	if c.header_ == nil {
  5164  		c.header_ = make(http.Header)
  5165  	}
  5166  	return c.header_
  5167  }
  5168  
  5169  func (c *ProjectsLocationsImageVersionsListCall) doRequest(alt string) (*http.Response, error) {
  5170  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5171  	if c.ifNoneMatch_ != "" {
  5172  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5173  	}
  5174  	var body io.Reader = nil
  5175  	c.urlParams_.Set("alt", alt)
  5176  	c.urlParams_.Set("prettyPrint", "false")
  5177  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/imageVersions")
  5178  	urls += "?" + c.urlParams_.Encode()
  5179  	req, err := http.NewRequest("GET", urls, body)
  5180  	if err != nil {
  5181  		return nil, err
  5182  	}
  5183  	req.Header = reqHeaders
  5184  	googleapi.Expand(req.URL, map[string]string{
  5185  		"parent": c.parent,
  5186  	})
  5187  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5188  }
  5189  
  5190  // Do executes the "composer.projects.locations.imageVersions.list" call.
  5191  // Any non-2xx status code is an error. Response headers are in either
  5192  // *ListImageVersionsResponse.ServerResponse.Header or (if a response was
  5193  // returned at all) in error.(*googleapi.Error).Header. Use
  5194  // googleapi.IsNotModified to check whether the returned error was because
  5195  // http.StatusNotModified was returned.
  5196  func (c *ProjectsLocationsImageVersionsListCall) Do(opts ...googleapi.CallOption) (*ListImageVersionsResponse, error) {
  5197  	gensupport.SetOptions(c.urlParams_, opts...)
  5198  	res, err := c.doRequest("json")
  5199  	if res != nil && res.StatusCode == http.StatusNotModified {
  5200  		if res.Body != nil {
  5201  			res.Body.Close()
  5202  		}
  5203  		return nil, gensupport.WrapError(&googleapi.Error{
  5204  			Code:   res.StatusCode,
  5205  			Header: res.Header,
  5206  		})
  5207  	}
  5208  	if err != nil {
  5209  		return nil, err
  5210  	}
  5211  	defer googleapi.CloseBody(res)
  5212  	if err := googleapi.CheckResponse(res); err != nil {
  5213  		return nil, gensupport.WrapError(err)
  5214  	}
  5215  	ret := &ListImageVersionsResponse{
  5216  		ServerResponse: googleapi.ServerResponse{
  5217  			Header:         res.Header,
  5218  			HTTPStatusCode: res.StatusCode,
  5219  		},
  5220  	}
  5221  	target := &ret
  5222  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5223  		return nil, err
  5224  	}
  5225  	return ret, nil
  5226  }
  5227  
  5228  // Pages invokes f for each page of results.
  5229  // A non-nil error returned from f will halt the iteration.
  5230  // The provided context supersedes any context provided to the Context method.
  5231  func (c *ProjectsLocationsImageVersionsListCall) Pages(ctx context.Context, f func(*ListImageVersionsResponse) error) error {
  5232  	c.ctx_ = ctx
  5233  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5234  	for {
  5235  		x, err := c.Do()
  5236  		if err != nil {
  5237  			return err
  5238  		}
  5239  		if err := f(x); err != nil {
  5240  			return err
  5241  		}
  5242  		if x.NextPageToken == "" {
  5243  			return nil
  5244  		}
  5245  		c.PageToken(x.NextPageToken)
  5246  	}
  5247  }
  5248  
  5249  type ProjectsLocationsOperationsDeleteCall struct {
  5250  	s          *Service
  5251  	name       string
  5252  	urlParams_ gensupport.URLParams
  5253  	ctx_       context.Context
  5254  	header_    http.Header
  5255  }
  5256  
  5257  // Delete: Deletes a long-running operation. This method indicates that the
  5258  // client is no longer interested in the operation result. It does not cancel
  5259  // the operation. If the server doesn't support this method, it returns
  5260  // `google.rpc.Code.UNIMPLEMENTED`.
  5261  //
  5262  // - name: The name of the operation resource to be deleted.
  5263  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
  5264  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5265  	c.name = name
  5266  	return c
  5267  }
  5268  
  5269  // Fields allows partial responses to be retrieved. See
  5270  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5271  // details.
  5272  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
  5273  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5274  	return c
  5275  }
  5276  
  5277  // Context sets the context to be used in this call's Do method.
  5278  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
  5279  	c.ctx_ = ctx
  5280  	return c
  5281  }
  5282  
  5283  // Header returns a http.Header that can be modified by the caller to add
  5284  // headers to the request.
  5285  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
  5286  	if c.header_ == nil {
  5287  		c.header_ = make(http.Header)
  5288  	}
  5289  	return c.header_
  5290  }
  5291  
  5292  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5293  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5294  	var body io.Reader = nil
  5295  	c.urlParams_.Set("alt", alt)
  5296  	c.urlParams_.Set("prettyPrint", "false")
  5297  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5298  	urls += "?" + c.urlParams_.Encode()
  5299  	req, err := http.NewRequest("DELETE", urls, body)
  5300  	if err != nil {
  5301  		return nil, err
  5302  	}
  5303  	req.Header = reqHeaders
  5304  	googleapi.Expand(req.URL, map[string]string{
  5305  		"name": c.name,
  5306  	})
  5307  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5308  }
  5309  
  5310  // Do executes the "composer.projects.locations.operations.delete" call.
  5311  // Any non-2xx status code is an error. Response headers are in either
  5312  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  5313  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5314  // whether the returned error was because http.StatusNotModified was returned.
  5315  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  5316  	gensupport.SetOptions(c.urlParams_, opts...)
  5317  	res, err := c.doRequest("json")
  5318  	if res != nil && res.StatusCode == http.StatusNotModified {
  5319  		if res.Body != nil {
  5320  			res.Body.Close()
  5321  		}
  5322  		return nil, gensupport.WrapError(&googleapi.Error{
  5323  			Code:   res.StatusCode,
  5324  			Header: res.Header,
  5325  		})
  5326  	}
  5327  	if err != nil {
  5328  		return nil, err
  5329  	}
  5330  	defer googleapi.CloseBody(res)
  5331  	if err := googleapi.CheckResponse(res); err != nil {
  5332  		return nil, gensupport.WrapError(err)
  5333  	}
  5334  	ret := &Empty{
  5335  		ServerResponse: googleapi.ServerResponse{
  5336  			Header:         res.Header,
  5337  			HTTPStatusCode: res.StatusCode,
  5338  		},
  5339  	}
  5340  	target := &ret
  5341  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5342  		return nil, err
  5343  	}
  5344  	return ret, nil
  5345  }
  5346  
  5347  type ProjectsLocationsOperationsGetCall struct {
  5348  	s            *Service
  5349  	name         string
  5350  	urlParams_   gensupport.URLParams
  5351  	ifNoneMatch_ string
  5352  	ctx_         context.Context
  5353  	header_      http.Header
  5354  }
  5355  
  5356  // Get: Gets the latest state of a long-running operation. Clients can use this
  5357  // method to poll the operation result at intervals as recommended by the API
  5358  // service.
  5359  //
  5360  // - name: The name of the operation resource.
  5361  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  5362  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5363  	c.name = name
  5364  	return c
  5365  }
  5366  
  5367  // Fields allows partial responses to be retrieved. See
  5368  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5369  // details.
  5370  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  5371  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5372  	return c
  5373  }
  5374  
  5375  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5376  // object's ETag matches the given value. This is useful for getting updates
  5377  // only after the object has changed since the last request.
  5378  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  5379  	c.ifNoneMatch_ = entityTag
  5380  	return c
  5381  }
  5382  
  5383  // Context sets the context to be used in this call's Do method.
  5384  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  5385  	c.ctx_ = ctx
  5386  	return c
  5387  }
  5388  
  5389  // Header returns a http.Header that can be modified by the caller to add
  5390  // headers to the request.
  5391  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  5392  	if c.header_ == nil {
  5393  		c.header_ = make(http.Header)
  5394  	}
  5395  	return c.header_
  5396  }
  5397  
  5398  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  5399  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5400  	if c.ifNoneMatch_ != "" {
  5401  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5402  	}
  5403  	var body io.Reader = nil
  5404  	c.urlParams_.Set("alt", alt)
  5405  	c.urlParams_.Set("prettyPrint", "false")
  5406  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5407  	urls += "?" + c.urlParams_.Encode()
  5408  	req, err := http.NewRequest("GET", urls, body)
  5409  	if err != nil {
  5410  		return nil, err
  5411  	}
  5412  	req.Header = reqHeaders
  5413  	googleapi.Expand(req.URL, map[string]string{
  5414  		"name": c.name,
  5415  	})
  5416  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5417  }
  5418  
  5419  // Do executes the "composer.projects.locations.operations.get" call.
  5420  // Any non-2xx status code is an error. Response headers are in either
  5421  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5422  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5423  // whether the returned error was because http.StatusNotModified was returned.
  5424  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5425  	gensupport.SetOptions(c.urlParams_, opts...)
  5426  	res, err := c.doRequest("json")
  5427  	if res != nil && res.StatusCode == http.StatusNotModified {
  5428  		if res.Body != nil {
  5429  			res.Body.Close()
  5430  		}
  5431  		return nil, gensupport.WrapError(&googleapi.Error{
  5432  			Code:   res.StatusCode,
  5433  			Header: res.Header,
  5434  		})
  5435  	}
  5436  	if err != nil {
  5437  		return nil, err
  5438  	}
  5439  	defer googleapi.CloseBody(res)
  5440  	if err := googleapi.CheckResponse(res); err != nil {
  5441  		return nil, gensupport.WrapError(err)
  5442  	}
  5443  	ret := &Operation{
  5444  		ServerResponse: googleapi.ServerResponse{
  5445  			Header:         res.Header,
  5446  			HTTPStatusCode: res.StatusCode,
  5447  		},
  5448  	}
  5449  	target := &ret
  5450  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5451  		return nil, err
  5452  	}
  5453  	return ret, nil
  5454  }
  5455  
  5456  type ProjectsLocationsOperationsListCall struct {
  5457  	s            *Service
  5458  	name         string
  5459  	urlParams_   gensupport.URLParams
  5460  	ifNoneMatch_ string
  5461  	ctx_         context.Context
  5462  	header_      http.Header
  5463  }
  5464  
  5465  // List: Lists operations that match the specified filter in the request. If
  5466  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
  5467  //
  5468  // - name: The name of the operation's parent resource.
  5469  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
  5470  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5471  	c.name = name
  5472  	return c
  5473  }
  5474  
  5475  // Filter sets the optional parameter "filter": The standard list filter.
  5476  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  5477  	c.urlParams_.Set("filter", filter)
  5478  	return c
  5479  }
  5480  
  5481  // PageSize sets the optional parameter "pageSize": The standard list page
  5482  // size.
  5483  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  5484  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5485  	return c
  5486  }
  5487  
  5488  // PageToken sets the optional parameter "pageToken": The standard list page
  5489  // token.
  5490  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  5491  	c.urlParams_.Set("pageToken", pageToken)
  5492  	return c
  5493  }
  5494  
  5495  // Fields allows partial responses to be retrieved. See
  5496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5497  // details.
  5498  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  5499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5500  	return c
  5501  }
  5502  
  5503  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5504  // object's ETag matches the given value. This is useful for getting updates
  5505  // only after the object has changed since the last request.
  5506  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  5507  	c.ifNoneMatch_ = entityTag
  5508  	return c
  5509  }
  5510  
  5511  // Context sets the context to be used in this call's Do method.
  5512  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  5513  	c.ctx_ = ctx
  5514  	return c
  5515  }
  5516  
  5517  // Header returns a http.Header that can be modified by the caller to add
  5518  // headers to the request.
  5519  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  5520  	if c.header_ == nil {
  5521  		c.header_ = make(http.Header)
  5522  	}
  5523  	return c.header_
  5524  }
  5525  
  5526  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  5527  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5528  	if c.ifNoneMatch_ != "" {
  5529  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5530  	}
  5531  	var body io.Reader = nil
  5532  	c.urlParams_.Set("alt", alt)
  5533  	c.urlParams_.Set("prettyPrint", "false")
  5534  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
  5535  	urls += "?" + c.urlParams_.Encode()
  5536  	req, err := http.NewRequest("GET", urls, body)
  5537  	if err != nil {
  5538  		return nil, err
  5539  	}
  5540  	req.Header = reqHeaders
  5541  	googleapi.Expand(req.URL, map[string]string{
  5542  		"name": c.name,
  5543  	})
  5544  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5545  }
  5546  
  5547  // Do executes the "composer.projects.locations.operations.list" call.
  5548  // Any non-2xx status code is an error. Response headers are in either
  5549  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  5550  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5551  // check whether the returned error was because http.StatusNotModified was
  5552  // returned.
  5553  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  5554  	gensupport.SetOptions(c.urlParams_, opts...)
  5555  	res, err := c.doRequest("json")
  5556  	if res != nil && res.StatusCode == http.StatusNotModified {
  5557  		if res.Body != nil {
  5558  			res.Body.Close()
  5559  		}
  5560  		return nil, gensupport.WrapError(&googleapi.Error{
  5561  			Code:   res.StatusCode,
  5562  			Header: res.Header,
  5563  		})
  5564  	}
  5565  	if err != nil {
  5566  		return nil, err
  5567  	}
  5568  	defer googleapi.CloseBody(res)
  5569  	if err := googleapi.CheckResponse(res); err != nil {
  5570  		return nil, gensupport.WrapError(err)
  5571  	}
  5572  	ret := &ListOperationsResponse{
  5573  		ServerResponse: googleapi.ServerResponse{
  5574  			Header:         res.Header,
  5575  			HTTPStatusCode: res.StatusCode,
  5576  		},
  5577  	}
  5578  	target := &ret
  5579  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5580  		return nil, err
  5581  	}
  5582  	return ret, nil
  5583  }
  5584  
  5585  // Pages invokes f for each page of results.
  5586  // A non-nil error returned from f will halt the iteration.
  5587  // The provided context supersedes any context provided to the Context method.
  5588  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  5589  	c.ctx_ = ctx
  5590  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5591  	for {
  5592  		x, err := c.Do()
  5593  		if err != nil {
  5594  			return err
  5595  		}
  5596  		if err := f(x); err != nil {
  5597  			return err
  5598  		}
  5599  		if x.NextPageToken == "" {
  5600  			return nil
  5601  		}
  5602  		c.PageToken(x.NextPageToken)
  5603  	}
  5604  }
  5605  

View as plain text