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