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/v2alpha1" 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/v2alpha1" 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:v2alpha1" 77const apiName = "genomics" 78const apiVersion = "v2alpha1" 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 Genomics data 87 GenomicsScope = "https://www.googleapis.com/auth/genomics" 88) 89 90// NewService creates a new Service. 91func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 92 scopesOption := option.WithScopes( 93 "https://www.googleapis.com/auth/cloud-platform", 94 "https://www.googleapis.com/auth/genomics", 95 ) 96 // NOTE: prepend, so we don't override user-specified scopes. 97 opts = append([]option.ClientOption{scopesOption}, opts...) 98 client, endpoint, err := htransport.NewClient(ctx, opts...) 99 if err != nil { 100 return nil, err 101 } 102 s, err := New(client) 103 if err != nil { 104 return nil, err 105 } 106 if endpoint != "" { 107 s.BasePath = endpoint 108 } 109 return s, nil 110} 111 112// New creates a new Service. It uses the provided http.Client for requests. 113// 114// Deprecated: please use NewService instead. 115// To provide a custom HTTP client, use option.WithHTTPClient. 116// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 117func New(client *http.Client) (*Service, error) { 118 if client == nil { 119 return nil, errors.New("client is nil") 120 } 121 s := &Service{client: client, BasePath: basePath} 122 s.Pipelines = NewPipelinesService(s) 123 s.Projects = NewProjectsService(s) 124 s.Workers = NewWorkersService(s) 125 return s, nil 126} 127 128type Service struct { 129 client *http.Client 130 BasePath string // API endpoint base URL 131 UserAgent string // optional additional User-Agent fragment 132 133 Pipelines *PipelinesService 134 135 Projects *ProjectsService 136 137 Workers *WorkersService 138} 139 140func (s *Service) userAgent() string { 141 if s.UserAgent == "" { 142 return googleapi.UserAgent 143 } 144 return googleapi.UserAgent + " " + s.UserAgent 145} 146 147func NewPipelinesService(s *Service) *PipelinesService { 148 rs := &PipelinesService{s: s} 149 return rs 150} 151 152type PipelinesService struct { 153 s *Service 154} 155 156func NewProjectsService(s *Service) *ProjectsService { 157 rs := &ProjectsService{s: s} 158 rs.Operations = NewProjectsOperationsService(s) 159 return rs 160} 161 162type ProjectsService struct { 163 s *Service 164 165 Operations *ProjectsOperationsService 166} 167 168func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 169 rs := &ProjectsOperationsService{s: s} 170 return rs 171} 172 173type ProjectsOperationsService struct { 174 s *Service 175} 176 177func NewWorkersService(s *Service) *WorkersService { 178 rs := &WorkersService{s: s} 179 return rs 180} 181 182type WorkersService struct { 183 s *Service 184} 185 186// Accelerator: Carries information about an accelerator that can be 187// attached to a VM. 188type Accelerator struct { 189 // Count: How many accelerators of this type to attach. 190 Count int64 `json:"count,omitempty,string"` 191 192 // Type: The accelerator type string (for example, 193 // "nvidia-tesla-k80"). 194 // 195 // Only NVIDIA GPU accelerators are currently supported. If an NVIDIA 196 // GPU is 197 // attached, the required runtime libraries will be made available to 198 // all 199 // containers under `/usr/local/nvidia`. The driver version to install 200 // must 201 // be specified using the NVIDIA driver version parameter on the 202 // virtual 203 // machine specification. Note that attaching a GPU increases the worker 204 // VM 205 // startup time by a few minutes. 206 Type string `json:"type,omitempty"` 207 208 // ForceSendFields is a list of field names (e.g. "Count") to 209 // unconditionally include in API requests. By default, fields with 210 // empty values are omitted from API requests. However, any non-pointer, 211 // non-interface field appearing in ForceSendFields will be sent to the 212 // server regardless of whether the field is empty or not. This may be 213 // used to include empty fields in Patch requests. 214 ForceSendFields []string `json:"-"` 215 216 // NullFields is a list of field names (e.g. "Count") to include in API 217 // requests with the JSON null value. By default, fields with empty 218 // values are omitted from API requests. However, any field with an 219 // empty value appearing in NullFields will be sent to the server as 220 // null. It is an error if a field in this list has a non-empty value. 221 // This may be used to include null fields in Patch requests. 222 NullFields []string `json:"-"` 223} 224 225func (s *Accelerator) MarshalJSON() ([]byte, error) { 226 type NoMethod Accelerator 227 raw := NoMethod(*s) 228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 229} 230 231// Action: Specifies a single action that runs a Docker container. 232type Action struct { 233 // Commands: If specified, overrides the `CMD` specified in the 234 // container. If the 235 // container also has an `ENTRYPOINT` the values are used as 236 // entrypoint 237 // arguments. Otherwise, they are used as a command and arguments to 238 // run 239 // inside the container. 240 Commands []string `json:"commands,omitempty"` 241 242 // Credentials: If the specified image is hosted on a private registry 243 // other than Google 244 // Container Registry, the credentials required to pull the image must 245 // be 246 // specified here as an encrypted secret. 247 // 248 // The secret must decrypt to a JSON-encoded dictionary containing 249 // both 250 // `username` and `password` keys. 251 Credentials *Secret `json:"credentials,omitempty"` 252 253 // Entrypoint: If specified, overrides the `ENTRYPOINT` specified in the 254 // container. 255 Entrypoint string `json:"entrypoint,omitempty"` 256 257 // Environment: The environment to pass into the container. This 258 // environment is merged 259 // with any values specified in the `Pipeline` message. These 260 // values 261 // overwrite any in the `Pipeline` message. 262 // 263 // In addition to the values passed here, a few other values 264 // are 265 // automatically injected into the environment. These cannot be hidden 266 // or 267 // overwritten. 268 // 269 // `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline 270 // failed 271 // because an action has exited with a non-zero status (and did not have 272 // the 273 // `IGNORE_EXIT_STATUS` flag set). This can be used to determine if 274 // additional 275 // debug or logging actions should execute. 276 // 277 // `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the 278 // last 279 // non-background action that executed. This can be used by workflow 280 // engine 281 // authors to determine whether an individual action has succeeded or 282 // failed. 283 Environment map[string]string `json:"environment,omitempty"` 284 285 // Flags: The set of flags to apply to this action. 286 // 287 // Possible values: 288 // "FLAG_UNSPECIFIED" - Unspecified flag. 289 // "IGNORE_EXIT_STATUS" - Normally, a non-zero exit status causes the 290 // pipeline to fail. This flag 291 // allows execution of other actions to continue instead. 292 // "RUN_IN_BACKGROUND" - This flag allows an action to continue 293 // running in the background while 294 // executing subsequent actions. This is useful to provide services 295 // to 296 // other actions (or to provide debugging support tools like SSH 297 // servers). 298 // "ALWAYS_RUN" - By default, after an action fails, no further 299 // actions are run. This flag 300 // indicates that this action must be run even if the pipeline has 301 // already 302 // failed. This is useful for actions that copy output files off of the 303 // VM 304 // or for debugging. 305 // "ENABLE_FUSE" - Enable access to the FUSE device for this action. 306 // Filesystems can then 307 // be mounted into disks shared with other actions. The other actions 308 // do 309 // not need the `ENABLE_FUSE` flag to access the mounted 310 // filesystem. 311 // 312 // This has the effect of causing the container to be executed 313 // with 314 // `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it 315 // only 316 // for containers you trust. 317 // "PUBLISH_EXPOSED_PORTS" - Exposes all ports specified by `EXPOSE` 318 // statements in the container. To 319 // discover the host side port numbers, consult the `ACTION_STARTED` 320 // event 321 // in the operation metadata. 322 // "DISABLE_IMAGE_PREFETCH" - All container images are typically 323 // downloaded before any actions are 324 // executed. This helps prevent typos in URIs or issues like lack of 325 // disk 326 // space from wasting large amounts of compute resources. 327 // 328 // If set, this flag prevents the worker from downloading the image 329 // until 330 // just before the action is executed. 331 // "DISABLE_STANDARD_ERROR_CAPTURE" - A small portion of the 332 // container's standard error stream is typically 333 // captured and returned inside the `ContainerStoppedEvent`. Setting 334 // this 335 // flag disables this functionality. 336 Flags []string `json:"flags,omitempty"` 337 338 // ImageUri: The URI to pull the container image from. Note that all 339 // images referenced 340 // by actions in the pipeline are pulled before the first action runs. 341 // If 342 // multiple actions reference the same image, it is only pulled 343 // once, 344 // ensuring that the same image is used for all actions in a single 345 // pipeline. 346 ImageUri string `json:"imageUri,omitempty"` 347 348 // Labels: Labels to associate with the action. This field is provided 349 // to assist 350 // workflow engine authors in identifying actions (for example, to 351 // indicate 352 // what sort of action they perform, such as localization or 353 // debugging). 354 // They are returned in the operation metadata, but are otherwise 355 // ignored. 356 Labels map[string]string `json:"labels,omitempty"` 357 358 // Mounts: A list of mounts to make available to the action. 359 // 360 // In addition to the values specified here, every action has a 361 // special 362 // virtual disk mounted under `/google` that contains log files and 363 // other 364 // operational components. 365 // 366 // <ul> 367 // <li><code>/google/logs</code> All logs written during the pipeline 368 // execution.</li> 369 // <li><code>/google/logs/output</code> The combined standard output 370 // and 371 // standard error of all actions run as part of the pipeline 372 // execution.</li> 373 // <li><code>/google/logs/action/*/stdout</code> The complete contents 374 // of 375 // each individual action's standard output.</li> 376 // <li><code>/google/logs/action/*/stderr</code> The complete contents 377 // of 378 // each individual action's standard error output.</li> 379 // </ul> 380 Mounts []*Mount `json:"mounts,omitempty"` 381 382 // Name: An optional name for the container. The container hostname will 383 // be set to 384 // this name, making it useful for inter-container communication. The 385 // name 386 // must contain only upper and lowercase alphanumeric characters and 387 // hypens 388 // and cannot start with a hyphen. 389 Name string `json:"name,omitempty"` 390 391 // PidNamespace: An optional identifier for a PID namespace to run the 392 // action inside. 393 // Multiple actions should use the same string to share a namespace. 394 // If 395 // unspecified, a separate isolated namespace is used. 396 PidNamespace string `json:"pidNamespace,omitempty"` 397 398 // PortMappings: A map of containers to host port mappings for this 399 // container. If the 400 // container already specifies exposed ports, use 401 // the 402 // `PUBLISH_EXPOSED_PORTS` flag instead. 403 // 404 // The host port number must be less than 65536. If it is zero, an 405 // unused 406 // random port is assigned. To determine the resulting port number, 407 // consult 408 // the `ContainerStartedEvent` in the operation metadata. 409 PortMappings map[string]int64 `json:"portMappings,omitempty"` 410 411 // Timeout: The maximum amount of time to give the action to complete. 412 // If the action 413 // fails to complete before the timeout, it will be terminated and the 414 // exit 415 // status will be non-zero. The pipeline will continue or terminate 416 // based 417 // on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` 418 // flags. 419 Timeout string `json:"timeout,omitempty"` 420 421 // ForceSendFields is a list of field names (e.g. "Commands") to 422 // unconditionally include in API requests. By default, fields with 423 // empty values are omitted from API requests. However, any non-pointer, 424 // non-interface field appearing in ForceSendFields will be sent to the 425 // server regardless of whether the field is empty or not. This may be 426 // used to include empty fields in Patch requests. 427 ForceSendFields []string `json:"-"` 428 429 // NullFields is a list of field names (e.g. "Commands") to include in 430 // API requests with the JSON null value. By default, fields with empty 431 // values are omitted from API requests. However, any field with an 432 // empty value appearing in NullFields will be sent to the server as 433 // null. It is an error if a field in this list has a non-empty value. 434 // This may be used to include null fields in Patch requests. 435 NullFields []string `json:"-"` 436} 437 438func (s *Action) MarshalJSON() ([]byte, error) { 439 type NoMethod Action 440 raw := NoMethod(*s) 441 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 442} 443 444// CancelOperationRequest: The request message for 445// Operations.CancelOperation. 446type CancelOperationRequest struct { 447} 448 449// CheckInRequest: The parameters to the CheckIn method. 450type CheckInRequest struct { 451 // DeadlineExpired: The deadline has expired and the worker needs more 452 // time. 453 DeadlineExpired *Empty `json:"deadlineExpired,omitempty"` 454 455 // Event: A workflow specific event occurred. 456 Event googleapi.RawMessage `json:"event,omitempty"` 457 458 // Result: The operation has finished with the given result. 459 Result *Status `json:"result,omitempty"` 460 461 // WorkerStatus: Data about the status of the worker VM. 462 WorkerStatus *WorkerStatus `json:"workerStatus,omitempty"` 463 464 // ForceSendFields is a list of field names (e.g. "DeadlineExpired") to 465 // unconditionally include in API requests. By default, fields with 466 // empty values are omitted from API requests. However, any non-pointer, 467 // non-interface field appearing in ForceSendFields will be sent to the 468 // server regardless of whether the field is empty or not. This may be 469 // used to include empty fields in Patch requests. 470 ForceSendFields []string `json:"-"` 471 472 // NullFields is a list of field names (e.g. "DeadlineExpired") to 473 // include in API requests with the JSON null value. By default, fields 474 // with empty values are omitted from API requests. However, any field 475 // with an empty value appearing in NullFields will be sent to the 476 // server as null. It is an error if a field in this list has a 477 // non-empty value. This may be used to include null fields in Patch 478 // requests. 479 NullFields []string `json:"-"` 480} 481 482func (s *CheckInRequest) MarshalJSON() ([]byte, error) { 483 type NoMethod CheckInRequest 484 raw := NoMethod(*s) 485 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 486} 487 488// CheckInResponse: The response to the CheckIn method. 489type CheckInResponse struct { 490 // Deadline: The deadline by which the worker must request an extension. 491 // The backend 492 // will allow for network transmission time and other delays, but the 493 // worker 494 // must attempt to transmit the extension request no later than the 495 // deadline. 496 Deadline string `json:"deadline,omitempty"` 497 498 // Metadata: The metadata that describes the operation assigned to the 499 // worker. 500 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 501 502 // ServerResponse contains the HTTP response code and headers from the 503 // server. 504 googleapi.ServerResponse `json:"-"` 505 506 // ForceSendFields is a list of field names (e.g. "Deadline") to 507 // unconditionally include in API requests. By default, fields with 508 // empty values are omitted from API requests. However, any non-pointer, 509 // non-interface field appearing in ForceSendFields will be sent to the 510 // server regardless of whether the field is empty or not. This may be 511 // used to include empty fields in Patch requests. 512 ForceSendFields []string `json:"-"` 513 514 // NullFields is a list of field names (e.g. "Deadline") to include in 515 // API requests with the JSON null value. By default, fields with empty 516 // values are omitted from API requests. However, any field with an 517 // empty value appearing in NullFields will be sent to the server as 518 // null. It is an error if a field in this list has a non-empty value. 519 // This may be used to include null fields in Patch requests. 520 NullFields []string `json:"-"` 521} 522 523func (s *CheckInResponse) MarshalJSON() ([]byte, error) { 524 type NoMethod CheckInResponse 525 raw := NoMethod(*s) 526 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 527} 528 529// ComputeEngine: Describes a Compute Engine resource that is being 530// managed by a running 531// pipeline. 532type ComputeEngine struct { 533 // DiskNames: The names of the disks that were created for this 534 // pipeline. 535 DiskNames []string `json:"diskNames,omitempty"` 536 537 // InstanceName: The instance on which the operation is running. 538 InstanceName string `json:"instanceName,omitempty"` 539 540 // MachineType: The machine type of the instance. 541 MachineType string `json:"machineType,omitempty"` 542 543 // Zone: The availability zone in which the instance resides. 544 Zone string `json:"zone,omitempty"` 545 546 // ForceSendFields is a list of field names (e.g. "DiskNames") to 547 // unconditionally include in API requests. By default, fields with 548 // empty values are omitted from API requests. However, any non-pointer, 549 // non-interface field appearing in ForceSendFields will be sent to the 550 // server regardless of whether the field is empty or not. This may be 551 // used to include empty fields in Patch requests. 552 ForceSendFields []string `json:"-"` 553 554 // NullFields is a list of field names (e.g. "DiskNames") to include in 555 // API requests with the JSON null value. By default, fields with empty 556 // values are omitted from API requests. However, any field with an 557 // empty value appearing in NullFields will be sent to the server as 558 // null. It is an error if a field in this list has a non-empty value. 559 // This may be used to include null fields in Patch requests. 560 NullFields []string `json:"-"` 561} 562 563func (s *ComputeEngine) MarshalJSON() ([]byte, error) { 564 type NoMethod ComputeEngine 565 raw := NoMethod(*s) 566 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 567} 568 569// ContainerKilledEvent: An event generated when a container is forcibly 570// terminated by the 571// worker. Currently, this only occurs when the container outlives 572// the 573// timeout specified by the user. 574type ContainerKilledEvent struct { 575 // ActionId: The numeric ID of the action that started the container. 576 ActionId int64 `json:"actionId,omitempty"` 577 578 // ForceSendFields is a list of field names (e.g. "ActionId") to 579 // unconditionally include in API requests. By default, fields with 580 // empty values are omitted from API requests. However, any non-pointer, 581 // non-interface field appearing in ForceSendFields will be sent to the 582 // server regardless of whether the field is empty or not. This may be 583 // used to include empty fields in Patch requests. 584 ForceSendFields []string `json:"-"` 585 586 // NullFields is a list of field names (e.g. "ActionId") to include in 587 // API requests with the JSON null value. By default, fields with empty 588 // values are omitted from API requests. However, any field with an 589 // empty value appearing in NullFields will be sent to the server as 590 // null. It is an error if a field in this list has a non-empty value. 591 // This may be used to include null fields in Patch requests. 592 NullFields []string `json:"-"` 593} 594 595func (s *ContainerKilledEvent) MarshalJSON() ([]byte, error) { 596 type NoMethod ContainerKilledEvent 597 raw := NoMethod(*s) 598 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 599} 600 601// ContainerStartedEvent: An event generated when a container starts. 602type ContainerStartedEvent struct { 603 // ActionId: The numeric ID of the action that started this container. 604 ActionId int64 `json:"actionId,omitempty"` 605 606 // IpAddress: The public IP address that can be used to connect to the 607 // container. This 608 // field is only populated when at least one port mapping is present. If 609 // the 610 // instance was created with a private address, this field will be empty 611 // even 612 // if port mappings exist. 613 IpAddress string `json:"ipAddress,omitempty"` 614 615 // PortMappings: The container-to-host port mappings installed for this 616 // container. This 617 // set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` 618 // flag 619 // as well as any specified in the `Action` definition. 620 PortMappings map[string]int64 `json:"portMappings,omitempty"` 621 622 // ForceSendFields is a list of field names (e.g. "ActionId") to 623 // unconditionally include in API requests. By default, fields with 624 // empty values are omitted from API requests. However, any non-pointer, 625 // non-interface field appearing in ForceSendFields will be sent to the 626 // server regardless of whether the field is empty or not. This may be 627 // used to include empty fields in Patch requests. 628 ForceSendFields []string `json:"-"` 629 630 // NullFields is a list of field names (e.g. "ActionId") to include in 631 // API requests with the JSON null value. By default, fields with empty 632 // values are omitted from API requests. However, any field with an 633 // empty value appearing in NullFields will be sent to the server as 634 // null. It is an error if a field in this list has a non-empty value. 635 // This may be used to include null fields in Patch requests. 636 NullFields []string `json:"-"` 637} 638 639func (s *ContainerStartedEvent) MarshalJSON() ([]byte, error) { 640 type NoMethod ContainerStartedEvent 641 raw := NoMethod(*s) 642 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 643} 644 645// ContainerStoppedEvent: An event generated when a container exits. 646type ContainerStoppedEvent struct { 647 // ActionId: The numeric ID of the action that started this container. 648 ActionId int64 `json:"actionId,omitempty"` 649 650 // ExitStatus: The exit status of the container. 651 ExitStatus int64 `json:"exitStatus,omitempty"` 652 653 // Stderr: The tail end of any content written to standard error by the 654 // container. 655 // If the content emits large amounts of debugging noise or 656 // contains 657 // sensitive information, you can prevent the content from being printed 658 // by 659 // setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. 660 // 661 // Note that only a small amount of the end of the stream is captured 662 // here. 663 // The entire stream is stored in the `/google/logs` directory mounted 664 // into 665 // each action, and can be copied off the machine as described 666 // elsewhere. 667 Stderr string `json:"stderr,omitempty"` 668 669 // ForceSendFields is a list of field names (e.g. "ActionId") to 670 // unconditionally include in API requests. By default, fields with 671 // empty values are omitted from API requests. However, any non-pointer, 672 // non-interface field appearing in ForceSendFields will be sent to the 673 // server regardless of whether the field is empty or not. This may be 674 // used to include empty fields in Patch requests. 675 ForceSendFields []string `json:"-"` 676 677 // NullFields is a list of field names (e.g. "ActionId") to include in 678 // API requests with the JSON null value. By default, fields with empty 679 // values are omitted from API requests. However, any field with an 680 // empty value appearing in NullFields will be sent to the server as 681 // null. It is an error if a field in this list has a non-empty value. 682 // This may be used to include null fields in Patch requests. 683 NullFields []string `json:"-"` 684} 685 686func (s *ContainerStoppedEvent) MarshalJSON() ([]byte, error) { 687 type NoMethod ContainerStoppedEvent 688 raw := NoMethod(*s) 689 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 690} 691 692// DelayedEvent: An event generated whenever a resource limitation or 693// transient error 694// delays execution of a pipeline that was otherwise ready to run. 695type DelayedEvent struct { 696 // Cause: A textual description of the cause of the delay. The string 697 // can change 698 // without notice because it is often generated by another service (such 699 // as 700 // Compute Engine). 701 Cause string `json:"cause,omitempty"` 702 703 // Metrics: If the delay was caused by a resource shortage, this field 704 // lists the 705 // Compute Engine metrics that are preventing this operation from 706 // running 707 // (for example, `CPUS` or `INSTANCES`). If the particular metric is 708 // not 709 // known, a single `UNKNOWN` metric will be present. 710 Metrics []string `json:"metrics,omitempty"` 711 712 // ForceSendFields is a list of field names (e.g. "Cause") to 713 // unconditionally include in API requests. By default, fields with 714 // empty values are omitted from API requests. However, any non-pointer, 715 // non-interface field appearing in ForceSendFields will be sent to the 716 // server regardless of whether the field is empty or not. This may be 717 // used to include empty fields in Patch requests. 718 ForceSendFields []string `json:"-"` 719 720 // NullFields is a list of field names (e.g. "Cause") to include in API 721 // requests with the JSON null value. By default, fields with empty 722 // values are omitted from API requests. However, any field with an 723 // empty value appearing in NullFields will be sent to the server as 724 // null. It is an error if a field in this list has a non-empty value. 725 // This may be used to include null fields in Patch requests. 726 NullFields []string `json:"-"` 727} 728 729func (s *DelayedEvent) MarshalJSON() ([]byte, error) { 730 type NoMethod DelayedEvent 731 raw := NoMethod(*s) 732 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 733} 734 735// Disk: Carries information about a disk that can be attached to a 736// VM. 737// 738// See https://cloud.google.com/compute/docs/disks/performance for 739// more 740// information about disk type, size, and performance considerations. 741type Disk struct { 742 // Name: A user-supplied name for the disk. Used when mounting the disk 743 // into 744 // actions. The name must contain only upper and lowercase 745 // alphanumeric 746 // characters and hypens and cannot start with a hyphen. 747 Name string `json:"name,omitempty"` 748 749 // SizeGb: The size, in GB, of the disk to attach. If the size is 750 // not 751 // specified, a default is chosen to ensure reasonable I/O 752 // performance. 753 // 754 // If the disk type is specified as `local-ssd`, multiple local drives 755 // are 756 // automatically combined to provide the requested size. Note, however, 757 // that 758 // each physical SSD is 375GB in size, and no more than 8 drives can 759 // be 760 // attached to a single instance. 761 SizeGb int64 `json:"sizeGb,omitempty"` 762 763 // SourceImage: An optional image to put on the disk before attaching it 764 // to the VM. 765 SourceImage string `json:"sourceImage,omitempty"` 766 767 // Type: The Compute Engine disk type. If unspecified, `pd-standard` is 768 // used. 769 Type string `json:"type,omitempty"` 770 771 // ForceSendFields is a list of field names (e.g. "Name") to 772 // unconditionally include in API requests. By default, fields with 773 // empty values are omitted from API requests. However, any non-pointer, 774 // non-interface field appearing in ForceSendFields will be sent to the 775 // server regardless of whether the field is empty or not. This may be 776 // used to include empty fields in Patch requests. 777 ForceSendFields []string `json:"-"` 778 779 // NullFields is a list of field names (e.g. "Name") to include in API 780 // requests with the JSON null value. By default, fields with empty 781 // values are omitted from API requests. However, any field with an 782 // empty value appearing in NullFields will be sent to the server as 783 // null. It is an error if a field in this list has a non-empty value. 784 // This may be used to include null fields in Patch requests. 785 NullFields []string `json:"-"` 786} 787 788func (s *Disk) MarshalJSON() ([]byte, error) { 789 type NoMethod Disk 790 raw := NoMethod(*s) 791 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 792} 793 794// DiskStatus: The status of a disk on a VM. 795type DiskStatus struct { 796 // FreeSpaceBytes: Free disk space. 797 FreeSpaceBytes uint64 `json:"freeSpaceBytes,omitempty,string"` 798 799 // TotalSpaceBytes: Total disk space. 800 TotalSpaceBytes uint64 `json:"totalSpaceBytes,omitempty,string"` 801 802 // ForceSendFields is a list of field names (e.g. "FreeSpaceBytes") to 803 // unconditionally include in API requests. By default, fields with 804 // empty values are omitted from API requests. However, any non-pointer, 805 // non-interface field appearing in ForceSendFields will be sent to the 806 // server regardless of whether the field is empty or not. This may be 807 // used to include empty fields in Patch requests. 808 ForceSendFields []string `json:"-"` 809 810 // NullFields is a list of field names (e.g. "FreeSpaceBytes") to 811 // include in API requests with the JSON null value. By default, fields 812 // with empty values are omitted from API requests. However, any field 813 // with an empty value appearing in NullFields will be sent to the 814 // server as null. It is an error if a field in this list has a 815 // non-empty value. This may be used to include null fields in Patch 816 // requests. 817 NullFields []string `json:"-"` 818} 819 820func (s *DiskStatus) MarshalJSON() ([]byte, error) { 821 type NoMethod DiskStatus 822 raw := NoMethod(*s) 823 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 824} 825 826// Empty: A generic empty message that you can re-use to avoid defining 827// duplicated 828// empty messages in your APIs. A typical example is to use it as the 829// request 830// or the response type of an API method. For instance: 831// 832// service Foo { 833// rpc Bar(google.protobuf.Empty) returns 834// (google.protobuf.Empty); 835// } 836// 837// The JSON representation for `Empty` is empty JSON object `{}`. 838type Empty struct { 839 // ServerResponse contains the HTTP response code and headers from the 840 // server. 841 googleapi.ServerResponse `json:"-"` 842} 843 844// Event: Carries information about events that occur during pipeline 845// execution. 846type Event struct { 847 // Description: A human-readable description of the event. Note that 848 // these strings can 849 // change at any time without notice. Any application logic must use 850 // the 851 // information in the `details` field. 852 Description string `json:"description,omitempty"` 853 854 // Details: Machine-readable details about the event. 855 Details googleapi.RawMessage `json:"details,omitempty"` 856 857 // Timestamp: The time at which the event occurred. 858 Timestamp string `json:"timestamp,omitempty"` 859 860 // ForceSendFields is a list of field names (e.g. "Description") to 861 // unconditionally include in API requests. By default, fields with 862 // empty values are omitted from API requests. However, any non-pointer, 863 // non-interface field appearing in ForceSendFields will be sent to the 864 // server regardless of whether the field is empty or not. This may be 865 // used to include empty fields in Patch requests. 866 ForceSendFields []string `json:"-"` 867 868 // NullFields is a list of field names (e.g. "Description") to include 869 // in API requests with the JSON null value. By default, fields with 870 // empty values are omitted from API requests. However, any field with 871 // an empty value appearing in NullFields will be sent to the server as 872 // null. It is an error if a field in this list has a non-empty value. 873 // This may be used to include null fields in Patch requests. 874 NullFields []string `json:"-"` 875} 876 877func (s *Event) MarshalJSON() ([]byte, error) { 878 type NoMethod Event 879 raw := NoMethod(*s) 880 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 881} 882 883// FailedEvent: An event generated when the execution of a pipeline has 884// failed. Note 885// that other events can continue to occur after this event. 886type FailedEvent struct { 887 // Cause: The human-readable description of the cause of the failure. 888 Cause string `json:"cause,omitempty"` 889 890 // Code: The Google standard error code that best describes this 891 // failure. 892 // 893 // Possible values: 894 // "OK" - Not an error; returned on success 895 // 896 // HTTP Mapping: 200 OK 897 // "CANCELLED" - The operation was cancelled, typically by the 898 // caller. 899 // 900 // HTTP Mapping: 499 Client Closed Request 901 // "UNKNOWN" - Unknown error. For example, this error may be returned 902 // when 903 // a `Status` value received from another address space belongs to 904 // an error space that is not known in this address space. Also 905 // errors raised by APIs that do not return enough error information 906 // may be converted to this error. 907 // 908 // HTTP Mapping: 500 Internal Server Error 909 // "INVALID_ARGUMENT" - The client specified an invalid argument. 910 // Note that this differs 911 // from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates 912 // arguments 913 // that are problematic regardless of the state of the system 914 // (e.g., a malformed file name). 915 // 916 // HTTP Mapping: 400 Bad Request 917 // "DEADLINE_EXCEEDED" - The deadline expired before the operation 918 // could complete. For operations 919 // that change the state of the system, this error may be returned 920 // even if the operation has completed successfully. For example, 921 // a 922 // successful response from a server could have been delayed long 923 // enough for the deadline to expire. 924 // 925 // HTTP Mapping: 504 Gateway Timeout 926 // "NOT_FOUND" - Some requested entity (e.g., file or directory) was 927 // not found. 928 // 929 // Note to server developers: if a request is denied for an entire 930 // class 931 // of users, such as gradual feature rollout or undocumented 932 // whitelist, 933 // `NOT_FOUND` may be used. If a request is denied for some users 934 // within 935 // a class of users, such as user-based access control, 936 // `PERMISSION_DENIED` 937 // must be used. 938 // 939 // HTTP Mapping: 404 Not Found 940 // "ALREADY_EXISTS" - The entity that a client attempted to create 941 // (e.g., file or directory) 942 // already exists. 943 // 944 // HTTP Mapping: 409 Conflict 945 // "PERMISSION_DENIED" - The caller does not have permission to 946 // execute the specified 947 // operation. `PERMISSION_DENIED` must not be used for rejections 948 // caused by exhausting some resource (use `RESOURCE_EXHAUSTED` 949 // instead for those errors). `PERMISSION_DENIED` must not be 950 // used if the caller can not be identified (use 951 // `UNAUTHENTICATED` 952 // instead for those errors). This error code does not imply the 953 // request is valid or the requested entity exists or satisfies 954 // other pre-conditions. 955 // 956 // HTTP Mapping: 403 Forbidden 957 // "UNAUTHENTICATED" - The request does not have valid authentication 958 // credentials for the 959 // operation. 960 // 961 // HTTP Mapping: 401 Unauthorized 962 // "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a 963 // per-user quota, or 964 // perhaps the entire file system is out of space. 965 // 966 // HTTP Mapping: 429 Too Many Requests 967 // "FAILED_PRECONDITION" - The operation was rejected because the 968 // system is not in a state 969 // required for the operation's execution. For example, the 970 // directory 971 // to be deleted is non-empty, an rmdir operation is applied to 972 // a non-directory, etc. 973 // 974 // Service implementors can use the following guidelines to 975 // decide 976 // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: 977 // (a) Use `UNAVAILABLE` if the client can retry just the failing 978 // call. 979 // (b) Use `ABORTED` if the client should retry at a higher level 980 // (e.g., when a client-specified test-and-set fails, indicating 981 // the 982 // client should restart a read-modify-write sequence). 983 // (c) Use `FAILED_PRECONDITION` if the client should not retry until 984 // the system state has been explicitly fixed. E.g., if an 985 // "rmdir" 986 // fails because the directory is non-empty, `FAILED_PRECONDITION` 987 // should be returned since the client should not retry unless 988 // the files are deleted from the directory. 989 // 990 // HTTP Mapping: 400 Bad Request 991 // "ABORTED" - The operation was aborted, typically due to a 992 // concurrency issue such as 993 // a sequencer check failure or transaction abort. 994 // 995 // See the guidelines above for deciding between 996 // `FAILED_PRECONDITION`, 997 // `ABORTED`, and `UNAVAILABLE`. 998 // 999 // HTTP Mapping: 409 Conflict 1000 // "OUT_OF_RANGE" - The operation was attempted past the valid range. 1001 // E.g., seeking or 1002 // reading past end-of-file. 1003 // 1004 // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may 1005 // be fixed if the system state changes. For example, a 32-bit 1006 // file 1007 // system will generate `INVALID_ARGUMENT` if asked to read at an 1008 // offset that is not in the range [0,2^32-1], but it will 1009 // generate 1010 // `OUT_OF_RANGE` if asked to read from an offset past the current 1011 // file size. 1012 // 1013 // There is a fair bit of overlap between `FAILED_PRECONDITION` 1014 // and 1015 // `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more 1016 // specific 1017 // error) when it applies so that callers who are iterating through 1018 // a space can easily look for an `OUT_OF_RANGE` error to detect 1019 // when 1020 // they are done. 1021 // 1022 // HTTP Mapping: 400 Bad Request 1023 // "UNIMPLEMENTED" - The operation is not implemented or is not 1024 // supported/enabled in this 1025 // service. 1026 // 1027 // HTTP Mapping: 501 Not Implemented 1028 // "INTERNAL" - Internal errors. This means that some invariants 1029 // expected by the 1030 // underlying system have been broken. This error code is reserved 1031 // for serious errors. 1032 // 1033 // HTTP Mapping: 500 Internal Server Error 1034 // "UNAVAILABLE" - The service is currently unavailable. This is most 1035 // likely a 1036 // transient condition, which can be corrected by retrying with 1037 // a backoff. Note that it is not always safe to retry 1038 // non-idempotent operations. 1039 // 1040 // See the guidelines above for deciding between 1041 // `FAILED_PRECONDITION`, 1042 // `ABORTED`, and `UNAVAILABLE`. 1043 // 1044 // HTTP Mapping: 503 Service Unavailable 1045 // "DATA_LOSS" - Unrecoverable data loss or corruption. 1046 // 1047 // HTTP Mapping: 500 Internal Server Error 1048 Code string `json:"code,omitempty"` 1049 1050 // ForceSendFields is a list of field names (e.g. "Cause") to 1051 // unconditionally include in API requests. By default, fields with 1052 // empty values are omitted from API requests. However, any non-pointer, 1053 // non-interface field appearing in ForceSendFields will be sent to the 1054 // server regardless of whether the field is empty or not. This may be 1055 // used to include empty fields in Patch requests. 1056 ForceSendFields []string `json:"-"` 1057 1058 // NullFields is a list of field names (e.g. "Cause") to include in API 1059 // requests with the JSON null value. By default, fields with empty 1060 // values are omitted from API requests. However, any field with an 1061 // empty value appearing in NullFields will be sent to the server as 1062 // null. It is an error if a field in this list has a non-empty value. 1063 // This may be used to include null fields in Patch requests. 1064 NullFields []string `json:"-"` 1065} 1066 1067func (s *FailedEvent) MarshalJSON() ([]byte, error) { 1068 type NoMethod FailedEvent 1069 raw := NoMethod(*s) 1070 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1071} 1072 1073// ListOperationsResponse: The response message for 1074// Operations.ListOperations. 1075type ListOperationsResponse struct { 1076 // NextPageToken: The standard List next-page token. 1077 NextPageToken string `json:"nextPageToken,omitempty"` 1078 1079 // Operations: A list of operations that matches the specified filter in 1080 // the request. 1081 Operations []*Operation `json:"operations,omitempty"` 1082 1083 // ServerResponse contains the HTTP response code and headers from the 1084 // server. 1085 googleapi.ServerResponse `json:"-"` 1086 1087 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 1088 // unconditionally include in API requests. By default, fields with 1089 // empty values are omitted from API requests. However, any non-pointer, 1090 // non-interface field appearing in ForceSendFields will be sent to the 1091 // server regardless of whether the field is empty or not. This may be 1092 // used to include empty fields in Patch requests. 1093 ForceSendFields []string `json:"-"` 1094 1095 // NullFields is a list of field names (e.g. "NextPageToken") to include 1096 // in API requests with the JSON null value. By default, fields with 1097 // empty values are omitted from API requests. However, any field with 1098 // an empty value appearing in NullFields will be sent to the server as 1099 // null. It is an error if a field in this list has a non-empty value. 1100 // This may be used to include null fields in Patch requests. 1101 NullFields []string `json:"-"` 1102} 1103 1104func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 1105 type NoMethod ListOperationsResponse 1106 raw := NoMethod(*s) 1107 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1108} 1109 1110// Metadata: Carries information about the pipeline execution that is 1111// returned 1112// in the long running operation's metadata field. 1113type Metadata struct { 1114 // CreateTime: The time at which the operation was created by the API. 1115 CreateTime string `json:"createTime,omitempty"` 1116 1117 // EndTime: The time at which execution was completed and resources were 1118 // cleaned up. 1119 EndTime string `json:"endTime,omitempty"` 1120 1121 // Events: The list of events that have happened so far during the 1122 // execution of this 1123 // operation. 1124 Events []*Event `json:"events,omitempty"` 1125 1126 // Labels: The user-defined labels associated with this operation. 1127 Labels map[string]string `json:"labels,omitempty"` 1128 1129 // Pipeline: The pipeline this operation represents. 1130 Pipeline *Pipeline `json:"pipeline,omitempty"` 1131 1132 // StartTime: The first time at which resources were allocated to 1133 // execute the pipeline. 1134 StartTime string `json:"startTime,omitempty"` 1135 1136 // ForceSendFields is a list of field names (e.g. "CreateTime") to 1137 // unconditionally include in API requests. By default, fields with 1138 // empty values are omitted from API requests. However, any non-pointer, 1139 // non-interface field appearing in ForceSendFields will be sent to the 1140 // server regardless of whether the field is empty or not. This may be 1141 // used to include empty fields in Patch requests. 1142 ForceSendFields []string `json:"-"` 1143 1144 // NullFields is a list of field names (e.g. "CreateTime") to include in 1145 // API requests with the JSON null value. By default, fields with empty 1146 // values are omitted from API requests. However, any field with an 1147 // empty value appearing in NullFields will be sent to the server as 1148 // null. It is an error if a field in this list has a non-empty value. 1149 // This may be used to include null fields in Patch requests. 1150 NullFields []string `json:"-"` 1151} 1152 1153func (s *Metadata) MarshalJSON() ([]byte, error) { 1154 type NoMethod Metadata 1155 raw := NoMethod(*s) 1156 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1157} 1158 1159// Mount: Carries information about a particular disk mount inside a 1160// container. 1161type Mount struct { 1162 // Disk: The name of the disk to mount, as specified in the resources 1163 // section. 1164 Disk string `json:"disk,omitempty"` 1165 1166 // Path: The path to mount the disk inside the container. 1167 Path string `json:"path,omitempty"` 1168 1169 // ReadOnly: If true, the disk is mounted read-only inside the 1170 // container. 1171 ReadOnly bool `json:"readOnly,omitempty"` 1172 1173 // ForceSendFields is a list of field names (e.g. "Disk") 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. "Disk") to include in API 1182 // requests with the JSON null value. By default, fields with empty 1183 // values are omitted from API requests. However, any field with an 1184 // 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 *Mount) MarshalJSON() ([]byte, error) { 1191 type NoMethod Mount 1192 raw := NoMethod(*s) 1193 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1194} 1195 1196// Network: VM networking options. 1197type Network struct { 1198 // Name: The network name to attach the VM's network interface to. The 1199 // value will 1200 // be prefixed with `global/networks/` unless it contains a `/`, in 1201 // which 1202 // case it is assumed to be a fully specified network resource URL. 1203 // 1204 // If unspecified, the global default network is used. 1205 Name string `json:"name,omitempty"` 1206 1207 // Subnetwork: If the specified network is configured for custom subnet 1208 // creation, the 1209 // name of the subnetwork to attach the instance to must be specified 1210 // here. 1211 // 1212 // The value is prefixed with `regions/*/subnetworks/` unless it 1213 // contains a 1214 // `/`, in which case it is assumed to be a fully specified 1215 // subnetwork 1216 // resource URL. 1217 // 1218 // If the `*` character appears in the value, it is replaced with the 1219 // region 1220 // that the virtual machine has been allocated in. 1221 Subnetwork string `json:"subnetwork,omitempty"` 1222 1223 // UsePrivateAddress: If set to true, do not attach a public IP address 1224 // to the VM. Note that 1225 // without a public IP address, additional configuration is required 1226 // to 1227 // allow the VM to access Google services. 1228 // 1229 // See 1230 // https://cloud.google.com/vpc/docs/configure-private-google-access 1231 // for more information. 1232 UsePrivateAddress bool `json:"usePrivateAddress,omitempty"` 1233 1234 // ForceSendFields is a list of field names (e.g. "Name") to 1235 // unconditionally include in API requests. By default, fields with 1236 // empty values are omitted from API requests. However, any non-pointer, 1237 // non-interface field appearing in ForceSendFields will be sent to the 1238 // server regardless of whether the field is empty or not. This may be 1239 // used to include empty fields in Patch requests. 1240 ForceSendFields []string `json:"-"` 1241 1242 // NullFields is a list of field names (e.g. "Name") to include in API 1243 // requests with the JSON null value. By default, fields with empty 1244 // values are omitted from API requests. However, any field with an 1245 // empty value appearing in NullFields will be sent to the server as 1246 // null. It is an error if a field in this list has a non-empty value. 1247 // This may be used to include null fields in Patch requests. 1248 NullFields []string `json:"-"` 1249} 1250 1251func (s *Network) MarshalJSON() ([]byte, error) { 1252 type NoMethod Network 1253 raw := NoMethod(*s) 1254 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1255} 1256 1257// Operation: This resource represents a long-running operation that is 1258// the result of a 1259// network API call. 1260type Operation struct { 1261 // Done: If the value is `false`, it means the operation is still in 1262 // progress. 1263 // If `true`, the operation is completed, and either `error` or 1264 // `response` is 1265 // available. 1266 Done bool `json:"done,omitempty"` 1267 1268 // Error: The error result of the operation in case of failure or 1269 // cancellation. 1270 Error *Status `json:"error,omitempty"` 1271 1272 // Metadata: An OperationMetadata or Metadata object. This will always 1273 // be returned with the Operation. 1274 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 1275 1276 // Name: The server-assigned name, which is only unique within the same 1277 // service that originally returns it. For example: 1278 // `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw` 1279 Name string `json:"name,omitempty"` 1280 1281 // Response: An Empty object. 1282 Response googleapi.RawMessage `json:"response,omitempty"` 1283 1284 // ServerResponse contains the HTTP response code and headers from the 1285 // server. 1286 googleapi.ServerResponse `json:"-"` 1287 1288 // ForceSendFields is a list of field names (e.g. "Done") to 1289 // unconditionally include in API requests. By default, fields with 1290 // empty values are omitted from API requests. However, any non-pointer, 1291 // non-interface field appearing in ForceSendFields will be sent to the 1292 // server regardless of whether the field is empty or not. This may be 1293 // used to include empty fields in Patch requests. 1294 ForceSendFields []string `json:"-"` 1295 1296 // NullFields is a list of field names (e.g. "Done") to include in API 1297 // requests with the JSON null value. By default, fields with empty 1298 // values are omitted from API requests. However, any field with an 1299 // empty value appearing in NullFields will be sent to the server as 1300 // null. It is an error if a field in this list has a non-empty value. 1301 // This may be used to include null fields in Patch requests. 1302 NullFields []string `json:"-"` 1303} 1304 1305func (s *Operation) MarshalJSON() ([]byte, error) { 1306 type NoMethod Operation 1307 raw := NoMethod(*s) 1308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1309} 1310 1311// OperationEvent: An event that occurred during an Operation. 1312type OperationEvent struct { 1313 // Description: Required description of event. 1314 Description string `json:"description,omitempty"` 1315 1316 // EndTime: Optional time of when event finished. An event can have a 1317 // start time and no 1318 // finish time. If an event has a finish time, there must be a start 1319 // time. 1320 EndTime string `json:"endTime,omitempty"` 1321 1322 // StartTime: Optional time of when event started. 1323 StartTime string `json:"startTime,omitempty"` 1324 1325 // ForceSendFields is a list of field names (e.g. "Description") to 1326 // unconditionally include in API requests. By default, fields with 1327 // empty values are omitted from API requests. However, any non-pointer, 1328 // non-interface field appearing in ForceSendFields will be sent to the 1329 // server regardless of whether the field is empty or not. This may be 1330 // used to include empty fields in Patch requests. 1331 ForceSendFields []string `json:"-"` 1332 1333 // NullFields is a list of field names (e.g. "Description") to include 1334 // in API requests with the JSON null value. By default, fields with 1335 // empty values are omitted from API requests. However, any field with 1336 // an empty value appearing in NullFields will be sent to the server as 1337 // null. It is an error if a field in this list has a non-empty value. 1338 // This may be used to include null fields in Patch requests. 1339 NullFields []string `json:"-"` 1340} 1341 1342func (s *OperationEvent) MarshalJSON() ([]byte, error) { 1343 type NoMethod OperationEvent 1344 raw := NoMethod(*s) 1345 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1346} 1347 1348// OperationMetadata: Metadata describing an Operation. 1349type OperationMetadata struct { 1350 // ClientId: This field is deprecated. Use `labels` instead. Optionally 1351 // provided by the 1352 // caller when submitting the request that creates the operation. 1353 ClientId string `json:"clientId,omitempty"` 1354 1355 // CreateTime: The time at which the job was submitted to the Genomics 1356 // service. 1357 CreateTime string `json:"createTime,omitempty"` 1358 1359 // EndTime: The time at which the job stopped running. 1360 EndTime string `json:"endTime,omitempty"` 1361 1362 // Events: Optional event messages that were generated during the job's 1363 // execution. 1364 // This also contains any warnings that were generated during import 1365 // or export. 1366 Events []*OperationEvent `json:"events,omitempty"` 1367 1368 // Labels: Optionally provided by the caller when submitting the request 1369 // that creates 1370 // the operation. 1371 Labels map[string]string `json:"labels,omitempty"` 1372 1373 // ProjectId: The Google Cloud Project in which the job is scoped. 1374 ProjectId string `json:"projectId,omitempty"` 1375 1376 // Request: The original request that started the operation. Note that 1377 // this will be in 1378 // current version of the API. If the operation was started with v1beta2 1379 // API 1380 // and a GetOperation is performed on v1 API, a v1 request will be 1381 // returned. 1382 Request googleapi.RawMessage `json:"request,omitempty"` 1383 1384 // RuntimeMetadata: Runtime metadata on this Operation. 1385 RuntimeMetadata googleapi.RawMessage `json:"runtimeMetadata,omitempty"` 1386 1387 // StartTime: The time at which the job began to run. 1388 StartTime string `json:"startTime,omitempty"` 1389 1390 // ForceSendFields is a list of field names (e.g. "ClientId") to 1391 // unconditionally include in API requests. By default, fields with 1392 // empty values are omitted from API requests. However, any non-pointer, 1393 // non-interface field appearing in ForceSendFields will be sent to the 1394 // server regardless of whether the field is empty or not. This may be 1395 // used to include empty fields in Patch requests. 1396 ForceSendFields []string `json:"-"` 1397 1398 // NullFields is a list of field names (e.g. "ClientId") to include in 1399 // API requests with the JSON null value. By default, fields with empty 1400 // values are omitted from API requests. However, any field with an 1401 // empty value appearing in NullFields will be sent to the server as 1402 // null. It is an error if a field in this list has a non-empty value. 1403 // This may be used to include null fields in Patch requests. 1404 NullFields []string `json:"-"` 1405} 1406 1407func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 1408 type NoMethod OperationMetadata 1409 raw := NoMethod(*s) 1410 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1411} 1412 1413// Pipeline: Specifies a series of actions to execute, expressed as 1414// Docker containers. 1415type Pipeline struct { 1416 // Actions: The list of actions to execute, in the order they are 1417 // specified. 1418 Actions []*Action `json:"actions,omitempty"` 1419 1420 // Environment: The environment to pass into every action. Each action 1421 // can also specify 1422 // additional environment variables but cannot delete an entry from this 1423 // map 1424 // (though they can overwrite it with a different value). 1425 Environment map[string]string `json:"environment,omitempty"` 1426 1427 // Resources: The resources required for execution. 1428 Resources *Resources `json:"resources,omitempty"` 1429 1430 // Timeout: The maximum amount of time to give the pipeline to complete. 1431 // This includes 1432 // the time spent waiting for a worker to be allocated. If the pipeline 1433 // fails 1434 // to complete before the timeout, it will be cancelled and the error 1435 // code 1436 // will be set to DEADLINE_EXCEEDED. 1437 // 1438 // If unspecified, it will default to 7 days. 1439 Timeout string `json:"timeout,omitempty"` 1440 1441 // ForceSendFields is a list of field names (e.g. "Actions") to 1442 // unconditionally include in API requests. By default, fields with 1443 // empty values are omitted from API requests. However, any non-pointer, 1444 // non-interface field appearing in ForceSendFields will be sent to the 1445 // server regardless of whether the field is empty or not. This may be 1446 // used to include empty fields in Patch requests. 1447 ForceSendFields []string `json:"-"` 1448 1449 // NullFields is a list of field names (e.g. "Actions") to include in 1450 // API requests with the JSON null value. By default, fields with empty 1451 // values are omitted from API requests. However, any field with an 1452 // empty value appearing in NullFields will be sent to the server as 1453 // null. It is an error if a field in this list has a non-empty value. 1454 // This may be used to include null fields in Patch requests. 1455 NullFields []string `json:"-"` 1456} 1457 1458func (s *Pipeline) MarshalJSON() ([]byte, error) { 1459 type NoMethod Pipeline 1460 raw := NoMethod(*s) 1461 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1462} 1463 1464// PullStartedEvent: An event generated when the worker starts pulling 1465// an image. 1466type PullStartedEvent struct { 1467 // ImageUri: The URI of the image that was pulled. 1468 ImageUri string `json:"imageUri,omitempty"` 1469 1470 // ForceSendFields is a list of field names (e.g. "ImageUri") to 1471 // unconditionally include in API requests. By default, fields with 1472 // empty values are omitted from API requests. However, any non-pointer, 1473 // non-interface field appearing in ForceSendFields will be sent to the 1474 // server regardless of whether the field is empty or not. This may be 1475 // used to include empty fields in Patch requests. 1476 ForceSendFields []string `json:"-"` 1477 1478 // NullFields is a list of field names (e.g. "ImageUri") to include in 1479 // API requests with the JSON null value. By default, fields with empty 1480 // values are omitted from API requests. However, any field with an 1481 // empty value appearing in NullFields will be sent to the server as 1482 // null. It is an error if a field in this list has a non-empty value. 1483 // This may be used to include null fields in Patch requests. 1484 NullFields []string `json:"-"` 1485} 1486 1487func (s *PullStartedEvent) MarshalJSON() ([]byte, error) { 1488 type NoMethod PullStartedEvent 1489 raw := NoMethod(*s) 1490 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1491} 1492 1493// PullStoppedEvent: An event generated when the worker stops pulling an 1494// image. 1495type PullStoppedEvent struct { 1496 // ImageUri: The URI of the image that was pulled. 1497 ImageUri string `json:"imageUri,omitempty"` 1498 1499 // ForceSendFields is a list of field names (e.g. "ImageUri") to 1500 // unconditionally include in API requests. By default, fields with 1501 // empty values are omitted from API requests. However, any non-pointer, 1502 // non-interface field appearing in ForceSendFields will be sent to the 1503 // server regardless of whether the field is empty or not. This may be 1504 // used to include empty fields in Patch requests. 1505 ForceSendFields []string `json:"-"` 1506 1507 // NullFields is a list of field names (e.g. "ImageUri") to include in 1508 // API requests with the JSON null value. By default, fields with empty 1509 // values are omitted from API requests. However, any field with an 1510 // empty value appearing in NullFields will be sent to the server as 1511 // null. It is an error if a field in this list has a non-empty value. 1512 // This may be used to include null fields in Patch requests. 1513 NullFields []string `json:"-"` 1514} 1515 1516func (s *PullStoppedEvent) MarshalJSON() ([]byte, error) { 1517 type NoMethod PullStoppedEvent 1518 raw := NoMethod(*s) 1519 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1520} 1521 1522// Resources: The system resources for the pipeline run. 1523// 1524// At least one zone or region must be specified or the pipeline run 1525// will fail. 1526type Resources struct { 1527 // ProjectId: The project ID to allocate resources in. 1528 ProjectId string `json:"projectId,omitempty"` 1529 1530 // Regions: The list of regions allowed for VM allocation. If set, the 1531 // `zones` field 1532 // must not be set. 1533 Regions []string `json:"regions,omitempty"` 1534 1535 // VirtualMachine: The virtual machine specification. 1536 VirtualMachine *VirtualMachine `json:"virtualMachine,omitempty"` 1537 1538 // Zones: The list of zones allowed for VM allocation. If set, the 1539 // `regions` field 1540 // must not be set. 1541 Zones []string `json:"zones,omitempty"` 1542 1543 // ForceSendFields is a list of field names (e.g. "ProjectId") to 1544 // unconditionally include in API requests. By default, fields with 1545 // empty values are omitted from API requests. However, any non-pointer, 1546 // non-interface field appearing in ForceSendFields will be sent to the 1547 // server regardless of whether the field is empty or not. This may be 1548 // used to include empty fields in Patch requests. 1549 ForceSendFields []string `json:"-"` 1550 1551 // NullFields is a list of field names (e.g. "ProjectId") to include in 1552 // API requests with the JSON null value. By default, fields with empty 1553 // values are omitted from API requests. However, any field with an 1554 // empty value appearing in NullFields will be sent to the server as 1555 // null. It is an error if a field in this list has a non-empty value. 1556 // This may be used to include null fields in Patch requests. 1557 NullFields []string `json:"-"` 1558} 1559 1560func (s *Resources) MarshalJSON() ([]byte, error) { 1561 type NoMethod Resources 1562 raw := NoMethod(*s) 1563 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1564} 1565 1566// RunPipelineRequest: The arguments to the `RunPipeline` method. The 1567// requesting user must have 1568// the `iam.serviceAccounts.actAs` permission for the Cloud Genomics 1569// service 1570// account or the request will fail. 1571type RunPipelineRequest struct { 1572 // Labels: User-defined labels to associate with the returned operation. 1573 // These 1574 // labels are not propagated to any Google Cloud Platform resources used 1575 // by 1576 // the operation, and can be modified at any time. 1577 // 1578 // To associate labels with resources created while executing the 1579 // operation, 1580 // see the appropriate resource message (for example, `VirtualMachine`). 1581 Labels map[string]string `json:"labels,omitempty"` 1582 1583 // Pipeline: The description of the pipeline to run. 1584 Pipeline *Pipeline `json:"pipeline,omitempty"` 1585 1586 // ForceSendFields is a list of field names (e.g. "Labels") to 1587 // unconditionally include in API requests. By default, fields with 1588 // empty values are omitted from API requests. However, any non-pointer, 1589 // non-interface field appearing in ForceSendFields will be sent to the 1590 // server regardless of whether the field is empty or not. This may be 1591 // used to include empty fields in Patch requests. 1592 ForceSendFields []string `json:"-"` 1593 1594 // NullFields is a list of field names (e.g. "Labels") to include in API 1595 // requests with the JSON null value. By default, fields with empty 1596 // values are omitted from API requests. However, any field with an 1597 // empty value appearing in NullFields will be sent to the server as 1598 // null. It is an error if a field in this list has a non-empty value. 1599 // This may be used to include null fields in Patch requests. 1600 NullFields []string `json:"-"` 1601} 1602 1603func (s *RunPipelineRequest) MarshalJSON() ([]byte, error) { 1604 type NoMethod RunPipelineRequest 1605 raw := NoMethod(*s) 1606 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1607} 1608 1609// RunPipelineResponse: The response to the RunPipeline method, returned 1610// in the operation's result 1611// field on success. 1612type RunPipelineResponse struct { 1613} 1614 1615// RuntimeMetadata: Runtime metadata that will be populated in 1616// the 1617// runtimeMetadata 1618// field of the Operation associated with a RunPipeline execution. 1619type RuntimeMetadata struct { 1620 // ComputeEngine: Execution information specific to Google Compute 1621 // Engine. 1622 ComputeEngine *ComputeEngine `json:"computeEngine,omitempty"` 1623 1624 // ForceSendFields is a list of field names (e.g. "ComputeEngine") to 1625 // unconditionally include in API requests. By default, fields with 1626 // empty values are omitted from API requests. However, any non-pointer, 1627 // non-interface field appearing in ForceSendFields will be sent to the 1628 // server regardless of whether the field is empty or not. This may be 1629 // used to include empty fields in Patch requests. 1630 ForceSendFields []string `json:"-"` 1631 1632 // NullFields is a list of field names (e.g. "ComputeEngine") to include 1633 // in API requests with the JSON null value. By default, fields with 1634 // empty values are omitted from API requests. However, any field with 1635 // an empty value appearing in NullFields will be sent to the server as 1636 // null. It is an error if a field in this list has a non-empty value. 1637 // This may be used to include null fields in Patch requests. 1638 NullFields []string `json:"-"` 1639} 1640 1641func (s *RuntimeMetadata) MarshalJSON() ([]byte, error) { 1642 type NoMethod RuntimeMetadata 1643 raw := NoMethod(*s) 1644 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1645} 1646 1647// Secret: Holds encrypted information that is only decrypted and stored 1648// in RAM 1649// by the worker VM when running the pipeline. 1650type Secret struct { 1651 // CipherText: The value of the cipherText response from the `encrypt` 1652 // method. This field 1653 // is intentionally unaudited. 1654 CipherText string `json:"cipherText,omitempty"` 1655 1656 // KeyName: The name of the Cloud KMS key that will be used to decrypt 1657 // the secret 1658 // value. The VM service account must have the required permissions 1659 // and 1660 // authentication scopes to invoke the `decrypt` method on the specified 1661 // key. 1662 KeyName string `json:"keyName,omitempty"` 1663 1664 // ForceSendFields is a list of field names (e.g. "CipherText") to 1665 // unconditionally include in API requests. By default, fields with 1666 // empty values are omitted from API requests. However, any non-pointer, 1667 // non-interface field appearing in ForceSendFields will be sent to the 1668 // server regardless of whether the field is empty or not. This may be 1669 // used to include empty fields in Patch requests. 1670 ForceSendFields []string `json:"-"` 1671 1672 // NullFields is a list of field names (e.g. "CipherText") to include in 1673 // API requests with the JSON null value. By default, fields with empty 1674 // values are omitted from API requests. However, any field with an 1675 // empty value appearing in NullFields will be sent to the server as 1676 // null. It is an error if a field in this list has a non-empty value. 1677 // This may be used to include null fields in Patch requests. 1678 NullFields []string `json:"-"` 1679} 1680 1681func (s *Secret) MarshalJSON() ([]byte, error) { 1682 type NoMethod Secret 1683 raw := NoMethod(*s) 1684 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1685} 1686 1687// ServiceAccount: Carries information about a Google Cloud service 1688// account. 1689type ServiceAccount struct { 1690 // Email: Email address of the service account. If not specified, the 1691 // default 1692 // Compute Engine service account for the project will be used. 1693 Email string `json:"email,omitempty"` 1694 1695 // Scopes: List of scopes to be enabled for this service account on the 1696 // VM, in 1697 // addition to the Cloud Genomics API scope. 1698 Scopes []string `json:"scopes,omitempty"` 1699 1700 // ForceSendFields is a list of field names (e.g. "Email") to 1701 // unconditionally include in API requests. By default, fields with 1702 // empty values are omitted from API requests. However, any non-pointer, 1703 // non-interface field appearing in ForceSendFields will be sent to the 1704 // server regardless of whether the field is empty or not. This may be 1705 // used to include empty fields in Patch requests. 1706 ForceSendFields []string `json:"-"` 1707 1708 // NullFields is a list of field names (e.g. "Email") to include in API 1709 // requests with the JSON null value. By default, fields with empty 1710 // values are omitted from API requests. However, any field with an 1711 // empty value appearing in NullFields will be sent to the server as 1712 // null. It is an error if a field in this list has a non-empty value. 1713 // This may be used to include null fields in Patch requests. 1714 NullFields []string `json:"-"` 1715} 1716 1717func (s *ServiceAccount) MarshalJSON() ([]byte, error) { 1718 type NoMethod ServiceAccount 1719 raw := NoMethod(*s) 1720 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1721} 1722 1723// Status: The `Status` type defines a logical error model that is 1724// suitable for 1725// different programming environments, including REST APIs and RPC APIs. 1726// It is 1727// used by [gRPC](https://github.com/grpc). Each `Status` message 1728// contains 1729// three pieces of data: error code, error message, and error 1730// details. 1731// 1732// You can find out more about this error model and how to work with it 1733// in the 1734// [API Design Guide](https://cloud.google.com/apis/design/errors). 1735type Status struct { 1736 // Code: The status code, which should be an enum value of 1737 // google.rpc.Code. 1738 Code int64 `json:"code,omitempty"` 1739 1740 // Details: A list of messages that carry the error details. There is a 1741 // common set of 1742 // message types for APIs to use. 1743 Details []googleapi.RawMessage `json:"details,omitempty"` 1744 1745 // Message: A developer-facing error message, which should be in 1746 // English. Any 1747 // user-facing error message should be localized and sent in 1748 // the 1749 // google.rpc.Status.details field, or localized by the client. 1750 Message string `json:"message,omitempty"` 1751 1752 // ForceSendFields is a list of field names (e.g. "Code") to 1753 // unconditionally include in API requests. By default, fields with 1754 // empty values are omitted from API requests. However, any non-pointer, 1755 // non-interface field appearing in ForceSendFields will be sent to the 1756 // server regardless of whether the field is empty or not. This may be 1757 // used to include empty fields in Patch requests. 1758 ForceSendFields []string `json:"-"` 1759 1760 // NullFields is a list of field names (e.g. "Code") to include in API 1761 // requests with the JSON null value. By default, fields with empty 1762 // values are omitted from API requests. However, any field with an 1763 // empty value appearing in NullFields will be sent to the server as 1764 // null. It is an error if a field in this list has a non-empty value. 1765 // This may be used to include null fields in Patch requests. 1766 NullFields []string `json:"-"` 1767} 1768 1769func (s *Status) MarshalJSON() ([]byte, error) { 1770 type NoMethod Status 1771 raw := NoMethod(*s) 1772 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1773} 1774 1775// UnexpectedExitStatusEvent: An event generated when the execution of a 1776// container results in a 1777// non-zero exit status that was not otherwise ignored. Execution 1778// will 1779// continue, but only actions that are flagged as `ALWAYS_RUN` will 1780// be 1781// executed. Other actions will be skipped. 1782type UnexpectedExitStatusEvent struct { 1783 // ActionId: The numeric ID of the action that started the container. 1784 ActionId int64 `json:"actionId,omitempty"` 1785 1786 // ExitStatus: The exit status of the container. 1787 ExitStatus int64 `json:"exitStatus,omitempty"` 1788 1789 // ForceSendFields is a list of field names (e.g. "ActionId") to 1790 // unconditionally include in API requests. By default, fields with 1791 // empty values are omitted from API requests. However, any non-pointer, 1792 // non-interface field appearing in ForceSendFields will be sent to the 1793 // server regardless of whether the field is empty or not. This may be 1794 // used to include empty fields in Patch requests. 1795 ForceSendFields []string `json:"-"` 1796 1797 // NullFields is a list of field names (e.g. "ActionId") to include in 1798 // API requests with the JSON null value. By default, fields with empty 1799 // values are omitted from API requests. However, any field with an 1800 // empty value appearing in NullFields will be sent to the server as 1801 // null. It is an error if a field in this list has a non-empty value. 1802 // This may be used to include null fields in Patch requests. 1803 NullFields []string `json:"-"` 1804} 1805 1806func (s *UnexpectedExitStatusEvent) MarshalJSON() ([]byte, error) { 1807 type NoMethod UnexpectedExitStatusEvent 1808 raw := NoMethod(*s) 1809 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1810} 1811 1812// VirtualMachine: Carries information about a Compute Engine VM 1813// resource. 1814type VirtualMachine struct { 1815 // Accelerators: The list of accelerators to attach to the VM. 1816 Accelerators []*Accelerator `json:"accelerators,omitempty"` 1817 1818 // BootDiskSizeGb: The size of the boot disk, in GB. The boot disk must 1819 // be large 1820 // enough to accommodate all of the Docker images from each action in 1821 // the 1822 // pipeline at the same time. If not specified, a small but 1823 // reasonable 1824 // default value is used. 1825 BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"` 1826 1827 // BootImage: The host operating system image to use. 1828 // 1829 // Currently, only Container-Optimized OS images can be used. 1830 // 1831 // The default value is 1832 // `projects/cos-cloud/global/images/family/cos-stable`, 1833 // which selects the latest stable release of Container-Optimized 1834 // OS. 1835 // 1836 // This option is provided to allow testing against the beta release of 1837 // the 1838 // operating system to ensure that the new version does not 1839 // interact 1840 // negatively with production pipelines. 1841 // 1842 // To test a pipeline against the beta release of Container-Optimized 1843 // OS, 1844 // use the value `projects/cos-cloud/global/images/family/cos-beta`. 1845 BootImage string `json:"bootImage,omitempty"` 1846 1847 // CpuPlatform: The CPU platform to request. An instance based on a 1848 // newer platform can be 1849 // allocated, but never one with fewer capabilities. The value of 1850 // this 1851 // parameter must be a valid Compute Engine CPU platform name (such as 1852 // "Intel 1853 // Skylake"). This parameter is only useful for carefully optimized 1854 // work 1855 // loads where the CPU platform has a significant impact. 1856 // 1857 // For more information about the effect of this parameter, 1858 // see 1859 // https://cloud.google.com/compute/docs/instances/specify-min-cpu-pl 1860 // atform. 1861 CpuPlatform string `json:"cpuPlatform,omitempty"` 1862 1863 // Disks: The list of disks to create and attach to the VM. 1864 Disks []*Disk `json:"disks,omitempty"` 1865 1866 // EnableStackdriverMonitoring: Whether Stackdriver monitoring should be 1867 // enabled on the VM. 1868 EnableStackdriverMonitoring bool `json:"enableStackdriverMonitoring,omitempty"` 1869 1870 // Labels: Optional set of labels to apply to the VM and any attached 1871 // disk resources. 1872 // These labels must adhere to the name and value restrictions on VM 1873 // labels 1874 // imposed by Compute Engine. 1875 // 1876 // Labels applied at creation time to the VM. Applied on a best-effort 1877 // basis 1878 // to attached disk resources shortly after VM creation. 1879 Labels map[string]string `json:"labels,omitempty"` 1880 1881 // MachineType: The machine type of the virtual machine to create. Must 1882 // be the short name 1883 // of a standard machine type (such as "n1-standard-1") or a custom 1884 // machine 1885 // type (such as "custom-1-4096", where "1" indicates the number of 1886 // vCPUs and 1887 // "4096" indicates the memory in MB). See 1888 // [Creating an instance with a custom 1889 // machine 1890 // type](https://cloud.google.com/compute/docs/instances/creating 1891 // -instance-with-custom-machine-type#create) 1892 // for more specifications on creating a custom machine type. 1893 MachineType string `json:"machineType,omitempty"` 1894 1895 // Network: The VM network configuration. 1896 Network *Network `json:"network,omitempty"` 1897 1898 // NvidiaDriverVersion: The NVIDIA driver version to use when attaching 1899 // an NVIDIA GPU accelerator. 1900 // The version specified here must be compatible with the GPU 1901 // libraries 1902 // contained in the container being executed, and must be one of the 1903 // drivers 1904 // hosted in the `nvidia-drivers-us-public` bucket on Google Cloud 1905 // Storage. 1906 NvidiaDriverVersion string `json:"nvidiaDriverVersion,omitempty"` 1907 1908 // Preemptible: If true, allocate a preemptible VM. 1909 Preemptible bool `json:"preemptible,omitempty"` 1910 1911 // ServiceAccount: The service account to install on the VM. This 1912 // account does not need 1913 // any permissions other than those required by the pipeline. 1914 ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` 1915 1916 // ForceSendFields is a list of field names (e.g. "Accelerators") to 1917 // unconditionally include in API requests. By default, fields with 1918 // empty values are omitted from API requests. However, any non-pointer, 1919 // non-interface field appearing in ForceSendFields will be sent to the 1920 // server regardless of whether the field is empty or not. This may be 1921 // used to include empty fields in Patch requests. 1922 ForceSendFields []string `json:"-"` 1923 1924 // NullFields is a list of field names (e.g. "Accelerators") to include 1925 // in API requests with the JSON null value. By default, fields with 1926 // empty values are omitted from API requests. However, any field with 1927 // an empty value appearing in NullFields will be sent to the server as 1928 // null. It is an error if a field in this list has a non-empty value. 1929 // This may be used to include null fields in Patch requests. 1930 NullFields []string `json:"-"` 1931} 1932 1933func (s *VirtualMachine) MarshalJSON() ([]byte, error) { 1934 type NoMethod VirtualMachine 1935 raw := NoMethod(*s) 1936 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1937} 1938 1939// WorkerAssignedEvent: An event generated after a worker VM has been 1940// assigned to run the 1941// pipeline. 1942type WorkerAssignedEvent struct { 1943 // Instance: The worker's instance name. 1944 Instance string `json:"instance,omitempty"` 1945 1946 // Zone: The zone the worker is running in. 1947 Zone string `json:"zone,omitempty"` 1948 1949 // ForceSendFields is a list of field names (e.g. "Instance") to 1950 // unconditionally include in API requests. By default, fields with 1951 // empty values are omitted from API requests. However, any non-pointer, 1952 // non-interface field appearing in ForceSendFields will be sent to the 1953 // server regardless of whether the field is empty or not. This may be 1954 // used to include empty fields in Patch requests. 1955 ForceSendFields []string `json:"-"` 1956 1957 // NullFields is a list of field names (e.g. "Instance") to include in 1958 // API requests with the JSON null value. By default, fields with empty 1959 // values are omitted from API requests. However, any field with an 1960 // empty value appearing in NullFields will be sent to the server as 1961 // null. It is an error if a field in this list has a non-empty value. 1962 // This may be used to include null fields in Patch requests. 1963 NullFields []string `json:"-"` 1964} 1965 1966func (s *WorkerAssignedEvent) MarshalJSON() ([]byte, error) { 1967 type NoMethod WorkerAssignedEvent 1968 raw := NoMethod(*s) 1969 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1970} 1971 1972// WorkerReleasedEvent: An event generated when the worker VM that was 1973// assigned to the pipeline 1974// has been released (deleted). 1975type WorkerReleasedEvent struct { 1976 // Instance: The worker's instance name. 1977 Instance string `json:"instance,omitempty"` 1978 1979 // Zone: The zone the worker was running in. 1980 Zone string `json:"zone,omitempty"` 1981 1982 // ForceSendFields is a list of field names (e.g. "Instance") to 1983 // unconditionally include in API requests. By default, fields with 1984 // empty values are omitted from API requests. However, any non-pointer, 1985 // non-interface field appearing in ForceSendFields will be sent to the 1986 // server regardless of whether the field is empty or not. This may be 1987 // used to include empty fields in Patch requests. 1988 ForceSendFields []string `json:"-"` 1989 1990 // NullFields is a list of field names (e.g. "Instance") to include in 1991 // API requests with the JSON null value. By default, fields with empty 1992 // values are omitted from API requests. However, any field with an 1993 // empty value appearing in NullFields will be sent to the server as 1994 // null. It is an error if a field in this list has a non-empty value. 1995 // This may be used to include null fields in Patch requests. 1996 NullFields []string `json:"-"` 1997} 1998 1999func (s *WorkerReleasedEvent) MarshalJSON() ([]byte, error) { 2000 type NoMethod WorkerReleasedEvent 2001 raw := NoMethod(*s) 2002 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2003} 2004 2005// WorkerStatus: The status of the worker VM. 2006type WorkerStatus struct { 2007 // AttachedDisks: Status of attached disks. 2008 AttachedDisks map[string]DiskStatus `json:"attachedDisks,omitempty"` 2009 2010 // BootDisk: Status of the boot disk. 2011 BootDisk *DiskStatus `json:"bootDisk,omitempty"` 2012 2013 // FreeRamBytes: Free RAM. 2014 FreeRamBytes uint64 `json:"freeRamBytes,omitempty,string"` 2015 2016 // TotalRamBytes: Total RAM. 2017 TotalRamBytes uint64 `json:"totalRamBytes,omitempty,string"` 2018 2019 // UptimeSeconds: System uptime. 2020 UptimeSeconds int64 `json:"uptimeSeconds,omitempty,string"` 2021 2022 // ForceSendFields is a list of field names (e.g. "AttachedDisks") to 2023 // unconditionally include in API requests. By default, fields with 2024 // empty values are omitted from API requests. However, any non-pointer, 2025 // non-interface field appearing in ForceSendFields will be sent to the 2026 // server regardless of whether the field is empty or not. This may be 2027 // used to include empty fields in Patch requests. 2028 ForceSendFields []string `json:"-"` 2029 2030 // NullFields is a list of field names (e.g. "AttachedDisks") to include 2031 // in API requests with the JSON null value. By default, fields with 2032 // empty values are omitted from API requests. However, any field with 2033 // an empty value appearing in NullFields will be sent to the server as 2034 // null. It is an error if a field in this list has a non-empty value. 2035 // This may be used to include null fields in Patch requests. 2036 NullFields []string `json:"-"` 2037} 2038 2039func (s *WorkerStatus) MarshalJSON() ([]byte, error) { 2040 type NoMethod WorkerStatus 2041 raw := NoMethod(*s) 2042 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2043} 2044 2045// method id "genomics.pipelines.run": 2046 2047type PipelinesRunCall struct { 2048 s *Service 2049 runpipelinerequest *RunPipelineRequest 2050 urlParams_ gensupport.URLParams 2051 ctx_ context.Context 2052 header_ http.Header 2053} 2054 2055// Run: Runs a pipeline. 2056// 2057// **Note:** Before you can use this method, the Genomics Service 2058// Agent 2059// must have access to your project. This is done automatically when 2060// the 2061// Cloud Genomics API is first enabled, but if you delete this 2062// permission, 2063// or if you enabled the Cloud Genomics API before the v2alpha1 2064// API 2065// launch, you must disable and re-enable the API to grant the 2066// Genomics 2067// Service Agent the required permissions. 2068// Authorization requires the following 2069// [Google 2070// IAM](https://cloud.google.com/iam/) permission: 2071// 2072// * `genomics.operations.create` 2073// 2074// [1]: /genomics/gsa 2075func (r *PipelinesService) Run(runpipelinerequest *RunPipelineRequest) *PipelinesRunCall { 2076 c := &PipelinesRunCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2077 c.runpipelinerequest = runpipelinerequest 2078 return c 2079} 2080 2081// Fields allows partial responses to be retrieved. See 2082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2083// for more information. 2084func (c *PipelinesRunCall) Fields(s ...googleapi.Field) *PipelinesRunCall { 2085 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2086 return c 2087} 2088 2089// Context sets the context to be used in this call's Do method. Any 2090// pending HTTP request will be aborted if the provided context is 2091// canceled. 2092func (c *PipelinesRunCall) Context(ctx context.Context) *PipelinesRunCall { 2093 c.ctx_ = ctx 2094 return c 2095} 2096 2097// Header returns an http.Header that can be modified by the caller to 2098// add HTTP headers to the request. 2099func (c *PipelinesRunCall) Header() http.Header { 2100 if c.header_ == nil { 2101 c.header_ = make(http.Header) 2102 } 2103 return c.header_ 2104} 2105 2106func (c *PipelinesRunCall) doRequest(alt string) (*http.Response, error) { 2107 reqHeaders := make(http.Header) 2108 for k, v := range c.header_ { 2109 reqHeaders[k] = v 2110 } 2111 reqHeaders.Set("User-Agent", c.s.userAgent()) 2112 var body io.Reader = nil 2113 body, err := googleapi.WithoutDataWrapper.JSONReader(c.runpipelinerequest) 2114 if err != nil { 2115 return nil, err 2116 } 2117 reqHeaders.Set("Content-Type", "application/json") 2118 c.urlParams_.Set("alt", alt) 2119 c.urlParams_.Set("prettyPrint", "false") 2120 urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha1/pipelines:run") 2121 urls += "?" + c.urlParams_.Encode() 2122 req, err := http.NewRequest("POST", urls, body) 2123 if err != nil { 2124 return nil, err 2125 } 2126 req.Header = reqHeaders 2127 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2128} 2129 2130// Do executes the "genomics.pipelines.run" call. 2131// Exactly one of *Operation or error will be non-nil. Any non-2xx 2132// status code is an error. Response headers are in either 2133// *Operation.ServerResponse.Header or (if a response was returned at 2134// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 2135// to check whether the returned error was because 2136// http.StatusNotModified was returned. 2137func (c *PipelinesRunCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 2138 gensupport.SetOptions(c.urlParams_, opts...) 2139 res, err := c.doRequest("json") 2140 if res != nil && res.StatusCode == http.StatusNotModified { 2141 if res.Body != nil { 2142 res.Body.Close() 2143 } 2144 return nil, &googleapi.Error{ 2145 Code: res.StatusCode, 2146 Header: res.Header, 2147 } 2148 } 2149 if err != nil { 2150 return nil, err 2151 } 2152 defer googleapi.CloseBody(res) 2153 if err := googleapi.CheckResponse(res); err != nil { 2154 return nil, err 2155 } 2156 ret := &Operation{ 2157 ServerResponse: googleapi.ServerResponse{ 2158 Header: res.Header, 2159 HTTPStatusCode: res.StatusCode, 2160 }, 2161 } 2162 target := &ret 2163 if err := gensupport.DecodeResponse(target, res); err != nil { 2164 return nil, err 2165 } 2166 return ret, nil 2167 // { 2168 // "description": "Runs a pipeline.\n\n**Note:** Before you can use this method, the Genomics Service Agent\nmust have access to your project. This is done automatically when the\nCloud Genomics API is first enabled, but if you delete this permission,\nor if you enabled the Cloud Genomics API before the v2alpha1 API\nlaunch, you must disable and re-enable the API to grant the Genomics\nService Agent the required permissions.\nAuthorization requires the following [Google\nIAM](https://cloud.google.com/iam/) permission:\n\n* `genomics.operations.create`\n\n[1]: /genomics/gsa", 2169 // "flatPath": "v2alpha1/pipelines:run", 2170 // "httpMethod": "POST", 2171 // "id": "genomics.pipelines.run", 2172 // "parameterOrder": [], 2173 // "parameters": {}, 2174 // "path": "v2alpha1/pipelines:run", 2175 // "request": { 2176 // "$ref": "RunPipelineRequest" 2177 // }, 2178 // "response": { 2179 // "$ref": "Operation" 2180 // }, 2181 // "scopes": [ 2182 // "https://www.googleapis.com/auth/cloud-platform", 2183 // "https://www.googleapis.com/auth/genomics" 2184 // ] 2185 // } 2186 2187} 2188 2189// method id "genomics.projects.operations.cancel": 2190 2191type ProjectsOperationsCancelCall struct { 2192 s *Service 2193 name string 2194 canceloperationrequest *CancelOperationRequest 2195 urlParams_ gensupport.URLParams 2196 ctx_ context.Context 2197 header_ http.Header 2198} 2199 2200// Cancel: Starts asynchronous cancellation on a long-running 2201// operation. 2202// The server makes a best effort to cancel the operation, but success 2203// is not 2204// guaranteed. Clients may use Operations.GetOperation 2205// or Operations.ListOperations 2206// to check whether the cancellation succeeded or the operation 2207// completed 2208// despite cancellation. 2209// Authorization requires the following [Google 2210// IAM](https://cloud.google.com/iam) permission: 2211// 2212// * `genomics.operations.cancel` 2213func (r *ProjectsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsOperationsCancelCall { 2214 c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2215 c.name = name 2216 c.canceloperationrequest = canceloperationrequest 2217 return c 2218} 2219 2220// Fields allows partial responses to be retrieved. See 2221// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2222// for more information. 2223func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall { 2224 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2225 return c 2226} 2227 2228// Context sets the context to be used in this call's Do method. Any 2229// pending HTTP request will be aborted if the provided context is 2230// canceled. 2231func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall { 2232 c.ctx_ = ctx 2233 return c 2234} 2235 2236// Header returns an http.Header that can be modified by the caller to 2237// add HTTP headers to the request. 2238func (c *ProjectsOperationsCancelCall) Header() http.Header { 2239 if c.header_ == nil { 2240 c.header_ = make(http.Header) 2241 } 2242 return c.header_ 2243} 2244 2245func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { 2246 reqHeaders := make(http.Header) 2247 for k, v := range c.header_ { 2248 reqHeaders[k] = v 2249 } 2250 reqHeaders.Set("User-Agent", c.s.userAgent()) 2251 var body io.Reader = nil 2252 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 2253 if err != nil { 2254 return nil, err 2255 } 2256 reqHeaders.Set("Content-Type", "application/json") 2257 c.urlParams_.Set("alt", alt) 2258 c.urlParams_.Set("prettyPrint", "false") 2259 urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha1/{+name}:cancel") 2260 urls += "?" + c.urlParams_.Encode() 2261 req, err := http.NewRequest("POST", urls, body) 2262 if err != nil { 2263 return nil, err 2264 } 2265 req.Header = reqHeaders 2266 googleapi.Expand(req.URL, map[string]string{ 2267 "name": c.name, 2268 }) 2269 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2270} 2271 2272// Do executes the "genomics.projects.operations.cancel" call. 2273// Exactly one of *Empty or error will be non-nil. Any non-2xx status 2274// code is an error. Response headers are in either 2275// *Empty.ServerResponse.Header or (if a response was returned at all) 2276// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2277// check whether the returned error was because http.StatusNotModified 2278// was returned. 2279func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 2280 gensupport.SetOptions(c.urlParams_, opts...) 2281 res, err := c.doRequest("json") 2282 if res != nil && res.StatusCode == http.StatusNotModified { 2283 if res.Body != nil { 2284 res.Body.Close() 2285 } 2286 return nil, &googleapi.Error{ 2287 Code: res.StatusCode, 2288 Header: res.Header, 2289 } 2290 } 2291 if err != nil { 2292 return nil, err 2293 } 2294 defer googleapi.CloseBody(res) 2295 if err := googleapi.CheckResponse(res); err != nil { 2296 return nil, err 2297 } 2298 ret := &Empty{ 2299 ServerResponse: googleapi.ServerResponse{ 2300 Header: res.Header, 2301 HTTPStatusCode: res.StatusCode, 2302 }, 2303 } 2304 target := &ret 2305 if err := gensupport.DecodeResponse(target, res); err != nil { 2306 return nil, err 2307 } 2308 return ret, nil 2309 // { 2310 // "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`", 2311 // "flatPath": "v2alpha1/projects/{projectsId}/operations/{operationsId}:cancel", 2312 // "httpMethod": "POST", 2313 // "id": "genomics.projects.operations.cancel", 2314 // "parameterOrder": [ 2315 // "name" 2316 // ], 2317 // "parameters": { 2318 // "name": { 2319 // "description": "The name of the operation resource to be cancelled.", 2320 // "location": "path", 2321 // "pattern": "^projects/[^/]+/operations/[^/]+$", 2322 // "required": true, 2323 // "type": "string" 2324 // } 2325 // }, 2326 // "path": "v2alpha1/{+name}:cancel", 2327 // "request": { 2328 // "$ref": "CancelOperationRequest" 2329 // }, 2330 // "response": { 2331 // "$ref": "Empty" 2332 // }, 2333 // "scopes": [ 2334 // "https://www.googleapis.com/auth/cloud-platform", 2335 // "https://www.googleapis.com/auth/genomics" 2336 // ] 2337 // } 2338 2339} 2340 2341// method id "genomics.projects.operations.get": 2342 2343type ProjectsOperationsGetCall struct { 2344 s *Service 2345 name string 2346 urlParams_ gensupport.URLParams 2347 ifNoneMatch_ string 2348 ctx_ context.Context 2349 header_ http.Header 2350} 2351 2352// Get: Gets the latest state of a long-running operation. 2353// Clients can use this method to poll the operation result at intervals 2354// as 2355// recommended by the API service. 2356// Authorization requires the following [Google 2357// IAM](https://cloud.google.com/iam) permission: 2358// 2359// * `genomics.operations.get` 2360func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 2361 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2362 c.name = name 2363 return c 2364} 2365 2366// Fields allows partial responses to be retrieved. See 2367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2368// for more information. 2369func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 2370 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2371 return c 2372} 2373 2374// IfNoneMatch sets the optional parameter which makes the operation 2375// fail if the object's ETag matches the given value. This is useful for 2376// getting updates only after the object has changed since the last 2377// request. Use googleapi.IsNotModified to check whether the response 2378// error from Do is the result of In-None-Match. 2379func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 2380 c.ifNoneMatch_ = entityTag 2381 return c 2382} 2383 2384// Context sets the context to be used in this call's Do method. Any 2385// pending HTTP request will be aborted if the provided context is 2386// canceled. 2387func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 2388 c.ctx_ = ctx 2389 return c 2390} 2391 2392// Header returns an http.Header that can be modified by the caller to 2393// add HTTP headers to the request. 2394func (c *ProjectsOperationsGetCall) Header() http.Header { 2395 if c.header_ == nil { 2396 c.header_ = make(http.Header) 2397 } 2398 return c.header_ 2399} 2400 2401func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 2402 reqHeaders := make(http.Header) 2403 for k, v := range c.header_ { 2404 reqHeaders[k] = v 2405 } 2406 reqHeaders.Set("User-Agent", c.s.userAgent()) 2407 if c.ifNoneMatch_ != "" { 2408 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2409 } 2410 var body io.Reader = nil 2411 c.urlParams_.Set("alt", alt) 2412 c.urlParams_.Set("prettyPrint", "false") 2413 urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha1/{+name}") 2414 urls += "?" + c.urlParams_.Encode() 2415 req, err := http.NewRequest("GET", urls, body) 2416 if err != nil { 2417 return nil, err 2418 } 2419 req.Header = reqHeaders 2420 googleapi.Expand(req.URL, map[string]string{ 2421 "name": c.name, 2422 }) 2423 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2424} 2425 2426// Do executes the "genomics.projects.operations.get" call. 2427// Exactly one of *Operation or error will be non-nil. Any non-2xx 2428// status code is an error. Response headers are in either 2429// *Operation.ServerResponse.Header or (if a response was returned at 2430// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 2431// to check whether the returned error was because 2432// http.StatusNotModified was returned. 2433func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 2434 gensupport.SetOptions(c.urlParams_, opts...) 2435 res, err := c.doRequest("json") 2436 if res != nil && res.StatusCode == http.StatusNotModified { 2437 if res.Body != nil { 2438 res.Body.Close() 2439 } 2440 return nil, &googleapi.Error{ 2441 Code: res.StatusCode, 2442 Header: res.Header, 2443 } 2444 } 2445 if err != nil { 2446 return nil, err 2447 } 2448 defer googleapi.CloseBody(res) 2449 if err := googleapi.CheckResponse(res); err != nil { 2450 return nil, err 2451 } 2452 ret := &Operation{ 2453 ServerResponse: googleapi.ServerResponse{ 2454 Header: res.Header, 2455 HTTPStatusCode: res.StatusCode, 2456 }, 2457 } 2458 target := &ret 2459 if err := gensupport.DecodeResponse(target, res); err != nil { 2460 return nil, err 2461 } 2462 return ret, nil 2463 // { 2464 // "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`", 2465 // "flatPath": "v2alpha1/projects/{projectsId}/operations/{operationsId}", 2466 // "httpMethod": "GET", 2467 // "id": "genomics.projects.operations.get", 2468 // "parameterOrder": [ 2469 // "name" 2470 // ], 2471 // "parameters": { 2472 // "name": { 2473 // "description": "The name of the operation resource.", 2474 // "location": "path", 2475 // "pattern": "^projects/[^/]+/operations/[^/]+$", 2476 // "required": true, 2477 // "type": "string" 2478 // } 2479 // }, 2480 // "path": "v2alpha1/{+name}", 2481 // "response": { 2482 // "$ref": "Operation" 2483 // }, 2484 // "scopes": [ 2485 // "https://www.googleapis.com/auth/cloud-platform", 2486 // "https://www.googleapis.com/auth/genomics" 2487 // ] 2488 // } 2489 2490} 2491 2492// method id "genomics.projects.operations.list": 2493 2494type ProjectsOperationsListCall struct { 2495 s *Service 2496 name string 2497 urlParams_ gensupport.URLParams 2498 ifNoneMatch_ string 2499 ctx_ context.Context 2500 header_ http.Header 2501} 2502 2503// List: Lists operations that match the specified filter in the 2504// request. 2505// Authorization requires the following [Google 2506// IAM](https://cloud.google.com/iam) permission: 2507// 2508// * `genomics.operations.list` 2509func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall { 2510 c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2511 c.name = name 2512 return c 2513} 2514 2515// Filter sets the optional parameter "filter": A string for filtering 2516// Operations. 2517// In v2alpha1, the following filter fields are supported: 2518// 2519// * createTime: The time this job was created 2520// * events: The set of event (names) that have occurred while 2521// running 2522// the pipeline. The : operator can be used to determine if a 2523// particular event has occurred. 2524// * error: If the pipeline is running, this value is NULL. Once 2525// the 2526// pipeline finishes, the value is the standard Google error code. 2527// * labels.key or labels."key with space" where key is a label key. 2528// * done: If the pipeline is running, this value is false. Once 2529// the 2530// pipeline finishes, the value is true. 2531// 2532// In v1 and v1alpha2, the following filter fields are supported: 2533// 2534// * projectId: Required. Corresponds to 2535// OperationMetadata.projectId. 2536// * createTime: The time this job was created, in seconds from the 2537// [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` 2538// and/or `<=` 2539// operators. 2540// * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. 2541// Only 2542// one status may be specified. 2543// * labels.key where key is a label key. 2544// 2545// Examples: 2546// 2547// * `projectId = my-project AND createTime >= 1432140000` 2548// * `projectId = my-project AND createTime >= 1432140000 AND createTime 2549// <= 1432150000 AND status = RUNNING` 2550// * `projectId = my-project AND labels.color = *` 2551// * `projectId = my-project AND labels.color = red` 2552func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall { 2553 c.urlParams_.Set("filter", filter) 2554 return c 2555} 2556 2557// PageSize sets the optional parameter "pageSize": The maximum number 2558// of results to return. The maximum value is 256. 2559func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall { 2560 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 2561 return c 2562} 2563 2564// PageToken sets the optional parameter "pageToken": The standard list 2565// page token. 2566func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall { 2567 c.urlParams_.Set("pageToken", pageToken) 2568 return c 2569} 2570 2571// Fields allows partial responses to be retrieved. See 2572// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2573// for more information. 2574func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall { 2575 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2576 return c 2577} 2578 2579// IfNoneMatch sets the optional parameter which makes the operation 2580// fail if the object's ETag matches the given value. This is useful for 2581// getting updates only after the object has changed since the last 2582// request. Use googleapi.IsNotModified to check whether the response 2583// error from Do is the result of In-None-Match. 2584func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall { 2585 c.ifNoneMatch_ = entityTag 2586 return c 2587} 2588 2589// Context sets the context to be used in this call's Do method. Any 2590// pending HTTP request will be aborted if the provided context is 2591// canceled. 2592func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall { 2593 c.ctx_ = ctx 2594 return c 2595} 2596 2597// Header returns an http.Header that can be modified by the caller to 2598// add HTTP headers to the request. 2599func (c *ProjectsOperationsListCall) Header() http.Header { 2600 if c.header_ == nil { 2601 c.header_ = make(http.Header) 2602 } 2603 return c.header_ 2604} 2605 2606func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) { 2607 reqHeaders := make(http.Header) 2608 for k, v := range c.header_ { 2609 reqHeaders[k] = v 2610 } 2611 reqHeaders.Set("User-Agent", c.s.userAgent()) 2612 if c.ifNoneMatch_ != "" { 2613 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2614 } 2615 var body io.Reader = nil 2616 c.urlParams_.Set("alt", alt) 2617 c.urlParams_.Set("prettyPrint", "false") 2618 urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha1/{+name}") 2619 urls += "?" + c.urlParams_.Encode() 2620 req, err := http.NewRequest("GET", urls, body) 2621 if err != nil { 2622 return nil, err 2623 } 2624 req.Header = reqHeaders 2625 googleapi.Expand(req.URL, map[string]string{ 2626 "name": c.name, 2627 }) 2628 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2629} 2630 2631// Do executes the "genomics.projects.operations.list" call. 2632// Exactly one of *ListOperationsResponse or error will be non-nil. Any 2633// non-2xx status code is an error. Response headers are in either 2634// *ListOperationsResponse.ServerResponse.Header or (if a response was 2635// returned at all) in error.(*googleapi.Error).Header. Use 2636// googleapi.IsNotModified to check whether the returned error was 2637// because http.StatusNotModified was returned. 2638func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 2639 gensupport.SetOptions(c.urlParams_, opts...) 2640 res, err := c.doRequest("json") 2641 if res != nil && res.StatusCode == http.StatusNotModified { 2642 if res.Body != nil { 2643 res.Body.Close() 2644 } 2645 return nil, &googleapi.Error{ 2646 Code: res.StatusCode, 2647 Header: res.Header, 2648 } 2649 } 2650 if err != nil { 2651 return nil, err 2652 } 2653 defer googleapi.CloseBody(res) 2654 if err := googleapi.CheckResponse(res); err != nil { 2655 return nil, err 2656 } 2657 ret := &ListOperationsResponse{ 2658 ServerResponse: googleapi.ServerResponse{ 2659 Header: res.Header, 2660 HTTPStatusCode: res.StatusCode, 2661 }, 2662 } 2663 target := &ret 2664 if err := gensupport.DecodeResponse(target, res); err != nil { 2665 return nil, err 2666 } 2667 return ret, nil 2668 // { 2669 // "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`", 2670 // "flatPath": "v2alpha1/projects/{projectsId}/operations", 2671 // "httpMethod": "GET", 2672 // "id": "genomics.projects.operations.list", 2673 // "parameterOrder": [ 2674 // "name" 2675 // ], 2676 // "parameters": { 2677 // "filter": { 2678 // "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`", 2679 // "location": "query", 2680 // "type": "string" 2681 // }, 2682 // "name": { 2683 // "description": "The name of the operation's parent resource.", 2684 // "location": "path", 2685 // "pattern": "^projects/[^/]+/operations$", 2686 // "required": true, 2687 // "type": "string" 2688 // }, 2689 // "pageSize": { 2690 // "description": "The maximum number of results to return. The maximum value is 256.", 2691 // "format": "int32", 2692 // "location": "query", 2693 // "type": "integer" 2694 // }, 2695 // "pageToken": { 2696 // "description": "The standard list page token.", 2697 // "location": "query", 2698 // "type": "string" 2699 // } 2700 // }, 2701 // "path": "v2alpha1/{+name}", 2702 // "response": { 2703 // "$ref": "ListOperationsResponse" 2704 // }, 2705 // "scopes": [ 2706 // "https://www.googleapis.com/auth/cloud-platform", 2707 // "https://www.googleapis.com/auth/genomics" 2708 // ] 2709 // } 2710 2711} 2712 2713// Pages invokes f for each page of results. 2714// A non-nil error returned from f will halt the iteration. 2715// The provided context supersedes any context provided to the Context method. 2716func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 2717 c.ctx_ = ctx 2718 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 2719 for { 2720 x, err := c.Do() 2721 if err != nil { 2722 return err 2723 } 2724 if err := f(x); err != nil { 2725 return err 2726 } 2727 if x.NextPageToken == "" { 2728 return nil 2729 } 2730 c.PageToken(x.NextPageToken) 2731 } 2732} 2733 2734// method id "genomics.workers.checkIn": 2735 2736type WorkersCheckInCall struct { 2737 s *Service 2738 id string 2739 checkinrequest *CheckInRequest 2740 urlParams_ gensupport.URLParams 2741 ctx_ context.Context 2742 header_ http.Header 2743} 2744 2745// CheckIn: The worker uses this method to retrieve the assigned 2746// operation and 2747// provide periodic status updates. 2748func (r *WorkersService) CheckIn(id string, checkinrequest *CheckInRequest) *WorkersCheckInCall { 2749 c := &WorkersCheckInCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2750 c.id = id 2751 c.checkinrequest = checkinrequest 2752 return c 2753} 2754 2755// Fields allows partial responses to be retrieved. See 2756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2757// for more information. 2758func (c *WorkersCheckInCall) Fields(s ...googleapi.Field) *WorkersCheckInCall { 2759 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2760 return c 2761} 2762 2763// Context sets the context to be used in this call's Do method. Any 2764// pending HTTP request will be aborted if the provided context is 2765// canceled. 2766func (c *WorkersCheckInCall) Context(ctx context.Context) *WorkersCheckInCall { 2767 c.ctx_ = ctx 2768 return c 2769} 2770 2771// Header returns an http.Header that can be modified by the caller to 2772// add HTTP headers to the request. 2773func (c *WorkersCheckInCall) Header() http.Header { 2774 if c.header_ == nil { 2775 c.header_ = make(http.Header) 2776 } 2777 return c.header_ 2778} 2779 2780func (c *WorkersCheckInCall) doRequest(alt string) (*http.Response, error) { 2781 reqHeaders := make(http.Header) 2782 for k, v := range c.header_ { 2783 reqHeaders[k] = v 2784 } 2785 reqHeaders.Set("User-Agent", c.s.userAgent()) 2786 var body io.Reader = nil 2787 body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkinrequest) 2788 if err != nil { 2789 return nil, err 2790 } 2791 reqHeaders.Set("Content-Type", "application/json") 2792 c.urlParams_.Set("alt", alt) 2793 c.urlParams_.Set("prettyPrint", "false") 2794 urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha1/workers/{id}:checkIn") 2795 urls += "?" + c.urlParams_.Encode() 2796 req, err := http.NewRequest("POST", urls, body) 2797 if err != nil { 2798 return nil, err 2799 } 2800 req.Header = reqHeaders 2801 googleapi.Expand(req.URL, map[string]string{ 2802 "id": c.id, 2803 }) 2804 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2805} 2806 2807// Do executes the "genomics.workers.checkIn" call. 2808// Exactly one of *CheckInResponse or error will be non-nil. Any non-2xx 2809// status code is an error. Response headers are in either 2810// *CheckInResponse.ServerResponse.Header or (if a response was returned 2811// at all) in error.(*googleapi.Error).Header. Use 2812// googleapi.IsNotModified to check whether the returned error was 2813// because http.StatusNotModified was returned. 2814func (c *WorkersCheckInCall) Do(opts ...googleapi.CallOption) (*CheckInResponse, error) { 2815 gensupport.SetOptions(c.urlParams_, opts...) 2816 res, err := c.doRequest("json") 2817 if res != nil && res.StatusCode == http.StatusNotModified { 2818 if res.Body != nil { 2819 res.Body.Close() 2820 } 2821 return nil, &googleapi.Error{ 2822 Code: res.StatusCode, 2823 Header: res.Header, 2824 } 2825 } 2826 if err != nil { 2827 return nil, err 2828 } 2829 defer googleapi.CloseBody(res) 2830 if err := googleapi.CheckResponse(res); err != nil { 2831 return nil, err 2832 } 2833 ret := &CheckInResponse{ 2834 ServerResponse: googleapi.ServerResponse{ 2835 Header: res.Header, 2836 HTTPStatusCode: res.StatusCode, 2837 }, 2838 } 2839 target := &ret 2840 if err := gensupport.DecodeResponse(target, res); err != nil { 2841 return nil, err 2842 } 2843 return ret, nil 2844 // { 2845 // "description": "The worker uses this method to retrieve the assigned operation and\nprovide periodic status updates.", 2846 // "flatPath": "v2alpha1/workers/{id}:checkIn", 2847 // "httpMethod": "POST", 2848 // "id": "genomics.workers.checkIn", 2849 // "parameterOrder": [ 2850 // "id" 2851 // ], 2852 // "parameters": { 2853 // "id": { 2854 // "description": "The worker id, assigned when it was created.", 2855 // "location": "path", 2856 // "required": true, 2857 // "type": "string" 2858 // } 2859 // }, 2860 // "path": "v2alpha1/workers/{id}:checkIn", 2861 // "request": { 2862 // "$ref": "CheckInRequest" 2863 // }, 2864 // "response": { 2865 // "$ref": "CheckInResponse" 2866 // }, 2867 // "scopes": [ 2868 // "https://www.googleapis.com/auth/cloud-platform", 2869 // "https://www.googleapis.com/auth/genomics" 2870 // ] 2871 // } 2872 2873} 2874