1// Copyright 2019 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 genomics provides access to the Genomics API. 8// 9// For product documentation, see: https://cloud.google.com/genomics 10// 11// Creating a client 12// 13// Usage example: 14// 15// import "google.golang.org/api/genomics/v1alpha2" 16// ... 17// ctx := context.Background() 18// genomicsService, err := genomics.NewService(ctx) 19// 20// In this example, Google Application Default Credentials are used for authentication. 21// 22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23// 24// Other authentication options 25// 26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 27// 28// genomicsService, err := genomics.NewService(ctx, option.WithScopes(genomics.GenomicsScope)) 29// 30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 31// 32// genomicsService, err := genomics.NewService(ctx, option.WithAPIKey("AIza...")) 33// 34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 35// 36// config := &oauth2.Config{...} 37// // ... 38// token, err := config.Exchange(ctx, ...) 39// genomicsService, err := genomics.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 40// 41// See https://godoc.org/google.golang.org/api/option/ for details on options. 42package genomics // import "google.golang.org/api/genomics/v1alpha2" 43 44import ( 45 "bytes" 46 "context" 47 "encoding/json" 48 "errors" 49 "fmt" 50 "io" 51 "net/http" 52 "net/url" 53 "strconv" 54 "strings" 55 56 gensupport "google.golang.org/api/gensupport" 57 googleapi "google.golang.org/api/googleapi" 58 option "google.golang.org/api/option" 59 htransport "google.golang.org/api/transport/http" 60) 61 62// Always reference these packages, just in case the auto-generated code 63// below doesn't. 64var _ = bytes.NewBuffer 65var _ = strconv.Itoa 66var _ = fmt.Sprintf 67var _ = json.NewDecoder 68var _ = io.Copy 69var _ = url.Parse 70var _ = gensupport.MarshalJSON 71var _ = googleapi.Version 72var _ = errors.New 73var _ = strings.Replace 74var _ = context.Canceled 75 76const apiId = "genomics:v1alpha2" 77const apiName = "genomics" 78const apiVersion = "v1alpha2" 79const basePath = "https://genomics.googleapis.com/" 80 81// OAuth2 scopes used by this API. 82const ( 83 // View and manage your data across Google Cloud Platform services 84 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 85 86 // View and manage your Google Compute Engine resources 87 ComputeScope = "https://www.googleapis.com/auth/compute" 88 89 // View and manage Genomics data 90 GenomicsScope = "https://www.googleapis.com/auth/genomics" 91) 92 93// NewService creates a new Service. 94func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 95 scopesOption := option.WithScopes( 96 "https://www.googleapis.com/auth/cloud-platform", 97 "https://www.googleapis.com/auth/compute", 98 "https://www.googleapis.com/auth/genomics", 99 ) 100 // NOTE: prepend, so we don't override user-specified scopes. 101 opts = append([]option.ClientOption{scopesOption}, opts...) 102 client, endpoint, err := htransport.NewClient(ctx, opts...) 103 if err != nil { 104 return nil, err 105 } 106 s, err := New(client) 107 if err != nil { 108 return nil, err 109 } 110 if endpoint != "" { 111 s.BasePath = endpoint 112 } 113 return s, nil 114} 115 116// New creates a new Service. It uses the provided http.Client for requests. 117// 118// Deprecated: please use NewService instead. 119// To provide a custom HTTP client, use option.WithHTTPClient. 120// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 121func New(client *http.Client) (*Service, error) { 122 if client == nil { 123 return nil, errors.New("client is nil") 124 } 125 s := &Service{client: client, BasePath: basePath} 126 s.Operations = NewOperationsService(s) 127 s.Pipelines = NewPipelinesService(s) 128 return s, nil 129} 130 131type Service struct { 132 client *http.Client 133 BasePath string // API endpoint base URL 134 UserAgent string // optional additional User-Agent fragment 135 136 Operations *OperationsService 137 138 Pipelines *PipelinesService 139} 140 141func (s *Service) userAgent() string { 142 if s.UserAgent == "" { 143 return googleapi.UserAgent 144 } 145 return googleapi.UserAgent + " " + s.UserAgent 146} 147 148func NewOperationsService(s *Service) *OperationsService { 149 rs := &OperationsService{s: s} 150 return rs 151} 152 153type OperationsService struct { 154 s *Service 155} 156 157func NewPipelinesService(s *Service) *PipelinesService { 158 rs := &PipelinesService{s: s} 159 return rs 160} 161 162type PipelinesService struct { 163 s *Service 164} 165 166// CancelOperationRequest: The request message for 167// Operations.CancelOperation. 168type CancelOperationRequest struct { 169} 170 171// ComputeEngine: Describes a Compute Engine resource that is being 172// managed by a running 173// pipeline. 174type ComputeEngine struct { 175 // DiskNames: The names of the disks that were created for this 176 // pipeline. 177 DiskNames []string `json:"diskNames,omitempty"` 178 179 // InstanceName: The instance on which the operation is running. 180 InstanceName string `json:"instanceName,omitempty"` 181 182 // MachineType: The machine type of the instance. 183 MachineType string `json:"machineType,omitempty"` 184 185 // Zone: The availability zone in which the instance resides. 186 Zone string `json:"zone,omitempty"` 187 188 // ForceSendFields is a list of field names (e.g. "DiskNames") to 189 // unconditionally include in API requests. By default, fields with 190 // empty values are omitted from API requests. However, any non-pointer, 191 // non-interface field appearing in ForceSendFields will be sent to the 192 // server regardless of whether the field is empty or not. This may be 193 // used to include empty fields in Patch requests. 194 ForceSendFields []string `json:"-"` 195 196 // NullFields is a list of field names (e.g. "DiskNames") to include in 197 // API requests with the JSON null value. By default, fields with empty 198 // values are omitted from API requests. However, any field with an 199 // empty value appearing in NullFields will be sent to the server as 200 // null. It is an error if a field in this list has a non-empty value. 201 // This may be used to include null fields in Patch requests. 202 NullFields []string `json:"-"` 203} 204 205func (s *ComputeEngine) MarshalJSON() ([]byte, error) { 206 type NoMethod ComputeEngine 207 raw := NoMethod(*s) 208 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 209} 210 211// ContainerKilledEvent: An event generated when a container is forcibly 212// terminated by the 213// worker. Currently, this only occurs when the container outlives 214// the 215// timeout specified by the user. 216type ContainerKilledEvent struct { 217 // ActionId: The numeric ID of the action that started the container. 218 ActionId int64 `json:"actionId,omitempty"` 219 220 // ForceSendFields is a list of field names (e.g. "ActionId") to 221 // unconditionally include in API requests. By default, fields with 222 // empty values are omitted from API requests. However, any non-pointer, 223 // non-interface field appearing in ForceSendFields will be sent to the 224 // server regardless of whether the field is empty or not. This may be 225 // used to include empty fields in Patch requests. 226 ForceSendFields []string `json:"-"` 227 228 // NullFields is a list of field names (e.g. "ActionId") to include in 229 // API requests with the JSON null value. By default, fields with empty 230 // values are omitted from API requests. However, any field with an 231 // empty value appearing in NullFields will be sent to the server as 232 // null. It is an error if a field in this list has a non-empty value. 233 // This may be used to include null fields in Patch requests. 234 NullFields []string `json:"-"` 235} 236 237func (s *ContainerKilledEvent) MarshalJSON() ([]byte, error) { 238 type NoMethod ContainerKilledEvent 239 raw := NoMethod(*s) 240 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 241} 242 243// ContainerStartedEvent: An event generated when a container starts. 244type ContainerStartedEvent struct { 245 // ActionId: The numeric ID of the action that started this container. 246 ActionId int64 `json:"actionId,omitempty"` 247 248 // IpAddress: The public IP address that can be used to connect to the 249 // container. This 250 // field is only populated when at least one port mapping is present. If 251 // the 252 // instance was created with a private address, this field will be empty 253 // even 254 // if port mappings exist. 255 IpAddress string `json:"ipAddress,omitempty"` 256 257 // PortMappings: The container-to-host port mappings installed for this 258 // container. This 259 // set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` 260 // flag 261 // as well as any specified in the `Action` definition. 262 PortMappings map[string]int64 `json:"portMappings,omitempty"` 263 264 // ForceSendFields is a list of field names (e.g. "ActionId") to 265 // unconditionally include in API requests. By default, fields with 266 // empty values are omitted from API requests. However, any non-pointer, 267 // non-interface field appearing in ForceSendFields will be sent to the 268 // server regardless of whether the field is empty or not. This may be 269 // used to include empty fields in Patch requests. 270 ForceSendFields []string `json:"-"` 271 272 // NullFields is a list of field names (e.g. "ActionId") to include in 273 // API requests with the JSON null value. By default, fields with empty 274 // values are omitted from API requests. However, any field with an 275 // empty value appearing in NullFields will be sent to the server as 276 // null. It is an error if a field in this list has a non-empty value. 277 // This may be used to include null fields in Patch requests. 278 NullFields []string `json:"-"` 279} 280 281func (s *ContainerStartedEvent) MarshalJSON() ([]byte, error) { 282 type NoMethod ContainerStartedEvent 283 raw := NoMethod(*s) 284 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 285} 286 287// ContainerStoppedEvent: An event generated when a container exits. 288type ContainerStoppedEvent struct { 289 // ActionId: The numeric ID of the action that started this container. 290 ActionId int64 `json:"actionId,omitempty"` 291 292 // ExitStatus: The exit status of the container. 293 ExitStatus int64 `json:"exitStatus,omitempty"` 294 295 // Stderr: The tail end of any content written to standard error by the 296 // container. 297 // If the content emits large amounts of debugging noise or 298 // contains 299 // sensitive information, you can prevent the content from being printed 300 // by 301 // setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. 302 // 303 // Note that only a small amount of the end of the stream is captured 304 // here. 305 // The entire stream is stored in the `/google/logs` directory mounted 306 // into 307 // each action, and can be copied off the machine as described 308 // elsewhere. 309 Stderr string `json:"stderr,omitempty"` 310 311 // ForceSendFields is a list of field names (e.g. "ActionId") to 312 // unconditionally include in API requests. By default, fields with 313 // empty values are omitted from API requests. However, any non-pointer, 314 // non-interface field appearing in ForceSendFields will be sent to the 315 // server regardless of whether the field is empty or not. This may be 316 // used to include empty fields in Patch requests. 317 ForceSendFields []string `json:"-"` 318 319 // NullFields is a list of field names (e.g. "ActionId") to include in 320 // API requests with the JSON null value. By default, fields with empty 321 // values are omitted from API requests. However, any field with an 322 // empty value appearing in NullFields will be sent to the server as 323 // null. It is an error if a field in this list has a non-empty value. 324 // This may be used to include null fields in Patch requests. 325 NullFields []string `json:"-"` 326} 327 328func (s *ContainerStoppedEvent) MarshalJSON() ([]byte, error) { 329 type NoMethod ContainerStoppedEvent 330 raw := NoMethod(*s) 331 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 332} 333 334// ControllerConfig: Stores the information that the controller will 335// fetch from the 336// server in order to run. Should only be used by VMs created by 337// the 338// Pipelines Service and not by end users. 339type ControllerConfig struct { 340 Cmd string `json:"cmd,omitempty"` 341 342 Disks map[string]string `json:"disks,omitempty"` 343 344 GcsLogPath string `json:"gcsLogPath,omitempty"` 345 346 GcsSinks map[string]RepeatedString `json:"gcsSinks,omitempty"` 347 348 GcsSources map[string]RepeatedString `json:"gcsSources,omitempty"` 349 350 Image string `json:"image,omitempty"` 351 352 MachineType string `json:"machineType,omitempty"` 353 354 Vars map[string]string `json:"vars,omitempty"` 355 356 // ServerResponse contains the HTTP response code and headers from the 357 // server. 358 googleapi.ServerResponse `json:"-"` 359 360 // ForceSendFields is a list of field names (e.g. "Cmd") to 361 // unconditionally include in API requests. By default, fields with 362 // empty values are omitted from API requests. However, any non-pointer, 363 // non-interface field appearing in ForceSendFields will be sent to the 364 // server regardless of whether the field is empty or not. This may be 365 // used to include empty fields in Patch requests. 366 ForceSendFields []string `json:"-"` 367 368 // NullFields is a list of field names (e.g. "Cmd") to include in API 369 // requests with the JSON null value. By default, fields with empty 370 // values are omitted from API requests. However, any field with an 371 // empty value appearing in NullFields will be sent to the server as 372 // null. It is an error if a field in this list has a non-empty value. 373 // This may be used to include null fields in Patch requests. 374 NullFields []string `json:"-"` 375} 376 377func (s *ControllerConfig) MarshalJSON() ([]byte, error) { 378 type NoMethod ControllerConfig 379 raw := NoMethod(*s) 380 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 381} 382 383// DelayedEvent: An event generated whenever a resource limitation or 384// transient error 385// delays execution of a pipeline that was otherwise ready to run. 386type DelayedEvent struct { 387 // Cause: A textual description of the cause of the delay. The string 388 // can change 389 // without notice because it is often generated by another service (such 390 // as 391 // Compute Engine). 392 Cause string `json:"cause,omitempty"` 393 394 // Metrics: If the delay was caused by a resource shortage, this field 395 // lists the 396 // Compute Engine metrics that are preventing this operation from 397 // running 398 // (for example, `CPUS` or `INSTANCES`). If the particular metric is 399 // not 400 // known, a single `UNKNOWN` metric will be present. 401 Metrics []string `json:"metrics,omitempty"` 402 403 // ForceSendFields is a list of field names (e.g. "Cause") to 404 // unconditionally include in API requests. By default, fields with 405 // empty values are omitted from API requests. However, any non-pointer, 406 // non-interface field appearing in ForceSendFields will be sent to the 407 // server regardless of whether the field is empty or not. This may be 408 // used to include empty fields in Patch requests. 409 ForceSendFields []string `json:"-"` 410 411 // NullFields is a list of field names (e.g. "Cause") to include in API 412 // requests with the JSON null value. By default, fields with empty 413 // values are omitted from API requests. However, any field with an 414 // empty value appearing in NullFields will be sent to the server as 415 // null. It is an error if a field in this list has a non-empty value. 416 // This may be used to include null fields in Patch requests. 417 NullFields []string `json:"-"` 418} 419 420func (s *DelayedEvent) MarshalJSON() ([]byte, error) { 421 type NoMethod DelayedEvent 422 raw := NoMethod(*s) 423 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 424} 425 426// Disk: A Google Compute Engine disk resource specification. 427type Disk struct { 428 // AutoDelete: Deprecated. Disks created by the Pipelines API will be 429 // deleted at the end 430 // of the pipeline run, regardless of what this field is set to. 431 AutoDelete bool `json:"autoDelete,omitempty"` 432 433 // MountPoint: Required at create time and cannot be overridden at run 434 // time. 435 // Specifies the path in the docker container where files on 436 // this disk should be located. For example, if `mountPoint` 437 // is `/mnt/disk`, and the parameter has `localPath` 438 // `inputs/file.txt`, the docker container can access the data 439 // at 440 // `/mnt/disk/inputs/file.txt`. 441 MountPoint string `json:"mountPoint,omitempty"` 442 443 // Name: Required. The name of the disk that can be used in the 444 // pipeline 445 // parameters. Must be 1 - 63 characters. 446 // The name "boot" is reserved for system use. 447 Name string `json:"name,omitempty"` 448 449 // ReadOnly: Specifies how a sourced-base persistent disk will be 450 // mounted. 451 // See 452 // https://cloud.google.com/compute/docs/disks/persistent-disks#use_m 453 // ulti_instances 454 // for more details. 455 // Can only be set at create time. 456 ReadOnly bool `json:"readOnly,omitempty"` 457 458 // SizeGb: The size of the disk. Defaults to 500 (GB). 459 // This field is not applicable for local SSD. 460 SizeGb int64 `json:"sizeGb,omitempty"` 461 462 // Source: The full or partial URL of the persistent disk to attach. 463 // See 464 // https://cloud.google.com/compute/docs/reference/latest/instances#r 465 // esource 466 // and 467 // https://cloud.google.com/compute/docs/disks/persistent-dis 468 // ks#snapshots 469 // for more details. 470 Source string `json:"source,omitempty"` 471 472 // Type: Required. The type of the disk to create. 473 // 474 // Possible values: 475 // "TYPE_UNSPECIFIED" - Default disk type. Use one of the other 476 // options below. 477 // "PERSISTENT_HDD" - Specifies a Google Compute Engine persistent 478 // hard disk. See 479 // https://cloud.google.com/compute/docs/disks/#pdspecs for details. 480 // "PERSISTENT_SSD" - Specifies a Google Compute Engine persistent 481 // solid-state disk. 482 // See 483 // https://cloud.google.com/compute/docs/disks/#pdspecs for details. 484 // "LOCAL_SSD" - Specifies a Google Compute Engine local SSD. 485 // See https://cloud.google.com/compute/docs/disks/local-ssd for 486 // details. 487 Type string `json:"type,omitempty"` 488 489 // ForceSendFields is a list of field names (e.g. "AutoDelete") to 490 // unconditionally include in API requests. By default, fields with 491 // empty values are omitted from API requests. However, any non-pointer, 492 // non-interface field appearing in ForceSendFields will be sent to the 493 // server regardless of whether the field is empty or not. This may be 494 // used to include empty fields in Patch requests. 495 ForceSendFields []string `json:"-"` 496 497 // NullFields is a list of field names (e.g. "AutoDelete") to include in 498 // API requests with the JSON null value. By default, fields with empty 499 // values are omitted from API requests. However, any field with an 500 // empty value appearing in NullFields will be sent to the server as 501 // null. It is an error if a field in this list has a non-empty value. 502 // This may be used to include null fields in Patch requests. 503 NullFields []string `json:"-"` 504} 505 506func (s *Disk) MarshalJSON() ([]byte, error) { 507 type NoMethod Disk 508 raw := NoMethod(*s) 509 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 510} 511 512// DockerExecutor: The Docker execuctor specification. 513type DockerExecutor struct { 514 // Cmd: Required. The command or newline delimited script to run. The 515 // command 516 // string will be executed within a bash shell. 517 // 518 // If the command exits with a non-zero exit code, output 519 // parameter 520 // de-localization will be skipped and the pipeline operation's 521 // `error` field will be populated. 522 // 523 // Maximum command string length is 16384. 524 Cmd string `json:"cmd,omitempty"` 525 526 // ImageName: Required. Image name from either Docker Hub or Google 527 // Container Registry. 528 // Users that run pipelines must have READ access to the image. 529 ImageName string `json:"imageName,omitempty"` 530 531 // ForceSendFields is a list of field names (e.g. "Cmd") to 532 // unconditionally include in API requests. By default, fields with 533 // empty values are omitted from API requests. However, any non-pointer, 534 // non-interface field appearing in ForceSendFields will be sent to the 535 // server regardless of whether the field is empty or not. This may be 536 // used to include empty fields in Patch requests. 537 ForceSendFields []string `json:"-"` 538 539 // NullFields is a list of field names (e.g. "Cmd") to include in API 540 // requests with the JSON null value. By default, fields with empty 541 // values are omitted from API requests. However, any field with an 542 // empty value appearing in NullFields will be sent to the server as 543 // null. It is an error if a field in this list has a non-empty value. 544 // This may be used to include null fields in Patch requests. 545 NullFields []string `json:"-"` 546} 547 548func (s *DockerExecutor) MarshalJSON() ([]byte, error) { 549 type NoMethod DockerExecutor 550 raw := NoMethod(*s) 551 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 552} 553 554// Empty: A generic empty message that you can re-use to avoid defining 555// duplicated 556// empty messages in your APIs. A typical example is to use it as the 557// request 558// or the response type of an API method. For instance: 559// 560// service Foo { 561// rpc Bar(google.protobuf.Empty) returns 562// (google.protobuf.Empty); 563// } 564// 565// The JSON representation for `Empty` is empty JSON object `{}`. 566type Empty struct { 567 // ServerResponse contains the HTTP response code and headers from the 568 // server. 569 googleapi.ServerResponse `json:"-"` 570} 571 572// Event: Carries information about events that occur during pipeline 573// execution. 574type Event struct { 575 // Description: A human-readable description of the event. Note that 576 // these strings can 577 // change at any time without notice. Any application logic must use 578 // the 579 // information in the `details` field. 580 Description string `json:"description,omitempty"` 581 582 // Details: Machine-readable details about the event. 583 Details googleapi.RawMessage `json:"details,omitempty"` 584 585 // Timestamp: The time at which the event occurred. 586 Timestamp string `json:"timestamp,omitempty"` 587 588 // ForceSendFields is a list of field names (e.g. "Description") to 589 // unconditionally include in API requests. By default, fields with 590 // empty values are omitted from API requests. However, any non-pointer, 591 // non-interface field appearing in ForceSendFields will be sent to the 592 // server regardless of whether the field is empty or not. This may be 593 // used to include empty fields in Patch requests. 594 ForceSendFields []string `json:"-"` 595 596 // NullFields is a list of field names (e.g. "Description") to include 597 // in API requests with the JSON null value. By default, fields with 598 // empty values are omitted from API requests. However, any field with 599 // an empty value appearing in NullFields will be sent to the server as 600 // null. It is an error if a field in this list has a non-empty value. 601 // This may be used to include null fields in Patch requests. 602 NullFields []string `json:"-"` 603} 604 605func (s *Event) MarshalJSON() ([]byte, error) { 606 type NoMethod Event 607 raw := NoMethod(*s) 608 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 609} 610 611// FailedEvent: An event generated when the execution of a pipeline has 612// failed. Note 613// that other events can continue to occur after this event. 614type FailedEvent struct { 615 // Cause: The human-readable description of the cause of the failure. 616 Cause string `json:"cause,omitempty"` 617 618 // Code: The Google standard error code that best describes this 619 // failure. 620 // 621 // Possible values: 622 // "OK" - Not an error; returned on success 623 // 624 // HTTP Mapping: 200 OK 625 // "CANCELLED" - The operation was cancelled, typically by the 626 // caller. 627 // 628 // HTTP Mapping: 499 Client Closed Request 629 // "UNKNOWN" - Unknown error. For example, this error may be returned 630 // when 631 // a `Status` value received from another address space belongs to 632 // an error space that is not known in this address space. Also 633 // errors raised by APIs that do not return enough error information 634 // may be converted to this error. 635 // 636 // HTTP Mapping: 500 Internal Server Error 637 // "INVALID_ARGUMENT" - The client specified an invalid argument. 638 // Note that this differs 639 // from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates 640 // arguments 641 // that are problematic regardless of the state of the system 642 // (e.g., a malformed file name). 643 // 644 // HTTP Mapping: 400 Bad Request 645 // "DEADLINE_EXCEEDED" - The deadline expired before the operation 646 // could complete. For operations 647 // that change the state of the system, this error may be returned 648 // even if the operation has completed successfully. For example, 649 // a 650 // successful response from a server could have been delayed long 651 // enough for the deadline to expire. 652 // 653 // HTTP Mapping: 504 Gateway Timeout 654 // "NOT_FOUND" - Some requested entity (e.g., file or directory) was 655 // not found. 656 // 657 // Note to server developers: if a request is denied for an entire 658 // class 659 // of users, such as gradual feature rollout or undocumented 660 // whitelist, 661 // `NOT_FOUND` may be used. If a request is denied for some users 662 // within 663 // a class of users, such as user-based access control, 664 // `PERMISSION_DENIED` 665 // must be used. 666 // 667 // HTTP Mapping: 404 Not Found 668 // "ALREADY_EXISTS" - The entity that a client attempted to create 669 // (e.g., file or directory) 670 // already exists. 671 // 672 // HTTP Mapping: 409 Conflict 673 // "PERMISSION_DENIED" - The caller does not have permission to 674 // execute the specified 675 // operation. `PERMISSION_DENIED` must not be used for rejections 676 // caused by exhausting some resource (use `RESOURCE_EXHAUSTED` 677 // instead for those errors). `PERMISSION_DENIED` must not be 678 // used if the caller can not be identified (use 679 // `UNAUTHENTICATED` 680 // instead for those errors). This error code does not imply the 681 // request is valid or the requested entity exists or satisfies 682 // other pre-conditions. 683 // 684 // HTTP Mapping: 403 Forbidden 685 // "UNAUTHENTICATED" - The request does not have valid authentication 686 // credentials for the 687 // operation. 688 // 689 // HTTP Mapping: 401 Unauthorized 690 // "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a 691 // per-user quota, or 692 // perhaps the entire file system is out of space. 693 // 694 // HTTP Mapping: 429 Too Many Requests 695 // "FAILED_PRECONDITION" - The operation was rejected because the 696 // system is not in a state 697 // required for the operation's execution. For example, the 698 // directory 699 // to be deleted is non-empty, an rmdir operation is applied to 700 // a non-directory, etc. 701 // 702 // Service implementors can use the following guidelines to 703 // decide 704 // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: 705 // (a) Use `UNAVAILABLE` if the client can retry just the failing 706 // call. 707 // (b) Use `ABORTED` if the client should retry at a higher level 708 // (e.g., when a client-specified test-and-set fails, indicating 709 // the 710 // client should restart a read-modify-write sequence). 711 // (c) Use `FAILED_PRECONDITION` if the client should not retry until 712 // the system state has been explicitly fixed. E.g., if an 713 // "rmdir" 714 // fails because the directory is non-empty, `FAILED_PRECONDITION` 715 // should be returned since the client should not retry unless 716 // the files are deleted from the directory. 717 // 718 // HTTP Mapping: 400 Bad Request 719 // "ABORTED" - The operation was aborted, typically due to a 720 // concurrency issue such as 721 // a sequencer check failure or transaction abort. 722 // 723 // See the guidelines above for deciding between 724 // `FAILED_PRECONDITION`, 725 // `ABORTED`, and `UNAVAILABLE`. 726 // 727 // HTTP Mapping: 409 Conflict 728 // "OUT_OF_RANGE" - The operation was attempted past the valid range. 729 // E.g., seeking or 730 // reading past end-of-file. 731 // 732 // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may 733 // be fixed if the system state changes. For example, a 32-bit 734 // file 735 // system will generate `INVALID_ARGUMENT` if asked to read at an 736 // offset that is not in the range [0,2^32-1], but it will 737 // generate 738 // `OUT_OF_RANGE` if asked to read from an offset past the current 739 // file size. 740 // 741 // There is a fair bit of overlap between `FAILED_PRECONDITION` 742 // and 743 // `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more 744 // specific 745 // error) when it applies so that callers who are iterating through 746 // a space can easily look for an `OUT_OF_RANGE` error to detect 747 // when 748 // they are done. 749 // 750 // HTTP Mapping: 400 Bad Request 751 // "UNIMPLEMENTED" - The operation is not implemented or is not 752 // supported/enabled in this 753 // service. 754 // 755 // HTTP Mapping: 501 Not Implemented 756 // "INTERNAL" - Internal errors. This means that some invariants 757 // expected by the 758 // underlying system have been broken. This error code is reserved 759 // for serious errors. 760 // 761 // HTTP Mapping: 500 Internal Server Error 762 // "UNAVAILABLE" - The service is currently unavailable. This is most 763 // likely a 764 // transient condition, which can be corrected by retrying with 765 // a backoff. Note that it is not always safe to retry 766 // non-idempotent operations. 767 // 768 // See the guidelines above for deciding between 769 // `FAILED_PRECONDITION`, 770 // `ABORTED`, and `UNAVAILABLE`. 771 // 772 // HTTP Mapping: 503 Service Unavailable 773 // "DATA_LOSS" - Unrecoverable data loss or corruption. 774 // 775 // HTTP Mapping: 500 Internal Server Error 776 Code string `json:"code,omitempty"` 777 778 // ForceSendFields is a list of field names (e.g. "Cause") to 779 // unconditionally include in API requests. By default, fields with 780 // empty values are omitted from API requests. However, any non-pointer, 781 // non-interface field appearing in ForceSendFields will be sent to the 782 // server regardless of whether the field is empty or not. This may be 783 // used to include empty fields in Patch requests. 784 ForceSendFields []string `json:"-"` 785 786 // NullFields is a list of field names (e.g. "Cause") to include in API 787 // requests with the JSON null value. By default, fields with empty 788 // values are omitted from API requests. However, any field with an 789 // empty value appearing in NullFields will be sent to the server as 790 // null. It is an error if a field in this list has a non-empty value. 791 // This may be used to include null fields in Patch requests. 792 NullFields []string `json:"-"` 793} 794 795func (s *FailedEvent) MarshalJSON() ([]byte, error) { 796 type NoMethod FailedEvent 797 raw := NoMethod(*s) 798 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 799} 800 801// ListOperationsResponse: The response message for 802// Operations.ListOperations. 803type ListOperationsResponse struct { 804 // NextPageToken: The standard List next-page token. 805 NextPageToken string `json:"nextPageToken,omitempty"` 806 807 // Operations: A list of operations that matches the specified filter in 808 // the request. 809 Operations []*Operation `json:"operations,omitempty"` 810 811 // ServerResponse contains the HTTP response code and headers from the 812 // server. 813 googleapi.ServerResponse `json:"-"` 814 815 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 816 // unconditionally include in API requests. By default, fields with 817 // empty values are omitted from API requests. However, any non-pointer, 818 // non-interface field appearing in ForceSendFields will be sent to the 819 // server regardless of whether the field is empty or not. This may be 820 // used to include empty fields in Patch requests. 821 ForceSendFields []string `json:"-"` 822 823 // NullFields is a list of field names (e.g. "NextPageToken") to include 824 // in API requests with the JSON null value. By default, fields with 825 // empty values are omitted from API requests. However, any field with 826 // an empty value appearing in NullFields will be sent to the server as 827 // null. It is an error if a field in this list has a non-empty value. 828 // This may be used to include null fields in Patch requests. 829 NullFields []string `json:"-"` 830} 831 832func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 833 type NoMethod ListOperationsResponse 834 raw := NoMethod(*s) 835 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 836} 837 838// ListPipelinesResponse: The response of ListPipelines. Contains at 839// most `pageSize` 840// pipelines. If it contains `pageSize` pipelines, and more 841// pipelines 842// exist, then `nextPageToken` will be populated and should be 843// used as the `pageToken` argument to a subsequent 844// ListPipelines 845// request. 846type ListPipelinesResponse struct { 847 // NextPageToken: The token to use to get the next page of results. 848 NextPageToken string `json:"nextPageToken,omitempty"` 849 850 // Pipelines: The matched pipelines. 851 Pipelines []*Pipeline `json:"pipelines,omitempty"` 852 853 // ServerResponse contains the HTTP response code and headers from the 854 // server. 855 googleapi.ServerResponse `json:"-"` 856 857 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 858 // unconditionally include in API requests. By default, fields with 859 // empty values are omitted from API requests. However, any non-pointer, 860 // non-interface field appearing in ForceSendFields will be sent to the 861 // server regardless of whether the field is empty or not. This may be 862 // used to include empty fields in Patch requests. 863 ForceSendFields []string `json:"-"` 864 865 // NullFields is a list of field names (e.g. "NextPageToken") to include 866 // in API requests with the JSON null value. By default, fields with 867 // empty values are omitted from API requests. However, any field with 868 // an empty value appearing in NullFields will be sent to the server as 869 // null. It is an error if a field in this list has a non-empty value. 870 // This may be used to include null fields in Patch requests. 871 NullFields []string `json:"-"` 872} 873 874func (s *ListPipelinesResponse) MarshalJSON() ([]byte, error) { 875 type NoMethod ListPipelinesResponse 876 raw := NoMethod(*s) 877 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 878} 879 880// LocalCopy: LocalCopy defines how a remote file should be copied to 881// and from the VM. 882type LocalCopy struct { 883 // Disk: Required. The name of the disk where this parameter is 884 // located. Can be the name of one of the disks specified in 885 // the 886 // Resources field, or "boot", which represents the Docker 887 // instance's boot disk and has a mount point of `/`. 888 Disk string `json:"disk,omitempty"` 889 890 // Path: Required. The path within the user's docker container 891 // where 892 // this input should be localized to and from, relative to the 893 // specified 894 // disk's mount point. For example: file.txt, 895 Path string `json:"path,omitempty"` 896 897 // ForceSendFields is a list of field names (e.g. "Disk") to 898 // unconditionally include in API requests. By default, fields with 899 // empty values are omitted from API requests. However, any non-pointer, 900 // non-interface field appearing in ForceSendFields will be sent to the 901 // server regardless of whether the field is empty or not. This may be 902 // used to include empty fields in Patch requests. 903 ForceSendFields []string `json:"-"` 904 905 // NullFields is a list of field names (e.g. "Disk") to include in API 906 // requests with the JSON null value. By default, fields with empty 907 // values are omitted from API requests. However, any field with an 908 // empty value appearing in NullFields will be sent to the server as 909 // null. It is an error if a field in this list has a non-empty value. 910 // This may be used to include null fields in Patch requests. 911 NullFields []string `json:"-"` 912} 913 914func (s *LocalCopy) MarshalJSON() ([]byte, error) { 915 type NoMethod LocalCopy 916 raw := NoMethod(*s) 917 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 918} 919 920// LoggingOptions: The logging options for the pipeline run. 921type LoggingOptions struct { 922 // GcsPath: The location in Google Cloud Storage to which the pipeline 923 // logs 924 // will be copied. Can be specified as a fully qualified directory 925 // path, in which case logs will be output with a unique identifier 926 // as the filename in that directory, or as a fully specified 927 // path, 928 // which must end in `.log`, in which case that path will be 929 // used, and the user must ensure that logs are not 930 // overwritten. Stdout and stderr logs from the run are also 931 // generated and output as `-stdout.log` and `-stderr.log`. 932 GcsPath string `json:"gcsPath,omitempty"` 933 934 // ForceSendFields is a list of field names (e.g. "GcsPath") to 935 // unconditionally include in API requests. By default, fields with 936 // empty values are omitted from API requests. However, any non-pointer, 937 // non-interface field appearing in ForceSendFields will be sent to the 938 // server regardless of whether the field is empty or not. This may be 939 // used to include empty fields in Patch requests. 940 ForceSendFields []string `json:"-"` 941 942 // NullFields is a list of field names (e.g. "GcsPath") to include in 943 // API requests with the JSON null value. By default, fields with empty 944 // values are omitted from API requests. However, any field with an 945 // empty value appearing in NullFields will be sent to the server as 946 // null. It is an error if a field in this list has a non-empty value. 947 // This may be used to include null fields in Patch requests. 948 NullFields []string `json:"-"` 949} 950 951func (s *LoggingOptions) MarshalJSON() ([]byte, error) { 952 type NoMethod LoggingOptions 953 raw := NoMethod(*s) 954 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 955} 956 957// Operation: This resource represents a long-running operation that is 958// the result of a 959// network API call. 960type Operation struct { 961 // Done: If the value is `false`, it means the operation is still in 962 // progress. 963 // If `true`, the operation is completed, and either `error` or 964 // `response` is 965 // available. 966 Done bool `json:"done,omitempty"` 967 968 // Error: The error result of the operation in case of failure or 969 // cancellation. 970 Error *Status `json:"error,omitempty"` 971 972 // Metadata: An OperationMetadata or Metadata object. This will always 973 // be returned with the Operation. 974 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 975 976 // Name: The server-assigned name, which is only unique within the same 977 // service that originally returns it. For example: 978 // `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw` 979 Name string `json:"name,omitempty"` 980 981 // Response: An Empty object. 982 Response googleapi.RawMessage `json:"response,omitempty"` 983 984 // ServerResponse contains the HTTP response code and headers from the 985 // server. 986 googleapi.ServerResponse `json:"-"` 987 988 // ForceSendFields is a list of field names (e.g. "Done") to 989 // unconditionally include in API requests. By default, fields with 990 // empty values are omitted from API requests. However, any non-pointer, 991 // non-interface field appearing in ForceSendFields will be sent to the 992 // server regardless of whether the field is empty or not. This may be 993 // used to include empty fields in Patch requests. 994 ForceSendFields []string `json:"-"` 995 996 // NullFields is a list of field names (e.g. "Done") to include in API 997 // requests with the JSON null value. By default, fields with empty 998 // values are omitted from API requests. However, any field with an 999 // empty value appearing in NullFields will be sent to the server as 1000 // null. It is an error if a field in this list has a non-empty value. 1001 // This may be used to include null fields in Patch requests. 1002 NullFields []string `json:"-"` 1003} 1004 1005func (s *Operation) MarshalJSON() ([]byte, error) { 1006 type NoMethod Operation 1007 raw := NoMethod(*s) 1008 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1009} 1010 1011// OperationEvent: An event that occurred during an Operation. 1012type OperationEvent struct { 1013 // Description: Required description of event. 1014 Description string `json:"description,omitempty"` 1015 1016 // EndTime: Optional time of when event finished. An event can have a 1017 // start time and no 1018 // finish time. If an event has a finish time, there must be a start 1019 // time. 1020 EndTime string `json:"endTime,omitempty"` 1021 1022 // StartTime: Optional time of when event started. 1023 StartTime string `json:"startTime,omitempty"` 1024 1025 // ForceSendFields is a list of field names (e.g. "Description") to 1026 // unconditionally include in API requests. By default, fields with 1027 // empty values are omitted from API requests. However, any non-pointer, 1028 // non-interface field appearing in ForceSendFields will be sent to the 1029 // server regardless of whether the field is empty or not. This may be 1030 // used to include empty fields in Patch requests. 1031 ForceSendFields []string `json:"-"` 1032 1033 // NullFields is a list of field names (e.g. "Description") to include 1034 // in API requests with the JSON null value. By default, fields with 1035 // empty values are omitted from API requests. However, any field with 1036 // an empty value appearing in NullFields will be sent to the server as 1037 // null. It is an error if a field in this list has a non-empty value. 1038 // This may be used to include null fields in Patch requests. 1039 NullFields []string `json:"-"` 1040} 1041 1042func (s *OperationEvent) MarshalJSON() ([]byte, error) { 1043 type NoMethod OperationEvent 1044 raw := NoMethod(*s) 1045 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1046} 1047 1048// OperationMetadata: Metadata describing an Operation. 1049type OperationMetadata struct { 1050 // ClientId: This field is deprecated. Use `labels` instead. Optionally 1051 // provided by the 1052 // caller when submitting the request that creates the operation. 1053 ClientId string `json:"clientId,omitempty"` 1054 1055 // CreateTime: The time at which the job was submitted to the Genomics 1056 // service. 1057 CreateTime string `json:"createTime,omitempty"` 1058 1059 // EndTime: The time at which the job stopped running. 1060 EndTime string `json:"endTime,omitempty"` 1061 1062 // Events: Optional event messages that were generated during the job's 1063 // execution. 1064 // This also contains any warnings that were generated during import 1065 // or export. 1066 Events []*OperationEvent `json:"events,omitempty"` 1067 1068 // Labels: Optionally provided by the caller when submitting the request 1069 // that creates 1070 // the operation. 1071 Labels map[string]string `json:"labels,omitempty"` 1072 1073 // ProjectId: The Google Cloud Project in which the job is scoped. 1074 ProjectId string `json:"projectId,omitempty"` 1075 1076 // Request: The original request that started the operation. Note that 1077 // this will be in 1078 // current version of the API. If the operation was started with v1beta2 1079 // API 1080 // and a GetOperation is performed on v1 API, a v1 request will be 1081 // returned. 1082 Request googleapi.RawMessage `json:"request,omitempty"` 1083 1084 // RuntimeMetadata: Runtime metadata on this Operation. 1085 RuntimeMetadata googleapi.RawMessage `json:"runtimeMetadata,omitempty"` 1086 1087 // StartTime: The time at which the job began to run. 1088 StartTime string `json:"startTime,omitempty"` 1089 1090 // ForceSendFields is a list of field names (e.g. "ClientId") to 1091 // unconditionally include in API requests. By default, fields with 1092 // empty values are omitted from API requests. However, any non-pointer, 1093 // non-interface field appearing in ForceSendFields will be sent to the 1094 // server regardless of whether the field is empty or not. This may be 1095 // used to include empty fields in Patch requests. 1096 ForceSendFields []string `json:"-"` 1097 1098 // NullFields is a list of field names (e.g. "ClientId") to include in 1099 // API requests with the JSON null value. By default, fields with empty 1100 // values are omitted from API requests. However, any field with an 1101 // empty value appearing in NullFields will be sent to the server as 1102 // null. It is an error if a field in this list has a non-empty value. 1103 // This may be used to include null fields in Patch requests. 1104 NullFields []string `json:"-"` 1105} 1106 1107func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 1108 type NoMethod OperationMetadata 1109 raw := NoMethod(*s) 1110 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1111} 1112 1113// Pipeline: The pipeline object. Represents a transformation from a set 1114// of input 1115// parameters to a set of output parameters. The transformation is 1116// defined 1117// as a docker image and command to run within that image. Each 1118// pipeline 1119// is run on a Google Compute Engine VM. A pipeline can be created with 1120// the 1121// `create` method and then later run with the `run` method, or a 1122// pipeline can 1123// be defined and run all at once with the `run` method. 1124type Pipeline struct { 1125 // Description: User-specified description. 1126 Description string `json:"description,omitempty"` 1127 1128 // Docker: Specifies the docker run information. 1129 Docker *DockerExecutor `json:"docker,omitempty"` 1130 1131 // InputParameters: Input parameters of the pipeline. 1132 InputParameters []*PipelineParameter `json:"inputParameters,omitempty"` 1133 1134 // Name: Required. A user specified pipeline name that does not have to 1135 // be unique. 1136 // This name can be used for filtering Pipelines in ListPipelines. 1137 Name string `json:"name,omitempty"` 1138 1139 // OutputParameters: Output parameters of the pipeline. 1140 OutputParameters []*PipelineParameter `json:"outputParameters,omitempty"` 1141 1142 // PipelineId: Unique pipeline id that is generated by the service when 1143 // CreatePipeline 1144 // is called. Cannot be specified in the Pipeline used in 1145 // the 1146 // CreatePipelineRequest, and will be populated in the response 1147 // to 1148 // CreatePipeline and all subsequent Get and List calls. Indicates that 1149 // the 1150 // service has registered this pipeline. 1151 PipelineId string `json:"pipelineId,omitempty"` 1152 1153 // ProjectId: Required. The project in which to create the pipeline. The 1154 // caller must have 1155 // WRITE access. 1156 ProjectId string `json:"projectId,omitempty"` 1157 1158 // Resources: Required. Specifies resource requirements for the pipeline 1159 // run. 1160 // Required fields: 1161 // 1162 // * 1163 // minimumCpuCores 1164 // 1165 // * 1166 // minimumRamGb 1167 Resources *PipelineResources `json:"resources,omitempty"` 1168 1169 // ServerResponse contains the HTTP response code and headers from the 1170 // server. 1171 googleapi.ServerResponse `json:"-"` 1172 1173 // ForceSendFields is a list of field names (e.g. "Description") to 1174 // unconditionally include in API requests. By default, fields with 1175 // empty values are omitted from API requests. However, any non-pointer, 1176 // non-interface field appearing in ForceSendFields will be sent to the 1177 // server regardless of whether the field is empty or not. This may be 1178 // used to include empty fields in Patch requests. 1179 ForceSendFields []string `json:"-"` 1180 1181 // NullFields is a list of field names (e.g. "Description") to include 1182 // in API requests with the JSON null value. By default, fields with 1183 // empty values are omitted from API requests. However, any field with 1184 // an empty value appearing in NullFields will be sent to the server as 1185 // null. It is an error if a field in this list has a non-empty value. 1186 // This may be used to include null fields in Patch requests. 1187 NullFields []string `json:"-"` 1188} 1189 1190func (s *Pipeline) MarshalJSON() ([]byte, error) { 1191 type NoMethod Pipeline 1192 raw := NoMethod(*s) 1193 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1194} 1195 1196// PipelineParameter: Parameters facilitate setting and delivering data 1197// into the 1198// pipeline's execution environment. They are defined at create 1199// time, 1200// with optional defaults, and can be overridden at run time. 1201// 1202// If `localCopy` is unset, then the parameter specifies a string 1203// that 1204// is passed as-is into the pipeline, as the value of the 1205// environment 1206// variable with the given name. A default value can be 1207// optionally 1208// specified at create time. The default can be overridden at run 1209// time 1210// using the inputs map. If no default is given, a value must 1211// be 1212// supplied at runtime. 1213// 1214// If `localCopy` is defined, then the parameter specifies a data 1215// source or sink, both in Google Cloud Storage and on the Docker 1216// container 1217// where the pipeline computation is run. The service account associated 1218// with 1219// the Pipeline (by 1220// default the project's Compute Engine service account) must have 1221// access to the 1222// Google Cloud Storage paths. 1223// 1224// At run time, the Google Cloud Storage paths can be overridden if a 1225// default 1226// was provided at create time, or must be set otherwise. The pipeline 1227// runner 1228// should add a key/value pair to either the inputs or outputs map. 1229// The 1230// indicated data copies will be carried out before/after pipeline 1231// execution, 1232// just as if the corresponding arguments were provided to `gsutil 1233// cp`. 1234// 1235// For example: Given the following `PipelineParameter`, specified 1236// in the `inputParameters` list: 1237// 1238// ``` 1239// {name: "input_file", localCopy: {path: "file.txt", disk: 1240// "pd1"}} 1241// ``` 1242// 1243// where `disk` is defined in the `PipelineResources` object 1244// as: 1245// 1246// ``` 1247// {name: "pd1", mountPoint: "/mnt/disk/"} 1248// ``` 1249// 1250// We create a disk named `pd1`, mount it on the host VM, and 1251// map 1252// `/mnt/pd1` to `/mnt/disk` in the docker container. At 1253// runtime, an entry for `input_file` would be required in the 1254// inputs 1255// map, such as: 1256// 1257// ``` 1258// inputs["input_file"] = "gs://my-bucket/bar.txt" 1259// ``` 1260// 1261// This would generate the following gsutil call: 1262// 1263// ``` 1264// gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt 1265// ``` 1266// 1267// The file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in 1268// the 1269// Docker container. Acceptable paths are: 1270// 1271// <table> 1272// <thead> 1273// <tr><th>Google Cloud storage path</th><th>Local path</th></tr> 1274// </thead> 1275// <tbody> 1276// <tr><td>file</td><td>file</td></tr> 1277// <tr><td>glob</td><td>directory</td></tr> 1278// </tbody> 1279// </table> 1280// 1281// For outputs, the direction of the copy is reversed: 1282// 1283// ``` 1284// gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt 1285// ``` 1286// 1287// Acceptable paths are: 1288// 1289// <table> 1290// <thead> 1291// <tr><th>Local path</th><th>Google Cloud Storage path</th></tr> 1292// </thead> 1293// <tbody> 1294// <tr><td>file</td><td>file</td></tr> 1295// <tr> 1296// <td>file</td> 1297// <td>directory - directory must already exist</td> 1298// </tr> 1299// <tr> 1300// <td>glob</td> 1301// <td>directory - directory will be created if it doesn't 1302// exist</td></tr> 1303// </tbody> 1304// </table> 1305// 1306// One restriction due to docker limitations, is that for outputs that 1307// are found 1308// on the boot disk, the local path cannot be a glob and must be a file. 1309type PipelineParameter struct { 1310 // DefaultValue: The default value for this parameter. Can be overridden 1311 // at runtime. 1312 // If `localCopy` is present, then this must be a Google Cloud Storage 1313 // path 1314 // beginning with `gs://`. 1315 DefaultValue string `json:"defaultValue,omitempty"` 1316 1317 // Description: Human-readable description. 1318 Description string `json:"description,omitempty"` 1319 1320 // LocalCopy: If present, this parameter is marked for copying to and 1321 // from the VM. 1322 // `LocalCopy` indicates where on the VM the file should be. The 1323 // value 1324 // given to this parameter (either at runtime or using 1325 // `defaultValue`) 1326 // must be the remote path where the file should be. 1327 LocalCopy *LocalCopy `json:"localCopy,omitempty"` 1328 1329 // Name: Required. Name of the parameter - the pipeline runner uses this 1330 // string 1331 // as the key to the input and output maps in RunPipeline. 1332 Name string `json:"name,omitempty"` 1333 1334 // ForceSendFields is a list of field names (e.g. "DefaultValue") to 1335 // unconditionally include in API requests. By default, fields with 1336 // empty values are omitted from API requests. However, any non-pointer, 1337 // non-interface field appearing in ForceSendFields will be sent to the 1338 // server regardless of whether the field is empty or not. This may be 1339 // used to include empty fields in Patch requests. 1340 ForceSendFields []string `json:"-"` 1341 1342 // NullFields is a list of field names (e.g. "DefaultValue") to include 1343 // in API requests with the JSON null value. By default, fields with 1344 // empty values are omitted from API requests. However, any field with 1345 // an empty value appearing in NullFields will be sent to the server as 1346 // null. It is an error if a field in this list has a non-empty value. 1347 // This may be used to include null fields in Patch requests. 1348 NullFields []string `json:"-"` 1349} 1350 1351func (s *PipelineParameter) MarshalJSON() ([]byte, error) { 1352 type NoMethod PipelineParameter 1353 raw := NoMethod(*s) 1354 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1355} 1356 1357// PipelineResources: The system resources for the pipeline run. 1358type PipelineResources struct { 1359 // AcceleratorCount: Optional. The number of accelerators of the 1360 // specified type to attach. 1361 // By specifying this parameter, you will download and install the 1362 // following 1363 // third-party software onto your managed Compute Engine 1364 // instances: 1365 // NVIDIA® Tesla® drivers and NVIDIA® CUDA toolkit. 1366 AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` 1367 1368 // AcceleratorType: Optional. The Compute Engine defined accelerator 1369 // type. 1370 // By specifying this parameter, you will download and install the 1371 // following 1372 // third-party software onto your managed Compute Engine instances: 1373 // NVIDIA® 1374 // Tesla® drivers and NVIDIA® CUDA toolkit. 1375 // Please see https://cloud.google.com/compute/docs/gpus/ for a list 1376 // of 1377 // available accelerator types. 1378 AcceleratorType string `json:"acceleratorType,omitempty"` 1379 1380 // BootDiskSizeGb: The size of the boot disk. Defaults to 10 (GB). 1381 BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"` 1382 1383 // Disks: Disks to attach. 1384 Disks []*Disk `json:"disks,omitempty"` 1385 1386 // MinimumCpuCores: The minimum number of cores to use. Defaults to 1. 1387 MinimumCpuCores int64 `json:"minimumCpuCores,omitempty"` 1388 1389 // MinimumRamGb: The minimum amount of RAM to use. Defaults to 3.75 (GB) 1390 MinimumRamGb float64 `json:"minimumRamGb,omitempty"` 1391 1392 // NoAddress: Whether to assign an external IP to the instance. This is 1393 // an experimental 1394 // feature that may go away. Defaults to false. 1395 // Corresponds to `--no_address` flag for [gcloud compute instances 1396 // create] 1397 // (https://cloud.google.com/sdk/gcloud/reference/compute/instanc 1398 // es/create). 1399 // In order to use this, must be true for both create time and run 1400 // time. 1401 // Cannot be true at run time if false at create time. If you need to 1402 // ssh into 1403 // a private IP VM for debugging, you can ssh to a public VM and then 1404 // ssh into 1405 // the private VM's Internal IP. If noAddress is set, this pipeline run 1406 // may 1407 // only load docker images from Google Container Registry and not Docker 1408 // Hub. 1409 // Before using this, you must 1410 // [configure access to Google services from 1411 // internal 1412 // IPs](https://cloud.google.com/compute/docs/configure-private- 1413 // google-access#configuring_access_to_google_services_from_internal_ips) 1414 // . 1415 NoAddress bool `json:"noAddress,omitempty"` 1416 1417 // Preemptible: Whether to use preemptible VMs. Defaults to `false`. In 1418 // order to use this, 1419 // must be true for both create time and run time. Cannot be true at run 1420 // time 1421 // if false at create time. 1422 Preemptible bool `json:"preemptible,omitempty"` 1423 1424 // Zones: List of Google Compute Engine availability zones to which 1425 // resource 1426 // creation will restricted. If empty, any zone may be chosen. 1427 Zones []string `json:"zones,omitempty"` 1428 1429 // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to 1430 // unconditionally include in API requests. By default, fields with 1431 // empty values are omitted from API requests. However, any non-pointer, 1432 // non-interface field appearing in ForceSendFields will be sent to the 1433 // server regardless of whether the field is empty or not. This may be 1434 // used to include empty fields in Patch requests. 1435 ForceSendFields []string `json:"-"` 1436 1437 // NullFields is a list of field names (e.g. "AcceleratorCount") to 1438 // include in API requests with the JSON null value. By default, fields 1439 // with empty values are omitted from API requests. However, any field 1440 // with an empty value appearing in NullFields will be sent to the 1441 // server as null. It is an error if a field in this list has a 1442 // non-empty value. This may be used to include null fields in Patch 1443 // requests. 1444 NullFields []string `json:"-"` 1445} 1446 1447func (s *PipelineResources) MarshalJSON() ([]byte, error) { 1448 type NoMethod PipelineResources 1449 raw := NoMethod(*s) 1450 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1451} 1452 1453func (s *PipelineResources) UnmarshalJSON(data []byte) error { 1454 type NoMethod PipelineResources 1455 var s1 struct { 1456 MinimumRamGb gensupport.JSONFloat64 `json:"minimumRamGb"` 1457 *NoMethod 1458 } 1459 s1.NoMethod = (*NoMethod)(s) 1460 if err := json.Unmarshal(data, &s1); err != nil { 1461 return err 1462 } 1463 s.MinimumRamGb = float64(s1.MinimumRamGb) 1464 return nil 1465} 1466 1467// PullStartedEvent: An event generated when the worker starts pulling 1468// an image. 1469type PullStartedEvent struct { 1470 // ImageUri: The URI of the image that was pulled. 1471 ImageUri string `json:"imageUri,omitempty"` 1472 1473 // ForceSendFields is a list of field names (e.g. "ImageUri") to 1474 // unconditionally include in API requests. By default, fields with 1475 // empty values are omitted from API requests. However, any non-pointer, 1476 // non-interface field appearing in ForceSendFields will be sent to the 1477 // server regardless of whether the field is empty or not. This may be 1478 // used to include empty fields in Patch requests. 1479 ForceSendFields []string `json:"-"` 1480 1481 // NullFields is a list of field names (e.g. "ImageUri") to include in 1482 // API requests with the JSON null value. By default, fields with empty 1483 // values are omitted from API requests. However, any field with an 1484 // empty value appearing in NullFields will be sent to the server as 1485 // null. It is an error if a field in this list has a non-empty value. 1486 // This may be used to include null fields in Patch requests. 1487 NullFields []string `json:"-"` 1488} 1489 1490func (s *PullStartedEvent) MarshalJSON() ([]byte, error) { 1491 type NoMethod PullStartedEvent 1492 raw := NoMethod(*s) 1493 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1494} 1495 1496// PullStoppedEvent: An event generated when the worker stops pulling an 1497// image. 1498type PullStoppedEvent struct { 1499 // ImageUri: The URI of the image that was pulled. 1500 ImageUri string `json:"imageUri,omitempty"` 1501 1502 // ForceSendFields is a list of field names (e.g. "ImageUri") to 1503 // unconditionally include in API requests. By default, fields with 1504 // empty values are omitted from API requests. However, any non-pointer, 1505 // non-interface field appearing in ForceSendFields will be sent to the 1506 // server regardless of whether the field is empty or not. This may be 1507 // used to include empty fields in Patch requests. 1508 ForceSendFields []string `json:"-"` 1509 1510 // NullFields is a list of field names (e.g. "ImageUri") to include in 1511 // API requests with the JSON null value. By default, fields with empty 1512 // values are omitted from API requests. However, any field with an 1513 // empty value appearing in NullFields will be sent to the server as 1514 // null. It is an error if a field in this list has a non-empty value. 1515 // This may be used to include null fields in Patch requests. 1516 NullFields []string `json:"-"` 1517} 1518 1519func (s *PullStoppedEvent) MarshalJSON() ([]byte, error) { 1520 type NoMethod PullStoppedEvent 1521 raw := NoMethod(*s) 1522 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1523} 1524 1525type RepeatedString struct { 1526 Values []string `json:"values,omitempty"` 1527 1528 // ForceSendFields is a list of field names (e.g. "Values") to 1529 // unconditionally include in API requests. By default, fields with 1530 // empty values are omitted from API requests. However, any non-pointer, 1531 // non-interface field appearing in ForceSendFields will be sent to the 1532 // server regardless of whether the field is empty or not. This may be 1533 // used to include empty fields in Patch requests. 1534 ForceSendFields []string `json:"-"` 1535 1536 // NullFields is a list of field names (e.g. "Values") to include in API 1537 // requests with the JSON null value. By default, fields with empty 1538 // values are omitted from API requests. However, any field with an 1539 // empty value appearing in NullFields will be sent to the server as 1540 // null. It is an error if a field in this list has a non-empty value. 1541 // This may be used to include null fields in Patch requests. 1542 NullFields []string `json:"-"` 1543} 1544 1545func (s *RepeatedString) MarshalJSON() ([]byte, error) { 1546 type NoMethod RepeatedString 1547 raw := NoMethod(*s) 1548 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1549} 1550 1551// RunPipelineArgs: The pipeline run arguments. 1552type RunPipelineArgs struct { 1553 // ClientId: This field is deprecated. Use `labels` instead. 1554 // Client-specified pipeline 1555 // operation identifier. 1556 ClientId string `json:"clientId,omitempty"` 1557 1558 // Inputs: Pipeline input arguments; keys are defined in the pipeline 1559 // documentation. 1560 // All input parameters that do not have default values must be 1561 // specified. 1562 // If parameters with defaults are specified here, the defaults will 1563 // be 1564 // overridden. 1565 Inputs map[string]string `json:"inputs,omitempty"` 1566 1567 // KeepVmAliveOnFailureDuration: How long to keep the VM up after a 1568 // failure (for example docker command 1569 // failed, copying input or output files failed, etc). While the VM is 1570 // up, one 1571 // can ssh into the VM to debug. Default is 0; maximum allowed value is 1572 // 1 day. 1573 KeepVmAliveOnFailureDuration string `json:"keepVmAliveOnFailureDuration,omitempty"` 1574 1575 // Labels: Labels to apply to this pipeline run. Labels will also be 1576 // applied to 1577 // compute resources (VM, disks) created by this pipeline run. When 1578 // listing 1579 // operations, operations can filtered by labels. 1580 // Label keys may not be empty; label values may be empty. Non-empty 1581 // labels 1582 // must be 1-63 characters long, and comply with 1583 // [RFC1035] 1584 // (https://www.ietf.org/rfc/rfc1035.txt). 1585 // Specifically, the name must be 1-63 characters long and match the 1586 // regular 1587 // expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the 1588 // first 1589 // character must be a lowercase letter, and all following characters 1590 // must be 1591 // a dash, lowercase letter, or digit, except the last character, which 1592 // cannot 1593 // be a dash. 1594 Labels map[string]string `json:"labels,omitempty"` 1595 1596 // Logging: Required. Logging options. Used by the service to 1597 // communicate results 1598 // to the user. 1599 Logging *LoggingOptions `json:"logging,omitempty"` 1600 1601 // Outputs: Pipeline output arguments; keys are defined in the 1602 // pipeline 1603 // documentation. All output parameters of without default values 1604 // must be specified. If parameters with defaults are specified 1605 // here, the defaults will be overridden. 1606 Outputs map[string]string `json:"outputs,omitempty"` 1607 1608 // ProjectId: Required. The project in which to run the pipeline. The 1609 // caller must have 1610 // WRITER access to all Google Cloud services and resources (e.g. 1611 // Google 1612 // Compute Engine) will be used. 1613 ProjectId string `json:"projectId,omitempty"` 1614 1615 // Resources: Specifies resource requirements/overrides for the pipeline 1616 // run. 1617 Resources *PipelineResources `json:"resources,omitempty"` 1618 1619 // ServiceAccount: The Google Cloud Service Account that will be used to 1620 // access data and 1621 // services. By default, the compute service account associated 1622 // with 1623 // `projectId` is used. 1624 ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` 1625 1626 // ForceSendFields is a list of field names (e.g. "ClientId") to 1627 // unconditionally include in API requests. By default, fields with 1628 // empty values are omitted from API requests. However, any non-pointer, 1629 // non-interface field appearing in ForceSendFields will be sent to the 1630 // server regardless of whether the field is empty or not. This may be 1631 // used to include empty fields in Patch requests. 1632 ForceSendFields []string `json:"-"` 1633 1634 // NullFields is a list of field names (e.g. "ClientId") to include in 1635 // API requests with the JSON null value. By default, fields with empty 1636 // values are omitted from API requests. However, any field with an 1637 // empty value appearing in NullFields will be sent to the server as 1638 // null. It is an error if a field in this list has a non-empty value. 1639 // This may be used to include null fields in Patch requests. 1640 NullFields []string `json:"-"` 1641} 1642 1643func (s *RunPipelineArgs) MarshalJSON() ([]byte, error) { 1644 type NoMethod RunPipelineArgs 1645 raw := NoMethod(*s) 1646 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1647} 1648 1649// RunPipelineRequest: The request to run a pipeline. If `pipelineId` is 1650// specified, it 1651// refers to a saved pipeline created with CreatePipeline and set as 1652// the `pipelineId` of the returned Pipeline object. 1653// If 1654// `ephemeralPipeline` is specified, that pipeline is run once 1655// with the given args and not saved. It is an error to specify 1656// both 1657// `pipelineId` and `ephemeralPipeline`. `pipelineArgs` 1658// must be specified. 1659type RunPipelineRequest struct { 1660 // EphemeralPipeline: A new pipeline object to run once and then delete. 1661 EphemeralPipeline *Pipeline `json:"ephemeralPipeline,omitempty"` 1662 1663 // PipelineArgs: The arguments to use when running this pipeline. 1664 PipelineArgs *RunPipelineArgs `json:"pipelineArgs,omitempty"` 1665 1666 // PipelineId: The already created pipeline to run. 1667 PipelineId string `json:"pipelineId,omitempty"` 1668 1669 // ForceSendFields is a list of field names (e.g. "EphemeralPipeline") 1670 // to unconditionally include in API requests. By default, fields with 1671 // empty values are omitted from API requests. However, any non-pointer, 1672 // non-interface field appearing in ForceSendFields will be sent to the 1673 // server regardless of whether the field is empty or not. This may be 1674 // used to include empty fields in Patch requests. 1675 ForceSendFields []string `json:"-"` 1676 1677 // NullFields is a list of field names (e.g. "EphemeralPipeline") to 1678 // include in API requests with the JSON null value. By default, fields 1679 // with empty values are omitted from API requests. However, any field 1680 // with an empty value appearing in NullFields will be sent to the 1681 // server as null. It is an error if a field in this list has a 1682 // non-empty value. This may be used to include null fields in Patch 1683 // requests. 1684 NullFields []string `json:"-"` 1685} 1686 1687func (s *RunPipelineRequest) MarshalJSON() ([]byte, error) { 1688 type NoMethod RunPipelineRequest 1689 raw := NoMethod(*s) 1690 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1691} 1692 1693// RunPipelineResponse: The response to the RunPipeline method, returned 1694// in the operation's result 1695// field on success. 1696type RunPipelineResponse struct { 1697} 1698 1699// RuntimeMetadata: Runtime metadata that will be populated in 1700// the 1701// runtimeMetadata 1702// field of the Operation associated with a RunPipeline execution. 1703type RuntimeMetadata struct { 1704 // ComputeEngine: Execution information specific to Google Compute 1705 // Engine. 1706 ComputeEngine *ComputeEngine `json:"computeEngine,omitempty"` 1707 1708 // ForceSendFields is a list of field names (e.g. "ComputeEngine") to 1709 // unconditionally include in API requests. By default, fields with 1710 // empty values are omitted from API requests. However, any non-pointer, 1711 // non-interface field appearing in ForceSendFields will be sent to the 1712 // server regardless of whether the field is empty or not. This may be 1713 // used to include empty fields in Patch requests. 1714 ForceSendFields []string `json:"-"` 1715 1716 // NullFields is a list of field names (e.g. "ComputeEngine") to include 1717 // in API requests with the JSON null value. By default, fields with 1718 // empty values are omitted from API requests. However, any field with 1719 // an empty value appearing in NullFields will be sent to the server as 1720 // null. It is an error if a field in this list has a non-empty value. 1721 // This may be used to include null fields in Patch requests. 1722 NullFields []string `json:"-"` 1723} 1724 1725func (s *RuntimeMetadata) MarshalJSON() ([]byte, error) { 1726 type NoMethod RuntimeMetadata 1727 raw := NoMethod(*s) 1728 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1729} 1730 1731// ServiceAccount: A Google Cloud Service Account. 1732type ServiceAccount struct { 1733 // Email: Email address of the service account. Defaults to 1734 // `default`, 1735 // which uses the compute service account associated with the project. 1736 Email string `json:"email,omitempty"` 1737 1738 // Scopes: List of scopes to be enabled for this service account on the 1739 // VM. 1740 // The following scopes are automatically included: 1741 // 1742 // * https://www.googleapis.com/auth/compute 1743 // * https://www.googleapis.com/auth/devstorage.full_control 1744 // * https://www.googleapis.com/auth/genomics 1745 // * https://www.googleapis.com/auth/logging.write 1746 // * https://www.googleapis.com/auth/monitoring.write 1747 Scopes []string `json:"scopes,omitempty"` 1748 1749 // ForceSendFields is a list of field names (e.g. "Email") to 1750 // unconditionally include in API requests. By default, fields with 1751 // empty values are omitted from API requests. However, any non-pointer, 1752 // non-interface field appearing in ForceSendFields will be sent to the 1753 // server regardless of whether the field is empty or not. This may be 1754 // used to include empty fields in Patch requests. 1755 ForceSendFields []string `json:"-"` 1756 1757 // NullFields is a list of field names (e.g. "Email") to include in API 1758 // requests with the JSON null value. By default, fields with empty 1759 // values are omitted from API requests. However, any field with an 1760 // empty value appearing in NullFields will be sent to the server as 1761 // null. It is an error if a field in this list has a non-empty value. 1762 // This may be used to include null fields in Patch requests. 1763 NullFields []string `json:"-"` 1764} 1765 1766func (s *ServiceAccount) MarshalJSON() ([]byte, error) { 1767 type NoMethod ServiceAccount 1768 raw := NoMethod(*s) 1769 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1770} 1771 1772// SetOperationStatusRequest: Request to set operation status. Should 1773// only be used by VMs 1774// created by the Pipelines Service and not by end users. 1775type SetOperationStatusRequest struct { 1776 // Possible values: 1777 // "OK" - Not an error; returned on success 1778 // 1779 // HTTP Mapping: 200 OK 1780 // "CANCELLED" - The operation was cancelled, typically by the 1781 // caller. 1782 // 1783 // HTTP Mapping: 499 Client Closed Request 1784 // "UNKNOWN" - Unknown error. For example, this error may be returned 1785 // when 1786 // a `Status` value received from another address space belongs to 1787 // an error space that is not known in this address space. Also 1788 // errors raised by APIs that do not return enough error information 1789 // may be converted to this error. 1790 // 1791 // HTTP Mapping: 500 Internal Server Error 1792 // "INVALID_ARGUMENT" - The client specified an invalid argument. 1793 // Note that this differs 1794 // from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates 1795 // arguments 1796 // that are problematic regardless of the state of the system 1797 // (e.g., a malformed file name). 1798 // 1799 // HTTP Mapping: 400 Bad Request 1800 // "DEADLINE_EXCEEDED" - The deadline expired before the operation 1801 // could complete. For operations 1802 // that change the state of the system, this error may be returned 1803 // even if the operation has completed successfully. For example, 1804 // a 1805 // successful response from a server could have been delayed long 1806 // enough for the deadline to expire. 1807 // 1808 // HTTP Mapping: 504 Gateway Timeout 1809 // "NOT_FOUND" - Some requested entity (e.g., file or directory) was 1810 // not found. 1811 // 1812 // Note to server developers: if a request is denied for an entire 1813 // class 1814 // of users, such as gradual feature rollout or undocumented 1815 // whitelist, 1816 // `NOT_FOUND` may be used. If a request is denied for some users 1817 // within 1818 // a class of users, such as user-based access control, 1819 // `PERMISSION_DENIED` 1820 // must be used. 1821 // 1822 // HTTP Mapping: 404 Not Found 1823 // "ALREADY_EXISTS" - The entity that a client attempted to create 1824 // (e.g., file or directory) 1825 // already exists. 1826 // 1827 // HTTP Mapping: 409 Conflict 1828 // "PERMISSION_DENIED" - The caller does not have permission to 1829 // execute the specified 1830 // operation. `PERMISSION_DENIED` must not be used for rejections 1831 // caused by exhausting some resource (use `RESOURCE_EXHAUSTED` 1832 // instead for those errors). `PERMISSION_DENIED` must not be 1833 // used if the caller can not be identified (use 1834 // `UNAUTHENTICATED` 1835 // instead for those errors). This error code does not imply the 1836 // request is valid or the requested entity exists or satisfies 1837 // other pre-conditions. 1838 // 1839 // HTTP Mapping: 403 Forbidden 1840 // "UNAUTHENTICATED" - The request does not have valid authentication 1841 // credentials for the 1842 // operation. 1843 // 1844 // HTTP Mapping: 401 Unauthorized 1845 // "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a 1846 // per-user quota, or 1847 // perhaps the entire file system is out of space. 1848 // 1849 // HTTP Mapping: 429 Too Many Requests 1850 // "FAILED_PRECONDITION" - The operation was rejected because the 1851 // system is not in a state 1852 // required for the operation's execution. For example, the 1853 // directory 1854 // to be deleted is non-empty, an rmdir operation is applied to 1855 // a non-directory, etc. 1856 // 1857 // Service implementors can use the following guidelines to 1858 // decide 1859 // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: 1860 // (a) Use `UNAVAILABLE` if the client can retry just the failing 1861 // call. 1862 // (b) Use `ABORTED` if the client should retry at a higher level 1863 // (e.g., when a client-specified test-and-set fails, indicating 1864 // the 1865 // client should restart a read-modify-write sequence). 1866 // (c) Use `FAILED_PRECONDITION` if the client should not retry until 1867 // the system state has been explicitly fixed. E.g., if an 1868 // "rmdir" 1869 // fails because the directory is non-empty, `FAILED_PRECONDITION` 1870 // should be returned since the client should not retry unless 1871 // the files are deleted from the directory. 1872 // 1873 // HTTP Mapping: 400 Bad Request 1874 // "ABORTED" - The operation was aborted, typically due to a 1875 // concurrency issue such as 1876 // a sequencer check failure or transaction abort. 1877 // 1878 // See the guidelines above for deciding between 1879 // `FAILED_PRECONDITION`, 1880 // `ABORTED`, and `UNAVAILABLE`. 1881 // 1882 // HTTP Mapping: 409 Conflict 1883 // "OUT_OF_RANGE" - The operation was attempted past the valid range. 1884 // E.g., seeking or 1885 // reading past end-of-file. 1886 // 1887 // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may 1888 // be fixed if the system state changes. For example, a 32-bit 1889 // file 1890 // system will generate `INVALID_ARGUMENT` if asked to read at an 1891 // offset that is not in the range [0,2^32-1], but it will 1892 // generate 1893 // `OUT_OF_RANGE` if asked to read from an offset past the current 1894 // file size. 1895 // 1896 // There is a fair bit of overlap between `FAILED_PRECONDITION` 1897 // and 1898 // `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more 1899 // specific 1900 // error) when it applies so that callers who are iterating through 1901 // a space can easily look for an `OUT_OF_RANGE` error to detect 1902 // when 1903 // they are done. 1904 // 1905 // HTTP Mapping: 400 Bad Request 1906 // "UNIMPLEMENTED" - The operation is not implemented or is not 1907 // supported/enabled in this 1908 // service. 1909 // 1910 // HTTP Mapping: 501 Not Implemented 1911 // "INTERNAL" - Internal errors. This means that some invariants 1912 // expected by the 1913 // underlying system have been broken. This error code is reserved 1914 // for serious errors. 1915 // 1916 // HTTP Mapping: 500 Internal Server Error 1917 // "UNAVAILABLE" - The service is currently unavailable. This is most 1918 // likely a 1919 // transient condition, which can be corrected by retrying with 1920 // a backoff. Note that it is not always safe to retry 1921 // non-idempotent operations. 1922 // 1923 // See the guidelines above for deciding between 1924 // `FAILED_PRECONDITION`, 1925 // `ABORTED`, and `UNAVAILABLE`. 1926 // 1927 // HTTP Mapping: 503 Service Unavailable 1928 // "DATA_LOSS" - Unrecoverable data loss or corruption. 1929 // 1930 // HTTP Mapping: 500 Internal Server Error 1931 ErrorCode string `json:"errorCode,omitempty"` 1932 1933 ErrorMessage string `json:"errorMessage,omitempty"` 1934 1935 OperationId string `json:"operationId,omitempty"` 1936 1937 TimestampEvents []*TimestampEvent `json:"timestampEvents,omitempty"` 1938 1939 ValidationToken uint64 `json:"validationToken,omitempty,string"` 1940 1941 // ForceSendFields is a list of field names (e.g. "ErrorCode") to 1942 // unconditionally include in API requests. By default, fields with 1943 // empty values are omitted from API requests. However, any non-pointer, 1944 // non-interface field appearing in ForceSendFields will be sent to the 1945 // server regardless of whether the field is empty or not. This may be 1946 // used to include empty fields in Patch requests. 1947 ForceSendFields []string `json:"-"` 1948 1949 // NullFields is a list of field names (e.g. "ErrorCode") to include in 1950 // API requests with the JSON null value. By default, fields with empty 1951 // values are omitted from API requests. However, any field with an 1952 // empty value appearing in NullFields will be sent to the server as 1953 // null. It is an error if a field in this list has a non-empty value. 1954 // This may be used to include null fields in Patch requests. 1955 NullFields []string `json:"-"` 1956} 1957 1958func (s *SetOperationStatusRequest) MarshalJSON() ([]byte, error) { 1959 type NoMethod SetOperationStatusRequest 1960 raw := NoMethod(*s) 1961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1962} 1963 1964// Status: The `Status` type defines a logical error model that is 1965// suitable for 1966// different programming environments, including REST APIs and RPC APIs. 1967// It is 1968// used by [gRPC](https://github.com/grpc). Each `Status` message 1969// contains 1970// three pieces of data: error code, error message, and error 1971// details. 1972// 1973// You can find out more about this error model and how to work with it 1974// in the 1975// [API Design Guide](https://cloud.google.com/apis/design/errors). 1976type Status struct { 1977 // Code: The status code, which should be an enum value of 1978 // google.rpc.Code. 1979 Code int64 `json:"code,omitempty"` 1980 1981 // Details: A list of messages that carry the error details. There is a 1982 // common set of 1983 // message types for APIs to use. 1984 Details []googleapi.RawMessage `json:"details,omitempty"` 1985 1986 // Message: A developer-facing error message, which should be in 1987 // English. Any 1988 // user-facing error message should be localized and sent in 1989 // the 1990 // google.rpc.Status.details field, or localized by the client. 1991 Message string `json:"message,omitempty"` 1992 1993 // ForceSendFields is a list of field names (e.g. "Code") to 1994 // unconditionally include in API requests. By default, fields with 1995 // empty values are omitted from API requests. However, any non-pointer, 1996 // non-interface field appearing in ForceSendFields will be sent to the 1997 // server regardless of whether the field is empty or not. This may be 1998 // used to include empty fields in Patch requests. 1999 ForceSendFields []string `json:"-"` 2000 2001 // NullFields is a list of field names (e.g. "Code") to include in API 2002 // requests with the JSON null value. By default, fields with empty 2003 // values are omitted from API requests. However, any field with an 2004 // empty value appearing in NullFields will be sent to the server as 2005 // null. It is an error if a field in this list has a non-empty value. 2006 // This may be used to include null fields in Patch requests. 2007 NullFields []string `json:"-"` 2008} 2009 2010func (s *Status) MarshalJSON() ([]byte, error) { 2011 type NoMethod Status 2012 raw := NoMethod(*s) 2013 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2014} 2015 2016// TimestampEvent: Stores the list of events and times they occured for 2017// major events in job 2018// execution. 2019type TimestampEvent struct { 2020 // Description: String indicating the type of event 2021 Description string `json:"description,omitempty"` 2022 2023 // Timestamp: The time this event occured. 2024 Timestamp string `json:"timestamp,omitempty"` 2025 2026 // ForceSendFields is a list of field names (e.g. "Description") to 2027 // unconditionally include in API requests. By default, fields with 2028 // empty values are omitted from API requests. However, any non-pointer, 2029 // non-interface field appearing in ForceSendFields will be sent to the 2030 // server regardless of whether the field is empty or not. This may be 2031 // used to include empty fields in Patch requests. 2032 ForceSendFields []string `json:"-"` 2033 2034 // NullFields is a list of field names (e.g. "Description") to include 2035 // in API requests with the JSON null value. By default, fields with 2036 // empty values are omitted from API requests. However, any field with 2037 // an empty value appearing in NullFields will be sent to the server as 2038 // null. It is an error if a field in this list has a non-empty value. 2039 // This may be used to include null fields in Patch requests. 2040 NullFields []string `json:"-"` 2041} 2042 2043func (s *TimestampEvent) MarshalJSON() ([]byte, error) { 2044 type NoMethod TimestampEvent 2045 raw := NoMethod(*s) 2046 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2047} 2048 2049// UnexpectedExitStatusEvent: An event generated when the execution of a 2050// container results in a 2051// non-zero exit status that was not otherwise ignored. Execution 2052// will 2053// continue, but only actions that are flagged as `ALWAYS_RUN` will 2054// be 2055// executed. Other actions will be skipped. 2056type UnexpectedExitStatusEvent struct { 2057 // ActionId: The numeric ID of the action that started the container. 2058 ActionId int64 `json:"actionId,omitempty"` 2059 2060 // ExitStatus: The exit status of the container. 2061 ExitStatus int64 `json:"exitStatus,omitempty"` 2062 2063 // ForceSendFields is a list of field names (e.g. "ActionId") to 2064 // unconditionally include in API requests. By default, fields with 2065 // empty values are omitted from API requests. However, any non-pointer, 2066 // non-interface field appearing in ForceSendFields will be sent to the 2067 // server regardless of whether the field is empty or not. This may be 2068 // used to include empty fields in Patch requests. 2069 ForceSendFields []string `json:"-"` 2070 2071 // NullFields is a list of field names (e.g. "ActionId") to include in 2072 // API requests with the JSON null value. By default, fields with empty 2073 // values are omitted from API requests. However, any field with an 2074 // empty value appearing in NullFields will be sent to the server as 2075 // null. It is an error if a field in this list has a non-empty value. 2076 // This may be used to include null fields in Patch requests. 2077 NullFields []string `json:"-"` 2078} 2079 2080func (s *UnexpectedExitStatusEvent) MarshalJSON() ([]byte, error) { 2081 type NoMethod UnexpectedExitStatusEvent 2082 raw := NoMethod(*s) 2083 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2084} 2085 2086// WorkerAssignedEvent: An event generated after a worker VM has been 2087// assigned to run the 2088// pipeline. 2089type WorkerAssignedEvent struct { 2090 // Instance: The worker's instance name. 2091 Instance string `json:"instance,omitempty"` 2092 2093 // Zone: The zone the worker is running in. 2094 Zone string `json:"zone,omitempty"` 2095 2096 // ForceSendFields is a list of field names (e.g. "Instance") to 2097 // unconditionally include in API requests. By default, fields with 2098 // empty values are omitted from API requests. However, any non-pointer, 2099 // non-interface field appearing in ForceSendFields will be sent to the 2100 // server regardless of whether the field is empty or not. This may be 2101 // used to include empty fields in Patch requests. 2102 ForceSendFields []string `json:"-"` 2103 2104 // NullFields is a list of field names (e.g. "Instance") to include in 2105 // API requests with the JSON null value. By default, fields with empty 2106 // values are omitted from API requests. However, any field with an 2107 // empty value appearing in NullFields will be sent to the server as 2108 // null. It is an error if a field in this list has a non-empty value. 2109 // This may be used to include null fields in Patch requests. 2110 NullFields []string `json:"-"` 2111} 2112 2113func (s *WorkerAssignedEvent) MarshalJSON() ([]byte, error) { 2114 type NoMethod WorkerAssignedEvent 2115 raw := NoMethod(*s) 2116 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2117} 2118 2119// WorkerReleasedEvent: An event generated when the worker VM that was 2120// assigned to the pipeline 2121// has been released (deleted). 2122type WorkerReleasedEvent struct { 2123 // Instance: The worker's instance name. 2124 Instance string `json:"instance,omitempty"` 2125 2126 // Zone: The zone the worker was running in. 2127 Zone string `json:"zone,omitempty"` 2128 2129 // ForceSendFields is a list of field names (e.g. "Instance") to 2130 // unconditionally include in API requests. By default, fields with 2131 // empty values are omitted from API requests. However, any non-pointer, 2132 // non-interface field appearing in ForceSendFields will be sent to the 2133 // server regardless of whether the field is empty or not. This may be 2134 // used to include empty fields in Patch requests. 2135 ForceSendFields []string `json:"-"` 2136 2137 // NullFields is a list of field names (e.g. "Instance") to include in 2138 // API requests with the JSON null value. By default, fields with empty 2139 // values are omitted from API requests. However, any field with an 2140 // empty value appearing in NullFields will be sent to the server as 2141 // null. It is an error if a field in this list has a non-empty value. 2142 // This may be used to include null fields in Patch requests. 2143 NullFields []string `json:"-"` 2144} 2145 2146func (s *WorkerReleasedEvent) MarshalJSON() ([]byte, error) { 2147 type NoMethod WorkerReleasedEvent 2148 raw := NoMethod(*s) 2149 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2150} 2151 2152// method id "genomics.operations.cancel": 2153 2154type OperationsCancelCall struct { 2155 s *Service 2156 name string 2157 canceloperationrequest *CancelOperationRequest 2158 urlParams_ gensupport.URLParams 2159 ctx_ context.Context 2160 header_ http.Header 2161} 2162 2163// Cancel: Starts asynchronous cancellation on a long-running 2164// operation. 2165// The server makes a best effort to cancel the operation, but success 2166// is not 2167// guaranteed. Clients may use Operations.GetOperation 2168// or Operations.ListOperations 2169// to check whether the cancellation succeeded or the operation 2170// completed 2171// despite cancellation. 2172// Authorization requires the following [Google 2173// IAM](https://cloud.google.com/iam) permission: 2174// 2175// * `genomics.operations.cancel` 2176func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall { 2177 c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2178 c.name = name 2179 c.canceloperationrequest = canceloperationrequest 2180 return c 2181} 2182 2183// Fields allows partial responses to be retrieved. See 2184// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2185// for more information. 2186func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { 2187 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2188 return c 2189} 2190 2191// Context sets the context to be used in this call's Do method. Any 2192// pending HTTP request will be aborted if the provided context is 2193// canceled. 2194func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { 2195 c.ctx_ = ctx 2196 return c 2197} 2198 2199// Header returns an http.Header that can be modified by the caller to 2200// add HTTP headers to the request. 2201func (c *OperationsCancelCall) Header() http.Header { 2202 if c.header_ == nil { 2203 c.header_ = make(http.Header) 2204 } 2205 return c.header_ 2206} 2207 2208func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { 2209 reqHeaders := make(http.Header) 2210 for k, v := range c.header_ { 2211 reqHeaders[k] = v 2212 } 2213 reqHeaders.Set("User-Agent", c.s.userAgent()) 2214 var body io.Reader = nil 2215 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 2216 if err != nil { 2217 return nil, err 2218 } 2219 reqHeaders.Set("Content-Type", "application/json") 2220 c.urlParams_.Set("alt", alt) 2221 c.urlParams_.Set("prettyPrint", "false") 2222 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/{+name}:cancel") 2223 urls += "?" + c.urlParams_.Encode() 2224 req, err := http.NewRequest("POST", urls, body) 2225 if err != nil { 2226 return nil, err 2227 } 2228 req.Header = reqHeaders 2229 googleapi.Expand(req.URL, map[string]string{ 2230 "name": c.name, 2231 }) 2232 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2233} 2234 2235// Do executes the "genomics.operations.cancel" call. 2236// Exactly one of *Empty or error will be non-nil. Any non-2xx status 2237// code is an error. Response headers are in either 2238// *Empty.ServerResponse.Header or (if a response was returned at all) 2239// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2240// check whether the returned error was because http.StatusNotModified 2241// was returned. 2242func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 2243 gensupport.SetOptions(c.urlParams_, opts...) 2244 res, err := c.doRequest("json") 2245 if res != nil && res.StatusCode == http.StatusNotModified { 2246 if res.Body != nil { 2247 res.Body.Close() 2248 } 2249 return nil, &googleapi.Error{ 2250 Code: res.StatusCode, 2251 Header: res.Header, 2252 } 2253 } 2254 if err != nil { 2255 return nil, err 2256 } 2257 defer googleapi.CloseBody(res) 2258 if err := googleapi.CheckResponse(res); err != nil { 2259 return nil, err 2260 } 2261 ret := &Empty{ 2262 ServerResponse: googleapi.ServerResponse{ 2263 Header: res.Header, 2264 HTTPStatusCode: res.StatusCode, 2265 }, 2266 } 2267 target := &ret 2268 if err := gensupport.DecodeResponse(target, res); err != nil { 2269 return nil, err 2270 } 2271 return ret, nil 2272 // { 2273 // "description": "Starts asynchronous cancellation on a long-running operation.\nThe server makes a best effort to cancel the operation, but success is not\nguaranteed. Clients may use Operations.GetOperation\nor Operations.ListOperations\nto check whether the cancellation succeeded or the operation completed\ndespite cancellation.\nAuthorization requires the following [Google IAM](https://cloud.google.com/iam) permission\u0026#58;\n\n* `genomics.operations.cancel`", 2274 // "flatPath": "v1alpha2/operations/{operationsId}:cancel", 2275 // "httpMethod": "POST", 2276 // "id": "genomics.operations.cancel", 2277 // "parameterOrder": [ 2278 // "name" 2279 // ], 2280 // "parameters": { 2281 // "name": { 2282 // "description": "The name of the operation resource to be cancelled.", 2283 // "location": "path", 2284 // "pattern": "^operations/.+$", 2285 // "required": true, 2286 // "type": "string" 2287 // } 2288 // }, 2289 // "path": "v1alpha2/{+name}:cancel", 2290 // "request": { 2291 // "$ref": "CancelOperationRequest" 2292 // }, 2293 // "response": { 2294 // "$ref": "Empty" 2295 // }, 2296 // "scopes": [ 2297 // "https://www.googleapis.com/auth/cloud-platform", 2298 // "https://www.googleapis.com/auth/genomics" 2299 // ] 2300 // } 2301 2302} 2303 2304// method id "genomics.operations.get": 2305 2306type OperationsGetCall struct { 2307 s *Service 2308 name string 2309 urlParams_ gensupport.URLParams 2310 ifNoneMatch_ string 2311 ctx_ context.Context 2312 header_ http.Header 2313} 2314 2315// Get: Gets the latest state of a long-running operation. 2316// Clients can use this method to poll the operation result at intervals 2317// as 2318// recommended by the API service. 2319// Authorization requires the following [Google 2320// IAM](https://cloud.google.com/iam) permission: 2321// 2322// * `genomics.operations.get` 2323func (r *OperationsService) Get(name string) *OperationsGetCall { 2324 c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2325 c.name = name 2326 return c 2327} 2328 2329// Fields allows partial responses to be retrieved. See 2330// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2331// for more information. 2332func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 2333 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2334 return c 2335} 2336 2337// IfNoneMatch sets the optional parameter which makes the operation 2338// fail if the object's ETag matches the given value. This is useful for 2339// getting updates only after the object has changed since the last 2340// request. Use googleapi.IsNotModified to check whether the response 2341// error from Do is the result of In-None-Match. 2342func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { 2343 c.ifNoneMatch_ = entityTag 2344 return c 2345} 2346 2347// Context sets the context to be used in this call's Do method. Any 2348// pending HTTP request will be aborted if the provided context is 2349// canceled. 2350func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 2351 c.ctx_ = ctx 2352 return c 2353} 2354 2355// Header returns an http.Header that can be modified by the caller to 2356// add HTTP headers to the request. 2357func (c *OperationsGetCall) Header() http.Header { 2358 if c.header_ == nil { 2359 c.header_ = make(http.Header) 2360 } 2361 return c.header_ 2362} 2363 2364func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { 2365 reqHeaders := make(http.Header) 2366 for k, v := range c.header_ { 2367 reqHeaders[k] = v 2368 } 2369 reqHeaders.Set("User-Agent", c.s.userAgent()) 2370 if c.ifNoneMatch_ != "" { 2371 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2372 } 2373 var body io.Reader = nil 2374 c.urlParams_.Set("alt", alt) 2375 c.urlParams_.Set("prettyPrint", "false") 2376 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/{+name}") 2377 urls += "?" + c.urlParams_.Encode() 2378 req, err := http.NewRequest("GET", urls, body) 2379 if err != nil { 2380 return nil, err 2381 } 2382 req.Header = reqHeaders 2383 googleapi.Expand(req.URL, map[string]string{ 2384 "name": c.name, 2385 }) 2386 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2387} 2388 2389// Do executes the "genomics.operations.get" call. 2390// Exactly one of *Operation or error will be non-nil. Any non-2xx 2391// status code is an error. Response headers are in either 2392// *Operation.ServerResponse.Header or (if a response was returned at 2393// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 2394// to check whether the returned error was because 2395// http.StatusNotModified was returned. 2396func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 2397 gensupport.SetOptions(c.urlParams_, opts...) 2398 res, err := c.doRequest("json") 2399 if res != nil && res.StatusCode == http.StatusNotModified { 2400 if res.Body != nil { 2401 res.Body.Close() 2402 } 2403 return nil, &googleapi.Error{ 2404 Code: res.StatusCode, 2405 Header: res.Header, 2406 } 2407 } 2408 if err != nil { 2409 return nil, err 2410 } 2411 defer googleapi.CloseBody(res) 2412 if err := googleapi.CheckResponse(res); err != nil { 2413 return nil, err 2414 } 2415 ret := &Operation{ 2416 ServerResponse: googleapi.ServerResponse{ 2417 Header: res.Header, 2418 HTTPStatusCode: res.StatusCode, 2419 }, 2420 } 2421 target := &ret 2422 if err := gensupport.DecodeResponse(target, res); err != nil { 2423 return nil, err 2424 } 2425 return ret, nil 2426 // { 2427 // "description": "Gets the latest state of a long-running operation.\nClients can use this method to poll the operation result at intervals as\nrecommended by the API service.\nAuthorization requires the following [Google IAM](https://cloud.google.com/iam) permission\u0026#58;\n\n* `genomics.operations.get`", 2428 // "flatPath": "v1alpha2/operations/{operationsId}", 2429 // "httpMethod": "GET", 2430 // "id": "genomics.operations.get", 2431 // "parameterOrder": [ 2432 // "name" 2433 // ], 2434 // "parameters": { 2435 // "name": { 2436 // "description": "The name of the operation resource.", 2437 // "location": "path", 2438 // "pattern": "^operations/.+$", 2439 // "required": true, 2440 // "type": "string" 2441 // } 2442 // }, 2443 // "path": "v1alpha2/{+name}", 2444 // "response": { 2445 // "$ref": "Operation" 2446 // }, 2447 // "scopes": [ 2448 // "https://www.googleapis.com/auth/cloud-platform", 2449 // "https://www.googleapis.com/auth/genomics" 2450 // ] 2451 // } 2452 2453} 2454 2455// method id "genomics.operations.list": 2456 2457type OperationsListCall struct { 2458 s *Service 2459 name string 2460 urlParams_ gensupport.URLParams 2461 ifNoneMatch_ string 2462 ctx_ context.Context 2463 header_ http.Header 2464} 2465 2466// List: Lists operations that match the specified filter in the 2467// request. 2468// Authorization requires the following [Google 2469// IAM](https://cloud.google.com/iam) permission: 2470// 2471// * `genomics.operations.list` 2472func (r *OperationsService) List(name string) *OperationsListCall { 2473 c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2474 c.name = name 2475 return c 2476} 2477 2478// Filter sets the optional parameter "filter": A string for filtering 2479// Operations. 2480// In v2alpha1, the following filter fields are supported: 2481// 2482// * createTime: The time this job was created 2483// * events: The set of event (names) that have occurred while 2484// running 2485// the pipeline. The : operator can be used to determine if a 2486// particular event has occurred. 2487// * error: If the pipeline is running, this value is NULL. Once 2488// the 2489// pipeline finishes, the value is the standard Google error code. 2490// * labels.key or labels."key with space" where key is a label key. 2491// * done: If the pipeline is running, this value is false. Once 2492// the 2493// pipeline finishes, the value is true. 2494// 2495// In v1 and v1alpha2, the following filter fields are supported: 2496// 2497// * projectId: Required. Corresponds to 2498// OperationMetadata.projectId. 2499// * createTime: The time this job was created, in seconds from the 2500// [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` 2501// and/or `<=` 2502// operators. 2503// * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. 2504// Only 2505// one status may be specified. 2506// * labels.key where key is a label key. 2507// 2508// Examples: 2509// 2510// * `projectId = my-project AND createTime >= 1432140000` 2511// * `projectId = my-project AND createTime >= 1432140000 AND createTime 2512// <= 1432150000 AND status = RUNNING` 2513// * `projectId = my-project AND labels.color = *` 2514// * `projectId = my-project AND labels.color = red` 2515func (c *OperationsListCall) Filter(filter string) *OperationsListCall { 2516 c.urlParams_.Set("filter", filter) 2517 return c 2518} 2519 2520// PageSize sets the optional parameter "pageSize": The maximum number 2521// of results to return. The maximum value is 256. 2522func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { 2523 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 2524 return c 2525} 2526 2527// PageToken sets the optional parameter "pageToken": The standard list 2528// page token. 2529func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { 2530 c.urlParams_.Set("pageToken", pageToken) 2531 return c 2532} 2533 2534// Fields allows partial responses to be retrieved. See 2535// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2536// for more information. 2537func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { 2538 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2539 return c 2540} 2541 2542// IfNoneMatch sets the optional parameter which makes the operation 2543// fail if the object's ETag matches the given value. This is useful for 2544// getting updates only after the object has changed since the last 2545// request. Use googleapi.IsNotModified to check whether the response 2546// error from Do is the result of In-None-Match. 2547func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { 2548 c.ifNoneMatch_ = entityTag 2549 return c 2550} 2551 2552// Context sets the context to be used in this call's Do method. Any 2553// pending HTTP request will be aborted if the provided context is 2554// canceled. 2555func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { 2556 c.ctx_ = ctx 2557 return c 2558} 2559 2560// Header returns an http.Header that can be modified by the caller to 2561// add HTTP headers to the request. 2562func (c *OperationsListCall) Header() http.Header { 2563 if c.header_ == nil { 2564 c.header_ = make(http.Header) 2565 } 2566 return c.header_ 2567} 2568 2569func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { 2570 reqHeaders := make(http.Header) 2571 for k, v := range c.header_ { 2572 reqHeaders[k] = v 2573 } 2574 reqHeaders.Set("User-Agent", c.s.userAgent()) 2575 if c.ifNoneMatch_ != "" { 2576 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2577 } 2578 var body io.Reader = nil 2579 c.urlParams_.Set("alt", alt) 2580 c.urlParams_.Set("prettyPrint", "false") 2581 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/{+name}") 2582 urls += "?" + c.urlParams_.Encode() 2583 req, err := http.NewRequest("GET", urls, body) 2584 if err != nil { 2585 return nil, err 2586 } 2587 req.Header = reqHeaders 2588 googleapi.Expand(req.URL, map[string]string{ 2589 "name": c.name, 2590 }) 2591 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2592} 2593 2594// Do executes the "genomics.operations.list" call. 2595// Exactly one of *ListOperationsResponse or error will be non-nil. Any 2596// non-2xx status code is an error. Response headers are in either 2597// *ListOperationsResponse.ServerResponse.Header or (if a response was 2598// returned at all) in error.(*googleapi.Error).Header. Use 2599// googleapi.IsNotModified to check whether the returned error was 2600// because http.StatusNotModified was returned. 2601func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 2602 gensupport.SetOptions(c.urlParams_, opts...) 2603 res, err := c.doRequest("json") 2604 if res != nil && res.StatusCode == http.StatusNotModified { 2605 if res.Body != nil { 2606 res.Body.Close() 2607 } 2608 return nil, &googleapi.Error{ 2609 Code: res.StatusCode, 2610 Header: res.Header, 2611 } 2612 } 2613 if err != nil { 2614 return nil, err 2615 } 2616 defer googleapi.CloseBody(res) 2617 if err := googleapi.CheckResponse(res); err != nil { 2618 return nil, err 2619 } 2620 ret := &ListOperationsResponse{ 2621 ServerResponse: googleapi.ServerResponse{ 2622 Header: res.Header, 2623 HTTPStatusCode: res.StatusCode, 2624 }, 2625 } 2626 target := &ret 2627 if err := gensupport.DecodeResponse(target, res); err != nil { 2628 return nil, err 2629 } 2630 return ret, nil 2631 // { 2632 // "description": "Lists operations that match the specified filter in the request.\nAuthorization requires the following [Google IAM](https://cloud.google.com/iam) permission\u0026#58;\n\n* `genomics.operations.list`", 2633 // "flatPath": "v1alpha2/operations", 2634 // "httpMethod": "GET", 2635 // "id": "genomics.operations.list", 2636 // "parameterOrder": [ 2637 // "name" 2638 // ], 2639 // "parameters": { 2640 // "filter": { 2641 // "description": "A string for filtering Operations.\nIn v2alpha1, the following filter fields are supported\u0026#58;\n\n* createTime\u0026#58; The time this job was created\n* events\u0026#58; The set of event (names) that have occurred while running\n the pipeline. The \u0026#58; operator can be used to determine if a\n particular event has occurred.\n* error\u0026#58; If the pipeline is running, this value is NULL. Once the\n pipeline finishes, the value is the standard Google error code.\n* labels.key or labels.\"key with space\" where key is a label key.\n* done\u0026#58; If the pipeline is running, this value is false. Once the\n pipeline finishes, the value is true.\n\nIn v1 and v1alpha2, the following filter fields are supported\u0026#58;\n\n* projectId\u0026#58; Required. Corresponds to\n OperationMetadata.projectId.\n* createTime\u0026#58; The time this job was created, in seconds from the\n [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=`\n operators.\n* status\u0026#58; Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only\n one status may be specified.\n* labels.key where key is a label key.\n\nExamples\u0026#58;\n\n* `projectId = my-project AND createTime \u003e= 1432140000`\n* `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`\n* `projectId = my-project AND labels.color = *`\n* `projectId = my-project AND labels.color = red`", 2642 // "location": "query", 2643 // "type": "string" 2644 // }, 2645 // "name": { 2646 // "description": "The name of the operation's parent resource.", 2647 // "location": "path", 2648 // "pattern": "^operations$", 2649 // "required": true, 2650 // "type": "string" 2651 // }, 2652 // "pageSize": { 2653 // "description": "The maximum number of results to return. The maximum value is 256.", 2654 // "format": "int32", 2655 // "location": "query", 2656 // "type": "integer" 2657 // }, 2658 // "pageToken": { 2659 // "description": "The standard list page token.", 2660 // "location": "query", 2661 // "type": "string" 2662 // } 2663 // }, 2664 // "path": "v1alpha2/{+name}", 2665 // "response": { 2666 // "$ref": "ListOperationsResponse" 2667 // }, 2668 // "scopes": [ 2669 // "https://www.googleapis.com/auth/cloud-platform", 2670 // "https://www.googleapis.com/auth/genomics" 2671 // ] 2672 // } 2673 2674} 2675 2676// Pages invokes f for each page of results. 2677// A non-nil error returned from f will halt the iteration. 2678// The provided context supersedes any context provided to the Context method. 2679func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 2680 c.ctx_ = ctx 2681 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 2682 for { 2683 x, err := c.Do() 2684 if err != nil { 2685 return err 2686 } 2687 if err := f(x); err != nil { 2688 return err 2689 } 2690 if x.NextPageToken == "" { 2691 return nil 2692 } 2693 c.PageToken(x.NextPageToken) 2694 } 2695} 2696 2697// method id "genomics.pipelines.create": 2698 2699type PipelinesCreateCall struct { 2700 s *Service 2701 pipeline *Pipeline 2702 urlParams_ gensupport.URLParams 2703 ctx_ context.Context 2704 header_ http.Header 2705} 2706 2707// Create: Creates a pipeline that can be run later. Create takes a 2708// Pipeline that 2709// has all fields other than `pipelineId` populated, and then 2710// returns 2711// the same pipeline with `pipelineId` populated. This id can be used 2712// to run the pipeline. 2713// 2714// Caller must have WRITE permission to the project. 2715func (r *PipelinesService) Create(pipeline *Pipeline) *PipelinesCreateCall { 2716 c := &PipelinesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2717 c.pipeline = pipeline 2718 return c 2719} 2720 2721// Fields allows partial responses to be retrieved. See 2722// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2723// for more information. 2724func (c *PipelinesCreateCall) Fields(s ...googleapi.Field) *PipelinesCreateCall { 2725 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2726 return c 2727} 2728 2729// Context sets the context to be used in this call's Do method. Any 2730// pending HTTP request will be aborted if the provided context is 2731// canceled. 2732func (c *PipelinesCreateCall) Context(ctx context.Context) *PipelinesCreateCall { 2733 c.ctx_ = ctx 2734 return c 2735} 2736 2737// Header returns an http.Header that can be modified by the caller to 2738// add HTTP headers to the request. 2739func (c *PipelinesCreateCall) Header() http.Header { 2740 if c.header_ == nil { 2741 c.header_ = make(http.Header) 2742 } 2743 return c.header_ 2744} 2745 2746func (c *PipelinesCreateCall) doRequest(alt string) (*http.Response, error) { 2747 reqHeaders := make(http.Header) 2748 for k, v := range c.header_ { 2749 reqHeaders[k] = v 2750 } 2751 reqHeaders.Set("User-Agent", c.s.userAgent()) 2752 var body io.Reader = nil 2753 body, err := googleapi.WithoutDataWrapper.JSONReader(c.pipeline) 2754 if err != nil { 2755 return nil, err 2756 } 2757 reqHeaders.Set("Content-Type", "application/json") 2758 c.urlParams_.Set("alt", alt) 2759 c.urlParams_.Set("prettyPrint", "false") 2760 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines") 2761 urls += "?" + c.urlParams_.Encode() 2762 req, err := http.NewRequest("POST", urls, body) 2763 if err != nil { 2764 return nil, err 2765 } 2766 req.Header = reqHeaders 2767 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2768} 2769 2770// Do executes the "genomics.pipelines.create" call. 2771// Exactly one of *Pipeline or error will be non-nil. Any non-2xx status 2772// code is an error. Response headers are in either 2773// *Pipeline.ServerResponse.Header or (if a response was returned at 2774// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 2775// to check whether the returned error was because 2776// http.StatusNotModified was returned. 2777func (c *PipelinesCreateCall) Do(opts ...googleapi.CallOption) (*Pipeline, error) { 2778 gensupport.SetOptions(c.urlParams_, opts...) 2779 res, err := c.doRequest("json") 2780 if res != nil && res.StatusCode == http.StatusNotModified { 2781 if res.Body != nil { 2782 res.Body.Close() 2783 } 2784 return nil, &googleapi.Error{ 2785 Code: res.StatusCode, 2786 Header: res.Header, 2787 } 2788 } 2789 if err != nil { 2790 return nil, err 2791 } 2792 defer googleapi.CloseBody(res) 2793 if err := googleapi.CheckResponse(res); err != nil { 2794 return nil, err 2795 } 2796 ret := &Pipeline{ 2797 ServerResponse: googleapi.ServerResponse{ 2798 Header: res.Header, 2799 HTTPStatusCode: res.StatusCode, 2800 }, 2801 } 2802 target := &ret 2803 if err := gensupport.DecodeResponse(target, res); err != nil { 2804 return nil, err 2805 } 2806 return ret, nil 2807 // { 2808 // "description": "Creates a pipeline that can be run later. Create takes a Pipeline that\nhas all fields other than `pipelineId` populated, and then returns\nthe same pipeline with `pipelineId` populated. This id can be used\nto run the pipeline.\n\nCaller must have WRITE permission to the project.", 2809 // "flatPath": "v1alpha2/pipelines", 2810 // "httpMethod": "POST", 2811 // "id": "genomics.pipelines.create", 2812 // "parameterOrder": [], 2813 // "parameters": {}, 2814 // "path": "v1alpha2/pipelines", 2815 // "request": { 2816 // "$ref": "Pipeline" 2817 // }, 2818 // "response": { 2819 // "$ref": "Pipeline" 2820 // }, 2821 // "scopes": [ 2822 // "https://www.googleapis.com/auth/cloud-platform", 2823 // "https://www.googleapis.com/auth/genomics" 2824 // ] 2825 // } 2826 2827} 2828 2829// method id "genomics.pipelines.delete": 2830 2831type PipelinesDeleteCall struct { 2832 s *Service 2833 pipelineId string 2834 urlParams_ gensupport.URLParams 2835 ctx_ context.Context 2836 header_ http.Header 2837} 2838 2839// Delete: Deletes a pipeline based on ID. 2840// 2841// Caller must have WRITE permission to the project. 2842func (r *PipelinesService) Delete(pipelineId string) *PipelinesDeleteCall { 2843 c := &PipelinesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2844 c.pipelineId = pipelineId 2845 return c 2846} 2847 2848// Fields allows partial responses to be retrieved. See 2849// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2850// for more information. 2851func (c *PipelinesDeleteCall) Fields(s ...googleapi.Field) *PipelinesDeleteCall { 2852 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2853 return c 2854} 2855 2856// Context sets the context to be used in this call's Do method. Any 2857// pending HTTP request will be aborted if the provided context is 2858// canceled. 2859func (c *PipelinesDeleteCall) Context(ctx context.Context) *PipelinesDeleteCall { 2860 c.ctx_ = ctx 2861 return c 2862} 2863 2864// Header returns an http.Header that can be modified by the caller to 2865// add HTTP headers to the request. 2866func (c *PipelinesDeleteCall) Header() http.Header { 2867 if c.header_ == nil { 2868 c.header_ = make(http.Header) 2869 } 2870 return c.header_ 2871} 2872 2873func (c *PipelinesDeleteCall) doRequest(alt string) (*http.Response, error) { 2874 reqHeaders := make(http.Header) 2875 for k, v := range c.header_ { 2876 reqHeaders[k] = v 2877 } 2878 reqHeaders.Set("User-Agent", c.s.userAgent()) 2879 var body io.Reader = nil 2880 c.urlParams_.Set("alt", alt) 2881 c.urlParams_.Set("prettyPrint", "false") 2882 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines/{pipelineId}") 2883 urls += "?" + c.urlParams_.Encode() 2884 req, err := http.NewRequest("DELETE", urls, body) 2885 if err != nil { 2886 return nil, err 2887 } 2888 req.Header = reqHeaders 2889 googleapi.Expand(req.URL, map[string]string{ 2890 "pipelineId": c.pipelineId, 2891 }) 2892 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2893} 2894 2895// Do executes the "genomics.pipelines.delete" call. 2896// Exactly one of *Empty or error will be non-nil. Any non-2xx status 2897// code is an error. Response headers are in either 2898// *Empty.ServerResponse.Header or (if a response was returned at all) 2899// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2900// check whether the returned error was because http.StatusNotModified 2901// was returned. 2902func (c *PipelinesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 2903 gensupport.SetOptions(c.urlParams_, opts...) 2904 res, err := c.doRequest("json") 2905 if res != nil && res.StatusCode == http.StatusNotModified { 2906 if res.Body != nil { 2907 res.Body.Close() 2908 } 2909 return nil, &googleapi.Error{ 2910 Code: res.StatusCode, 2911 Header: res.Header, 2912 } 2913 } 2914 if err != nil { 2915 return nil, err 2916 } 2917 defer googleapi.CloseBody(res) 2918 if err := googleapi.CheckResponse(res); err != nil { 2919 return nil, err 2920 } 2921 ret := &Empty{ 2922 ServerResponse: googleapi.ServerResponse{ 2923 Header: res.Header, 2924 HTTPStatusCode: res.StatusCode, 2925 }, 2926 } 2927 target := &ret 2928 if err := gensupport.DecodeResponse(target, res); err != nil { 2929 return nil, err 2930 } 2931 return ret, nil 2932 // { 2933 // "description": "Deletes a pipeline based on ID.\n\nCaller must have WRITE permission to the project.", 2934 // "flatPath": "v1alpha2/pipelines/{pipelineId}", 2935 // "httpMethod": "DELETE", 2936 // "id": "genomics.pipelines.delete", 2937 // "parameterOrder": [ 2938 // "pipelineId" 2939 // ], 2940 // "parameters": { 2941 // "pipelineId": { 2942 // "description": "Caller must have WRITE access to the project in which this pipeline\nis defined.", 2943 // "location": "path", 2944 // "required": true, 2945 // "type": "string" 2946 // } 2947 // }, 2948 // "path": "v1alpha2/pipelines/{pipelineId}", 2949 // "response": { 2950 // "$ref": "Empty" 2951 // }, 2952 // "scopes": [ 2953 // "https://www.googleapis.com/auth/cloud-platform", 2954 // "https://www.googleapis.com/auth/genomics" 2955 // ] 2956 // } 2957 2958} 2959 2960// method id "genomics.pipelines.get": 2961 2962type PipelinesGetCall struct { 2963 s *Service 2964 pipelineId string 2965 urlParams_ gensupport.URLParams 2966 ifNoneMatch_ string 2967 ctx_ context.Context 2968 header_ http.Header 2969} 2970 2971// Get: Retrieves a pipeline based on ID. 2972// 2973// Caller must have READ permission to the project. 2974func (r *PipelinesService) Get(pipelineId string) *PipelinesGetCall { 2975 c := &PipelinesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2976 c.pipelineId = pipelineId 2977 return c 2978} 2979 2980// Fields allows partial responses to be retrieved. See 2981// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2982// for more information. 2983func (c *PipelinesGetCall) Fields(s ...googleapi.Field) *PipelinesGetCall { 2984 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2985 return c 2986} 2987 2988// IfNoneMatch sets the optional parameter which makes the operation 2989// fail if the object's ETag matches the given value. This is useful for 2990// getting updates only after the object has changed since the last 2991// request. Use googleapi.IsNotModified to check whether the response 2992// error from Do is the result of In-None-Match. 2993func (c *PipelinesGetCall) IfNoneMatch(entityTag string) *PipelinesGetCall { 2994 c.ifNoneMatch_ = entityTag 2995 return c 2996} 2997 2998// Context sets the context to be used in this call's Do method. Any 2999// pending HTTP request will be aborted if the provided context is 3000// canceled. 3001func (c *PipelinesGetCall) Context(ctx context.Context) *PipelinesGetCall { 3002 c.ctx_ = ctx 3003 return c 3004} 3005 3006// Header returns an http.Header that can be modified by the caller to 3007// add HTTP headers to the request. 3008func (c *PipelinesGetCall) Header() http.Header { 3009 if c.header_ == nil { 3010 c.header_ = make(http.Header) 3011 } 3012 return c.header_ 3013} 3014 3015func (c *PipelinesGetCall) doRequest(alt string) (*http.Response, error) { 3016 reqHeaders := make(http.Header) 3017 for k, v := range c.header_ { 3018 reqHeaders[k] = v 3019 } 3020 reqHeaders.Set("User-Agent", c.s.userAgent()) 3021 if c.ifNoneMatch_ != "" { 3022 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3023 } 3024 var body io.Reader = nil 3025 c.urlParams_.Set("alt", alt) 3026 c.urlParams_.Set("prettyPrint", "false") 3027 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines/{pipelineId}") 3028 urls += "?" + c.urlParams_.Encode() 3029 req, err := http.NewRequest("GET", urls, body) 3030 if err != nil { 3031 return nil, err 3032 } 3033 req.Header = reqHeaders 3034 googleapi.Expand(req.URL, map[string]string{ 3035 "pipelineId": c.pipelineId, 3036 }) 3037 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3038} 3039 3040// Do executes the "genomics.pipelines.get" call. 3041// Exactly one of *Pipeline or error will be non-nil. Any non-2xx status 3042// code is an error. Response headers are in either 3043// *Pipeline.ServerResponse.Header or (if a response was returned at 3044// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 3045// to check whether the returned error was because 3046// http.StatusNotModified was returned. 3047func (c *PipelinesGetCall) Do(opts ...googleapi.CallOption) (*Pipeline, error) { 3048 gensupport.SetOptions(c.urlParams_, opts...) 3049 res, err := c.doRequest("json") 3050 if res != nil && res.StatusCode == http.StatusNotModified { 3051 if res.Body != nil { 3052 res.Body.Close() 3053 } 3054 return nil, &googleapi.Error{ 3055 Code: res.StatusCode, 3056 Header: res.Header, 3057 } 3058 } 3059 if err != nil { 3060 return nil, err 3061 } 3062 defer googleapi.CloseBody(res) 3063 if err := googleapi.CheckResponse(res); err != nil { 3064 return nil, err 3065 } 3066 ret := &Pipeline{ 3067 ServerResponse: googleapi.ServerResponse{ 3068 Header: res.Header, 3069 HTTPStatusCode: res.StatusCode, 3070 }, 3071 } 3072 target := &ret 3073 if err := gensupport.DecodeResponse(target, res); err != nil { 3074 return nil, err 3075 } 3076 return ret, nil 3077 // { 3078 // "description": "Retrieves a pipeline based on ID.\n\nCaller must have READ permission to the project.", 3079 // "flatPath": "v1alpha2/pipelines/{pipelineId}", 3080 // "httpMethod": "GET", 3081 // "id": "genomics.pipelines.get", 3082 // "parameterOrder": [ 3083 // "pipelineId" 3084 // ], 3085 // "parameters": { 3086 // "pipelineId": { 3087 // "description": "Caller must have READ access to the project in which this pipeline\nis defined.", 3088 // "location": "path", 3089 // "required": true, 3090 // "type": "string" 3091 // } 3092 // }, 3093 // "path": "v1alpha2/pipelines/{pipelineId}", 3094 // "response": { 3095 // "$ref": "Pipeline" 3096 // }, 3097 // "scopes": [ 3098 // "https://www.googleapis.com/auth/cloud-platform", 3099 // "https://www.googleapis.com/auth/genomics" 3100 // ] 3101 // } 3102 3103} 3104 3105// method id "genomics.pipelines.getControllerConfig": 3106 3107type PipelinesGetControllerConfigCall struct { 3108 s *Service 3109 urlParams_ gensupport.URLParams 3110 ifNoneMatch_ string 3111 ctx_ context.Context 3112 header_ http.Header 3113} 3114 3115// GetControllerConfig: Gets controller configuration information. 3116// Should only be called 3117// by VMs created by the Pipelines Service and not by end users. 3118func (r *PipelinesService) GetControllerConfig() *PipelinesGetControllerConfigCall { 3119 c := &PipelinesGetControllerConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3120 return c 3121} 3122 3123// OperationId sets the optional parameter "operationId": The operation 3124// to retrieve controller configuration for. 3125func (c *PipelinesGetControllerConfigCall) OperationId(operationId string) *PipelinesGetControllerConfigCall { 3126 c.urlParams_.Set("operationId", operationId) 3127 return c 3128} 3129 3130// ValidationToken sets the optional parameter "validationToken": 3131func (c *PipelinesGetControllerConfigCall) ValidationToken(validationToken uint64) *PipelinesGetControllerConfigCall { 3132 c.urlParams_.Set("validationToken", fmt.Sprint(validationToken)) 3133 return c 3134} 3135 3136// Fields allows partial responses to be retrieved. See 3137// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3138// for more information. 3139func (c *PipelinesGetControllerConfigCall) Fields(s ...googleapi.Field) *PipelinesGetControllerConfigCall { 3140 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3141 return c 3142} 3143 3144// IfNoneMatch sets the optional parameter which makes the operation 3145// fail if the object's ETag matches the given value. This is useful for 3146// getting updates only after the object has changed since the last 3147// request. Use googleapi.IsNotModified to check whether the response 3148// error from Do is the result of In-None-Match. 3149func (c *PipelinesGetControllerConfigCall) IfNoneMatch(entityTag string) *PipelinesGetControllerConfigCall { 3150 c.ifNoneMatch_ = entityTag 3151 return c 3152} 3153 3154// Context sets the context to be used in this call's Do method. Any 3155// pending HTTP request will be aborted if the provided context is 3156// canceled. 3157func (c *PipelinesGetControllerConfigCall) Context(ctx context.Context) *PipelinesGetControllerConfigCall { 3158 c.ctx_ = ctx 3159 return c 3160} 3161 3162// Header returns an http.Header that can be modified by the caller to 3163// add HTTP headers to the request. 3164func (c *PipelinesGetControllerConfigCall) Header() http.Header { 3165 if c.header_ == nil { 3166 c.header_ = make(http.Header) 3167 } 3168 return c.header_ 3169} 3170 3171func (c *PipelinesGetControllerConfigCall) doRequest(alt string) (*http.Response, error) { 3172 reqHeaders := make(http.Header) 3173 for k, v := range c.header_ { 3174 reqHeaders[k] = v 3175 } 3176 reqHeaders.Set("User-Agent", c.s.userAgent()) 3177 if c.ifNoneMatch_ != "" { 3178 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3179 } 3180 var body io.Reader = nil 3181 c.urlParams_.Set("alt", alt) 3182 c.urlParams_.Set("prettyPrint", "false") 3183 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines:getControllerConfig") 3184 urls += "?" + c.urlParams_.Encode() 3185 req, err := http.NewRequest("GET", urls, body) 3186 if err != nil { 3187 return nil, err 3188 } 3189 req.Header = reqHeaders 3190 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3191} 3192 3193// Do executes the "genomics.pipelines.getControllerConfig" call. 3194// Exactly one of *ControllerConfig or error will be non-nil. Any 3195// non-2xx status code is an error. Response headers are in either 3196// *ControllerConfig.ServerResponse.Header or (if a response was 3197// returned at all) in error.(*googleapi.Error).Header. Use 3198// googleapi.IsNotModified to check whether the returned error was 3199// because http.StatusNotModified was returned. 3200func (c *PipelinesGetControllerConfigCall) Do(opts ...googleapi.CallOption) (*ControllerConfig, error) { 3201 gensupport.SetOptions(c.urlParams_, opts...) 3202 res, err := c.doRequest("json") 3203 if res != nil && res.StatusCode == http.StatusNotModified { 3204 if res.Body != nil { 3205 res.Body.Close() 3206 } 3207 return nil, &googleapi.Error{ 3208 Code: res.StatusCode, 3209 Header: res.Header, 3210 } 3211 } 3212 if err != nil { 3213 return nil, err 3214 } 3215 defer googleapi.CloseBody(res) 3216 if err := googleapi.CheckResponse(res); err != nil { 3217 return nil, err 3218 } 3219 ret := &ControllerConfig{ 3220 ServerResponse: googleapi.ServerResponse{ 3221 Header: res.Header, 3222 HTTPStatusCode: res.StatusCode, 3223 }, 3224 } 3225 target := &ret 3226 if err := gensupport.DecodeResponse(target, res); err != nil { 3227 return nil, err 3228 } 3229 return ret, nil 3230 // { 3231 // "description": "Gets controller configuration information. Should only be called\nby VMs created by the Pipelines Service and not by end users.", 3232 // "flatPath": "v1alpha2/pipelines:getControllerConfig", 3233 // "httpMethod": "GET", 3234 // "id": "genomics.pipelines.getControllerConfig", 3235 // "parameterOrder": [], 3236 // "parameters": { 3237 // "operationId": { 3238 // "description": "The operation to retrieve controller configuration for.", 3239 // "location": "query", 3240 // "type": "string" 3241 // }, 3242 // "validationToken": { 3243 // "format": "uint64", 3244 // "location": "query", 3245 // "type": "string" 3246 // } 3247 // }, 3248 // "path": "v1alpha2/pipelines:getControllerConfig", 3249 // "response": { 3250 // "$ref": "ControllerConfig" 3251 // }, 3252 // "scopes": [ 3253 // "https://www.googleapis.com/auth/cloud-platform", 3254 // "https://www.googleapis.com/auth/genomics" 3255 // ] 3256 // } 3257 3258} 3259 3260// method id "genomics.pipelines.list": 3261 3262type PipelinesListCall struct { 3263 s *Service 3264 urlParams_ gensupport.URLParams 3265 ifNoneMatch_ string 3266 ctx_ context.Context 3267 header_ http.Header 3268} 3269 3270// List: Lists pipelines. 3271// 3272// Caller must have READ permission to the project. 3273func (r *PipelinesService) List() *PipelinesListCall { 3274 c := &PipelinesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3275 return c 3276} 3277 3278// NamePrefix sets the optional parameter "namePrefix": Pipelines with 3279// names that match this prefix should be 3280// returned. If unspecified, all pipelines in the project, up 3281// to 3282// `pageSize`, will be returned. 3283func (c *PipelinesListCall) NamePrefix(namePrefix string) *PipelinesListCall { 3284 c.urlParams_.Set("namePrefix", namePrefix) 3285 return c 3286} 3287 3288// PageSize sets the optional parameter "pageSize": Number of pipelines 3289// to return at once. Defaults to 256, and max 3290// is 2048. 3291func (c *PipelinesListCall) PageSize(pageSize int64) *PipelinesListCall { 3292 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 3293 return c 3294} 3295 3296// PageToken sets the optional parameter "pageToken": Token to use to 3297// indicate where to start getting results. 3298// If unspecified, returns the first page of results. 3299func (c *PipelinesListCall) PageToken(pageToken string) *PipelinesListCall { 3300 c.urlParams_.Set("pageToken", pageToken) 3301 return c 3302} 3303 3304// ProjectId sets the optional parameter "projectId": Required. The name 3305// of the project to search for pipelines. Caller 3306// must have READ access to this project. 3307func (c *PipelinesListCall) ProjectId(projectId string) *PipelinesListCall { 3308 c.urlParams_.Set("projectId", projectId) 3309 return c 3310} 3311 3312// Fields allows partial responses to be retrieved. See 3313// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3314// for more information. 3315func (c *PipelinesListCall) Fields(s ...googleapi.Field) *PipelinesListCall { 3316 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3317 return c 3318} 3319 3320// IfNoneMatch sets the optional parameter which makes the operation 3321// fail if the object's ETag matches the given value. This is useful for 3322// getting updates only after the object has changed since the last 3323// request. Use googleapi.IsNotModified to check whether the response 3324// error from Do is the result of In-None-Match. 3325func (c *PipelinesListCall) IfNoneMatch(entityTag string) *PipelinesListCall { 3326 c.ifNoneMatch_ = entityTag 3327 return c 3328} 3329 3330// Context sets the context to be used in this call's Do method. Any 3331// pending HTTP request will be aborted if the provided context is 3332// canceled. 3333func (c *PipelinesListCall) Context(ctx context.Context) *PipelinesListCall { 3334 c.ctx_ = ctx 3335 return c 3336} 3337 3338// Header returns an http.Header that can be modified by the caller to 3339// add HTTP headers to the request. 3340func (c *PipelinesListCall) Header() http.Header { 3341 if c.header_ == nil { 3342 c.header_ = make(http.Header) 3343 } 3344 return c.header_ 3345} 3346 3347func (c *PipelinesListCall) doRequest(alt string) (*http.Response, error) { 3348 reqHeaders := make(http.Header) 3349 for k, v := range c.header_ { 3350 reqHeaders[k] = v 3351 } 3352 reqHeaders.Set("User-Agent", c.s.userAgent()) 3353 if c.ifNoneMatch_ != "" { 3354 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3355 } 3356 var body io.Reader = nil 3357 c.urlParams_.Set("alt", alt) 3358 c.urlParams_.Set("prettyPrint", "false") 3359 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines") 3360 urls += "?" + c.urlParams_.Encode() 3361 req, err := http.NewRequest("GET", urls, body) 3362 if err != nil { 3363 return nil, err 3364 } 3365 req.Header = reqHeaders 3366 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3367} 3368 3369// Do executes the "genomics.pipelines.list" call. 3370// Exactly one of *ListPipelinesResponse or error will be non-nil. Any 3371// non-2xx status code is an error. Response headers are in either 3372// *ListPipelinesResponse.ServerResponse.Header or (if a response was 3373// returned at all) in error.(*googleapi.Error).Header. Use 3374// googleapi.IsNotModified to check whether the returned error was 3375// because http.StatusNotModified was returned. 3376func (c *PipelinesListCall) Do(opts ...googleapi.CallOption) (*ListPipelinesResponse, error) { 3377 gensupport.SetOptions(c.urlParams_, opts...) 3378 res, err := c.doRequest("json") 3379 if res != nil && res.StatusCode == http.StatusNotModified { 3380 if res.Body != nil { 3381 res.Body.Close() 3382 } 3383 return nil, &googleapi.Error{ 3384 Code: res.StatusCode, 3385 Header: res.Header, 3386 } 3387 } 3388 if err != nil { 3389 return nil, err 3390 } 3391 defer googleapi.CloseBody(res) 3392 if err := googleapi.CheckResponse(res); err != nil { 3393 return nil, err 3394 } 3395 ret := &ListPipelinesResponse{ 3396 ServerResponse: googleapi.ServerResponse{ 3397 Header: res.Header, 3398 HTTPStatusCode: res.StatusCode, 3399 }, 3400 } 3401 target := &ret 3402 if err := gensupport.DecodeResponse(target, res); err != nil { 3403 return nil, err 3404 } 3405 return ret, nil 3406 // { 3407 // "description": "Lists pipelines.\n\nCaller must have READ permission to the project.", 3408 // "flatPath": "v1alpha2/pipelines", 3409 // "httpMethod": "GET", 3410 // "id": "genomics.pipelines.list", 3411 // "parameterOrder": [], 3412 // "parameters": { 3413 // "namePrefix": { 3414 // "description": "Pipelines with names that match this prefix should be\nreturned. If unspecified, all pipelines in the project, up to\n`pageSize`, will be returned.", 3415 // "location": "query", 3416 // "type": "string" 3417 // }, 3418 // "pageSize": { 3419 // "description": "Number of pipelines to return at once. Defaults to 256, and max\nis 2048.", 3420 // "format": "int32", 3421 // "location": "query", 3422 // "type": "integer" 3423 // }, 3424 // "pageToken": { 3425 // "description": "Token to use to indicate where to start getting results.\nIf unspecified, returns the first page of results.", 3426 // "location": "query", 3427 // "type": "string" 3428 // }, 3429 // "projectId": { 3430 // "description": "Required. The name of the project to search for pipelines. Caller\nmust have READ access to this project.", 3431 // "location": "query", 3432 // "type": "string" 3433 // } 3434 // }, 3435 // "path": "v1alpha2/pipelines", 3436 // "response": { 3437 // "$ref": "ListPipelinesResponse" 3438 // }, 3439 // "scopes": [ 3440 // "https://www.googleapis.com/auth/cloud-platform", 3441 // "https://www.googleapis.com/auth/genomics" 3442 // ] 3443 // } 3444 3445} 3446 3447// Pages invokes f for each page of results. 3448// A non-nil error returned from f will halt the iteration. 3449// The provided context supersedes any context provided to the Context method. 3450func (c *PipelinesListCall) Pages(ctx context.Context, f func(*ListPipelinesResponse) error) error { 3451 c.ctx_ = ctx 3452 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 3453 for { 3454 x, err := c.Do() 3455 if err != nil { 3456 return err 3457 } 3458 if err := f(x); err != nil { 3459 return err 3460 } 3461 if x.NextPageToken == "" { 3462 return nil 3463 } 3464 c.PageToken(x.NextPageToken) 3465 } 3466} 3467 3468// method id "genomics.pipelines.run": 3469 3470type PipelinesRunCall struct { 3471 s *Service 3472 runpipelinerequest *RunPipelineRequest 3473 urlParams_ gensupport.URLParams 3474 ctx_ context.Context 3475 header_ http.Header 3476} 3477 3478// Run: Runs a pipeline. If `pipelineId` is specified in the request, 3479// then 3480// run a saved pipeline. If `ephemeralPipeline` is specified, then 3481// run 3482// that pipeline once without saving a copy. 3483// 3484// The caller must have READ permission to the project where the 3485// pipeline 3486// is stored and WRITE permission to the project where the pipeline will 3487// be 3488// run, as VMs will be created and storage will be used. 3489// 3490// If a pipeline operation is still running after 6 days, it will be 3491// canceled. 3492func (r *PipelinesService) Run(runpipelinerequest *RunPipelineRequest) *PipelinesRunCall { 3493 c := &PipelinesRunCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3494 c.runpipelinerequest = runpipelinerequest 3495 return c 3496} 3497 3498// Fields allows partial responses to be retrieved. See 3499// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3500// for more information. 3501func (c *PipelinesRunCall) Fields(s ...googleapi.Field) *PipelinesRunCall { 3502 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3503 return c 3504} 3505 3506// Context sets the context to be used in this call's Do method. Any 3507// pending HTTP request will be aborted if the provided context is 3508// canceled. 3509func (c *PipelinesRunCall) Context(ctx context.Context) *PipelinesRunCall { 3510 c.ctx_ = ctx 3511 return c 3512} 3513 3514// Header returns an http.Header that can be modified by the caller to 3515// add HTTP headers to the request. 3516func (c *PipelinesRunCall) Header() http.Header { 3517 if c.header_ == nil { 3518 c.header_ = make(http.Header) 3519 } 3520 return c.header_ 3521} 3522 3523func (c *PipelinesRunCall) doRequest(alt string) (*http.Response, error) { 3524 reqHeaders := make(http.Header) 3525 for k, v := range c.header_ { 3526 reqHeaders[k] = v 3527 } 3528 reqHeaders.Set("User-Agent", c.s.userAgent()) 3529 var body io.Reader = nil 3530 body, err := googleapi.WithoutDataWrapper.JSONReader(c.runpipelinerequest) 3531 if err != nil { 3532 return nil, err 3533 } 3534 reqHeaders.Set("Content-Type", "application/json") 3535 c.urlParams_.Set("alt", alt) 3536 c.urlParams_.Set("prettyPrint", "false") 3537 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines:run") 3538 urls += "?" + c.urlParams_.Encode() 3539 req, err := http.NewRequest("POST", urls, body) 3540 if err != nil { 3541 return nil, err 3542 } 3543 req.Header = reqHeaders 3544 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3545} 3546 3547// Do executes the "genomics.pipelines.run" call. 3548// Exactly one of *Operation or error will be non-nil. Any non-2xx 3549// status code is an error. Response headers are in either 3550// *Operation.ServerResponse.Header or (if a response was returned at 3551// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 3552// to check whether the returned error was because 3553// http.StatusNotModified was returned. 3554func (c *PipelinesRunCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 3555 gensupport.SetOptions(c.urlParams_, opts...) 3556 res, err := c.doRequest("json") 3557 if res != nil && res.StatusCode == http.StatusNotModified { 3558 if res.Body != nil { 3559 res.Body.Close() 3560 } 3561 return nil, &googleapi.Error{ 3562 Code: res.StatusCode, 3563 Header: res.Header, 3564 } 3565 } 3566 if err != nil { 3567 return nil, err 3568 } 3569 defer googleapi.CloseBody(res) 3570 if err := googleapi.CheckResponse(res); err != nil { 3571 return nil, err 3572 } 3573 ret := &Operation{ 3574 ServerResponse: googleapi.ServerResponse{ 3575 Header: res.Header, 3576 HTTPStatusCode: res.StatusCode, 3577 }, 3578 } 3579 target := &ret 3580 if err := gensupport.DecodeResponse(target, res); err != nil { 3581 return nil, err 3582 } 3583 return ret, nil 3584 // { 3585 // "description": "Runs a pipeline. If `pipelineId` is specified in the request, then\nrun a saved pipeline. If `ephemeralPipeline` is specified, then run\nthat pipeline once without saving a copy.\n\nThe caller must have READ permission to the project where the pipeline\nis stored and WRITE permission to the project where the pipeline will be\nrun, as VMs will be created and storage will be used.\n\nIf a pipeline operation is still running after 6 days, it will be canceled.", 3586 // "flatPath": "v1alpha2/pipelines:run", 3587 // "httpMethod": "POST", 3588 // "id": "genomics.pipelines.run", 3589 // "parameterOrder": [], 3590 // "parameters": {}, 3591 // "path": "v1alpha2/pipelines:run", 3592 // "request": { 3593 // "$ref": "RunPipelineRequest" 3594 // }, 3595 // "response": { 3596 // "$ref": "Operation" 3597 // }, 3598 // "scopes": [ 3599 // "https://www.googleapis.com/auth/cloud-platform", 3600 // "https://www.googleapis.com/auth/compute", 3601 // "https://www.googleapis.com/auth/genomics" 3602 // ] 3603 // } 3604 3605} 3606 3607// method id "genomics.pipelines.setOperationStatus": 3608 3609type PipelinesSetOperationStatusCall struct { 3610 s *Service 3611 setoperationstatusrequest *SetOperationStatusRequest 3612 urlParams_ gensupport.URLParams 3613 ctx_ context.Context 3614 header_ http.Header 3615} 3616 3617// SetOperationStatus: Sets status of a given operation. Any new 3618// timestamps (as determined by 3619// description) are appended to TimestampEvents. Should only be called 3620// by VMs 3621// created by the Pipelines Service and not by end users. 3622func (r *PipelinesService) SetOperationStatus(setoperationstatusrequest *SetOperationStatusRequest) *PipelinesSetOperationStatusCall { 3623 c := &PipelinesSetOperationStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3624 c.setoperationstatusrequest = setoperationstatusrequest 3625 return c 3626} 3627 3628// Fields allows partial responses to be retrieved. See 3629// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3630// for more information. 3631func (c *PipelinesSetOperationStatusCall) Fields(s ...googleapi.Field) *PipelinesSetOperationStatusCall { 3632 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3633 return c 3634} 3635 3636// Context sets the context to be used in this call's Do method. Any 3637// pending HTTP request will be aborted if the provided context is 3638// canceled. 3639func (c *PipelinesSetOperationStatusCall) Context(ctx context.Context) *PipelinesSetOperationStatusCall { 3640 c.ctx_ = ctx 3641 return c 3642} 3643 3644// Header returns an http.Header that can be modified by the caller to 3645// add HTTP headers to the request. 3646func (c *PipelinesSetOperationStatusCall) Header() http.Header { 3647 if c.header_ == nil { 3648 c.header_ = make(http.Header) 3649 } 3650 return c.header_ 3651} 3652 3653func (c *PipelinesSetOperationStatusCall) doRequest(alt string) (*http.Response, error) { 3654 reqHeaders := make(http.Header) 3655 for k, v := range c.header_ { 3656 reqHeaders[k] = v 3657 } 3658 reqHeaders.Set("User-Agent", c.s.userAgent()) 3659 var body io.Reader = nil 3660 body, err := googleapi.WithoutDataWrapper.JSONReader(c.setoperationstatusrequest) 3661 if err != nil { 3662 return nil, err 3663 } 3664 reqHeaders.Set("Content-Type", "application/json") 3665 c.urlParams_.Set("alt", alt) 3666 c.urlParams_.Set("prettyPrint", "false") 3667 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha2/pipelines:setOperationStatus") 3668 urls += "?" + c.urlParams_.Encode() 3669 req, err := http.NewRequest("PUT", urls, body) 3670 if err != nil { 3671 return nil, err 3672 } 3673 req.Header = reqHeaders 3674 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3675} 3676 3677// Do executes the "genomics.pipelines.setOperationStatus" call. 3678// Exactly one of *Empty or error will be non-nil. Any non-2xx status 3679// code is an error. Response headers are in either 3680// *Empty.ServerResponse.Header or (if a response was returned at all) 3681// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 3682// check whether the returned error was because http.StatusNotModified 3683// was returned. 3684func (c *PipelinesSetOperationStatusCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 3685 gensupport.SetOptions(c.urlParams_, opts...) 3686 res, err := c.doRequest("json") 3687 if res != nil && res.StatusCode == http.StatusNotModified { 3688 if res.Body != nil { 3689 res.Body.Close() 3690 } 3691 return nil, &googleapi.Error{ 3692 Code: res.StatusCode, 3693 Header: res.Header, 3694 } 3695 } 3696 if err != nil { 3697 return nil, err 3698 } 3699 defer googleapi.CloseBody(res) 3700 if err := googleapi.CheckResponse(res); err != nil { 3701 return nil, err 3702 } 3703 ret := &Empty{ 3704 ServerResponse: googleapi.ServerResponse{ 3705 Header: res.Header, 3706 HTTPStatusCode: res.StatusCode, 3707 }, 3708 } 3709 target := &ret 3710 if err := gensupport.DecodeResponse(target, res); err != nil { 3711 return nil, err 3712 } 3713 return ret, nil 3714 // { 3715 // "description": "Sets status of a given operation. Any new timestamps (as determined by\ndescription) are appended to TimestampEvents. Should only be called by VMs\ncreated by the Pipelines Service and not by end users.", 3716 // "flatPath": "v1alpha2/pipelines:setOperationStatus", 3717 // "httpMethod": "PUT", 3718 // "id": "genomics.pipelines.setOperationStatus", 3719 // "parameterOrder": [], 3720 // "parameters": {}, 3721 // "path": "v1alpha2/pipelines:setOperationStatus", 3722 // "request": { 3723 // "$ref": "SetOperationStatusRequest" 3724 // }, 3725 // "response": { 3726 // "$ref": "Empty" 3727 // }, 3728 // "scopes": [ 3729 // "https://www.googleapis.com/auth/cloud-platform", 3730 // "https://www.googleapis.com/auth/genomics" 3731 // ] 3732 // } 3733 3734} 3735