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