...

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

Documentation: google.golang.org/api/notebooks/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 notebooks provides access to the Notebooks API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/notebooks/docs/
    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/notebooks/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	notebooksService, err := notebooks.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  //	notebooksService, err := notebooks.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  //	notebooksService, err := notebooks.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package notebooks // import "google.golang.org/api/notebooks/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 = "notebooks:v1"
    90  const apiName = "notebooks"
    91  const apiVersion = "v1"
    92  const basePath = "https://notebooks.googleapis.com/"
    93  const basePathTemplate = "https://notebooks.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://notebooks.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.Executions = NewProjectsLocationsExecutionsService(s)
   173  	rs.Instances = NewProjectsLocationsInstancesService(s)
   174  	rs.Operations = NewProjectsLocationsOperationsService(s)
   175  	rs.Runtimes = NewProjectsLocationsRuntimesService(s)
   176  	rs.Schedules = NewProjectsLocationsSchedulesService(s)
   177  	return rs
   178  }
   179  
   180  type ProjectsLocationsService struct {
   181  	s *Service
   182  
   183  	Environments *ProjectsLocationsEnvironmentsService
   184  
   185  	Executions *ProjectsLocationsExecutionsService
   186  
   187  	Instances *ProjectsLocationsInstancesService
   188  
   189  	Operations *ProjectsLocationsOperationsService
   190  
   191  	Runtimes *ProjectsLocationsRuntimesService
   192  
   193  	Schedules *ProjectsLocationsSchedulesService
   194  }
   195  
   196  func NewProjectsLocationsEnvironmentsService(s *Service) *ProjectsLocationsEnvironmentsService {
   197  	rs := &ProjectsLocationsEnvironmentsService{s: s}
   198  	return rs
   199  }
   200  
   201  type ProjectsLocationsEnvironmentsService struct {
   202  	s *Service
   203  }
   204  
   205  func NewProjectsLocationsExecutionsService(s *Service) *ProjectsLocationsExecutionsService {
   206  	rs := &ProjectsLocationsExecutionsService{s: s}
   207  	return rs
   208  }
   209  
   210  type ProjectsLocationsExecutionsService struct {
   211  	s *Service
   212  }
   213  
   214  func NewProjectsLocationsInstancesService(s *Service) *ProjectsLocationsInstancesService {
   215  	rs := &ProjectsLocationsInstancesService{s: s}
   216  	return rs
   217  }
   218  
   219  type ProjectsLocationsInstancesService struct {
   220  	s *Service
   221  }
   222  
   223  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   224  	rs := &ProjectsLocationsOperationsService{s: s}
   225  	return rs
   226  }
   227  
   228  type ProjectsLocationsOperationsService struct {
   229  	s *Service
   230  }
   231  
   232  func NewProjectsLocationsRuntimesService(s *Service) *ProjectsLocationsRuntimesService {
   233  	rs := &ProjectsLocationsRuntimesService{s: s}
   234  	return rs
   235  }
   236  
   237  type ProjectsLocationsRuntimesService struct {
   238  	s *Service
   239  }
   240  
   241  func NewProjectsLocationsSchedulesService(s *Service) *ProjectsLocationsSchedulesService {
   242  	rs := &ProjectsLocationsSchedulesService{s: s}
   243  	return rs
   244  }
   245  
   246  type ProjectsLocationsSchedulesService struct {
   247  	s *Service
   248  }
   249  
   250  // AcceleratorConfig: Definition of a hardware accelerator. Note that not all
   251  // combinations of `type` and `core_count` are valid. See GPUs on Compute
   252  // Engine (https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
   253  // valid combination. TPUs are not supported.
   254  type AcceleratorConfig struct {
   255  	// CoreCount: Count of cores of this accelerator.
   256  	CoreCount int64 `json:"coreCount,omitempty,string"`
   257  	// Type: Type of this accelerator.
   258  	//
   259  	// Possible values:
   260  	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Accelerator type is not specified.
   261  	//   "NVIDIA_TESLA_K80" - Accelerator type is Nvidia Tesla K80.
   262  	//   "NVIDIA_TESLA_P100" - Accelerator type is Nvidia Tesla P100.
   263  	//   "NVIDIA_TESLA_V100" - Accelerator type is Nvidia Tesla V100.
   264  	//   "NVIDIA_TESLA_P4" - Accelerator type is Nvidia Tesla P4.
   265  	//   "NVIDIA_TESLA_T4" - Accelerator type is Nvidia Tesla T4.
   266  	//   "NVIDIA_TESLA_A100" - Accelerator type is Nvidia Tesla A100.
   267  	//   "NVIDIA_L4" - Accelerator type is Nvidia Tesla L4.
   268  	//   "NVIDIA_A100_80GB" - Accelerator type is Nvidia Tesla A100 80GB.
   269  	//   "NVIDIA_TESLA_T4_VWS" - Accelerator type is NVIDIA Tesla T4 Virtual
   270  	// Workstations.
   271  	//   "NVIDIA_TESLA_P100_VWS" - Accelerator type is NVIDIA Tesla P100 Virtual
   272  	// Workstations.
   273  	//   "NVIDIA_TESLA_P4_VWS" - Accelerator type is NVIDIA Tesla P4 Virtual
   274  	// Workstations.
   275  	//   "TPU_V2" - (Coming soon) Accelerator type is TPU V2.
   276  	//   "TPU_V3" - (Coming soon) Accelerator type is TPU V3.
   277  	Type string `json:"type,omitempty"`
   278  	// ForceSendFields is a list of field names (e.g. "CoreCount") to
   279  	// unconditionally include in API requests. By default, fields with empty or
   280  	// default values are omitted from API requests. See
   281  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   282  	// details.
   283  	ForceSendFields []string `json:"-"`
   284  	// NullFields is a list of field names (e.g. "CoreCount") to include in API
   285  	// requests with the JSON null value. By default, fields with empty values are
   286  	// omitted from API requests. See
   287  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   288  	NullFields []string `json:"-"`
   289  }
   290  
   291  func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
   292  	type NoMethod AcceleratorConfig
   293  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   294  }
   295  
   296  // Binding: Associates `members`, or principals, with a `role`.
   297  type Binding struct {
   298  	// Condition: The condition that is associated with this binding. If the
   299  	// condition evaluates to `true`, then this binding applies to the current
   300  	// request. If the condition evaluates to `false`, then this binding does not
   301  	// apply to the current request. However, a different role binding might grant
   302  	// the same role to one or more of the principals in this binding. To learn
   303  	// which resources support conditions in their IAM policies, see the IAM
   304  	// documentation
   305  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   306  	Condition *Expr `json:"condition,omitempty"`
   307  	// Members: Specifies the principals requesting access for a Google Cloud
   308  	// resource. `members` can have the following values: * `allUsers`: A special
   309  	// identifier that represents anyone who is on the internet; with or without a
   310  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   311  	// represents anyone who is authenticated with a Google account or a service
   312  	// account. Does not include identities that come from external identity
   313  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   314  	// address that represents a specific Google account. For example,
   315  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   316  	// represents a Google service account. For example,
   317  	// `my-other-app@appspot.gserviceaccount.com`. *
   318  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   319  	// identifier for a Kubernetes service account
   320  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   321  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   322  	// `group:{emailid}`: An email address that represents a Google group. For
   323  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   324  	// (primary) that represents all the users of that domain. For example,
   325  	// `google.com` or `example.com`. *
   326  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   327  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   328  	// pool. *
   329  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   330  	// group/{group_id}`: All workforce identities in a group. *
   331  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   332  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   333  	// a specific attribute value. *
   334  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   335  	// *`: All identities in a workforce identity pool. *
   336  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   337  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   338  	// identity in a workload identity pool. *
   339  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   340  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   341  	// group. *
   342  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   343  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   344  	// `: All identities in a workload identity pool with a certain attribute. *
   345  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   346  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   347  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   348  	// unique identifier) representing a user that has been recently deleted. For
   349  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   350  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   351  	// retains the role in the binding. *
   352  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   353  	// unique identifier) representing a service account that has been recently
   354  	// deleted. For example,
   355  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   356  	// service account is undeleted, this value reverts to
   357  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   358  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   359  	// address (plus unique identifier) representing a Google group that has been
   360  	// recently deleted. For example,
   361  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   362  	// this value reverts to `group:{emailid}` and the recovered group retains the
   363  	// role in the binding. *
   364  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   365  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   366  	// workforce identity pool. For example,
   367  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   368  	// ol-id/subject/my-subject-attribute-value`.
   369  	Members []string `json:"members,omitempty"`
   370  	// Role: Role that is assigned to the list of `members`, or principals. For
   371  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   372  	// of the IAM roles and permissions, see the IAM documentation
   373  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   374  	// available pre-defined roles, see here
   375  	// (https://cloud.google.com/iam/docs/understanding-roles).
   376  	Role string `json:"role,omitempty"`
   377  	// ForceSendFields is a list of field names (e.g. "Condition") to
   378  	// unconditionally include in API requests. By default, fields with empty or
   379  	// default values are omitted from API requests. See
   380  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   381  	// details.
   382  	ForceSendFields []string `json:"-"`
   383  	// NullFields is a list of field names (e.g. "Condition") to include in API
   384  	// requests with the JSON null value. By default, fields with empty values are
   385  	// omitted from API requests. See
   386  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   387  	NullFields []string `json:"-"`
   388  }
   389  
   390  func (s *Binding) MarshalJSON() ([]byte, error) {
   391  	type NoMethod Binding
   392  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   393  }
   394  
   395  // BootImage: Definition of the boot image used by the Runtime. Used to
   396  // facilitate runtime upgradeability.
   397  type BootImage struct {
   398  }
   399  
   400  // CancelOperationRequest: The request message for Operations.CancelOperation.
   401  type CancelOperationRequest struct {
   402  }
   403  
   404  // ContainerImage: Definition of a container image for starting a notebook
   405  // instance with the environment installed in a container.
   406  type ContainerImage struct {
   407  	// Repository: Required. The path to the container image repository. For
   408  	// example: `gcr.io/{project_id}/{image_name}`
   409  	Repository string `json:"repository,omitempty"`
   410  	// Tag: The tag of the container image. If not specified, this defaults to the
   411  	// latest tag.
   412  	Tag string `json:"tag,omitempty"`
   413  	// ForceSendFields is a list of field names (e.g. "Repository") to
   414  	// unconditionally include in API requests. By default, fields with empty or
   415  	// default values are omitted from API requests. See
   416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   417  	// details.
   418  	ForceSendFields []string `json:"-"`
   419  	// NullFields is a list of field names (e.g. "Repository") to include in API
   420  	// requests with the JSON null value. By default, fields with empty values are
   421  	// omitted from API requests. See
   422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   423  	NullFields []string `json:"-"`
   424  }
   425  
   426  func (s *ContainerImage) MarshalJSON() ([]byte, error) {
   427  	type NoMethod ContainerImage
   428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   429  }
   430  
   431  // DataprocParameters: Parameters used in Dataproc JobType executions.
   432  type DataprocParameters struct {
   433  	// Cluster: URI for cluster used to run Dataproc execution. Format:
   434  	// `projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}`
   435  	Cluster string `json:"cluster,omitempty"`
   436  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
   437  	// include in API requests. By default, fields with empty or default values are
   438  	// omitted from API requests. See
   439  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   440  	// details.
   441  	ForceSendFields []string `json:"-"`
   442  	// NullFields is a list of field names (e.g. "Cluster") to include in API
   443  	// requests with the JSON null value. By default, fields with empty values are
   444  	// omitted from API requests. See
   445  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   446  	NullFields []string `json:"-"`
   447  }
   448  
   449  func (s *DataprocParameters) MarshalJSON() ([]byte, error) {
   450  	type NoMethod DataprocParameters
   451  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   452  }
   453  
   454  // DiagnoseInstanceRequest: Request for creating a notebook instance diagnostic
   455  // file.
   456  type DiagnoseInstanceRequest struct {
   457  	// DiagnosticConfig: Required. Defines flags that are used to run the
   458  	// diagnostic tool
   459  	DiagnosticConfig *DiagnosticConfig `json:"diagnosticConfig,omitempty"`
   460  	// TimeoutMinutes: Optional. Maxmium amount of time in minutes before the
   461  	// operation times out.
   462  	TimeoutMinutes int64 `json:"timeoutMinutes,omitempty"`
   463  	// ForceSendFields is a list of field names (e.g. "DiagnosticConfig") to
   464  	// unconditionally include in API requests. By default, fields with empty or
   465  	// default values are omitted from API requests. See
   466  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   467  	// details.
   468  	ForceSendFields []string `json:"-"`
   469  	// NullFields is a list of field names (e.g. "DiagnosticConfig") to include in
   470  	// API requests with the JSON null value. By default, fields with empty values
   471  	// are omitted from API requests. See
   472  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   473  	NullFields []string `json:"-"`
   474  }
   475  
   476  func (s *DiagnoseInstanceRequest) MarshalJSON() ([]byte, error) {
   477  	type NoMethod DiagnoseInstanceRequest
   478  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   479  }
   480  
   481  // DiagnoseRuntimeRequest: Request for creating a notebook instance diagnostic
   482  // file.
   483  type DiagnoseRuntimeRequest struct {
   484  	// DiagnosticConfig: Required. Defines flags that are used to run the
   485  	// diagnostic tool
   486  	DiagnosticConfig *DiagnosticConfig `json:"diagnosticConfig,omitempty"`
   487  	// TimeoutMinutes: Optional. Maxmium amount of time in minutes before the
   488  	// operation times out.
   489  	TimeoutMinutes int64 `json:"timeoutMinutes,omitempty"`
   490  	// ForceSendFields is a list of field names (e.g. "DiagnosticConfig") to
   491  	// unconditionally include in API requests. By default, fields with empty or
   492  	// default values are omitted from API requests. See
   493  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   494  	// details.
   495  	ForceSendFields []string `json:"-"`
   496  	// NullFields is a list of field names (e.g. "DiagnosticConfig") to include in
   497  	// API requests with the JSON null value. By default, fields with empty values
   498  	// are omitted from API requests. See
   499  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   500  	NullFields []string `json:"-"`
   501  }
   502  
   503  func (s *DiagnoseRuntimeRequest) MarshalJSON() ([]byte, error) {
   504  	type NoMethod DiagnoseRuntimeRequest
   505  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   506  }
   507  
   508  // DiagnosticConfig: Defines flags that are used to run the diagnostic tool
   509  type DiagnosticConfig struct {
   510  	// CopyHomeFilesFlagEnabled: Optional. Enables flag to copy all `/home/jupyter`
   511  	// folder contents
   512  	CopyHomeFilesFlagEnabled bool `json:"copyHomeFilesFlagEnabled,omitempty"`
   513  	// GcsBucket: Required. User Cloud Storage bucket location (REQUIRED). Must be
   514  	// formatted with path prefix (`gs://$GCS_BUCKET`). Permissions: User Managed
   515  	// Notebooks: - storage.buckets.writer: Must be given to the project's service
   516  	// account attached to VM. Google Managed Notebooks: - storage.buckets.writer:
   517  	// Must be given to the project's service account or user credentials attached
   518  	// to VM depending on authentication mode. Cloud Storage bucket Log file will
   519  	// be written to `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz`
   520  	GcsBucket string `json:"gcsBucket,omitempty"`
   521  	// PacketCaptureFlagEnabled: Optional. Enables flag to capture packets from the
   522  	// instance for 30 seconds
   523  	PacketCaptureFlagEnabled bool `json:"packetCaptureFlagEnabled,omitempty"`
   524  	// RelativePath: Optional. Defines the relative storage path in the Cloud
   525  	// Storage bucket where the diagnostic logs will be written: Default path will
   526  	// be the root directory of the Cloud Storage bucket
   527  	// (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`) Example of full path where Log file
   528  	// will be written: `gs://$GCS_BUCKET/$RELATIVE_PATH/`
   529  	RelativePath string `json:"relativePath,omitempty"`
   530  	// RepairFlagEnabled: Optional. Enables flag to repair service for instance
   531  	RepairFlagEnabled bool `json:"repairFlagEnabled,omitempty"`
   532  	// ForceSendFields is a list of field names (e.g. "CopyHomeFilesFlagEnabled")
   533  	// to unconditionally include in API requests. By default, fields with empty or
   534  	// default values are omitted from API requests. See
   535  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   536  	// details.
   537  	ForceSendFields []string `json:"-"`
   538  	// NullFields is a list of field names (e.g. "CopyHomeFilesFlagEnabled") to
   539  	// include in API requests with the JSON null value. By default, fields with
   540  	// empty values are omitted from API requests. See
   541  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   542  	NullFields []string `json:"-"`
   543  }
   544  
   545  func (s *DiagnosticConfig) MarshalJSON() ([]byte, error) {
   546  	type NoMethod DiagnosticConfig
   547  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   548  }
   549  
   550  // Disk: An instance-attached disk resource.
   551  type Disk struct {
   552  	// AutoDelete: Indicates whether the disk will be auto-deleted when the
   553  	// instance is deleted (but not when the disk is detached from the instance).
   554  	AutoDelete bool `json:"autoDelete,omitempty"`
   555  	// Boot: Indicates that this is a boot disk. The virtual machine will use the
   556  	// first partition of the disk for its root filesystem.
   557  	Boot bool `json:"boot,omitempty"`
   558  	// DeviceName: Indicates a unique device name of your choice that is reflected
   559  	// into the `/dev/disk/by-id/google-*` tree of a Linux operating system running
   560  	// within the instance. This name can be used to reference the device for
   561  	// mounting, resizing, and so on, from within the instance. If not specified,
   562  	// the server chooses a default device name to apply to this disk, in the form
   563  	// persistent-disk-x, where x is a number assigned by Google Compute
   564  	// Engine.This field is only applicable for persistent disks.
   565  	DeviceName string `json:"deviceName,omitempty"`
   566  	// DiskSizeGb: Indicates the size of the disk in base-2 GB.
   567  	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
   568  	// GuestOsFeatures: Indicates a list of features to enable on the guest
   569  	// operating system. Applicable only for bootable images. Read Enabling guest
   570  	// operating system features to see a list of available options.
   571  	GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"`
   572  	// Index: A zero-based index to this disk, where 0 is reserved for the boot
   573  	// disk. If you have many disks attached to an instance, each disk would have a
   574  	// unique index number.
   575  	Index int64 `json:"index,omitempty,string"`
   576  	// Interface: Indicates the disk interface to use for attaching this disk,
   577  	// which is either SCSI or NVME. The default is SCSI. Persistent disks must
   578  	// always use SCSI and the request will fail if you attempt to attach a
   579  	// persistent disk in any other format than SCSI. Local SSDs can use either
   580  	// NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local
   581  	// SSD performance. Valid values: * `NVME` * `SCSI`
   582  	Interface string `json:"interface,omitempty"`
   583  	// Kind: Type of the resource. Always compute#attachedDisk for attached disks.
   584  	Kind string `json:"kind,omitempty"`
   585  	// Licenses: A list of publicly visible licenses. Reserved for Google's use. A
   586  	// License represents billing and aggregate usage data for public and
   587  	// marketplace images.
   588  	Licenses []string `json:"licenses,omitempty"`
   589  	// Mode: The mode in which to attach this disk, either `READ_WRITE` or
   590  	// `READ_ONLY`. If not specified, the default is to attach the disk in
   591  	// `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`
   592  	Mode string `json:"mode,omitempty"`
   593  	// Source: Indicates a valid partial or full URL to an existing Persistent Disk
   594  	// resource.
   595  	Source string `json:"source,omitempty"`
   596  	// Type: Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
   597  	// Valid values: * `PERSISTENT` * `SCRATCH`
   598  	Type string `json:"type,omitempty"`
   599  	// ForceSendFields is a list of field names (e.g. "AutoDelete") to
   600  	// unconditionally include in API requests. By default, fields with empty or
   601  	// default values are omitted from API requests. See
   602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   603  	// details.
   604  	ForceSendFields []string `json:"-"`
   605  	// NullFields is a list of field names (e.g. "AutoDelete") to include in API
   606  	// requests with the JSON null value. By default, fields with empty values are
   607  	// omitted from API requests. See
   608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   609  	NullFields []string `json:"-"`
   610  }
   611  
   612  func (s *Disk) MarshalJSON() ([]byte, error) {
   613  	type NoMethod Disk
   614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   615  }
   616  
   617  // Empty: A generic empty message that you can re-use to avoid defining
   618  // duplicated empty messages in your APIs. A typical example is to use it as
   619  // the request or the response type of an API method. For instance: service Foo
   620  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
   621  type Empty struct {
   622  	// ServerResponse contains the HTTP response code and headers from the server.
   623  	googleapi.ServerResponse `json:"-"`
   624  }
   625  
   626  // EncryptionConfig: Represents a custom encryption key configuration that can
   627  // be applied to a resource. This will encrypt all disks in Virtual Machine.
   628  type EncryptionConfig struct {
   629  	// KmsKey: The Cloud KMS resource identifier of the customer-managed encryption
   630  	// key used to protect a resource, such as a disks. It has the following
   631  	// format:
   632  	// `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys
   633  	// /{KEY_NAME}`
   634  	KmsKey string `json:"kmsKey,omitempty"`
   635  	// ForceSendFields is a list of field names (e.g. "KmsKey") to unconditionally
   636  	// include in API requests. By default, fields with empty or default values are
   637  	// omitted from API requests. See
   638  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   639  	// details.
   640  	ForceSendFields []string `json:"-"`
   641  	// NullFields is a list of field names (e.g. "KmsKey") to include in API
   642  	// requests with the JSON null value. By default, fields with empty values are
   643  	// omitted from API requests. See
   644  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   645  	NullFields []string `json:"-"`
   646  }
   647  
   648  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
   649  	type NoMethod EncryptionConfig
   650  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   651  }
   652  
   653  // Environment: Definition of a software environment that is used to start a
   654  // notebook instance.
   655  type Environment struct {
   656  	// ContainerImage: Use a container image to start the notebook instance.
   657  	ContainerImage *ContainerImage `json:"containerImage,omitempty"`
   658  	// CreateTime: Output only. The time at which this environment was created.
   659  	CreateTime string `json:"createTime,omitempty"`
   660  	// Description: A brief description of this environment.
   661  	Description string `json:"description,omitempty"`
   662  	// DisplayName: Display name of this environment for the UI.
   663  	DisplayName string `json:"displayName,omitempty"`
   664  	// Name: Output only. Name of this environment. Format:
   665  	// `projects/{project_id}/locations/{location}/environments/{environment_id}`
   666  	Name string `json:"name,omitempty"`
   667  	// PostStartupScript: Path to a Bash script that automatically runs after a
   668  	// notebook instance fully boots up. The path must be a URL or Cloud Storage
   669  	// path. Example: "gs://path-to-file/file-name"
   670  	PostStartupScript string `json:"postStartupScript,omitempty"`
   671  	// VmImage: Use a Compute Engine VM image to start the notebook instance.
   672  	VmImage *VmImage `json:"vmImage,omitempty"`
   673  
   674  	// ServerResponse contains the HTTP response code and headers from the server.
   675  	googleapi.ServerResponse `json:"-"`
   676  	// ForceSendFields is a list of field names (e.g. "ContainerImage") to
   677  	// unconditionally include in API requests. By default, fields with empty or
   678  	// default values are omitted from API requests. See
   679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   680  	// details.
   681  	ForceSendFields []string `json:"-"`
   682  	// NullFields is a list of field names (e.g. "ContainerImage") to include in
   683  	// API requests with the JSON null value. By default, fields with empty values
   684  	// are omitted from API requests. See
   685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   686  	NullFields []string `json:"-"`
   687  }
   688  
   689  func (s *Environment) MarshalJSON() ([]byte, error) {
   690  	type NoMethod Environment
   691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   692  }
   693  
   694  // Event: The definition of an Event for a managed / semi-managed notebook
   695  // instance.
   696  type Event struct {
   697  	// Details: Optional. Event details. This field is used to pass event
   698  	// information.
   699  	Details map[string]string `json:"details,omitempty"`
   700  	// ReportTime: Event report time.
   701  	ReportTime string `json:"reportTime,omitempty"`
   702  	// Type: Event type.
   703  	//
   704  	// Possible values:
   705  	//   "EVENT_TYPE_UNSPECIFIED" - Event is not specified.
   706  	//   "IDLE" - The instance / runtime is idle
   707  	//   "HEARTBEAT" - The instance / runtime is available. This event indicates
   708  	// that instance / runtime underlying compute is operational.
   709  	//   "HEALTH" - The instance / runtime health is available. This event
   710  	// indicates that instance / runtime health information.
   711  	//   "MAINTENANCE" - The instance / runtime is available. This event allows
   712  	// instance / runtime to send Host maintenance information to Control Plane.
   713  	// https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance
   714  	Type string `json:"type,omitempty"`
   715  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
   716  	// include in API requests. By default, fields with empty or default values are
   717  	// omitted from API requests. See
   718  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   719  	// details.
   720  	ForceSendFields []string `json:"-"`
   721  	// NullFields is a list of field names (e.g. "Details") to include in API
   722  	// requests with the JSON null value. By default, fields with empty values are
   723  	// omitted from API requests. See
   724  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   725  	NullFields []string `json:"-"`
   726  }
   727  
   728  func (s *Event) MarshalJSON() ([]byte, error) {
   729  	type NoMethod Event
   730  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   731  }
   732  
   733  // Execution: The definition of a single executed notebook.
   734  type Execution struct {
   735  	// CreateTime: Output only. Time the Execution was instantiated.
   736  	CreateTime string `json:"createTime,omitempty"`
   737  	// Description: A brief description of this execution.
   738  	Description string `json:"description,omitempty"`
   739  	// DisplayName: Output only. Name used for UI purposes. Name can only contain
   740  	// alphanumeric characters and underscores '_'.
   741  	DisplayName string `json:"displayName,omitempty"`
   742  	// ExecutionTemplate: execute metadata including name, hardware spec, region,
   743  	// labels, etc.
   744  	ExecutionTemplate *ExecutionTemplate `json:"executionTemplate,omitempty"`
   745  	// JobUri: Output only. The URI of the external job used to execute the
   746  	// notebook.
   747  	JobUri string `json:"jobUri,omitempty"`
   748  	// Name: Output only. The resource name of the execute. Format:
   749  	// `projects/{project_id}/locations/{location}/executions/{execution_id}`
   750  	Name string `json:"name,omitempty"`
   751  	// OutputNotebookFile: Output notebook file generated by this execution
   752  	OutputNotebookFile string `json:"outputNotebookFile,omitempty"`
   753  	// State: Output only. State of the underlying AI Platform job.
   754  	//
   755  	// Possible values:
   756  	//   "STATE_UNSPECIFIED" - The job state is unspecified.
   757  	//   "QUEUED" - The job has been just created and processing has not yet begun.
   758  	//   "PREPARING" - The service is preparing to execution the job.
   759  	//   "RUNNING" - The job is in progress.
   760  	//   "SUCCEEDED" - The job completed successfully.
   761  	//   "FAILED" - The job failed. `error_message` should contain the details of
   762  	// the failure.
   763  	//   "CANCELLING" - The job is being cancelled. `error_message` should describe
   764  	// the reason for the cancellation.
   765  	//   "CANCELLED" - The job has been cancelled. `error_message` should describe
   766  	// the reason for the cancellation.
   767  	//   "EXPIRED" - The job has become expired (relevant to Vertex AI jobs)
   768  	// https://cloud.google.com/vertex-ai/docs/reference/rest/v1/JobState
   769  	//   "INITIALIZING" - The Execution is being created.
   770  	State string `json:"state,omitempty"`
   771  	// UpdateTime: Output only. Time the Execution was last updated.
   772  	UpdateTime string `json:"updateTime,omitempty"`
   773  
   774  	// ServerResponse contains the HTTP response code and headers from the server.
   775  	googleapi.ServerResponse `json:"-"`
   776  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
   777  	// unconditionally include in API requests. By default, fields with empty or
   778  	// default values are omitted from API requests. See
   779  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   780  	// details.
   781  	ForceSendFields []string `json:"-"`
   782  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
   783  	// requests with the JSON null value. By default, fields with empty values are
   784  	// omitted from API requests. See
   785  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   786  	NullFields []string `json:"-"`
   787  }
   788  
   789  func (s *Execution) MarshalJSON() ([]byte, error) {
   790  	type NoMethod Execution
   791  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   792  }
   793  
   794  // ExecutionTemplate: The description a notebook execution workload.
   795  type ExecutionTemplate struct {
   796  	// AcceleratorConfig: Configuration (count and accelerator type) for hardware
   797  	// running notebook execution.
   798  	AcceleratorConfig *SchedulerAcceleratorConfig `json:"acceleratorConfig,omitempty"`
   799  	// ContainerImageUri: Container Image URI to a DLVM Example:
   800  	// 'gcr.io/deeplearning-platform-release/base-cu100' More examples can be found
   801  	// at:
   802  	// https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
   803  	ContainerImageUri string `json:"containerImageUri,omitempty"`
   804  	// DataprocParameters: Parameters used in Dataproc JobType executions.
   805  	DataprocParameters *DataprocParameters `json:"dataprocParameters,omitempty"`
   806  	// InputNotebookFile: Path to the notebook file to execute. Must be in a Google
   807  	// Cloud Storage bucket. Format:
   808  	// `gs://{bucket_name}/{folder}/{notebook_file_name}` Ex:
   809  	// `gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb`
   810  	InputNotebookFile string `json:"inputNotebookFile,omitempty"`
   811  	// JobType: The type of Job to be used on this execution.
   812  	//
   813  	// Possible values:
   814  	//   "JOB_TYPE_UNSPECIFIED" - No type specified.
   815  	//   "VERTEX_AI" - Custom Job in `aiplatform.googleapis.com`. Default value for
   816  	// an execution.
   817  	//   "DATAPROC" - Run execution on a cluster with Dataproc as a job.
   818  	// https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs
   819  	JobType string `json:"jobType,omitempty"`
   820  	// KernelSpec: Name of the kernel spec to use. This must be specified if the
   821  	// kernel spec name on the execution target does not match the name in the
   822  	// input notebook file.
   823  	KernelSpec string `json:"kernelSpec,omitempty"`
   824  	// Labels: Labels for execution. If execution is scheduled, a field included
   825  	// will be 'nbs-scheduled'. Otherwise, it is an immediate execution, and an
   826  	// included field will be 'nbs-immediate'. Use fields to efficiently index
   827  	// between various types of executions.
   828  	Labels map[string]string `json:"labels,omitempty"`
   829  	// MasterType: Specifies the type of virtual machine to use for your training
   830  	// job's master worker. You must specify this field when `scaleTier` is set to
   831  	// `CUSTOM`. You can use certain Compute Engine machine types directly in this
   832  	// field. The following types are supported: - `n1-standard-4` -
   833  	// `n1-standard-8` - `n1-standard-16` - `n1-standard-32` - `n1-standard-64` -
   834  	// `n1-standard-96` - `n1-highmem-2` - `n1-highmem-4` - `n1-highmem-8` -
   835  	// `n1-highmem-16` - `n1-highmem-32` - `n1-highmem-64` - `n1-highmem-96` -
   836  	// `n1-highcpu-16` - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96`
   837  	// Alternatively, you can use the following legacy machine types: - `standard`
   838  	// - `large_model` - `complex_model_s` - `complex_model_m` - `complex_model_l`
   839  	// - `standard_gpu` - `complex_model_m_gpu` - `complex_model_l_gpu` -
   840  	// `standard_p100` - `complex_model_m_p100` - `standard_v100` -
   841  	// `large_model_v100` - `complex_model_m_v100` - `complex_model_l_v100`
   842  	// Finally, if you want to use a TPU for training, specify `cloud_tpu` in this
   843  	// field. Learn more about the special configuration options for training with
   844  	// TPU
   845  	// (https://cloud.google.com/ai-platform/training/docs/using-tpus#configuring_a_custom_tpu_machine).
   846  	MasterType string `json:"masterType,omitempty"`
   847  	// OutputNotebookFolder: Path to the notebook folder to write to. Must be in a
   848  	// Google Cloud Storage bucket path. Format: `gs://{bucket_name}/{folder}` Ex:
   849  	// `gs://notebook_user/scheduled_notebooks`
   850  	OutputNotebookFolder string `json:"outputNotebookFolder,omitempty"`
   851  	// Parameters: Parameters used within the 'input_notebook_file' notebook.
   852  	Parameters string `json:"parameters,omitempty"`
   853  	// ParamsYamlFile: Parameters to be overridden in the notebook during
   854  	// execution. Ref
   855  	// https://papermill.readthedocs.io/en/latest/usage-parameterize.html on how to
   856  	// specifying parameters in the input notebook and pass them here in an YAML
   857  	// file. Ex:
   858  	// `gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml`
   859  	ParamsYamlFile string `json:"paramsYamlFile,omitempty"`
   860  	// ScaleTier: Required. Scale tier of the hardware used for notebook execution.
   861  	// DEPRECATED Will be discontinued. As right now only CUSTOM is supported.
   862  	//
   863  	// Possible values:
   864  	//   "SCALE_TIER_UNSPECIFIED" - Unspecified Scale Tier.
   865  	//   "BASIC" - A single worker instance. This tier is suitable for learning how
   866  	// to use Cloud ML, and for experimenting with new models using small datasets.
   867  	//   "STANDARD_1" - Many workers and a few parameter servers.
   868  	//   "PREMIUM_1" - A large number of workers with many parameter servers.
   869  	//   "BASIC_GPU" - A single worker instance with a K80 GPU.
   870  	//   "BASIC_TPU" - A single worker instance with a Cloud TPU.
   871  	//   "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables you to
   872  	// use your own cluster specification. When you use this tier, set values to
   873  	// configure your processing cluster according to these guidelines: * You
   874  	// _must_ set `ExecutionTemplate.masterType` to specify the type of machine to
   875  	// use for your master node. This is the only required setting.
   876  	ScaleTier string `json:"scaleTier,omitempty"`
   877  	// ServiceAccount: The email address of a service account to use when running
   878  	// the execution. You must have the `iam.serviceAccounts.actAs` permission for
   879  	// the specified service account.
   880  	ServiceAccount string `json:"serviceAccount,omitempty"`
   881  	// Tensorboard: The name of a Vertex AI [Tensorboard] resource to which this
   882  	// execution will upload Tensorboard logs. Format:
   883  	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
   884  	Tensorboard string `json:"tensorboard,omitempty"`
   885  	// VertexAiParameters: Parameters used in Vertex AI JobType executions.
   886  	VertexAiParameters *VertexAIParameters `json:"vertexAiParameters,omitempty"`
   887  	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig") to
   888  	// unconditionally include in API requests. By default, fields with empty or
   889  	// default values are omitted from API requests. See
   890  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   891  	// details.
   892  	ForceSendFields []string `json:"-"`
   893  	// NullFields is a list of field names (e.g. "AcceleratorConfig") to include in
   894  	// API requests with the JSON null value. By default, fields with empty values
   895  	// are omitted from API requests. See
   896  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   897  	NullFields []string `json:"-"`
   898  }
   899  
   900  func (s *ExecutionTemplate) MarshalJSON() ([]byte, error) {
   901  	type NoMethod ExecutionTemplate
   902  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   903  }
   904  
   905  // Expr: Represents a textual expression in the Common Expression Language
   906  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
   907  // of CEL are documented at https://github.com/google/cel-spec. Example
   908  // (Comparison): title: "Summary size limit" description: "Determines if a
   909  // summary is less than 100 chars" expression: "document.summary.size() < 100"
   910  // Example (Equality): title: "Requestor is owner" description: "Determines if
   911  // requestor is the document owner" expression: "document.owner ==
   912  // request.auth.claims.email" Example (Logic): title: "Public documents"
   913  // description: "Determine whether the document should be publicly visible"
   914  // expression: "document.type != 'private' && document.type != 'internal'"
   915  // Example (Data Manipulation): title: "Notification string" description:
   916  // "Create a notification string with a timestamp." expression: "'New message
   917  // received at ' + string(document.create_time)" The exact variables and
   918  // functions that may be referenced within an expression are determined by the
   919  // service that evaluates it. See the service documentation for additional
   920  // information.
   921  type Expr struct {
   922  	// Description: Optional. Description of the expression. This is a longer text
   923  	// which describes the expression, e.g. when hovered over it in a UI.
   924  	Description string `json:"description,omitempty"`
   925  	// Expression: Textual representation of an expression in Common Expression
   926  	// Language syntax.
   927  	Expression string `json:"expression,omitempty"`
   928  	// Location: Optional. String indicating the location of the expression for
   929  	// error reporting, e.g. a file name and a position in the file.
   930  	Location string `json:"location,omitempty"`
   931  	// Title: Optional. Title for the expression, i.e. a short string describing
   932  	// its purpose. This can be used e.g. in UIs which allow to enter the
   933  	// expression.
   934  	Title string `json:"title,omitempty"`
   935  	// ForceSendFields is a list of field names (e.g. "Description") to
   936  	// unconditionally include in API requests. By default, fields with empty or
   937  	// default values are omitted from API requests. See
   938  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   939  	// details.
   940  	ForceSendFields []string `json:"-"`
   941  	// NullFields is a list of field names (e.g. "Description") to include in API
   942  	// requests with the JSON null value. By default, fields with empty values are
   943  	// omitted from API requests. See
   944  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   945  	NullFields []string `json:"-"`
   946  }
   947  
   948  func (s *Expr) MarshalJSON() ([]byte, error) {
   949  	type NoMethod Expr
   950  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   951  }
   952  
   953  // GetInstanceHealthResponse: Response for checking if a notebook instance is
   954  // healthy.
   955  type GetInstanceHealthResponse struct {
   956  	// HealthInfo: Output only. Additional information about instance health.
   957  	// Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status":
   958  	// "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated":
   959  	// "2020-10-18 09:40:03.573409" }
   960  	HealthInfo map[string]string `json:"healthInfo,omitempty"`
   961  	// HealthState: Output only. Runtime health_state.
   962  	//
   963  	// Possible values:
   964  	//   "HEALTH_STATE_UNSPECIFIED" - The instance substate is unknown.
   965  	//   "HEALTHY" - The instance is known to be in an healthy state (for example,
   966  	// critical daemons are running) Applies to ACTIVE state.
   967  	//   "UNHEALTHY" - The instance is known to be in an unhealthy state (for
   968  	// example, critical daemons are not running) Applies to ACTIVE state.
   969  	//   "AGENT_NOT_INSTALLED" - The instance has not installed health monitoring
   970  	// agent. Applies to ACTIVE state.
   971  	//   "AGENT_NOT_RUNNING" - The instance health monitoring agent is not running.
   972  	// Applies to ACTIVE state.
   973  	HealthState string `json:"healthState,omitempty"`
   974  
   975  	// ServerResponse contains the HTTP response code and headers from the server.
   976  	googleapi.ServerResponse `json:"-"`
   977  	// ForceSendFields is a list of field names (e.g. "HealthInfo") to
   978  	// unconditionally include in API requests. By default, fields with empty or
   979  	// default values are omitted from API requests. See
   980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   981  	// details.
   982  	ForceSendFields []string `json:"-"`
   983  	// NullFields is a list of field names (e.g. "HealthInfo") to include in API
   984  	// requests with the JSON null value. By default, fields with empty values are
   985  	// omitted from API requests. See
   986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   987  	NullFields []string `json:"-"`
   988  }
   989  
   990  func (s *GetInstanceHealthResponse) MarshalJSON() ([]byte, error) {
   991  	type NoMethod GetInstanceHealthResponse
   992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   993  }
   994  
   995  // GuestOsFeature: Guest OS features for boot disk.
   996  type GuestOsFeature struct {
   997  	// Type: The ID of a supported feature. Read Enabling guest operating system
   998  	// features to see a list of available options. Valid values: *
   999  	// `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` *
  1000  	// `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`
  1001  	Type string `json:"type,omitempty"`
  1002  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  1003  	// include in API requests. By default, fields with empty or default values are
  1004  	// omitted from API requests. See
  1005  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1006  	// details.
  1007  	ForceSendFields []string `json:"-"`
  1008  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  1009  	// with the JSON null value. By default, fields with empty values are omitted
  1010  	// from API requests. See
  1011  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1012  	NullFields []string `json:"-"`
  1013  }
  1014  
  1015  func (s *GuestOsFeature) MarshalJSON() ([]byte, error) {
  1016  	type NoMethod GuestOsFeature
  1017  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1018  }
  1019  
  1020  // Instance: The definition of a notebook instance.
  1021  type Instance struct {
  1022  	// AcceleratorConfig: The hardware accelerator used on this instance. If you
  1023  	// use accelerators, make sure that your configuration has enough vCPUs and
  1024  	// memory to support the `machine_type` you have selected
  1025  	// (https://cloud.google.com/compute/docs/gpus/#gpus-list).
  1026  	AcceleratorConfig *AcceleratorConfig `json:"acceleratorConfig,omitempty"`
  1027  	// BootDiskSizeGb: Input only. The size of the boot disk in GB attached to this
  1028  	// instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value
  1029  	// is 100 GB. If not specified, this defaults to 100.
  1030  	BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty,string"`
  1031  	// BootDiskType: Input only. The type of the boot disk attached to this
  1032  	// instance, defaults to standard persistent disk (`PD_STANDARD`).
  1033  	//
  1034  	// Possible values:
  1035  	//   "DISK_TYPE_UNSPECIFIED" - Disk type not set.
  1036  	//   "PD_STANDARD" - Standard persistent disk type.
  1037  	//   "PD_SSD" - SSD persistent disk type.
  1038  	//   "PD_BALANCED" - Balanced persistent disk type.
  1039  	//   "PD_EXTREME" - Extreme persistent disk type.
  1040  	BootDiskType string `json:"bootDiskType,omitempty"`
  1041  	// CanIpForward: Optional. Flag to enable ip forwarding or not, default
  1042  	// false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
  1043  	CanIpForward bool `json:"canIpForward,omitempty"`
  1044  	// ContainerImage: Use a container image to start the notebook instance.
  1045  	ContainerImage *ContainerImage `json:"containerImage,omitempty"`
  1046  	// CreateTime: Output only. Instance creation time.
  1047  	CreateTime string `json:"createTime,omitempty"`
  1048  	// Creator: Output only. Email address of entity that sent original
  1049  	// CreateInstance request.
  1050  	Creator string `json:"creator,omitempty"`
  1051  	// CustomGpuDriverPath: Specify a custom Cloud Storage path where the GPU
  1052  	// driver is stored. If not specified, we'll automatically choose from official
  1053  	// GPU drivers.
  1054  	CustomGpuDriverPath string `json:"customGpuDriverPath,omitempty"`
  1055  	// DataDiskSizeGb: Input only. The size of the data disk in GB attached to this
  1056  	// instance, up to a maximum of 64000 GB (64 TB). You can choose the size of
  1057  	// the data disk based on how big your notebooks and data are. If not
  1058  	// specified, this defaults to 100.
  1059  	DataDiskSizeGb int64 `json:"dataDiskSizeGb,omitempty,string"`
  1060  	// DataDiskType: Input only. The type of the data disk attached to this
  1061  	// instance, defaults to standard persistent disk (`PD_STANDARD`).
  1062  	//
  1063  	// Possible values:
  1064  	//   "DISK_TYPE_UNSPECIFIED" - Disk type not set.
  1065  	//   "PD_STANDARD" - Standard persistent disk type.
  1066  	//   "PD_SSD" - SSD persistent disk type.
  1067  	//   "PD_BALANCED" - Balanced persistent disk type.
  1068  	//   "PD_EXTREME" - Extreme persistent disk type.
  1069  	DataDiskType string `json:"dataDiskType,omitempty"`
  1070  	// DiskEncryption: Input only. Disk encryption method used on the boot and data
  1071  	// disks, defaults to GMEK.
  1072  	//
  1073  	// Possible values:
  1074  	//   "DISK_ENCRYPTION_UNSPECIFIED" - Disk encryption is not specified.
  1075  	//   "GMEK" - Use Google managed encryption keys to encrypt the boot disk.
  1076  	//   "CMEK" - Use customer managed encryption keys to encrypt the boot disk.
  1077  	DiskEncryption string `json:"diskEncryption,omitempty"`
  1078  	// Disks: Output only. Attached disks to notebook instance.
  1079  	Disks []*Disk `json:"disks,omitempty"`
  1080  	// InstallGpuDriver: Whether the end user authorizes Google Cloud to install
  1081  	// GPU driver on this instance. If this field is empty or set to false, the GPU
  1082  	// driver won't be installed. Only applicable to instances with GPUs.
  1083  	InstallGpuDriver bool `json:"installGpuDriver,omitempty"`
  1084  	// InstanceMigrationEligibility: Output only. Checks how feasible a migration
  1085  	// from UmN to WbI is.
  1086  	InstanceMigrationEligibility *InstanceMigrationEligibility `json:"instanceMigrationEligibility,omitempty"`
  1087  	// InstanceOwners: Input only. The owner of this instance after creation.
  1088  	// Format: `alias@example.com` Currently supports one owner only. If not
  1089  	// specified, all of the service account users of your VM instance's service
  1090  	// account can use the instance.
  1091  	InstanceOwners []string `json:"instanceOwners,omitempty"`
  1092  	// KmsKey: Input only. The KMS key used to encrypt the disks, only applicable
  1093  	// if disk_encryption is CMEK. Format:
  1094  	// `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys
  1095  	// /{key_id}` Learn more about using your own encryption keys
  1096  	// (/kms/docs/quickstart).
  1097  	KmsKey string `json:"kmsKey,omitempty"`
  1098  	// Labels: Labels to apply to this instance. These can be later modified by the
  1099  	// setLabels method.
  1100  	Labels map[string]string `json:"labels,omitempty"`
  1101  	// MachineType: Required. The Compute Engine machine type
  1102  	// (https://cloud.google.com/compute/docs/machine-types) of this instance.
  1103  	MachineType string `json:"machineType,omitempty"`
  1104  	// Metadata: Custom metadata to apply to this instance. For example, to specify
  1105  	// a Cloud Storage bucket for automatic backup, you can use the
  1106  	// `gcs-data-bucket` metadata tag. Format:
  1107  	// "--metadata=gcs-data-bucket=BUCKET".
  1108  	Metadata map[string]string `json:"metadata,omitempty"`
  1109  	// Migrated: Output only. Bool indicating whether this notebook has been
  1110  	// migrated to a Workbench Instance
  1111  	Migrated bool `json:"migrated,omitempty"`
  1112  	// Name: Output only. The name of this notebook instance. Format:
  1113  	// `projects/{project_id}/locations/{location}/instances/{instance_id}`
  1114  	Name string `json:"name,omitempty"`
  1115  	// Network: The name of the VPC that this instance is in. Format:
  1116  	// `projects/{project_id}/global/networks/{network_id}`
  1117  	Network string `json:"network,omitempty"`
  1118  	// NicType: Optional. The type of vNIC to be used on this interface. This may
  1119  	// be gVNIC or VirtioNet.
  1120  	//
  1121  	// Possible values:
  1122  	//   "UNSPECIFIED_NIC_TYPE" - No type specified.
  1123  	//   "VIRTIO_NET" - VIRTIO
  1124  	//   "GVNIC" - GVNIC
  1125  	NicType string `json:"nicType,omitempty"`
  1126  	// NoProxyAccess: If true, the notebook instance will not register with the
  1127  	// proxy.
  1128  	NoProxyAccess bool `json:"noProxyAccess,omitempty"`
  1129  	// NoPublicIp: If true, no external IP will be assigned to this instance.
  1130  	NoPublicIp bool `json:"noPublicIp,omitempty"`
  1131  	// NoRemoveDataDisk: Input only. If true, the data disk will not be auto
  1132  	// deleted when deleting the instance.
  1133  	NoRemoveDataDisk bool `json:"noRemoveDataDisk,omitempty"`
  1134  	// PostStartupScript: Path to a Bash script that automatically runs after a
  1135  	// notebook instance fully boots up. The path must be a URL or Cloud Storage
  1136  	// path (`gs://path-to-file/file-name`).
  1137  	PostStartupScript string `json:"postStartupScript,omitempty"`
  1138  	// ProxyUri: Output only. The proxy endpoint that is used to access the Jupyter
  1139  	// notebook.
  1140  	ProxyUri string `json:"proxyUri,omitempty"`
  1141  	// ReservationAffinity: Optional. The optional reservation affinity. Setting
  1142  	// this field will apply the specified Zonal Compute Reservation
  1143  	// (https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
  1144  	// to this notebook instance.
  1145  	ReservationAffinity *ReservationAffinity `json:"reservationAffinity,omitempty"`
  1146  	// ServiceAccount: The service account on this instance, giving access to other
  1147  	// Google Cloud services. You can use any service account within the same
  1148  	// project, but you must have the service account user permission to use the
  1149  	// instance. If not specified, the Compute Engine default service account
  1150  	// (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
  1151  	// is used.
  1152  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1153  	// ServiceAccountScopes: Optional. The URIs of service account scopes to be
  1154  	// included in Compute Engine instances. If not specified, the following scopes
  1155  	// (https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam)
  1156  	// are defined: - https://www.googleapis.com/auth/cloud-platform -
  1157  	// https://www.googleapis.com/auth/userinfo.email If not using default scopes,
  1158  	// you need at least: https://www.googleapis.com/auth/compute
  1159  	ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"`
  1160  	// ShieldedInstanceConfig: Optional. Shielded VM configuration. Images using
  1161  	// supported Shielded VM features
  1162  	// (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  1163  	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
  1164  	// State: Output only. The state of this instance.
  1165  	//
  1166  	// Possible values:
  1167  	//   "STATE_UNSPECIFIED" - State is not specified.
  1168  	//   "STARTING" - The control logic is starting the instance.
  1169  	//   "PROVISIONING" - The control logic is installing required frameworks and
  1170  	// registering the instance with notebook proxy
  1171  	//   "ACTIVE" - The instance is running.
  1172  	//   "STOPPING" - The control logic is stopping the instance.
  1173  	//   "STOPPED" - The instance is stopped.
  1174  	//   "DELETED" - The instance is deleted.
  1175  	//   "UPGRADING" - The instance is upgrading.
  1176  	//   "INITIALIZING" - The instance is being created.
  1177  	//   "REGISTERING" - The instance is getting registered.
  1178  	//   "SUSPENDING" - The instance is suspending.
  1179  	//   "SUSPENDED" - The instance is suspended.
  1180  	State string `json:"state,omitempty"`
  1181  	// Subnet: The name of the subnet that this instance is in. Format:
  1182  	// `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
  1183  	Subnet string `json:"subnet,omitempty"`
  1184  	// Tags: Optional. The Compute Engine tags to add to runtime (see Tagging
  1185  	// instances
  1186  	// (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
  1187  	Tags []string `json:"tags,omitempty"`
  1188  	// UpdateTime: Output only. Instance update time.
  1189  	UpdateTime string `json:"updateTime,omitempty"`
  1190  	// UpgradeHistory: The upgrade history of this instance.
  1191  	UpgradeHistory []*UpgradeHistoryEntry `json:"upgradeHistory,omitempty"`
  1192  	// VmImage: Use a Compute Engine VM image to start the notebook instance.
  1193  	VmImage *VmImage `json:"vmImage,omitempty"`
  1194  
  1195  	// ServerResponse contains the HTTP response code and headers from the server.
  1196  	googleapi.ServerResponse `json:"-"`
  1197  	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig") to
  1198  	// unconditionally include in API requests. By default, fields with empty or
  1199  	// default values are omitted from API requests. See
  1200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1201  	// details.
  1202  	ForceSendFields []string `json:"-"`
  1203  	// NullFields is a list of field names (e.g. "AcceleratorConfig") to include in
  1204  	// API requests with the JSON null value. By default, fields with empty values
  1205  	// are omitted from API requests. See
  1206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1207  	NullFields []string `json:"-"`
  1208  }
  1209  
  1210  func (s *Instance) MarshalJSON() ([]byte, error) {
  1211  	type NoMethod Instance
  1212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1213  }
  1214  
  1215  // InstanceConfig: Notebook instance configurations that can be updated.
  1216  type InstanceConfig struct {
  1217  	// EnableHealthMonitoring: Verifies core internal services are running.
  1218  	EnableHealthMonitoring bool `json:"enableHealthMonitoring,omitempty"`
  1219  	// NotebookUpgradeSchedule: Cron expression in UTC timezone, used to schedule
  1220  	// instance auto upgrade. Please follow the cron format
  1221  	// (https://en.wikipedia.org/wiki/Cron).
  1222  	NotebookUpgradeSchedule string `json:"notebookUpgradeSchedule,omitempty"`
  1223  	// ForceSendFields is a list of field names (e.g. "EnableHealthMonitoring") to
  1224  	// unconditionally include in API requests. By default, fields with empty or
  1225  	// default values are omitted from API requests. See
  1226  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1227  	// details.
  1228  	ForceSendFields []string `json:"-"`
  1229  	// NullFields is a list of field names (e.g. "EnableHealthMonitoring") to
  1230  	// include in API requests with the JSON null value. By default, fields with
  1231  	// empty values are omitted from API requests. See
  1232  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1233  	NullFields []string `json:"-"`
  1234  }
  1235  
  1236  func (s *InstanceConfig) MarshalJSON() ([]byte, error) {
  1237  	type NoMethod InstanceConfig
  1238  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1239  }
  1240  
  1241  // InstanceMigrationEligibility: InstanceMigrationEligibility represents the
  1242  // feasibility information of a migration from UmN to WbI.
  1243  type InstanceMigrationEligibility struct {
  1244  	// Errors: Output only. Certain configurations make the UmN ineligible for an
  1245  	// automatic migration. A manual migration is required.
  1246  	//
  1247  	// Possible values:
  1248  	//   "ERROR_UNSPECIFIED" - Default type.
  1249  	//   "DATAPROC_HUB" - The UmN uses Dataproc Hub and cannot be migrated.
  1250  	Errors []string `json:"errors,omitempty"`
  1251  	// Warnings: Output only. Certain configurations will be defaulted during the
  1252  	// migration.
  1253  	//
  1254  	// Possible values:
  1255  	//   "WARNING_UNSPECIFIED" - Default type.
  1256  	//   "UNSUPPORTED_MACHINE_TYPE" - The UmN uses an machine type that's
  1257  	// unsupported in WbI. It will be migrated with the default machine type
  1258  	// e2-standard-4. Users can change the machine type after the migration.
  1259  	//   "UNSUPPORTED_ACCELERATOR_TYPE" - The UmN uses an accelerator type that's
  1260  	// unsupported in WbI. It will be migrated without an accelerator. User can
  1261  	// attach an accelerator after the migration.
  1262  	//   "UNSUPPORTED_OS" - The UmN uses an operating system that's unsupported in
  1263  	// WbI (e.g. Debian 10, Ubuntu). It will be replaced with Debian 11 in WbI.
  1264  	//   "NO_REMOVE_DATA_DISK" - This UmN is configured with no_remove_data_disk,
  1265  	// which is no longer available in WbI.
  1266  	//   "GCS_BACKUP" - This UmN is configured with the Cloud Storage backup
  1267  	// feature, which is no longer available in WbI.
  1268  	//   "POST_STARTUP_SCRIPT" - This UmN is configured with a post startup script.
  1269  	// Please optionally provide the `post_startup_script_option` for the
  1270  	// migration.
  1271  	Warnings []string `json:"warnings,omitempty"`
  1272  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  1273  	// include in API requests. By default, fields with empty or default values are
  1274  	// omitted from API requests. See
  1275  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1276  	// details.
  1277  	ForceSendFields []string `json:"-"`
  1278  	// NullFields is a list of field names (e.g. "Errors") to include in API
  1279  	// requests with the JSON null value. By default, fields with empty values are
  1280  	// omitted from API requests. See
  1281  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1282  	NullFields []string `json:"-"`
  1283  }
  1284  
  1285  func (s *InstanceMigrationEligibility) MarshalJSON() ([]byte, error) {
  1286  	type NoMethod InstanceMigrationEligibility
  1287  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1288  }
  1289  
  1290  // IsInstanceUpgradeableResponse: Response for checking if a notebook instance
  1291  // is upgradeable.
  1292  type IsInstanceUpgradeableResponse struct {
  1293  	// UpgradeImage: The new image self link this instance will be upgraded to if
  1294  	// calling the upgrade endpoint. This field will only be populated if field
  1295  	// upgradeable is true.
  1296  	UpgradeImage string `json:"upgradeImage,omitempty"`
  1297  	// UpgradeInfo: Additional information about upgrade.
  1298  	UpgradeInfo string `json:"upgradeInfo,omitempty"`
  1299  	// UpgradeVersion: The version this instance will be upgraded to if calling the
  1300  	// upgrade endpoint. This field will only be populated if field upgradeable is
  1301  	// true.
  1302  	UpgradeVersion string `json:"upgradeVersion,omitempty"`
  1303  	// Upgradeable: If an instance is upgradeable.
  1304  	Upgradeable bool `json:"upgradeable,omitempty"`
  1305  
  1306  	// ServerResponse contains the HTTP response code and headers from the server.
  1307  	googleapi.ServerResponse `json:"-"`
  1308  	// ForceSendFields is a list of field names (e.g. "UpgradeImage") to
  1309  	// unconditionally include in API requests. By default, fields with empty or
  1310  	// default values are omitted from API requests. See
  1311  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1312  	// details.
  1313  	ForceSendFields []string `json:"-"`
  1314  	// NullFields is a list of field names (e.g. "UpgradeImage") to include in API
  1315  	// requests with the JSON null value. By default, fields with empty values are
  1316  	// omitted from API requests. See
  1317  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1318  	NullFields []string `json:"-"`
  1319  }
  1320  
  1321  func (s *IsInstanceUpgradeableResponse) MarshalJSON() ([]byte, error) {
  1322  	type NoMethod IsInstanceUpgradeableResponse
  1323  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1324  }
  1325  
  1326  // ListEnvironmentsResponse: Response for listing environments.
  1327  type ListEnvironmentsResponse struct {
  1328  	// Environments: A list of returned environments.
  1329  	Environments []*Environment `json:"environments,omitempty"`
  1330  	// NextPageToken: A page token that can be used to continue listing from the
  1331  	// last result in the next list call.
  1332  	NextPageToken string `json:"nextPageToken,omitempty"`
  1333  	// Unreachable: Locations that could not be reached.
  1334  	Unreachable []string `json:"unreachable,omitempty"`
  1335  
  1336  	// ServerResponse contains the HTTP response code and headers from the server.
  1337  	googleapi.ServerResponse `json:"-"`
  1338  	// ForceSendFields is a list of field names (e.g. "Environments") to
  1339  	// unconditionally include in API requests. By default, fields with empty or
  1340  	// default values are omitted from API requests. See
  1341  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1342  	// details.
  1343  	ForceSendFields []string `json:"-"`
  1344  	// NullFields is a list of field names (e.g. "Environments") to include in API
  1345  	// requests with the JSON null value. By default, fields with empty values are
  1346  	// omitted from API requests. See
  1347  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1348  	NullFields []string `json:"-"`
  1349  }
  1350  
  1351  func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
  1352  	type NoMethod ListEnvironmentsResponse
  1353  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1354  }
  1355  
  1356  // ListExecutionsResponse: Response for listing scheduled notebook executions
  1357  type ListExecutionsResponse struct {
  1358  	// Executions: A list of returned instances.
  1359  	Executions []*Execution `json:"executions,omitempty"`
  1360  	// NextPageToken: Page token that can be used to continue listing from the last
  1361  	// result in the next list call.
  1362  	NextPageToken string `json:"nextPageToken,omitempty"`
  1363  	// Unreachable: Executions IDs that could not be reached. For example:
  1364  	// ['projects/{project_id}/location/{location}/executions/imagenet_test1',
  1365  	// 'projects/{project_id}/location/{location}/executions/classifier_train1']
  1366  	Unreachable []string `json:"unreachable,omitempty"`
  1367  
  1368  	// ServerResponse contains the HTTP response code and headers from the server.
  1369  	googleapi.ServerResponse `json:"-"`
  1370  	// ForceSendFields is a list of field names (e.g. "Executions") to
  1371  	// unconditionally include in API requests. By default, fields with empty or
  1372  	// default values are omitted from API requests. See
  1373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1374  	// details.
  1375  	ForceSendFields []string `json:"-"`
  1376  	// NullFields is a list of field names (e.g. "Executions") to include in API
  1377  	// requests with the JSON null value. By default, fields with empty values are
  1378  	// omitted from API requests. See
  1379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1380  	NullFields []string `json:"-"`
  1381  }
  1382  
  1383  func (s *ListExecutionsResponse) MarshalJSON() ([]byte, error) {
  1384  	type NoMethod ListExecutionsResponse
  1385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1386  }
  1387  
  1388  // ListInstancesResponse: Response for listing notebook instances.
  1389  type ListInstancesResponse struct {
  1390  	// Instances: A list of returned instances.
  1391  	Instances []*Instance `json:"instances,omitempty"`
  1392  	// NextPageToken: Page token that can be used to continue listing from the last
  1393  	// result in the next list call.
  1394  	NextPageToken string `json:"nextPageToken,omitempty"`
  1395  	// Unreachable: Locations that could not be reached. For example,
  1396  	// `['us-west1-a', 'us-central1-b']`. A ListInstancesResponse will only contain
  1397  	// either instances or unreachables,
  1398  	Unreachable []string `json:"unreachable,omitempty"`
  1399  
  1400  	// ServerResponse contains the HTTP response code and headers from the server.
  1401  	googleapi.ServerResponse `json:"-"`
  1402  	// ForceSendFields is a list of field names (e.g. "Instances") to
  1403  	// unconditionally include in API requests. By default, fields with empty or
  1404  	// default values are omitted from API requests. See
  1405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1406  	// details.
  1407  	ForceSendFields []string `json:"-"`
  1408  	// NullFields is a list of field names (e.g. "Instances") to include in API
  1409  	// requests with the JSON null value. By default, fields with empty values are
  1410  	// omitted from API requests. See
  1411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1412  	NullFields []string `json:"-"`
  1413  }
  1414  
  1415  func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
  1416  	type NoMethod ListInstancesResponse
  1417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1418  }
  1419  
  1420  // ListLocationsResponse: The response message for Locations.ListLocations.
  1421  type ListLocationsResponse struct {
  1422  	// Locations: A list of locations that matches the specified filter in the
  1423  	// request.
  1424  	Locations []*Location `json:"locations,omitempty"`
  1425  	// NextPageToken: The standard List next-page token.
  1426  	NextPageToken string `json:"nextPageToken,omitempty"`
  1427  
  1428  	// ServerResponse contains the HTTP response code and headers from the server.
  1429  	googleapi.ServerResponse `json:"-"`
  1430  	// ForceSendFields is a list of field names (e.g. "Locations") to
  1431  	// unconditionally include in API requests. By default, fields with empty or
  1432  	// default values are omitted from API requests. See
  1433  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1434  	// details.
  1435  	ForceSendFields []string `json:"-"`
  1436  	// NullFields is a list of field names (e.g. "Locations") to include in API
  1437  	// requests with the JSON null value. By default, fields with empty values are
  1438  	// omitted from API requests. See
  1439  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1440  	NullFields []string `json:"-"`
  1441  }
  1442  
  1443  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  1444  	type NoMethod ListLocationsResponse
  1445  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1446  }
  1447  
  1448  // ListOperationsResponse: The response message for Operations.ListOperations.
  1449  type ListOperationsResponse struct {
  1450  	// NextPageToken: The standard List next-page token.
  1451  	NextPageToken string `json:"nextPageToken,omitempty"`
  1452  	// Operations: A list of operations that matches the specified filter in the
  1453  	// request.
  1454  	Operations []*Operation `json:"operations,omitempty"`
  1455  
  1456  	// ServerResponse contains the HTTP response code and headers from the server.
  1457  	googleapi.ServerResponse `json:"-"`
  1458  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1459  	// unconditionally include in API requests. By default, fields with empty or
  1460  	// default values are omitted from API requests. See
  1461  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1462  	// details.
  1463  	ForceSendFields []string `json:"-"`
  1464  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1465  	// requests with the JSON null value. By default, fields with empty values are
  1466  	// omitted from API requests. See
  1467  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1468  	NullFields []string `json:"-"`
  1469  }
  1470  
  1471  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  1472  	type NoMethod ListOperationsResponse
  1473  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1474  }
  1475  
  1476  // ListRuntimesResponse: Response for listing Managed Notebook Runtimes.
  1477  type ListRuntimesResponse struct {
  1478  	// NextPageToken: Page token that can be used to continue listing from the last
  1479  	// result in the next list call.
  1480  	NextPageToken string `json:"nextPageToken,omitempty"`
  1481  	// Runtimes: A list of returned Runtimes.
  1482  	Runtimes []*Runtime `json:"runtimes,omitempty"`
  1483  	// Unreachable: Locations that could not be reached. For example, `['us-west1',
  1484  	// 'us-central1']`. A ListRuntimesResponse will only contain either runtimes or
  1485  	// unreachables,
  1486  	Unreachable []string `json:"unreachable,omitempty"`
  1487  
  1488  	// ServerResponse contains the HTTP response code and headers from the server.
  1489  	googleapi.ServerResponse `json:"-"`
  1490  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1491  	// unconditionally include in API requests. By default, fields with empty or
  1492  	// default values are omitted from API requests. See
  1493  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1494  	// details.
  1495  	ForceSendFields []string `json:"-"`
  1496  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1497  	// requests with the JSON null value. By default, fields with empty values are
  1498  	// omitted from API requests. See
  1499  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1500  	NullFields []string `json:"-"`
  1501  }
  1502  
  1503  func (s *ListRuntimesResponse) MarshalJSON() ([]byte, error) {
  1504  	type NoMethod ListRuntimesResponse
  1505  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1506  }
  1507  
  1508  // ListSchedulesResponse: Response for listing scheduled notebook job.
  1509  type ListSchedulesResponse struct {
  1510  	// NextPageToken: Page token that can be used to continue listing from the last
  1511  	// result in the next list call.
  1512  	NextPageToken string `json:"nextPageToken,omitempty"`
  1513  	// Schedules: A list of returned instances.
  1514  	Schedules []*Schedule `json:"schedules,omitempty"`
  1515  	// Unreachable: Schedules that could not be reached. For example:
  1516  	// ['projects/{project_id}/location/{location}/schedules/monthly_digest',
  1517  	// 'projects/{project_id}/location/{location}/schedules/weekly_sentiment']
  1518  	Unreachable []string `json:"unreachable,omitempty"`
  1519  
  1520  	// ServerResponse contains the HTTP response code and headers from the server.
  1521  	googleapi.ServerResponse `json:"-"`
  1522  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1523  	// unconditionally include in API requests. By default, fields with empty or
  1524  	// default values are omitted from API requests. See
  1525  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1526  	// details.
  1527  	ForceSendFields []string `json:"-"`
  1528  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1529  	// requests with the JSON null value. By default, fields with empty values are
  1530  	// omitted from API requests. See
  1531  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1532  	NullFields []string `json:"-"`
  1533  }
  1534  
  1535  func (s *ListSchedulesResponse) MarshalJSON() ([]byte, error) {
  1536  	type NoMethod ListSchedulesResponse
  1537  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1538  }
  1539  
  1540  // LocalDisk: A Local attached disk resource.
  1541  type LocalDisk struct {
  1542  	// AutoDelete: Optional. Output only. Specifies whether the disk will be
  1543  	// auto-deleted when the instance is deleted (but not when the disk is detached
  1544  	// from the instance).
  1545  	AutoDelete bool `json:"autoDelete,omitempty"`
  1546  	// Boot: Optional. Output only. Indicates that this is a boot disk. The virtual
  1547  	// machine will use the first partition of the disk for its root filesystem.
  1548  	Boot bool `json:"boot,omitempty"`
  1549  	// DeviceName: Optional. Output only. Specifies a unique device name of your
  1550  	// choice that is reflected into the `/dev/disk/by-id/google-*` tree of a Linux
  1551  	// operating system running within the instance. This name can be used to
  1552  	// reference the device for mounting, resizing, and so on, from within the
  1553  	// instance. If not specified, the server chooses a default device name to
  1554  	// apply to this disk, in the form persistent-disk-x, where x is a number
  1555  	// assigned by Google Compute Engine. This field is only applicable for
  1556  	// persistent disks.
  1557  	DeviceName string `json:"deviceName,omitempty"`
  1558  	// GuestOsFeatures: Output only. Indicates a list of features to enable on the
  1559  	// guest operating system. Applicable only for bootable images. Read Enabling
  1560  	// guest operating system features to see a list of available options.
  1561  	GuestOsFeatures []*RuntimeGuestOsFeature `json:"guestOsFeatures,omitempty"`
  1562  	// Index: Output only. A zero-based index to this disk, where 0 is reserved for
  1563  	// the boot disk. If you have many disks attached to an instance, each disk
  1564  	// would have a unique index number.
  1565  	Index int64 `json:"index,omitempty"`
  1566  	// InitializeParams: Input only. Specifies the parameters for a new disk that
  1567  	// will be created alongside the new instance. Use initialization parameters to
  1568  	// create boot disks or local SSDs attached to the new instance. This property
  1569  	// is mutually exclusive with the source property; you can only define one or
  1570  	// the other, but not both.
  1571  	InitializeParams *LocalDiskInitializeParams `json:"initializeParams,omitempty"`
  1572  	// Interface: Specifies the disk interface to use for attaching this disk,
  1573  	// which is either SCSI or NVME. The default is SCSI. Persistent disks must
  1574  	// always use SCSI and the request will fail if you attempt to attach a
  1575  	// persistent disk in any other format than SCSI. Local SSDs can use either
  1576  	// NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local
  1577  	// SSD performance. Valid values: * `NVME` * `SCSI`
  1578  	Interface string `json:"interface,omitempty"`
  1579  	// Kind: Output only. Type of the resource. Always compute#attachedDisk for
  1580  	// attached disks.
  1581  	Kind string `json:"kind,omitempty"`
  1582  	// Licenses: Output only. Any valid publicly visible licenses.
  1583  	Licenses []string `json:"licenses,omitempty"`
  1584  	// Mode: The mode in which to attach this disk, either `READ_WRITE` or
  1585  	// `READ_ONLY`. If not specified, the default is to attach the disk in
  1586  	// `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`
  1587  	Mode string `json:"mode,omitempty"`
  1588  	// Source: Specifies a valid partial or full URL to an existing Persistent Disk
  1589  	// resource.
  1590  	Source string `json:"source,omitempty"`
  1591  	// Type: Specifies the type of the disk, either `SCRATCH` or `PERSISTENT`. If
  1592  	// not specified, the default is `PERSISTENT`. Valid values: * `PERSISTENT` *
  1593  	// `SCRATCH`
  1594  	Type string `json:"type,omitempty"`
  1595  	// ForceSendFields is a list of field names (e.g. "AutoDelete") to
  1596  	// unconditionally include in API requests. By default, fields with empty or
  1597  	// default values are omitted from API requests. See
  1598  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1599  	// details.
  1600  	ForceSendFields []string `json:"-"`
  1601  	// NullFields is a list of field names (e.g. "AutoDelete") to include in API
  1602  	// requests with the JSON null value. By default, fields with empty values are
  1603  	// omitted from API requests. See
  1604  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1605  	NullFields []string `json:"-"`
  1606  }
  1607  
  1608  func (s *LocalDisk) MarshalJSON() ([]byte, error) {
  1609  	type NoMethod LocalDisk
  1610  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1611  }
  1612  
  1613  // LocalDiskInitializeParams: Input only. Specifies the parameters for a new
  1614  // disk that will be created alongside the new instance. Use initialization
  1615  // parameters to create boot disks or local SSDs attached to the new runtime.
  1616  // This property is mutually exclusive with the source property; you can only
  1617  // define one or the other, but not both.
  1618  type LocalDiskInitializeParams struct {
  1619  	// Description: Optional. Provide this property when creating the disk.
  1620  	Description string `json:"description,omitempty"`
  1621  	// DiskName: Optional. Specifies the disk name. If not specified, the default
  1622  	// is to use the name of the instance. If the disk with the instance name
  1623  	// exists already in the given zone/region, a new name will be automatically
  1624  	// generated.
  1625  	DiskName string `json:"diskName,omitempty"`
  1626  	// DiskSizeGb: Optional. Specifies the size of the disk in base-2 GB. If not
  1627  	// specified, the disk will be the same size as the image (usually 10GB). If
  1628  	// specified, the size must be equal to or larger than 10GB. Default 100 GB.
  1629  	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
  1630  	// DiskType: Input only. The type of the boot disk attached to this instance,
  1631  	// defaults to standard persistent disk (`PD_STANDARD`).
  1632  	//
  1633  	// Possible values:
  1634  	//   "DISK_TYPE_UNSPECIFIED" - Disk type not set.
  1635  	//   "PD_STANDARD" - Standard persistent disk type.
  1636  	//   "PD_SSD" - SSD persistent disk type.
  1637  	//   "PD_BALANCED" - Balanced persistent disk type.
  1638  	//   "PD_EXTREME" - Extreme persistent disk type.
  1639  	DiskType string `json:"diskType,omitempty"`
  1640  	// Labels: Optional. Labels to apply to this disk. These can be later modified
  1641  	// by the disks.setLabels method. This field is only applicable for persistent
  1642  	// disks.
  1643  	Labels map[string]string `json:"labels,omitempty"`
  1644  	// ForceSendFields is a list of field names (e.g. "Description") 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. "Description") 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 *LocalDiskInitializeParams) MarshalJSON() ([]byte, error) {
  1658  	type NoMethod LocalDiskInitializeParams
  1659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1660  }
  1661  
  1662  // Location: A resource that represents a Google Cloud location.
  1663  type Location struct {
  1664  	// DisplayName: The friendly name for this location, typically a nearby city
  1665  	// name. For example, "Tokyo".
  1666  	DisplayName string `json:"displayName,omitempty"`
  1667  	// Labels: Cross-service attributes for the location. For example
  1668  	// {"cloud.googleapis.com/region": "us-east1"}
  1669  	Labels map[string]string `json:"labels,omitempty"`
  1670  	// LocationId: The canonical id for this location. For example: "us-east1".
  1671  	LocationId string `json:"locationId,omitempty"`
  1672  	// Metadata: Service-specific metadata. For example the available capacity at
  1673  	// the given location.
  1674  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  1675  	// Name: Resource name for the location, which may vary between
  1676  	// implementations. For example:
  1677  	// "projects/example-project/locations/us-east1"
  1678  	Name string `json:"name,omitempty"`
  1679  
  1680  	// ServerResponse contains the HTTP response code and headers from the server.
  1681  	googleapi.ServerResponse `json:"-"`
  1682  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1683  	// unconditionally include in API requests. By default, fields with empty or
  1684  	// default values are omitted from API requests. See
  1685  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1686  	// details.
  1687  	ForceSendFields []string `json:"-"`
  1688  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1689  	// requests with the JSON null value. By default, fields with empty values are
  1690  	// omitted from API requests. See
  1691  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1692  	NullFields []string `json:"-"`
  1693  }
  1694  
  1695  func (s *Location) MarshalJSON() ([]byte, error) {
  1696  	type NoMethod Location
  1697  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1698  }
  1699  
  1700  // MigrateInstanceRequest: Request for migrating a User-Managed Notebook to
  1701  // Workbench Instances.
  1702  type MigrateInstanceRequest struct {
  1703  	// PostStartupScriptOption: Optional. Specifies the behavior of post startup
  1704  	// script during migration.
  1705  	//
  1706  	// Possible values:
  1707  	//   "POST_STARTUP_SCRIPT_OPTION_UNSPECIFIED" - Post startup script option is
  1708  	// not specified. Default is POST_STARTUP_SCRIPT_OPTION_SKIP.
  1709  	//   "POST_STARTUP_SCRIPT_OPTION_SKIP" - Not migrate the post startup script to
  1710  	// the new Workbench Instance.
  1711  	//   "POST_STARTUP_SCRIPT_OPTION_RERUN" - Redownload and rerun the same post
  1712  	// startup script as the User-Managed Notebook.
  1713  	PostStartupScriptOption string `json:"postStartupScriptOption,omitempty"`
  1714  	// ForceSendFields is a list of field names (e.g. "PostStartupScriptOption") to
  1715  	// unconditionally include in API requests. By default, fields with empty or
  1716  	// default values are omitted from API requests. See
  1717  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1718  	// details.
  1719  	ForceSendFields []string `json:"-"`
  1720  	// NullFields is a list of field names (e.g. "PostStartupScriptOption") to
  1721  	// include in API requests with the JSON null value. By default, fields with
  1722  	// empty values are omitted from API requests. See
  1723  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1724  	NullFields []string `json:"-"`
  1725  }
  1726  
  1727  func (s *MigrateInstanceRequest) MarshalJSON() ([]byte, error) {
  1728  	type NoMethod MigrateInstanceRequest
  1729  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1730  }
  1731  
  1732  // MigrateRuntimeRequest: Request for migrating a Runtime to a Workbench
  1733  // Instance.
  1734  type MigrateRuntimeRequest struct {
  1735  	// Network: Optional. Name of the VPC that the new Instance is in. This is
  1736  	// required if the Runtime uses google-managed network. If the Runtime uses
  1737  	// customer-owned network, it will reuse the same VPC, and this field must be
  1738  	// empty. Format: `projects/{project_id}/global/networks/{network_id}`
  1739  	Network string `json:"network,omitempty"`
  1740  	// PostStartupScriptOption: Optional. Specifies the behavior of post startup
  1741  	// script during migration.
  1742  	//
  1743  	// Possible values:
  1744  	//   "POST_STARTUP_SCRIPT_OPTION_UNSPECIFIED" - Post startup script option is
  1745  	// not specified. Default is POST_STARTUP_SCRIPT_OPTION_SKIP.
  1746  	//   "POST_STARTUP_SCRIPT_OPTION_SKIP" - Not migrate the post startup script to
  1747  	// the new Workbench Instance.
  1748  	//   "POST_STARTUP_SCRIPT_OPTION_RERUN" - Redownload and rerun the same post
  1749  	// startup script as the Google-Managed Notebook.
  1750  	PostStartupScriptOption string `json:"postStartupScriptOption,omitempty"`
  1751  	// RequestId: Optional. Idempotent request UUID.
  1752  	RequestId string `json:"requestId,omitempty"`
  1753  	// ServiceAccount: Optional. The service account to be included in the Compute
  1754  	// Engine instance of the new Workbench Instance when the Runtime uses "single
  1755  	// user only" mode for permission. If not specified, the Compute Engine default
  1756  	// service account
  1757  	// (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
  1758  	// is used. When the Runtime uses service account mode for permission, it will
  1759  	// reuse the same service account, and this field must be empty.
  1760  	ServiceAccount string `json:"serviceAccount,omitempty"`
  1761  	// Subnet: Optional. Name of the subnet that the new Instance is in. This is
  1762  	// required if the Runtime uses google-managed network. If the Runtime uses
  1763  	// customer-owned network, it will reuse the same subnet, and this field must
  1764  	// be empty. Format:
  1765  	// `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
  1766  	Subnet string `json:"subnet,omitempty"`
  1767  	// ForceSendFields is a list of field names (e.g. "Network") to unconditionally
  1768  	// include in API requests. By default, fields with empty or default values are
  1769  	// omitted from API requests. See
  1770  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1771  	// details.
  1772  	ForceSendFields []string `json:"-"`
  1773  	// NullFields is a list of field names (e.g. "Network") to include in API
  1774  	// requests with the JSON null value. By default, fields with empty values are
  1775  	// omitted from API requests. See
  1776  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1777  	NullFields []string `json:"-"`
  1778  }
  1779  
  1780  func (s *MigrateRuntimeRequest) MarshalJSON() ([]byte, error) {
  1781  	type NoMethod MigrateRuntimeRequest
  1782  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1783  }
  1784  
  1785  // Operation: This resource represents a long-running operation that is the
  1786  // result of a network API call.
  1787  type Operation struct {
  1788  	// Done: If the value is `false`, it means the operation is still in progress.
  1789  	// If `true`, the operation is completed, and either `error` or `response` is
  1790  	// available.
  1791  	Done bool `json:"done,omitempty"`
  1792  	// Error: The error result of the operation in case of failure or cancellation.
  1793  	Error *Status `json:"error,omitempty"`
  1794  	// Metadata: Service-specific metadata associated with the operation. It
  1795  	// typically contains progress information and common metadata such as create
  1796  	// time. Some services might not provide such metadata. Any method that returns
  1797  	// a long-running operation should document the metadata type, if any.
  1798  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  1799  	// Name: The server-assigned name, which is only unique within the same service
  1800  	// that originally returns it. If you use the default HTTP mapping, the `name`
  1801  	// should be a resource name ending with `operations/{unique_id}`.
  1802  	Name string `json:"name,omitempty"`
  1803  	// Response: The normal, successful response of the operation. If the original
  1804  	// method returns no data on success, such as `Delete`, the response is
  1805  	// `google.protobuf.Empty`. If the original method is standard
  1806  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  1807  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  1808  	// original method name. For example, if the original method name is
  1809  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  1810  	Response googleapi.RawMessage `json:"response,omitempty"`
  1811  
  1812  	// ServerResponse contains the HTTP response code and headers from the server.
  1813  	googleapi.ServerResponse `json:"-"`
  1814  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  1815  	// include in API requests. By default, fields with empty or default values are
  1816  	// omitted from API requests. See
  1817  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1818  	// details.
  1819  	ForceSendFields []string `json:"-"`
  1820  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  1821  	// with the JSON null value. By default, fields with empty values are omitted
  1822  	// from API requests. See
  1823  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1824  	NullFields []string `json:"-"`
  1825  }
  1826  
  1827  func (s *Operation) MarshalJSON() ([]byte, error) {
  1828  	type NoMethod Operation
  1829  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1830  }
  1831  
  1832  // OperationMetadata: Represents the metadata of the long-running operation.
  1833  type OperationMetadata struct {
  1834  	// ApiVersion: API version used to start the operation.
  1835  	ApiVersion string `json:"apiVersion,omitempty"`
  1836  	// CreateTime: The time the operation was created.
  1837  	CreateTime string `json:"createTime,omitempty"`
  1838  	// EndTime: The time the operation finished running.
  1839  	EndTime string `json:"endTime,omitempty"`
  1840  	// Endpoint: API endpoint name of this operation.
  1841  	Endpoint string `json:"endpoint,omitempty"`
  1842  	// RequestedCancellation: Identifies whether the user has requested
  1843  	// cancellation of the operation. Operations that have successfully been
  1844  	// cancelled have Operation.error value with a google.rpc.Status.code of 1,
  1845  	// corresponding to `Code.CANCELLED`.
  1846  	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
  1847  	// StatusMessage: Human-readable status of the operation, if any.
  1848  	StatusMessage string `json:"statusMessage,omitempty"`
  1849  	// Target: Server-defined resource path for the target of the operation.
  1850  	Target string `json:"target,omitempty"`
  1851  	// Verb: Name of the verb executed by the operation.
  1852  	Verb string `json:"verb,omitempty"`
  1853  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  1854  	// unconditionally include in API requests. By default, fields with empty or
  1855  	// default values are omitted from API requests. See
  1856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1857  	// details.
  1858  	ForceSendFields []string `json:"-"`
  1859  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  1860  	// requests with the JSON null value. By default, fields with empty values are
  1861  	// omitted from API requests. See
  1862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1863  	NullFields []string `json:"-"`
  1864  }
  1865  
  1866  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  1867  	type NoMethod OperationMetadata
  1868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1869  }
  1870  
  1871  // Policy: An Identity and Access Management (IAM) policy, which specifies
  1872  // access controls for Google Cloud resources. A `Policy` is a collection of
  1873  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  1874  // single `role`. Principals can be user accounts, service accounts, Google
  1875  // groups, and domains (such as G Suite). A `role` is a named list of
  1876  // permissions; each `role` can be an IAM predefined role or a user-created
  1877  // custom role. For some types of Google Cloud resources, a `binding` can also
  1878  // specify a `condition`, which is a logical expression that allows access to a
  1879  // resource only if the expression evaluates to `true`. A condition can add
  1880  // constraints based on attributes of the request, the resource, or both. To
  1881  // learn which resources support conditions in their IAM policies, see the IAM
  1882  // documentation
  1883  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  1884  // example:** ``` { "bindings": [ { "role":
  1885  // "roles/resourcemanager.organizationAdmin", "members": [
  1886  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  1887  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  1888  // "roles/resourcemanager.organizationViewer", "members": [
  1889  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  1890  // "description": "Does not grant access after Sep 2020", "expression":
  1891  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  1892  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  1893  // members: - user:mike@example.com - group:admins@example.com -
  1894  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  1895  // role: roles/resourcemanager.organizationAdmin - members: -
  1896  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  1897  // condition: title: expirable access description: Does not grant access after
  1898  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  1899  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  1900  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  1901  type Policy struct {
  1902  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  1903  	// Optionally, may specify a `condition` that determines how and when the
  1904  	// `bindings` are applied. Each of the `bindings` must contain at least one
  1905  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  1906  	// up to 250 of these principals can be Google groups. Each occurrence of a
  1907  	// principal counts towards these limits. For example, if the `bindings` grant
  1908  	// 50 different roles to `user:alice@example.com`, and not to any other
  1909  	// principal, then you can add another 1,450 principals to the `bindings` in
  1910  	// the `Policy`.
  1911  	Bindings []*Binding `json:"bindings,omitempty"`
  1912  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  1913  	// prevent simultaneous updates of a policy from overwriting each other. It is
  1914  	// strongly suggested that systems make use of the `etag` in the
  1915  	// read-modify-write cycle to perform policy updates in order to avoid race
  1916  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  1917  	// systems are expected to put that etag in the request to `setIamPolicy` to
  1918  	// ensure that their change will be applied to the same version of the policy.
  1919  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  1920  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  1921  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  1922  	// the conditions in the version `3` policy are lost.
  1923  	Etag string `json:"etag,omitempty"`
  1924  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  1925  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  1926  	// affects conditional role bindings must specify version `3`. This requirement
  1927  	// applies to the following operations: * Getting a policy that includes a
  1928  	// conditional role binding * Adding a conditional role binding to a policy *
  1929  	// Changing a conditional role binding in a policy * Removing any role binding,
  1930  	// with or without a condition, from a policy that includes conditions
  1931  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  1932  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  1933  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  1934  	// the conditions in the version `3` policy are lost. If a policy does not
  1935  	// include any conditions, operations on that policy may specify any valid
  1936  	// version or leave the field unset. To learn which resources support
  1937  	// conditions in their IAM policies, see the IAM documentation
  1938  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  1939  	Version int64 `json:"version,omitempty"`
  1940  
  1941  	// ServerResponse contains the HTTP response code and headers from the server.
  1942  	googleapi.ServerResponse `json:"-"`
  1943  	// ForceSendFields is a list of field names (e.g. "Bindings") to
  1944  	// unconditionally include in API requests. By default, fields with empty or
  1945  	// default values are omitted from API requests. See
  1946  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1947  	// details.
  1948  	ForceSendFields []string `json:"-"`
  1949  	// NullFields is a list of field names (e.g. "Bindings") to include in API
  1950  	// requests with the JSON null value. By default, fields with empty values are
  1951  	// omitted from API requests. See
  1952  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1953  	NullFields []string `json:"-"`
  1954  }
  1955  
  1956  func (s *Policy) MarshalJSON() ([]byte, error) {
  1957  	type NoMethod Policy
  1958  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1959  }
  1960  
  1961  // RefreshRuntimeTokenInternalRequest: Request for getting a new access token.
  1962  type RefreshRuntimeTokenInternalRequest struct {
  1963  	// VmId: Required. The VM hardware token for authenticating the VM.
  1964  	// https://cloud.google.com/compute/docs/instances/verifying-instance-identity
  1965  	VmId string `json:"vmId,omitempty"`
  1966  	// ForceSendFields is a list of field names (e.g. "VmId") to unconditionally
  1967  	// include in API requests. By default, fields with empty or default values are
  1968  	// omitted from API requests. See
  1969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1970  	// details.
  1971  	ForceSendFields []string `json:"-"`
  1972  	// NullFields is a list of field names (e.g. "VmId") to include in API requests
  1973  	// with the JSON null value. By default, fields with empty values are omitted
  1974  	// from API requests. See
  1975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1976  	NullFields []string `json:"-"`
  1977  }
  1978  
  1979  func (s *RefreshRuntimeTokenInternalRequest) MarshalJSON() ([]byte, error) {
  1980  	type NoMethod RefreshRuntimeTokenInternalRequest
  1981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1982  }
  1983  
  1984  // RefreshRuntimeTokenInternalResponse: Response with a new access token.
  1985  type RefreshRuntimeTokenInternalResponse struct {
  1986  	// AccessToken: The OAuth 2.0 access token.
  1987  	AccessToken string `json:"accessToken,omitempty"`
  1988  	// ExpireTime: Output only. Token expiration time.
  1989  	ExpireTime string `json:"expireTime,omitempty"`
  1990  
  1991  	// ServerResponse contains the HTTP response code and headers from the server.
  1992  	googleapi.ServerResponse `json:"-"`
  1993  	// ForceSendFields is a list of field names (e.g. "AccessToken") to
  1994  	// unconditionally include in API requests. By default, fields with empty or
  1995  	// default values are omitted from API requests. See
  1996  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1997  	// details.
  1998  	ForceSendFields []string `json:"-"`
  1999  	// NullFields is a list of field names (e.g. "AccessToken") to include in API
  2000  	// requests with the JSON null value. By default, fields with empty values are
  2001  	// omitted from API requests. See
  2002  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2003  	NullFields []string `json:"-"`
  2004  }
  2005  
  2006  func (s *RefreshRuntimeTokenInternalResponse) MarshalJSON() ([]byte, error) {
  2007  	type NoMethod RefreshRuntimeTokenInternalResponse
  2008  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2009  }
  2010  
  2011  // RegisterInstanceRequest: Request for registering a notebook instance.
  2012  type RegisterInstanceRequest struct {
  2013  	// InstanceId: Required. User defined unique ID of this instance. The
  2014  	// `instance_id` must be 1 to 63 characters long and contain only lowercase
  2015  	// letters, numeric characters, and dashes. The first character must be a
  2016  	// lowercase letter and the last character cannot be a dash.
  2017  	InstanceId string `json:"instanceId,omitempty"`
  2018  	// ForceSendFields is a list of field names (e.g. "InstanceId") to
  2019  	// unconditionally include in API requests. By default, fields with empty or
  2020  	// default values are omitted from API requests. See
  2021  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2022  	// details.
  2023  	ForceSendFields []string `json:"-"`
  2024  	// NullFields is a list of field names (e.g. "InstanceId") to include in API
  2025  	// requests with the JSON null value. By default, fields with empty values are
  2026  	// omitted from API requests. See
  2027  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2028  	NullFields []string `json:"-"`
  2029  }
  2030  
  2031  func (s *RegisterInstanceRequest) MarshalJSON() ([]byte, error) {
  2032  	type NoMethod RegisterInstanceRequest
  2033  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2034  }
  2035  
  2036  // ReportInstanceEventRequest: Request for reporting a Managed Notebook Event.
  2037  type ReportInstanceEventRequest struct {
  2038  	// Event: Required. The Event to be reported.
  2039  	Event *Event `json:"event,omitempty"`
  2040  	// VmId: Required. The VM hardware token for authenticating the VM.
  2041  	// https://cloud.google.com/compute/docs/instances/verifying-instance-identity
  2042  	VmId string `json:"vmId,omitempty"`
  2043  	// ForceSendFields is a list of field names (e.g. "Event") to unconditionally
  2044  	// include in API requests. By default, fields with empty or default values are
  2045  	// omitted from API requests. See
  2046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2047  	// details.
  2048  	ForceSendFields []string `json:"-"`
  2049  	// NullFields is a list of field names (e.g. "Event") to include in API
  2050  	// requests with the JSON null value. By default, fields with empty values are
  2051  	// omitted from API requests. See
  2052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2053  	NullFields []string `json:"-"`
  2054  }
  2055  
  2056  func (s *ReportInstanceEventRequest) MarshalJSON() ([]byte, error) {
  2057  	type NoMethod ReportInstanceEventRequest
  2058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2059  }
  2060  
  2061  // ReportInstanceInfoRequest: Request for notebook instances to report
  2062  // information to Notebooks API.
  2063  type ReportInstanceInfoRequest struct {
  2064  	// Metadata: The metadata reported to Notebooks API. This will be merged to the
  2065  	// instance metadata store
  2066  	Metadata map[string]string `json:"metadata,omitempty"`
  2067  	// VmId: Required. The VM hardware token for authenticating the VM.
  2068  	// https://cloud.google.com/compute/docs/instances/verifying-instance-identity
  2069  	VmId string `json:"vmId,omitempty"`
  2070  	// ForceSendFields is a list of field names (e.g. "Metadata") to
  2071  	// unconditionally include in API requests. By default, fields with empty or
  2072  	// default values are omitted from API requests. See
  2073  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2074  	// details.
  2075  	ForceSendFields []string `json:"-"`
  2076  	// NullFields is a list of field names (e.g. "Metadata") to include in API
  2077  	// requests with the JSON null value. By default, fields with empty values are
  2078  	// omitted from API requests. See
  2079  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2080  	NullFields []string `json:"-"`
  2081  }
  2082  
  2083  func (s *ReportInstanceInfoRequest) MarshalJSON() ([]byte, error) {
  2084  	type NoMethod ReportInstanceInfoRequest
  2085  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2086  }
  2087  
  2088  // ReportRuntimeEventRequest: Request for reporting a Managed Notebook Event.
  2089  type ReportRuntimeEventRequest struct {
  2090  	// Event: Required. The Event to be reported.
  2091  	Event *Event `json:"event,omitempty"`
  2092  	// VmId: Required. The VM hardware token for authenticating the VM.
  2093  	// https://cloud.google.com/compute/docs/instances/verifying-instance-identity
  2094  	VmId string `json:"vmId,omitempty"`
  2095  	// ForceSendFields is a list of field names (e.g. "Event") to unconditionally
  2096  	// include in API requests. By default, fields with empty or default values are
  2097  	// omitted from API requests. See
  2098  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2099  	// details.
  2100  	ForceSendFields []string `json:"-"`
  2101  	// NullFields is a list of field names (e.g. "Event") to include in API
  2102  	// requests with the JSON null value. By default, fields with empty values are
  2103  	// omitted from API requests. See
  2104  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2105  	NullFields []string `json:"-"`
  2106  }
  2107  
  2108  func (s *ReportRuntimeEventRequest) MarshalJSON() ([]byte, error) {
  2109  	type NoMethod ReportRuntimeEventRequest
  2110  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2111  }
  2112  
  2113  // ReservationAffinity: Reservation Affinity for consuming Zonal reservation.
  2114  type ReservationAffinity struct {
  2115  	// ConsumeReservationType: Optional. Type of reservation to consume
  2116  	//
  2117  	// Possible values:
  2118  	//   "TYPE_UNSPECIFIED" - Default type.
  2119  	//   "NO_RESERVATION" - Do not consume from any allocated capacity.
  2120  	//   "ANY_RESERVATION" - Consume any reservation available.
  2121  	//   "SPECIFIC_RESERVATION" - Must consume from a specific reservation. Must
  2122  	// specify key value fields for specifying the reservations.
  2123  	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
  2124  	// Key: Optional. Corresponds to the label key of reservation resource.
  2125  	Key string `json:"key,omitempty"`
  2126  	// Values: Optional. Corresponds to the label values of reservation resource.
  2127  	Values []string `json:"values,omitempty"`
  2128  	// ForceSendFields is a list of field names (e.g. "ConsumeReservationType") to
  2129  	// unconditionally include in API requests. By default, fields with empty or
  2130  	// default values are omitted from API requests. See
  2131  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2132  	// details.
  2133  	ForceSendFields []string `json:"-"`
  2134  	// NullFields is a list of field names (e.g. "ConsumeReservationType") to
  2135  	// include in API requests with the JSON null value. By default, fields with
  2136  	// empty values are omitted from API requests. See
  2137  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2138  	NullFields []string `json:"-"`
  2139  }
  2140  
  2141  func (s *ReservationAffinity) MarshalJSON() ([]byte, error) {
  2142  	type NoMethod ReservationAffinity
  2143  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2144  }
  2145  
  2146  // ResetInstanceRequest: Request for resetting a notebook instance
  2147  type ResetInstanceRequest struct {
  2148  }
  2149  
  2150  // ResetRuntimeRequest: Request for resetting a Managed Notebook Runtime.
  2151  type ResetRuntimeRequest struct {
  2152  	// RequestId: Idempotent request UUID.
  2153  	RequestId string `json:"requestId,omitempty"`
  2154  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  2155  	// unconditionally include in API requests. By default, fields with empty or
  2156  	// default values are omitted from API requests. See
  2157  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2158  	// details.
  2159  	ForceSendFields []string `json:"-"`
  2160  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  2161  	// requests with the JSON null value. By default, fields with empty values are
  2162  	// omitted from API requests. See
  2163  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2164  	NullFields []string `json:"-"`
  2165  }
  2166  
  2167  func (s *ResetRuntimeRequest) MarshalJSON() ([]byte, error) {
  2168  	type NoMethod ResetRuntimeRequest
  2169  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2170  }
  2171  
  2172  // RollbackInstanceRequest: Request for rollbacking a notebook instance
  2173  type RollbackInstanceRequest struct {
  2174  	// TargetSnapshot: Required. The snapshot for rollback. Example:
  2175  	// `projects/test-project/global/snapshots/krwlzipynril`.
  2176  	TargetSnapshot string `json:"targetSnapshot,omitempty"`
  2177  	// ForceSendFields is a list of field names (e.g. "TargetSnapshot") to
  2178  	// unconditionally include in API requests. By default, fields with empty or
  2179  	// default values are omitted from API requests. See
  2180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2181  	// details.
  2182  	ForceSendFields []string `json:"-"`
  2183  	// NullFields is a list of field names (e.g. "TargetSnapshot") to include in
  2184  	// API requests with the JSON null value. By default, fields with empty values
  2185  	// are omitted from API requests. See
  2186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2187  	NullFields []string `json:"-"`
  2188  }
  2189  
  2190  func (s *RollbackInstanceRequest) MarshalJSON() ([]byte, error) {
  2191  	type NoMethod RollbackInstanceRequest
  2192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2193  }
  2194  
  2195  // Runtime: The definition of a Runtime for a managed notebook instance.
  2196  type Runtime struct {
  2197  	// AccessConfig: The config settings for accessing runtime.
  2198  	AccessConfig *RuntimeAccessConfig `json:"accessConfig,omitempty"`
  2199  	// CreateTime: Output only. Runtime creation time.
  2200  	CreateTime string `json:"createTime,omitempty"`
  2201  	// HealthState: Output only. Runtime health_state.
  2202  	//
  2203  	// Possible values:
  2204  	//   "HEALTH_STATE_UNSPECIFIED" - The runtime substate is unknown.
  2205  	//   "HEALTHY" - The runtime is known to be in an healthy state (for example,
  2206  	// critical daemons are running) Applies to ACTIVE state.
  2207  	//   "UNHEALTHY" - The runtime is known to be in an unhealthy state (for
  2208  	// example, critical daemons are not running) Applies to ACTIVE state.
  2209  	//   "AGENT_NOT_INSTALLED" - The runtime has not installed health monitoring
  2210  	// agent. Applies to ACTIVE state.
  2211  	//   "AGENT_NOT_RUNNING" - The runtime health monitoring agent is not running.
  2212  	// Applies to ACTIVE state.
  2213  	HealthState string `json:"healthState,omitempty"`
  2214  	// Labels: Optional. The labels to associate with this Managed Notebook or
  2215  	// Runtime. Label **keys** must contain 1 to 63 characters, and must conform to
  2216  	// RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
  2217  	// empty, but, if present, must contain 1 to 63 characters, and must conform to
  2218  	// RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can
  2219  	// be associated with a cluster.
  2220  	Labels map[string]string `json:"labels,omitempty"`
  2221  	// Metrics: Output only. Contains Runtime daemon metrics such as Service status
  2222  	// and JupyterLab stats.
  2223  	Metrics *RuntimeMetrics `json:"metrics,omitempty"`
  2224  	// Migrated: Output only. Bool indicating whether this notebook has been
  2225  	// migrated to a Workbench Instance
  2226  	Migrated bool `json:"migrated,omitempty"`
  2227  	// Name: Output only. The resource name of the runtime. Format:
  2228  	// `projects/{project}/locations/{location}/runtimes/{runtimeId}`
  2229  	Name string `json:"name,omitempty"`
  2230  	// RuntimeMigrationEligibility: Output only. Checks how feasible a migration
  2231  	// from GmN to WbI is.
  2232  	RuntimeMigrationEligibility *RuntimeMigrationEligibility `json:"runtimeMigrationEligibility,omitempty"`
  2233  	// SoftwareConfig: The config settings for software inside the runtime.
  2234  	SoftwareConfig *RuntimeSoftwareConfig `json:"softwareConfig,omitempty"`
  2235  	// State: Output only. Runtime state.
  2236  	//
  2237  	// Possible values:
  2238  	//   "STATE_UNSPECIFIED" - State is not specified.
  2239  	//   "STARTING" - The compute layer is starting the runtime. It is not ready
  2240  	// for use.
  2241  	//   "PROVISIONING" - The compute layer is installing required frameworks and
  2242  	// registering the runtime with notebook proxy. It cannot be used.
  2243  	//   "ACTIVE" - The runtime is currently running. It is ready for use.
  2244  	//   "STOPPING" - The control logic is stopping the runtime. It cannot be used.
  2245  	//   "STOPPED" - The runtime is stopped. It cannot be used.
  2246  	//   "DELETING" - The runtime is being deleted. It cannot be used.
  2247  	//   "UPGRADING" - The runtime is upgrading. It cannot be used.
  2248  	//   "INITIALIZING" - The runtime is being created and set up. It is not ready
  2249  	// for use.
  2250  	State string `json:"state,omitempty"`
  2251  	// UpdateTime: Output only. Runtime update time.
  2252  	UpdateTime string `json:"updateTime,omitempty"`
  2253  	// VirtualMachine: Use a Compute Engine VM image to start the managed notebook
  2254  	// instance.
  2255  	VirtualMachine *VirtualMachine `json:"virtualMachine,omitempty"`
  2256  
  2257  	// ServerResponse contains the HTTP response code and headers from the server.
  2258  	googleapi.ServerResponse `json:"-"`
  2259  	// ForceSendFields is a list of field names (e.g. "AccessConfig") to
  2260  	// unconditionally include in API requests. By default, fields with empty or
  2261  	// default values are omitted from API requests. See
  2262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2263  	// details.
  2264  	ForceSendFields []string `json:"-"`
  2265  	// NullFields is a list of field names (e.g. "AccessConfig") to include in API
  2266  	// requests with the JSON null value. By default, fields with empty values are
  2267  	// omitted from API requests. See
  2268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2269  	NullFields []string `json:"-"`
  2270  }
  2271  
  2272  func (s *Runtime) MarshalJSON() ([]byte, error) {
  2273  	type NoMethod Runtime
  2274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2275  }
  2276  
  2277  // RuntimeAcceleratorConfig: Definition of the types of hardware accelerators
  2278  // that can be used. See Compute Engine AcceleratorTypes
  2279  // (https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
  2280  // Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `nvidia-tesla-v100` *
  2281  // `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-a100`
  2282  type RuntimeAcceleratorConfig struct {
  2283  	// CoreCount: Count of cores of this accelerator.
  2284  	CoreCount int64 `json:"coreCount,omitempty,string"`
  2285  	// Type: Accelerator model.
  2286  	//
  2287  	// Possible values:
  2288  	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Accelerator type is not specified.
  2289  	//   "NVIDIA_TESLA_K80" - Accelerator type is Nvidia Tesla K80.
  2290  	//   "NVIDIA_TESLA_P100" - Accelerator type is Nvidia Tesla P100.
  2291  	//   "NVIDIA_TESLA_V100" - Accelerator type is Nvidia Tesla V100.
  2292  	//   "NVIDIA_TESLA_P4" - Accelerator type is Nvidia Tesla P4.
  2293  	//   "NVIDIA_TESLA_T4" - Accelerator type is Nvidia Tesla T4.
  2294  	//   "NVIDIA_TESLA_A100" - Accelerator type is Nvidia Tesla A100 - 40GB.
  2295  	//   "NVIDIA_L4" - Accelerator type is Nvidia L4.
  2296  	//   "TPU_V2" - (Coming soon) Accelerator type is TPU V2.
  2297  	//   "TPU_V3" - (Coming soon) Accelerator type is TPU V3.
  2298  	//   "NVIDIA_TESLA_T4_VWS" - Accelerator type is NVIDIA Tesla T4 Virtual
  2299  	// Workstations.
  2300  	//   "NVIDIA_TESLA_P100_VWS" - Accelerator type is NVIDIA Tesla P100 Virtual
  2301  	// Workstations.
  2302  	//   "NVIDIA_TESLA_P4_VWS" - Accelerator type is NVIDIA Tesla P4 Virtual
  2303  	// Workstations.
  2304  	Type string `json:"type,omitempty"`
  2305  	// ForceSendFields is a list of field names (e.g. "CoreCount") to
  2306  	// unconditionally include in API requests. By default, fields with empty or
  2307  	// default values are omitted from API requests. See
  2308  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2309  	// details.
  2310  	ForceSendFields []string `json:"-"`
  2311  	// NullFields is a list of field names (e.g. "CoreCount") to include in API
  2312  	// requests with the JSON null value. By default, fields with empty values are
  2313  	// omitted from API requests. See
  2314  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2315  	NullFields []string `json:"-"`
  2316  }
  2317  
  2318  func (s *RuntimeAcceleratorConfig) MarshalJSON() ([]byte, error) {
  2319  	type NoMethod RuntimeAcceleratorConfig
  2320  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2321  }
  2322  
  2323  // RuntimeAccessConfig: Specifies the login configuration for Runtime
  2324  type RuntimeAccessConfig struct {
  2325  	// AccessType: The type of access mode this instance.
  2326  	//
  2327  	// Possible values:
  2328  	//   "RUNTIME_ACCESS_TYPE_UNSPECIFIED" - Unspecified access.
  2329  	//   "SINGLE_USER" - Single user login.
  2330  	//   "SERVICE_ACCOUNT" - Service Account mode. In Service Account mode, Runtime
  2331  	// creator will specify a SA that exists in the consumer project. Using Runtime
  2332  	// Service Account field. Users accessing the Runtime need ActAs (Service
  2333  	// Account User) permission.
  2334  	AccessType string `json:"accessType,omitempty"`
  2335  	// ProxyUri: Output only. The proxy endpoint that is used to access the
  2336  	// runtime.
  2337  	ProxyUri string `json:"proxyUri,omitempty"`
  2338  	// RuntimeOwner: The owner of this runtime after creation. Format:
  2339  	// `alias@example.com` Currently supports one owner only.
  2340  	RuntimeOwner string `json:"runtimeOwner,omitempty"`
  2341  	// ForceSendFields is a list of field names (e.g. "AccessType") to
  2342  	// unconditionally include in API requests. By default, fields with empty or
  2343  	// default values are omitted from API requests. See
  2344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2345  	// details.
  2346  	ForceSendFields []string `json:"-"`
  2347  	// NullFields is a list of field names (e.g. "AccessType") to include in API
  2348  	// requests with the JSON null value. By default, fields with empty values are
  2349  	// omitted from API requests. See
  2350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2351  	NullFields []string `json:"-"`
  2352  }
  2353  
  2354  func (s *RuntimeAccessConfig) MarshalJSON() ([]byte, error) {
  2355  	type NoMethod RuntimeAccessConfig
  2356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2357  }
  2358  
  2359  // RuntimeGuestOsFeature: Optional. A list of features to enable on the guest
  2360  // operating system. Applicable only for bootable images. Read Enabling guest
  2361  // operating system features
  2362  // (https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features)
  2363  // to see a list of available options. Guest OS features for boot disk.
  2364  type RuntimeGuestOsFeature struct {
  2365  	// Type: The ID of a supported feature. Read Enabling guest operating system
  2366  	// features
  2367  	// (https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features)
  2368  	// to see a list of available options. Valid values: *
  2369  	// `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` *
  2370  	// `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`
  2371  	Type string `json:"type,omitempty"`
  2372  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  2373  	// include in API requests. By default, fields with empty or default values are
  2374  	// omitted from API requests. See
  2375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2376  	// details.
  2377  	ForceSendFields []string `json:"-"`
  2378  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  2379  	// with the JSON null value. By default, fields with empty values are omitted
  2380  	// from API requests. See
  2381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2382  	NullFields []string `json:"-"`
  2383  }
  2384  
  2385  func (s *RuntimeGuestOsFeature) MarshalJSON() ([]byte, error) {
  2386  	type NoMethod RuntimeGuestOsFeature
  2387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2388  }
  2389  
  2390  // RuntimeMetrics: Contains runtime daemon metrics, such as OS and kernels and
  2391  // sessions stats.
  2392  type RuntimeMetrics struct {
  2393  	// SystemMetrics: Output only. The system metrics.
  2394  	SystemMetrics map[string]string `json:"systemMetrics,omitempty"`
  2395  	// ForceSendFields is a list of field names (e.g. "SystemMetrics") to
  2396  	// unconditionally include in API requests. By default, fields with empty or
  2397  	// default values are omitted from API requests. See
  2398  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2399  	// details.
  2400  	ForceSendFields []string `json:"-"`
  2401  	// NullFields is a list of field names (e.g. "SystemMetrics") to include in API
  2402  	// requests with the JSON null value. By default, fields with empty values are
  2403  	// omitted from API requests. See
  2404  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2405  	NullFields []string `json:"-"`
  2406  }
  2407  
  2408  func (s *RuntimeMetrics) MarshalJSON() ([]byte, error) {
  2409  	type NoMethod RuntimeMetrics
  2410  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2411  }
  2412  
  2413  // RuntimeMigrationEligibility: RuntimeMigrationEligibility represents the
  2414  // feasibility information of a migration from GmN to WbI.
  2415  type RuntimeMigrationEligibility struct {
  2416  	// Errors: Output only. Certain configurations make the GmN ineligible for an
  2417  	// automatic migration. A manual migration is required.
  2418  	//
  2419  	// Possible values:
  2420  	//   "ERROR_UNSPECIFIED" - Default type.
  2421  	//   "CUSTOM_CONTAINER" - The GmN is configured with custom container(s) and
  2422  	// cannot be migrated.
  2423  	Errors []string `json:"errors,omitempty"`
  2424  	// Warnings: Output only. Certain configurations will be defaulted during the
  2425  	// migration.
  2426  	//
  2427  	// Possible values:
  2428  	//   "WARNING_UNSPECIFIED" - Default type.
  2429  	//   "UNSUPPORTED_ACCELERATOR_TYPE" - The GmN uses an accelerator type that's
  2430  	// unsupported in WbI. It will be migrated without an accelerator. Users can
  2431  	// attach an accelerator after the migration.
  2432  	//   "UNSUPPORTED_OS" - The GmN uses an operating system that's unsupported in
  2433  	// WbI (e.g. Debian 10). It will be replaced with Debian 11 in WbI.
  2434  	//   "RESERVED_IP_RANGE" - This GmN is configured with reserved IP range, which
  2435  	// is no longer applicable in WbI.
  2436  	//   "GOOGLE_MANAGED_NETWORK" - This GmN is configured with a Google managed
  2437  	// network. Please provide the `network` and `subnet` options for the
  2438  	// migration.
  2439  	//   "POST_STARTUP_SCRIPT" - This GmN is configured with a post startup script.
  2440  	// Please optionally provide the `post_startup_script_option` for the
  2441  	// migration.
  2442  	//   "SINGLE_USER" - This GmN is configured with single user mode. Please
  2443  	// optionally provide the `service_account` option for the migration.
  2444  	Warnings []string `json:"warnings,omitempty"`
  2445  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  2446  	// include in API requests. By default, fields with empty or default values are
  2447  	// omitted from API requests. See
  2448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2449  	// details.
  2450  	ForceSendFields []string `json:"-"`
  2451  	// NullFields is a list of field names (e.g. "Errors") to include in API
  2452  	// requests with the JSON null value. By default, fields with empty values are
  2453  	// omitted from API requests. See
  2454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2455  	NullFields []string `json:"-"`
  2456  }
  2457  
  2458  func (s *RuntimeMigrationEligibility) MarshalJSON() ([]byte, error) {
  2459  	type NoMethod RuntimeMigrationEligibility
  2460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2461  }
  2462  
  2463  // RuntimeShieldedInstanceConfig: A set of Shielded Instance options. See
  2464  // Images using supported Shielded VM features
  2465  // (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not
  2466  // all combinations are valid.
  2467  type RuntimeShieldedInstanceConfig struct {
  2468  	// EnableIntegrityMonitoring: Defines whether the instance has integrity
  2469  	// monitoring enabled. Enables monitoring and attestation of the boot integrity
  2470  	// of the instance. The attestation is performed against the integrity policy
  2471  	// baseline. This baseline is initially derived from the implicitly trusted
  2472  	// boot image when the instance is created. Enabled by default.
  2473  	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
  2474  	// EnableSecureBoot: Defines whether the instance has Secure Boot enabled.
  2475  	// Secure Boot helps ensure that the system only runs authentic software by
  2476  	// verifying the digital signature of all boot components, and halting the boot
  2477  	// process if signature verification fails. Disabled by default.
  2478  	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
  2479  	// EnableVtpm: Defines whether the instance has the vTPM enabled. Enabled by
  2480  	// default.
  2481  	EnableVtpm bool `json:"enableVtpm,omitempty"`
  2482  	// ForceSendFields is a list of field names (e.g. "EnableIntegrityMonitoring")
  2483  	// to unconditionally include in API requests. By default, fields with empty or
  2484  	// default values are omitted from API requests. See
  2485  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2486  	// details.
  2487  	ForceSendFields []string `json:"-"`
  2488  	// NullFields is a list of field names (e.g. "EnableIntegrityMonitoring") to
  2489  	// include in API requests with the JSON null value. By default, fields with
  2490  	// empty values are omitted from API requests. See
  2491  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2492  	NullFields []string `json:"-"`
  2493  }
  2494  
  2495  func (s *RuntimeShieldedInstanceConfig) MarshalJSON() ([]byte, error) {
  2496  	type NoMethod RuntimeShieldedInstanceConfig
  2497  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2498  }
  2499  
  2500  // RuntimeSoftwareConfig: Specifies the selection and configuration of software
  2501  // inside the runtime. The properties to set on runtime. Properties keys are
  2502  // specified in `key:value` format, for example: * `idle_shutdown: true` *
  2503  // `idle_shutdown_timeout: 180` * `enable_health_monitoring: true`
  2504  type RuntimeSoftwareConfig struct {
  2505  	// CustomGpuDriverPath: Specify a custom Cloud Storage path where the GPU
  2506  	// driver is stored. If not specified, we'll automatically choose from official
  2507  	// GPU drivers.
  2508  	CustomGpuDriverPath string `json:"customGpuDriverPath,omitempty"`
  2509  	// DisableTerminal: Bool indicating whether JupyterLab terminal will be
  2510  	// available or not. Default: False
  2511  	DisableTerminal bool `json:"disableTerminal,omitempty"`
  2512  	// EnableHealthMonitoring: Verifies core internal services are running.
  2513  	// Default: True
  2514  	EnableHealthMonitoring bool `json:"enableHealthMonitoring,omitempty"`
  2515  	// IdleShutdown: Runtime will automatically shutdown after idle_shutdown_time.
  2516  	// Default: True
  2517  	IdleShutdown bool `json:"idleShutdown,omitempty"`
  2518  	// IdleShutdownTimeout: Time in minutes to wait before shutting down runtime.
  2519  	// Default: 180 minutes
  2520  	IdleShutdownTimeout int64 `json:"idleShutdownTimeout,omitempty"`
  2521  	// InstallGpuDriver: Install Nvidia Driver automatically. Default: True
  2522  	InstallGpuDriver bool `json:"installGpuDriver,omitempty"`
  2523  	// Kernels: Optional. Use a list of container images to use as Kernels in the
  2524  	// notebook instance.
  2525  	Kernels []*ContainerImage `json:"kernels,omitempty"`
  2526  	// MixerDisabled: Bool indicating whether mixer client should be disabled.
  2527  	// Default: False
  2528  	MixerDisabled bool `json:"mixerDisabled,omitempty"`
  2529  	// NotebookUpgradeSchedule: Cron expression in UTC timezone, used to schedule
  2530  	// instance auto upgrade. Please follow the cron format
  2531  	// (https://en.wikipedia.org/wiki/Cron).
  2532  	NotebookUpgradeSchedule string `json:"notebookUpgradeSchedule,omitempty"`
  2533  	// PostStartupScript: Path to a Bash script that automatically runs after a
  2534  	// notebook instance fully boots up. The path must be a URL or Cloud Storage
  2535  	// path (`gs://path-to-file/file-name`).
  2536  	PostStartupScript string `json:"postStartupScript,omitempty"`
  2537  	// PostStartupScriptBehavior: Behavior for the post startup script.
  2538  	//
  2539  	// Possible values:
  2540  	//   "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED" - Unspecified post startup
  2541  	// script behavior. Will run only once at creation.
  2542  	//   "RUN_EVERY_START" - Runs the post startup script provided during creation
  2543  	// at every start.
  2544  	//   "DOWNLOAD_AND_RUN_EVERY_START" - Downloads and runs the provided post
  2545  	// startup script at every start.
  2546  	PostStartupScriptBehavior string `json:"postStartupScriptBehavior,omitempty"`
  2547  	// Upgradeable: Output only. Bool indicating whether an newer image is
  2548  	// available in an image family.
  2549  	Upgradeable bool `json:"upgradeable,omitempty"`
  2550  	// Version: Output only. version of boot image such as M100, from release label
  2551  	// of the image.
  2552  	Version string `json:"version,omitempty"`
  2553  	// ForceSendFields is a list of field names (e.g. "CustomGpuDriverPath") to
  2554  	// unconditionally include in API requests. By default, fields with empty or
  2555  	// default values are omitted from API requests. See
  2556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2557  	// details.
  2558  	ForceSendFields []string `json:"-"`
  2559  	// NullFields is a list of field names (e.g. "CustomGpuDriverPath") to include
  2560  	// in API requests with the JSON null value. By default, fields with empty
  2561  	// values are omitted from API requests. See
  2562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2563  	NullFields []string `json:"-"`
  2564  }
  2565  
  2566  func (s *RuntimeSoftwareConfig) MarshalJSON() ([]byte, error) {
  2567  	type NoMethod RuntimeSoftwareConfig
  2568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2569  }
  2570  
  2571  // Schedule: The definition of a schedule.
  2572  type Schedule struct {
  2573  	// CreateTime: Output only. Time the schedule was created.
  2574  	CreateTime string `json:"createTime,omitempty"`
  2575  	// CronSchedule: Cron-tab formatted schedule by which the job will execute.
  2576  	// Format: minute, hour, day of month, month, day of week, e.g. `0 0 * * WED` =
  2577  	// every Wednesday More examples: https://crontab.guru/examples.html
  2578  	CronSchedule string `json:"cronSchedule,omitempty"`
  2579  	// Description: A brief description of this environment.
  2580  	Description string `json:"description,omitempty"`
  2581  	// DisplayName: Output only. Display name used for UI purposes. Name can only
  2582  	// contain alphanumeric characters, hyphens `-`, and underscores `_`.
  2583  	DisplayName string `json:"displayName,omitempty"`
  2584  	// ExecutionTemplate: Notebook Execution Template corresponding to this
  2585  	// schedule.
  2586  	ExecutionTemplate *ExecutionTemplate `json:"executionTemplate,omitempty"`
  2587  	// Name: Output only. The name of this schedule. Format:
  2588  	// `projects/{project_id}/locations/{location}/schedules/{schedule_id}`
  2589  	Name string `json:"name,omitempty"`
  2590  	// RecentExecutions: Output only. The most recent execution names triggered
  2591  	// from this schedule and their corresponding states.
  2592  	RecentExecutions []*Execution `json:"recentExecutions,omitempty"`
  2593  	// Possible values:
  2594  	//   "STATE_UNSPECIFIED" - Unspecified state.
  2595  	//   "ENABLED" - The job is executing normally.
  2596  	//   "PAUSED" - The job is paused by the user. It will not execute. A user can
  2597  	// intentionally pause the job using PauseJobRequest.
  2598  	//   "DISABLED" - The job is disabled by the system due to error. The user
  2599  	// cannot directly set a job to be disabled.
  2600  	//   "UPDATE_FAILED" - The job state resulting from a failed
  2601  	// CloudScheduler.UpdateJob operation. To recover a job from this state, retry
  2602  	// CloudScheduler.UpdateJob until a successful response is received.
  2603  	//   "INITIALIZING" - The schedule resource is being created.
  2604  	//   "DELETING" - The schedule resource is being deleted.
  2605  	State string `json:"state,omitempty"`
  2606  	// TimeZone: Timezone on which the cron_schedule. The value of this field must
  2607  	// be a time zone name from the tz database. TZ Database:
  2608  	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones Note that some
  2609  	// time zones include a provision for daylight savings time. The rules for
  2610  	// daylight saving time are determined by the chosen tz. For UTC use the string
  2611  	// "utc". If a time zone is not specified, the default will be in UTC (also
  2612  	// known as GMT).
  2613  	TimeZone string `json:"timeZone,omitempty"`
  2614  	// UpdateTime: Output only. Time the schedule was last updated.
  2615  	UpdateTime string `json:"updateTime,omitempty"`
  2616  
  2617  	// ServerResponse contains the HTTP response code and headers from the server.
  2618  	googleapi.ServerResponse `json:"-"`
  2619  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2620  	// unconditionally include in API requests. By default, fields with empty or
  2621  	// default values are omitted from API requests. See
  2622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2623  	// details.
  2624  	ForceSendFields []string `json:"-"`
  2625  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2626  	// requests with the JSON null value. By default, fields with empty values are
  2627  	// omitted from API requests. See
  2628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2629  	NullFields []string `json:"-"`
  2630  }
  2631  
  2632  func (s *Schedule) MarshalJSON() ([]byte, error) {
  2633  	type NoMethod Schedule
  2634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2635  }
  2636  
  2637  // SchedulerAcceleratorConfig: Definition of a hardware accelerator. Note that
  2638  // not all combinations of `type` and `core_count` are valid. See GPUs on
  2639  // Compute Engine (https://cloud.google.com/compute/docs/gpus) to find a valid
  2640  // combination. TPUs are not supported.
  2641  type SchedulerAcceleratorConfig struct {
  2642  	// CoreCount: Count of cores of this accelerator.
  2643  	CoreCount int64 `json:"coreCount,omitempty,string"`
  2644  	// Type: Type of this accelerator.
  2645  	//
  2646  	// Possible values:
  2647  	//   "SCHEDULER_ACCELERATOR_TYPE_UNSPECIFIED" - Unspecified accelerator type.
  2648  	// Default to no GPU.
  2649  	//   "NVIDIA_TESLA_K80" - Nvidia Tesla K80 GPU.
  2650  	//   "NVIDIA_TESLA_P100" - Nvidia Tesla P100 GPU.
  2651  	//   "NVIDIA_TESLA_V100" - Nvidia Tesla V100 GPU.
  2652  	//   "NVIDIA_TESLA_P4" - Nvidia Tesla P4 GPU.
  2653  	//   "NVIDIA_TESLA_T4" - Nvidia Tesla T4 GPU.
  2654  	//   "NVIDIA_TESLA_A100" - Nvidia Tesla A100 GPU.
  2655  	//   "TPU_V2" - TPU v2.
  2656  	//   "TPU_V3" - TPU v3.
  2657  	Type string `json:"type,omitempty"`
  2658  	// ForceSendFields is a list of field names (e.g. "CoreCount") to
  2659  	// unconditionally include in API requests. By default, fields with empty or
  2660  	// default values are omitted from API requests. See
  2661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2662  	// details.
  2663  	ForceSendFields []string `json:"-"`
  2664  	// NullFields is a list of field names (e.g. "CoreCount") to include in API
  2665  	// requests with the JSON null value. By default, fields with empty values are
  2666  	// omitted from API requests. See
  2667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2668  	NullFields []string `json:"-"`
  2669  }
  2670  
  2671  func (s *SchedulerAcceleratorConfig) MarshalJSON() ([]byte, error) {
  2672  	type NoMethod SchedulerAcceleratorConfig
  2673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2674  }
  2675  
  2676  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  2677  type SetIamPolicyRequest struct {
  2678  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  2679  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  2680  	// policy but certain Google Cloud services (such as Projects) might reject
  2681  	// them.
  2682  	Policy *Policy `json:"policy,omitempty"`
  2683  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  2684  	// include in API requests. By default, fields with empty or default values are
  2685  	// omitted from API requests. See
  2686  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2687  	// details.
  2688  	ForceSendFields []string `json:"-"`
  2689  	// NullFields is a list of field names (e.g. "Policy") to include in API
  2690  	// requests with the JSON null value. By default, fields with empty values are
  2691  	// omitted from API requests. See
  2692  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2693  	NullFields []string `json:"-"`
  2694  }
  2695  
  2696  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  2697  	type NoMethod SetIamPolicyRequest
  2698  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2699  }
  2700  
  2701  // SetInstanceAcceleratorRequest: Request for setting instance accelerator.
  2702  type SetInstanceAcceleratorRequest struct {
  2703  	// CoreCount: Required. Count of cores of this accelerator. Note that not all
  2704  	// combinations of `type` and `core_count` are valid. See GPUs on Compute
  2705  	// Engine (https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  2706  	// valid combination. TPUs are not supported.
  2707  	CoreCount int64 `json:"coreCount,omitempty,string"`
  2708  	// Type: Required. Type of this accelerator.
  2709  	//
  2710  	// Possible values:
  2711  	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Accelerator type is not specified.
  2712  	//   "NVIDIA_TESLA_K80" - Accelerator type is Nvidia Tesla K80.
  2713  	//   "NVIDIA_TESLA_P100" - Accelerator type is Nvidia Tesla P100.
  2714  	//   "NVIDIA_TESLA_V100" - Accelerator type is Nvidia Tesla V100.
  2715  	//   "NVIDIA_TESLA_P4" - Accelerator type is Nvidia Tesla P4.
  2716  	//   "NVIDIA_TESLA_T4" - Accelerator type is Nvidia Tesla T4.
  2717  	//   "NVIDIA_TESLA_A100" - Accelerator type is Nvidia Tesla A100.
  2718  	//   "NVIDIA_L4" - Accelerator type is Nvidia Tesla L4.
  2719  	//   "NVIDIA_A100_80GB" - Accelerator type is Nvidia Tesla A100 80GB.
  2720  	//   "NVIDIA_TESLA_T4_VWS" - Accelerator type is NVIDIA Tesla T4 Virtual
  2721  	// Workstations.
  2722  	//   "NVIDIA_TESLA_P100_VWS" - Accelerator type is NVIDIA Tesla P100 Virtual
  2723  	// Workstations.
  2724  	//   "NVIDIA_TESLA_P4_VWS" - Accelerator type is NVIDIA Tesla P4 Virtual
  2725  	// Workstations.
  2726  	//   "TPU_V2" - (Coming soon) Accelerator type is TPU V2.
  2727  	//   "TPU_V3" - (Coming soon) Accelerator type is TPU V3.
  2728  	Type string `json:"type,omitempty"`
  2729  	// ForceSendFields is a list of field names (e.g. "CoreCount") to
  2730  	// unconditionally include in API requests. By default, fields with empty or
  2731  	// default values are omitted from API requests. See
  2732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2733  	// details.
  2734  	ForceSendFields []string `json:"-"`
  2735  	// NullFields is a list of field names (e.g. "CoreCount") to include in API
  2736  	// requests with the JSON null value. By default, fields with empty values are
  2737  	// omitted from API requests. See
  2738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2739  	NullFields []string `json:"-"`
  2740  }
  2741  
  2742  func (s *SetInstanceAcceleratorRequest) MarshalJSON() ([]byte, error) {
  2743  	type NoMethod SetInstanceAcceleratorRequest
  2744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2745  }
  2746  
  2747  // SetInstanceLabelsRequest: Request for setting instance labels.
  2748  type SetInstanceLabelsRequest struct {
  2749  	// Labels: Labels to apply to this instance. These can be later modified by the
  2750  	// setLabels method
  2751  	Labels map[string]string `json:"labels,omitempty"`
  2752  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  2753  	// include in API requests. By default, fields with empty or default values are
  2754  	// omitted from API requests. See
  2755  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2756  	// details.
  2757  	ForceSendFields []string `json:"-"`
  2758  	// NullFields is a list of field names (e.g. "Labels") to include in API
  2759  	// requests with the JSON null value. By default, fields with empty values are
  2760  	// omitted from API requests. See
  2761  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2762  	NullFields []string `json:"-"`
  2763  }
  2764  
  2765  func (s *SetInstanceLabelsRequest) MarshalJSON() ([]byte, error) {
  2766  	type NoMethod SetInstanceLabelsRequest
  2767  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2768  }
  2769  
  2770  // SetInstanceMachineTypeRequest: Request for setting instance machine type.
  2771  type SetInstanceMachineTypeRequest struct {
  2772  	// MachineType: Required. The Compute Engine machine type
  2773  	// (https://cloud.google.com/compute/docs/machine-types).
  2774  	MachineType string `json:"machineType,omitempty"`
  2775  	// ForceSendFields is a list of field names (e.g. "MachineType") to
  2776  	// unconditionally include in API requests. By default, fields with empty or
  2777  	// default values are omitted from API requests. See
  2778  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2779  	// details.
  2780  	ForceSendFields []string `json:"-"`
  2781  	// NullFields is a list of field names (e.g. "MachineType") to include in API
  2782  	// requests with the JSON null value. By default, fields with empty values are
  2783  	// omitted from API requests. See
  2784  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2785  	NullFields []string `json:"-"`
  2786  }
  2787  
  2788  func (s *SetInstanceMachineTypeRequest) MarshalJSON() ([]byte, error) {
  2789  	type NoMethod SetInstanceMachineTypeRequest
  2790  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2791  }
  2792  
  2793  // ShieldedInstanceConfig: A set of Shielded Instance options. See Images using
  2794  // supported Shielded VM features
  2795  // (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not
  2796  // all combinations are valid.
  2797  type ShieldedInstanceConfig struct {
  2798  	// EnableIntegrityMonitoring: Defines whether the instance has integrity
  2799  	// monitoring enabled. Enables monitoring and attestation of the boot integrity
  2800  	// of the instance. The attestation is performed against the integrity policy
  2801  	// baseline. This baseline is initially derived from the implicitly trusted
  2802  	// boot image when the instance is created. Enabled by default.
  2803  	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
  2804  	// EnableSecureBoot: Defines whether the instance has Secure Boot enabled.
  2805  	// Secure Boot helps ensure that the system only runs authentic software by
  2806  	// verifying the digital signature of all boot components, and halting the boot
  2807  	// process if signature verification fails. Disabled by default.
  2808  	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
  2809  	// EnableVtpm: Defines whether the instance has the vTPM enabled. Enabled by
  2810  	// default.
  2811  	EnableVtpm bool `json:"enableVtpm,omitempty"`
  2812  	// ForceSendFields is a list of field names (e.g. "EnableIntegrityMonitoring")
  2813  	// to unconditionally include in API requests. By default, fields with empty or
  2814  	// default values are omitted from API requests. See
  2815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2816  	// details.
  2817  	ForceSendFields []string `json:"-"`
  2818  	// NullFields is a list of field names (e.g. "EnableIntegrityMonitoring") to
  2819  	// include in API requests with the JSON null value. By default, fields with
  2820  	// empty values are omitted from API requests. See
  2821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2822  	NullFields []string `json:"-"`
  2823  }
  2824  
  2825  func (s *ShieldedInstanceConfig) MarshalJSON() ([]byte, error) {
  2826  	type NoMethod ShieldedInstanceConfig
  2827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2828  }
  2829  
  2830  // StartInstanceRequest: Request for starting a notebook instance
  2831  type StartInstanceRequest struct {
  2832  }
  2833  
  2834  // StartRuntimeRequest: Request for starting a Managed Notebook Runtime.
  2835  type StartRuntimeRequest struct {
  2836  	// RequestId: Idempotent request UUID.
  2837  	RequestId string `json:"requestId,omitempty"`
  2838  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  2839  	// unconditionally include in API requests. By default, fields with empty or
  2840  	// default values are omitted from API requests. See
  2841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2842  	// details.
  2843  	ForceSendFields []string `json:"-"`
  2844  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  2845  	// requests with the JSON null value. By default, fields with empty values are
  2846  	// omitted from API requests. See
  2847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2848  	NullFields []string `json:"-"`
  2849  }
  2850  
  2851  func (s *StartRuntimeRequest) MarshalJSON() ([]byte, error) {
  2852  	type NoMethod StartRuntimeRequest
  2853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2854  }
  2855  
  2856  // Status: The `Status` type defines a logical error model that is suitable for
  2857  // different programming environments, including REST APIs and RPC APIs. It is
  2858  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2859  // pieces of data: error code, error message, and error details. You can find
  2860  // out more about this error model and how to work with it in the API Design
  2861  // Guide (https://cloud.google.com/apis/design/errors).
  2862  type Status struct {
  2863  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2864  	Code int64 `json:"code,omitempty"`
  2865  	// Details: A list of messages that carry the error details. There is a common
  2866  	// set of message types for APIs to use.
  2867  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2868  	// Message: A developer-facing error message, which should be in English. Any
  2869  	// user-facing error message should be localized and sent in the
  2870  	// google.rpc.Status.details field, or localized by the client.
  2871  	Message string `json:"message,omitempty"`
  2872  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2873  	// include in API requests. By default, fields with empty or default values are
  2874  	// omitted from API requests. See
  2875  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2876  	// details.
  2877  	ForceSendFields []string `json:"-"`
  2878  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2879  	// with the JSON null value. By default, fields with empty values are omitted
  2880  	// from API requests. See
  2881  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2882  	NullFields []string `json:"-"`
  2883  }
  2884  
  2885  func (s *Status) MarshalJSON() ([]byte, error) {
  2886  	type NoMethod Status
  2887  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2888  }
  2889  
  2890  // StopInstanceRequest: Request for stopping a notebook instance
  2891  type StopInstanceRequest struct {
  2892  }
  2893  
  2894  // StopRuntimeRequest: Request for stopping a Managed Notebook Runtime.
  2895  type StopRuntimeRequest struct {
  2896  	// RequestId: Idempotent request UUID.
  2897  	RequestId string `json:"requestId,omitempty"`
  2898  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  2899  	// unconditionally include in API requests. By default, fields with empty or
  2900  	// default values are omitted from API requests. See
  2901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2902  	// details.
  2903  	ForceSendFields []string `json:"-"`
  2904  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  2905  	// requests with the JSON null value. By default, fields with empty values are
  2906  	// omitted from API requests. See
  2907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2908  	NullFields []string `json:"-"`
  2909  }
  2910  
  2911  func (s *StopRuntimeRequest) MarshalJSON() ([]byte, error) {
  2912  	type NoMethod StopRuntimeRequest
  2913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2914  }
  2915  
  2916  // SwitchRuntimeRequest: Request for switching a Managed Notebook Runtime.
  2917  type SwitchRuntimeRequest struct {
  2918  	// AcceleratorConfig: accelerator config.
  2919  	AcceleratorConfig *RuntimeAcceleratorConfig `json:"acceleratorConfig,omitempty"`
  2920  	// MachineType: machine type.
  2921  	MachineType string `json:"machineType,omitempty"`
  2922  	// RequestId: Idempotent request UUID.
  2923  	RequestId string `json:"requestId,omitempty"`
  2924  	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig") to
  2925  	// unconditionally include in API requests. By default, fields with empty or
  2926  	// default values are omitted from API requests. See
  2927  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2928  	// details.
  2929  	ForceSendFields []string `json:"-"`
  2930  	// NullFields is a list of field names (e.g. "AcceleratorConfig") to include in
  2931  	// API requests with the JSON null value. By default, fields with empty values
  2932  	// are omitted from API requests. See
  2933  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2934  	NullFields []string `json:"-"`
  2935  }
  2936  
  2937  func (s *SwitchRuntimeRequest) MarshalJSON() ([]byte, error) {
  2938  	type NoMethod SwitchRuntimeRequest
  2939  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2940  }
  2941  
  2942  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  2943  type TestIamPermissionsRequest struct {
  2944  	// Permissions: The set of permissions to check for the `resource`. Permissions
  2945  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  2946  	// information see IAM Overview
  2947  	// (https://cloud.google.com/iam/docs/overview#permissions).
  2948  	Permissions []string `json:"permissions,omitempty"`
  2949  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  2950  	// unconditionally include in API requests. By default, fields with empty or
  2951  	// default values are omitted from API requests. See
  2952  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2953  	// details.
  2954  	ForceSendFields []string `json:"-"`
  2955  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  2956  	// requests with the JSON null value. By default, fields with empty values are
  2957  	// omitted from API requests. See
  2958  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2959  	NullFields []string `json:"-"`
  2960  }
  2961  
  2962  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  2963  	type NoMethod TestIamPermissionsRequest
  2964  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2965  }
  2966  
  2967  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  2968  // method.
  2969  type TestIamPermissionsResponse struct {
  2970  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  2971  	// caller is allowed.
  2972  	Permissions []string `json:"permissions,omitempty"`
  2973  
  2974  	// ServerResponse contains the HTTP response code and headers from the server.
  2975  	googleapi.ServerResponse `json:"-"`
  2976  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  2977  	// unconditionally include in API requests. By default, fields with empty or
  2978  	// default values are omitted from API requests. See
  2979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2980  	// details.
  2981  	ForceSendFields []string `json:"-"`
  2982  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  2983  	// requests with the JSON null value. By default, fields with empty values are
  2984  	// omitted from API requests. See
  2985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2986  	NullFields []string `json:"-"`
  2987  }
  2988  
  2989  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  2990  	type NoMethod TestIamPermissionsResponse
  2991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2992  }
  2993  
  2994  // TriggerScheduleRequest: Request for created scheduled notebooks
  2995  type TriggerScheduleRequest struct {
  2996  }
  2997  
  2998  // UpdateInstanceConfigRequest: Request for updating instance configurations.
  2999  type UpdateInstanceConfigRequest struct {
  3000  	// Config: The instance configurations to be updated.
  3001  	Config *InstanceConfig `json:"config,omitempty"`
  3002  	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
  3003  	// include in API requests. By default, fields with empty or default values are
  3004  	// omitted from API requests. See
  3005  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3006  	// details.
  3007  	ForceSendFields []string `json:"-"`
  3008  	// NullFields is a list of field names (e.g. "Config") to include in API
  3009  	// requests with the JSON null value. By default, fields with empty values are
  3010  	// omitted from API requests. See
  3011  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3012  	NullFields []string `json:"-"`
  3013  }
  3014  
  3015  func (s *UpdateInstanceConfigRequest) MarshalJSON() ([]byte, error) {
  3016  	type NoMethod UpdateInstanceConfigRequest
  3017  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3018  }
  3019  
  3020  // UpdateInstanceMetadataItemsRequest: Request for adding/changing metadata
  3021  // items for an instance.
  3022  type UpdateInstanceMetadataItemsRequest struct {
  3023  	// Items: Metadata items to add/update for the instance.
  3024  	Items map[string]string `json:"items,omitempty"`
  3025  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  3026  	// include in API requests. By default, fields with empty or default values are
  3027  	// omitted from API requests. See
  3028  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3029  	// details.
  3030  	ForceSendFields []string `json:"-"`
  3031  	// NullFields is a list of field names (e.g. "Items") to include in API
  3032  	// requests with the JSON null value. By default, fields with empty values are
  3033  	// omitted from API requests. See
  3034  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3035  	NullFields []string `json:"-"`
  3036  }
  3037  
  3038  func (s *UpdateInstanceMetadataItemsRequest) MarshalJSON() ([]byte, error) {
  3039  	type NoMethod UpdateInstanceMetadataItemsRequest
  3040  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3041  }
  3042  
  3043  // UpdateInstanceMetadataItemsResponse: Response for adding/changing metadata
  3044  // items for an instance.
  3045  type UpdateInstanceMetadataItemsResponse struct {
  3046  	// Items: Map of items that were added/updated to/in the metadata.
  3047  	Items map[string]string `json:"items,omitempty"`
  3048  
  3049  	// ServerResponse contains the HTTP response code and headers from the server.
  3050  	googleapi.ServerResponse `json:"-"`
  3051  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  3052  	// include in API requests. By default, fields with empty or default values are
  3053  	// omitted from API requests. See
  3054  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3055  	// details.
  3056  	ForceSendFields []string `json:"-"`
  3057  	// NullFields is a list of field names (e.g. "Items") to include in API
  3058  	// requests with the JSON null value. By default, fields with empty values are
  3059  	// omitted from API requests. See
  3060  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3061  	NullFields []string `json:"-"`
  3062  }
  3063  
  3064  func (s *UpdateInstanceMetadataItemsResponse) MarshalJSON() ([]byte, error) {
  3065  	type NoMethod UpdateInstanceMetadataItemsResponse
  3066  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3067  }
  3068  
  3069  // UpdateShieldedInstanceConfigRequest: Request for updating the Shielded
  3070  // Instance config for a notebook instance. You can only use this method on a
  3071  // stopped instance
  3072  type UpdateShieldedInstanceConfigRequest struct {
  3073  	// ShieldedInstanceConfig: ShieldedInstance configuration to be updated.
  3074  	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
  3075  	// ForceSendFields is a list of field names (e.g. "ShieldedInstanceConfig") to
  3076  	// unconditionally include in API requests. By default, fields with empty or
  3077  	// default values are omitted from API requests. See
  3078  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3079  	// details.
  3080  	ForceSendFields []string `json:"-"`
  3081  	// NullFields is a list of field names (e.g. "ShieldedInstanceConfig") to
  3082  	// include in API requests with the JSON null value. By default, fields with
  3083  	// empty values are omitted from API requests. See
  3084  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3085  	NullFields []string `json:"-"`
  3086  }
  3087  
  3088  func (s *UpdateShieldedInstanceConfigRequest) MarshalJSON() ([]byte, error) {
  3089  	type NoMethod UpdateShieldedInstanceConfigRequest
  3090  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3091  }
  3092  
  3093  // UpgradeHistoryEntry: The entry of VM image upgrade history.
  3094  type UpgradeHistoryEntry struct {
  3095  	// Action: Action. Rolloback or Upgrade.
  3096  	//
  3097  	// Possible values:
  3098  	//   "ACTION_UNSPECIFIED" - Operation is not specified.
  3099  	//   "UPGRADE" - Upgrade.
  3100  	//   "ROLLBACK" - Rollback.
  3101  	Action string `json:"action,omitempty"`
  3102  	// ContainerImage: The container image before this instance upgrade.
  3103  	ContainerImage string `json:"containerImage,omitempty"`
  3104  	// CreateTime: The time that this instance upgrade history entry is created.
  3105  	CreateTime string `json:"createTime,omitempty"`
  3106  	// Framework: The framework of this notebook instance.
  3107  	Framework string `json:"framework,omitempty"`
  3108  	// Snapshot: The snapshot of the boot disk of this notebook instance before
  3109  	// upgrade.
  3110  	Snapshot string `json:"snapshot,omitempty"`
  3111  	// State: The state of this instance upgrade history entry.
  3112  	//
  3113  	// Possible values:
  3114  	//   "STATE_UNSPECIFIED" - State is not specified.
  3115  	//   "STARTED" - The instance upgrade is started.
  3116  	//   "SUCCEEDED" - The instance upgrade is succeeded.
  3117  	//   "FAILED" - The instance upgrade is failed.
  3118  	State string `json:"state,omitempty"`
  3119  	// TargetImage: Target VM Image. Format:
  3120  	// `ainotebooks-vm/project/image-name/name`.
  3121  	TargetImage string `json:"targetImage,omitempty"`
  3122  	// TargetVersion: Target VM Version, like m63.
  3123  	TargetVersion string `json:"targetVersion,omitempty"`
  3124  	// Version: The version of the notebook instance before this upgrade.
  3125  	Version string `json:"version,omitempty"`
  3126  	// VmImage: The VM image before this instance upgrade.
  3127  	VmImage string `json:"vmImage,omitempty"`
  3128  	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
  3129  	// include in API requests. By default, fields with empty or default values are
  3130  	// omitted from API requests. See
  3131  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3132  	// details.
  3133  	ForceSendFields []string `json:"-"`
  3134  	// NullFields is a list of field names (e.g. "Action") to include in API
  3135  	// requests with the JSON null value. By default, fields with empty values are
  3136  	// omitted from API requests. See
  3137  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3138  	NullFields []string `json:"-"`
  3139  }
  3140  
  3141  func (s *UpgradeHistoryEntry) MarshalJSON() ([]byte, error) {
  3142  	type NoMethod UpgradeHistoryEntry
  3143  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3144  }
  3145  
  3146  // UpgradeInstanceInternalRequest: Request for upgrading a notebook instance
  3147  // from within the VM
  3148  type UpgradeInstanceInternalRequest struct {
  3149  	// Type: Optional. The optional UpgradeType. Setting this field will search for
  3150  	// additional compute images to upgrade this instance.
  3151  	//
  3152  	// Possible values:
  3153  	//   "UPGRADE_TYPE_UNSPECIFIED" - Upgrade type is not specified.
  3154  	//   "UPGRADE_FRAMEWORK" - Upgrade ML framework.
  3155  	//   "UPGRADE_OS" - Upgrade Operating System.
  3156  	//   "UPGRADE_CUDA" - Upgrade CUDA.
  3157  	//   "UPGRADE_ALL" - Upgrade All (OS, Framework and CUDA).
  3158  	Type string `json:"type,omitempty"`
  3159  	// VmId: Required. The VM hardware token for authenticating the VM.
  3160  	// https://cloud.google.com/compute/docs/instances/verifying-instance-identity
  3161  	VmId string `json:"vmId,omitempty"`
  3162  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  3163  	// include in API requests. By default, fields with empty or default values are
  3164  	// omitted from API requests. See
  3165  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3166  	// details.
  3167  	ForceSendFields []string `json:"-"`
  3168  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  3169  	// with the JSON null value. By default, fields with empty values are omitted
  3170  	// from API requests. See
  3171  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3172  	NullFields []string `json:"-"`
  3173  }
  3174  
  3175  func (s *UpgradeInstanceInternalRequest) MarshalJSON() ([]byte, error) {
  3176  	type NoMethod UpgradeInstanceInternalRequest
  3177  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3178  }
  3179  
  3180  // UpgradeInstanceRequest: Request for upgrading a notebook instance
  3181  type UpgradeInstanceRequest struct {
  3182  	// Type: Optional. The optional UpgradeType. Setting this field will search for
  3183  	// additional compute images to upgrade this instance.
  3184  	//
  3185  	// Possible values:
  3186  	//   "UPGRADE_TYPE_UNSPECIFIED" - Upgrade type is not specified.
  3187  	//   "UPGRADE_FRAMEWORK" - Upgrade ML framework.
  3188  	//   "UPGRADE_OS" - Upgrade Operating System.
  3189  	//   "UPGRADE_CUDA" - Upgrade CUDA.
  3190  	//   "UPGRADE_ALL" - Upgrade All (OS, Framework and CUDA).
  3191  	Type string `json:"type,omitempty"`
  3192  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  3193  	// include in API requests. By default, fields with empty or default values are
  3194  	// omitted from API requests. See
  3195  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3196  	// details.
  3197  	ForceSendFields []string `json:"-"`
  3198  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  3199  	// with the JSON null value. By default, fields with empty values are omitted
  3200  	// from API requests. See
  3201  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3202  	NullFields []string `json:"-"`
  3203  }
  3204  
  3205  func (s *UpgradeInstanceRequest) MarshalJSON() ([]byte, error) {
  3206  	type NoMethod UpgradeInstanceRequest
  3207  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3208  }
  3209  
  3210  // UpgradeRuntimeRequest: Request for upgrading a Managed Notebook Runtime to
  3211  // the latest version. option (google.api.message_visibility).restriction =
  3212  // "TRUSTED_TESTER,SPECIAL_TESTER";
  3213  type UpgradeRuntimeRequest struct {
  3214  	// RequestId: Idempotent request UUID.
  3215  	RequestId string `json:"requestId,omitempty"`
  3216  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  3217  	// unconditionally include in API requests. By default, fields with empty or
  3218  	// default values are omitted from API requests. See
  3219  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3220  	// details.
  3221  	ForceSendFields []string `json:"-"`
  3222  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  3223  	// requests with the JSON null value. By default, fields with empty values are
  3224  	// omitted from API requests. See
  3225  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3226  	NullFields []string `json:"-"`
  3227  }
  3228  
  3229  func (s *UpgradeRuntimeRequest) MarshalJSON() ([]byte, error) {
  3230  	type NoMethod UpgradeRuntimeRequest
  3231  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3232  }
  3233  
  3234  // VertexAIParameters: Parameters used in Vertex AI JobType executions.
  3235  type VertexAIParameters struct {
  3236  	// Env: Environment variables. At most 100 environment variables can be
  3237  	// specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/`
  3238  	Env map[string]string `json:"env,omitempty"`
  3239  	// Network: The full name of the Compute Engine network
  3240  	// (https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to
  3241  	// which the Job should be peered. For example,
  3242  	// `projects/12345/global/networks/myVPC`. Format
  3243  	// (https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert) is
  3244  	// of the form `projects/{project}/global/networks/{network}`. Where
  3245  	// `{project}` is a project number, as in `12345`, and `{network}` is a network
  3246  	// name. Private services access must already be configured for the network. If
  3247  	// left unspecified, the job is not peered with any network.
  3248  	Network string `json:"network,omitempty"`
  3249  	// ForceSendFields is a list of field names (e.g. "Env") to unconditionally
  3250  	// include in API requests. By default, fields with empty or default values are
  3251  	// omitted from API requests. See
  3252  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3253  	// details.
  3254  	ForceSendFields []string `json:"-"`
  3255  	// NullFields is a list of field names (e.g. "Env") to include in API requests
  3256  	// with the JSON null value. By default, fields with empty values are omitted
  3257  	// from API requests. See
  3258  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3259  	NullFields []string `json:"-"`
  3260  }
  3261  
  3262  func (s *VertexAIParameters) MarshalJSON() ([]byte, error) {
  3263  	type NoMethod VertexAIParameters
  3264  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3265  }
  3266  
  3267  // VirtualMachine: Runtime using Virtual Machine for computing.
  3268  type VirtualMachine struct {
  3269  	// InstanceId: Output only. The unique identifier of the Managed Compute Engine
  3270  	// instance.
  3271  	InstanceId string `json:"instanceId,omitempty"`
  3272  	// InstanceName: Output only. The user-friendly name of the Managed Compute
  3273  	// Engine instance.
  3274  	InstanceName string `json:"instanceName,omitempty"`
  3275  	// VirtualMachineConfig: Virtual Machine configuration settings.
  3276  	VirtualMachineConfig *VirtualMachineConfig `json:"virtualMachineConfig,omitempty"`
  3277  	// ForceSendFields is a list of field names (e.g. "InstanceId") to
  3278  	// unconditionally include in API requests. By default, fields with empty or
  3279  	// default values are omitted from API requests. See
  3280  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3281  	// details.
  3282  	ForceSendFields []string `json:"-"`
  3283  	// NullFields is a list of field names (e.g. "InstanceId") to include in API
  3284  	// requests with the JSON null value. By default, fields with empty values are
  3285  	// omitted from API requests. See
  3286  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3287  	NullFields []string `json:"-"`
  3288  }
  3289  
  3290  func (s *VirtualMachine) MarshalJSON() ([]byte, error) {
  3291  	type NoMethod VirtualMachine
  3292  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3293  }
  3294  
  3295  // VirtualMachineConfig: The config settings for virtual machine.
  3296  type VirtualMachineConfig struct {
  3297  	// AcceleratorConfig: Optional. The Compute Engine accelerator configuration
  3298  	// for this runtime.
  3299  	AcceleratorConfig *RuntimeAcceleratorConfig `json:"acceleratorConfig,omitempty"`
  3300  	// BootImage: Optional. Boot image metadata used for runtime upgradeability.
  3301  	BootImage *BootImage `json:"bootImage,omitempty"`
  3302  	// ContainerImages: Optional. Use a list of container images to use as Kernels
  3303  	// in the notebook instance.
  3304  	ContainerImages []*ContainerImage `json:"containerImages,omitempty"`
  3305  	// DataDisk: Required. Data disk option configuration settings.
  3306  	DataDisk *LocalDisk `json:"dataDisk,omitempty"`
  3307  	// EncryptionConfig: Optional. Encryption settings for virtual machine data
  3308  	// disk.
  3309  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
  3310  	// GuestAttributes: Output only. The Compute Engine guest attributes. (see
  3311  	// Project and instance guest attributes
  3312  	// (https://cloud.google.com/compute/docs/storing-retrieving-metadata#guest_attributes)).
  3313  	GuestAttributes map[string]string `json:"guestAttributes,omitempty"`
  3314  	// InternalIpOnly: Optional. If true, runtime will only have internal IP
  3315  	// addresses. By default, runtimes are not restricted to internal IP addresses,
  3316  	// and will have ephemeral external IP addresses assigned to each vm. This
  3317  	// `internal_ip_only` restriction can only be enabled for subnetwork enabled
  3318  	// networks, and all dependencies must be configured to be accessible without
  3319  	// external IP addresses.
  3320  	InternalIpOnly bool `json:"internalIpOnly,omitempty"`
  3321  	// Labels: Optional. The labels to associate with this runtime. Label **keys**
  3322  	// must contain 1 to 63 characters, and must conform to RFC 1035
  3323  	// (https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but,
  3324  	// if present, must contain 1 to 63 characters, and must conform to RFC 1035
  3325  	// (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
  3326  	// associated with a cluster.
  3327  	Labels map[string]string `json:"labels,omitempty"`
  3328  	// MachineType: Required. The Compute Engine machine type used for runtimes.
  3329  	// Short name is valid. Examples: * `n1-standard-2` * `e2-standard-8`
  3330  	MachineType string `json:"machineType,omitempty"`
  3331  	// Metadata: Optional. The Compute Engine metadata entries to add to virtual
  3332  	// machine. (see Project and instance metadata
  3333  	// (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
  3334  	Metadata map[string]string `json:"metadata,omitempty"`
  3335  	// Network: Optional. The Compute Engine network to be used for machine
  3336  	// communications. Cannot be specified with subnetwork. If neither `network`
  3337  	// nor `subnet` is specified, the "default" network of the project is used, if
  3338  	// it exists. A full URL or partial URI. Examples: *
  3339  	// `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/
  3340  	// default` * `projects/[project_id]/global/networks/default` Runtimes are
  3341  	// managed resources inside Google Infrastructure. Runtimes support the
  3342  	// following network configurations: * Google Managed Network (Network & subnet
  3343  	// are empty) * Consumer Project VPC (network & subnet are required). Requires
  3344  	// configuring Private Service Access. * Shared VPC (network & subnet are
  3345  	// required). Requires configuring Private Service Access.
  3346  	Network string `json:"network,omitempty"`
  3347  	// NicType: Optional. The type of vNIC to be used on this interface. This may
  3348  	// be gVNIC or VirtioNet.
  3349  	//
  3350  	// Possible values:
  3351  	//   "UNSPECIFIED_NIC_TYPE" - No type specified.
  3352  	//   "VIRTIO_NET" - VIRTIO
  3353  	//   "GVNIC" - GVNIC
  3354  	NicType string `json:"nicType,omitempty"`
  3355  	// ReservedIpRange: Optional. Reserved IP Range name is used for VPC Peering.
  3356  	// The subnetwork allocation will use the range *name* if it's assigned.
  3357  	// Example: managed-notebooks-range-c
  3358  	// PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses
  3359  	// create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \
  3360  	// --description="Google Cloud Managed Notebooks Range 24 c" \
  3361  	// --network=$NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field
  3362  	// value will be: `managed-notebooks-range-c`
  3363  	ReservedIpRange string `json:"reservedIpRange,omitempty"`
  3364  	// ShieldedInstanceConfig: Optional. Shielded VM Instance configuration
  3365  	// settings.
  3366  	ShieldedInstanceConfig *RuntimeShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
  3367  	// Subnet: Optional. The Compute Engine subnetwork to be used for machine
  3368  	// communications. Cannot be specified with network. A full URL or partial URI
  3369  	// are valid. Examples: *
  3370  	// `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1
  3371  	// /subnetworks/sub0` *
  3372  	// `projects/[project_id]/regions/us-east1/subnetworks/sub0`
  3373  	Subnet string `json:"subnet,omitempty"`
  3374  	// Tags: Optional. The Compute Engine tags to add to runtime (see Tagging
  3375  	// instances
  3376  	// (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
  3377  	Tags []string `json:"tags,omitempty"`
  3378  	// Zone: Output only. The zone where the virtual machine is located. If using
  3379  	// regional request, the notebooks service will pick a location in the
  3380  	// corresponding runtime region. On a get request, zone will always be present.
  3381  	// Example: * `us-central1-b`
  3382  	Zone string `json:"zone,omitempty"`
  3383  	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig") to
  3384  	// unconditionally include in API requests. By default, fields with empty or
  3385  	// default values are omitted from API requests. See
  3386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3387  	// details.
  3388  	ForceSendFields []string `json:"-"`
  3389  	// NullFields is a list of field names (e.g. "AcceleratorConfig") to include in
  3390  	// API requests with the JSON null value. By default, fields with empty values
  3391  	// are omitted from API requests. See
  3392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3393  	NullFields []string `json:"-"`
  3394  }
  3395  
  3396  func (s *VirtualMachineConfig) MarshalJSON() ([]byte, error) {
  3397  	type NoMethod VirtualMachineConfig
  3398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3399  }
  3400  
  3401  // VmImage: Definition of a custom Compute Engine virtual machine image for
  3402  // starting a notebook instance with the environment installed directly on the
  3403  // VM.
  3404  type VmImage struct {
  3405  	// ImageFamily: Use this VM image family to find the image; the newest image in
  3406  	// this family will be used.
  3407  	ImageFamily string `json:"imageFamily,omitempty"`
  3408  	// ImageName: Use VM image name to find the image.
  3409  	ImageName string `json:"imageName,omitempty"`
  3410  	// Project: Required. The name of the Google Cloud project that this VM image
  3411  	// belongs to. Format: `{project_id}`
  3412  	Project string `json:"project,omitempty"`
  3413  	// ForceSendFields is a list of field names (e.g. "ImageFamily") to
  3414  	// unconditionally include in API requests. By default, fields with empty or
  3415  	// default values are omitted from API requests. See
  3416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3417  	// details.
  3418  	ForceSendFields []string `json:"-"`
  3419  	// NullFields is a list of field names (e.g. "ImageFamily") to include in API
  3420  	// requests with the JSON null value. By default, fields with empty values are
  3421  	// omitted from API requests. See
  3422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3423  	NullFields []string `json:"-"`
  3424  }
  3425  
  3426  func (s *VmImage) MarshalJSON() ([]byte, error) {
  3427  	type NoMethod VmImage
  3428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3429  }
  3430  
  3431  type ProjectsLocationsGetCall struct {
  3432  	s            *Service
  3433  	name         string
  3434  	urlParams_   gensupport.URLParams
  3435  	ifNoneMatch_ string
  3436  	ctx_         context.Context
  3437  	header_      http.Header
  3438  }
  3439  
  3440  // Get: Gets information about a location.
  3441  //
  3442  // - name: Resource name for the location.
  3443  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  3444  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3445  	c.name = name
  3446  	return c
  3447  }
  3448  
  3449  // Fields allows partial responses to be retrieved. See
  3450  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3451  // details.
  3452  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  3453  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3454  	return c
  3455  }
  3456  
  3457  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3458  // object's ETag matches the given value. This is useful for getting updates
  3459  // only after the object has changed since the last request.
  3460  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  3461  	c.ifNoneMatch_ = entityTag
  3462  	return c
  3463  }
  3464  
  3465  // Context sets the context to be used in this call's Do method.
  3466  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  3467  	c.ctx_ = ctx
  3468  	return c
  3469  }
  3470  
  3471  // Header returns a http.Header that can be modified by the caller to add
  3472  // headers to the request.
  3473  func (c *ProjectsLocationsGetCall) Header() http.Header {
  3474  	if c.header_ == nil {
  3475  		c.header_ = make(http.Header)
  3476  	}
  3477  	return c.header_
  3478  }
  3479  
  3480  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  3481  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3482  	if c.ifNoneMatch_ != "" {
  3483  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3484  	}
  3485  	var body io.Reader = nil
  3486  	c.urlParams_.Set("alt", alt)
  3487  	c.urlParams_.Set("prettyPrint", "false")
  3488  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3489  	urls += "?" + c.urlParams_.Encode()
  3490  	req, err := http.NewRequest("GET", urls, body)
  3491  	if err != nil {
  3492  		return nil, err
  3493  	}
  3494  	req.Header = reqHeaders
  3495  	googleapi.Expand(req.URL, map[string]string{
  3496  		"name": c.name,
  3497  	})
  3498  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3499  }
  3500  
  3501  // Do executes the "notebooks.projects.locations.get" call.
  3502  // Any non-2xx status code is an error. Response headers are in either
  3503  // *Location.ServerResponse.Header or (if a response was returned at all) in
  3504  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3505  // whether the returned error was because http.StatusNotModified was returned.
  3506  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  3507  	gensupport.SetOptions(c.urlParams_, opts...)
  3508  	res, err := c.doRequest("json")
  3509  	if res != nil && res.StatusCode == http.StatusNotModified {
  3510  		if res.Body != nil {
  3511  			res.Body.Close()
  3512  		}
  3513  		return nil, gensupport.WrapError(&googleapi.Error{
  3514  			Code:   res.StatusCode,
  3515  			Header: res.Header,
  3516  		})
  3517  	}
  3518  	if err != nil {
  3519  		return nil, err
  3520  	}
  3521  	defer googleapi.CloseBody(res)
  3522  	if err := googleapi.CheckResponse(res); err != nil {
  3523  		return nil, gensupport.WrapError(err)
  3524  	}
  3525  	ret := &Location{
  3526  		ServerResponse: googleapi.ServerResponse{
  3527  			Header:         res.Header,
  3528  			HTTPStatusCode: res.StatusCode,
  3529  		},
  3530  	}
  3531  	target := &ret
  3532  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3533  		return nil, err
  3534  	}
  3535  	return ret, nil
  3536  }
  3537  
  3538  type ProjectsLocationsListCall struct {
  3539  	s            *Service
  3540  	name         string
  3541  	urlParams_   gensupport.URLParams
  3542  	ifNoneMatch_ string
  3543  	ctx_         context.Context
  3544  	header_      http.Header
  3545  }
  3546  
  3547  // List: Lists information about the supported locations for this service.
  3548  //
  3549  // - name: The resource that owns the locations collection, if applicable.
  3550  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  3551  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3552  	c.name = name
  3553  	return c
  3554  }
  3555  
  3556  // Filter sets the optional parameter "filter": A filter to narrow down results
  3557  // to a preferred subset. The filtering language accepts strings like
  3558  // "displayName=tokyo", and is documented in more detail in AIP-160
  3559  // (https://google.aip.dev/160).
  3560  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  3561  	c.urlParams_.Set("filter", filter)
  3562  	return c
  3563  }
  3564  
  3565  // PageSize sets the optional parameter "pageSize": The maximum number of
  3566  // results to return. If not set, the service selects a default.
  3567  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  3568  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3569  	return c
  3570  }
  3571  
  3572  // PageToken sets the optional parameter "pageToken": A page token received
  3573  // from the `next_page_token` field in the response. Send that page token to
  3574  // receive the subsequent page.
  3575  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  3576  	c.urlParams_.Set("pageToken", pageToken)
  3577  	return c
  3578  }
  3579  
  3580  // Fields allows partial responses to be retrieved. See
  3581  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3582  // details.
  3583  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  3584  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3585  	return c
  3586  }
  3587  
  3588  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3589  // object's ETag matches the given value. This is useful for getting updates
  3590  // only after the object has changed since the last request.
  3591  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  3592  	c.ifNoneMatch_ = entityTag
  3593  	return c
  3594  }
  3595  
  3596  // Context sets the context to be used in this call's Do method.
  3597  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  3598  	c.ctx_ = ctx
  3599  	return c
  3600  }
  3601  
  3602  // Header returns a http.Header that can be modified by the caller to add
  3603  // headers to the request.
  3604  func (c *ProjectsLocationsListCall) Header() http.Header {
  3605  	if c.header_ == nil {
  3606  		c.header_ = make(http.Header)
  3607  	}
  3608  	return c.header_
  3609  }
  3610  
  3611  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  3612  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3613  	if c.ifNoneMatch_ != "" {
  3614  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3615  	}
  3616  	var body io.Reader = nil
  3617  	c.urlParams_.Set("alt", alt)
  3618  	c.urlParams_.Set("prettyPrint", "false")
  3619  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
  3620  	urls += "?" + c.urlParams_.Encode()
  3621  	req, err := http.NewRequest("GET", urls, body)
  3622  	if err != nil {
  3623  		return nil, err
  3624  	}
  3625  	req.Header = reqHeaders
  3626  	googleapi.Expand(req.URL, map[string]string{
  3627  		"name": c.name,
  3628  	})
  3629  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3630  }
  3631  
  3632  // Do executes the "notebooks.projects.locations.list" call.
  3633  // Any non-2xx status code is an error. Response headers are in either
  3634  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  3635  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3636  // check whether the returned error was because http.StatusNotModified was
  3637  // returned.
  3638  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  3639  	gensupport.SetOptions(c.urlParams_, opts...)
  3640  	res, err := c.doRequest("json")
  3641  	if res != nil && res.StatusCode == http.StatusNotModified {
  3642  		if res.Body != nil {
  3643  			res.Body.Close()
  3644  		}
  3645  		return nil, gensupport.WrapError(&googleapi.Error{
  3646  			Code:   res.StatusCode,
  3647  			Header: res.Header,
  3648  		})
  3649  	}
  3650  	if err != nil {
  3651  		return nil, err
  3652  	}
  3653  	defer googleapi.CloseBody(res)
  3654  	if err := googleapi.CheckResponse(res); err != nil {
  3655  		return nil, gensupport.WrapError(err)
  3656  	}
  3657  	ret := &ListLocationsResponse{
  3658  		ServerResponse: googleapi.ServerResponse{
  3659  			Header:         res.Header,
  3660  			HTTPStatusCode: res.StatusCode,
  3661  		},
  3662  	}
  3663  	target := &ret
  3664  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3665  		return nil, err
  3666  	}
  3667  	return ret, nil
  3668  }
  3669  
  3670  // Pages invokes f for each page of results.
  3671  // A non-nil error returned from f will halt the iteration.
  3672  // The provided context supersedes any context provided to the Context method.
  3673  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  3674  	c.ctx_ = ctx
  3675  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3676  	for {
  3677  		x, err := c.Do()
  3678  		if err != nil {
  3679  			return err
  3680  		}
  3681  		if err := f(x); err != nil {
  3682  			return err
  3683  		}
  3684  		if x.NextPageToken == "" {
  3685  			return nil
  3686  		}
  3687  		c.PageToken(x.NextPageToken)
  3688  	}
  3689  }
  3690  
  3691  type ProjectsLocationsEnvironmentsCreateCall struct {
  3692  	s           *Service
  3693  	parent      string
  3694  	environment *Environment
  3695  	urlParams_  gensupport.URLParams
  3696  	ctx_        context.Context
  3697  	header_     http.Header
  3698  }
  3699  
  3700  // Create: Creates a new Environment.
  3701  //
  3702  // - parent: Format: `projects/{project_id}/locations/{location}`.
  3703  func (r *ProjectsLocationsEnvironmentsService) Create(parent string, environment *Environment) *ProjectsLocationsEnvironmentsCreateCall {
  3704  	c := &ProjectsLocationsEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3705  	c.parent = parent
  3706  	c.environment = environment
  3707  	return c
  3708  }
  3709  
  3710  // EnvironmentId sets the optional parameter "environmentId": Required.
  3711  // User-defined unique ID of this environment. The `environment_id` must be 1
  3712  // to 63 characters long and contain only lowercase letters, numeric
  3713  // characters, and dashes. The first character must be a lowercase letter and
  3714  // the last character cannot be a dash.
  3715  func (c *ProjectsLocationsEnvironmentsCreateCall) EnvironmentId(environmentId string) *ProjectsLocationsEnvironmentsCreateCall {
  3716  	c.urlParams_.Set("environmentId", environmentId)
  3717  	return c
  3718  }
  3719  
  3720  // Fields allows partial responses to be retrieved. See
  3721  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3722  // details.
  3723  func (c *ProjectsLocationsEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsCreateCall {
  3724  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3725  	return c
  3726  }
  3727  
  3728  // Context sets the context to be used in this call's Do method.
  3729  func (c *ProjectsLocationsEnvironmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsCreateCall {
  3730  	c.ctx_ = ctx
  3731  	return c
  3732  }
  3733  
  3734  // Header returns a http.Header that can be modified by the caller to add
  3735  // headers to the request.
  3736  func (c *ProjectsLocationsEnvironmentsCreateCall) Header() http.Header {
  3737  	if c.header_ == nil {
  3738  		c.header_ = make(http.Header)
  3739  	}
  3740  	return c.header_
  3741  }
  3742  
  3743  func (c *ProjectsLocationsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
  3744  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3745  	var body io.Reader = nil
  3746  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  3747  	if err != nil {
  3748  		return nil, err
  3749  	}
  3750  	c.urlParams_.Set("alt", alt)
  3751  	c.urlParams_.Set("prettyPrint", "false")
  3752  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/environments")
  3753  	urls += "?" + c.urlParams_.Encode()
  3754  	req, err := http.NewRequest("POST", urls, body)
  3755  	if err != nil {
  3756  		return nil, err
  3757  	}
  3758  	req.Header = reqHeaders
  3759  	googleapi.Expand(req.URL, map[string]string{
  3760  		"parent": c.parent,
  3761  	})
  3762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3763  }
  3764  
  3765  // Do executes the "notebooks.projects.locations.environments.create" call.
  3766  // Any non-2xx status code is an error. Response headers are in either
  3767  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3768  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3769  // whether the returned error was because http.StatusNotModified was returned.
  3770  func (c *ProjectsLocationsEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3771  	gensupport.SetOptions(c.urlParams_, opts...)
  3772  	res, err := c.doRequest("json")
  3773  	if res != nil && res.StatusCode == http.StatusNotModified {
  3774  		if res.Body != nil {
  3775  			res.Body.Close()
  3776  		}
  3777  		return nil, gensupport.WrapError(&googleapi.Error{
  3778  			Code:   res.StatusCode,
  3779  			Header: res.Header,
  3780  		})
  3781  	}
  3782  	if err != nil {
  3783  		return nil, err
  3784  	}
  3785  	defer googleapi.CloseBody(res)
  3786  	if err := googleapi.CheckResponse(res); err != nil {
  3787  		return nil, gensupport.WrapError(err)
  3788  	}
  3789  	ret := &Operation{
  3790  		ServerResponse: googleapi.ServerResponse{
  3791  			Header:         res.Header,
  3792  			HTTPStatusCode: res.StatusCode,
  3793  		},
  3794  	}
  3795  	target := &ret
  3796  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3797  		return nil, err
  3798  	}
  3799  	return ret, nil
  3800  }
  3801  
  3802  type ProjectsLocationsEnvironmentsDeleteCall struct {
  3803  	s          *Service
  3804  	name       string
  3805  	urlParams_ gensupport.URLParams
  3806  	ctx_       context.Context
  3807  	header_    http.Header
  3808  }
  3809  
  3810  // Delete: Deletes a single Environment.
  3811  //
  3812  //   - name: Format:
  3813  //     `projects/{project_id}/locations/{location}/environments/{environment_id}`.
  3814  func (r *ProjectsLocationsEnvironmentsService) Delete(name string) *ProjectsLocationsEnvironmentsDeleteCall {
  3815  	c := &ProjectsLocationsEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3816  	c.name = name
  3817  	return c
  3818  }
  3819  
  3820  // Fields allows partial responses to be retrieved. See
  3821  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3822  // details.
  3823  func (c *ProjectsLocationsEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsDeleteCall {
  3824  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3825  	return c
  3826  }
  3827  
  3828  // Context sets the context to be used in this call's Do method.
  3829  func (c *ProjectsLocationsEnvironmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsDeleteCall {
  3830  	c.ctx_ = ctx
  3831  	return c
  3832  }
  3833  
  3834  // Header returns a http.Header that can be modified by the caller to add
  3835  // headers to the request.
  3836  func (c *ProjectsLocationsEnvironmentsDeleteCall) Header() http.Header {
  3837  	if c.header_ == nil {
  3838  		c.header_ = make(http.Header)
  3839  	}
  3840  	return c.header_
  3841  }
  3842  
  3843  func (c *ProjectsLocationsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  3844  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3845  	var body io.Reader = nil
  3846  	c.urlParams_.Set("alt", alt)
  3847  	c.urlParams_.Set("prettyPrint", "false")
  3848  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3849  	urls += "?" + c.urlParams_.Encode()
  3850  	req, err := http.NewRequest("DELETE", urls, body)
  3851  	if err != nil {
  3852  		return nil, err
  3853  	}
  3854  	req.Header = reqHeaders
  3855  	googleapi.Expand(req.URL, map[string]string{
  3856  		"name": c.name,
  3857  	})
  3858  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3859  }
  3860  
  3861  // Do executes the "notebooks.projects.locations.environments.delete" call.
  3862  // Any non-2xx status code is an error. Response headers are in either
  3863  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3864  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3865  // whether the returned error was because http.StatusNotModified was returned.
  3866  func (c *ProjectsLocationsEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3867  	gensupport.SetOptions(c.urlParams_, opts...)
  3868  	res, err := c.doRequest("json")
  3869  	if res != nil && res.StatusCode == http.StatusNotModified {
  3870  		if res.Body != nil {
  3871  			res.Body.Close()
  3872  		}
  3873  		return nil, gensupport.WrapError(&googleapi.Error{
  3874  			Code:   res.StatusCode,
  3875  			Header: res.Header,
  3876  		})
  3877  	}
  3878  	if err != nil {
  3879  		return nil, err
  3880  	}
  3881  	defer googleapi.CloseBody(res)
  3882  	if err := googleapi.CheckResponse(res); err != nil {
  3883  		return nil, gensupport.WrapError(err)
  3884  	}
  3885  	ret := &Operation{
  3886  		ServerResponse: googleapi.ServerResponse{
  3887  			Header:         res.Header,
  3888  			HTTPStatusCode: res.StatusCode,
  3889  		},
  3890  	}
  3891  	target := &ret
  3892  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3893  		return nil, err
  3894  	}
  3895  	return ret, nil
  3896  }
  3897  
  3898  type ProjectsLocationsEnvironmentsGetCall struct {
  3899  	s            *Service
  3900  	name         string
  3901  	urlParams_   gensupport.URLParams
  3902  	ifNoneMatch_ string
  3903  	ctx_         context.Context
  3904  	header_      http.Header
  3905  }
  3906  
  3907  // Get: Gets details of a single Environment.
  3908  //
  3909  //   - name: Format:
  3910  //     `projects/{project_id}/locations/{location}/environments/{environment_id}`.
  3911  func (r *ProjectsLocationsEnvironmentsService) Get(name string) *ProjectsLocationsEnvironmentsGetCall {
  3912  	c := &ProjectsLocationsEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3913  	c.name = name
  3914  	return c
  3915  }
  3916  
  3917  // Fields allows partial responses to be retrieved. See
  3918  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3919  // details.
  3920  func (c *ProjectsLocationsEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsGetCall {
  3921  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3922  	return c
  3923  }
  3924  
  3925  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3926  // object's ETag matches the given value. This is useful for getting updates
  3927  // only after the object has changed since the last request.
  3928  func (c *ProjectsLocationsEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsGetCall {
  3929  	c.ifNoneMatch_ = entityTag
  3930  	return c
  3931  }
  3932  
  3933  // Context sets the context to be used in this call's Do method.
  3934  func (c *ProjectsLocationsEnvironmentsGetCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsGetCall {
  3935  	c.ctx_ = ctx
  3936  	return c
  3937  }
  3938  
  3939  // Header returns a http.Header that can be modified by the caller to add
  3940  // headers to the request.
  3941  func (c *ProjectsLocationsEnvironmentsGetCall) Header() http.Header {
  3942  	if c.header_ == nil {
  3943  		c.header_ = make(http.Header)
  3944  	}
  3945  	return c.header_
  3946  }
  3947  
  3948  func (c *ProjectsLocationsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
  3949  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3950  	if c.ifNoneMatch_ != "" {
  3951  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3952  	}
  3953  	var body io.Reader = nil
  3954  	c.urlParams_.Set("alt", alt)
  3955  	c.urlParams_.Set("prettyPrint", "false")
  3956  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  3957  	urls += "?" + c.urlParams_.Encode()
  3958  	req, err := http.NewRequest("GET", urls, body)
  3959  	if err != nil {
  3960  		return nil, err
  3961  	}
  3962  	req.Header = reqHeaders
  3963  	googleapi.Expand(req.URL, map[string]string{
  3964  		"name": c.name,
  3965  	})
  3966  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3967  }
  3968  
  3969  // Do executes the "notebooks.projects.locations.environments.get" call.
  3970  // Any non-2xx status code is an error. Response headers are in either
  3971  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  3972  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3973  // whether the returned error was because http.StatusNotModified was returned.
  3974  func (c *ProjectsLocationsEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  3975  	gensupport.SetOptions(c.urlParams_, opts...)
  3976  	res, err := c.doRequest("json")
  3977  	if res != nil && res.StatusCode == http.StatusNotModified {
  3978  		if res.Body != nil {
  3979  			res.Body.Close()
  3980  		}
  3981  		return nil, gensupport.WrapError(&googleapi.Error{
  3982  			Code:   res.StatusCode,
  3983  			Header: res.Header,
  3984  		})
  3985  	}
  3986  	if err != nil {
  3987  		return nil, err
  3988  	}
  3989  	defer googleapi.CloseBody(res)
  3990  	if err := googleapi.CheckResponse(res); err != nil {
  3991  		return nil, gensupport.WrapError(err)
  3992  	}
  3993  	ret := &Environment{
  3994  		ServerResponse: googleapi.ServerResponse{
  3995  			Header:         res.Header,
  3996  			HTTPStatusCode: res.StatusCode,
  3997  		},
  3998  	}
  3999  	target := &ret
  4000  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4001  		return nil, err
  4002  	}
  4003  	return ret, nil
  4004  }
  4005  
  4006  type ProjectsLocationsEnvironmentsListCall struct {
  4007  	s            *Service
  4008  	parent       string
  4009  	urlParams_   gensupport.URLParams
  4010  	ifNoneMatch_ string
  4011  	ctx_         context.Context
  4012  	header_      http.Header
  4013  }
  4014  
  4015  // List: Lists environments in a project.
  4016  //
  4017  // - parent: Format: `projects/{project_id}/locations/{location}`.
  4018  func (r *ProjectsLocationsEnvironmentsService) List(parent string) *ProjectsLocationsEnvironmentsListCall {
  4019  	c := &ProjectsLocationsEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4020  	c.parent = parent
  4021  	return c
  4022  }
  4023  
  4024  // PageSize sets the optional parameter "pageSize": Maximum return size of the
  4025  // list call.
  4026  func (c *ProjectsLocationsEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsEnvironmentsListCall {
  4027  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4028  	return c
  4029  }
  4030  
  4031  // PageToken sets the optional parameter "pageToken": A previous returned page
  4032  // token that can be used to continue listing from the last result.
  4033  func (c *ProjectsLocationsEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsEnvironmentsListCall {
  4034  	c.urlParams_.Set("pageToken", pageToken)
  4035  	return c
  4036  }
  4037  
  4038  // Fields allows partial responses to be retrieved. See
  4039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4040  // details.
  4041  func (c *ProjectsLocationsEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsListCall {
  4042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4043  	return c
  4044  }
  4045  
  4046  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4047  // object's ETag matches the given value. This is useful for getting updates
  4048  // only after the object has changed since the last request.
  4049  func (c *ProjectsLocationsEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEnvironmentsListCall {
  4050  	c.ifNoneMatch_ = entityTag
  4051  	return c
  4052  }
  4053  
  4054  // Context sets the context to be used in this call's Do method.
  4055  func (c *ProjectsLocationsEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsListCall {
  4056  	c.ctx_ = ctx
  4057  	return c
  4058  }
  4059  
  4060  // Header returns a http.Header that can be modified by the caller to add
  4061  // headers to the request.
  4062  func (c *ProjectsLocationsEnvironmentsListCall) Header() http.Header {
  4063  	if c.header_ == nil {
  4064  		c.header_ = make(http.Header)
  4065  	}
  4066  	return c.header_
  4067  }
  4068  
  4069  func (c *ProjectsLocationsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
  4070  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4071  	if c.ifNoneMatch_ != "" {
  4072  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4073  	}
  4074  	var body io.Reader = nil
  4075  	c.urlParams_.Set("alt", alt)
  4076  	c.urlParams_.Set("prettyPrint", "false")
  4077  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/environments")
  4078  	urls += "?" + c.urlParams_.Encode()
  4079  	req, err := http.NewRequest("GET", urls, body)
  4080  	if err != nil {
  4081  		return nil, err
  4082  	}
  4083  	req.Header = reqHeaders
  4084  	googleapi.Expand(req.URL, map[string]string{
  4085  		"parent": c.parent,
  4086  	})
  4087  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4088  }
  4089  
  4090  // Do executes the "notebooks.projects.locations.environments.list" call.
  4091  // Any non-2xx status code is an error. Response headers are in either
  4092  // *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
  4093  // returned at all) in error.(*googleapi.Error).Header. Use
  4094  // googleapi.IsNotModified to check whether the returned error was because
  4095  // http.StatusNotModified was returned.
  4096  func (c *ProjectsLocationsEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
  4097  	gensupport.SetOptions(c.urlParams_, opts...)
  4098  	res, err := c.doRequest("json")
  4099  	if res != nil && res.StatusCode == http.StatusNotModified {
  4100  		if res.Body != nil {
  4101  			res.Body.Close()
  4102  		}
  4103  		return nil, gensupport.WrapError(&googleapi.Error{
  4104  			Code:   res.StatusCode,
  4105  			Header: res.Header,
  4106  		})
  4107  	}
  4108  	if err != nil {
  4109  		return nil, err
  4110  	}
  4111  	defer googleapi.CloseBody(res)
  4112  	if err := googleapi.CheckResponse(res); err != nil {
  4113  		return nil, gensupport.WrapError(err)
  4114  	}
  4115  	ret := &ListEnvironmentsResponse{
  4116  		ServerResponse: googleapi.ServerResponse{
  4117  			Header:         res.Header,
  4118  			HTTPStatusCode: res.StatusCode,
  4119  		},
  4120  	}
  4121  	target := &ret
  4122  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4123  		return nil, err
  4124  	}
  4125  	return ret, nil
  4126  }
  4127  
  4128  // Pages invokes f for each page of results.
  4129  // A non-nil error returned from f will halt the iteration.
  4130  // The provided context supersedes any context provided to the Context method.
  4131  func (c *ProjectsLocationsEnvironmentsListCall) Pages(ctx context.Context, f func(*ListEnvironmentsResponse) error) error {
  4132  	c.ctx_ = ctx
  4133  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4134  	for {
  4135  		x, err := c.Do()
  4136  		if err != nil {
  4137  			return err
  4138  		}
  4139  		if err := f(x); err != nil {
  4140  			return err
  4141  		}
  4142  		if x.NextPageToken == "" {
  4143  			return nil
  4144  		}
  4145  		c.PageToken(x.NextPageToken)
  4146  	}
  4147  }
  4148  
  4149  type ProjectsLocationsExecutionsCreateCall struct {
  4150  	s          *Service
  4151  	parent     string
  4152  	execution  *Execution
  4153  	urlParams_ gensupport.URLParams
  4154  	ctx_       context.Context
  4155  	header_    http.Header
  4156  }
  4157  
  4158  // Create: Creates a new Execution in a given project and location.
  4159  //
  4160  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  4161  func (r *ProjectsLocationsExecutionsService) Create(parent string, execution *Execution) *ProjectsLocationsExecutionsCreateCall {
  4162  	c := &ProjectsLocationsExecutionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4163  	c.parent = parent
  4164  	c.execution = execution
  4165  	return c
  4166  }
  4167  
  4168  // ExecutionId sets the optional parameter "executionId": Required.
  4169  // User-defined unique ID of this execution.
  4170  func (c *ProjectsLocationsExecutionsCreateCall) ExecutionId(executionId string) *ProjectsLocationsExecutionsCreateCall {
  4171  	c.urlParams_.Set("executionId", executionId)
  4172  	return c
  4173  }
  4174  
  4175  // Fields allows partial responses to be retrieved. See
  4176  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4177  // details.
  4178  func (c *ProjectsLocationsExecutionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsExecutionsCreateCall {
  4179  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4180  	return c
  4181  }
  4182  
  4183  // Context sets the context to be used in this call's Do method.
  4184  func (c *ProjectsLocationsExecutionsCreateCall) Context(ctx context.Context) *ProjectsLocationsExecutionsCreateCall {
  4185  	c.ctx_ = ctx
  4186  	return c
  4187  }
  4188  
  4189  // Header returns a http.Header that can be modified by the caller to add
  4190  // headers to the request.
  4191  func (c *ProjectsLocationsExecutionsCreateCall) Header() http.Header {
  4192  	if c.header_ == nil {
  4193  		c.header_ = make(http.Header)
  4194  	}
  4195  	return c.header_
  4196  }
  4197  
  4198  func (c *ProjectsLocationsExecutionsCreateCall) doRequest(alt string) (*http.Response, error) {
  4199  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4200  	var body io.Reader = nil
  4201  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.execution)
  4202  	if err != nil {
  4203  		return nil, err
  4204  	}
  4205  	c.urlParams_.Set("alt", alt)
  4206  	c.urlParams_.Set("prettyPrint", "false")
  4207  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/executions")
  4208  	urls += "?" + c.urlParams_.Encode()
  4209  	req, err := http.NewRequest("POST", urls, body)
  4210  	if err != nil {
  4211  		return nil, err
  4212  	}
  4213  	req.Header = reqHeaders
  4214  	googleapi.Expand(req.URL, map[string]string{
  4215  		"parent": c.parent,
  4216  	})
  4217  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4218  }
  4219  
  4220  // Do executes the "notebooks.projects.locations.executions.create" call.
  4221  // Any non-2xx status code is an error. Response headers are in either
  4222  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4223  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4224  // whether the returned error was because http.StatusNotModified was returned.
  4225  func (c *ProjectsLocationsExecutionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4226  	gensupport.SetOptions(c.urlParams_, opts...)
  4227  	res, err := c.doRequest("json")
  4228  	if res != nil && res.StatusCode == http.StatusNotModified {
  4229  		if res.Body != nil {
  4230  			res.Body.Close()
  4231  		}
  4232  		return nil, gensupport.WrapError(&googleapi.Error{
  4233  			Code:   res.StatusCode,
  4234  			Header: res.Header,
  4235  		})
  4236  	}
  4237  	if err != nil {
  4238  		return nil, err
  4239  	}
  4240  	defer googleapi.CloseBody(res)
  4241  	if err := googleapi.CheckResponse(res); err != nil {
  4242  		return nil, gensupport.WrapError(err)
  4243  	}
  4244  	ret := &Operation{
  4245  		ServerResponse: googleapi.ServerResponse{
  4246  			Header:         res.Header,
  4247  			HTTPStatusCode: res.StatusCode,
  4248  		},
  4249  	}
  4250  	target := &ret
  4251  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4252  		return nil, err
  4253  	}
  4254  	return ret, nil
  4255  }
  4256  
  4257  type ProjectsLocationsExecutionsDeleteCall struct {
  4258  	s          *Service
  4259  	name       string
  4260  	urlParams_ gensupport.URLParams
  4261  	ctx_       context.Context
  4262  	header_    http.Header
  4263  }
  4264  
  4265  // Delete: Deletes execution
  4266  //
  4267  //   - name: Format:
  4268  //     `projects/{project_id}/locations/{location}/executions/{execution_id}`.
  4269  func (r *ProjectsLocationsExecutionsService) Delete(name string) *ProjectsLocationsExecutionsDeleteCall {
  4270  	c := &ProjectsLocationsExecutionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4271  	c.name = name
  4272  	return c
  4273  }
  4274  
  4275  // Fields allows partial responses to be retrieved. See
  4276  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4277  // details.
  4278  func (c *ProjectsLocationsExecutionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsExecutionsDeleteCall {
  4279  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4280  	return c
  4281  }
  4282  
  4283  // Context sets the context to be used in this call's Do method.
  4284  func (c *ProjectsLocationsExecutionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsExecutionsDeleteCall {
  4285  	c.ctx_ = ctx
  4286  	return c
  4287  }
  4288  
  4289  // Header returns a http.Header that can be modified by the caller to add
  4290  // headers to the request.
  4291  func (c *ProjectsLocationsExecutionsDeleteCall) Header() http.Header {
  4292  	if c.header_ == nil {
  4293  		c.header_ = make(http.Header)
  4294  	}
  4295  	return c.header_
  4296  }
  4297  
  4298  func (c *ProjectsLocationsExecutionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  4299  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4300  	var body io.Reader = nil
  4301  	c.urlParams_.Set("alt", alt)
  4302  	c.urlParams_.Set("prettyPrint", "false")
  4303  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4304  	urls += "?" + c.urlParams_.Encode()
  4305  	req, err := http.NewRequest("DELETE", urls, body)
  4306  	if err != nil {
  4307  		return nil, err
  4308  	}
  4309  	req.Header = reqHeaders
  4310  	googleapi.Expand(req.URL, map[string]string{
  4311  		"name": c.name,
  4312  	})
  4313  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4314  }
  4315  
  4316  // Do executes the "notebooks.projects.locations.executions.delete" call.
  4317  // Any non-2xx status code is an error. Response headers are in either
  4318  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4319  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4320  // whether the returned error was because http.StatusNotModified was returned.
  4321  func (c *ProjectsLocationsExecutionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4322  	gensupport.SetOptions(c.urlParams_, opts...)
  4323  	res, err := c.doRequest("json")
  4324  	if res != nil && res.StatusCode == http.StatusNotModified {
  4325  		if res.Body != nil {
  4326  			res.Body.Close()
  4327  		}
  4328  		return nil, gensupport.WrapError(&googleapi.Error{
  4329  			Code:   res.StatusCode,
  4330  			Header: res.Header,
  4331  		})
  4332  	}
  4333  	if err != nil {
  4334  		return nil, err
  4335  	}
  4336  	defer googleapi.CloseBody(res)
  4337  	if err := googleapi.CheckResponse(res); err != nil {
  4338  		return nil, gensupport.WrapError(err)
  4339  	}
  4340  	ret := &Operation{
  4341  		ServerResponse: googleapi.ServerResponse{
  4342  			Header:         res.Header,
  4343  			HTTPStatusCode: res.StatusCode,
  4344  		},
  4345  	}
  4346  	target := &ret
  4347  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4348  		return nil, err
  4349  	}
  4350  	return ret, nil
  4351  }
  4352  
  4353  type ProjectsLocationsExecutionsGetCall struct {
  4354  	s            *Service
  4355  	name         string
  4356  	urlParams_   gensupport.URLParams
  4357  	ifNoneMatch_ string
  4358  	ctx_         context.Context
  4359  	header_      http.Header
  4360  }
  4361  
  4362  // Get: Gets details of executions
  4363  //
  4364  //   - name: Format:
  4365  //     `projects/{project_id}/locations/{location}/executions/{execution_id}`.
  4366  func (r *ProjectsLocationsExecutionsService) Get(name string) *ProjectsLocationsExecutionsGetCall {
  4367  	c := &ProjectsLocationsExecutionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4368  	c.name = name
  4369  	return c
  4370  }
  4371  
  4372  // Fields allows partial responses to be retrieved. See
  4373  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4374  // details.
  4375  func (c *ProjectsLocationsExecutionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsExecutionsGetCall {
  4376  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4377  	return c
  4378  }
  4379  
  4380  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4381  // object's ETag matches the given value. This is useful for getting updates
  4382  // only after the object has changed since the last request.
  4383  func (c *ProjectsLocationsExecutionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsExecutionsGetCall {
  4384  	c.ifNoneMatch_ = entityTag
  4385  	return c
  4386  }
  4387  
  4388  // Context sets the context to be used in this call's Do method.
  4389  func (c *ProjectsLocationsExecutionsGetCall) Context(ctx context.Context) *ProjectsLocationsExecutionsGetCall {
  4390  	c.ctx_ = ctx
  4391  	return c
  4392  }
  4393  
  4394  // Header returns a http.Header that can be modified by the caller to add
  4395  // headers to the request.
  4396  func (c *ProjectsLocationsExecutionsGetCall) Header() http.Header {
  4397  	if c.header_ == nil {
  4398  		c.header_ = make(http.Header)
  4399  	}
  4400  	return c.header_
  4401  }
  4402  
  4403  func (c *ProjectsLocationsExecutionsGetCall) doRequest(alt string) (*http.Response, error) {
  4404  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4405  	if c.ifNoneMatch_ != "" {
  4406  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4407  	}
  4408  	var body io.Reader = nil
  4409  	c.urlParams_.Set("alt", alt)
  4410  	c.urlParams_.Set("prettyPrint", "false")
  4411  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4412  	urls += "?" + c.urlParams_.Encode()
  4413  	req, err := http.NewRequest("GET", urls, body)
  4414  	if err != nil {
  4415  		return nil, err
  4416  	}
  4417  	req.Header = reqHeaders
  4418  	googleapi.Expand(req.URL, map[string]string{
  4419  		"name": c.name,
  4420  	})
  4421  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4422  }
  4423  
  4424  // Do executes the "notebooks.projects.locations.executions.get" call.
  4425  // Any non-2xx status code is an error. Response headers are in either
  4426  // *Execution.ServerResponse.Header or (if a response was returned at all) in
  4427  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4428  // whether the returned error was because http.StatusNotModified was returned.
  4429  func (c *ProjectsLocationsExecutionsGetCall) Do(opts ...googleapi.CallOption) (*Execution, error) {
  4430  	gensupport.SetOptions(c.urlParams_, opts...)
  4431  	res, err := c.doRequest("json")
  4432  	if res != nil && res.StatusCode == http.StatusNotModified {
  4433  		if res.Body != nil {
  4434  			res.Body.Close()
  4435  		}
  4436  		return nil, gensupport.WrapError(&googleapi.Error{
  4437  			Code:   res.StatusCode,
  4438  			Header: res.Header,
  4439  		})
  4440  	}
  4441  	if err != nil {
  4442  		return nil, err
  4443  	}
  4444  	defer googleapi.CloseBody(res)
  4445  	if err := googleapi.CheckResponse(res); err != nil {
  4446  		return nil, gensupport.WrapError(err)
  4447  	}
  4448  	ret := &Execution{
  4449  		ServerResponse: googleapi.ServerResponse{
  4450  			Header:         res.Header,
  4451  			HTTPStatusCode: res.StatusCode,
  4452  		},
  4453  	}
  4454  	target := &ret
  4455  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4456  		return nil, err
  4457  	}
  4458  	return ret, nil
  4459  }
  4460  
  4461  type ProjectsLocationsExecutionsListCall struct {
  4462  	s            *Service
  4463  	parent       string
  4464  	urlParams_   gensupport.URLParams
  4465  	ifNoneMatch_ string
  4466  	ctx_         context.Context
  4467  	header_      http.Header
  4468  }
  4469  
  4470  // List: Lists executions in a given project and location
  4471  //
  4472  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  4473  func (r *ProjectsLocationsExecutionsService) List(parent string) *ProjectsLocationsExecutionsListCall {
  4474  	c := &ProjectsLocationsExecutionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4475  	c.parent = parent
  4476  	return c
  4477  }
  4478  
  4479  // Filter sets the optional parameter "filter": Filter applied to resulting
  4480  // executions. Currently only supports filtering executions by a specified
  4481  // `schedule_id`. Format: `schedule_id=`
  4482  func (c *ProjectsLocationsExecutionsListCall) Filter(filter string) *ProjectsLocationsExecutionsListCall {
  4483  	c.urlParams_.Set("filter", filter)
  4484  	return c
  4485  }
  4486  
  4487  // OrderBy sets the optional parameter "orderBy": Sort by field.
  4488  func (c *ProjectsLocationsExecutionsListCall) OrderBy(orderBy string) *ProjectsLocationsExecutionsListCall {
  4489  	c.urlParams_.Set("orderBy", orderBy)
  4490  	return c
  4491  }
  4492  
  4493  // PageSize sets the optional parameter "pageSize": Maximum return size of the
  4494  // list call.
  4495  func (c *ProjectsLocationsExecutionsListCall) PageSize(pageSize int64) *ProjectsLocationsExecutionsListCall {
  4496  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4497  	return c
  4498  }
  4499  
  4500  // PageToken sets the optional parameter "pageToken": A previous returned page
  4501  // token that can be used to continue listing from the last result.
  4502  func (c *ProjectsLocationsExecutionsListCall) PageToken(pageToken string) *ProjectsLocationsExecutionsListCall {
  4503  	c.urlParams_.Set("pageToken", pageToken)
  4504  	return c
  4505  }
  4506  
  4507  // Fields allows partial responses to be retrieved. See
  4508  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4509  // details.
  4510  func (c *ProjectsLocationsExecutionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsExecutionsListCall {
  4511  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4512  	return c
  4513  }
  4514  
  4515  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4516  // object's ETag matches the given value. This is useful for getting updates
  4517  // only after the object has changed since the last request.
  4518  func (c *ProjectsLocationsExecutionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsExecutionsListCall {
  4519  	c.ifNoneMatch_ = entityTag
  4520  	return c
  4521  }
  4522  
  4523  // Context sets the context to be used in this call's Do method.
  4524  func (c *ProjectsLocationsExecutionsListCall) Context(ctx context.Context) *ProjectsLocationsExecutionsListCall {
  4525  	c.ctx_ = ctx
  4526  	return c
  4527  }
  4528  
  4529  // Header returns a http.Header that can be modified by the caller to add
  4530  // headers to the request.
  4531  func (c *ProjectsLocationsExecutionsListCall) Header() http.Header {
  4532  	if c.header_ == nil {
  4533  		c.header_ = make(http.Header)
  4534  	}
  4535  	return c.header_
  4536  }
  4537  
  4538  func (c *ProjectsLocationsExecutionsListCall) doRequest(alt string) (*http.Response, error) {
  4539  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4540  	if c.ifNoneMatch_ != "" {
  4541  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4542  	}
  4543  	var body io.Reader = nil
  4544  	c.urlParams_.Set("alt", alt)
  4545  	c.urlParams_.Set("prettyPrint", "false")
  4546  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/executions")
  4547  	urls += "?" + c.urlParams_.Encode()
  4548  	req, err := http.NewRequest("GET", urls, body)
  4549  	if err != nil {
  4550  		return nil, err
  4551  	}
  4552  	req.Header = reqHeaders
  4553  	googleapi.Expand(req.URL, map[string]string{
  4554  		"parent": c.parent,
  4555  	})
  4556  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4557  }
  4558  
  4559  // Do executes the "notebooks.projects.locations.executions.list" call.
  4560  // Any non-2xx status code is an error. Response headers are in either
  4561  // *ListExecutionsResponse.ServerResponse.Header or (if a response was returned
  4562  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4563  // check whether the returned error was because http.StatusNotModified was
  4564  // returned.
  4565  func (c *ProjectsLocationsExecutionsListCall) Do(opts ...googleapi.CallOption) (*ListExecutionsResponse, error) {
  4566  	gensupport.SetOptions(c.urlParams_, opts...)
  4567  	res, err := c.doRequest("json")
  4568  	if res != nil && res.StatusCode == http.StatusNotModified {
  4569  		if res.Body != nil {
  4570  			res.Body.Close()
  4571  		}
  4572  		return nil, gensupport.WrapError(&googleapi.Error{
  4573  			Code:   res.StatusCode,
  4574  			Header: res.Header,
  4575  		})
  4576  	}
  4577  	if err != nil {
  4578  		return nil, err
  4579  	}
  4580  	defer googleapi.CloseBody(res)
  4581  	if err := googleapi.CheckResponse(res); err != nil {
  4582  		return nil, gensupport.WrapError(err)
  4583  	}
  4584  	ret := &ListExecutionsResponse{
  4585  		ServerResponse: googleapi.ServerResponse{
  4586  			Header:         res.Header,
  4587  			HTTPStatusCode: res.StatusCode,
  4588  		},
  4589  	}
  4590  	target := &ret
  4591  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4592  		return nil, err
  4593  	}
  4594  	return ret, nil
  4595  }
  4596  
  4597  // Pages invokes f for each page of results.
  4598  // A non-nil error returned from f will halt the iteration.
  4599  // The provided context supersedes any context provided to the Context method.
  4600  func (c *ProjectsLocationsExecutionsListCall) Pages(ctx context.Context, f func(*ListExecutionsResponse) error) error {
  4601  	c.ctx_ = ctx
  4602  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4603  	for {
  4604  		x, err := c.Do()
  4605  		if err != nil {
  4606  			return err
  4607  		}
  4608  		if err := f(x); err != nil {
  4609  			return err
  4610  		}
  4611  		if x.NextPageToken == "" {
  4612  			return nil
  4613  		}
  4614  		c.PageToken(x.NextPageToken)
  4615  	}
  4616  }
  4617  
  4618  type ProjectsLocationsInstancesCreateCall struct {
  4619  	s          *Service
  4620  	parent     string
  4621  	instance   *Instance
  4622  	urlParams_ gensupport.URLParams
  4623  	ctx_       context.Context
  4624  	header_    http.Header
  4625  }
  4626  
  4627  // Create: Creates a new Instance in a given project and location.
  4628  //
  4629  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  4630  func (r *ProjectsLocationsInstancesService) Create(parent string, instance *Instance) *ProjectsLocationsInstancesCreateCall {
  4631  	c := &ProjectsLocationsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4632  	c.parent = parent
  4633  	c.instance = instance
  4634  	return c
  4635  }
  4636  
  4637  // InstanceId sets the optional parameter "instanceId": Required. User-defined
  4638  // unique ID of this instance.
  4639  func (c *ProjectsLocationsInstancesCreateCall) InstanceId(instanceId string) *ProjectsLocationsInstancesCreateCall {
  4640  	c.urlParams_.Set("instanceId", instanceId)
  4641  	return c
  4642  }
  4643  
  4644  // Fields allows partial responses to be retrieved. See
  4645  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4646  // details.
  4647  func (c *ProjectsLocationsInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesCreateCall {
  4648  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4649  	return c
  4650  }
  4651  
  4652  // Context sets the context to be used in this call's Do method.
  4653  func (c *ProjectsLocationsInstancesCreateCall) Context(ctx context.Context) *ProjectsLocationsInstancesCreateCall {
  4654  	c.ctx_ = ctx
  4655  	return c
  4656  }
  4657  
  4658  // Header returns a http.Header that can be modified by the caller to add
  4659  // headers to the request.
  4660  func (c *ProjectsLocationsInstancesCreateCall) Header() http.Header {
  4661  	if c.header_ == nil {
  4662  		c.header_ = make(http.Header)
  4663  	}
  4664  	return c.header_
  4665  }
  4666  
  4667  func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
  4668  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4669  	var body io.Reader = nil
  4670  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  4671  	if err != nil {
  4672  		return nil, err
  4673  	}
  4674  	c.urlParams_.Set("alt", alt)
  4675  	c.urlParams_.Set("prettyPrint", "false")
  4676  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/instances")
  4677  	urls += "?" + c.urlParams_.Encode()
  4678  	req, err := http.NewRequest("POST", urls, body)
  4679  	if err != nil {
  4680  		return nil, err
  4681  	}
  4682  	req.Header = reqHeaders
  4683  	googleapi.Expand(req.URL, map[string]string{
  4684  		"parent": c.parent,
  4685  	})
  4686  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4687  }
  4688  
  4689  // Do executes the "notebooks.projects.locations.instances.create" call.
  4690  // Any non-2xx status code is an error. Response headers are in either
  4691  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4692  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4693  // whether the returned error was because http.StatusNotModified was returned.
  4694  func (c *ProjectsLocationsInstancesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4695  	gensupport.SetOptions(c.urlParams_, opts...)
  4696  	res, err := c.doRequest("json")
  4697  	if res != nil && res.StatusCode == http.StatusNotModified {
  4698  		if res.Body != nil {
  4699  			res.Body.Close()
  4700  		}
  4701  		return nil, gensupport.WrapError(&googleapi.Error{
  4702  			Code:   res.StatusCode,
  4703  			Header: res.Header,
  4704  		})
  4705  	}
  4706  	if err != nil {
  4707  		return nil, err
  4708  	}
  4709  	defer googleapi.CloseBody(res)
  4710  	if err := googleapi.CheckResponse(res); err != nil {
  4711  		return nil, gensupport.WrapError(err)
  4712  	}
  4713  	ret := &Operation{
  4714  		ServerResponse: googleapi.ServerResponse{
  4715  			Header:         res.Header,
  4716  			HTTPStatusCode: res.StatusCode,
  4717  		},
  4718  	}
  4719  	target := &ret
  4720  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4721  		return nil, err
  4722  	}
  4723  	return ret, nil
  4724  }
  4725  
  4726  type ProjectsLocationsInstancesDeleteCall struct {
  4727  	s          *Service
  4728  	name       string
  4729  	urlParams_ gensupport.URLParams
  4730  	ctx_       context.Context
  4731  	header_    http.Header
  4732  }
  4733  
  4734  // Delete: Deletes a single Instance.
  4735  //
  4736  //   - name: Format:
  4737  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  4738  func (r *ProjectsLocationsInstancesService) Delete(name string) *ProjectsLocationsInstancesDeleteCall {
  4739  	c := &ProjectsLocationsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4740  	c.name = name
  4741  	return c
  4742  }
  4743  
  4744  // Fields allows partial responses to be retrieved. See
  4745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4746  // details.
  4747  func (c *ProjectsLocationsInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesDeleteCall {
  4748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4749  	return c
  4750  }
  4751  
  4752  // Context sets the context to be used in this call's Do method.
  4753  func (c *ProjectsLocationsInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsInstancesDeleteCall {
  4754  	c.ctx_ = ctx
  4755  	return c
  4756  }
  4757  
  4758  // Header returns a http.Header that can be modified by the caller to add
  4759  // headers to the request.
  4760  func (c *ProjectsLocationsInstancesDeleteCall) Header() http.Header {
  4761  	if c.header_ == nil {
  4762  		c.header_ = make(http.Header)
  4763  	}
  4764  	return c.header_
  4765  }
  4766  
  4767  func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
  4768  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4769  	var body io.Reader = nil
  4770  	c.urlParams_.Set("alt", alt)
  4771  	c.urlParams_.Set("prettyPrint", "false")
  4772  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4773  	urls += "?" + c.urlParams_.Encode()
  4774  	req, err := http.NewRequest("DELETE", urls, body)
  4775  	if err != nil {
  4776  		return nil, err
  4777  	}
  4778  	req.Header = reqHeaders
  4779  	googleapi.Expand(req.URL, map[string]string{
  4780  		"name": c.name,
  4781  	})
  4782  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4783  }
  4784  
  4785  // Do executes the "notebooks.projects.locations.instances.delete" call.
  4786  // Any non-2xx status code is an error. Response headers are in either
  4787  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4788  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4789  // whether the returned error was because http.StatusNotModified was returned.
  4790  func (c *ProjectsLocationsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4791  	gensupport.SetOptions(c.urlParams_, opts...)
  4792  	res, err := c.doRequest("json")
  4793  	if res != nil && res.StatusCode == http.StatusNotModified {
  4794  		if res.Body != nil {
  4795  			res.Body.Close()
  4796  		}
  4797  		return nil, gensupport.WrapError(&googleapi.Error{
  4798  			Code:   res.StatusCode,
  4799  			Header: res.Header,
  4800  		})
  4801  	}
  4802  	if err != nil {
  4803  		return nil, err
  4804  	}
  4805  	defer googleapi.CloseBody(res)
  4806  	if err := googleapi.CheckResponse(res); err != nil {
  4807  		return nil, gensupport.WrapError(err)
  4808  	}
  4809  	ret := &Operation{
  4810  		ServerResponse: googleapi.ServerResponse{
  4811  			Header:         res.Header,
  4812  			HTTPStatusCode: res.StatusCode,
  4813  		},
  4814  	}
  4815  	target := &ret
  4816  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4817  		return nil, err
  4818  	}
  4819  	return ret, nil
  4820  }
  4821  
  4822  type ProjectsLocationsInstancesDiagnoseCall struct {
  4823  	s                       *Service
  4824  	name                    string
  4825  	diagnoseinstancerequest *DiagnoseInstanceRequest
  4826  	urlParams_              gensupport.URLParams
  4827  	ctx_                    context.Context
  4828  	header_                 http.Header
  4829  }
  4830  
  4831  // Diagnose: Creates a Diagnostic File and runs Diagnostic Tool given an
  4832  // Instance.
  4833  //
  4834  //   - name: Format:
  4835  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  4836  func (r *ProjectsLocationsInstancesService) Diagnose(name string, diagnoseinstancerequest *DiagnoseInstanceRequest) *ProjectsLocationsInstancesDiagnoseCall {
  4837  	c := &ProjectsLocationsInstancesDiagnoseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4838  	c.name = name
  4839  	c.diagnoseinstancerequest = diagnoseinstancerequest
  4840  	return c
  4841  }
  4842  
  4843  // Fields allows partial responses to be retrieved. See
  4844  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4845  // details.
  4846  func (c *ProjectsLocationsInstancesDiagnoseCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesDiagnoseCall {
  4847  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4848  	return c
  4849  }
  4850  
  4851  // Context sets the context to be used in this call's Do method.
  4852  func (c *ProjectsLocationsInstancesDiagnoseCall) Context(ctx context.Context) *ProjectsLocationsInstancesDiagnoseCall {
  4853  	c.ctx_ = ctx
  4854  	return c
  4855  }
  4856  
  4857  // Header returns a http.Header that can be modified by the caller to add
  4858  // headers to the request.
  4859  func (c *ProjectsLocationsInstancesDiagnoseCall) Header() http.Header {
  4860  	if c.header_ == nil {
  4861  		c.header_ = make(http.Header)
  4862  	}
  4863  	return c.header_
  4864  }
  4865  
  4866  func (c *ProjectsLocationsInstancesDiagnoseCall) doRequest(alt string) (*http.Response, error) {
  4867  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4868  	var body io.Reader = nil
  4869  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.diagnoseinstancerequest)
  4870  	if err != nil {
  4871  		return nil, err
  4872  	}
  4873  	c.urlParams_.Set("alt", alt)
  4874  	c.urlParams_.Set("prettyPrint", "false")
  4875  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:diagnose")
  4876  	urls += "?" + c.urlParams_.Encode()
  4877  	req, err := http.NewRequest("POST", urls, body)
  4878  	if err != nil {
  4879  		return nil, err
  4880  	}
  4881  	req.Header = reqHeaders
  4882  	googleapi.Expand(req.URL, map[string]string{
  4883  		"name": c.name,
  4884  	})
  4885  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4886  }
  4887  
  4888  // Do executes the "notebooks.projects.locations.instances.diagnose" call.
  4889  // Any non-2xx status code is an error. Response headers are in either
  4890  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4891  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4892  // whether the returned error was because http.StatusNotModified was returned.
  4893  func (c *ProjectsLocationsInstancesDiagnoseCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4894  	gensupport.SetOptions(c.urlParams_, opts...)
  4895  	res, err := c.doRequest("json")
  4896  	if res != nil && res.StatusCode == http.StatusNotModified {
  4897  		if res.Body != nil {
  4898  			res.Body.Close()
  4899  		}
  4900  		return nil, gensupport.WrapError(&googleapi.Error{
  4901  			Code:   res.StatusCode,
  4902  			Header: res.Header,
  4903  		})
  4904  	}
  4905  	if err != nil {
  4906  		return nil, err
  4907  	}
  4908  	defer googleapi.CloseBody(res)
  4909  	if err := googleapi.CheckResponse(res); err != nil {
  4910  		return nil, gensupport.WrapError(err)
  4911  	}
  4912  	ret := &Operation{
  4913  		ServerResponse: googleapi.ServerResponse{
  4914  			Header:         res.Header,
  4915  			HTTPStatusCode: res.StatusCode,
  4916  		},
  4917  	}
  4918  	target := &ret
  4919  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4920  		return nil, err
  4921  	}
  4922  	return ret, nil
  4923  }
  4924  
  4925  type ProjectsLocationsInstancesGetCall struct {
  4926  	s            *Service
  4927  	name         string
  4928  	urlParams_   gensupport.URLParams
  4929  	ifNoneMatch_ string
  4930  	ctx_         context.Context
  4931  	header_      http.Header
  4932  }
  4933  
  4934  // Get: Gets details of a single Instance.
  4935  //
  4936  //   - name: Format:
  4937  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  4938  func (r *ProjectsLocationsInstancesService) Get(name string) *ProjectsLocationsInstancesGetCall {
  4939  	c := &ProjectsLocationsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4940  	c.name = name
  4941  	return c
  4942  }
  4943  
  4944  // Fields allows partial responses to be retrieved. See
  4945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4946  // details.
  4947  func (c *ProjectsLocationsInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesGetCall {
  4948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4949  	return c
  4950  }
  4951  
  4952  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4953  // object's ETag matches the given value. This is useful for getting updates
  4954  // only after the object has changed since the last request.
  4955  func (c *ProjectsLocationsInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesGetCall {
  4956  	c.ifNoneMatch_ = entityTag
  4957  	return c
  4958  }
  4959  
  4960  // Context sets the context to be used in this call's Do method.
  4961  func (c *ProjectsLocationsInstancesGetCall) Context(ctx context.Context) *ProjectsLocationsInstancesGetCall {
  4962  	c.ctx_ = ctx
  4963  	return c
  4964  }
  4965  
  4966  // Header returns a http.Header that can be modified by the caller to add
  4967  // headers to the request.
  4968  func (c *ProjectsLocationsInstancesGetCall) Header() http.Header {
  4969  	if c.header_ == nil {
  4970  		c.header_ = make(http.Header)
  4971  	}
  4972  	return c.header_
  4973  }
  4974  
  4975  func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
  4976  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4977  	if c.ifNoneMatch_ != "" {
  4978  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4979  	}
  4980  	var body io.Reader = nil
  4981  	c.urlParams_.Set("alt", alt)
  4982  	c.urlParams_.Set("prettyPrint", "false")
  4983  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  4984  	urls += "?" + c.urlParams_.Encode()
  4985  	req, err := http.NewRequest("GET", urls, body)
  4986  	if err != nil {
  4987  		return nil, err
  4988  	}
  4989  	req.Header = reqHeaders
  4990  	googleapi.Expand(req.URL, map[string]string{
  4991  		"name": c.name,
  4992  	})
  4993  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4994  }
  4995  
  4996  // Do executes the "notebooks.projects.locations.instances.get" call.
  4997  // Any non-2xx status code is an error. Response headers are in either
  4998  // *Instance.ServerResponse.Header or (if a response was returned at all) in
  4999  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5000  // whether the returned error was because http.StatusNotModified was returned.
  5001  func (c *ProjectsLocationsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
  5002  	gensupport.SetOptions(c.urlParams_, opts...)
  5003  	res, err := c.doRequest("json")
  5004  	if res != nil && res.StatusCode == http.StatusNotModified {
  5005  		if res.Body != nil {
  5006  			res.Body.Close()
  5007  		}
  5008  		return nil, gensupport.WrapError(&googleapi.Error{
  5009  			Code:   res.StatusCode,
  5010  			Header: res.Header,
  5011  		})
  5012  	}
  5013  	if err != nil {
  5014  		return nil, err
  5015  	}
  5016  	defer googleapi.CloseBody(res)
  5017  	if err := googleapi.CheckResponse(res); err != nil {
  5018  		return nil, gensupport.WrapError(err)
  5019  	}
  5020  	ret := &Instance{
  5021  		ServerResponse: googleapi.ServerResponse{
  5022  			Header:         res.Header,
  5023  			HTTPStatusCode: res.StatusCode,
  5024  		},
  5025  	}
  5026  	target := &ret
  5027  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5028  		return nil, err
  5029  	}
  5030  	return ret, nil
  5031  }
  5032  
  5033  type ProjectsLocationsInstancesGetIamPolicyCall struct {
  5034  	s            *Service
  5035  	resource     string
  5036  	urlParams_   gensupport.URLParams
  5037  	ifNoneMatch_ string
  5038  	ctx_         context.Context
  5039  	header_      http.Header
  5040  }
  5041  
  5042  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  5043  // empty policy if the resource exists and does not have a policy set.
  5044  //
  5045  //   - resource: REQUIRED: The resource for which the policy is being requested.
  5046  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  5047  //     for the appropriate value for this field.
  5048  func (r *ProjectsLocationsInstancesService) GetIamPolicy(resource string) *ProjectsLocationsInstancesGetIamPolicyCall {
  5049  	c := &ProjectsLocationsInstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5050  	c.resource = resource
  5051  	return c
  5052  }
  5053  
  5054  // OptionsRequestedPolicyVersion sets the optional parameter
  5055  // "options.requestedPolicyVersion": The maximum policy version that will be
  5056  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  5057  // an invalid value will be rejected. Requests for policies with any
  5058  // conditional role bindings must specify version 3. Policies with no
  5059  // conditional role bindings may specify any valid value or leave the field
  5060  // unset. The policy in the response might use the policy version that you
  5061  // specified, or it might use a lower policy version. For example, if you
  5062  // specify version 3, but the policy has no conditional role bindings, the
  5063  // response uses version 1. To learn which resources support conditions in
  5064  // their IAM policies, see the IAM documentation
  5065  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  5066  func (c *ProjectsLocationsInstancesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsInstancesGetIamPolicyCall {
  5067  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  5068  	return c
  5069  }
  5070  
  5071  // Fields allows partial responses to be retrieved. See
  5072  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5073  // details.
  5074  func (c *ProjectsLocationsInstancesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesGetIamPolicyCall {
  5075  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5076  	return c
  5077  }
  5078  
  5079  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5080  // object's ETag matches the given value. This is useful for getting updates
  5081  // only after the object has changed since the last request.
  5082  func (c *ProjectsLocationsInstancesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesGetIamPolicyCall {
  5083  	c.ifNoneMatch_ = entityTag
  5084  	return c
  5085  }
  5086  
  5087  // Context sets the context to be used in this call's Do method.
  5088  func (c *ProjectsLocationsInstancesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInstancesGetIamPolicyCall {
  5089  	c.ctx_ = ctx
  5090  	return c
  5091  }
  5092  
  5093  // Header returns a http.Header that can be modified by the caller to add
  5094  // headers to the request.
  5095  func (c *ProjectsLocationsInstancesGetIamPolicyCall) Header() http.Header {
  5096  	if c.header_ == nil {
  5097  		c.header_ = make(http.Header)
  5098  	}
  5099  	return c.header_
  5100  }
  5101  
  5102  func (c *ProjectsLocationsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  5103  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5104  	if c.ifNoneMatch_ != "" {
  5105  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5106  	}
  5107  	var body io.Reader = nil
  5108  	c.urlParams_.Set("alt", alt)
  5109  	c.urlParams_.Set("prettyPrint", "false")
  5110  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  5111  	urls += "?" + c.urlParams_.Encode()
  5112  	req, err := http.NewRequest("GET", urls, body)
  5113  	if err != nil {
  5114  		return nil, err
  5115  	}
  5116  	req.Header = reqHeaders
  5117  	googleapi.Expand(req.URL, map[string]string{
  5118  		"resource": c.resource,
  5119  	})
  5120  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5121  }
  5122  
  5123  // Do executes the "notebooks.projects.locations.instances.getIamPolicy" call.
  5124  // Any non-2xx status code is an error. Response headers are in either
  5125  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  5126  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5127  // whether the returned error was because http.StatusNotModified was returned.
  5128  func (c *ProjectsLocationsInstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  5129  	gensupport.SetOptions(c.urlParams_, opts...)
  5130  	res, err := c.doRequest("json")
  5131  	if res != nil && res.StatusCode == http.StatusNotModified {
  5132  		if res.Body != nil {
  5133  			res.Body.Close()
  5134  		}
  5135  		return nil, gensupport.WrapError(&googleapi.Error{
  5136  			Code:   res.StatusCode,
  5137  			Header: res.Header,
  5138  		})
  5139  	}
  5140  	if err != nil {
  5141  		return nil, err
  5142  	}
  5143  	defer googleapi.CloseBody(res)
  5144  	if err := googleapi.CheckResponse(res); err != nil {
  5145  		return nil, gensupport.WrapError(err)
  5146  	}
  5147  	ret := &Policy{
  5148  		ServerResponse: googleapi.ServerResponse{
  5149  			Header:         res.Header,
  5150  			HTTPStatusCode: res.StatusCode,
  5151  		},
  5152  	}
  5153  	target := &ret
  5154  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5155  		return nil, err
  5156  	}
  5157  	return ret, nil
  5158  }
  5159  
  5160  type ProjectsLocationsInstancesGetInstanceHealthCall struct {
  5161  	s            *Service
  5162  	name         string
  5163  	urlParams_   gensupport.URLParams
  5164  	ifNoneMatch_ string
  5165  	ctx_         context.Context
  5166  	header_      http.Header
  5167  }
  5168  
  5169  // GetInstanceHealth: Checks whether a notebook instance is healthy.
  5170  //
  5171  //   - name: Format:
  5172  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5173  func (r *ProjectsLocationsInstancesService) GetInstanceHealth(name string) *ProjectsLocationsInstancesGetInstanceHealthCall {
  5174  	c := &ProjectsLocationsInstancesGetInstanceHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5175  	c.name = name
  5176  	return c
  5177  }
  5178  
  5179  // Fields allows partial responses to be retrieved. See
  5180  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5181  // details.
  5182  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesGetInstanceHealthCall {
  5183  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5184  	return c
  5185  }
  5186  
  5187  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5188  // object's ETag matches the given value. This is useful for getting updates
  5189  // only after the object has changed since the last request.
  5190  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesGetInstanceHealthCall {
  5191  	c.ifNoneMatch_ = entityTag
  5192  	return c
  5193  }
  5194  
  5195  // Context sets the context to be used in this call's Do method.
  5196  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) Context(ctx context.Context) *ProjectsLocationsInstancesGetInstanceHealthCall {
  5197  	c.ctx_ = ctx
  5198  	return c
  5199  }
  5200  
  5201  // Header returns a http.Header that can be modified by the caller to add
  5202  // headers to the request.
  5203  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) Header() http.Header {
  5204  	if c.header_ == nil {
  5205  		c.header_ = make(http.Header)
  5206  	}
  5207  	return c.header_
  5208  }
  5209  
  5210  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) doRequest(alt string) (*http.Response, error) {
  5211  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5212  	if c.ifNoneMatch_ != "" {
  5213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5214  	}
  5215  	var body io.Reader = nil
  5216  	c.urlParams_.Set("alt", alt)
  5217  	c.urlParams_.Set("prettyPrint", "false")
  5218  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:getInstanceHealth")
  5219  	urls += "?" + c.urlParams_.Encode()
  5220  	req, err := http.NewRequest("GET", urls, body)
  5221  	if err != nil {
  5222  		return nil, err
  5223  	}
  5224  	req.Header = reqHeaders
  5225  	googleapi.Expand(req.URL, map[string]string{
  5226  		"name": c.name,
  5227  	})
  5228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5229  }
  5230  
  5231  // Do executes the "notebooks.projects.locations.instances.getInstanceHealth" call.
  5232  // Any non-2xx status code is an error. Response headers are in either
  5233  // *GetInstanceHealthResponse.ServerResponse.Header or (if a response was
  5234  // returned at all) in error.(*googleapi.Error).Header. Use
  5235  // googleapi.IsNotModified to check whether the returned error was because
  5236  // http.StatusNotModified was returned.
  5237  func (c *ProjectsLocationsInstancesGetInstanceHealthCall) Do(opts ...googleapi.CallOption) (*GetInstanceHealthResponse, error) {
  5238  	gensupport.SetOptions(c.urlParams_, opts...)
  5239  	res, err := c.doRequest("json")
  5240  	if res != nil && res.StatusCode == http.StatusNotModified {
  5241  		if res.Body != nil {
  5242  			res.Body.Close()
  5243  		}
  5244  		return nil, gensupport.WrapError(&googleapi.Error{
  5245  			Code:   res.StatusCode,
  5246  			Header: res.Header,
  5247  		})
  5248  	}
  5249  	if err != nil {
  5250  		return nil, err
  5251  	}
  5252  	defer googleapi.CloseBody(res)
  5253  	if err := googleapi.CheckResponse(res); err != nil {
  5254  		return nil, gensupport.WrapError(err)
  5255  	}
  5256  	ret := &GetInstanceHealthResponse{
  5257  		ServerResponse: googleapi.ServerResponse{
  5258  			Header:         res.Header,
  5259  			HTTPStatusCode: res.StatusCode,
  5260  		},
  5261  	}
  5262  	target := &ret
  5263  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5264  		return nil, err
  5265  	}
  5266  	return ret, nil
  5267  }
  5268  
  5269  type ProjectsLocationsInstancesIsUpgradeableCall struct {
  5270  	s                *Service
  5271  	notebookInstance string
  5272  	urlParams_       gensupport.URLParams
  5273  	ifNoneMatch_     string
  5274  	ctx_             context.Context
  5275  	header_          http.Header
  5276  }
  5277  
  5278  // IsUpgradeable: Checks whether a notebook instance is upgradable.
  5279  //
  5280  //   - notebookInstance: Format:
  5281  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5282  func (r *ProjectsLocationsInstancesService) IsUpgradeable(notebookInstance string) *ProjectsLocationsInstancesIsUpgradeableCall {
  5283  	c := &ProjectsLocationsInstancesIsUpgradeableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5284  	c.notebookInstance = notebookInstance
  5285  	return c
  5286  }
  5287  
  5288  // Type sets the optional parameter "type": The optional UpgradeType. Setting
  5289  // this field will search for additional compute images to upgrade this
  5290  // instance.
  5291  //
  5292  // Possible values:
  5293  //
  5294  //	"UPGRADE_TYPE_UNSPECIFIED" - Upgrade type is not specified.
  5295  //	"UPGRADE_FRAMEWORK" - Upgrade ML framework.
  5296  //	"UPGRADE_OS" - Upgrade Operating System.
  5297  //	"UPGRADE_CUDA" - Upgrade CUDA.
  5298  //	"UPGRADE_ALL" - Upgrade All (OS, Framework and CUDA).
  5299  func (c *ProjectsLocationsInstancesIsUpgradeableCall) Type(type_ string) *ProjectsLocationsInstancesIsUpgradeableCall {
  5300  	c.urlParams_.Set("type", type_)
  5301  	return c
  5302  }
  5303  
  5304  // Fields allows partial responses to be retrieved. See
  5305  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5306  // details.
  5307  func (c *ProjectsLocationsInstancesIsUpgradeableCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesIsUpgradeableCall {
  5308  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5309  	return c
  5310  }
  5311  
  5312  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5313  // object's ETag matches the given value. This is useful for getting updates
  5314  // only after the object has changed since the last request.
  5315  func (c *ProjectsLocationsInstancesIsUpgradeableCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesIsUpgradeableCall {
  5316  	c.ifNoneMatch_ = entityTag
  5317  	return c
  5318  }
  5319  
  5320  // Context sets the context to be used in this call's Do method.
  5321  func (c *ProjectsLocationsInstancesIsUpgradeableCall) Context(ctx context.Context) *ProjectsLocationsInstancesIsUpgradeableCall {
  5322  	c.ctx_ = ctx
  5323  	return c
  5324  }
  5325  
  5326  // Header returns a http.Header that can be modified by the caller to add
  5327  // headers to the request.
  5328  func (c *ProjectsLocationsInstancesIsUpgradeableCall) Header() http.Header {
  5329  	if c.header_ == nil {
  5330  		c.header_ = make(http.Header)
  5331  	}
  5332  	return c.header_
  5333  }
  5334  
  5335  func (c *ProjectsLocationsInstancesIsUpgradeableCall) doRequest(alt string) (*http.Response, error) {
  5336  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5337  	if c.ifNoneMatch_ != "" {
  5338  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5339  	}
  5340  	var body io.Reader = nil
  5341  	c.urlParams_.Set("alt", alt)
  5342  	c.urlParams_.Set("prettyPrint", "false")
  5343  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+notebookInstance}:isUpgradeable")
  5344  	urls += "?" + c.urlParams_.Encode()
  5345  	req, err := http.NewRequest("GET", urls, body)
  5346  	if err != nil {
  5347  		return nil, err
  5348  	}
  5349  	req.Header = reqHeaders
  5350  	googleapi.Expand(req.URL, map[string]string{
  5351  		"notebookInstance": c.notebookInstance,
  5352  	})
  5353  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5354  }
  5355  
  5356  // Do executes the "notebooks.projects.locations.instances.isUpgradeable" call.
  5357  // Any non-2xx status code is an error. Response headers are in either
  5358  // *IsInstanceUpgradeableResponse.ServerResponse.Header or (if a response was
  5359  // returned at all) in error.(*googleapi.Error).Header. Use
  5360  // googleapi.IsNotModified to check whether the returned error was because
  5361  // http.StatusNotModified was returned.
  5362  func (c *ProjectsLocationsInstancesIsUpgradeableCall) Do(opts ...googleapi.CallOption) (*IsInstanceUpgradeableResponse, error) {
  5363  	gensupport.SetOptions(c.urlParams_, opts...)
  5364  	res, err := c.doRequest("json")
  5365  	if res != nil && res.StatusCode == http.StatusNotModified {
  5366  		if res.Body != nil {
  5367  			res.Body.Close()
  5368  		}
  5369  		return nil, gensupport.WrapError(&googleapi.Error{
  5370  			Code:   res.StatusCode,
  5371  			Header: res.Header,
  5372  		})
  5373  	}
  5374  	if err != nil {
  5375  		return nil, err
  5376  	}
  5377  	defer googleapi.CloseBody(res)
  5378  	if err := googleapi.CheckResponse(res); err != nil {
  5379  		return nil, gensupport.WrapError(err)
  5380  	}
  5381  	ret := &IsInstanceUpgradeableResponse{
  5382  		ServerResponse: googleapi.ServerResponse{
  5383  			Header:         res.Header,
  5384  			HTTPStatusCode: res.StatusCode,
  5385  		},
  5386  	}
  5387  	target := &ret
  5388  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5389  		return nil, err
  5390  	}
  5391  	return ret, nil
  5392  }
  5393  
  5394  type ProjectsLocationsInstancesListCall struct {
  5395  	s            *Service
  5396  	parent       string
  5397  	urlParams_   gensupport.URLParams
  5398  	ifNoneMatch_ string
  5399  	ctx_         context.Context
  5400  	header_      http.Header
  5401  }
  5402  
  5403  // List: Lists instances in a given project and location.
  5404  //
  5405  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  5406  func (r *ProjectsLocationsInstancesService) List(parent string) *ProjectsLocationsInstancesListCall {
  5407  	c := &ProjectsLocationsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5408  	c.parent = parent
  5409  	return c
  5410  }
  5411  
  5412  // Filter sets the optional parameter "filter": List filter.
  5413  func (c *ProjectsLocationsInstancesListCall) Filter(filter string) *ProjectsLocationsInstancesListCall {
  5414  	c.urlParams_.Set("filter", filter)
  5415  	return c
  5416  }
  5417  
  5418  // OrderBy sets the optional parameter "orderBy": Sort results. Supported
  5419  // values are "name", "name desc" or "" (unsorted).
  5420  func (c *ProjectsLocationsInstancesListCall) OrderBy(orderBy string) *ProjectsLocationsInstancesListCall {
  5421  	c.urlParams_.Set("orderBy", orderBy)
  5422  	return c
  5423  }
  5424  
  5425  // PageSize sets the optional parameter "pageSize": Maximum return size of the
  5426  // list call.
  5427  func (c *ProjectsLocationsInstancesListCall) PageSize(pageSize int64) *ProjectsLocationsInstancesListCall {
  5428  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5429  	return c
  5430  }
  5431  
  5432  // PageToken sets the optional parameter "pageToken": A previous returned page
  5433  // token that can be used to continue listing from the last result.
  5434  func (c *ProjectsLocationsInstancesListCall) PageToken(pageToken string) *ProjectsLocationsInstancesListCall {
  5435  	c.urlParams_.Set("pageToken", pageToken)
  5436  	return c
  5437  }
  5438  
  5439  // Fields allows partial responses to be retrieved. See
  5440  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5441  // details.
  5442  func (c *ProjectsLocationsInstancesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesListCall {
  5443  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5444  	return c
  5445  }
  5446  
  5447  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5448  // object's ETag matches the given value. This is useful for getting updates
  5449  // only after the object has changed since the last request.
  5450  func (c *ProjectsLocationsInstancesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesListCall {
  5451  	c.ifNoneMatch_ = entityTag
  5452  	return c
  5453  }
  5454  
  5455  // Context sets the context to be used in this call's Do method.
  5456  func (c *ProjectsLocationsInstancesListCall) Context(ctx context.Context) *ProjectsLocationsInstancesListCall {
  5457  	c.ctx_ = ctx
  5458  	return c
  5459  }
  5460  
  5461  // Header returns a http.Header that can be modified by the caller to add
  5462  // headers to the request.
  5463  func (c *ProjectsLocationsInstancesListCall) Header() http.Header {
  5464  	if c.header_ == nil {
  5465  		c.header_ = make(http.Header)
  5466  	}
  5467  	return c.header_
  5468  }
  5469  
  5470  func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
  5471  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5472  	if c.ifNoneMatch_ != "" {
  5473  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5474  	}
  5475  	var body io.Reader = nil
  5476  	c.urlParams_.Set("alt", alt)
  5477  	c.urlParams_.Set("prettyPrint", "false")
  5478  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/instances")
  5479  	urls += "?" + c.urlParams_.Encode()
  5480  	req, err := http.NewRequest("GET", urls, body)
  5481  	if err != nil {
  5482  		return nil, err
  5483  	}
  5484  	req.Header = reqHeaders
  5485  	googleapi.Expand(req.URL, map[string]string{
  5486  		"parent": c.parent,
  5487  	})
  5488  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5489  }
  5490  
  5491  // Do executes the "notebooks.projects.locations.instances.list" call.
  5492  // Any non-2xx status code is an error. Response headers are in either
  5493  // *ListInstancesResponse.ServerResponse.Header or (if a response was returned
  5494  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5495  // check whether the returned error was because http.StatusNotModified was
  5496  // returned.
  5497  func (c *ProjectsLocationsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
  5498  	gensupport.SetOptions(c.urlParams_, opts...)
  5499  	res, err := c.doRequest("json")
  5500  	if res != nil && res.StatusCode == http.StatusNotModified {
  5501  		if res.Body != nil {
  5502  			res.Body.Close()
  5503  		}
  5504  		return nil, gensupport.WrapError(&googleapi.Error{
  5505  			Code:   res.StatusCode,
  5506  			Header: res.Header,
  5507  		})
  5508  	}
  5509  	if err != nil {
  5510  		return nil, err
  5511  	}
  5512  	defer googleapi.CloseBody(res)
  5513  	if err := googleapi.CheckResponse(res); err != nil {
  5514  		return nil, gensupport.WrapError(err)
  5515  	}
  5516  	ret := &ListInstancesResponse{
  5517  		ServerResponse: googleapi.ServerResponse{
  5518  			Header:         res.Header,
  5519  			HTTPStatusCode: res.StatusCode,
  5520  		},
  5521  	}
  5522  	target := &ret
  5523  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5524  		return nil, err
  5525  	}
  5526  	return ret, nil
  5527  }
  5528  
  5529  // Pages invokes f for each page of results.
  5530  // A non-nil error returned from f will halt the iteration.
  5531  // The provided context supersedes any context provided to the Context method.
  5532  func (c *ProjectsLocationsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
  5533  	c.ctx_ = ctx
  5534  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5535  	for {
  5536  		x, err := c.Do()
  5537  		if err != nil {
  5538  			return err
  5539  		}
  5540  		if err := f(x); err != nil {
  5541  			return err
  5542  		}
  5543  		if x.NextPageToken == "" {
  5544  			return nil
  5545  		}
  5546  		c.PageToken(x.NextPageToken)
  5547  	}
  5548  }
  5549  
  5550  type ProjectsLocationsInstancesMigrateCall struct {
  5551  	s                      *Service
  5552  	name                   string
  5553  	migrateinstancerequest *MigrateInstanceRequest
  5554  	urlParams_             gensupport.URLParams
  5555  	ctx_                   context.Context
  5556  	header_                http.Header
  5557  }
  5558  
  5559  // Migrate: Migrates an existing User-Managed Notebook to Workbench Instances.
  5560  //
  5561  //   - name: Format:
  5562  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5563  func (r *ProjectsLocationsInstancesService) Migrate(name string, migrateinstancerequest *MigrateInstanceRequest) *ProjectsLocationsInstancesMigrateCall {
  5564  	c := &ProjectsLocationsInstancesMigrateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5565  	c.name = name
  5566  	c.migrateinstancerequest = migrateinstancerequest
  5567  	return c
  5568  }
  5569  
  5570  // Fields allows partial responses to be retrieved. See
  5571  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5572  // details.
  5573  func (c *ProjectsLocationsInstancesMigrateCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesMigrateCall {
  5574  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5575  	return c
  5576  }
  5577  
  5578  // Context sets the context to be used in this call's Do method.
  5579  func (c *ProjectsLocationsInstancesMigrateCall) Context(ctx context.Context) *ProjectsLocationsInstancesMigrateCall {
  5580  	c.ctx_ = ctx
  5581  	return c
  5582  }
  5583  
  5584  // Header returns a http.Header that can be modified by the caller to add
  5585  // headers to the request.
  5586  func (c *ProjectsLocationsInstancesMigrateCall) Header() http.Header {
  5587  	if c.header_ == nil {
  5588  		c.header_ = make(http.Header)
  5589  	}
  5590  	return c.header_
  5591  }
  5592  
  5593  func (c *ProjectsLocationsInstancesMigrateCall) doRequest(alt string) (*http.Response, error) {
  5594  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5595  	var body io.Reader = nil
  5596  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.migrateinstancerequest)
  5597  	if err != nil {
  5598  		return nil, err
  5599  	}
  5600  	c.urlParams_.Set("alt", alt)
  5601  	c.urlParams_.Set("prettyPrint", "false")
  5602  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:migrate")
  5603  	urls += "?" + c.urlParams_.Encode()
  5604  	req, err := http.NewRequest("POST", urls, body)
  5605  	if err != nil {
  5606  		return nil, err
  5607  	}
  5608  	req.Header = reqHeaders
  5609  	googleapi.Expand(req.URL, map[string]string{
  5610  		"name": c.name,
  5611  	})
  5612  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5613  }
  5614  
  5615  // Do executes the "notebooks.projects.locations.instances.migrate" call.
  5616  // Any non-2xx status code is an error. Response headers are in either
  5617  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5618  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5619  // whether the returned error was because http.StatusNotModified was returned.
  5620  func (c *ProjectsLocationsInstancesMigrateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5621  	gensupport.SetOptions(c.urlParams_, opts...)
  5622  	res, err := c.doRequest("json")
  5623  	if res != nil && res.StatusCode == http.StatusNotModified {
  5624  		if res.Body != nil {
  5625  			res.Body.Close()
  5626  		}
  5627  		return nil, gensupport.WrapError(&googleapi.Error{
  5628  			Code:   res.StatusCode,
  5629  			Header: res.Header,
  5630  		})
  5631  	}
  5632  	if err != nil {
  5633  		return nil, err
  5634  	}
  5635  	defer googleapi.CloseBody(res)
  5636  	if err := googleapi.CheckResponse(res); err != nil {
  5637  		return nil, gensupport.WrapError(err)
  5638  	}
  5639  	ret := &Operation{
  5640  		ServerResponse: googleapi.ServerResponse{
  5641  			Header:         res.Header,
  5642  			HTTPStatusCode: res.StatusCode,
  5643  		},
  5644  	}
  5645  	target := &ret
  5646  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5647  		return nil, err
  5648  	}
  5649  	return ret, nil
  5650  }
  5651  
  5652  type ProjectsLocationsInstancesRegisterCall struct {
  5653  	s                       *Service
  5654  	parent                  string
  5655  	registerinstancerequest *RegisterInstanceRequest
  5656  	urlParams_              gensupport.URLParams
  5657  	ctx_                    context.Context
  5658  	header_                 http.Header
  5659  }
  5660  
  5661  // Register: Registers an existing legacy notebook instance to the Notebooks
  5662  // API server. Legacy instances are instances created with the legacy Compute
  5663  // Engine calls. They are not manageable by the Notebooks API out of the box.
  5664  // This call makes these instances manageable by the Notebooks API.
  5665  //
  5666  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  5667  func (r *ProjectsLocationsInstancesService) Register(parent string, registerinstancerequest *RegisterInstanceRequest) *ProjectsLocationsInstancesRegisterCall {
  5668  	c := &ProjectsLocationsInstancesRegisterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5669  	c.parent = parent
  5670  	c.registerinstancerequest = registerinstancerequest
  5671  	return c
  5672  }
  5673  
  5674  // Fields allows partial responses to be retrieved. See
  5675  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5676  // details.
  5677  func (c *ProjectsLocationsInstancesRegisterCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRegisterCall {
  5678  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5679  	return c
  5680  }
  5681  
  5682  // Context sets the context to be used in this call's Do method.
  5683  func (c *ProjectsLocationsInstancesRegisterCall) Context(ctx context.Context) *ProjectsLocationsInstancesRegisterCall {
  5684  	c.ctx_ = ctx
  5685  	return c
  5686  }
  5687  
  5688  // Header returns a http.Header that can be modified by the caller to add
  5689  // headers to the request.
  5690  func (c *ProjectsLocationsInstancesRegisterCall) Header() http.Header {
  5691  	if c.header_ == nil {
  5692  		c.header_ = make(http.Header)
  5693  	}
  5694  	return c.header_
  5695  }
  5696  
  5697  func (c *ProjectsLocationsInstancesRegisterCall) doRequest(alt string) (*http.Response, error) {
  5698  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5699  	var body io.Reader = nil
  5700  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.registerinstancerequest)
  5701  	if err != nil {
  5702  		return nil, err
  5703  	}
  5704  	c.urlParams_.Set("alt", alt)
  5705  	c.urlParams_.Set("prettyPrint", "false")
  5706  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/instances:register")
  5707  	urls += "?" + c.urlParams_.Encode()
  5708  	req, err := http.NewRequest("POST", urls, body)
  5709  	if err != nil {
  5710  		return nil, err
  5711  	}
  5712  	req.Header = reqHeaders
  5713  	googleapi.Expand(req.URL, map[string]string{
  5714  		"parent": c.parent,
  5715  	})
  5716  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5717  }
  5718  
  5719  // Do executes the "notebooks.projects.locations.instances.register" call.
  5720  // Any non-2xx status code is an error. Response headers are in either
  5721  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5722  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5723  // whether the returned error was because http.StatusNotModified was returned.
  5724  func (c *ProjectsLocationsInstancesRegisterCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5725  	gensupport.SetOptions(c.urlParams_, opts...)
  5726  	res, err := c.doRequest("json")
  5727  	if res != nil && res.StatusCode == http.StatusNotModified {
  5728  		if res.Body != nil {
  5729  			res.Body.Close()
  5730  		}
  5731  		return nil, gensupport.WrapError(&googleapi.Error{
  5732  			Code:   res.StatusCode,
  5733  			Header: res.Header,
  5734  		})
  5735  	}
  5736  	if err != nil {
  5737  		return nil, err
  5738  	}
  5739  	defer googleapi.CloseBody(res)
  5740  	if err := googleapi.CheckResponse(res); err != nil {
  5741  		return nil, gensupport.WrapError(err)
  5742  	}
  5743  	ret := &Operation{
  5744  		ServerResponse: googleapi.ServerResponse{
  5745  			Header:         res.Header,
  5746  			HTTPStatusCode: res.StatusCode,
  5747  		},
  5748  	}
  5749  	target := &ret
  5750  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5751  		return nil, err
  5752  	}
  5753  	return ret, nil
  5754  }
  5755  
  5756  type ProjectsLocationsInstancesReportCall struct {
  5757  	s                         *Service
  5758  	name                      string
  5759  	reportinstanceinforequest *ReportInstanceInfoRequest
  5760  	urlParams_                gensupport.URLParams
  5761  	ctx_                      context.Context
  5762  	header_                   http.Header
  5763  }
  5764  
  5765  // Report: Allows notebook instances to report their latest instance
  5766  // information to the Notebooks API server. The server will merge the reported
  5767  // information to the instance metadata store. Do not use this method directly.
  5768  //
  5769  //   - name: Format:
  5770  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5771  func (r *ProjectsLocationsInstancesService) Report(name string, reportinstanceinforequest *ReportInstanceInfoRequest) *ProjectsLocationsInstancesReportCall {
  5772  	c := &ProjectsLocationsInstancesReportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5773  	c.name = name
  5774  	c.reportinstanceinforequest = reportinstanceinforequest
  5775  	return c
  5776  }
  5777  
  5778  // Fields allows partial responses to be retrieved. See
  5779  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5780  // details.
  5781  func (c *ProjectsLocationsInstancesReportCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesReportCall {
  5782  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5783  	return c
  5784  }
  5785  
  5786  // Context sets the context to be used in this call's Do method.
  5787  func (c *ProjectsLocationsInstancesReportCall) Context(ctx context.Context) *ProjectsLocationsInstancesReportCall {
  5788  	c.ctx_ = ctx
  5789  	return c
  5790  }
  5791  
  5792  // Header returns a http.Header that can be modified by the caller to add
  5793  // headers to the request.
  5794  func (c *ProjectsLocationsInstancesReportCall) Header() http.Header {
  5795  	if c.header_ == nil {
  5796  		c.header_ = make(http.Header)
  5797  	}
  5798  	return c.header_
  5799  }
  5800  
  5801  func (c *ProjectsLocationsInstancesReportCall) doRequest(alt string) (*http.Response, error) {
  5802  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5803  	var body io.Reader = nil
  5804  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.reportinstanceinforequest)
  5805  	if err != nil {
  5806  		return nil, err
  5807  	}
  5808  	c.urlParams_.Set("alt", alt)
  5809  	c.urlParams_.Set("prettyPrint", "false")
  5810  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:report")
  5811  	urls += "?" + c.urlParams_.Encode()
  5812  	req, err := http.NewRequest("POST", urls, body)
  5813  	if err != nil {
  5814  		return nil, err
  5815  	}
  5816  	req.Header = reqHeaders
  5817  	googleapi.Expand(req.URL, map[string]string{
  5818  		"name": c.name,
  5819  	})
  5820  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5821  }
  5822  
  5823  // Do executes the "notebooks.projects.locations.instances.report" call.
  5824  // Any non-2xx status code is an error. Response headers are in either
  5825  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5826  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5827  // whether the returned error was because http.StatusNotModified was returned.
  5828  func (c *ProjectsLocationsInstancesReportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5829  	gensupport.SetOptions(c.urlParams_, opts...)
  5830  	res, err := c.doRequest("json")
  5831  	if res != nil && res.StatusCode == http.StatusNotModified {
  5832  		if res.Body != nil {
  5833  			res.Body.Close()
  5834  		}
  5835  		return nil, gensupport.WrapError(&googleapi.Error{
  5836  			Code:   res.StatusCode,
  5837  			Header: res.Header,
  5838  		})
  5839  	}
  5840  	if err != nil {
  5841  		return nil, err
  5842  	}
  5843  	defer googleapi.CloseBody(res)
  5844  	if err := googleapi.CheckResponse(res); err != nil {
  5845  		return nil, gensupport.WrapError(err)
  5846  	}
  5847  	ret := &Operation{
  5848  		ServerResponse: googleapi.ServerResponse{
  5849  			Header:         res.Header,
  5850  			HTTPStatusCode: res.StatusCode,
  5851  		},
  5852  	}
  5853  	target := &ret
  5854  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5855  		return nil, err
  5856  	}
  5857  	return ret, nil
  5858  }
  5859  
  5860  type ProjectsLocationsInstancesReportEventCall struct {
  5861  	s                          *Service
  5862  	name                       string
  5863  	reportinstanceeventrequest *ReportInstanceEventRequest
  5864  	urlParams_                 gensupport.URLParams
  5865  	ctx_                       context.Context
  5866  	header_                    http.Header
  5867  }
  5868  
  5869  // ReportEvent: Reports and processes an instance event.
  5870  //
  5871  //   - name: Format:
  5872  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5873  func (r *ProjectsLocationsInstancesService) ReportEvent(name string, reportinstanceeventrequest *ReportInstanceEventRequest) *ProjectsLocationsInstancesReportEventCall {
  5874  	c := &ProjectsLocationsInstancesReportEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5875  	c.name = name
  5876  	c.reportinstanceeventrequest = reportinstanceeventrequest
  5877  	return c
  5878  }
  5879  
  5880  // Fields allows partial responses to be retrieved. See
  5881  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5882  // details.
  5883  func (c *ProjectsLocationsInstancesReportEventCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesReportEventCall {
  5884  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5885  	return c
  5886  }
  5887  
  5888  // Context sets the context to be used in this call's Do method.
  5889  func (c *ProjectsLocationsInstancesReportEventCall) Context(ctx context.Context) *ProjectsLocationsInstancesReportEventCall {
  5890  	c.ctx_ = ctx
  5891  	return c
  5892  }
  5893  
  5894  // Header returns a http.Header that can be modified by the caller to add
  5895  // headers to the request.
  5896  func (c *ProjectsLocationsInstancesReportEventCall) Header() http.Header {
  5897  	if c.header_ == nil {
  5898  		c.header_ = make(http.Header)
  5899  	}
  5900  	return c.header_
  5901  }
  5902  
  5903  func (c *ProjectsLocationsInstancesReportEventCall) doRequest(alt string) (*http.Response, error) {
  5904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5905  	var body io.Reader = nil
  5906  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.reportinstanceeventrequest)
  5907  	if err != nil {
  5908  		return nil, err
  5909  	}
  5910  	c.urlParams_.Set("alt", alt)
  5911  	c.urlParams_.Set("prettyPrint", "false")
  5912  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reportEvent")
  5913  	urls += "?" + c.urlParams_.Encode()
  5914  	req, err := http.NewRequest("POST", urls, body)
  5915  	if err != nil {
  5916  		return nil, err
  5917  	}
  5918  	req.Header = reqHeaders
  5919  	googleapi.Expand(req.URL, map[string]string{
  5920  		"name": c.name,
  5921  	})
  5922  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5923  }
  5924  
  5925  // Do executes the "notebooks.projects.locations.instances.reportEvent" call.
  5926  // Any non-2xx status code is an error. Response headers are in either
  5927  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5928  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5929  // whether the returned error was because http.StatusNotModified was returned.
  5930  func (c *ProjectsLocationsInstancesReportEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5931  	gensupport.SetOptions(c.urlParams_, opts...)
  5932  	res, err := c.doRequest("json")
  5933  	if res != nil && res.StatusCode == http.StatusNotModified {
  5934  		if res.Body != nil {
  5935  			res.Body.Close()
  5936  		}
  5937  		return nil, gensupport.WrapError(&googleapi.Error{
  5938  			Code:   res.StatusCode,
  5939  			Header: res.Header,
  5940  		})
  5941  	}
  5942  	if err != nil {
  5943  		return nil, err
  5944  	}
  5945  	defer googleapi.CloseBody(res)
  5946  	if err := googleapi.CheckResponse(res); err != nil {
  5947  		return nil, gensupport.WrapError(err)
  5948  	}
  5949  	ret := &Operation{
  5950  		ServerResponse: googleapi.ServerResponse{
  5951  			Header:         res.Header,
  5952  			HTTPStatusCode: res.StatusCode,
  5953  		},
  5954  	}
  5955  	target := &ret
  5956  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5957  		return nil, err
  5958  	}
  5959  	return ret, nil
  5960  }
  5961  
  5962  type ProjectsLocationsInstancesResetCall struct {
  5963  	s                    *Service
  5964  	name                 string
  5965  	resetinstancerequest *ResetInstanceRequest
  5966  	urlParams_           gensupport.URLParams
  5967  	ctx_                 context.Context
  5968  	header_              http.Header
  5969  }
  5970  
  5971  // Reset: Resets a notebook instance.
  5972  //
  5973  //   - name: Format:
  5974  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  5975  func (r *ProjectsLocationsInstancesService) Reset(name string, resetinstancerequest *ResetInstanceRequest) *ProjectsLocationsInstancesResetCall {
  5976  	c := &ProjectsLocationsInstancesResetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5977  	c.name = name
  5978  	c.resetinstancerequest = resetinstancerequest
  5979  	return c
  5980  }
  5981  
  5982  // Fields allows partial responses to be retrieved. See
  5983  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5984  // details.
  5985  func (c *ProjectsLocationsInstancesResetCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesResetCall {
  5986  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5987  	return c
  5988  }
  5989  
  5990  // Context sets the context to be used in this call's Do method.
  5991  func (c *ProjectsLocationsInstancesResetCall) Context(ctx context.Context) *ProjectsLocationsInstancesResetCall {
  5992  	c.ctx_ = ctx
  5993  	return c
  5994  }
  5995  
  5996  // Header returns a http.Header that can be modified by the caller to add
  5997  // headers to the request.
  5998  func (c *ProjectsLocationsInstancesResetCall) Header() http.Header {
  5999  	if c.header_ == nil {
  6000  		c.header_ = make(http.Header)
  6001  	}
  6002  	return c.header_
  6003  }
  6004  
  6005  func (c *ProjectsLocationsInstancesResetCall) doRequest(alt string) (*http.Response, error) {
  6006  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6007  	var body io.Reader = nil
  6008  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.resetinstancerequest)
  6009  	if err != nil {
  6010  		return nil, err
  6011  	}
  6012  	c.urlParams_.Set("alt", alt)
  6013  	c.urlParams_.Set("prettyPrint", "false")
  6014  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reset")
  6015  	urls += "?" + c.urlParams_.Encode()
  6016  	req, err := http.NewRequest("POST", urls, body)
  6017  	if err != nil {
  6018  		return nil, err
  6019  	}
  6020  	req.Header = reqHeaders
  6021  	googleapi.Expand(req.URL, map[string]string{
  6022  		"name": c.name,
  6023  	})
  6024  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6025  }
  6026  
  6027  // Do executes the "notebooks.projects.locations.instances.reset" call.
  6028  // Any non-2xx status code is an error. Response headers are in either
  6029  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6030  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6031  // whether the returned error was because http.StatusNotModified was returned.
  6032  func (c *ProjectsLocationsInstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6033  	gensupport.SetOptions(c.urlParams_, opts...)
  6034  	res, err := c.doRequest("json")
  6035  	if res != nil && res.StatusCode == http.StatusNotModified {
  6036  		if res.Body != nil {
  6037  			res.Body.Close()
  6038  		}
  6039  		return nil, gensupport.WrapError(&googleapi.Error{
  6040  			Code:   res.StatusCode,
  6041  			Header: res.Header,
  6042  		})
  6043  	}
  6044  	if err != nil {
  6045  		return nil, err
  6046  	}
  6047  	defer googleapi.CloseBody(res)
  6048  	if err := googleapi.CheckResponse(res); err != nil {
  6049  		return nil, gensupport.WrapError(err)
  6050  	}
  6051  	ret := &Operation{
  6052  		ServerResponse: googleapi.ServerResponse{
  6053  			Header:         res.Header,
  6054  			HTTPStatusCode: res.StatusCode,
  6055  		},
  6056  	}
  6057  	target := &ret
  6058  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6059  		return nil, err
  6060  	}
  6061  	return ret, nil
  6062  }
  6063  
  6064  type ProjectsLocationsInstancesRollbackCall struct {
  6065  	s                       *Service
  6066  	name                    string
  6067  	rollbackinstancerequest *RollbackInstanceRequest
  6068  	urlParams_              gensupport.URLParams
  6069  	ctx_                    context.Context
  6070  	header_                 http.Header
  6071  }
  6072  
  6073  // Rollback: Rollbacks a notebook instance to the previous version.
  6074  //
  6075  //   - name: Format:
  6076  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6077  func (r *ProjectsLocationsInstancesService) Rollback(name string, rollbackinstancerequest *RollbackInstanceRequest) *ProjectsLocationsInstancesRollbackCall {
  6078  	c := &ProjectsLocationsInstancesRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6079  	c.name = name
  6080  	c.rollbackinstancerequest = rollbackinstancerequest
  6081  	return c
  6082  }
  6083  
  6084  // Fields allows partial responses to be retrieved. See
  6085  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6086  // details.
  6087  func (c *ProjectsLocationsInstancesRollbackCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRollbackCall {
  6088  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6089  	return c
  6090  }
  6091  
  6092  // Context sets the context to be used in this call's Do method.
  6093  func (c *ProjectsLocationsInstancesRollbackCall) Context(ctx context.Context) *ProjectsLocationsInstancesRollbackCall {
  6094  	c.ctx_ = ctx
  6095  	return c
  6096  }
  6097  
  6098  // Header returns a http.Header that can be modified by the caller to add
  6099  // headers to the request.
  6100  func (c *ProjectsLocationsInstancesRollbackCall) Header() http.Header {
  6101  	if c.header_ == nil {
  6102  		c.header_ = make(http.Header)
  6103  	}
  6104  	return c.header_
  6105  }
  6106  
  6107  func (c *ProjectsLocationsInstancesRollbackCall) doRequest(alt string) (*http.Response, error) {
  6108  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6109  	var body io.Reader = nil
  6110  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbackinstancerequest)
  6111  	if err != nil {
  6112  		return nil, err
  6113  	}
  6114  	c.urlParams_.Set("alt", alt)
  6115  	c.urlParams_.Set("prettyPrint", "false")
  6116  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rollback")
  6117  	urls += "?" + c.urlParams_.Encode()
  6118  	req, err := http.NewRequest("POST", urls, body)
  6119  	if err != nil {
  6120  		return nil, err
  6121  	}
  6122  	req.Header = reqHeaders
  6123  	googleapi.Expand(req.URL, map[string]string{
  6124  		"name": c.name,
  6125  	})
  6126  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6127  }
  6128  
  6129  // Do executes the "notebooks.projects.locations.instances.rollback" call.
  6130  // Any non-2xx status code is an error. Response headers are in either
  6131  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6132  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6133  // whether the returned error was because http.StatusNotModified was returned.
  6134  func (c *ProjectsLocationsInstancesRollbackCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6135  	gensupport.SetOptions(c.urlParams_, opts...)
  6136  	res, err := c.doRequest("json")
  6137  	if res != nil && res.StatusCode == http.StatusNotModified {
  6138  		if res.Body != nil {
  6139  			res.Body.Close()
  6140  		}
  6141  		return nil, gensupport.WrapError(&googleapi.Error{
  6142  			Code:   res.StatusCode,
  6143  			Header: res.Header,
  6144  		})
  6145  	}
  6146  	if err != nil {
  6147  		return nil, err
  6148  	}
  6149  	defer googleapi.CloseBody(res)
  6150  	if err := googleapi.CheckResponse(res); err != nil {
  6151  		return nil, gensupport.WrapError(err)
  6152  	}
  6153  	ret := &Operation{
  6154  		ServerResponse: googleapi.ServerResponse{
  6155  			Header:         res.Header,
  6156  			HTTPStatusCode: res.StatusCode,
  6157  		},
  6158  	}
  6159  	target := &ret
  6160  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6161  		return nil, err
  6162  	}
  6163  	return ret, nil
  6164  }
  6165  
  6166  type ProjectsLocationsInstancesSetAcceleratorCall struct {
  6167  	s                             *Service
  6168  	name                          string
  6169  	setinstanceacceleratorrequest *SetInstanceAcceleratorRequest
  6170  	urlParams_                    gensupport.URLParams
  6171  	ctx_                          context.Context
  6172  	header_                       http.Header
  6173  }
  6174  
  6175  // SetAccelerator: Updates the guest accelerators of a single Instance.
  6176  //
  6177  //   - name: Format:
  6178  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6179  func (r *ProjectsLocationsInstancesService) SetAccelerator(name string, setinstanceacceleratorrequest *SetInstanceAcceleratorRequest) *ProjectsLocationsInstancesSetAcceleratorCall {
  6180  	c := &ProjectsLocationsInstancesSetAcceleratorCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6181  	c.name = name
  6182  	c.setinstanceacceleratorrequest = setinstanceacceleratorrequest
  6183  	return c
  6184  }
  6185  
  6186  // Fields allows partial responses to be retrieved. See
  6187  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6188  // details.
  6189  func (c *ProjectsLocationsInstancesSetAcceleratorCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesSetAcceleratorCall {
  6190  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6191  	return c
  6192  }
  6193  
  6194  // Context sets the context to be used in this call's Do method.
  6195  func (c *ProjectsLocationsInstancesSetAcceleratorCall) Context(ctx context.Context) *ProjectsLocationsInstancesSetAcceleratorCall {
  6196  	c.ctx_ = ctx
  6197  	return c
  6198  }
  6199  
  6200  // Header returns a http.Header that can be modified by the caller to add
  6201  // headers to the request.
  6202  func (c *ProjectsLocationsInstancesSetAcceleratorCall) Header() http.Header {
  6203  	if c.header_ == nil {
  6204  		c.header_ = make(http.Header)
  6205  	}
  6206  	return c.header_
  6207  }
  6208  
  6209  func (c *ProjectsLocationsInstancesSetAcceleratorCall) doRequest(alt string) (*http.Response, error) {
  6210  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6211  	var body io.Reader = nil
  6212  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setinstanceacceleratorrequest)
  6213  	if err != nil {
  6214  		return nil, err
  6215  	}
  6216  	c.urlParams_.Set("alt", alt)
  6217  	c.urlParams_.Set("prettyPrint", "false")
  6218  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setAccelerator")
  6219  	urls += "?" + c.urlParams_.Encode()
  6220  	req, err := http.NewRequest("PATCH", urls, body)
  6221  	if err != nil {
  6222  		return nil, err
  6223  	}
  6224  	req.Header = reqHeaders
  6225  	googleapi.Expand(req.URL, map[string]string{
  6226  		"name": c.name,
  6227  	})
  6228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6229  }
  6230  
  6231  // Do executes the "notebooks.projects.locations.instances.setAccelerator" call.
  6232  // Any non-2xx status code is an error. Response headers are in either
  6233  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6234  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6235  // whether the returned error was because http.StatusNotModified was returned.
  6236  func (c *ProjectsLocationsInstancesSetAcceleratorCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6237  	gensupport.SetOptions(c.urlParams_, opts...)
  6238  	res, err := c.doRequest("json")
  6239  	if res != nil && res.StatusCode == http.StatusNotModified {
  6240  		if res.Body != nil {
  6241  			res.Body.Close()
  6242  		}
  6243  		return nil, gensupport.WrapError(&googleapi.Error{
  6244  			Code:   res.StatusCode,
  6245  			Header: res.Header,
  6246  		})
  6247  	}
  6248  	if err != nil {
  6249  		return nil, err
  6250  	}
  6251  	defer googleapi.CloseBody(res)
  6252  	if err := googleapi.CheckResponse(res); err != nil {
  6253  		return nil, gensupport.WrapError(err)
  6254  	}
  6255  	ret := &Operation{
  6256  		ServerResponse: googleapi.ServerResponse{
  6257  			Header:         res.Header,
  6258  			HTTPStatusCode: res.StatusCode,
  6259  		},
  6260  	}
  6261  	target := &ret
  6262  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6263  		return nil, err
  6264  	}
  6265  	return ret, nil
  6266  }
  6267  
  6268  type ProjectsLocationsInstancesSetIamPolicyCall struct {
  6269  	s                   *Service
  6270  	resource            string
  6271  	setiampolicyrequest *SetIamPolicyRequest
  6272  	urlParams_          gensupport.URLParams
  6273  	ctx_                context.Context
  6274  	header_             http.Header
  6275  }
  6276  
  6277  // SetIamPolicy: Sets the access control policy on the specified resource.
  6278  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  6279  // and `PERMISSION_DENIED` errors.
  6280  //
  6281  //   - resource: REQUIRED: The resource for which the policy is being specified.
  6282  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6283  //     for the appropriate value for this field.
  6284  func (r *ProjectsLocationsInstancesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsInstancesSetIamPolicyCall {
  6285  	c := &ProjectsLocationsInstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6286  	c.resource = resource
  6287  	c.setiampolicyrequest = setiampolicyrequest
  6288  	return c
  6289  }
  6290  
  6291  // Fields allows partial responses to be retrieved. See
  6292  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6293  // details.
  6294  func (c *ProjectsLocationsInstancesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesSetIamPolicyCall {
  6295  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6296  	return c
  6297  }
  6298  
  6299  // Context sets the context to be used in this call's Do method.
  6300  func (c *ProjectsLocationsInstancesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInstancesSetIamPolicyCall {
  6301  	c.ctx_ = ctx
  6302  	return c
  6303  }
  6304  
  6305  // Header returns a http.Header that can be modified by the caller to add
  6306  // headers to the request.
  6307  func (c *ProjectsLocationsInstancesSetIamPolicyCall) Header() http.Header {
  6308  	if c.header_ == nil {
  6309  		c.header_ = make(http.Header)
  6310  	}
  6311  	return c.header_
  6312  }
  6313  
  6314  func (c *ProjectsLocationsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6315  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6316  	var body io.Reader = nil
  6317  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  6318  	if err != nil {
  6319  		return nil, err
  6320  	}
  6321  	c.urlParams_.Set("alt", alt)
  6322  	c.urlParams_.Set("prettyPrint", "false")
  6323  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  6324  	urls += "?" + c.urlParams_.Encode()
  6325  	req, err := http.NewRequest("POST", urls, body)
  6326  	if err != nil {
  6327  		return nil, err
  6328  	}
  6329  	req.Header = reqHeaders
  6330  	googleapi.Expand(req.URL, map[string]string{
  6331  		"resource": c.resource,
  6332  	})
  6333  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6334  }
  6335  
  6336  // Do executes the "notebooks.projects.locations.instances.setIamPolicy" call.
  6337  // Any non-2xx status code is an error. Response headers are in either
  6338  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6339  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6340  // whether the returned error was because http.StatusNotModified was returned.
  6341  func (c *ProjectsLocationsInstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6342  	gensupport.SetOptions(c.urlParams_, opts...)
  6343  	res, err := c.doRequest("json")
  6344  	if res != nil && res.StatusCode == http.StatusNotModified {
  6345  		if res.Body != nil {
  6346  			res.Body.Close()
  6347  		}
  6348  		return nil, gensupport.WrapError(&googleapi.Error{
  6349  			Code:   res.StatusCode,
  6350  			Header: res.Header,
  6351  		})
  6352  	}
  6353  	if err != nil {
  6354  		return nil, err
  6355  	}
  6356  	defer googleapi.CloseBody(res)
  6357  	if err := googleapi.CheckResponse(res); err != nil {
  6358  		return nil, gensupport.WrapError(err)
  6359  	}
  6360  	ret := &Policy{
  6361  		ServerResponse: googleapi.ServerResponse{
  6362  			Header:         res.Header,
  6363  			HTTPStatusCode: res.StatusCode,
  6364  		},
  6365  	}
  6366  	target := &ret
  6367  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6368  		return nil, err
  6369  	}
  6370  	return ret, nil
  6371  }
  6372  
  6373  type ProjectsLocationsInstancesSetLabelsCall struct {
  6374  	s                        *Service
  6375  	name                     string
  6376  	setinstancelabelsrequest *SetInstanceLabelsRequest
  6377  	urlParams_               gensupport.URLParams
  6378  	ctx_                     context.Context
  6379  	header_                  http.Header
  6380  }
  6381  
  6382  // SetLabels: Replaces all the labels of an Instance.
  6383  //
  6384  //   - name: Format:
  6385  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6386  func (r *ProjectsLocationsInstancesService) SetLabels(name string, setinstancelabelsrequest *SetInstanceLabelsRequest) *ProjectsLocationsInstancesSetLabelsCall {
  6387  	c := &ProjectsLocationsInstancesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6388  	c.name = name
  6389  	c.setinstancelabelsrequest = setinstancelabelsrequest
  6390  	return c
  6391  }
  6392  
  6393  // Fields allows partial responses to be retrieved. See
  6394  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6395  // details.
  6396  func (c *ProjectsLocationsInstancesSetLabelsCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesSetLabelsCall {
  6397  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6398  	return c
  6399  }
  6400  
  6401  // Context sets the context to be used in this call's Do method.
  6402  func (c *ProjectsLocationsInstancesSetLabelsCall) Context(ctx context.Context) *ProjectsLocationsInstancesSetLabelsCall {
  6403  	c.ctx_ = ctx
  6404  	return c
  6405  }
  6406  
  6407  // Header returns a http.Header that can be modified by the caller to add
  6408  // headers to the request.
  6409  func (c *ProjectsLocationsInstancesSetLabelsCall) Header() http.Header {
  6410  	if c.header_ == nil {
  6411  		c.header_ = make(http.Header)
  6412  	}
  6413  	return c.header_
  6414  }
  6415  
  6416  func (c *ProjectsLocationsInstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
  6417  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6418  	var body io.Reader = nil
  6419  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setinstancelabelsrequest)
  6420  	if err != nil {
  6421  		return nil, err
  6422  	}
  6423  	c.urlParams_.Set("alt", alt)
  6424  	c.urlParams_.Set("prettyPrint", "false")
  6425  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setLabels")
  6426  	urls += "?" + c.urlParams_.Encode()
  6427  	req, err := http.NewRequest("PATCH", urls, body)
  6428  	if err != nil {
  6429  		return nil, err
  6430  	}
  6431  	req.Header = reqHeaders
  6432  	googleapi.Expand(req.URL, map[string]string{
  6433  		"name": c.name,
  6434  	})
  6435  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6436  }
  6437  
  6438  // Do executes the "notebooks.projects.locations.instances.setLabels" call.
  6439  // Any non-2xx status code is an error. Response headers are in either
  6440  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6441  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6442  // whether the returned error was because http.StatusNotModified was returned.
  6443  func (c *ProjectsLocationsInstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6444  	gensupport.SetOptions(c.urlParams_, opts...)
  6445  	res, err := c.doRequest("json")
  6446  	if res != nil && res.StatusCode == http.StatusNotModified {
  6447  		if res.Body != nil {
  6448  			res.Body.Close()
  6449  		}
  6450  		return nil, gensupport.WrapError(&googleapi.Error{
  6451  			Code:   res.StatusCode,
  6452  			Header: res.Header,
  6453  		})
  6454  	}
  6455  	if err != nil {
  6456  		return nil, err
  6457  	}
  6458  	defer googleapi.CloseBody(res)
  6459  	if err := googleapi.CheckResponse(res); err != nil {
  6460  		return nil, gensupport.WrapError(err)
  6461  	}
  6462  	ret := &Operation{
  6463  		ServerResponse: googleapi.ServerResponse{
  6464  			Header:         res.Header,
  6465  			HTTPStatusCode: res.StatusCode,
  6466  		},
  6467  	}
  6468  	target := &ret
  6469  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6470  		return nil, err
  6471  	}
  6472  	return ret, nil
  6473  }
  6474  
  6475  type ProjectsLocationsInstancesSetMachineTypeCall struct {
  6476  	s                             *Service
  6477  	name                          string
  6478  	setinstancemachinetyperequest *SetInstanceMachineTypeRequest
  6479  	urlParams_                    gensupport.URLParams
  6480  	ctx_                          context.Context
  6481  	header_                       http.Header
  6482  }
  6483  
  6484  // SetMachineType: Updates the machine type of a single Instance.
  6485  //
  6486  //   - name: Format:
  6487  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6488  func (r *ProjectsLocationsInstancesService) SetMachineType(name string, setinstancemachinetyperequest *SetInstanceMachineTypeRequest) *ProjectsLocationsInstancesSetMachineTypeCall {
  6489  	c := &ProjectsLocationsInstancesSetMachineTypeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6490  	c.name = name
  6491  	c.setinstancemachinetyperequest = setinstancemachinetyperequest
  6492  	return c
  6493  }
  6494  
  6495  // Fields allows partial responses to be retrieved. See
  6496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6497  // details.
  6498  func (c *ProjectsLocationsInstancesSetMachineTypeCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesSetMachineTypeCall {
  6499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6500  	return c
  6501  }
  6502  
  6503  // Context sets the context to be used in this call's Do method.
  6504  func (c *ProjectsLocationsInstancesSetMachineTypeCall) Context(ctx context.Context) *ProjectsLocationsInstancesSetMachineTypeCall {
  6505  	c.ctx_ = ctx
  6506  	return c
  6507  }
  6508  
  6509  // Header returns a http.Header that can be modified by the caller to add
  6510  // headers to the request.
  6511  func (c *ProjectsLocationsInstancesSetMachineTypeCall) Header() http.Header {
  6512  	if c.header_ == nil {
  6513  		c.header_ = make(http.Header)
  6514  	}
  6515  	return c.header_
  6516  }
  6517  
  6518  func (c *ProjectsLocationsInstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
  6519  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6520  	var body io.Reader = nil
  6521  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setinstancemachinetyperequest)
  6522  	if err != nil {
  6523  		return nil, err
  6524  	}
  6525  	c.urlParams_.Set("alt", alt)
  6526  	c.urlParams_.Set("prettyPrint", "false")
  6527  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setMachineType")
  6528  	urls += "?" + c.urlParams_.Encode()
  6529  	req, err := http.NewRequest("PATCH", urls, body)
  6530  	if err != nil {
  6531  		return nil, err
  6532  	}
  6533  	req.Header = reqHeaders
  6534  	googleapi.Expand(req.URL, map[string]string{
  6535  		"name": c.name,
  6536  	})
  6537  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6538  }
  6539  
  6540  // Do executes the "notebooks.projects.locations.instances.setMachineType" call.
  6541  // Any non-2xx status code is an error. Response headers are in either
  6542  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6543  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6544  // whether the returned error was because http.StatusNotModified was returned.
  6545  func (c *ProjectsLocationsInstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6546  	gensupport.SetOptions(c.urlParams_, opts...)
  6547  	res, err := c.doRequest("json")
  6548  	if res != nil && res.StatusCode == http.StatusNotModified {
  6549  		if res.Body != nil {
  6550  			res.Body.Close()
  6551  		}
  6552  		return nil, gensupport.WrapError(&googleapi.Error{
  6553  			Code:   res.StatusCode,
  6554  			Header: res.Header,
  6555  		})
  6556  	}
  6557  	if err != nil {
  6558  		return nil, err
  6559  	}
  6560  	defer googleapi.CloseBody(res)
  6561  	if err := googleapi.CheckResponse(res); err != nil {
  6562  		return nil, gensupport.WrapError(err)
  6563  	}
  6564  	ret := &Operation{
  6565  		ServerResponse: googleapi.ServerResponse{
  6566  			Header:         res.Header,
  6567  			HTTPStatusCode: res.StatusCode,
  6568  		},
  6569  	}
  6570  	target := &ret
  6571  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6572  		return nil, err
  6573  	}
  6574  	return ret, nil
  6575  }
  6576  
  6577  type ProjectsLocationsInstancesStartCall struct {
  6578  	s                    *Service
  6579  	name                 string
  6580  	startinstancerequest *StartInstanceRequest
  6581  	urlParams_           gensupport.URLParams
  6582  	ctx_                 context.Context
  6583  	header_              http.Header
  6584  }
  6585  
  6586  // Start: Starts a notebook instance.
  6587  //
  6588  //   - name: Format:
  6589  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6590  func (r *ProjectsLocationsInstancesService) Start(name string, startinstancerequest *StartInstanceRequest) *ProjectsLocationsInstancesStartCall {
  6591  	c := &ProjectsLocationsInstancesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6592  	c.name = name
  6593  	c.startinstancerequest = startinstancerequest
  6594  	return c
  6595  }
  6596  
  6597  // Fields allows partial responses to be retrieved. See
  6598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6599  // details.
  6600  func (c *ProjectsLocationsInstancesStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesStartCall {
  6601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6602  	return c
  6603  }
  6604  
  6605  // Context sets the context to be used in this call's Do method.
  6606  func (c *ProjectsLocationsInstancesStartCall) Context(ctx context.Context) *ProjectsLocationsInstancesStartCall {
  6607  	c.ctx_ = ctx
  6608  	return c
  6609  }
  6610  
  6611  // Header returns a http.Header that can be modified by the caller to add
  6612  // headers to the request.
  6613  func (c *ProjectsLocationsInstancesStartCall) Header() http.Header {
  6614  	if c.header_ == nil {
  6615  		c.header_ = make(http.Header)
  6616  	}
  6617  	return c.header_
  6618  }
  6619  
  6620  func (c *ProjectsLocationsInstancesStartCall) doRequest(alt string) (*http.Response, error) {
  6621  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6622  	var body io.Reader = nil
  6623  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startinstancerequest)
  6624  	if err != nil {
  6625  		return nil, err
  6626  	}
  6627  	c.urlParams_.Set("alt", alt)
  6628  	c.urlParams_.Set("prettyPrint", "false")
  6629  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
  6630  	urls += "?" + c.urlParams_.Encode()
  6631  	req, err := http.NewRequest("POST", urls, body)
  6632  	if err != nil {
  6633  		return nil, err
  6634  	}
  6635  	req.Header = reqHeaders
  6636  	googleapi.Expand(req.URL, map[string]string{
  6637  		"name": c.name,
  6638  	})
  6639  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6640  }
  6641  
  6642  // Do executes the "notebooks.projects.locations.instances.start" call.
  6643  // Any non-2xx status code is an error. Response headers are in either
  6644  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6645  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6646  // whether the returned error was because http.StatusNotModified was returned.
  6647  func (c *ProjectsLocationsInstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6648  	gensupport.SetOptions(c.urlParams_, opts...)
  6649  	res, err := c.doRequest("json")
  6650  	if res != nil && res.StatusCode == http.StatusNotModified {
  6651  		if res.Body != nil {
  6652  			res.Body.Close()
  6653  		}
  6654  		return nil, gensupport.WrapError(&googleapi.Error{
  6655  			Code:   res.StatusCode,
  6656  			Header: res.Header,
  6657  		})
  6658  	}
  6659  	if err != nil {
  6660  		return nil, err
  6661  	}
  6662  	defer googleapi.CloseBody(res)
  6663  	if err := googleapi.CheckResponse(res); err != nil {
  6664  		return nil, gensupport.WrapError(err)
  6665  	}
  6666  	ret := &Operation{
  6667  		ServerResponse: googleapi.ServerResponse{
  6668  			Header:         res.Header,
  6669  			HTTPStatusCode: res.StatusCode,
  6670  		},
  6671  	}
  6672  	target := &ret
  6673  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6674  		return nil, err
  6675  	}
  6676  	return ret, nil
  6677  }
  6678  
  6679  type ProjectsLocationsInstancesStopCall struct {
  6680  	s                   *Service
  6681  	name                string
  6682  	stopinstancerequest *StopInstanceRequest
  6683  	urlParams_          gensupport.URLParams
  6684  	ctx_                context.Context
  6685  	header_             http.Header
  6686  }
  6687  
  6688  // Stop: Stops a notebook instance.
  6689  //
  6690  //   - name: Format:
  6691  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6692  func (r *ProjectsLocationsInstancesService) Stop(name string, stopinstancerequest *StopInstanceRequest) *ProjectsLocationsInstancesStopCall {
  6693  	c := &ProjectsLocationsInstancesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6694  	c.name = name
  6695  	c.stopinstancerequest = stopinstancerequest
  6696  	return c
  6697  }
  6698  
  6699  // Fields allows partial responses to be retrieved. See
  6700  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6701  // details.
  6702  func (c *ProjectsLocationsInstancesStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesStopCall {
  6703  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6704  	return c
  6705  }
  6706  
  6707  // Context sets the context to be used in this call's Do method.
  6708  func (c *ProjectsLocationsInstancesStopCall) Context(ctx context.Context) *ProjectsLocationsInstancesStopCall {
  6709  	c.ctx_ = ctx
  6710  	return c
  6711  }
  6712  
  6713  // Header returns a http.Header that can be modified by the caller to add
  6714  // headers to the request.
  6715  func (c *ProjectsLocationsInstancesStopCall) Header() http.Header {
  6716  	if c.header_ == nil {
  6717  		c.header_ = make(http.Header)
  6718  	}
  6719  	return c.header_
  6720  }
  6721  
  6722  func (c *ProjectsLocationsInstancesStopCall) doRequest(alt string) (*http.Response, error) {
  6723  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6724  	var body io.Reader = nil
  6725  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.stopinstancerequest)
  6726  	if err != nil {
  6727  		return nil, err
  6728  	}
  6729  	c.urlParams_.Set("alt", alt)
  6730  	c.urlParams_.Set("prettyPrint", "false")
  6731  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
  6732  	urls += "?" + c.urlParams_.Encode()
  6733  	req, err := http.NewRequest("POST", urls, body)
  6734  	if err != nil {
  6735  		return nil, err
  6736  	}
  6737  	req.Header = reqHeaders
  6738  	googleapi.Expand(req.URL, map[string]string{
  6739  		"name": c.name,
  6740  	})
  6741  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6742  }
  6743  
  6744  // Do executes the "notebooks.projects.locations.instances.stop" call.
  6745  // Any non-2xx status code is an error. Response headers are in either
  6746  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6747  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6748  // whether the returned error was because http.StatusNotModified was returned.
  6749  func (c *ProjectsLocationsInstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6750  	gensupport.SetOptions(c.urlParams_, opts...)
  6751  	res, err := c.doRequest("json")
  6752  	if res != nil && res.StatusCode == http.StatusNotModified {
  6753  		if res.Body != nil {
  6754  			res.Body.Close()
  6755  		}
  6756  		return nil, gensupport.WrapError(&googleapi.Error{
  6757  			Code:   res.StatusCode,
  6758  			Header: res.Header,
  6759  		})
  6760  	}
  6761  	if err != nil {
  6762  		return nil, err
  6763  	}
  6764  	defer googleapi.CloseBody(res)
  6765  	if err := googleapi.CheckResponse(res); err != nil {
  6766  		return nil, gensupport.WrapError(err)
  6767  	}
  6768  	ret := &Operation{
  6769  		ServerResponse: googleapi.ServerResponse{
  6770  			Header:         res.Header,
  6771  			HTTPStatusCode: res.StatusCode,
  6772  		},
  6773  	}
  6774  	target := &ret
  6775  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6776  		return nil, err
  6777  	}
  6778  	return ret, nil
  6779  }
  6780  
  6781  type ProjectsLocationsInstancesTestIamPermissionsCall struct {
  6782  	s                         *Service
  6783  	resource                  string
  6784  	testiampermissionsrequest *TestIamPermissionsRequest
  6785  	urlParams_                gensupport.URLParams
  6786  	ctx_                      context.Context
  6787  	header_                   http.Header
  6788  }
  6789  
  6790  // TestIamPermissions: Returns permissions that a caller has on the specified
  6791  // resource. If the resource does not exist, this will return an empty set of
  6792  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  6793  // used for building permission-aware UIs and command-line tools, not for
  6794  // authorization checking. This operation may "fail open" without warning.
  6795  //
  6796  //   - resource: REQUIRED: The resource for which the policy detail is being
  6797  //     requested. See Resource names
  6798  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  6799  //     value for this field.
  6800  func (r *ProjectsLocationsInstancesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsInstancesTestIamPermissionsCall {
  6801  	c := &ProjectsLocationsInstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6802  	c.resource = resource
  6803  	c.testiampermissionsrequest = testiampermissionsrequest
  6804  	return c
  6805  }
  6806  
  6807  // Fields allows partial responses to be retrieved. See
  6808  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6809  // details.
  6810  func (c *ProjectsLocationsInstancesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesTestIamPermissionsCall {
  6811  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6812  	return c
  6813  }
  6814  
  6815  // Context sets the context to be used in this call's Do method.
  6816  func (c *ProjectsLocationsInstancesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsInstancesTestIamPermissionsCall {
  6817  	c.ctx_ = ctx
  6818  	return c
  6819  }
  6820  
  6821  // Header returns a http.Header that can be modified by the caller to add
  6822  // headers to the request.
  6823  func (c *ProjectsLocationsInstancesTestIamPermissionsCall) Header() http.Header {
  6824  	if c.header_ == nil {
  6825  		c.header_ = make(http.Header)
  6826  	}
  6827  	return c.header_
  6828  }
  6829  
  6830  func (c *ProjectsLocationsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  6831  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6832  	var body io.Reader = nil
  6833  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  6834  	if err != nil {
  6835  		return nil, err
  6836  	}
  6837  	c.urlParams_.Set("alt", alt)
  6838  	c.urlParams_.Set("prettyPrint", "false")
  6839  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  6840  	urls += "?" + c.urlParams_.Encode()
  6841  	req, err := http.NewRequest("POST", urls, body)
  6842  	if err != nil {
  6843  		return nil, err
  6844  	}
  6845  	req.Header = reqHeaders
  6846  	googleapi.Expand(req.URL, map[string]string{
  6847  		"resource": c.resource,
  6848  	})
  6849  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6850  }
  6851  
  6852  // Do executes the "notebooks.projects.locations.instances.testIamPermissions" call.
  6853  // Any non-2xx status code is an error. Response headers are in either
  6854  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  6855  // returned at all) in error.(*googleapi.Error).Header. Use
  6856  // googleapi.IsNotModified to check whether the returned error was because
  6857  // http.StatusNotModified was returned.
  6858  func (c *ProjectsLocationsInstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  6859  	gensupport.SetOptions(c.urlParams_, opts...)
  6860  	res, err := c.doRequest("json")
  6861  	if res != nil && res.StatusCode == http.StatusNotModified {
  6862  		if res.Body != nil {
  6863  			res.Body.Close()
  6864  		}
  6865  		return nil, gensupport.WrapError(&googleapi.Error{
  6866  			Code:   res.StatusCode,
  6867  			Header: res.Header,
  6868  		})
  6869  	}
  6870  	if err != nil {
  6871  		return nil, err
  6872  	}
  6873  	defer googleapi.CloseBody(res)
  6874  	if err := googleapi.CheckResponse(res); err != nil {
  6875  		return nil, gensupport.WrapError(err)
  6876  	}
  6877  	ret := &TestIamPermissionsResponse{
  6878  		ServerResponse: googleapi.ServerResponse{
  6879  			Header:         res.Header,
  6880  			HTTPStatusCode: res.StatusCode,
  6881  		},
  6882  	}
  6883  	target := &ret
  6884  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6885  		return nil, err
  6886  	}
  6887  	return ret, nil
  6888  }
  6889  
  6890  type ProjectsLocationsInstancesUpdateConfigCall struct {
  6891  	s                           *Service
  6892  	name                        string
  6893  	updateinstanceconfigrequest *UpdateInstanceConfigRequest
  6894  	urlParams_                  gensupport.URLParams
  6895  	ctx_                        context.Context
  6896  	header_                     http.Header
  6897  }
  6898  
  6899  // UpdateConfig: Update Notebook Instance configurations.
  6900  //
  6901  //   - name: Format:
  6902  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  6903  func (r *ProjectsLocationsInstancesService) UpdateConfig(name string, updateinstanceconfigrequest *UpdateInstanceConfigRequest) *ProjectsLocationsInstancesUpdateConfigCall {
  6904  	c := &ProjectsLocationsInstancesUpdateConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6905  	c.name = name
  6906  	c.updateinstanceconfigrequest = updateinstanceconfigrequest
  6907  	return c
  6908  }
  6909  
  6910  // Fields allows partial responses to be retrieved. See
  6911  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6912  // details.
  6913  func (c *ProjectsLocationsInstancesUpdateConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpdateConfigCall {
  6914  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6915  	return c
  6916  }
  6917  
  6918  // Context sets the context to be used in this call's Do method.
  6919  func (c *ProjectsLocationsInstancesUpdateConfigCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpdateConfigCall {
  6920  	c.ctx_ = ctx
  6921  	return c
  6922  }
  6923  
  6924  // Header returns a http.Header that can be modified by the caller to add
  6925  // headers to the request.
  6926  func (c *ProjectsLocationsInstancesUpdateConfigCall) Header() http.Header {
  6927  	if c.header_ == nil {
  6928  		c.header_ = make(http.Header)
  6929  	}
  6930  	return c.header_
  6931  }
  6932  
  6933  func (c *ProjectsLocationsInstancesUpdateConfigCall) doRequest(alt string) (*http.Response, error) {
  6934  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6935  	var body io.Reader = nil
  6936  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateinstanceconfigrequest)
  6937  	if err != nil {
  6938  		return nil, err
  6939  	}
  6940  	c.urlParams_.Set("alt", alt)
  6941  	c.urlParams_.Set("prettyPrint", "false")
  6942  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:updateConfig")
  6943  	urls += "?" + c.urlParams_.Encode()
  6944  	req, err := http.NewRequest("PATCH", urls, body)
  6945  	if err != nil {
  6946  		return nil, err
  6947  	}
  6948  	req.Header = reqHeaders
  6949  	googleapi.Expand(req.URL, map[string]string{
  6950  		"name": c.name,
  6951  	})
  6952  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6953  }
  6954  
  6955  // Do executes the "notebooks.projects.locations.instances.updateConfig" call.
  6956  // Any non-2xx status code is an error. Response headers are in either
  6957  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6958  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6959  // whether the returned error was because http.StatusNotModified was returned.
  6960  func (c *ProjectsLocationsInstancesUpdateConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6961  	gensupport.SetOptions(c.urlParams_, opts...)
  6962  	res, err := c.doRequest("json")
  6963  	if res != nil && res.StatusCode == http.StatusNotModified {
  6964  		if res.Body != nil {
  6965  			res.Body.Close()
  6966  		}
  6967  		return nil, gensupport.WrapError(&googleapi.Error{
  6968  			Code:   res.StatusCode,
  6969  			Header: res.Header,
  6970  		})
  6971  	}
  6972  	if err != nil {
  6973  		return nil, err
  6974  	}
  6975  	defer googleapi.CloseBody(res)
  6976  	if err := googleapi.CheckResponse(res); err != nil {
  6977  		return nil, gensupport.WrapError(err)
  6978  	}
  6979  	ret := &Operation{
  6980  		ServerResponse: googleapi.ServerResponse{
  6981  			Header:         res.Header,
  6982  			HTTPStatusCode: res.StatusCode,
  6983  		},
  6984  	}
  6985  	target := &ret
  6986  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6987  		return nil, err
  6988  	}
  6989  	return ret, nil
  6990  }
  6991  
  6992  type ProjectsLocationsInstancesUpdateMetadataItemsCall struct {
  6993  	s                                  *Service
  6994  	name                               string
  6995  	updateinstancemetadataitemsrequest *UpdateInstanceMetadataItemsRequest
  6996  	urlParams_                         gensupport.URLParams
  6997  	ctx_                               context.Context
  6998  	header_                            http.Header
  6999  }
  7000  
  7001  // UpdateMetadataItems: Add/update metadata items for an instance.
  7002  //
  7003  //   - name: Format:
  7004  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  7005  func (r *ProjectsLocationsInstancesService) UpdateMetadataItems(name string, updateinstancemetadataitemsrequest *UpdateInstanceMetadataItemsRequest) *ProjectsLocationsInstancesUpdateMetadataItemsCall {
  7006  	c := &ProjectsLocationsInstancesUpdateMetadataItemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7007  	c.name = name
  7008  	c.updateinstancemetadataitemsrequest = updateinstancemetadataitemsrequest
  7009  	return c
  7010  }
  7011  
  7012  // Fields allows partial responses to be retrieved. See
  7013  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7014  // details.
  7015  func (c *ProjectsLocationsInstancesUpdateMetadataItemsCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpdateMetadataItemsCall {
  7016  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7017  	return c
  7018  }
  7019  
  7020  // Context sets the context to be used in this call's Do method.
  7021  func (c *ProjectsLocationsInstancesUpdateMetadataItemsCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpdateMetadataItemsCall {
  7022  	c.ctx_ = ctx
  7023  	return c
  7024  }
  7025  
  7026  // Header returns a http.Header that can be modified by the caller to add
  7027  // headers to the request.
  7028  func (c *ProjectsLocationsInstancesUpdateMetadataItemsCall) Header() http.Header {
  7029  	if c.header_ == nil {
  7030  		c.header_ = make(http.Header)
  7031  	}
  7032  	return c.header_
  7033  }
  7034  
  7035  func (c *ProjectsLocationsInstancesUpdateMetadataItemsCall) doRequest(alt string) (*http.Response, error) {
  7036  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7037  	var body io.Reader = nil
  7038  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateinstancemetadataitemsrequest)
  7039  	if err != nil {
  7040  		return nil, err
  7041  	}
  7042  	c.urlParams_.Set("alt", alt)
  7043  	c.urlParams_.Set("prettyPrint", "false")
  7044  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:updateMetadataItems")
  7045  	urls += "?" + c.urlParams_.Encode()
  7046  	req, err := http.NewRequest("PATCH", urls, body)
  7047  	if err != nil {
  7048  		return nil, err
  7049  	}
  7050  	req.Header = reqHeaders
  7051  	googleapi.Expand(req.URL, map[string]string{
  7052  		"name": c.name,
  7053  	})
  7054  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7055  }
  7056  
  7057  // Do executes the "notebooks.projects.locations.instances.updateMetadataItems" call.
  7058  // Any non-2xx status code is an error. Response headers are in either
  7059  // *UpdateInstanceMetadataItemsResponse.ServerResponse.Header or (if a response
  7060  // was returned at all) in error.(*googleapi.Error).Header. Use
  7061  // googleapi.IsNotModified to check whether the returned error was because
  7062  // http.StatusNotModified was returned.
  7063  func (c *ProjectsLocationsInstancesUpdateMetadataItemsCall) Do(opts ...googleapi.CallOption) (*UpdateInstanceMetadataItemsResponse, error) {
  7064  	gensupport.SetOptions(c.urlParams_, opts...)
  7065  	res, err := c.doRequest("json")
  7066  	if res != nil && res.StatusCode == http.StatusNotModified {
  7067  		if res.Body != nil {
  7068  			res.Body.Close()
  7069  		}
  7070  		return nil, gensupport.WrapError(&googleapi.Error{
  7071  			Code:   res.StatusCode,
  7072  			Header: res.Header,
  7073  		})
  7074  	}
  7075  	if err != nil {
  7076  		return nil, err
  7077  	}
  7078  	defer googleapi.CloseBody(res)
  7079  	if err := googleapi.CheckResponse(res); err != nil {
  7080  		return nil, gensupport.WrapError(err)
  7081  	}
  7082  	ret := &UpdateInstanceMetadataItemsResponse{
  7083  		ServerResponse: googleapi.ServerResponse{
  7084  			Header:         res.Header,
  7085  			HTTPStatusCode: res.StatusCode,
  7086  		},
  7087  	}
  7088  	target := &ret
  7089  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7090  		return nil, err
  7091  	}
  7092  	return ret, nil
  7093  }
  7094  
  7095  type ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall struct {
  7096  	s                                   *Service
  7097  	name                                string
  7098  	updateshieldedinstanceconfigrequest *UpdateShieldedInstanceConfigRequest
  7099  	urlParams_                          gensupport.URLParams
  7100  	ctx_                                context.Context
  7101  	header_                             http.Header
  7102  }
  7103  
  7104  // UpdateShieldedInstanceConfig: Updates the Shielded instance configuration of
  7105  // a single Instance.
  7106  //
  7107  //   - name: Format:
  7108  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  7109  func (r *ProjectsLocationsInstancesService) UpdateShieldedInstanceConfig(name string, updateshieldedinstanceconfigrequest *UpdateShieldedInstanceConfigRequest) *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall {
  7110  	c := &ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7111  	c.name = name
  7112  	c.updateshieldedinstanceconfigrequest = updateshieldedinstanceconfigrequest
  7113  	return c
  7114  }
  7115  
  7116  // Fields allows partial responses to be retrieved. See
  7117  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7118  // details.
  7119  func (c *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall {
  7120  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7121  	return c
  7122  }
  7123  
  7124  // Context sets the context to be used in this call's Do method.
  7125  func (c *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall {
  7126  	c.ctx_ = ctx
  7127  	return c
  7128  }
  7129  
  7130  // Header returns a http.Header that can be modified by the caller to add
  7131  // headers to the request.
  7132  func (c *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall) Header() http.Header {
  7133  	if c.header_ == nil {
  7134  		c.header_ = make(http.Header)
  7135  	}
  7136  	return c.header_
  7137  }
  7138  
  7139  func (c *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
  7140  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7141  	var body io.Reader = nil
  7142  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateshieldedinstanceconfigrequest)
  7143  	if err != nil {
  7144  		return nil, err
  7145  	}
  7146  	c.urlParams_.Set("alt", alt)
  7147  	c.urlParams_.Set("prettyPrint", "false")
  7148  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:updateShieldedInstanceConfig")
  7149  	urls += "?" + c.urlParams_.Encode()
  7150  	req, err := http.NewRequest("PATCH", urls, body)
  7151  	if err != nil {
  7152  		return nil, err
  7153  	}
  7154  	req.Header = reqHeaders
  7155  	googleapi.Expand(req.URL, map[string]string{
  7156  		"name": c.name,
  7157  	})
  7158  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7159  }
  7160  
  7161  // Do executes the "notebooks.projects.locations.instances.updateShieldedInstanceConfig" call.
  7162  // Any non-2xx status code is an error. Response headers are in either
  7163  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7164  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7165  // whether the returned error was because http.StatusNotModified was returned.
  7166  func (c *ProjectsLocationsInstancesUpdateShieldedInstanceConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7167  	gensupport.SetOptions(c.urlParams_, opts...)
  7168  	res, err := c.doRequest("json")
  7169  	if res != nil && res.StatusCode == http.StatusNotModified {
  7170  		if res.Body != nil {
  7171  			res.Body.Close()
  7172  		}
  7173  		return nil, gensupport.WrapError(&googleapi.Error{
  7174  			Code:   res.StatusCode,
  7175  			Header: res.Header,
  7176  		})
  7177  	}
  7178  	if err != nil {
  7179  		return nil, err
  7180  	}
  7181  	defer googleapi.CloseBody(res)
  7182  	if err := googleapi.CheckResponse(res); err != nil {
  7183  		return nil, gensupport.WrapError(err)
  7184  	}
  7185  	ret := &Operation{
  7186  		ServerResponse: googleapi.ServerResponse{
  7187  			Header:         res.Header,
  7188  			HTTPStatusCode: res.StatusCode,
  7189  		},
  7190  	}
  7191  	target := &ret
  7192  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7193  		return nil, err
  7194  	}
  7195  	return ret, nil
  7196  }
  7197  
  7198  type ProjectsLocationsInstancesUpgradeCall struct {
  7199  	s                      *Service
  7200  	name                   string
  7201  	upgradeinstancerequest *UpgradeInstanceRequest
  7202  	urlParams_             gensupport.URLParams
  7203  	ctx_                   context.Context
  7204  	header_                http.Header
  7205  }
  7206  
  7207  // Upgrade: Upgrades a notebook instance to the latest version.
  7208  //
  7209  //   - name: Format:
  7210  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  7211  func (r *ProjectsLocationsInstancesService) Upgrade(name string, upgradeinstancerequest *UpgradeInstanceRequest) *ProjectsLocationsInstancesUpgradeCall {
  7212  	c := &ProjectsLocationsInstancesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7213  	c.name = name
  7214  	c.upgradeinstancerequest = upgradeinstancerequest
  7215  	return c
  7216  }
  7217  
  7218  // Fields allows partial responses to be retrieved. See
  7219  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7220  // details.
  7221  func (c *ProjectsLocationsInstancesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpgradeCall {
  7222  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7223  	return c
  7224  }
  7225  
  7226  // Context sets the context to be used in this call's Do method.
  7227  func (c *ProjectsLocationsInstancesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpgradeCall {
  7228  	c.ctx_ = ctx
  7229  	return c
  7230  }
  7231  
  7232  // Header returns a http.Header that can be modified by the caller to add
  7233  // headers to the request.
  7234  func (c *ProjectsLocationsInstancesUpgradeCall) Header() http.Header {
  7235  	if c.header_ == nil {
  7236  		c.header_ = make(http.Header)
  7237  	}
  7238  	return c.header_
  7239  }
  7240  
  7241  func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) {
  7242  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7243  	var body io.Reader = nil
  7244  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.upgradeinstancerequest)
  7245  	if err != nil {
  7246  		return nil, err
  7247  	}
  7248  	c.urlParams_.Set("alt", alt)
  7249  	c.urlParams_.Set("prettyPrint", "false")
  7250  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgrade")
  7251  	urls += "?" + c.urlParams_.Encode()
  7252  	req, err := http.NewRequest("POST", urls, body)
  7253  	if err != nil {
  7254  		return nil, err
  7255  	}
  7256  	req.Header = reqHeaders
  7257  	googleapi.Expand(req.URL, map[string]string{
  7258  		"name": c.name,
  7259  	})
  7260  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7261  }
  7262  
  7263  // Do executes the "notebooks.projects.locations.instances.upgrade" call.
  7264  // Any non-2xx status code is an error. Response headers are in either
  7265  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7266  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7267  // whether the returned error was because http.StatusNotModified was returned.
  7268  func (c *ProjectsLocationsInstancesUpgradeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7269  	gensupport.SetOptions(c.urlParams_, opts...)
  7270  	res, err := c.doRequest("json")
  7271  	if res != nil && res.StatusCode == http.StatusNotModified {
  7272  		if res.Body != nil {
  7273  			res.Body.Close()
  7274  		}
  7275  		return nil, gensupport.WrapError(&googleapi.Error{
  7276  			Code:   res.StatusCode,
  7277  			Header: res.Header,
  7278  		})
  7279  	}
  7280  	if err != nil {
  7281  		return nil, err
  7282  	}
  7283  	defer googleapi.CloseBody(res)
  7284  	if err := googleapi.CheckResponse(res); err != nil {
  7285  		return nil, gensupport.WrapError(err)
  7286  	}
  7287  	ret := &Operation{
  7288  		ServerResponse: googleapi.ServerResponse{
  7289  			Header:         res.Header,
  7290  			HTTPStatusCode: res.StatusCode,
  7291  		},
  7292  	}
  7293  	target := &ret
  7294  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7295  		return nil, err
  7296  	}
  7297  	return ret, nil
  7298  }
  7299  
  7300  type ProjectsLocationsInstancesUpgradeInternalCall struct {
  7301  	s                              *Service
  7302  	name                           string
  7303  	upgradeinstanceinternalrequest *UpgradeInstanceInternalRequest
  7304  	urlParams_                     gensupport.URLParams
  7305  	ctx_                           context.Context
  7306  	header_                        http.Header
  7307  }
  7308  
  7309  // UpgradeInternal: Allows notebook instances to call this endpoint to upgrade
  7310  // themselves. Do not use this method directly.
  7311  //
  7312  //   - name: Format:
  7313  //     `projects/{project_id}/locations/{location}/instances/{instance_id}`.
  7314  func (r *ProjectsLocationsInstancesService) UpgradeInternal(name string, upgradeinstanceinternalrequest *UpgradeInstanceInternalRequest) *ProjectsLocationsInstancesUpgradeInternalCall {
  7315  	c := &ProjectsLocationsInstancesUpgradeInternalCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7316  	c.name = name
  7317  	c.upgradeinstanceinternalrequest = upgradeinstanceinternalrequest
  7318  	return c
  7319  }
  7320  
  7321  // Fields allows partial responses to be retrieved. See
  7322  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7323  // details.
  7324  func (c *ProjectsLocationsInstancesUpgradeInternalCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpgradeInternalCall {
  7325  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7326  	return c
  7327  }
  7328  
  7329  // Context sets the context to be used in this call's Do method.
  7330  func (c *ProjectsLocationsInstancesUpgradeInternalCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpgradeInternalCall {
  7331  	c.ctx_ = ctx
  7332  	return c
  7333  }
  7334  
  7335  // Header returns a http.Header that can be modified by the caller to add
  7336  // headers to the request.
  7337  func (c *ProjectsLocationsInstancesUpgradeInternalCall) Header() http.Header {
  7338  	if c.header_ == nil {
  7339  		c.header_ = make(http.Header)
  7340  	}
  7341  	return c.header_
  7342  }
  7343  
  7344  func (c *ProjectsLocationsInstancesUpgradeInternalCall) doRequest(alt string) (*http.Response, error) {
  7345  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7346  	var body io.Reader = nil
  7347  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.upgradeinstanceinternalrequest)
  7348  	if err != nil {
  7349  		return nil, err
  7350  	}
  7351  	c.urlParams_.Set("alt", alt)
  7352  	c.urlParams_.Set("prettyPrint", "false")
  7353  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgradeInternal")
  7354  	urls += "?" + c.urlParams_.Encode()
  7355  	req, err := http.NewRequest("POST", urls, body)
  7356  	if err != nil {
  7357  		return nil, err
  7358  	}
  7359  	req.Header = reqHeaders
  7360  	googleapi.Expand(req.URL, map[string]string{
  7361  		"name": c.name,
  7362  	})
  7363  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7364  }
  7365  
  7366  // Do executes the "notebooks.projects.locations.instances.upgradeInternal" call.
  7367  // Any non-2xx status code is an error. Response headers are in either
  7368  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7369  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7370  // whether the returned error was because http.StatusNotModified was returned.
  7371  func (c *ProjectsLocationsInstancesUpgradeInternalCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7372  	gensupport.SetOptions(c.urlParams_, opts...)
  7373  	res, err := c.doRequest("json")
  7374  	if res != nil && res.StatusCode == http.StatusNotModified {
  7375  		if res.Body != nil {
  7376  			res.Body.Close()
  7377  		}
  7378  		return nil, gensupport.WrapError(&googleapi.Error{
  7379  			Code:   res.StatusCode,
  7380  			Header: res.Header,
  7381  		})
  7382  	}
  7383  	if err != nil {
  7384  		return nil, err
  7385  	}
  7386  	defer googleapi.CloseBody(res)
  7387  	if err := googleapi.CheckResponse(res); err != nil {
  7388  		return nil, gensupport.WrapError(err)
  7389  	}
  7390  	ret := &Operation{
  7391  		ServerResponse: googleapi.ServerResponse{
  7392  			Header:         res.Header,
  7393  			HTTPStatusCode: res.StatusCode,
  7394  		},
  7395  	}
  7396  	target := &ret
  7397  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7398  		return nil, err
  7399  	}
  7400  	return ret, nil
  7401  }
  7402  
  7403  type ProjectsLocationsOperationsCancelCall struct {
  7404  	s                      *Service
  7405  	name                   string
  7406  	canceloperationrequest *CancelOperationRequest
  7407  	urlParams_             gensupport.URLParams
  7408  	ctx_                   context.Context
  7409  	header_                http.Header
  7410  }
  7411  
  7412  // Cancel: Starts asynchronous cancellation on a long-running operation. The
  7413  // server makes a best effort to cancel the operation, but success is not
  7414  // guaranteed. If the server doesn't support this method, it returns
  7415  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
  7416  // other methods to check whether the cancellation succeeded or whether the
  7417  // operation completed despite cancellation. On successful cancellation, the
  7418  // operation is not deleted; instead, it becomes an operation with an
  7419  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
  7420  // `Code.CANCELLED`.
  7421  //
  7422  // - name: The name of the operation resource to be cancelled.
  7423  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
  7424  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7425  	c.name = name
  7426  	c.canceloperationrequest = canceloperationrequest
  7427  	return c
  7428  }
  7429  
  7430  // Fields allows partial responses to be retrieved. See
  7431  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7432  // details.
  7433  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
  7434  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7435  	return c
  7436  }
  7437  
  7438  // Context sets the context to be used in this call's Do method.
  7439  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
  7440  	c.ctx_ = ctx
  7441  	return c
  7442  }
  7443  
  7444  // Header returns a http.Header that can be modified by the caller to add
  7445  // headers to the request.
  7446  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
  7447  	if c.header_ == nil {
  7448  		c.header_ = make(http.Header)
  7449  	}
  7450  	return c.header_
  7451  }
  7452  
  7453  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  7454  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7455  	var body io.Reader = nil
  7456  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
  7457  	if err != nil {
  7458  		return nil, err
  7459  	}
  7460  	c.urlParams_.Set("alt", alt)
  7461  	c.urlParams_.Set("prettyPrint", "false")
  7462  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
  7463  	urls += "?" + c.urlParams_.Encode()
  7464  	req, err := http.NewRequest("POST", urls, body)
  7465  	if err != nil {
  7466  		return nil, err
  7467  	}
  7468  	req.Header = reqHeaders
  7469  	googleapi.Expand(req.URL, map[string]string{
  7470  		"name": c.name,
  7471  	})
  7472  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7473  }
  7474  
  7475  // Do executes the "notebooks.projects.locations.operations.cancel" call.
  7476  // Any non-2xx status code is an error. Response headers are in either
  7477  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7478  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7479  // whether the returned error was because http.StatusNotModified was returned.
  7480  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7481  	gensupport.SetOptions(c.urlParams_, opts...)
  7482  	res, err := c.doRequest("json")
  7483  	if res != nil && res.StatusCode == http.StatusNotModified {
  7484  		if res.Body != nil {
  7485  			res.Body.Close()
  7486  		}
  7487  		return nil, gensupport.WrapError(&googleapi.Error{
  7488  			Code:   res.StatusCode,
  7489  			Header: res.Header,
  7490  		})
  7491  	}
  7492  	if err != nil {
  7493  		return nil, err
  7494  	}
  7495  	defer googleapi.CloseBody(res)
  7496  	if err := googleapi.CheckResponse(res); err != nil {
  7497  		return nil, gensupport.WrapError(err)
  7498  	}
  7499  	ret := &Empty{
  7500  		ServerResponse: googleapi.ServerResponse{
  7501  			Header:         res.Header,
  7502  			HTTPStatusCode: res.StatusCode,
  7503  		},
  7504  	}
  7505  	target := &ret
  7506  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7507  		return nil, err
  7508  	}
  7509  	return ret, nil
  7510  }
  7511  
  7512  type ProjectsLocationsOperationsDeleteCall struct {
  7513  	s          *Service
  7514  	name       string
  7515  	urlParams_ gensupport.URLParams
  7516  	ctx_       context.Context
  7517  	header_    http.Header
  7518  }
  7519  
  7520  // Delete: Deletes a long-running operation. This method indicates that the
  7521  // client is no longer interested in the operation result. It does not cancel
  7522  // the operation. If the server doesn't support this method, it returns
  7523  // `google.rpc.Code.UNIMPLEMENTED`.
  7524  //
  7525  // - name: The name of the operation resource to be deleted.
  7526  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
  7527  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7528  	c.name = name
  7529  	return c
  7530  }
  7531  
  7532  // Fields allows partial responses to be retrieved. See
  7533  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7534  // details.
  7535  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
  7536  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7537  	return c
  7538  }
  7539  
  7540  // Context sets the context to be used in this call's Do method.
  7541  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
  7542  	c.ctx_ = ctx
  7543  	return c
  7544  }
  7545  
  7546  // Header returns a http.Header that can be modified by the caller to add
  7547  // headers to the request.
  7548  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
  7549  	if c.header_ == nil {
  7550  		c.header_ = make(http.Header)
  7551  	}
  7552  	return c.header_
  7553  }
  7554  
  7555  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7556  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7557  	var body io.Reader = nil
  7558  	c.urlParams_.Set("alt", alt)
  7559  	c.urlParams_.Set("prettyPrint", "false")
  7560  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7561  	urls += "?" + c.urlParams_.Encode()
  7562  	req, err := http.NewRequest("DELETE", urls, body)
  7563  	if err != nil {
  7564  		return nil, err
  7565  	}
  7566  	req.Header = reqHeaders
  7567  	googleapi.Expand(req.URL, map[string]string{
  7568  		"name": c.name,
  7569  	})
  7570  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7571  }
  7572  
  7573  // Do executes the "notebooks.projects.locations.operations.delete" call.
  7574  // Any non-2xx status code is an error. Response headers are in either
  7575  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7576  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7577  // whether the returned error was because http.StatusNotModified was returned.
  7578  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7579  	gensupport.SetOptions(c.urlParams_, opts...)
  7580  	res, err := c.doRequest("json")
  7581  	if res != nil && res.StatusCode == http.StatusNotModified {
  7582  		if res.Body != nil {
  7583  			res.Body.Close()
  7584  		}
  7585  		return nil, gensupport.WrapError(&googleapi.Error{
  7586  			Code:   res.StatusCode,
  7587  			Header: res.Header,
  7588  		})
  7589  	}
  7590  	if err != nil {
  7591  		return nil, err
  7592  	}
  7593  	defer googleapi.CloseBody(res)
  7594  	if err := googleapi.CheckResponse(res); err != nil {
  7595  		return nil, gensupport.WrapError(err)
  7596  	}
  7597  	ret := &Empty{
  7598  		ServerResponse: googleapi.ServerResponse{
  7599  			Header:         res.Header,
  7600  			HTTPStatusCode: res.StatusCode,
  7601  		},
  7602  	}
  7603  	target := &ret
  7604  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7605  		return nil, err
  7606  	}
  7607  	return ret, nil
  7608  }
  7609  
  7610  type ProjectsLocationsOperationsGetCall struct {
  7611  	s            *Service
  7612  	name         string
  7613  	urlParams_   gensupport.URLParams
  7614  	ifNoneMatch_ string
  7615  	ctx_         context.Context
  7616  	header_      http.Header
  7617  }
  7618  
  7619  // Get: Gets the latest state of a long-running operation. Clients can use this
  7620  // method to poll the operation result at intervals as recommended by the API
  7621  // service.
  7622  //
  7623  // - name: The name of the operation resource.
  7624  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  7625  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7626  	c.name = name
  7627  	return c
  7628  }
  7629  
  7630  // Fields allows partial responses to be retrieved. See
  7631  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7632  // details.
  7633  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  7634  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7635  	return c
  7636  }
  7637  
  7638  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7639  // object's ETag matches the given value. This is useful for getting updates
  7640  // only after the object has changed since the last request.
  7641  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  7642  	c.ifNoneMatch_ = entityTag
  7643  	return c
  7644  }
  7645  
  7646  // Context sets the context to be used in this call's Do method.
  7647  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  7648  	c.ctx_ = ctx
  7649  	return c
  7650  }
  7651  
  7652  // Header returns a http.Header that can be modified by the caller to add
  7653  // headers to the request.
  7654  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  7655  	if c.header_ == nil {
  7656  		c.header_ = make(http.Header)
  7657  	}
  7658  	return c.header_
  7659  }
  7660  
  7661  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  7662  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7663  	if c.ifNoneMatch_ != "" {
  7664  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7665  	}
  7666  	var body io.Reader = nil
  7667  	c.urlParams_.Set("alt", alt)
  7668  	c.urlParams_.Set("prettyPrint", "false")
  7669  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7670  	urls += "?" + c.urlParams_.Encode()
  7671  	req, err := http.NewRequest("GET", urls, body)
  7672  	if err != nil {
  7673  		return nil, err
  7674  	}
  7675  	req.Header = reqHeaders
  7676  	googleapi.Expand(req.URL, map[string]string{
  7677  		"name": c.name,
  7678  	})
  7679  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7680  }
  7681  
  7682  // Do executes the "notebooks.projects.locations.operations.get" call.
  7683  // Any non-2xx status code is an error. Response headers are in either
  7684  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7685  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7686  // whether the returned error was because http.StatusNotModified was returned.
  7687  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7688  	gensupport.SetOptions(c.urlParams_, opts...)
  7689  	res, err := c.doRequest("json")
  7690  	if res != nil && res.StatusCode == http.StatusNotModified {
  7691  		if res.Body != nil {
  7692  			res.Body.Close()
  7693  		}
  7694  		return nil, gensupport.WrapError(&googleapi.Error{
  7695  			Code:   res.StatusCode,
  7696  			Header: res.Header,
  7697  		})
  7698  	}
  7699  	if err != nil {
  7700  		return nil, err
  7701  	}
  7702  	defer googleapi.CloseBody(res)
  7703  	if err := googleapi.CheckResponse(res); err != nil {
  7704  		return nil, gensupport.WrapError(err)
  7705  	}
  7706  	ret := &Operation{
  7707  		ServerResponse: googleapi.ServerResponse{
  7708  			Header:         res.Header,
  7709  			HTTPStatusCode: res.StatusCode,
  7710  		},
  7711  	}
  7712  	target := &ret
  7713  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7714  		return nil, err
  7715  	}
  7716  	return ret, nil
  7717  }
  7718  
  7719  type ProjectsLocationsOperationsListCall struct {
  7720  	s            *Service
  7721  	name         string
  7722  	urlParams_   gensupport.URLParams
  7723  	ifNoneMatch_ string
  7724  	ctx_         context.Context
  7725  	header_      http.Header
  7726  }
  7727  
  7728  // List: Lists operations that match the specified filter in the request. If
  7729  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
  7730  //
  7731  // - name: The name of the operation's parent resource.
  7732  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
  7733  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7734  	c.name = name
  7735  	return c
  7736  }
  7737  
  7738  // Filter sets the optional parameter "filter": The standard list filter.
  7739  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  7740  	c.urlParams_.Set("filter", filter)
  7741  	return c
  7742  }
  7743  
  7744  // PageSize sets the optional parameter "pageSize": The standard list page
  7745  // size.
  7746  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  7747  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7748  	return c
  7749  }
  7750  
  7751  // PageToken sets the optional parameter "pageToken": The standard list page
  7752  // token.
  7753  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  7754  	c.urlParams_.Set("pageToken", pageToken)
  7755  	return c
  7756  }
  7757  
  7758  // Fields allows partial responses to be retrieved. See
  7759  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7760  // details.
  7761  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  7762  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7763  	return c
  7764  }
  7765  
  7766  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7767  // object's ETag matches the given value. This is useful for getting updates
  7768  // only after the object has changed since the last request.
  7769  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  7770  	c.ifNoneMatch_ = entityTag
  7771  	return c
  7772  }
  7773  
  7774  // Context sets the context to be used in this call's Do method.
  7775  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  7776  	c.ctx_ = ctx
  7777  	return c
  7778  }
  7779  
  7780  // Header returns a http.Header that can be modified by the caller to add
  7781  // headers to the request.
  7782  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  7783  	if c.header_ == nil {
  7784  		c.header_ = make(http.Header)
  7785  	}
  7786  	return c.header_
  7787  }
  7788  
  7789  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  7790  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7791  	if c.ifNoneMatch_ != "" {
  7792  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7793  	}
  7794  	var body io.Reader = nil
  7795  	c.urlParams_.Set("alt", alt)
  7796  	c.urlParams_.Set("prettyPrint", "false")
  7797  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
  7798  	urls += "?" + c.urlParams_.Encode()
  7799  	req, err := http.NewRequest("GET", urls, body)
  7800  	if err != nil {
  7801  		return nil, err
  7802  	}
  7803  	req.Header = reqHeaders
  7804  	googleapi.Expand(req.URL, map[string]string{
  7805  		"name": c.name,
  7806  	})
  7807  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7808  }
  7809  
  7810  // Do executes the "notebooks.projects.locations.operations.list" call.
  7811  // Any non-2xx status code is an error. Response headers are in either
  7812  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  7813  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7814  // check whether the returned error was because http.StatusNotModified was
  7815  // returned.
  7816  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  7817  	gensupport.SetOptions(c.urlParams_, opts...)
  7818  	res, err := c.doRequest("json")
  7819  	if res != nil && res.StatusCode == http.StatusNotModified {
  7820  		if res.Body != nil {
  7821  			res.Body.Close()
  7822  		}
  7823  		return nil, gensupport.WrapError(&googleapi.Error{
  7824  			Code:   res.StatusCode,
  7825  			Header: res.Header,
  7826  		})
  7827  	}
  7828  	if err != nil {
  7829  		return nil, err
  7830  	}
  7831  	defer googleapi.CloseBody(res)
  7832  	if err := googleapi.CheckResponse(res); err != nil {
  7833  		return nil, gensupport.WrapError(err)
  7834  	}
  7835  	ret := &ListOperationsResponse{
  7836  		ServerResponse: googleapi.ServerResponse{
  7837  			Header:         res.Header,
  7838  			HTTPStatusCode: res.StatusCode,
  7839  		},
  7840  	}
  7841  	target := &ret
  7842  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7843  		return nil, err
  7844  	}
  7845  	return ret, nil
  7846  }
  7847  
  7848  // Pages invokes f for each page of results.
  7849  // A non-nil error returned from f will halt the iteration.
  7850  // The provided context supersedes any context provided to the Context method.
  7851  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  7852  	c.ctx_ = ctx
  7853  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7854  	for {
  7855  		x, err := c.Do()
  7856  		if err != nil {
  7857  			return err
  7858  		}
  7859  		if err := f(x); err != nil {
  7860  			return err
  7861  		}
  7862  		if x.NextPageToken == "" {
  7863  			return nil
  7864  		}
  7865  		c.PageToken(x.NextPageToken)
  7866  	}
  7867  }
  7868  
  7869  type ProjectsLocationsRuntimesCreateCall struct {
  7870  	s          *Service
  7871  	parent     string
  7872  	runtime    *Runtime
  7873  	urlParams_ gensupport.URLParams
  7874  	ctx_       context.Context
  7875  	header_    http.Header
  7876  }
  7877  
  7878  // Create: Creates a new Runtime in a given project and location.
  7879  //
  7880  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  7881  func (r *ProjectsLocationsRuntimesService) Create(parent string, runtime *Runtime) *ProjectsLocationsRuntimesCreateCall {
  7882  	c := &ProjectsLocationsRuntimesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7883  	c.parent = parent
  7884  	c.runtime = runtime
  7885  	return c
  7886  }
  7887  
  7888  // RequestId sets the optional parameter "requestId": Idempotent request UUID.
  7889  func (c *ProjectsLocationsRuntimesCreateCall) RequestId(requestId string) *ProjectsLocationsRuntimesCreateCall {
  7890  	c.urlParams_.Set("requestId", requestId)
  7891  	return c
  7892  }
  7893  
  7894  // RuntimeId sets the optional parameter "runtimeId": Required. User-defined
  7895  // unique ID of this Runtime.
  7896  func (c *ProjectsLocationsRuntimesCreateCall) RuntimeId(runtimeId string) *ProjectsLocationsRuntimesCreateCall {
  7897  	c.urlParams_.Set("runtimeId", runtimeId)
  7898  	return c
  7899  }
  7900  
  7901  // Fields allows partial responses to be retrieved. See
  7902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7903  // details.
  7904  func (c *ProjectsLocationsRuntimesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesCreateCall {
  7905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7906  	return c
  7907  }
  7908  
  7909  // Context sets the context to be used in this call's Do method.
  7910  func (c *ProjectsLocationsRuntimesCreateCall) Context(ctx context.Context) *ProjectsLocationsRuntimesCreateCall {
  7911  	c.ctx_ = ctx
  7912  	return c
  7913  }
  7914  
  7915  // Header returns a http.Header that can be modified by the caller to add
  7916  // headers to the request.
  7917  func (c *ProjectsLocationsRuntimesCreateCall) Header() http.Header {
  7918  	if c.header_ == nil {
  7919  		c.header_ = make(http.Header)
  7920  	}
  7921  	return c.header_
  7922  }
  7923  
  7924  func (c *ProjectsLocationsRuntimesCreateCall) doRequest(alt string) (*http.Response, error) {
  7925  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7926  	var body io.Reader = nil
  7927  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.runtime)
  7928  	if err != nil {
  7929  		return nil, err
  7930  	}
  7931  	c.urlParams_.Set("alt", alt)
  7932  	c.urlParams_.Set("prettyPrint", "false")
  7933  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runtimes")
  7934  	urls += "?" + c.urlParams_.Encode()
  7935  	req, err := http.NewRequest("POST", urls, body)
  7936  	if err != nil {
  7937  		return nil, err
  7938  	}
  7939  	req.Header = reqHeaders
  7940  	googleapi.Expand(req.URL, map[string]string{
  7941  		"parent": c.parent,
  7942  	})
  7943  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7944  }
  7945  
  7946  // Do executes the "notebooks.projects.locations.runtimes.create" call.
  7947  // Any non-2xx status code is an error. Response headers are in either
  7948  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7949  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7950  // whether the returned error was because http.StatusNotModified was returned.
  7951  func (c *ProjectsLocationsRuntimesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7952  	gensupport.SetOptions(c.urlParams_, opts...)
  7953  	res, err := c.doRequest("json")
  7954  	if res != nil && res.StatusCode == http.StatusNotModified {
  7955  		if res.Body != nil {
  7956  			res.Body.Close()
  7957  		}
  7958  		return nil, gensupport.WrapError(&googleapi.Error{
  7959  			Code:   res.StatusCode,
  7960  			Header: res.Header,
  7961  		})
  7962  	}
  7963  	if err != nil {
  7964  		return nil, err
  7965  	}
  7966  	defer googleapi.CloseBody(res)
  7967  	if err := googleapi.CheckResponse(res); err != nil {
  7968  		return nil, gensupport.WrapError(err)
  7969  	}
  7970  	ret := &Operation{
  7971  		ServerResponse: googleapi.ServerResponse{
  7972  			Header:         res.Header,
  7973  			HTTPStatusCode: res.StatusCode,
  7974  		},
  7975  	}
  7976  	target := &ret
  7977  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7978  		return nil, err
  7979  	}
  7980  	return ret, nil
  7981  }
  7982  
  7983  type ProjectsLocationsRuntimesDeleteCall struct {
  7984  	s          *Service
  7985  	name       string
  7986  	urlParams_ gensupport.URLParams
  7987  	ctx_       context.Context
  7988  	header_    http.Header
  7989  }
  7990  
  7991  // Delete: Deletes a single Runtime.
  7992  //
  7993  //   - name: Format:
  7994  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  7995  func (r *ProjectsLocationsRuntimesService) Delete(name string) *ProjectsLocationsRuntimesDeleteCall {
  7996  	c := &ProjectsLocationsRuntimesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7997  	c.name = name
  7998  	return c
  7999  }
  8000  
  8001  // RequestId sets the optional parameter "requestId": Idempotent request UUID.
  8002  func (c *ProjectsLocationsRuntimesDeleteCall) RequestId(requestId string) *ProjectsLocationsRuntimesDeleteCall {
  8003  	c.urlParams_.Set("requestId", requestId)
  8004  	return c
  8005  }
  8006  
  8007  // Fields allows partial responses to be retrieved. See
  8008  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8009  // details.
  8010  func (c *ProjectsLocationsRuntimesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesDeleteCall {
  8011  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8012  	return c
  8013  }
  8014  
  8015  // Context sets the context to be used in this call's Do method.
  8016  func (c *ProjectsLocationsRuntimesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRuntimesDeleteCall {
  8017  	c.ctx_ = ctx
  8018  	return c
  8019  }
  8020  
  8021  // Header returns a http.Header that can be modified by the caller to add
  8022  // headers to the request.
  8023  func (c *ProjectsLocationsRuntimesDeleteCall) Header() http.Header {
  8024  	if c.header_ == nil {
  8025  		c.header_ = make(http.Header)
  8026  	}
  8027  	return c.header_
  8028  }
  8029  
  8030  func (c *ProjectsLocationsRuntimesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8031  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8032  	var body io.Reader = nil
  8033  	c.urlParams_.Set("alt", alt)
  8034  	c.urlParams_.Set("prettyPrint", "false")
  8035  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8036  	urls += "?" + c.urlParams_.Encode()
  8037  	req, err := http.NewRequest("DELETE", urls, body)
  8038  	if err != nil {
  8039  		return nil, err
  8040  	}
  8041  	req.Header = reqHeaders
  8042  	googleapi.Expand(req.URL, map[string]string{
  8043  		"name": c.name,
  8044  	})
  8045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8046  }
  8047  
  8048  // Do executes the "notebooks.projects.locations.runtimes.delete" call.
  8049  // Any non-2xx status code is an error. Response headers are in either
  8050  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8051  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8052  // whether the returned error was because http.StatusNotModified was returned.
  8053  func (c *ProjectsLocationsRuntimesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8054  	gensupport.SetOptions(c.urlParams_, opts...)
  8055  	res, err := c.doRequest("json")
  8056  	if res != nil && res.StatusCode == http.StatusNotModified {
  8057  		if res.Body != nil {
  8058  			res.Body.Close()
  8059  		}
  8060  		return nil, gensupport.WrapError(&googleapi.Error{
  8061  			Code:   res.StatusCode,
  8062  			Header: res.Header,
  8063  		})
  8064  	}
  8065  	if err != nil {
  8066  		return nil, err
  8067  	}
  8068  	defer googleapi.CloseBody(res)
  8069  	if err := googleapi.CheckResponse(res); err != nil {
  8070  		return nil, gensupport.WrapError(err)
  8071  	}
  8072  	ret := &Operation{
  8073  		ServerResponse: googleapi.ServerResponse{
  8074  			Header:         res.Header,
  8075  			HTTPStatusCode: res.StatusCode,
  8076  		},
  8077  	}
  8078  	target := &ret
  8079  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8080  		return nil, err
  8081  	}
  8082  	return ret, nil
  8083  }
  8084  
  8085  type ProjectsLocationsRuntimesDiagnoseCall struct {
  8086  	s                      *Service
  8087  	name                   string
  8088  	diagnoseruntimerequest *DiagnoseRuntimeRequest
  8089  	urlParams_             gensupport.URLParams
  8090  	ctx_                   context.Context
  8091  	header_                http.Header
  8092  }
  8093  
  8094  // Diagnose: Creates a Diagnostic File and runs Diagnostic Tool given a
  8095  // Runtime.
  8096  //
  8097  //   - name: Format:
  8098  //     `projects/{project_id}/locations/{location}/runtimes/{runtimes_id}`.
  8099  func (r *ProjectsLocationsRuntimesService) Diagnose(name string, diagnoseruntimerequest *DiagnoseRuntimeRequest) *ProjectsLocationsRuntimesDiagnoseCall {
  8100  	c := &ProjectsLocationsRuntimesDiagnoseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8101  	c.name = name
  8102  	c.diagnoseruntimerequest = diagnoseruntimerequest
  8103  	return c
  8104  }
  8105  
  8106  // Fields allows partial responses to be retrieved. See
  8107  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8108  // details.
  8109  func (c *ProjectsLocationsRuntimesDiagnoseCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesDiagnoseCall {
  8110  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8111  	return c
  8112  }
  8113  
  8114  // Context sets the context to be used in this call's Do method.
  8115  func (c *ProjectsLocationsRuntimesDiagnoseCall) Context(ctx context.Context) *ProjectsLocationsRuntimesDiagnoseCall {
  8116  	c.ctx_ = ctx
  8117  	return c
  8118  }
  8119  
  8120  // Header returns a http.Header that can be modified by the caller to add
  8121  // headers to the request.
  8122  func (c *ProjectsLocationsRuntimesDiagnoseCall) Header() http.Header {
  8123  	if c.header_ == nil {
  8124  		c.header_ = make(http.Header)
  8125  	}
  8126  	return c.header_
  8127  }
  8128  
  8129  func (c *ProjectsLocationsRuntimesDiagnoseCall) doRequest(alt string) (*http.Response, error) {
  8130  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8131  	var body io.Reader = nil
  8132  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.diagnoseruntimerequest)
  8133  	if err != nil {
  8134  		return nil, err
  8135  	}
  8136  	c.urlParams_.Set("alt", alt)
  8137  	c.urlParams_.Set("prettyPrint", "false")
  8138  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:diagnose")
  8139  	urls += "?" + c.urlParams_.Encode()
  8140  	req, err := http.NewRequest("POST", urls, body)
  8141  	if err != nil {
  8142  		return nil, err
  8143  	}
  8144  	req.Header = reqHeaders
  8145  	googleapi.Expand(req.URL, map[string]string{
  8146  		"name": c.name,
  8147  	})
  8148  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8149  }
  8150  
  8151  // Do executes the "notebooks.projects.locations.runtimes.diagnose" call.
  8152  // Any non-2xx status code is an error. Response headers are in either
  8153  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8154  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8155  // whether the returned error was because http.StatusNotModified was returned.
  8156  func (c *ProjectsLocationsRuntimesDiagnoseCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8157  	gensupport.SetOptions(c.urlParams_, opts...)
  8158  	res, err := c.doRequest("json")
  8159  	if res != nil && res.StatusCode == http.StatusNotModified {
  8160  		if res.Body != nil {
  8161  			res.Body.Close()
  8162  		}
  8163  		return nil, gensupport.WrapError(&googleapi.Error{
  8164  			Code:   res.StatusCode,
  8165  			Header: res.Header,
  8166  		})
  8167  	}
  8168  	if err != nil {
  8169  		return nil, err
  8170  	}
  8171  	defer googleapi.CloseBody(res)
  8172  	if err := googleapi.CheckResponse(res); err != nil {
  8173  		return nil, gensupport.WrapError(err)
  8174  	}
  8175  	ret := &Operation{
  8176  		ServerResponse: googleapi.ServerResponse{
  8177  			Header:         res.Header,
  8178  			HTTPStatusCode: res.StatusCode,
  8179  		},
  8180  	}
  8181  	target := &ret
  8182  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8183  		return nil, err
  8184  	}
  8185  	return ret, nil
  8186  }
  8187  
  8188  type ProjectsLocationsRuntimesGetCall struct {
  8189  	s            *Service
  8190  	name         string
  8191  	urlParams_   gensupport.URLParams
  8192  	ifNoneMatch_ string
  8193  	ctx_         context.Context
  8194  	header_      http.Header
  8195  }
  8196  
  8197  // Get: Gets details of a single Runtime. The location must be a regional
  8198  // endpoint rather than zonal.
  8199  //
  8200  //   - name: Format:
  8201  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  8202  func (r *ProjectsLocationsRuntimesService) Get(name string) *ProjectsLocationsRuntimesGetCall {
  8203  	c := &ProjectsLocationsRuntimesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8204  	c.name = name
  8205  	return c
  8206  }
  8207  
  8208  // Fields allows partial responses to be retrieved. See
  8209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8210  // details.
  8211  func (c *ProjectsLocationsRuntimesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesGetCall {
  8212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8213  	return c
  8214  }
  8215  
  8216  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8217  // object's ETag matches the given value. This is useful for getting updates
  8218  // only after the object has changed since the last request.
  8219  func (c *ProjectsLocationsRuntimesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRuntimesGetCall {
  8220  	c.ifNoneMatch_ = entityTag
  8221  	return c
  8222  }
  8223  
  8224  // Context sets the context to be used in this call's Do method.
  8225  func (c *ProjectsLocationsRuntimesGetCall) Context(ctx context.Context) *ProjectsLocationsRuntimesGetCall {
  8226  	c.ctx_ = ctx
  8227  	return c
  8228  }
  8229  
  8230  // Header returns a http.Header that can be modified by the caller to add
  8231  // headers to the request.
  8232  func (c *ProjectsLocationsRuntimesGetCall) Header() http.Header {
  8233  	if c.header_ == nil {
  8234  		c.header_ = make(http.Header)
  8235  	}
  8236  	return c.header_
  8237  }
  8238  
  8239  func (c *ProjectsLocationsRuntimesGetCall) doRequest(alt string) (*http.Response, error) {
  8240  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8241  	if c.ifNoneMatch_ != "" {
  8242  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8243  	}
  8244  	var body io.Reader = nil
  8245  	c.urlParams_.Set("alt", alt)
  8246  	c.urlParams_.Set("prettyPrint", "false")
  8247  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8248  	urls += "?" + c.urlParams_.Encode()
  8249  	req, err := http.NewRequest("GET", urls, body)
  8250  	if err != nil {
  8251  		return nil, err
  8252  	}
  8253  	req.Header = reqHeaders
  8254  	googleapi.Expand(req.URL, map[string]string{
  8255  		"name": c.name,
  8256  	})
  8257  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8258  }
  8259  
  8260  // Do executes the "notebooks.projects.locations.runtimes.get" call.
  8261  // Any non-2xx status code is an error. Response headers are in either
  8262  // *Runtime.ServerResponse.Header or (if a response was returned at all) in
  8263  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8264  // whether the returned error was because http.StatusNotModified was returned.
  8265  func (c *ProjectsLocationsRuntimesGetCall) Do(opts ...googleapi.CallOption) (*Runtime, error) {
  8266  	gensupport.SetOptions(c.urlParams_, opts...)
  8267  	res, err := c.doRequest("json")
  8268  	if res != nil && res.StatusCode == http.StatusNotModified {
  8269  		if res.Body != nil {
  8270  			res.Body.Close()
  8271  		}
  8272  		return nil, gensupport.WrapError(&googleapi.Error{
  8273  			Code:   res.StatusCode,
  8274  			Header: res.Header,
  8275  		})
  8276  	}
  8277  	if err != nil {
  8278  		return nil, err
  8279  	}
  8280  	defer googleapi.CloseBody(res)
  8281  	if err := googleapi.CheckResponse(res); err != nil {
  8282  		return nil, gensupport.WrapError(err)
  8283  	}
  8284  	ret := &Runtime{
  8285  		ServerResponse: googleapi.ServerResponse{
  8286  			Header:         res.Header,
  8287  			HTTPStatusCode: res.StatusCode,
  8288  		},
  8289  	}
  8290  	target := &ret
  8291  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8292  		return nil, err
  8293  	}
  8294  	return ret, nil
  8295  }
  8296  
  8297  type ProjectsLocationsRuntimesGetIamPolicyCall struct {
  8298  	s            *Service
  8299  	resource     string
  8300  	urlParams_   gensupport.URLParams
  8301  	ifNoneMatch_ string
  8302  	ctx_         context.Context
  8303  	header_      http.Header
  8304  }
  8305  
  8306  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  8307  // empty policy if the resource exists and does not have a policy set.
  8308  //
  8309  //   - resource: REQUIRED: The resource for which the policy is being requested.
  8310  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8311  //     for the appropriate value for this field.
  8312  func (r *ProjectsLocationsRuntimesService) GetIamPolicy(resource string) *ProjectsLocationsRuntimesGetIamPolicyCall {
  8313  	c := &ProjectsLocationsRuntimesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8314  	c.resource = resource
  8315  	return c
  8316  }
  8317  
  8318  // OptionsRequestedPolicyVersion sets the optional parameter
  8319  // "options.requestedPolicyVersion": The maximum policy version that will be
  8320  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  8321  // an invalid value will be rejected. Requests for policies with any
  8322  // conditional role bindings must specify version 3. Policies with no
  8323  // conditional role bindings may specify any valid value or leave the field
  8324  // unset. The policy in the response might use the policy version that you
  8325  // specified, or it might use a lower policy version. For example, if you
  8326  // specify version 3, but the policy has no conditional role bindings, the
  8327  // response uses version 1. To learn which resources support conditions in
  8328  // their IAM policies, see the IAM documentation
  8329  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  8330  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsRuntimesGetIamPolicyCall {
  8331  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  8332  	return c
  8333  }
  8334  
  8335  // Fields allows partial responses to be retrieved. See
  8336  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8337  // details.
  8338  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesGetIamPolicyCall {
  8339  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8340  	return c
  8341  }
  8342  
  8343  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8344  // object's ETag matches the given value. This is useful for getting updates
  8345  // only after the object has changed since the last request.
  8346  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsRuntimesGetIamPolicyCall {
  8347  	c.ifNoneMatch_ = entityTag
  8348  	return c
  8349  }
  8350  
  8351  // Context sets the context to be used in this call's Do method.
  8352  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRuntimesGetIamPolicyCall {
  8353  	c.ctx_ = ctx
  8354  	return c
  8355  }
  8356  
  8357  // Header returns a http.Header that can be modified by the caller to add
  8358  // headers to the request.
  8359  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) Header() http.Header {
  8360  	if c.header_ == nil {
  8361  		c.header_ = make(http.Header)
  8362  	}
  8363  	return c.header_
  8364  }
  8365  
  8366  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8367  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8368  	if c.ifNoneMatch_ != "" {
  8369  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8370  	}
  8371  	var body io.Reader = nil
  8372  	c.urlParams_.Set("alt", alt)
  8373  	c.urlParams_.Set("prettyPrint", "false")
  8374  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  8375  	urls += "?" + c.urlParams_.Encode()
  8376  	req, err := http.NewRequest("GET", urls, body)
  8377  	if err != nil {
  8378  		return nil, err
  8379  	}
  8380  	req.Header = reqHeaders
  8381  	googleapi.Expand(req.URL, map[string]string{
  8382  		"resource": c.resource,
  8383  	})
  8384  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8385  }
  8386  
  8387  // Do executes the "notebooks.projects.locations.runtimes.getIamPolicy" call.
  8388  // Any non-2xx status code is an error. Response headers are in either
  8389  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8390  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8391  // whether the returned error was because http.StatusNotModified was returned.
  8392  func (c *ProjectsLocationsRuntimesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8393  	gensupport.SetOptions(c.urlParams_, opts...)
  8394  	res, err := c.doRequest("json")
  8395  	if res != nil && res.StatusCode == http.StatusNotModified {
  8396  		if res.Body != nil {
  8397  			res.Body.Close()
  8398  		}
  8399  		return nil, gensupport.WrapError(&googleapi.Error{
  8400  			Code:   res.StatusCode,
  8401  			Header: res.Header,
  8402  		})
  8403  	}
  8404  	if err != nil {
  8405  		return nil, err
  8406  	}
  8407  	defer googleapi.CloseBody(res)
  8408  	if err := googleapi.CheckResponse(res); err != nil {
  8409  		return nil, gensupport.WrapError(err)
  8410  	}
  8411  	ret := &Policy{
  8412  		ServerResponse: googleapi.ServerResponse{
  8413  			Header:         res.Header,
  8414  			HTTPStatusCode: res.StatusCode,
  8415  		},
  8416  	}
  8417  	target := &ret
  8418  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8419  		return nil, err
  8420  	}
  8421  	return ret, nil
  8422  }
  8423  
  8424  type ProjectsLocationsRuntimesListCall struct {
  8425  	s            *Service
  8426  	parent       string
  8427  	urlParams_   gensupport.URLParams
  8428  	ifNoneMatch_ string
  8429  	ctx_         context.Context
  8430  	header_      http.Header
  8431  }
  8432  
  8433  // List: Lists Runtimes in a given project and location.
  8434  //
  8435  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  8436  func (r *ProjectsLocationsRuntimesService) List(parent string) *ProjectsLocationsRuntimesListCall {
  8437  	c := &ProjectsLocationsRuntimesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8438  	c.parent = parent
  8439  	return c
  8440  }
  8441  
  8442  // Filter sets the optional parameter "filter": List filter.
  8443  func (c *ProjectsLocationsRuntimesListCall) Filter(filter string) *ProjectsLocationsRuntimesListCall {
  8444  	c.urlParams_.Set("filter", filter)
  8445  	return c
  8446  }
  8447  
  8448  // OrderBy sets the optional parameter "orderBy": Sort results. Supported
  8449  // values are "name", "name desc" or "" (unsorted).
  8450  func (c *ProjectsLocationsRuntimesListCall) OrderBy(orderBy string) *ProjectsLocationsRuntimesListCall {
  8451  	c.urlParams_.Set("orderBy", orderBy)
  8452  	return c
  8453  }
  8454  
  8455  // PageSize sets the optional parameter "pageSize": Maximum return size of the
  8456  // list call.
  8457  func (c *ProjectsLocationsRuntimesListCall) PageSize(pageSize int64) *ProjectsLocationsRuntimesListCall {
  8458  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8459  	return c
  8460  }
  8461  
  8462  // PageToken sets the optional parameter "pageToken": A previous returned page
  8463  // token that can be used to continue listing from the last result.
  8464  func (c *ProjectsLocationsRuntimesListCall) PageToken(pageToken string) *ProjectsLocationsRuntimesListCall {
  8465  	c.urlParams_.Set("pageToken", pageToken)
  8466  	return c
  8467  }
  8468  
  8469  // Fields allows partial responses to be retrieved. See
  8470  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8471  // details.
  8472  func (c *ProjectsLocationsRuntimesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesListCall {
  8473  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8474  	return c
  8475  }
  8476  
  8477  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8478  // object's ETag matches the given value. This is useful for getting updates
  8479  // only after the object has changed since the last request.
  8480  func (c *ProjectsLocationsRuntimesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRuntimesListCall {
  8481  	c.ifNoneMatch_ = entityTag
  8482  	return c
  8483  }
  8484  
  8485  // Context sets the context to be used in this call's Do method.
  8486  func (c *ProjectsLocationsRuntimesListCall) Context(ctx context.Context) *ProjectsLocationsRuntimesListCall {
  8487  	c.ctx_ = ctx
  8488  	return c
  8489  }
  8490  
  8491  // Header returns a http.Header that can be modified by the caller to add
  8492  // headers to the request.
  8493  func (c *ProjectsLocationsRuntimesListCall) Header() http.Header {
  8494  	if c.header_ == nil {
  8495  		c.header_ = make(http.Header)
  8496  	}
  8497  	return c.header_
  8498  }
  8499  
  8500  func (c *ProjectsLocationsRuntimesListCall) doRequest(alt string) (*http.Response, error) {
  8501  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8502  	if c.ifNoneMatch_ != "" {
  8503  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8504  	}
  8505  	var body io.Reader = nil
  8506  	c.urlParams_.Set("alt", alt)
  8507  	c.urlParams_.Set("prettyPrint", "false")
  8508  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runtimes")
  8509  	urls += "?" + c.urlParams_.Encode()
  8510  	req, err := http.NewRequest("GET", urls, body)
  8511  	if err != nil {
  8512  		return nil, err
  8513  	}
  8514  	req.Header = reqHeaders
  8515  	googleapi.Expand(req.URL, map[string]string{
  8516  		"parent": c.parent,
  8517  	})
  8518  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8519  }
  8520  
  8521  // Do executes the "notebooks.projects.locations.runtimes.list" call.
  8522  // Any non-2xx status code is an error. Response headers are in either
  8523  // *ListRuntimesResponse.ServerResponse.Header or (if a response was returned
  8524  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8525  // check whether the returned error was because http.StatusNotModified was
  8526  // returned.
  8527  func (c *ProjectsLocationsRuntimesListCall) Do(opts ...googleapi.CallOption) (*ListRuntimesResponse, error) {
  8528  	gensupport.SetOptions(c.urlParams_, opts...)
  8529  	res, err := c.doRequest("json")
  8530  	if res != nil && res.StatusCode == http.StatusNotModified {
  8531  		if res.Body != nil {
  8532  			res.Body.Close()
  8533  		}
  8534  		return nil, gensupport.WrapError(&googleapi.Error{
  8535  			Code:   res.StatusCode,
  8536  			Header: res.Header,
  8537  		})
  8538  	}
  8539  	if err != nil {
  8540  		return nil, err
  8541  	}
  8542  	defer googleapi.CloseBody(res)
  8543  	if err := googleapi.CheckResponse(res); err != nil {
  8544  		return nil, gensupport.WrapError(err)
  8545  	}
  8546  	ret := &ListRuntimesResponse{
  8547  		ServerResponse: googleapi.ServerResponse{
  8548  			Header:         res.Header,
  8549  			HTTPStatusCode: res.StatusCode,
  8550  		},
  8551  	}
  8552  	target := &ret
  8553  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8554  		return nil, err
  8555  	}
  8556  	return ret, nil
  8557  }
  8558  
  8559  // Pages invokes f for each page of results.
  8560  // A non-nil error returned from f will halt the iteration.
  8561  // The provided context supersedes any context provided to the Context method.
  8562  func (c *ProjectsLocationsRuntimesListCall) Pages(ctx context.Context, f func(*ListRuntimesResponse) error) error {
  8563  	c.ctx_ = ctx
  8564  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8565  	for {
  8566  		x, err := c.Do()
  8567  		if err != nil {
  8568  			return err
  8569  		}
  8570  		if err := f(x); err != nil {
  8571  			return err
  8572  		}
  8573  		if x.NextPageToken == "" {
  8574  			return nil
  8575  		}
  8576  		c.PageToken(x.NextPageToken)
  8577  	}
  8578  }
  8579  
  8580  type ProjectsLocationsRuntimesMigrateCall struct {
  8581  	s                     *Service
  8582  	name                  string
  8583  	migrateruntimerequest *MigrateRuntimeRequest
  8584  	urlParams_            gensupport.URLParams
  8585  	ctx_                  context.Context
  8586  	header_               http.Header
  8587  }
  8588  
  8589  // Migrate: Migrate an existing Runtime to a new Workbench Instance.
  8590  //
  8591  //   - name: Format:
  8592  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  8593  func (r *ProjectsLocationsRuntimesService) Migrate(name string, migrateruntimerequest *MigrateRuntimeRequest) *ProjectsLocationsRuntimesMigrateCall {
  8594  	c := &ProjectsLocationsRuntimesMigrateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8595  	c.name = name
  8596  	c.migrateruntimerequest = migrateruntimerequest
  8597  	return c
  8598  }
  8599  
  8600  // Fields allows partial responses to be retrieved. See
  8601  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8602  // details.
  8603  func (c *ProjectsLocationsRuntimesMigrateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesMigrateCall {
  8604  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8605  	return c
  8606  }
  8607  
  8608  // Context sets the context to be used in this call's Do method.
  8609  func (c *ProjectsLocationsRuntimesMigrateCall) Context(ctx context.Context) *ProjectsLocationsRuntimesMigrateCall {
  8610  	c.ctx_ = ctx
  8611  	return c
  8612  }
  8613  
  8614  // Header returns a http.Header that can be modified by the caller to add
  8615  // headers to the request.
  8616  func (c *ProjectsLocationsRuntimesMigrateCall) Header() http.Header {
  8617  	if c.header_ == nil {
  8618  		c.header_ = make(http.Header)
  8619  	}
  8620  	return c.header_
  8621  }
  8622  
  8623  func (c *ProjectsLocationsRuntimesMigrateCall) doRequest(alt string) (*http.Response, error) {
  8624  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8625  	var body io.Reader = nil
  8626  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.migrateruntimerequest)
  8627  	if err != nil {
  8628  		return nil, err
  8629  	}
  8630  	c.urlParams_.Set("alt", alt)
  8631  	c.urlParams_.Set("prettyPrint", "false")
  8632  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:migrate")
  8633  	urls += "?" + c.urlParams_.Encode()
  8634  	req, err := http.NewRequest("POST", urls, body)
  8635  	if err != nil {
  8636  		return nil, err
  8637  	}
  8638  	req.Header = reqHeaders
  8639  	googleapi.Expand(req.URL, map[string]string{
  8640  		"name": c.name,
  8641  	})
  8642  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8643  }
  8644  
  8645  // Do executes the "notebooks.projects.locations.runtimes.migrate" call.
  8646  // Any non-2xx status code is an error. Response headers are in either
  8647  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8648  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8649  // whether the returned error was because http.StatusNotModified was returned.
  8650  func (c *ProjectsLocationsRuntimesMigrateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8651  	gensupport.SetOptions(c.urlParams_, opts...)
  8652  	res, err := c.doRequest("json")
  8653  	if res != nil && res.StatusCode == http.StatusNotModified {
  8654  		if res.Body != nil {
  8655  			res.Body.Close()
  8656  		}
  8657  		return nil, gensupport.WrapError(&googleapi.Error{
  8658  			Code:   res.StatusCode,
  8659  			Header: res.Header,
  8660  		})
  8661  	}
  8662  	if err != nil {
  8663  		return nil, err
  8664  	}
  8665  	defer googleapi.CloseBody(res)
  8666  	if err := googleapi.CheckResponse(res); err != nil {
  8667  		return nil, gensupport.WrapError(err)
  8668  	}
  8669  	ret := &Operation{
  8670  		ServerResponse: googleapi.ServerResponse{
  8671  			Header:         res.Header,
  8672  			HTTPStatusCode: res.StatusCode,
  8673  		},
  8674  	}
  8675  	target := &ret
  8676  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8677  		return nil, err
  8678  	}
  8679  	return ret, nil
  8680  }
  8681  
  8682  type ProjectsLocationsRuntimesPatchCall struct {
  8683  	s          *Service
  8684  	name       string
  8685  	runtime    *Runtime
  8686  	urlParams_ gensupport.URLParams
  8687  	ctx_       context.Context
  8688  	header_    http.Header
  8689  }
  8690  
  8691  // Patch: Update Notebook Runtime configuration.
  8692  //
  8693  //   - name: Output only. The resource name of the runtime. Format:
  8694  //     `projects/{project}/locations/{location}/runtimes/{runtimeId}`.
  8695  func (r *ProjectsLocationsRuntimesService) Patch(name string, runtime *Runtime) *ProjectsLocationsRuntimesPatchCall {
  8696  	c := &ProjectsLocationsRuntimesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8697  	c.name = name
  8698  	c.runtime = runtime
  8699  	return c
  8700  }
  8701  
  8702  // RequestId sets the optional parameter "requestId": Idempotent request UUID.
  8703  func (c *ProjectsLocationsRuntimesPatchCall) RequestId(requestId string) *ProjectsLocationsRuntimesPatchCall {
  8704  	c.urlParams_.Set("requestId", requestId)
  8705  	return c
  8706  }
  8707  
  8708  // UpdateMask sets the optional parameter "updateMask": Required. Specifies the
  8709  // path, relative to `Runtime`, of the field to update. For example, to change
  8710  // the software configuration kernels, the `update_mask` parameter would be
  8711  // specified as `software_config.kernels`, and the `PATCH` request body would
  8712  // specify the new value, as follows: { "software_config":{ "kernels": [{
  8713  // 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag':
  8714  // 'latest' }], } } Currently, only the following fields can be updated: -
  8715  // `software_config.kernels` - `software_config.post_startup_script` -
  8716  // `software_config.custom_gpu_driver_path` - `software_config.idle_shutdown` -
  8717  // `software_config.idle_shutdown_timeout` - `software_config.disable_terminal`
  8718  // - `labels`
  8719  func (c *ProjectsLocationsRuntimesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRuntimesPatchCall {
  8720  	c.urlParams_.Set("updateMask", updateMask)
  8721  	return c
  8722  }
  8723  
  8724  // Fields allows partial responses to be retrieved. See
  8725  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8726  // details.
  8727  func (c *ProjectsLocationsRuntimesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesPatchCall {
  8728  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8729  	return c
  8730  }
  8731  
  8732  // Context sets the context to be used in this call's Do method.
  8733  func (c *ProjectsLocationsRuntimesPatchCall) Context(ctx context.Context) *ProjectsLocationsRuntimesPatchCall {
  8734  	c.ctx_ = ctx
  8735  	return c
  8736  }
  8737  
  8738  // Header returns a http.Header that can be modified by the caller to add
  8739  // headers to the request.
  8740  func (c *ProjectsLocationsRuntimesPatchCall) Header() http.Header {
  8741  	if c.header_ == nil {
  8742  		c.header_ = make(http.Header)
  8743  	}
  8744  	return c.header_
  8745  }
  8746  
  8747  func (c *ProjectsLocationsRuntimesPatchCall) doRequest(alt string) (*http.Response, error) {
  8748  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8749  	var body io.Reader = nil
  8750  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.runtime)
  8751  	if err != nil {
  8752  		return nil, err
  8753  	}
  8754  	c.urlParams_.Set("alt", alt)
  8755  	c.urlParams_.Set("prettyPrint", "false")
  8756  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8757  	urls += "?" + c.urlParams_.Encode()
  8758  	req, err := http.NewRequest("PATCH", urls, body)
  8759  	if err != nil {
  8760  		return nil, err
  8761  	}
  8762  	req.Header = reqHeaders
  8763  	googleapi.Expand(req.URL, map[string]string{
  8764  		"name": c.name,
  8765  	})
  8766  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8767  }
  8768  
  8769  // Do executes the "notebooks.projects.locations.runtimes.patch" call.
  8770  // Any non-2xx status code is an error. Response headers are in either
  8771  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8772  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8773  // whether the returned error was because http.StatusNotModified was returned.
  8774  func (c *ProjectsLocationsRuntimesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8775  	gensupport.SetOptions(c.urlParams_, opts...)
  8776  	res, err := c.doRequest("json")
  8777  	if res != nil && res.StatusCode == http.StatusNotModified {
  8778  		if res.Body != nil {
  8779  			res.Body.Close()
  8780  		}
  8781  		return nil, gensupport.WrapError(&googleapi.Error{
  8782  			Code:   res.StatusCode,
  8783  			Header: res.Header,
  8784  		})
  8785  	}
  8786  	if err != nil {
  8787  		return nil, err
  8788  	}
  8789  	defer googleapi.CloseBody(res)
  8790  	if err := googleapi.CheckResponse(res); err != nil {
  8791  		return nil, gensupport.WrapError(err)
  8792  	}
  8793  	ret := &Operation{
  8794  		ServerResponse: googleapi.ServerResponse{
  8795  			Header:         res.Header,
  8796  			HTTPStatusCode: res.StatusCode,
  8797  		},
  8798  	}
  8799  	target := &ret
  8800  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8801  		return nil, err
  8802  	}
  8803  	return ret, nil
  8804  }
  8805  
  8806  type ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall struct {
  8807  	s                                  *Service
  8808  	name                               string
  8809  	refreshruntimetokeninternalrequest *RefreshRuntimeTokenInternalRequest
  8810  	urlParams_                         gensupport.URLParams
  8811  	ctx_                               context.Context
  8812  	header_                            http.Header
  8813  }
  8814  
  8815  // RefreshRuntimeTokenInternal: Gets an access token for the consumer service
  8816  // account that the customer attached to the runtime. Only accessible from the
  8817  // tenant instance.
  8818  //
  8819  //   - name: Format:
  8820  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  8821  func (r *ProjectsLocationsRuntimesService) RefreshRuntimeTokenInternal(name string, refreshruntimetokeninternalrequest *RefreshRuntimeTokenInternalRequest) *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall {
  8822  	c := &ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8823  	c.name = name
  8824  	c.refreshruntimetokeninternalrequest = refreshruntimetokeninternalrequest
  8825  	return c
  8826  }
  8827  
  8828  // Fields allows partial responses to be retrieved. See
  8829  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8830  // details.
  8831  func (c *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall {
  8832  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8833  	return c
  8834  }
  8835  
  8836  // Context sets the context to be used in this call's Do method.
  8837  func (c *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall) Context(ctx context.Context) *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall {
  8838  	c.ctx_ = ctx
  8839  	return c
  8840  }
  8841  
  8842  // Header returns a http.Header that can be modified by the caller to add
  8843  // headers to the request.
  8844  func (c *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall) Header() http.Header {
  8845  	if c.header_ == nil {
  8846  		c.header_ = make(http.Header)
  8847  	}
  8848  	return c.header_
  8849  }
  8850  
  8851  func (c *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall) doRequest(alt string) (*http.Response, error) {
  8852  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8853  	var body io.Reader = nil
  8854  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.refreshruntimetokeninternalrequest)
  8855  	if err != nil {
  8856  		return nil, err
  8857  	}
  8858  	c.urlParams_.Set("alt", alt)
  8859  	c.urlParams_.Set("prettyPrint", "false")
  8860  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:refreshRuntimeTokenInternal")
  8861  	urls += "?" + c.urlParams_.Encode()
  8862  	req, err := http.NewRequest("POST", urls, body)
  8863  	if err != nil {
  8864  		return nil, err
  8865  	}
  8866  	req.Header = reqHeaders
  8867  	googleapi.Expand(req.URL, map[string]string{
  8868  		"name": c.name,
  8869  	})
  8870  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8871  }
  8872  
  8873  // Do executes the "notebooks.projects.locations.runtimes.refreshRuntimeTokenInternal" call.
  8874  // Any non-2xx status code is an error. Response headers are in either
  8875  // *RefreshRuntimeTokenInternalResponse.ServerResponse.Header or (if a response
  8876  // was returned at all) in error.(*googleapi.Error).Header. Use
  8877  // googleapi.IsNotModified to check whether the returned error was because
  8878  // http.StatusNotModified was returned.
  8879  func (c *ProjectsLocationsRuntimesRefreshRuntimeTokenInternalCall) Do(opts ...googleapi.CallOption) (*RefreshRuntimeTokenInternalResponse, error) {
  8880  	gensupport.SetOptions(c.urlParams_, opts...)
  8881  	res, err := c.doRequest("json")
  8882  	if res != nil && res.StatusCode == http.StatusNotModified {
  8883  		if res.Body != nil {
  8884  			res.Body.Close()
  8885  		}
  8886  		return nil, gensupport.WrapError(&googleapi.Error{
  8887  			Code:   res.StatusCode,
  8888  			Header: res.Header,
  8889  		})
  8890  	}
  8891  	if err != nil {
  8892  		return nil, err
  8893  	}
  8894  	defer googleapi.CloseBody(res)
  8895  	if err := googleapi.CheckResponse(res); err != nil {
  8896  		return nil, gensupport.WrapError(err)
  8897  	}
  8898  	ret := &RefreshRuntimeTokenInternalResponse{
  8899  		ServerResponse: googleapi.ServerResponse{
  8900  			Header:         res.Header,
  8901  			HTTPStatusCode: res.StatusCode,
  8902  		},
  8903  	}
  8904  	target := &ret
  8905  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8906  		return nil, err
  8907  	}
  8908  	return ret, nil
  8909  }
  8910  
  8911  type ProjectsLocationsRuntimesReportEventCall struct {
  8912  	s                         *Service
  8913  	name                      string
  8914  	reportruntimeeventrequest *ReportRuntimeEventRequest
  8915  	urlParams_                gensupport.URLParams
  8916  	ctx_                      context.Context
  8917  	header_                   http.Header
  8918  }
  8919  
  8920  // ReportEvent: Reports and processes a runtime event.
  8921  //
  8922  //   - name: Format:
  8923  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  8924  func (r *ProjectsLocationsRuntimesService) ReportEvent(name string, reportruntimeeventrequest *ReportRuntimeEventRequest) *ProjectsLocationsRuntimesReportEventCall {
  8925  	c := &ProjectsLocationsRuntimesReportEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8926  	c.name = name
  8927  	c.reportruntimeeventrequest = reportruntimeeventrequest
  8928  	return c
  8929  }
  8930  
  8931  // Fields allows partial responses to be retrieved. See
  8932  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8933  // details.
  8934  func (c *ProjectsLocationsRuntimesReportEventCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesReportEventCall {
  8935  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8936  	return c
  8937  }
  8938  
  8939  // Context sets the context to be used in this call's Do method.
  8940  func (c *ProjectsLocationsRuntimesReportEventCall) Context(ctx context.Context) *ProjectsLocationsRuntimesReportEventCall {
  8941  	c.ctx_ = ctx
  8942  	return c
  8943  }
  8944  
  8945  // Header returns a http.Header that can be modified by the caller to add
  8946  // headers to the request.
  8947  func (c *ProjectsLocationsRuntimesReportEventCall) Header() http.Header {
  8948  	if c.header_ == nil {
  8949  		c.header_ = make(http.Header)
  8950  	}
  8951  	return c.header_
  8952  }
  8953  
  8954  func (c *ProjectsLocationsRuntimesReportEventCall) doRequest(alt string) (*http.Response, error) {
  8955  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8956  	var body io.Reader = nil
  8957  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.reportruntimeeventrequest)
  8958  	if err != nil {
  8959  		return nil, err
  8960  	}
  8961  	c.urlParams_.Set("alt", alt)
  8962  	c.urlParams_.Set("prettyPrint", "false")
  8963  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reportEvent")
  8964  	urls += "?" + c.urlParams_.Encode()
  8965  	req, err := http.NewRequest("POST", urls, body)
  8966  	if err != nil {
  8967  		return nil, err
  8968  	}
  8969  	req.Header = reqHeaders
  8970  	googleapi.Expand(req.URL, map[string]string{
  8971  		"name": c.name,
  8972  	})
  8973  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8974  }
  8975  
  8976  // Do executes the "notebooks.projects.locations.runtimes.reportEvent" call.
  8977  // Any non-2xx status code is an error. Response headers are in either
  8978  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8979  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8980  // whether the returned error was because http.StatusNotModified was returned.
  8981  func (c *ProjectsLocationsRuntimesReportEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8982  	gensupport.SetOptions(c.urlParams_, opts...)
  8983  	res, err := c.doRequest("json")
  8984  	if res != nil && res.StatusCode == http.StatusNotModified {
  8985  		if res.Body != nil {
  8986  			res.Body.Close()
  8987  		}
  8988  		return nil, gensupport.WrapError(&googleapi.Error{
  8989  			Code:   res.StatusCode,
  8990  			Header: res.Header,
  8991  		})
  8992  	}
  8993  	if err != nil {
  8994  		return nil, err
  8995  	}
  8996  	defer googleapi.CloseBody(res)
  8997  	if err := googleapi.CheckResponse(res); err != nil {
  8998  		return nil, gensupport.WrapError(err)
  8999  	}
  9000  	ret := &Operation{
  9001  		ServerResponse: googleapi.ServerResponse{
  9002  			Header:         res.Header,
  9003  			HTTPStatusCode: res.StatusCode,
  9004  		},
  9005  	}
  9006  	target := &ret
  9007  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9008  		return nil, err
  9009  	}
  9010  	return ret, nil
  9011  }
  9012  
  9013  type ProjectsLocationsRuntimesResetCall struct {
  9014  	s                   *Service
  9015  	name                string
  9016  	resetruntimerequest *ResetRuntimeRequest
  9017  	urlParams_          gensupport.URLParams
  9018  	ctx_                context.Context
  9019  	header_             http.Header
  9020  }
  9021  
  9022  // Reset: Resets a Managed Notebook Runtime.
  9023  //
  9024  //   - name: Format:
  9025  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  9026  func (r *ProjectsLocationsRuntimesService) Reset(name string, resetruntimerequest *ResetRuntimeRequest) *ProjectsLocationsRuntimesResetCall {
  9027  	c := &ProjectsLocationsRuntimesResetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9028  	c.name = name
  9029  	c.resetruntimerequest = resetruntimerequest
  9030  	return c
  9031  }
  9032  
  9033  // Fields allows partial responses to be retrieved. See
  9034  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9035  // details.
  9036  func (c *ProjectsLocationsRuntimesResetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesResetCall {
  9037  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9038  	return c
  9039  }
  9040  
  9041  // Context sets the context to be used in this call's Do method.
  9042  func (c *ProjectsLocationsRuntimesResetCall) Context(ctx context.Context) *ProjectsLocationsRuntimesResetCall {
  9043  	c.ctx_ = ctx
  9044  	return c
  9045  }
  9046  
  9047  // Header returns a http.Header that can be modified by the caller to add
  9048  // headers to the request.
  9049  func (c *ProjectsLocationsRuntimesResetCall) Header() http.Header {
  9050  	if c.header_ == nil {
  9051  		c.header_ = make(http.Header)
  9052  	}
  9053  	return c.header_
  9054  }
  9055  
  9056  func (c *ProjectsLocationsRuntimesResetCall) doRequest(alt string) (*http.Response, error) {
  9057  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9058  	var body io.Reader = nil
  9059  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.resetruntimerequest)
  9060  	if err != nil {
  9061  		return nil, err
  9062  	}
  9063  	c.urlParams_.Set("alt", alt)
  9064  	c.urlParams_.Set("prettyPrint", "false")
  9065  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reset")
  9066  	urls += "?" + c.urlParams_.Encode()
  9067  	req, err := http.NewRequest("POST", urls, body)
  9068  	if err != nil {
  9069  		return nil, err
  9070  	}
  9071  	req.Header = reqHeaders
  9072  	googleapi.Expand(req.URL, map[string]string{
  9073  		"name": c.name,
  9074  	})
  9075  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9076  }
  9077  
  9078  // Do executes the "notebooks.projects.locations.runtimes.reset" call.
  9079  // Any non-2xx status code is an error. Response headers are in either
  9080  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9081  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9082  // whether the returned error was because http.StatusNotModified was returned.
  9083  func (c *ProjectsLocationsRuntimesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9084  	gensupport.SetOptions(c.urlParams_, opts...)
  9085  	res, err := c.doRequest("json")
  9086  	if res != nil && res.StatusCode == http.StatusNotModified {
  9087  		if res.Body != nil {
  9088  			res.Body.Close()
  9089  		}
  9090  		return nil, gensupport.WrapError(&googleapi.Error{
  9091  			Code:   res.StatusCode,
  9092  			Header: res.Header,
  9093  		})
  9094  	}
  9095  	if err != nil {
  9096  		return nil, err
  9097  	}
  9098  	defer googleapi.CloseBody(res)
  9099  	if err := googleapi.CheckResponse(res); err != nil {
  9100  		return nil, gensupport.WrapError(err)
  9101  	}
  9102  	ret := &Operation{
  9103  		ServerResponse: googleapi.ServerResponse{
  9104  			Header:         res.Header,
  9105  			HTTPStatusCode: res.StatusCode,
  9106  		},
  9107  	}
  9108  	target := &ret
  9109  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9110  		return nil, err
  9111  	}
  9112  	return ret, nil
  9113  }
  9114  
  9115  type ProjectsLocationsRuntimesSetIamPolicyCall struct {
  9116  	s                   *Service
  9117  	resource            string
  9118  	setiampolicyrequest *SetIamPolicyRequest
  9119  	urlParams_          gensupport.URLParams
  9120  	ctx_                context.Context
  9121  	header_             http.Header
  9122  }
  9123  
  9124  // SetIamPolicy: Sets the access control policy on the specified resource.
  9125  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  9126  // and `PERMISSION_DENIED` errors.
  9127  //
  9128  //   - resource: REQUIRED: The resource for which the policy is being specified.
  9129  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9130  //     for the appropriate value for this field.
  9131  func (r *ProjectsLocationsRuntimesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsRuntimesSetIamPolicyCall {
  9132  	c := &ProjectsLocationsRuntimesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9133  	c.resource = resource
  9134  	c.setiampolicyrequest = setiampolicyrequest
  9135  	return c
  9136  }
  9137  
  9138  // Fields allows partial responses to be retrieved. See
  9139  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9140  // details.
  9141  func (c *ProjectsLocationsRuntimesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesSetIamPolicyCall {
  9142  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9143  	return c
  9144  }
  9145  
  9146  // Context sets the context to be used in this call's Do method.
  9147  func (c *ProjectsLocationsRuntimesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRuntimesSetIamPolicyCall {
  9148  	c.ctx_ = ctx
  9149  	return c
  9150  }
  9151  
  9152  // Header returns a http.Header that can be modified by the caller to add
  9153  // headers to the request.
  9154  func (c *ProjectsLocationsRuntimesSetIamPolicyCall) Header() http.Header {
  9155  	if c.header_ == nil {
  9156  		c.header_ = make(http.Header)
  9157  	}
  9158  	return c.header_
  9159  }
  9160  
  9161  func (c *ProjectsLocationsRuntimesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9162  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9163  	var body io.Reader = nil
  9164  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  9165  	if err != nil {
  9166  		return nil, err
  9167  	}
  9168  	c.urlParams_.Set("alt", alt)
  9169  	c.urlParams_.Set("prettyPrint", "false")
  9170  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  9171  	urls += "?" + c.urlParams_.Encode()
  9172  	req, err := http.NewRequest("POST", urls, body)
  9173  	if err != nil {
  9174  		return nil, err
  9175  	}
  9176  	req.Header = reqHeaders
  9177  	googleapi.Expand(req.URL, map[string]string{
  9178  		"resource": c.resource,
  9179  	})
  9180  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9181  }
  9182  
  9183  // Do executes the "notebooks.projects.locations.runtimes.setIamPolicy" call.
  9184  // Any non-2xx status code is an error. Response headers are in either
  9185  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9186  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9187  // whether the returned error was because http.StatusNotModified was returned.
  9188  func (c *ProjectsLocationsRuntimesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9189  	gensupport.SetOptions(c.urlParams_, opts...)
  9190  	res, err := c.doRequest("json")
  9191  	if res != nil && res.StatusCode == http.StatusNotModified {
  9192  		if res.Body != nil {
  9193  			res.Body.Close()
  9194  		}
  9195  		return nil, gensupport.WrapError(&googleapi.Error{
  9196  			Code:   res.StatusCode,
  9197  			Header: res.Header,
  9198  		})
  9199  	}
  9200  	if err != nil {
  9201  		return nil, err
  9202  	}
  9203  	defer googleapi.CloseBody(res)
  9204  	if err := googleapi.CheckResponse(res); err != nil {
  9205  		return nil, gensupport.WrapError(err)
  9206  	}
  9207  	ret := &Policy{
  9208  		ServerResponse: googleapi.ServerResponse{
  9209  			Header:         res.Header,
  9210  			HTTPStatusCode: res.StatusCode,
  9211  		},
  9212  	}
  9213  	target := &ret
  9214  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9215  		return nil, err
  9216  	}
  9217  	return ret, nil
  9218  }
  9219  
  9220  type ProjectsLocationsRuntimesStartCall struct {
  9221  	s                   *Service
  9222  	name                string
  9223  	startruntimerequest *StartRuntimeRequest
  9224  	urlParams_          gensupport.URLParams
  9225  	ctx_                context.Context
  9226  	header_             http.Header
  9227  }
  9228  
  9229  // Start: Starts a Managed Notebook Runtime. Perform "Start" on GPU instances;
  9230  // "Resume" on CPU instances See:
  9231  // https://cloud.google.com/compute/docs/instances/stop-start-instance
  9232  // https://cloud.google.com/compute/docs/instances/suspend-resume-instance
  9233  //
  9234  //   - name: Format:
  9235  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  9236  func (r *ProjectsLocationsRuntimesService) Start(name string, startruntimerequest *StartRuntimeRequest) *ProjectsLocationsRuntimesStartCall {
  9237  	c := &ProjectsLocationsRuntimesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9238  	c.name = name
  9239  	c.startruntimerequest = startruntimerequest
  9240  	return c
  9241  }
  9242  
  9243  // Fields allows partial responses to be retrieved. See
  9244  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9245  // details.
  9246  func (c *ProjectsLocationsRuntimesStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesStartCall {
  9247  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9248  	return c
  9249  }
  9250  
  9251  // Context sets the context to be used in this call's Do method.
  9252  func (c *ProjectsLocationsRuntimesStartCall) Context(ctx context.Context) *ProjectsLocationsRuntimesStartCall {
  9253  	c.ctx_ = ctx
  9254  	return c
  9255  }
  9256  
  9257  // Header returns a http.Header that can be modified by the caller to add
  9258  // headers to the request.
  9259  func (c *ProjectsLocationsRuntimesStartCall) Header() http.Header {
  9260  	if c.header_ == nil {
  9261  		c.header_ = make(http.Header)
  9262  	}
  9263  	return c.header_
  9264  }
  9265  
  9266  func (c *ProjectsLocationsRuntimesStartCall) doRequest(alt string) (*http.Response, error) {
  9267  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9268  	var body io.Reader = nil
  9269  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startruntimerequest)
  9270  	if err != nil {
  9271  		return nil, err
  9272  	}
  9273  	c.urlParams_.Set("alt", alt)
  9274  	c.urlParams_.Set("prettyPrint", "false")
  9275  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
  9276  	urls += "?" + c.urlParams_.Encode()
  9277  	req, err := http.NewRequest("POST", urls, body)
  9278  	if err != nil {
  9279  		return nil, err
  9280  	}
  9281  	req.Header = reqHeaders
  9282  	googleapi.Expand(req.URL, map[string]string{
  9283  		"name": c.name,
  9284  	})
  9285  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9286  }
  9287  
  9288  // Do executes the "notebooks.projects.locations.runtimes.start" call.
  9289  // Any non-2xx status code is an error. Response headers are in either
  9290  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9291  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9292  // whether the returned error was because http.StatusNotModified was returned.
  9293  func (c *ProjectsLocationsRuntimesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9294  	gensupport.SetOptions(c.urlParams_, opts...)
  9295  	res, err := c.doRequest("json")
  9296  	if res != nil && res.StatusCode == http.StatusNotModified {
  9297  		if res.Body != nil {
  9298  			res.Body.Close()
  9299  		}
  9300  		return nil, gensupport.WrapError(&googleapi.Error{
  9301  			Code:   res.StatusCode,
  9302  			Header: res.Header,
  9303  		})
  9304  	}
  9305  	if err != nil {
  9306  		return nil, err
  9307  	}
  9308  	defer googleapi.CloseBody(res)
  9309  	if err := googleapi.CheckResponse(res); err != nil {
  9310  		return nil, gensupport.WrapError(err)
  9311  	}
  9312  	ret := &Operation{
  9313  		ServerResponse: googleapi.ServerResponse{
  9314  			Header:         res.Header,
  9315  			HTTPStatusCode: res.StatusCode,
  9316  		},
  9317  	}
  9318  	target := &ret
  9319  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9320  		return nil, err
  9321  	}
  9322  	return ret, nil
  9323  }
  9324  
  9325  type ProjectsLocationsRuntimesStopCall struct {
  9326  	s                  *Service
  9327  	name               string
  9328  	stopruntimerequest *StopRuntimeRequest
  9329  	urlParams_         gensupport.URLParams
  9330  	ctx_               context.Context
  9331  	header_            http.Header
  9332  }
  9333  
  9334  // Stop: Stops a Managed Notebook Runtime. Perform "Stop" on GPU instances;
  9335  // "Suspend" on CPU instances See:
  9336  // https://cloud.google.com/compute/docs/instances/stop-start-instance
  9337  // https://cloud.google.com/compute/docs/instances/suspend-resume-instance
  9338  //
  9339  //   - name: Format:
  9340  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  9341  func (r *ProjectsLocationsRuntimesService) Stop(name string, stopruntimerequest *StopRuntimeRequest) *ProjectsLocationsRuntimesStopCall {
  9342  	c := &ProjectsLocationsRuntimesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9343  	c.name = name
  9344  	c.stopruntimerequest = stopruntimerequest
  9345  	return c
  9346  }
  9347  
  9348  // Fields allows partial responses to be retrieved. See
  9349  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9350  // details.
  9351  func (c *ProjectsLocationsRuntimesStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesStopCall {
  9352  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9353  	return c
  9354  }
  9355  
  9356  // Context sets the context to be used in this call's Do method.
  9357  func (c *ProjectsLocationsRuntimesStopCall) Context(ctx context.Context) *ProjectsLocationsRuntimesStopCall {
  9358  	c.ctx_ = ctx
  9359  	return c
  9360  }
  9361  
  9362  // Header returns a http.Header that can be modified by the caller to add
  9363  // headers to the request.
  9364  func (c *ProjectsLocationsRuntimesStopCall) Header() http.Header {
  9365  	if c.header_ == nil {
  9366  		c.header_ = make(http.Header)
  9367  	}
  9368  	return c.header_
  9369  }
  9370  
  9371  func (c *ProjectsLocationsRuntimesStopCall) doRequest(alt string) (*http.Response, error) {
  9372  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9373  	var body io.Reader = nil
  9374  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.stopruntimerequest)
  9375  	if err != nil {
  9376  		return nil, err
  9377  	}
  9378  	c.urlParams_.Set("alt", alt)
  9379  	c.urlParams_.Set("prettyPrint", "false")
  9380  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
  9381  	urls += "?" + c.urlParams_.Encode()
  9382  	req, err := http.NewRequest("POST", urls, body)
  9383  	if err != nil {
  9384  		return nil, err
  9385  	}
  9386  	req.Header = reqHeaders
  9387  	googleapi.Expand(req.URL, map[string]string{
  9388  		"name": c.name,
  9389  	})
  9390  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9391  }
  9392  
  9393  // Do executes the "notebooks.projects.locations.runtimes.stop" call.
  9394  // Any non-2xx status code is an error. Response headers are in either
  9395  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9396  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9397  // whether the returned error was because http.StatusNotModified was returned.
  9398  func (c *ProjectsLocationsRuntimesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9399  	gensupport.SetOptions(c.urlParams_, opts...)
  9400  	res, err := c.doRequest("json")
  9401  	if res != nil && res.StatusCode == http.StatusNotModified {
  9402  		if res.Body != nil {
  9403  			res.Body.Close()
  9404  		}
  9405  		return nil, gensupport.WrapError(&googleapi.Error{
  9406  			Code:   res.StatusCode,
  9407  			Header: res.Header,
  9408  		})
  9409  	}
  9410  	if err != nil {
  9411  		return nil, err
  9412  	}
  9413  	defer googleapi.CloseBody(res)
  9414  	if err := googleapi.CheckResponse(res); err != nil {
  9415  		return nil, gensupport.WrapError(err)
  9416  	}
  9417  	ret := &Operation{
  9418  		ServerResponse: googleapi.ServerResponse{
  9419  			Header:         res.Header,
  9420  			HTTPStatusCode: res.StatusCode,
  9421  		},
  9422  	}
  9423  	target := &ret
  9424  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9425  		return nil, err
  9426  	}
  9427  	return ret, nil
  9428  }
  9429  
  9430  type ProjectsLocationsRuntimesSwitchCall struct {
  9431  	s                    *Service
  9432  	name                 string
  9433  	switchruntimerequest *SwitchRuntimeRequest
  9434  	urlParams_           gensupport.URLParams
  9435  	ctx_                 context.Context
  9436  	header_              http.Header
  9437  }
  9438  
  9439  // Switch: Switch a Managed Notebook Runtime.
  9440  //
  9441  //   - name: Format:
  9442  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  9443  func (r *ProjectsLocationsRuntimesService) Switch(name string, switchruntimerequest *SwitchRuntimeRequest) *ProjectsLocationsRuntimesSwitchCall {
  9444  	c := &ProjectsLocationsRuntimesSwitchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9445  	c.name = name
  9446  	c.switchruntimerequest = switchruntimerequest
  9447  	return c
  9448  }
  9449  
  9450  // Fields allows partial responses to be retrieved. See
  9451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9452  // details.
  9453  func (c *ProjectsLocationsRuntimesSwitchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesSwitchCall {
  9454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9455  	return c
  9456  }
  9457  
  9458  // Context sets the context to be used in this call's Do method.
  9459  func (c *ProjectsLocationsRuntimesSwitchCall) Context(ctx context.Context) *ProjectsLocationsRuntimesSwitchCall {
  9460  	c.ctx_ = ctx
  9461  	return c
  9462  }
  9463  
  9464  // Header returns a http.Header that can be modified by the caller to add
  9465  // headers to the request.
  9466  func (c *ProjectsLocationsRuntimesSwitchCall) Header() http.Header {
  9467  	if c.header_ == nil {
  9468  		c.header_ = make(http.Header)
  9469  	}
  9470  	return c.header_
  9471  }
  9472  
  9473  func (c *ProjectsLocationsRuntimesSwitchCall) doRequest(alt string) (*http.Response, error) {
  9474  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9475  	var body io.Reader = nil
  9476  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.switchruntimerequest)
  9477  	if err != nil {
  9478  		return nil, err
  9479  	}
  9480  	c.urlParams_.Set("alt", alt)
  9481  	c.urlParams_.Set("prettyPrint", "false")
  9482  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:switch")
  9483  	urls += "?" + c.urlParams_.Encode()
  9484  	req, err := http.NewRequest("POST", urls, body)
  9485  	if err != nil {
  9486  		return nil, err
  9487  	}
  9488  	req.Header = reqHeaders
  9489  	googleapi.Expand(req.URL, map[string]string{
  9490  		"name": c.name,
  9491  	})
  9492  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9493  }
  9494  
  9495  // Do executes the "notebooks.projects.locations.runtimes.switch" call.
  9496  // Any non-2xx status code is an error. Response headers are in either
  9497  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9498  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9499  // whether the returned error was because http.StatusNotModified was returned.
  9500  func (c *ProjectsLocationsRuntimesSwitchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9501  	gensupport.SetOptions(c.urlParams_, opts...)
  9502  	res, err := c.doRequest("json")
  9503  	if res != nil && res.StatusCode == http.StatusNotModified {
  9504  		if res.Body != nil {
  9505  			res.Body.Close()
  9506  		}
  9507  		return nil, gensupport.WrapError(&googleapi.Error{
  9508  			Code:   res.StatusCode,
  9509  			Header: res.Header,
  9510  		})
  9511  	}
  9512  	if err != nil {
  9513  		return nil, err
  9514  	}
  9515  	defer googleapi.CloseBody(res)
  9516  	if err := googleapi.CheckResponse(res); err != nil {
  9517  		return nil, gensupport.WrapError(err)
  9518  	}
  9519  	ret := &Operation{
  9520  		ServerResponse: googleapi.ServerResponse{
  9521  			Header:         res.Header,
  9522  			HTTPStatusCode: res.StatusCode,
  9523  		},
  9524  	}
  9525  	target := &ret
  9526  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9527  		return nil, err
  9528  	}
  9529  	return ret, nil
  9530  }
  9531  
  9532  type ProjectsLocationsRuntimesTestIamPermissionsCall struct {
  9533  	s                         *Service
  9534  	resource                  string
  9535  	testiampermissionsrequest *TestIamPermissionsRequest
  9536  	urlParams_                gensupport.URLParams
  9537  	ctx_                      context.Context
  9538  	header_                   http.Header
  9539  }
  9540  
  9541  // TestIamPermissions: Returns permissions that a caller has on the specified
  9542  // resource. If the resource does not exist, this will return an empty set of
  9543  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  9544  // used for building permission-aware UIs and command-line tools, not for
  9545  // authorization checking. This operation may "fail open" without warning.
  9546  //
  9547  //   - resource: REQUIRED: The resource for which the policy detail is being
  9548  //     requested. See Resource names
  9549  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  9550  //     value for this field.
  9551  func (r *ProjectsLocationsRuntimesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsRuntimesTestIamPermissionsCall {
  9552  	c := &ProjectsLocationsRuntimesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9553  	c.resource = resource
  9554  	c.testiampermissionsrequest = testiampermissionsrequest
  9555  	return c
  9556  }
  9557  
  9558  // Fields allows partial responses to be retrieved. See
  9559  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9560  // details.
  9561  func (c *ProjectsLocationsRuntimesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesTestIamPermissionsCall {
  9562  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9563  	return c
  9564  }
  9565  
  9566  // Context sets the context to be used in this call's Do method.
  9567  func (c *ProjectsLocationsRuntimesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsRuntimesTestIamPermissionsCall {
  9568  	c.ctx_ = ctx
  9569  	return c
  9570  }
  9571  
  9572  // Header returns a http.Header that can be modified by the caller to add
  9573  // headers to the request.
  9574  func (c *ProjectsLocationsRuntimesTestIamPermissionsCall) Header() http.Header {
  9575  	if c.header_ == nil {
  9576  		c.header_ = make(http.Header)
  9577  	}
  9578  	return c.header_
  9579  }
  9580  
  9581  func (c *ProjectsLocationsRuntimesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  9582  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9583  	var body io.Reader = nil
  9584  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  9585  	if err != nil {
  9586  		return nil, err
  9587  	}
  9588  	c.urlParams_.Set("alt", alt)
  9589  	c.urlParams_.Set("prettyPrint", "false")
  9590  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  9591  	urls += "?" + c.urlParams_.Encode()
  9592  	req, err := http.NewRequest("POST", urls, body)
  9593  	if err != nil {
  9594  		return nil, err
  9595  	}
  9596  	req.Header = reqHeaders
  9597  	googleapi.Expand(req.URL, map[string]string{
  9598  		"resource": c.resource,
  9599  	})
  9600  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9601  }
  9602  
  9603  // Do executes the "notebooks.projects.locations.runtimes.testIamPermissions" call.
  9604  // Any non-2xx status code is an error. Response headers are in either
  9605  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  9606  // returned at all) in error.(*googleapi.Error).Header. Use
  9607  // googleapi.IsNotModified to check whether the returned error was because
  9608  // http.StatusNotModified was returned.
  9609  func (c *ProjectsLocationsRuntimesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  9610  	gensupport.SetOptions(c.urlParams_, opts...)
  9611  	res, err := c.doRequest("json")
  9612  	if res != nil && res.StatusCode == http.StatusNotModified {
  9613  		if res.Body != nil {
  9614  			res.Body.Close()
  9615  		}
  9616  		return nil, gensupport.WrapError(&googleapi.Error{
  9617  			Code:   res.StatusCode,
  9618  			Header: res.Header,
  9619  		})
  9620  	}
  9621  	if err != nil {
  9622  		return nil, err
  9623  	}
  9624  	defer googleapi.CloseBody(res)
  9625  	if err := googleapi.CheckResponse(res); err != nil {
  9626  		return nil, gensupport.WrapError(err)
  9627  	}
  9628  	ret := &TestIamPermissionsResponse{
  9629  		ServerResponse: googleapi.ServerResponse{
  9630  			Header:         res.Header,
  9631  			HTTPStatusCode: res.StatusCode,
  9632  		},
  9633  	}
  9634  	target := &ret
  9635  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9636  		return nil, err
  9637  	}
  9638  	return ret, nil
  9639  }
  9640  
  9641  type ProjectsLocationsRuntimesUpgradeCall struct {
  9642  	s                     *Service
  9643  	name                  string
  9644  	upgraderuntimerequest *UpgradeRuntimeRequest
  9645  	urlParams_            gensupport.URLParams
  9646  	ctx_                  context.Context
  9647  	header_               http.Header
  9648  }
  9649  
  9650  // Upgrade: Upgrades a Managed Notebook Runtime to the latest version.
  9651  //
  9652  //   - name: Format:
  9653  //     `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`.
  9654  func (r *ProjectsLocationsRuntimesService) Upgrade(name string, upgraderuntimerequest *UpgradeRuntimeRequest) *ProjectsLocationsRuntimesUpgradeCall {
  9655  	c := &ProjectsLocationsRuntimesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9656  	c.name = name
  9657  	c.upgraderuntimerequest = upgraderuntimerequest
  9658  	return c
  9659  }
  9660  
  9661  // Fields allows partial responses to be retrieved. See
  9662  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9663  // details.
  9664  func (c *ProjectsLocationsRuntimesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsRuntimesUpgradeCall {
  9665  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9666  	return c
  9667  }
  9668  
  9669  // Context sets the context to be used in this call's Do method.
  9670  func (c *ProjectsLocationsRuntimesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsRuntimesUpgradeCall {
  9671  	c.ctx_ = ctx
  9672  	return c
  9673  }
  9674  
  9675  // Header returns a http.Header that can be modified by the caller to add
  9676  // headers to the request.
  9677  func (c *ProjectsLocationsRuntimesUpgradeCall) Header() http.Header {
  9678  	if c.header_ == nil {
  9679  		c.header_ = make(http.Header)
  9680  	}
  9681  	return c.header_
  9682  }
  9683  
  9684  func (c *ProjectsLocationsRuntimesUpgradeCall) doRequest(alt string) (*http.Response, error) {
  9685  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9686  	var body io.Reader = nil
  9687  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.upgraderuntimerequest)
  9688  	if err != nil {
  9689  		return nil, err
  9690  	}
  9691  	c.urlParams_.Set("alt", alt)
  9692  	c.urlParams_.Set("prettyPrint", "false")
  9693  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgrade")
  9694  	urls += "?" + c.urlParams_.Encode()
  9695  	req, err := http.NewRequest("POST", urls, body)
  9696  	if err != nil {
  9697  		return nil, err
  9698  	}
  9699  	req.Header = reqHeaders
  9700  	googleapi.Expand(req.URL, map[string]string{
  9701  		"name": c.name,
  9702  	})
  9703  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9704  }
  9705  
  9706  // Do executes the "notebooks.projects.locations.runtimes.upgrade" call.
  9707  // Any non-2xx status code is an error. Response headers are in either
  9708  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9709  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9710  // whether the returned error was because http.StatusNotModified was returned.
  9711  func (c *ProjectsLocationsRuntimesUpgradeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9712  	gensupport.SetOptions(c.urlParams_, opts...)
  9713  	res, err := c.doRequest("json")
  9714  	if res != nil && res.StatusCode == http.StatusNotModified {
  9715  		if res.Body != nil {
  9716  			res.Body.Close()
  9717  		}
  9718  		return nil, gensupport.WrapError(&googleapi.Error{
  9719  			Code:   res.StatusCode,
  9720  			Header: res.Header,
  9721  		})
  9722  	}
  9723  	if err != nil {
  9724  		return nil, err
  9725  	}
  9726  	defer googleapi.CloseBody(res)
  9727  	if err := googleapi.CheckResponse(res); err != nil {
  9728  		return nil, gensupport.WrapError(err)
  9729  	}
  9730  	ret := &Operation{
  9731  		ServerResponse: googleapi.ServerResponse{
  9732  			Header:         res.Header,
  9733  			HTTPStatusCode: res.StatusCode,
  9734  		},
  9735  	}
  9736  	target := &ret
  9737  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9738  		return nil, err
  9739  	}
  9740  	return ret, nil
  9741  }
  9742  
  9743  type ProjectsLocationsSchedulesCreateCall struct {
  9744  	s          *Service
  9745  	parent     string
  9746  	schedule   *Schedule
  9747  	urlParams_ gensupport.URLParams
  9748  	ctx_       context.Context
  9749  	header_    http.Header
  9750  }
  9751  
  9752  // Create: Creates a new Scheduled Notebook in a given project and location.
  9753  //
  9754  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
  9755  func (r *ProjectsLocationsSchedulesService) Create(parent string, schedule *Schedule) *ProjectsLocationsSchedulesCreateCall {
  9756  	c := &ProjectsLocationsSchedulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9757  	c.parent = parent
  9758  	c.schedule = schedule
  9759  	return c
  9760  }
  9761  
  9762  // ScheduleId sets the optional parameter "scheduleId": Required. User-defined
  9763  // unique ID of this schedule.
  9764  func (c *ProjectsLocationsSchedulesCreateCall) ScheduleId(scheduleId string) *ProjectsLocationsSchedulesCreateCall {
  9765  	c.urlParams_.Set("scheduleId", scheduleId)
  9766  	return c
  9767  }
  9768  
  9769  // Fields allows partial responses to be retrieved. See
  9770  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9771  // details.
  9772  func (c *ProjectsLocationsSchedulesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesCreateCall {
  9773  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9774  	return c
  9775  }
  9776  
  9777  // Context sets the context to be used in this call's Do method.
  9778  func (c *ProjectsLocationsSchedulesCreateCall) Context(ctx context.Context) *ProjectsLocationsSchedulesCreateCall {
  9779  	c.ctx_ = ctx
  9780  	return c
  9781  }
  9782  
  9783  // Header returns a http.Header that can be modified by the caller to add
  9784  // headers to the request.
  9785  func (c *ProjectsLocationsSchedulesCreateCall) Header() http.Header {
  9786  	if c.header_ == nil {
  9787  		c.header_ = make(http.Header)
  9788  	}
  9789  	return c.header_
  9790  }
  9791  
  9792  func (c *ProjectsLocationsSchedulesCreateCall) doRequest(alt string) (*http.Response, error) {
  9793  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9794  	var body io.Reader = nil
  9795  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.schedule)
  9796  	if err != nil {
  9797  		return nil, err
  9798  	}
  9799  	c.urlParams_.Set("alt", alt)
  9800  	c.urlParams_.Set("prettyPrint", "false")
  9801  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/schedules")
  9802  	urls += "?" + c.urlParams_.Encode()
  9803  	req, err := http.NewRequest("POST", urls, body)
  9804  	if err != nil {
  9805  		return nil, err
  9806  	}
  9807  	req.Header = reqHeaders
  9808  	googleapi.Expand(req.URL, map[string]string{
  9809  		"parent": c.parent,
  9810  	})
  9811  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9812  }
  9813  
  9814  // Do executes the "notebooks.projects.locations.schedules.create" call.
  9815  // Any non-2xx status code is an error. Response headers are in either
  9816  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9817  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9818  // whether the returned error was because http.StatusNotModified was returned.
  9819  func (c *ProjectsLocationsSchedulesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9820  	gensupport.SetOptions(c.urlParams_, opts...)
  9821  	res, err := c.doRequest("json")
  9822  	if res != nil && res.StatusCode == http.StatusNotModified {
  9823  		if res.Body != nil {
  9824  			res.Body.Close()
  9825  		}
  9826  		return nil, gensupport.WrapError(&googleapi.Error{
  9827  			Code:   res.StatusCode,
  9828  			Header: res.Header,
  9829  		})
  9830  	}
  9831  	if err != nil {
  9832  		return nil, err
  9833  	}
  9834  	defer googleapi.CloseBody(res)
  9835  	if err := googleapi.CheckResponse(res); err != nil {
  9836  		return nil, gensupport.WrapError(err)
  9837  	}
  9838  	ret := &Operation{
  9839  		ServerResponse: googleapi.ServerResponse{
  9840  			Header:         res.Header,
  9841  			HTTPStatusCode: res.StatusCode,
  9842  		},
  9843  	}
  9844  	target := &ret
  9845  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9846  		return nil, err
  9847  	}
  9848  	return ret, nil
  9849  }
  9850  
  9851  type ProjectsLocationsSchedulesDeleteCall struct {
  9852  	s          *Service
  9853  	name       string
  9854  	urlParams_ gensupport.URLParams
  9855  	ctx_       context.Context
  9856  	header_    http.Header
  9857  }
  9858  
  9859  // Delete: Deletes schedule and all underlying jobs
  9860  //
  9861  //   - name: Format:
  9862  //     `projects/{project_id}/locations/{location}/schedules/{schedule_id}`.
  9863  func (r *ProjectsLocationsSchedulesService) Delete(name string) *ProjectsLocationsSchedulesDeleteCall {
  9864  	c := &ProjectsLocationsSchedulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9865  	c.name = name
  9866  	return c
  9867  }
  9868  
  9869  // Fields allows partial responses to be retrieved. See
  9870  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9871  // details.
  9872  func (c *ProjectsLocationsSchedulesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesDeleteCall {
  9873  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9874  	return c
  9875  }
  9876  
  9877  // Context sets the context to be used in this call's Do method.
  9878  func (c *ProjectsLocationsSchedulesDeleteCall) Context(ctx context.Context) *ProjectsLocationsSchedulesDeleteCall {
  9879  	c.ctx_ = ctx
  9880  	return c
  9881  }
  9882  
  9883  // Header returns a http.Header that can be modified by the caller to add
  9884  // headers to the request.
  9885  func (c *ProjectsLocationsSchedulesDeleteCall) Header() http.Header {
  9886  	if c.header_ == nil {
  9887  		c.header_ = make(http.Header)
  9888  	}
  9889  	return c.header_
  9890  }
  9891  
  9892  func (c *ProjectsLocationsSchedulesDeleteCall) doRequest(alt string) (*http.Response, error) {
  9893  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9894  	var body io.Reader = nil
  9895  	c.urlParams_.Set("alt", alt)
  9896  	c.urlParams_.Set("prettyPrint", "false")
  9897  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9898  	urls += "?" + c.urlParams_.Encode()
  9899  	req, err := http.NewRequest("DELETE", urls, body)
  9900  	if err != nil {
  9901  		return nil, err
  9902  	}
  9903  	req.Header = reqHeaders
  9904  	googleapi.Expand(req.URL, map[string]string{
  9905  		"name": c.name,
  9906  	})
  9907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9908  }
  9909  
  9910  // Do executes the "notebooks.projects.locations.schedules.delete" call.
  9911  // Any non-2xx status code is an error. Response headers are in either
  9912  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9913  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9914  // whether the returned error was because http.StatusNotModified was returned.
  9915  func (c *ProjectsLocationsSchedulesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9916  	gensupport.SetOptions(c.urlParams_, opts...)
  9917  	res, err := c.doRequest("json")
  9918  	if res != nil && res.StatusCode == http.StatusNotModified {
  9919  		if res.Body != nil {
  9920  			res.Body.Close()
  9921  		}
  9922  		return nil, gensupport.WrapError(&googleapi.Error{
  9923  			Code:   res.StatusCode,
  9924  			Header: res.Header,
  9925  		})
  9926  	}
  9927  	if err != nil {
  9928  		return nil, err
  9929  	}
  9930  	defer googleapi.CloseBody(res)
  9931  	if err := googleapi.CheckResponse(res); err != nil {
  9932  		return nil, gensupport.WrapError(err)
  9933  	}
  9934  	ret := &Operation{
  9935  		ServerResponse: googleapi.ServerResponse{
  9936  			Header:         res.Header,
  9937  			HTTPStatusCode: res.StatusCode,
  9938  		},
  9939  	}
  9940  	target := &ret
  9941  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9942  		return nil, err
  9943  	}
  9944  	return ret, nil
  9945  }
  9946  
  9947  type ProjectsLocationsSchedulesGetCall struct {
  9948  	s            *Service
  9949  	name         string
  9950  	urlParams_   gensupport.URLParams
  9951  	ifNoneMatch_ string
  9952  	ctx_         context.Context
  9953  	header_      http.Header
  9954  }
  9955  
  9956  // Get: Gets details of schedule
  9957  //
  9958  //   - name: Format:
  9959  //     `projects/{project_id}/locations/{location}/schedules/{schedule_id}`.
  9960  func (r *ProjectsLocationsSchedulesService) Get(name string) *ProjectsLocationsSchedulesGetCall {
  9961  	c := &ProjectsLocationsSchedulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9962  	c.name = name
  9963  	return c
  9964  }
  9965  
  9966  // Fields allows partial responses to be retrieved. See
  9967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9968  // details.
  9969  func (c *ProjectsLocationsSchedulesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesGetCall {
  9970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9971  	return c
  9972  }
  9973  
  9974  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9975  // object's ETag matches the given value. This is useful for getting updates
  9976  // only after the object has changed since the last request.
  9977  func (c *ProjectsLocationsSchedulesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesGetCall {
  9978  	c.ifNoneMatch_ = entityTag
  9979  	return c
  9980  }
  9981  
  9982  // Context sets the context to be used in this call's Do method.
  9983  func (c *ProjectsLocationsSchedulesGetCall) Context(ctx context.Context) *ProjectsLocationsSchedulesGetCall {
  9984  	c.ctx_ = ctx
  9985  	return c
  9986  }
  9987  
  9988  // Header returns a http.Header that can be modified by the caller to add
  9989  // headers to the request.
  9990  func (c *ProjectsLocationsSchedulesGetCall) Header() http.Header {
  9991  	if c.header_ == nil {
  9992  		c.header_ = make(http.Header)
  9993  	}
  9994  	return c.header_
  9995  }
  9996  
  9997  func (c *ProjectsLocationsSchedulesGetCall) doRequest(alt string) (*http.Response, error) {
  9998  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9999  	if c.ifNoneMatch_ != "" {
 10000  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10001  	}
 10002  	var body io.Reader = nil
 10003  	c.urlParams_.Set("alt", alt)
 10004  	c.urlParams_.Set("prettyPrint", "false")
 10005  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10006  	urls += "?" + c.urlParams_.Encode()
 10007  	req, err := http.NewRequest("GET", urls, body)
 10008  	if err != nil {
 10009  		return nil, err
 10010  	}
 10011  	req.Header = reqHeaders
 10012  	googleapi.Expand(req.URL, map[string]string{
 10013  		"name": c.name,
 10014  	})
 10015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10016  }
 10017  
 10018  // Do executes the "notebooks.projects.locations.schedules.get" call.
 10019  // Any non-2xx status code is an error. Response headers are in either
 10020  // *Schedule.ServerResponse.Header or (if a response was returned at all) in
 10021  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10022  // whether the returned error was because http.StatusNotModified was returned.
 10023  func (c *ProjectsLocationsSchedulesGetCall) Do(opts ...googleapi.CallOption) (*Schedule, error) {
 10024  	gensupport.SetOptions(c.urlParams_, opts...)
 10025  	res, err := c.doRequest("json")
 10026  	if res != nil && res.StatusCode == http.StatusNotModified {
 10027  		if res.Body != nil {
 10028  			res.Body.Close()
 10029  		}
 10030  		return nil, gensupport.WrapError(&googleapi.Error{
 10031  			Code:   res.StatusCode,
 10032  			Header: res.Header,
 10033  		})
 10034  	}
 10035  	if err != nil {
 10036  		return nil, err
 10037  	}
 10038  	defer googleapi.CloseBody(res)
 10039  	if err := googleapi.CheckResponse(res); err != nil {
 10040  		return nil, gensupport.WrapError(err)
 10041  	}
 10042  	ret := &Schedule{
 10043  		ServerResponse: googleapi.ServerResponse{
 10044  			Header:         res.Header,
 10045  			HTTPStatusCode: res.StatusCode,
 10046  		},
 10047  	}
 10048  	target := &ret
 10049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10050  		return nil, err
 10051  	}
 10052  	return ret, nil
 10053  }
 10054  
 10055  type ProjectsLocationsSchedulesListCall struct {
 10056  	s            *Service
 10057  	parent       string
 10058  	urlParams_   gensupport.URLParams
 10059  	ifNoneMatch_ string
 10060  	ctx_         context.Context
 10061  	header_      http.Header
 10062  }
 10063  
 10064  // List: Lists schedules in a given project and location.
 10065  //
 10066  // - parent: Format: `parent=projects/{project_id}/locations/{location}`.
 10067  func (r *ProjectsLocationsSchedulesService) List(parent string) *ProjectsLocationsSchedulesListCall {
 10068  	c := &ProjectsLocationsSchedulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10069  	c.parent = parent
 10070  	return c
 10071  }
 10072  
 10073  // Filter sets the optional parameter "filter": Filter applied to resulting
 10074  // schedules.
 10075  func (c *ProjectsLocationsSchedulesListCall) Filter(filter string) *ProjectsLocationsSchedulesListCall {
 10076  	c.urlParams_.Set("filter", filter)
 10077  	return c
 10078  }
 10079  
 10080  // OrderBy sets the optional parameter "orderBy": Field to order results by.
 10081  func (c *ProjectsLocationsSchedulesListCall) OrderBy(orderBy string) *ProjectsLocationsSchedulesListCall {
 10082  	c.urlParams_.Set("orderBy", orderBy)
 10083  	return c
 10084  }
 10085  
 10086  // PageSize sets the optional parameter "pageSize": Maximum return size of the
 10087  // list call.
 10088  func (c *ProjectsLocationsSchedulesListCall) PageSize(pageSize int64) *ProjectsLocationsSchedulesListCall {
 10089  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10090  	return c
 10091  }
 10092  
 10093  // PageToken sets the optional parameter "pageToken": A previous returned page
 10094  // token that can be used to continue listing from the last result.
 10095  func (c *ProjectsLocationsSchedulesListCall) PageToken(pageToken string) *ProjectsLocationsSchedulesListCall {
 10096  	c.urlParams_.Set("pageToken", pageToken)
 10097  	return c
 10098  }
 10099  
 10100  // Fields allows partial responses to be retrieved. See
 10101  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10102  // details.
 10103  func (c *ProjectsLocationsSchedulesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesListCall {
 10104  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10105  	return c
 10106  }
 10107  
 10108  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10109  // object's ETag matches the given value. This is useful for getting updates
 10110  // only after the object has changed since the last request.
 10111  func (c *ProjectsLocationsSchedulesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesListCall {
 10112  	c.ifNoneMatch_ = entityTag
 10113  	return c
 10114  }
 10115  
 10116  // Context sets the context to be used in this call's Do method.
 10117  func (c *ProjectsLocationsSchedulesListCall) Context(ctx context.Context) *ProjectsLocationsSchedulesListCall {
 10118  	c.ctx_ = ctx
 10119  	return c
 10120  }
 10121  
 10122  // Header returns a http.Header that can be modified by the caller to add
 10123  // headers to the request.
 10124  func (c *ProjectsLocationsSchedulesListCall) Header() http.Header {
 10125  	if c.header_ == nil {
 10126  		c.header_ = make(http.Header)
 10127  	}
 10128  	return c.header_
 10129  }
 10130  
 10131  func (c *ProjectsLocationsSchedulesListCall) doRequest(alt string) (*http.Response, error) {
 10132  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10133  	if c.ifNoneMatch_ != "" {
 10134  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10135  	}
 10136  	var body io.Reader = nil
 10137  	c.urlParams_.Set("alt", alt)
 10138  	c.urlParams_.Set("prettyPrint", "false")
 10139  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/schedules")
 10140  	urls += "?" + c.urlParams_.Encode()
 10141  	req, err := http.NewRequest("GET", urls, body)
 10142  	if err != nil {
 10143  		return nil, err
 10144  	}
 10145  	req.Header = reqHeaders
 10146  	googleapi.Expand(req.URL, map[string]string{
 10147  		"parent": c.parent,
 10148  	})
 10149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10150  }
 10151  
 10152  // Do executes the "notebooks.projects.locations.schedules.list" call.
 10153  // Any non-2xx status code is an error. Response headers are in either
 10154  // *ListSchedulesResponse.ServerResponse.Header or (if a response was returned
 10155  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10156  // check whether the returned error was because http.StatusNotModified was
 10157  // returned.
 10158  func (c *ProjectsLocationsSchedulesListCall) Do(opts ...googleapi.CallOption) (*ListSchedulesResponse, error) {
 10159  	gensupport.SetOptions(c.urlParams_, opts...)
 10160  	res, err := c.doRequest("json")
 10161  	if res != nil && res.StatusCode == http.StatusNotModified {
 10162  		if res.Body != nil {
 10163  			res.Body.Close()
 10164  		}
 10165  		return nil, gensupport.WrapError(&googleapi.Error{
 10166  			Code:   res.StatusCode,
 10167  			Header: res.Header,
 10168  		})
 10169  	}
 10170  	if err != nil {
 10171  		return nil, err
 10172  	}
 10173  	defer googleapi.CloseBody(res)
 10174  	if err := googleapi.CheckResponse(res); err != nil {
 10175  		return nil, gensupport.WrapError(err)
 10176  	}
 10177  	ret := &ListSchedulesResponse{
 10178  		ServerResponse: googleapi.ServerResponse{
 10179  			Header:         res.Header,
 10180  			HTTPStatusCode: res.StatusCode,
 10181  		},
 10182  	}
 10183  	target := &ret
 10184  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10185  		return nil, err
 10186  	}
 10187  	return ret, nil
 10188  }
 10189  
 10190  // Pages invokes f for each page of results.
 10191  // A non-nil error returned from f will halt the iteration.
 10192  // The provided context supersedes any context provided to the Context method.
 10193  func (c *ProjectsLocationsSchedulesListCall) Pages(ctx context.Context, f func(*ListSchedulesResponse) error) error {
 10194  	c.ctx_ = ctx
 10195  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10196  	for {
 10197  		x, err := c.Do()
 10198  		if err != nil {
 10199  			return err
 10200  		}
 10201  		if err := f(x); err != nil {
 10202  			return err
 10203  		}
 10204  		if x.NextPageToken == "" {
 10205  			return nil
 10206  		}
 10207  		c.PageToken(x.NextPageToken)
 10208  	}
 10209  }
 10210  
 10211  type ProjectsLocationsSchedulesTriggerCall struct {
 10212  	s                      *Service
 10213  	name                   string
 10214  	triggerschedulerequest *TriggerScheduleRequest
 10215  	urlParams_             gensupport.URLParams
 10216  	ctx_                   context.Context
 10217  	header_                http.Header
 10218  }
 10219  
 10220  // Trigger: Triggers execution of an existing schedule.
 10221  //
 10222  //   - name: Format:
 10223  //     `parent=projects/{project_id}/locations/{location}/schedules/{schedule_id}`.
 10224  func (r *ProjectsLocationsSchedulesService) Trigger(name string, triggerschedulerequest *TriggerScheduleRequest) *ProjectsLocationsSchedulesTriggerCall {
 10225  	c := &ProjectsLocationsSchedulesTriggerCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10226  	c.name = name
 10227  	c.triggerschedulerequest = triggerschedulerequest
 10228  	return c
 10229  }
 10230  
 10231  // Fields allows partial responses to be retrieved. See
 10232  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10233  // details.
 10234  func (c *ProjectsLocationsSchedulesTriggerCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesTriggerCall {
 10235  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10236  	return c
 10237  }
 10238  
 10239  // Context sets the context to be used in this call's Do method.
 10240  func (c *ProjectsLocationsSchedulesTriggerCall) Context(ctx context.Context) *ProjectsLocationsSchedulesTriggerCall {
 10241  	c.ctx_ = ctx
 10242  	return c
 10243  }
 10244  
 10245  // Header returns a http.Header that can be modified by the caller to add
 10246  // headers to the request.
 10247  func (c *ProjectsLocationsSchedulesTriggerCall) Header() http.Header {
 10248  	if c.header_ == nil {
 10249  		c.header_ = make(http.Header)
 10250  	}
 10251  	return c.header_
 10252  }
 10253  
 10254  func (c *ProjectsLocationsSchedulesTriggerCall) doRequest(alt string) (*http.Response, error) {
 10255  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10256  	var body io.Reader = nil
 10257  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.triggerschedulerequest)
 10258  	if err != nil {
 10259  		return nil, err
 10260  	}
 10261  	c.urlParams_.Set("alt", alt)
 10262  	c.urlParams_.Set("prettyPrint", "false")
 10263  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:trigger")
 10264  	urls += "?" + c.urlParams_.Encode()
 10265  	req, err := http.NewRequest("POST", urls, body)
 10266  	if err != nil {
 10267  		return nil, err
 10268  	}
 10269  	req.Header = reqHeaders
 10270  	googleapi.Expand(req.URL, map[string]string{
 10271  		"name": c.name,
 10272  	})
 10273  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10274  }
 10275  
 10276  // Do executes the "notebooks.projects.locations.schedules.trigger" call.
 10277  // Any non-2xx status code is an error. Response headers are in either
 10278  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10279  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10280  // whether the returned error was because http.StatusNotModified was returned.
 10281  func (c *ProjectsLocationsSchedulesTriggerCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10282  	gensupport.SetOptions(c.urlParams_, opts...)
 10283  	res, err := c.doRequest("json")
 10284  	if res != nil && res.StatusCode == http.StatusNotModified {
 10285  		if res.Body != nil {
 10286  			res.Body.Close()
 10287  		}
 10288  		return nil, gensupport.WrapError(&googleapi.Error{
 10289  			Code:   res.StatusCode,
 10290  			Header: res.Header,
 10291  		})
 10292  	}
 10293  	if err != nil {
 10294  		return nil, err
 10295  	}
 10296  	defer googleapi.CloseBody(res)
 10297  	if err := googleapi.CheckResponse(res); err != nil {
 10298  		return nil, gensupport.WrapError(err)
 10299  	}
 10300  	ret := &Operation{
 10301  		ServerResponse: googleapi.ServerResponse{
 10302  			Header:         res.Header,
 10303  			HTTPStatusCode: res.StatusCode,
 10304  		},
 10305  	}
 10306  	target := &ret
 10307  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10308  		return nil, err
 10309  	}
 10310  	return ret, nil
 10311  }
 10312  

View as plain text