...

Source file src/google.golang.org/api/toolresults/v1beta3/toolresults-gen.go

Documentation: google.golang.org/api/toolresults/v1beta3

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package toolresults provides access to the Cloud Tool Results API.
     8  //
     9  // For product documentation, see: https://firebase.google.com/docs/test-lab/
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/toolresults/v1beta3"
    27  //	...
    28  //	ctx := context.Background()
    29  //	toolresultsService, err := toolresults.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	toolresultsService, err := toolresults.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	toolresultsService, err := toolresults.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package toolresults // import "google.golang.org/api/toolresults/v1beta3"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "toolresults:v1beta3"
    90  const apiName = "toolresults"
    91  const apiVersion = "v1beta3"
    92  const basePath = "https://toolresults.googleapis.com/"
    93  const basePathTemplate = "https://toolresults.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://toolresults.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Projects = NewProjectsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Projects *ProjectsService
   148  }
   149  
   150  func (s *Service) userAgent() string {
   151  	if s.UserAgent == "" {
   152  		return googleapi.UserAgent
   153  	}
   154  	return googleapi.UserAgent + " " + s.UserAgent
   155  }
   156  
   157  func NewProjectsService(s *Service) *ProjectsService {
   158  	rs := &ProjectsService{s: s}
   159  	rs.Histories = NewProjectsHistoriesService(s)
   160  	return rs
   161  }
   162  
   163  type ProjectsService struct {
   164  	s *Service
   165  
   166  	Histories *ProjectsHistoriesService
   167  }
   168  
   169  func NewProjectsHistoriesService(s *Service) *ProjectsHistoriesService {
   170  	rs := &ProjectsHistoriesService{s: s}
   171  	rs.Executions = NewProjectsHistoriesExecutionsService(s)
   172  	return rs
   173  }
   174  
   175  type ProjectsHistoriesService struct {
   176  	s *Service
   177  
   178  	Executions *ProjectsHistoriesExecutionsService
   179  }
   180  
   181  func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecutionsService {
   182  	rs := &ProjectsHistoriesExecutionsService{s: s}
   183  	rs.Clusters = NewProjectsHistoriesExecutionsClustersService(s)
   184  	rs.Environments = NewProjectsHistoriesExecutionsEnvironmentsService(s)
   185  	rs.Steps = NewProjectsHistoriesExecutionsStepsService(s)
   186  	return rs
   187  }
   188  
   189  type ProjectsHistoriesExecutionsService struct {
   190  	s *Service
   191  
   192  	Clusters *ProjectsHistoriesExecutionsClustersService
   193  
   194  	Environments *ProjectsHistoriesExecutionsEnvironmentsService
   195  
   196  	Steps *ProjectsHistoriesExecutionsStepsService
   197  }
   198  
   199  func NewProjectsHistoriesExecutionsClustersService(s *Service) *ProjectsHistoriesExecutionsClustersService {
   200  	rs := &ProjectsHistoriesExecutionsClustersService{s: s}
   201  	return rs
   202  }
   203  
   204  type ProjectsHistoriesExecutionsClustersService struct {
   205  	s *Service
   206  }
   207  
   208  func NewProjectsHistoriesExecutionsEnvironmentsService(s *Service) *ProjectsHistoriesExecutionsEnvironmentsService {
   209  	rs := &ProjectsHistoriesExecutionsEnvironmentsService{s: s}
   210  	return rs
   211  }
   212  
   213  type ProjectsHistoriesExecutionsEnvironmentsService struct {
   214  	s *Service
   215  }
   216  
   217  func NewProjectsHistoriesExecutionsStepsService(s *Service) *ProjectsHistoriesExecutionsStepsService {
   218  	rs := &ProjectsHistoriesExecutionsStepsService{s: s}
   219  	rs.PerfMetricsSummary = NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s)
   220  	rs.PerfSampleSeries = NewProjectsHistoriesExecutionsStepsPerfSampleSeriesService(s)
   221  	rs.TestCases = NewProjectsHistoriesExecutionsStepsTestCasesService(s)
   222  	rs.Thumbnails = NewProjectsHistoriesExecutionsStepsThumbnailsService(s)
   223  	return rs
   224  }
   225  
   226  type ProjectsHistoriesExecutionsStepsService struct {
   227  	s *Service
   228  
   229  	PerfMetricsSummary *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService
   230  
   231  	PerfSampleSeries *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService
   232  
   233  	TestCases *ProjectsHistoriesExecutionsStepsTestCasesService
   234  
   235  	Thumbnails *ProjectsHistoriesExecutionsStepsThumbnailsService
   236  }
   237  
   238  func NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s *Service) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService {
   239  	rs := &ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService{s: s}
   240  	return rs
   241  }
   242  
   243  type ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService struct {
   244  	s *Service
   245  }
   246  
   247  func NewProjectsHistoriesExecutionsStepsPerfSampleSeriesService(s *Service) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService {
   248  	rs := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesService{s: s}
   249  	rs.Samples = NewProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService(s)
   250  	return rs
   251  }
   252  
   253  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesService struct {
   254  	s *Service
   255  
   256  	Samples *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService
   257  }
   258  
   259  func NewProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService(s *Service) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService {
   260  	rs := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService{s: s}
   261  	return rs
   262  }
   263  
   264  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService struct {
   265  	s *Service
   266  }
   267  
   268  func NewProjectsHistoriesExecutionsStepsTestCasesService(s *Service) *ProjectsHistoriesExecutionsStepsTestCasesService {
   269  	rs := &ProjectsHistoriesExecutionsStepsTestCasesService{s: s}
   270  	return rs
   271  }
   272  
   273  type ProjectsHistoriesExecutionsStepsTestCasesService struct {
   274  	s *Service
   275  }
   276  
   277  func NewProjectsHistoriesExecutionsStepsThumbnailsService(s *Service) *ProjectsHistoriesExecutionsStepsThumbnailsService {
   278  	rs := &ProjectsHistoriesExecutionsStepsThumbnailsService{s: s}
   279  	return rs
   280  }
   281  
   282  type ProjectsHistoriesExecutionsStepsThumbnailsService struct {
   283  	s *Service
   284  }
   285  
   286  // ANR: Additional details for an ANR crash.
   287  type ANR struct {
   288  	// StackTrace: The stack trace of the ANR crash. Optional.
   289  	StackTrace *StackTrace `json:"stackTrace,omitempty"`
   290  	// ForceSendFields is a list of field names (e.g. "StackTrace") to
   291  	// unconditionally include in API requests. By default, fields with empty or
   292  	// default values are omitted from API requests. See
   293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   294  	// details.
   295  	ForceSendFields []string `json:"-"`
   296  	// NullFields is a list of field names (e.g. "StackTrace") to include in API
   297  	// requests with the JSON null value. By default, fields with empty values are
   298  	// omitted from API requests. See
   299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   300  	NullFields []string `json:"-"`
   301  }
   302  
   303  func (s *ANR) MarshalJSON() ([]byte, error) {
   304  	type NoMethod ANR
   305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   306  }
   307  
   308  // AndroidAppInfo: Android app information.
   309  type AndroidAppInfo struct {
   310  	// Name: The name of the app. Optional
   311  	Name string `json:"name,omitempty"`
   312  	// PackageName: The package name of the app. Required.
   313  	PackageName string `json:"packageName,omitempty"`
   314  	// VersionCode: The internal version code of the app. Optional.
   315  	VersionCode string `json:"versionCode,omitempty"`
   316  	// VersionName: The version name of the app. Optional.
   317  	VersionName string `json:"versionName,omitempty"`
   318  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   319  	// include in API requests. By default, fields with empty or default values are
   320  	// omitted from API requests. See
   321  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   322  	// details.
   323  	ForceSendFields []string `json:"-"`
   324  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   325  	// with the JSON null value. By default, fields with empty values are omitted
   326  	// from API requests. See
   327  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   328  	NullFields []string `json:"-"`
   329  }
   330  
   331  func (s *AndroidAppInfo) MarshalJSON() ([]byte, error) {
   332  	type NoMethod AndroidAppInfo
   333  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   334  }
   335  
   336  // AndroidInstrumentationTest: A test of an Android application that can
   337  // control an Android component independently of its normal lifecycle. See for
   338  // more information on types of Android tests.
   339  type AndroidInstrumentationTest struct {
   340  	// TestPackageId: The java package for the test to be executed. Required
   341  	TestPackageId string `json:"testPackageId,omitempty"`
   342  	// TestRunnerClass: The InstrumentationTestRunner class. Required
   343  	TestRunnerClass string `json:"testRunnerClass,omitempty"`
   344  	// TestTargets: Each target must be fully qualified with the package name or
   345  	// class name, in one of these formats: - "package package_name" - "class
   346  	// package_name.class_name" - "class package_name.class_name#method_name" If
   347  	// empty, all targets in the module will be run.
   348  	TestTargets []string `json:"testTargets,omitempty"`
   349  	// UseOrchestrator: The flag indicates whether Android Test Orchestrator will
   350  	// be used to run test or not.
   351  	UseOrchestrator bool `json:"useOrchestrator,omitempty"`
   352  	// ForceSendFields is a list of field names (e.g. "TestPackageId") to
   353  	// unconditionally include in API requests. By default, fields with empty or
   354  	// default values are omitted from API requests. See
   355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   356  	// details.
   357  	ForceSendFields []string `json:"-"`
   358  	// NullFields is a list of field names (e.g. "TestPackageId") to include in API
   359  	// requests with the JSON null value. By default, fields with empty values are
   360  	// omitted from API requests. See
   361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   362  	NullFields []string `json:"-"`
   363  }
   364  
   365  func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) {
   366  	type NoMethod AndroidInstrumentationTest
   367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   368  }
   369  
   370  // AndroidRoboTest: A test of an android application that explores the
   371  // application on a virtual or physical Android device, finding culprits and
   372  // crashes as it goes.
   373  type AndroidRoboTest struct {
   374  	// AppInitialActivity: The initial activity that should be used to start the
   375  	// app. Optional
   376  	AppInitialActivity string `json:"appInitialActivity,omitempty"`
   377  	// BootstrapPackageId: The java package for the bootstrap. Optional
   378  	BootstrapPackageId string `json:"bootstrapPackageId,omitempty"`
   379  	// BootstrapRunnerClass: The runner class for the bootstrap. Optional
   380  	BootstrapRunnerClass string `json:"bootstrapRunnerClass,omitempty"`
   381  	// MaxDepth: The max depth of the traversal stack Robo can explore. Optional
   382  	MaxDepth int64 `json:"maxDepth,omitempty"`
   383  	// MaxSteps: The max number of steps/actions Robo can execute. Default is no
   384  	// limit (0). Optional
   385  	MaxSteps int64 `json:"maxSteps,omitempty"`
   386  	// ForceSendFields is a list of field names (e.g. "AppInitialActivity") to
   387  	// unconditionally include in API requests. By default, fields with empty or
   388  	// default values are omitted from API requests. See
   389  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   390  	// details.
   391  	ForceSendFields []string `json:"-"`
   392  	// NullFields is a list of field names (e.g. "AppInitialActivity") to include
   393  	// in API requests with the JSON null value. By default, fields with empty
   394  	// values are omitted from API requests. See
   395  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   396  	NullFields []string `json:"-"`
   397  }
   398  
   399  func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) {
   400  	type NoMethod AndroidRoboTest
   401  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   402  }
   403  
   404  // AndroidTest: An Android mobile test specification.
   405  type AndroidTest struct {
   406  	// AndroidAppInfo: Information about the application under test.
   407  	AndroidAppInfo *AndroidAppInfo `json:"androidAppInfo,omitempty"`
   408  	// AndroidInstrumentationTest: An Android instrumentation test.
   409  	AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"`
   410  	// AndroidRoboTest: An Android robo test.
   411  	AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"`
   412  	// AndroidTestLoop: An Android test loop.
   413  	AndroidTestLoop *AndroidTestLoop `json:"androidTestLoop,omitempty"`
   414  	// TestTimeout: Max time a test is allowed to run before it is automatically
   415  	// cancelled.
   416  	TestTimeout *Duration `json:"testTimeout,omitempty"`
   417  	// ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to
   418  	// unconditionally include in API requests. By default, fields with empty or
   419  	// default values are omitted from API requests. See
   420  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   421  	// details.
   422  	ForceSendFields []string `json:"-"`
   423  	// NullFields is a list of field names (e.g. "AndroidAppInfo") to include in
   424  	// API requests with the JSON null value. By default, fields with empty values
   425  	// are omitted from API requests. See
   426  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   427  	NullFields []string `json:"-"`
   428  }
   429  
   430  func (s *AndroidTest) MarshalJSON() ([]byte, error) {
   431  	type NoMethod AndroidTest
   432  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   433  }
   434  
   435  // AndroidTestLoop: Test Loops are tests that can be launched by the app
   436  // itself, determining when to run by listening for an intent.
   437  type AndroidTestLoop struct {
   438  }
   439  
   440  // Any:  `Any` contains an arbitrary serialized protocol buffer message along
   441  // with a URL that describes the type of the serialized message. Protobuf
   442  // library provides support to pack/unpack Any values in the form of utility
   443  // functions or additional generated methods of the Any type. Example 1: Pack
   444  // and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ...
   445  // if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in
   446  // Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) {
   447  // foo = any.unpack(Foo.class); } Example 3: Pack and unpack a message in
   448  // Python. foo = Foo(...) any = Any() any.Pack(foo) ... if
   449  // any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a
   450  // message in Go foo := &pb.Foo{...} any, err := ptypes.MarshalAny(foo) ... foo
   451  // := &pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != nil { ... } The
   452  // pack methods provided by protobuf library will by default use
   453  // 'type.googleapis.com/full.type.name' as the type URL and the unpack methods
   454  // only use the fully qualified type name after the last '/' in the type URL,
   455  // for example "foo.bar.com/x/y.z" will yield type name "y.z". # JSON The JSON
   456  // representation of an `Any` value uses the regular representation of the
   457  // deserialized, embedded message, with an additional field `@type` which
   458  // contains the type URL. Example: package google.profile; message Person {
   459  // string first_name = 1; string last_name = 2; } { "@type":
   460  // "type.googleapis.com/google.profile.Person", "firstName": , "lastName": } If
   461  // the embedded message type is well-known and has a custom JSON
   462  // representation, that representation will be embedded adding a field `value`
   463  // which holds the custom JSON in addition to the `@type` field. Example (for
   464  // message google.protobuf.Duration): { "@type":
   465  // "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
   466  type Any struct {
   467  	// TypeUrl: A URL/resource name that uniquely identifies the type of the
   468  	// serialized protocol buffer message. This string must contain at least one
   469  	// "/" character. The last segment of the URL's path must represent the fully
   470  	// qualified name of the type (as in `path/google.protobuf.Duration`). The name
   471  	// should be in a canonical form (e.g., leading "." is not accepted). In
   472  	// practice, teams usually precompile into the binary all types that they
   473  	// expect it to use in the context of Any. However, for URLs which use the
   474  	// scheme `http`, `https`, or no scheme, one can optionally set up a type
   475  	// server that maps type URLs to message definitions as follows: * If no scheme
   476  	// is provided, `https` is assumed. * An HTTP GET on the URL must yield a
   477  	// google.protobuf.Type value in binary format, or produce an error. *
   478  	// Applications are allowed to cache lookup results based on the URL, or have
   479  	// them precompiled into a binary to avoid any lookup. Therefore, binary
   480  	// compatibility needs to be preserved on changes to types. (Use versioned type
   481  	// names to manage breaking changes.) Note: this functionality is not currently
   482  	// available in the official protobuf release, and it is not used for type URLs
   483  	// beginning with type.googleapis.com. Schemes other than `http`, `https` (or
   484  	// the empty scheme) might be used with implementation specific semantics.
   485  	TypeUrl string `json:"typeUrl,omitempty"`
   486  	// Value: Must be a valid serialized protocol buffer of the above specified
   487  	// type.
   488  	Value string `json:"value,omitempty"`
   489  	// ForceSendFields is a list of field names (e.g. "TypeUrl") to unconditionally
   490  	// include in API requests. By default, fields with empty or default values are
   491  	// omitted from API requests. See
   492  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   493  	// details.
   494  	ForceSendFields []string `json:"-"`
   495  	// NullFields is a list of field names (e.g. "TypeUrl") to include in API
   496  	// requests with the JSON null value. By default, fields with empty values are
   497  	// omitted from API requests. See
   498  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   499  	NullFields []string `json:"-"`
   500  }
   501  
   502  func (s *Any) MarshalJSON() ([]byte, error) {
   503  	type NoMethod Any
   504  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   505  }
   506  
   507  type AppStartTime struct {
   508  	// FullyDrawnTime: Optional. The time from app start to reaching the
   509  	// developer-reported "fully drawn" time. This is only stored if the app
   510  	// includes a call to Activity.reportFullyDrawn(). See
   511  	// https://developer.android.com/topic/performance/launch-time.html#time-full
   512  	FullyDrawnTime *Duration `json:"fullyDrawnTime,omitempty"`
   513  	// InitialDisplayTime: The time from app start to the first displayed activity
   514  	// being drawn, as reported in Logcat. See
   515  	// https://developer.android.com/topic/performance/launch-time.html#time-initial
   516  	InitialDisplayTime *Duration `json:"initialDisplayTime,omitempty"`
   517  	// ForceSendFields is a list of field names (e.g. "FullyDrawnTime") to
   518  	// unconditionally include in API requests. By default, fields with empty or
   519  	// default values are omitted from API requests. See
   520  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   521  	// details.
   522  	ForceSendFields []string `json:"-"`
   523  	// NullFields is a list of field names (e.g. "FullyDrawnTime") to include in
   524  	// API requests with the JSON null value. By default, fields with empty values
   525  	// are omitted from API requests. See
   526  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   527  	NullFields []string `json:"-"`
   528  }
   529  
   530  func (s *AppStartTime) MarshalJSON() ([]byte, error) {
   531  	type NoMethod AppStartTime
   532  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   533  }
   534  
   535  // AssetIssue: There was an issue with the assets in this test.
   536  type AssetIssue struct {
   537  }
   538  
   539  // AvailableDeepLinks: A suggestion to use deep links for a Robo run.
   540  type AvailableDeepLinks struct {
   541  }
   542  
   543  // BasicPerfSampleSeries: Encapsulates the metadata for basic sample series
   544  // represented by a line chart
   545  type BasicPerfSampleSeries struct {
   546  	// Possible values:
   547  	//   "perfMetricTypeUnspecified"
   548  	//   "memory"
   549  	//   "cpu"
   550  	//   "network"
   551  	//   "graphics"
   552  	PerfMetricType string `json:"perfMetricType,omitempty"`
   553  	// Possible values:
   554  	//   "perfUnitUnspecified"
   555  	//   "kibibyte"
   556  	//   "percent"
   557  	//   "bytesPerSecond"
   558  	//   "framesPerSecond"
   559  	//   "byte"
   560  	PerfUnit string `json:"perfUnit,omitempty"`
   561  	// Possible values:
   562  	//   "sampleSeriesTypeUnspecified"
   563  	//   "memoryRssPrivate" - Memory sample series
   564  	//   "memoryRssShared"
   565  	//   "memoryRssTotal"
   566  	//   "memoryTotal"
   567  	//   "cpuUser" - CPU sample series
   568  	//   "cpuKernel"
   569  	//   "cpuTotal"
   570  	//   "ntBytesTransferred" - Network sample series
   571  	//   "ntBytesReceived"
   572  	//   "networkSent"
   573  	//   "networkReceived"
   574  	//   "graphicsFrameRate" - Graphics sample series
   575  	SampleSeriesLabel string `json:"sampleSeriesLabel,omitempty"`
   576  	// ForceSendFields is a list of field names (e.g. "PerfMetricType") to
   577  	// unconditionally include in API requests. By default, fields with empty or
   578  	// default values are omitted from API requests. See
   579  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   580  	// details.
   581  	ForceSendFields []string `json:"-"`
   582  	// NullFields is a list of field names (e.g. "PerfMetricType") to include in
   583  	// API requests with the JSON null value. By default, fields with empty values
   584  	// are omitted from API requests. See
   585  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   586  	NullFields []string `json:"-"`
   587  }
   588  
   589  func (s *BasicPerfSampleSeries) MarshalJSON() ([]byte, error) {
   590  	type NoMethod BasicPerfSampleSeries
   591  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   592  }
   593  
   594  // BatchCreatePerfSamplesRequest: The request must provide up to a maximum of
   595  // 5000 samples to be created; a larger sample size will cause an
   596  // INVALID_ARGUMENT error
   597  type BatchCreatePerfSamplesRequest struct {
   598  	// PerfSamples: The set of PerfSamples to create should not include existing
   599  	// timestamps
   600  	PerfSamples []*PerfSample `json:"perfSamples,omitempty"`
   601  	// ForceSendFields is a list of field names (e.g. "PerfSamples") to
   602  	// unconditionally include in API requests. By default, fields with empty or
   603  	// default values are omitted from API requests. See
   604  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   605  	// details.
   606  	ForceSendFields []string `json:"-"`
   607  	// NullFields is a list of field names (e.g. "PerfSamples") to include in API
   608  	// requests with the JSON null value. By default, fields with empty values are
   609  	// omitted from API requests. See
   610  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   611  	NullFields []string `json:"-"`
   612  }
   613  
   614  func (s *BatchCreatePerfSamplesRequest) MarshalJSON() ([]byte, error) {
   615  	type NoMethod BatchCreatePerfSamplesRequest
   616  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   617  }
   618  
   619  type BatchCreatePerfSamplesResponse struct {
   620  	PerfSamples []*PerfSample `json:"perfSamples,omitempty"`
   621  
   622  	// ServerResponse contains the HTTP response code and headers from the server.
   623  	googleapi.ServerResponse `json:"-"`
   624  	// ForceSendFields is a list of field names (e.g. "PerfSamples") to
   625  	// unconditionally include in API requests. By default, fields with empty or
   626  	// default values are omitted from API requests. See
   627  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   628  	// details.
   629  	ForceSendFields []string `json:"-"`
   630  	// NullFields is a list of field names (e.g. "PerfSamples") to include in API
   631  	// requests with the JSON null value. By default, fields with empty values are
   632  	// omitted from API requests. See
   633  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   634  	NullFields []string `json:"-"`
   635  }
   636  
   637  func (s *BatchCreatePerfSamplesResponse) MarshalJSON() ([]byte, error) {
   638  	type NoMethod BatchCreatePerfSamplesResponse
   639  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   640  }
   641  
   642  // BlankScreen: A warning that Robo encountered a screen that was mostly blank;
   643  // this may indicate a problem with the app.
   644  type BlankScreen struct {
   645  	// ScreenId: The screen id of the element
   646  	ScreenId string `json:"screenId,omitempty"`
   647  	// ForceSendFields is a list of field names (e.g. "ScreenId") to
   648  	// unconditionally include in API requests. By default, fields with empty or
   649  	// default values are omitted from API requests. See
   650  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   651  	// details.
   652  	ForceSendFields []string `json:"-"`
   653  	// NullFields is a list of field names (e.g. "ScreenId") to include in API
   654  	// requests with the JSON null value. By default, fields with empty values are
   655  	// omitted from API requests. See
   656  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   657  	NullFields []string `json:"-"`
   658  }
   659  
   660  func (s *BlankScreen) MarshalJSON() ([]byte, error) {
   661  	type NoMethod BlankScreen
   662  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   663  }
   664  
   665  type CPUInfo struct {
   666  	// CpuProcessor: description of the device processor ie '1.8 GHz hexa core
   667  	// 64-bit ARMv8-A'
   668  	CpuProcessor string `json:"cpuProcessor,omitempty"`
   669  	// CpuSpeedInGhz: the CPU clock speed in GHz
   670  	CpuSpeedInGhz float64 `json:"cpuSpeedInGhz,omitempty"`
   671  	// NumberOfCores: the number of CPU cores
   672  	NumberOfCores int64 `json:"numberOfCores,omitempty"`
   673  	// ForceSendFields is a list of field names (e.g. "CpuProcessor") to
   674  	// unconditionally include in API requests. By default, fields with empty or
   675  	// default values are omitted from API requests. See
   676  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   677  	// details.
   678  	ForceSendFields []string `json:"-"`
   679  	// NullFields is a list of field names (e.g. "CpuProcessor") to include in API
   680  	// requests with the JSON null value. By default, fields with empty values are
   681  	// omitted from API requests. See
   682  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   683  	NullFields []string `json:"-"`
   684  }
   685  
   686  func (s *CPUInfo) MarshalJSON() ([]byte, error) {
   687  	type NoMethod CPUInfo
   688  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   689  }
   690  
   691  func (s *CPUInfo) UnmarshalJSON(data []byte) error {
   692  	type NoMethod CPUInfo
   693  	var s1 struct {
   694  		CpuSpeedInGhz gensupport.JSONFloat64 `json:"cpuSpeedInGhz"`
   695  		*NoMethod
   696  	}
   697  	s1.NoMethod = (*NoMethod)(s)
   698  	if err := json.Unmarshal(data, &s1); err != nil {
   699  		return err
   700  	}
   701  	s.CpuSpeedInGhz = float64(s1.CpuSpeedInGhz)
   702  	return nil
   703  }
   704  
   705  // CrashDialogError: Crash dialog was detected during the test execution
   706  type CrashDialogError struct {
   707  	// CrashPackage: The name of the package that caused the dialog.
   708  	CrashPackage string `json:"crashPackage,omitempty"`
   709  	// ForceSendFields is a list of field names (e.g. "CrashPackage") to
   710  	// unconditionally include in API requests. By default, fields with empty or
   711  	// default values are omitted from API requests. See
   712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   713  	// details.
   714  	ForceSendFields []string `json:"-"`
   715  	// NullFields is a list of field names (e.g. "CrashPackage") to include in API
   716  	// requests with the JSON null value. By default, fields with empty values are
   717  	// omitted from API requests. See
   718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   719  	NullFields []string `json:"-"`
   720  }
   721  
   722  func (s *CrashDialogError) MarshalJSON() ([]byte, error) {
   723  	type NoMethod CrashDialogError
   724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   725  }
   726  
   727  // DetectedAppSplashScreen: A notification that Robo detected a splash screen
   728  // provided by app (vs. Android OS splash screen).
   729  type DetectedAppSplashScreen struct {
   730  }
   731  
   732  // DeviceOutOfMemory: A warning that device ran out of memory
   733  type DeviceOutOfMemory struct {
   734  }
   735  
   736  // Duration:  A Duration represents a signed, fixed-length span of time
   737  // represented as a count of seconds and fractions of seconds at nanosecond
   738  // resolution. It is independent of any calendar and concepts like "day" or
   739  // "month". It is related to Timestamp in that the difference between two
   740  // Timestamp values is a Duration and it can be added or subtracted from a
   741  // Timestamp. Range is approximately +-10,000 years.
   742  type Duration struct {
   743  	// Nanos: Signed fractions of a second at nanosecond resolution of the span of
   744  	// time. Durations less than one second are represented with a 0 `seconds`
   745  	// field and a positive or negative `nanos` field. For durations of one second
   746  	// or more, a non-zero value for the `nanos` field must be of the same sign as
   747  	// the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
   748  	Nanos int64 `json:"nanos,omitempty"`
   749  	// Seconds: Signed seconds of the span of time. Must be from -315,576,000,000
   750  	// to +315,576,000,000 inclusive. Note: these bounds are computed from: 60
   751  	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
   752  	Seconds int64 `json:"seconds,omitempty,string"`
   753  	// ForceSendFields is a list of field names (e.g. "Nanos") to unconditionally
   754  	// include in API requests. By default, fields with empty or default values are
   755  	// omitted from API requests. See
   756  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   757  	// details.
   758  	ForceSendFields []string `json:"-"`
   759  	// NullFields is a list of field names (e.g. "Nanos") to include in API
   760  	// requests with the JSON null value. By default, fields with empty values are
   761  	// omitted from API requests. See
   762  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   763  	NullFields []string `json:"-"`
   764  }
   765  
   766  func (s *Duration) MarshalJSON() ([]byte, error) {
   767  	type NoMethod Duration
   768  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   769  }
   770  
   771  // EncounteredLoginScreen: Additional details about encountered login screens.
   772  type EncounteredLoginScreen struct {
   773  	// DistinctScreens: Number of encountered distinct login screens.
   774  	DistinctScreens int64 `json:"distinctScreens,omitempty"`
   775  	// ScreenIds: Subset of login screens.
   776  	ScreenIds []string `json:"screenIds,omitempty"`
   777  	// ForceSendFields is a list of field names (e.g. "DistinctScreens") to
   778  	// unconditionally include in API requests. By default, fields with empty or
   779  	// default values are omitted from API requests. See
   780  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   781  	// details.
   782  	ForceSendFields []string `json:"-"`
   783  	// NullFields is a list of field names (e.g. "DistinctScreens") to include in
   784  	// API requests with the JSON null value. By default, fields with empty values
   785  	// are omitted from API requests. See
   786  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   787  	NullFields []string `json:"-"`
   788  }
   789  
   790  func (s *EncounteredLoginScreen) MarshalJSON() ([]byte, error) {
   791  	type NoMethod EncounteredLoginScreen
   792  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   793  }
   794  
   795  // EncounteredNonAndroidUiWidgetScreen: Additional details about encountered
   796  // screens with elements that are not Android UI widgets.
   797  type EncounteredNonAndroidUiWidgetScreen struct {
   798  	// DistinctScreens: Number of encountered distinct screens with non Android UI
   799  	// widgets.
   800  	DistinctScreens int64 `json:"distinctScreens,omitempty"`
   801  	// ScreenIds: Subset of screens which contain non Android UI widgets.
   802  	ScreenIds []string `json:"screenIds,omitempty"`
   803  	// ForceSendFields is a list of field names (e.g. "DistinctScreens") to
   804  	// unconditionally include in API requests. By default, fields with empty or
   805  	// default values are omitted from API requests. See
   806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   807  	// details.
   808  	ForceSendFields []string `json:"-"`
   809  	// NullFields is a list of field names (e.g. "DistinctScreens") to include in
   810  	// API requests with the JSON null value. By default, fields with empty values
   811  	// are omitted from API requests. See
   812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   813  	NullFields []string `json:"-"`
   814  }
   815  
   816  func (s *EncounteredNonAndroidUiWidgetScreen) MarshalJSON() ([]byte, error) {
   817  	type NoMethod EncounteredNonAndroidUiWidgetScreen
   818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   819  }
   820  
   821  // Environment: An Environment represents the set of test runs (Steps) from the
   822  // parent Execution that are configured with the same set of dimensions (Model,
   823  // Version, Locale, and Orientation). Multiple such runs occur particularly
   824  // because of features like sharding (splitting up a test suite to run in
   825  // parallel across devices) and reruns (running a test multiple times to check
   826  // for different outcomes).
   827  type Environment struct {
   828  	// CompletionTime: Output only. The time when the Environment status was set to
   829  	// complete. This value will be set automatically when state transitions to
   830  	// COMPLETE.
   831  	CompletionTime *Timestamp `json:"completionTime,omitempty"`
   832  	// CreationTime: Output only. The time when the Environment was created.
   833  	CreationTime *Timestamp `json:"creationTime,omitempty"`
   834  	// DimensionValue: Dimension values describing the environment. Dimension
   835  	// values always consist of "Model", "Version", "Locale", and "Orientation". -
   836  	// In response: always set - In create request: always set - In update request:
   837  	// never set
   838  	DimensionValue []*EnvironmentDimensionValueEntry `json:"dimensionValue,omitempty"`
   839  	// DisplayName: A short human-readable name to display in the UI. Maximum of
   840  	// 100 characters. For example: Nexus 5, API 27.
   841  	DisplayName string `json:"displayName,omitempty"`
   842  	// EnvironmentId: Output only. An Environment id.
   843  	EnvironmentId string `json:"environmentId,omitempty"`
   844  	// EnvironmentResult: Merged result of the environment.
   845  	EnvironmentResult *MergedResult `json:"environmentResult,omitempty"`
   846  	// ExecutionId: Output only. An Execution id.
   847  	ExecutionId string `json:"executionId,omitempty"`
   848  	// HistoryId: Output only. A History id.
   849  	HistoryId string `json:"historyId,omitempty"`
   850  	// ProjectId: Output only. A Project id.
   851  	ProjectId string `json:"projectId,omitempty"`
   852  	// ResultsStorage: The location where output files are stored in the user
   853  	// bucket.
   854  	ResultsStorage *ResultsStorage `json:"resultsStorage,omitempty"`
   855  	// ShardSummaries: Output only. Summaries of shards. Only one shard will
   856  	// present unless sharding feature is enabled in TestExecutionService.
   857  	ShardSummaries []*ShardSummary `json:"shardSummaries,omitempty"`
   858  
   859  	// ServerResponse contains the HTTP response code and headers from the server.
   860  	googleapi.ServerResponse `json:"-"`
   861  	// ForceSendFields is a list of field names (e.g. "CompletionTime") to
   862  	// unconditionally include in API requests. By default, fields with empty or
   863  	// default values are omitted from API requests. See
   864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   865  	// details.
   866  	ForceSendFields []string `json:"-"`
   867  	// NullFields is a list of field names (e.g. "CompletionTime") to include in
   868  	// API requests with the JSON null value. By default, fields with empty values
   869  	// are omitted from API requests. See
   870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   871  	NullFields []string `json:"-"`
   872  }
   873  
   874  func (s *Environment) MarshalJSON() ([]byte, error) {
   875  	type NoMethod Environment
   876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   877  }
   878  
   879  type EnvironmentDimensionValueEntry struct {
   880  	Key   string `json:"key,omitempty"`
   881  	Value string `json:"value,omitempty"`
   882  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
   883  	// include in API requests. By default, fields with empty or default values are
   884  	// omitted from API requests. See
   885  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   886  	// details.
   887  	ForceSendFields []string `json:"-"`
   888  	// NullFields is a list of field names (e.g. "Key") to include in API requests
   889  	// with the JSON null value. By default, fields with empty values are omitted
   890  	// from API requests. See
   891  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   892  	NullFields []string `json:"-"`
   893  }
   894  
   895  func (s *EnvironmentDimensionValueEntry) MarshalJSON() ([]byte, error) {
   896  	type NoMethod EnvironmentDimensionValueEntry
   897  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   898  }
   899  
   900  // Execution: An Execution represents a collection of Steps. For instance, it
   901  // could represent: - a mobile test executed across a range of device
   902  // configurations - a jenkins job with a build step followed by a test step The
   903  // maximum size of an execution message is 1 MiB. An Execution can be updated
   904  // until its state is set to COMPLETE at which point it becomes immutable.
   905  type Execution struct {
   906  	// CompletionTime: The time when the Execution status transitioned to COMPLETE.
   907  	// This value will be set automatically when state transitions to COMPLETE. -
   908  	// In response: set if the execution state is COMPLETE. - In create/update
   909  	// request: never set
   910  	CompletionTime *Timestamp `json:"completionTime,omitempty"`
   911  	// CreationTime: The time when the Execution was created. This value will be
   912  	// set automatically when CreateExecution is called. - In response: always set
   913  	// - In create/update request: never set
   914  	CreationTime *Timestamp `json:"creationTime,omitempty"`
   915  	// DimensionDefinitions: The dimensions along which different steps in this
   916  	// execution may vary. This must remain fixed over the life of the execution.
   917  	// Returns INVALID_ARGUMENT if this field is set in an update request. Returns
   918  	// INVALID_ARGUMENT if the same name occurs in more than one
   919  	// dimension_definition. Returns INVALID_ARGUMENT if the size of the list is
   920  	// over 100. - In response: present if set by create - In create request:
   921  	// optional - In update request: never set
   922  	DimensionDefinitions []*MatrixDimensionDefinition `json:"dimensionDefinitions,omitempty"`
   923  	// ExecutionId: A unique identifier within a History for this Execution.
   924  	// Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
   925  	// - In response always set - In create/update request: never set
   926  	ExecutionId string `json:"executionId,omitempty"`
   927  	// Outcome: Classify the result, for example into SUCCESS or FAILURE - In
   928  	// response: present if set by create/update request - In create/update
   929  	// request: optional
   930  	Outcome *Outcome `json:"outcome,omitempty"`
   931  	// Specification: Lightweight information about execution request. - In
   932  	// response: present if set by create - In create: optional - In update:
   933  	// optional
   934  	Specification *Specification `json:"specification,omitempty"`
   935  	// State: The initial state is IN_PROGRESS. The only legal state transitions is
   936  	// from IN_PROGRESS to COMPLETE. A PRECONDITION_FAILED will be returned if an
   937  	// invalid transition is requested. The state can only be set to COMPLETE once.
   938  	// A FAILED_PRECONDITION will be returned if the state is set to COMPLETE
   939  	// multiple times. If the state is set to COMPLETE, all the in-progress steps
   940  	// within the execution will be set as COMPLETE. If the outcome of the step is
   941  	// not set, the outcome will be set to INCONCLUSIVE. - In response always set -
   942  	// In create/update request: optional
   943  	//
   944  	// Possible values:
   945  	//   "unknownState" - Should never be in this state. Exists for proto
   946  	// deserialization backward compatibility.
   947  	//   "pending" - The Execution/Step is created, ready to run, but not running
   948  	// yet. If an Execution/Step is created without initial state, it is assumed
   949  	// that the Execution/Step is in PENDING state.
   950  	//   "inProgress" - The Execution/Step is in progress.
   951  	//   "complete" - The finalized, immutable state. Steps/Executions in this
   952  	// state cannot be modified.
   953  	State string `json:"state,omitempty"`
   954  	// TestExecutionMatrixId: TestExecution Matrix ID that the TestExecutionService
   955  	// uses. - In response: present if set by create - In create: optional - In
   956  	// update: never set
   957  	TestExecutionMatrixId string `json:"testExecutionMatrixId,omitempty"`
   958  
   959  	// ServerResponse contains the HTTP response code and headers from the server.
   960  	googleapi.ServerResponse `json:"-"`
   961  	// ForceSendFields is a list of field names (e.g. "CompletionTime") to
   962  	// unconditionally include in API requests. By default, fields with empty or
   963  	// default values are omitted from API requests. See
   964  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   965  	// details.
   966  	ForceSendFields []string `json:"-"`
   967  	// NullFields is a list of field names (e.g. "CompletionTime") to include in
   968  	// API requests with the JSON null value. By default, fields with empty values
   969  	// are omitted from API requests. See
   970  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   971  	NullFields []string `json:"-"`
   972  }
   973  
   974  func (s *Execution) MarshalJSON() ([]byte, error) {
   975  	type NoMethod Execution
   976  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   977  }
   978  
   979  // FailedToInstall: Failed to install the App.
   980  type FailedToInstall struct {
   981  }
   982  
   983  // FailureDetail: Details for an outcome with a FAILURE outcome summary.
   984  type FailureDetail struct {
   985  	// Crashed: If the failure was severe because the system (app) under test
   986  	// crashed.
   987  	Crashed bool `json:"crashed,omitempty"`
   988  	// DeviceOutOfMemory: If the device ran out of memory during a test, causing
   989  	// the test to crash.
   990  	DeviceOutOfMemory bool `json:"deviceOutOfMemory,omitempty"`
   991  	// FailedRoboscript: If the Roboscript failed to complete successfully, e.g.,
   992  	// because a Roboscript action or assertion failed or a Roboscript action could
   993  	// not be matched during the entire crawl.
   994  	FailedRoboscript bool `json:"failedRoboscript,omitempty"`
   995  	// NotInstalled: If an app is not installed and thus no test can be run with
   996  	// the app. This might be caused by trying to run a test on an unsupported
   997  	// platform.
   998  	NotInstalled bool `json:"notInstalled,omitempty"`
   999  	// OtherNativeCrash: If a native process (including any other than the app)
  1000  	// crashed.
  1001  	OtherNativeCrash bool `json:"otherNativeCrash,omitempty"`
  1002  	// TimedOut: If the test overran some time limit, and that is why it failed.
  1003  	TimedOut bool `json:"timedOut,omitempty"`
  1004  	// UnableToCrawl: If the robo was unable to crawl the app; perhaps because the
  1005  	// app did not start.
  1006  	UnableToCrawl bool `json:"unableToCrawl,omitempty"`
  1007  	// ForceSendFields is a list of field names (e.g. "Crashed") to unconditionally
  1008  	// include in API requests. By default, fields with empty or default values are
  1009  	// omitted from API requests. See
  1010  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1011  	// details.
  1012  	ForceSendFields []string `json:"-"`
  1013  	// NullFields is a list of field names (e.g. "Crashed") to include in API
  1014  	// requests with the JSON null value. By default, fields with empty values are
  1015  	// omitted from API requests. See
  1016  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1017  	NullFields []string `json:"-"`
  1018  }
  1019  
  1020  func (s *FailureDetail) MarshalJSON() ([]byte, error) {
  1021  	type NoMethod FailureDetail
  1022  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1023  }
  1024  
  1025  // FatalException: Additional details for a fatal exception.
  1026  type FatalException struct {
  1027  	// StackTrace: The stack trace of the fatal exception. Optional.
  1028  	StackTrace *StackTrace `json:"stackTrace,omitempty"`
  1029  	// ForceSendFields is a list of field names (e.g. "StackTrace") to
  1030  	// unconditionally include in API requests. By default, fields with empty or
  1031  	// default values are omitted from API requests. See
  1032  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1033  	// details.
  1034  	ForceSendFields []string `json:"-"`
  1035  	// NullFields is a list of field names (e.g. "StackTrace") to include in API
  1036  	// requests with the JSON null value. By default, fields with empty values are
  1037  	// omitted from API requests. See
  1038  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1039  	NullFields []string `json:"-"`
  1040  }
  1041  
  1042  func (s *FatalException) MarshalJSON() ([]byte, error) {
  1043  	type NoMethod FatalException
  1044  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1045  }
  1046  
  1047  // FileReference: A reference to a file.
  1048  type FileReference struct {
  1049  	// FileUri: The URI of a file stored in Google Cloud Storage. For example:
  1050  	// http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format:
  1051  	// gs://mybucket/path/to/test.xml with version-specific info,
  1052  	// gs://mybucket/path/to/test.xml#1360383693690000 An INVALID_ARGUMENT error
  1053  	// will be returned if the URI format is not supported. - In response: always
  1054  	// set - In create/update request: always set
  1055  	FileUri string `json:"fileUri,omitempty"`
  1056  	// ForceSendFields is a list of field names (e.g. "FileUri") to unconditionally
  1057  	// include in API requests. By default, fields with empty or default values are
  1058  	// omitted from API requests. See
  1059  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1060  	// details.
  1061  	ForceSendFields []string `json:"-"`
  1062  	// NullFields is a list of field names (e.g. "FileUri") to include in API
  1063  	// requests with the JSON null value. By default, fields with empty values are
  1064  	// omitted from API requests. See
  1065  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1066  	NullFields []string `json:"-"`
  1067  }
  1068  
  1069  func (s *FileReference) MarshalJSON() ([]byte, error) {
  1070  	type NoMethod FileReference
  1071  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1072  }
  1073  
  1074  // GraphicsStats: Graphics statistics for the App. The information is collected
  1075  // from 'adb shell dumpsys graphicsstats'. For more info see:
  1076  // https://developer.android.com/training/testing/performance.html Statistics
  1077  // will only be present for API 23+.
  1078  type GraphicsStats struct {
  1079  	// Buckets: Histogram of frame render times. There should be 154 buckets
  1080  	// ranging from [5ms, 6ms) to [4950ms, infinity)
  1081  	Buckets []*GraphicsStatsBucket `json:"buckets,omitempty"`
  1082  	// HighInputLatencyCount: Total "high input latency" events.
  1083  	HighInputLatencyCount int64 `json:"highInputLatencyCount,omitempty,string"`
  1084  	// JankyFrames: Total frames with slow render time. Should be <= total_frames.
  1085  	JankyFrames int64 `json:"jankyFrames,omitempty,string"`
  1086  	// MissedVsyncCount: Total "missed vsync" events.
  1087  	MissedVsyncCount int64 `json:"missedVsyncCount,omitempty,string"`
  1088  	// P50Millis: 50th percentile frame render time in milliseconds.
  1089  	P50Millis int64 `json:"p50Millis,omitempty,string"`
  1090  	// P90Millis: 90th percentile frame render time in milliseconds.
  1091  	P90Millis int64 `json:"p90Millis,omitempty,string"`
  1092  	// P95Millis: 95th percentile frame render time in milliseconds.
  1093  	P95Millis int64 `json:"p95Millis,omitempty,string"`
  1094  	// P99Millis: 99th percentile frame render time in milliseconds.
  1095  	P99Millis int64 `json:"p99Millis,omitempty,string"`
  1096  	// SlowBitmapUploadCount: Total "slow bitmap upload" events.
  1097  	SlowBitmapUploadCount int64 `json:"slowBitmapUploadCount,omitempty,string"`
  1098  	// SlowDrawCount: Total "slow draw" events.
  1099  	SlowDrawCount int64 `json:"slowDrawCount,omitempty,string"`
  1100  	// SlowUiThreadCount: Total "slow UI thread" events.
  1101  	SlowUiThreadCount int64 `json:"slowUiThreadCount,omitempty,string"`
  1102  	// TotalFrames: Total frames rendered by package.
  1103  	TotalFrames int64 `json:"totalFrames,omitempty,string"`
  1104  	// ForceSendFields is a list of field names (e.g. "Buckets") to unconditionally
  1105  	// include in API requests. By default, fields with empty or default values are
  1106  	// omitted from API requests. See
  1107  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1108  	// details.
  1109  	ForceSendFields []string `json:"-"`
  1110  	// NullFields is a list of field names (e.g. "Buckets") to include in API
  1111  	// requests with the JSON null value. By default, fields with empty values are
  1112  	// omitted from API requests. See
  1113  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1114  	NullFields []string `json:"-"`
  1115  }
  1116  
  1117  func (s *GraphicsStats) MarshalJSON() ([]byte, error) {
  1118  	type NoMethod GraphicsStats
  1119  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1120  }
  1121  
  1122  type GraphicsStatsBucket struct {
  1123  	// FrameCount: Number of frames in the bucket.
  1124  	FrameCount int64 `json:"frameCount,omitempty,string"`
  1125  	// RenderMillis: Lower bound of render time in milliseconds.
  1126  	RenderMillis int64 `json:"renderMillis,omitempty,string"`
  1127  	// ForceSendFields is a list of field names (e.g. "FrameCount") to
  1128  	// unconditionally include in API requests. By default, fields with empty or
  1129  	// default values are omitted from API requests. See
  1130  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1131  	// details.
  1132  	ForceSendFields []string `json:"-"`
  1133  	// NullFields is a list of field names (e.g. "FrameCount") to include in API
  1134  	// requests with the JSON null value. By default, fields with empty values are
  1135  	// omitted from API requests. See
  1136  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1137  	NullFields []string `json:"-"`
  1138  }
  1139  
  1140  func (s *GraphicsStatsBucket) MarshalJSON() ([]byte, error) {
  1141  	type NoMethod GraphicsStatsBucket
  1142  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1143  }
  1144  
  1145  // History: A History represents a sorted list of Executions ordered by the
  1146  // start_timestamp_millis field (descending). It can be used to group all the
  1147  // Executions of a continuous build. Note that the ordering only operates on
  1148  // one-dimension. If a repository has multiple branches, it means that multiple
  1149  // histories will need to be used in order to order Executions per branch.
  1150  type History struct {
  1151  	// DisplayName: A short human-readable (plain text) name to display in the UI.
  1152  	// Maximum of 100 characters. - In response: present if set during create. - In
  1153  	// create request: optional
  1154  	DisplayName string `json:"displayName,omitempty"`
  1155  	// HistoryId: A unique identifier within a project for this History. Returns
  1156  	// INVALID_ARGUMENT if this field is set or overwritten by the caller. - In
  1157  	// response always set - In create request: never set
  1158  	HistoryId string `json:"historyId,omitempty"`
  1159  	// Name: A name to uniquely identify a history within a project. Maximum of 200
  1160  	// characters. - In response always set - In create request: always set
  1161  	Name string `json:"name,omitempty"`
  1162  	// TestPlatform: The platform of the test history. - In response: always set.
  1163  	// Returns the platform of the last execution if unknown.
  1164  	//
  1165  	// Possible values:
  1166  	//   "unknownPlatform"
  1167  	//   "android"
  1168  	//   "ios"
  1169  	TestPlatform string `json:"testPlatform,omitempty"`
  1170  
  1171  	// ServerResponse contains the HTTP response code and headers from the server.
  1172  	googleapi.ServerResponse `json:"-"`
  1173  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1174  	// unconditionally include in API requests. By default, fields with empty or
  1175  	// default values are omitted from API requests. See
  1176  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1177  	// details.
  1178  	ForceSendFields []string `json:"-"`
  1179  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1180  	// requests with the JSON null value. By default, fields with empty values are
  1181  	// omitted from API requests. See
  1182  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1183  	NullFields []string `json:"-"`
  1184  }
  1185  
  1186  func (s *History) MarshalJSON() ([]byte, error) {
  1187  	type NoMethod History
  1188  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1189  }
  1190  
  1191  // Image: An image, with a link to the main image and a thumbnail.
  1192  type Image struct {
  1193  	// Error: An error explaining why the thumbnail could not be rendered.
  1194  	Error *Status `json:"error,omitempty"`
  1195  	// SourceImage: A reference to the full-size, original image. This is the same
  1196  	// as the tool_outputs entry for the image under its Step. Always set.
  1197  	SourceImage *ToolOutputReference `json:"sourceImage,omitempty"`
  1198  	// StepId: The step to which the image is attached. Always set.
  1199  	StepId string `json:"stepId,omitempty"`
  1200  	// Thumbnail: The thumbnail.
  1201  	Thumbnail *Thumbnail `json:"thumbnail,omitempty"`
  1202  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  1203  	// include in API requests. By default, fields with empty or default values are
  1204  	// omitted from API requests. See
  1205  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1206  	// details.
  1207  	ForceSendFields []string `json:"-"`
  1208  	// NullFields is a list of field names (e.g. "Error") to include in API
  1209  	// requests with the JSON null value. By default, fields with empty values are
  1210  	// omitted from API requests. See
  1211  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1212  	NullFields []string `json:"-"`
  1213  }
  1214  
  1215  func (s *Image) MarshalJSON() ([]byte, error) {
  1216  	type NoMethod Image
  1217  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1218  }
  1219  
  1220  // InAppPurchasesFound: Additional details of in-app purchases encountered
  1221  // during the crawl.
  1222  type InAppPurchasesFound struct {
  1223  	// InAppPurchasesFlowsExplored: The total number of in-app purchases flows
  1224  	// explored: how many times the robo tries to buy a SKU.
  1225  	InAppPurchasesFlowsExplored int64 `json:"inAppPurchasesFlowsExplored,omitempty"`
  1226  	// InAppPurchasesFlowsStarted: The total number of in-app purchases flows
  1227  	// started.
  1228  	InAppPurchasesFlowsStarted int64 `json:"inAppPurchasesFlowsStarted,omitempty"`
  1229  	// ForceSendFields is a list of field names (e.g.
  1230  	// "InAppPurchasesFlowsExplored") to unconditionally include in API requests.
  1231  	// By default, fields with empty or default values are omitted from API
  1232  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1233  	// for more details.
  1234  	ForceSendFields []string `json:"-"`
  1235  	// NullFields is a list of field names (e.g. "InAppPurchasesFlowsExplored") to
  1236  	// include in API requests with the JSON null value. By default, fields with
  1237  	// empty values are omitted from API requests. See
  1238  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1239  	NullFields []string `json:"-"`
  1240  }
  1241  
  1242  func (s *InAppPurchasesFound) MarshalJSON() ([]byte, error) {
  1243  	type NoMethod InAppPurchasesFound
  1244  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1245  }
  1246  
  1247  // InconclusiveDetail: Details for an outcome with an INCONCLUSIVE outcome
  1248  // summary.
  1249  type InconclusiveDetail struct {
  1250  	// AbortedByUser: If the end user aborted the test execution before a pass or
  1251  	// fail could be determined. For example, the user pressed ctrl-c which sent a
  1252  	// kill signal to the test runner while the test was running.
  1253  	AbortedByUser bool `json:"abortedByUser,omitempty"`
  1254  	// HasErrorLogs: If results are being provided to the user in certain cases of
  1255  	// infrastructure failures
  1256  	HasErrorLogs bool `json:"hasErrorLogs,omitempty"`
  1257  	// InfrastructureFailure: If the test runner could not determine success or
  1258  	// failure because the test depends on a component other than the system under
  1259  	// test which failed. For example, a mobile test requires provisioning a device
  1260  	// where the test executes, and that provisioning can fail.
  1261  	InfrastructureFailure bool `json:"infrastructureFailure,omitempty"`
  1262  	// ForceSendFields is a list of field names (e.g. "AbortedByUser") to
  1263  	// unconditionally include in API requests. By default, fields with empty or
  1264  	// default values are omitted from API requests. See
  1265  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1266  	// details.
  1267  	ForceSendFields []string `json:"-"`
  1268  	// NullFields is a list of field names (e.g. "AbortedByUser") to include in API
  1269  	// requests with the JSON null value. By default, fields with empty values are
  1270  	// omitted from API requests. See
  1271  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1272  	NullFields []string `json:"-"`
  1273  }
  1274  
  1275  func (s *InconclusiveDetail) MarshalJSON() ([]byte, error) {
  1276  	type NoMethod InconclusiveDetail
  1277  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1278  }
  1279  
  1280  // IndividualOutcome: Step Id and outcome of each individual step that was run
  1281  // as a group with other steps with the same configuration.
  1282  type IndividualOutcome struct {
  1283  	// MultistepNumber: Unique int given to each step. Ranges from 0(inclusive) to
  1284  	// total number of steps(exclusive). The primary step is 0.
  1285  	MultistepNumber int64 `json:"multistepNumber,omitempty"`
  1286  	// Possible values:
  1287  	//   "unset" - Do not use. For proto versioning only.
  1288  	//   "success" - The test matrix run was successful, for instance: - All the
  1289  	// test cases passed. - Robo did not detect a crash of the application under
  1290  	// test.
  1291  	//   "failure" - A run failed, for instance: - One or more test case failed. -
  1292  	// A test timed out. - The application under test crashed.
  1293  	//   "inconclusive" - Something unexpected happened. The run should still be
  1294  	// considered unsuccessful but this is likely a transient problem and
  1295  	// re-running the test might be successful.
  1296  	//   "skipped" - All tests were skipped, for instance: - All device
  1297  	// configurations were incompatible.
  1298  	//   "flaky" - A group of steps that were run with the same configuration had
  1299  	// both failure and success outcomes.
  1300  	OutcomeSummary string `json:"outcomeSummary,omitempty"`
  1301  	// RunDuration: How long it took for this step to run.
  1302  	RunDuration *Duration `json:"runDuration,omitempty"`
  1303  	StepId      string    `json:"stepId,omitempty"`
  1304  	// ForceSendFields is a list of field names (e.g. "MultistepNumber") to
  1305  	// unconditionally include in API requests. By default, fields with empty or
  1306  	// default values are omitted from API requests. See
  1307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1308  	// details.
  1309  	ForceSendFields []string `json:"-"`
  1310  	// NullFields is a list of field names (e.g. "MultistepNumber") to include in
  1311  	// API requests with the JSON null value. By default, fields with empty values
  1312  	// are omitted from API requests. See
  1313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1314  	NullFields []string `json:"-"`
  1315  }
  1316  
  1317  func (s *IndividualOutcome) MarshalJSON() ([]byte, error) {
  1318  	type NoMethod IndividualOutcome
  1319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1320  }
  1321  
  1322  // InsufficientCoverage: A warning that Robo did not crawl potentially
  1323  // important parts of the app.
  1324  type InsufficientCoverage struct {
  1325  }
  1326  
  1327  // IosAppCrashed: Additional details for an iOS app crash.
  1328  type IosAppCrashed struct {
  1329  	// StackTrace: The stack trace, if one is available. Optional.
  1330  	StackTrace *StackTrace `json:"stackTrace,omitempty"`
  1331  	// ForceSendFields is a list of field names (e.g. "StackTrace") to
  1332  	// unconditionally include in API requests. By default, fields with empty or
  1333  	// default values are omitted from API requests. See
  1334  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1335  	// details.
  1336  	ForceSendFields []string `json:"-"`
  1337  	// NullFields is a list of field names (e.g. "StackTrace") to include in API
  1338  	// requests with the JSON null value. By default, fields with empty values are
  1339  	// omitted from API requests. See
  1340  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1341  	NullFields []string `json:"-"`
  1342  }
  1343  
  1344  func (s *IosAppCrashed) MarshalJSON() ([]byte, error) {
  1345  	type NoMethod IosAppCrashed
  1346  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1347  }
  1348  
  1349  // IosAppInfo: iOS app information
  1350  type IosAppInfo struct {
  1351  	// Name: The name of the app. Required
  1352  	Name string `json:"name,omitempty"`
  1353  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1354  	// include in API requests. By default, fields with empty or default values are
  1355  	// omitted from API requests. See
  1356  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1357  	// details.
  1358  	ForceSendFields []string `json:"-"`
  1359  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1360  	// with the JSON null value. By default, fields with empty values are omitted
  1361  	// from API requests. See
  1362  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1363  	NullFields []string `json:"-"`
  1364  }
  1365  
  1366  func (s *IosAppInfo) MarshalJSON() ([]byte, error) {
  1367  	type NoMethod IosAppInfo
  1368  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1369  }
  1370  
  1371  // IosRoboTest: A Robo test for an iOS application.
  1372  type IosRoboTest struct {
  1373  }
  1374  
  1375  // IosTest: A iOS mobile test specification
  1376  type IosTest struct {
  1377  	// IosAppInfo: Information about the application under test.
  1378  	IosAppInfo *IosAppInfo `json:"iosAppInfo,omitempty"`
  1379  	// IosRoboTest: An iOS Robo test.
  1380  	IosRoboTest *IosRoboTest `json:"iosRoboTest,omitempty"`
  1381  	// IosTestLoop: An iOS test loop.
  1382  	IosTestLoop *IosTestLoop `json:"iosTestLoop,omitempty"`
  1383  	// IosXcTest: An iOS XCTest.
  1384  	IosXcTest *IosXcTest `json:"iosXcTest,omitempty"`
  1385  	// TestTimeout: Max time a test is allowed to run before it is automatically
  1386  	// cancelled.
  1387  	TestTimeout *Duration `json:"testTimeout,omitempty"`
  1388  	// ForceSendFields is a list of field names (e.g. "IosAppInfo") to
  1389  	// unconditionally include in API requests. By default, fields with empty or
  1390  	// default values are omitted from API requests. See
  1391  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1392  	// details.
  1393  	ForceSendFields []string `json:"-"`
  1394  	// NullFields is a list of field names (e.g. "IosAppInfo") to include in API
  1395  	// requests with the JSON null value. By default, fields with empty values are
  1396  	// omitted from API requests. See
  1397  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1398  	NullFields []string `json:"-"`
  1399  }
  1400  
  1401  func (s *IosTest) MarshalJSON() ([]byte, error) {
  1402  	type NoMethod IosTest
  1403  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1404  }
  1405  
  1406  // IosTestLoop: A game loop test of an iOS application.
  1407  type IosTestLoop struct {
  1408  	// BundleId: Bundle ID of the app.
  1409  	BundleId string `json:"bundleId,omitempty"`
  1410  	// ForceSendFields is a list of field names (e.g. "BundleId") to
  1411  	// unconditionally include in API requests. By default, fields with empty or
  1412  	// default values are omitted from API requests. See
  1413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1414  	// details.
  1415  	ForceSendFields []string `json:"-"`
  1416  	// NullFields is a list of field names (e.g. "BundleId") to include in API
  1417  	// requests with the JSON null value. By default, fields with empty values are
  1418  	// omitted from API requests. See
  1419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1420  	NullFields []string `json:"-"`
  1421  }
  1422  
  1423  func (s *IosTestLoop) MarshalJSON() ([]byte, error) {
  1424  	type NoMethod IosTestLoop
  1425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1426  }
  1427  
  1428  // IosXcTest: A test of an iOS application that uses the XCTest framework.
  1429  type IosXcTest struct {
  1430  	// BundleId: Bundle ID of the app.
  1431  	BundleId string `json:"bundleId,omitempty"`
  1432  	// XcodeVersion: Xcode version that the test was run with.
  1433  	XcodeVersion string `json:"xcodeVersion,omitempty"`
  1434  	// ForceSendFields is a list of field names (e.g. "BundleId") to
  1435  	// unconditionally include in API requests. By default, fields with empty or
  1436  	// default values are omitted from API requests. See
  1437  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1438  	// details.
  1439  	ForceSendFields []string `json:"-"`
  1440  	// NullFields is a list of field names (e.g. "BundleId") to include in API
  1441  	// requests with the JSON null value. By default, fields with empty values are
  1442  	// omitted from API requests. See
  1443  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1444  	NullFields []string `json:"-"`
  1445  }
  1446  
  1447  func (s *IosXcTest) MarshalJSON() ([]byte, error) {
  1448  	type NoMethod IosXcTest
  1449  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1450  }
  1451  
  1452  // LauncherActivityNotFound: Failed to find the launcher activity of an app.
  1453  type LauncherActivityNotFound struct {
  1454  }
  1455  
  1456  // ListEnvironmentsResponse: Response message for
  1457  // EnvironmentService.ListEnvironments.
  1458  type ListEnvironmentsResponse struct {
  1459  	// Environments: Environments. Always set.
  1460  	Environments []*Environment `json:"environments,omitempty"`
  1461  	// ExecutionId: A Execution id Always set.
  1462  	ExecutionId string `json:"executionId,omitempty"`
  1463  	// HistoryId: A History id. Always set.
  1464  	HistoryId string `json:"historyId,omitempty"`
  1465  	// NextPageToken: A continuation token to resume the query at the next item.
  1466  	// Will only be set if there are more Environments to fetch.
  1467  	NextPageToken string `json:"nextPageToken,omitempty"`
  1468  	// ProjectId: A Project id. Always set.
  1469  	ProjectId string `json:"projectId,omitempty"`
  1470  
  1471  	// ServerResponse contains the HTTP response code and headers from the server.
  1472  	googleapi.ServerResponse `json:"-"`
  1473  	// ForceSendFields is a list of field names (e.g. "Environments") to
  1474  	// unconditionally include in API requests. By default, fields with empty or
  1475  	// default values are omitted from API requests. See
  1476  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1477  	// details.
  1478  	ForceSendFields []string `json:"-"`
  1479  	// NullFields is a list of field names (e.g. "Environments") to include in API
  1480  	// requests with the JSON null value. By default, fields with empty values are
  1481  	// omitted from API requests. See
  1482  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1483  	NullFields []string `json:"-"`
  1484  }
  1485  
  1486  func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
  1487  	type NoMethod ListEnvironmentsResponse
  1488  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1489  }
  1490  
  1491  type ListExecutionsResponse struct {
  1492  	// Executions: Executions. Always set.
  1493  	Executions []*Execution `json:"executions,omitempty"`
  1494  	// NextPageToken: A continuation token to resume the query at the next item.
  1495  	// Will only be set if there are more Executions to fetch.
  1496  	NextPageToken string `json:"nextPageToken,omitempty"`
  1497  
  1498  	// ServerResponse contains the HTTP response code and headers from the server.
  1499  	googleapi.ServerResponse `json:"-"`
  1500  	// ForceSendFields is a list of field names (e.g. "Executions") to
  1501  	// unconditionally include in API requests. By default, fields with empty or
  1502  	// default values are omitted from API requests. See
  1503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1504  	// details.
  1505  	ForceSendFields []string `json:"-"`
  1506  	// NullFields is a list of field names (e.g. "Executions") to include in API
  1507  	// requests with the JSON null value. By default, fields with empty values are
  1508  	// omitted from API requests. See
  1509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1510  	NullFields []string `json:"-"`
  1511  }
  1512  
  1513  func (s *ListExecutionsResponse) MarshalJSON() ([]byte, error) {
  1514  	type NoMethod ListExecutionsResponse
  1515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1516  }
  1517  
  1518  // ListHistoriesResponse: Response message for HistoryService.List
  1519  type ListHistoriesResponse struct {
  1520  	// Histories: Histories.
  1521  	Histories []*History `json:"histories,omitempty"`
  1522  	// NextPageToken: A continuation token to resume the query at the next item.
  1523  	// Will only be set if there are more histories to fetch. Tokens are valid for
  1524  	// up to one hour from the time of the first list request. For instance, if you
  1525  	// make a list request at 1PM and use the token from this first request 10
  1526  	// minutes later, the token from this second response will only be valid for 50
  1527  	// minutes.
  1528  	NextPageToken string `json:"nextPageToken,omitempty"`
  1529  
  1530  	// ServerResponse contains the HTTP response code and headers from the server.
  1531  	googleapi.ServerResponse `json:"-"`
  1532  	// ForceSendFields is a list of field names (e.g. "Histories") to
  1533  	// unconditionally include in API requests. By default, fields with empty or
  1534  	// default values are omitted from API requests. See
  1535  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1536  	// details.
  1537  	ForceSendFields []string `json:"-"`
  1538  	// NullFields is a list of field names (e.g. "Histories") to include in API
  1539  	// requests with the JSON null value. By default, fields with empty values are
  1540  	// omitted from API requests. See
  1541  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1542  	NullFields []string `json:"-"`
  1543  }
  1544  
  1545  func (s *ListHistoriesResponse) MarshalJSON() ([]byte, error) {
  1546  	type NoMethod ListHistoriesResponse
  1547  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1548  }
  1549  
  1550  type ListPerfSampleSeriesResponse struct {
  1551  	// PerfSampleSeries: The resulting PerfSampleSeries sorted by id
  1552  	PerfSampleSeries []*PerfSampleSeries `json:"perfSampleSeries,omitempty"`
  1553  
  1554  	// ServerResponse contains the HTTP response code and headers from the server.
  1555  	googleapi.ServerResponse `json:"-"`
  1556  	// ForceSendFields is a list of field names (e.g. "PerfSampleSeries") to
  1557  	// unconditionally include in API requests. By default, fields with empty or
  1558  	// default values are omitted from API requests. See
  1559  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1560  	// details.
  1561  	ForceSendFields []string `json:"-"`
  1562  	// NullFields is a list of field names (e.g. "PerfSampleSeries") to include in
  1563  	// API requests with the JSON null value. By default, fields with empty values
  1564  	// are omitted from API requests. See
  1565  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1566  	NullFields []string `json:"-"`
  1567  }
  1568  
  1569  func (s *ListPerfSampleSeriesResponse) MarshalJSON() ([]byte, error) {
  1570  	type NoMethod ListPerfSampleSeriesResponse
  1571  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1572  }
  1573  
  1574  type ListPerfSamplesResponse struct {
  1575  	// NextPageToken: Optional, returned if result size exceeds the page size
  1576  	// specified in the request (or the default page size, 500, if unspecified). It
  1577  	// indicates the last sample timestamp to be used as page_token in subsequent
  1578  	// request
  1579  	NextPageToken string        `json:"nextPageToken,omitempty"`
  1580  	PerfSamples   []*PerfSample `json:"perfSamples,omitempty"`
  1581  
  1582  	// ServerResponse contains the HTTP response code and headers from the server.
  1583  	googleapi.ServerResponse `json:"-"`
  1584  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1585  	// unconditionally include in API requests. By default, fields with empty or
  1586  	// default values are omitted from API requests. See
  1587  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1588  	// details.
  1589  	ForceSendFields []string `json:"-"`
  1590  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1591  	// requests with the JSON null value. By default, fields with empty values are
  1592  	// omitted from API requests. See
  1593  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1594  	NullFields []string `json:"-"`
  1595  }
  1596  
  1597  func (s *ListPerfSamplesResponse) MarshalJSON() ([]byte, error) {
  1598  	type NoMethod ListPerfSamplesResponse
  1599  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1600  }
  1601  
  1602  type ListScreenshotClustersResponse struct {
  1603  	// Clusters: The set of clusters associated with an execution Always set
  1604  	Clusters []*ScreenshotCluster `json:"clusters,omitempty"`
  1605  
  1606  	// ServerResponse contains the HTTP response code and headers from the server.
  1607  	googleapi.ServerResponse `json:"-"`
  1608  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  1609  	// unconditionally include in API requests. By default, fields with empty or
  1610  	// default values are omitted from API requests. See
  1611  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1612  	// details.
  1613  	ForceSendFields []string `json:"-"`
  1614  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  1615  	// requests with the JSON null value. By default, fields with empty values are
  1616  	// omitted from API requests. See
  1617  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1618  	NullFields []string `json:"-"`
  1619  }
  1620  
  1621  func (s *ListScreenshotClustersResponse) MarshalJSON() ([]byte, error) {
  1622  	type NoMethod ListScreenshotClustersResponse
  1623  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1624  }
  1625  
  1626  // ListStepAccessibilityClustersResponse: Response message for
  1627  // AccessibilityService.ListStepAccessibilityClusters.
  1628  type ListStepAccessibilityClustersResponse struct {
  1629  	// Clusters: A sequence of accessibility suggestions, grouped into clusters.
  1630  	// Within the sequence, clusters that belong to the same SuggestionCategory
  1631  	// should be adjacent. Within each category, clusters should be ordered by
  1632  	// their SuggestionPriority (ERRORs first). The categories should be ordered by
  1633  	// their highest priority cluster.
  1634  	Clusters []*SuggestionClusterProto `json:"clusters,omitempty"`
  1635  	// Name: A full resource name of the step. For example,
  1636  	// projects/my-project/histories/bh.1234567890abcdef/executions/
  1637  	// 1234567890123456789/steps/bs.1234567890abcdef Always presents.
  1638  	Name string `json:"name,omitempty"`
  1639  
  1640  	// ServerResponse contains the HTTP response code and headers from the server.
  1641  	googleapi.ServerResponse `json:"-"`
  1642  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  1643  	// unconditionally include in API requests. By default, fields with empty or
  1644  	// default values are omitted from API requests. See
  1645  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1646  	// details.
  1647  	ForceSendFields []string `json:"-"`
  1648  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  1649  	// requests with the JSON null value. By default, fields with empty values are
  1650  	// omitted from API requests. See
  1651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1652  	NullFields []string `json:"-"`
  1653  }
  1654  
  1655  func (s *ListStepAccessibilityClustersResponse) MarshalJSON() ([]byte, error) {
  1656  	type NoMethod ListStepAccessibilityClustersResponse
  1657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1658  }
  1659  
  1660  // ListStepThumbnailsResponse: A response containing the thumbnails in a step.
  1661  type ListStepThumbnailsResponse struct {
  1662  	// NextPageToken: A continuation token to resume the query at the next item. If
  1663  	// set, indicates that there are more thumbnails to read, by calling list again
  1664  	// with this value in the page_token field.
  1665  	NextPageToken string `json:"nextPageToken,omitempty"`
  1666  	// Thumbnails: A list of image data. Images are returned in a deterministic
  1667  	// order; they are ordered by these factors, in order of importance: * First,
  1668  	// by their associated test case. Images without a test case are considered
  1669  	// greater than images with one. * Second, by their creation time. Images
  1670  	// without a creation time are greater than images with one. * Third, by the
  1671  	// order in which they were added to the step (by calls to CreateStep or
  1672  	// UpdateStep).
  1673  	Thumbnails []*Image `json:"thumbnails,omitempty"`
  1674  
  1675  	// ServerResponse contains the HTTP response code and headers from the server.
  1676  	googleapi.ServerResponse `json:"-"`
  1677  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1678  	// unconditionally include in API requests. By default, fields with empty or
  1679  	// default values are omitted from API requests. See
  1680  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1681  	// details.
  1682  	ForceSendFields []string `json:"-"`
  1683  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1684  	// requests with the JSON null value. By default, fields with empty values are
  1685  	// omitted from API requests. See
  1686  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1687  	NullFields []string `json:"-"`
  1688  }
  1689  
  1690  func (s *ListStepThumbnailsResponse) MarshalJSON() ([]byte, error) {
  1691  	type NoMethod ListStepThumbnailsResponse
  1692  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1693  }
  1694  
  1695  // ListStepsResponse: Response message for StepService.List.
  1696  type ListStepsResponse struct {
  1697  	// NextPageToken: A continuation token to resume the query at the next item. If
  1698  	// set, indicates that there are more steps to read, by calling list again with
  1699  	// this value in the page_token field.
  1700  	NextPageToken string `json:"nextPageToken,omitempty"`
  1701  	// Steps: Steps.
  1702  	Steps []*Step `json:"steps,omitempty"`
  1703  
  1704  	// ServerResponse contains the HTTP response code and headers from the server.
  1705  	googleapi.ServerResponse `json:"-"`
  1706  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1707  	// unconditionally include in API requests. By default, fields with empty or
  1708  	// default values are omitted from API requests. See
  1709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1710  	// details.
  1711  	ForceSendFields []string `json:"-"`
  1712  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1713  	// requests with the JSON null value. By default, fields with empty values are
  1714  	// omitted from API requests. See
  1715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1716  	NullFields []string `json:"-"`
  1717  }
  1718  
  1719  func (s *ListStepsResponse) MarshalJSON() ([]byte, error) {
  1720  	type NoMethod ListStepsResponse
  1721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1722  }
  1723  
  1724  // ListTestCasesResponse: Response message for StepService.ListTestCases.
  1725  type ListTestCasesResponse struct {
  1726  	NextPageToken string `json:"nextPageToken,omitempty"`
  1727  	// TestCases: List of test cases.
  1728  	TestCases []*TestCase `json:"testCases,omitempty"`
  1729  
  1730  	// ServerResponse contains the HTTP response code and headers from the server.
  1731  	googleapi.ServerResponse `json:"-"`
  1732  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1733  	// unconditionally include in API requests. By default, fields with empty or
  1734  	// default values are omitted from API requests. See
  1735  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1736  	// details.
  1737  	ForceSendFields []string `json:"-"`
  1738  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1739  	// requests with the JSON null value. By default, fields with empty values are
  1740  	// omitted from API requests. See
  1741  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1742  	NullFields []string `json:"-"`
  1743  }
  1744  
  1745  func (s *ListTestCasesResponse) MarshalJSON() ([]byte, error) {
  1746  	type NoMethod ListTestCasesResponse
  1747  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1748  }
  1749  
  1750  // LogcatCollectionError: A warning that there were issues in logcat
  1751  // collection.
  1752  type LogcatCollectionError struct {
  1753  }
  1754  
  1755  // MatrixDimensionDefinition: One dimension of the matrix of different runs of
  1756  // a step.
  1757  type MatrixDimensionDefinition struct {
  1758  }
  1759  
  1760  type MemoryInfo struct {
  1761  	// MemoryCapInKibibyte: Maximum memory that can be allocated to the process in
  1762  	// KiB
  1763  	MemoryCapInKibibyte int64 `json:"memoryCapInKibibyte,omitempty,string"`
  1764  	// MemoryTotalInKibibyte: Total memory available on the device in KiB
  1765  	MemoryTotalInKibibyte int64 `json:"memoryTotalInKibibyte,omitempty,string"`
  1766  	// ForceSendFields is a list of field names (e.g. "MemoryCapInKibibyte") to
  1767  	// unconditionally include in API requests. By default, fields with empty or
  1768  	// default values are omitted from API requests. See
  1769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1770  	// details.
  1771  	ForceSendFields []string `json:"-"`
  1772  	// NullFields is a list of field names (e.g. "MemoryCapInKibibyte") to include
  1773  	// in API requests with the JSON null value. By default, fields with empty
  1774  	// values are omitted from API requests. See
  1775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1776  	NullFields []string `json:"-"`
  1777  }
  1778  
  1779  func (s *MemoryInfo) MarshalJSON() ([]byte, error) {
  1780  	type NoMethod MemoryInfo
  1781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1782  }
  1783  
  1784  // MergedResult: Merged test result for environment. If the environment has
  1785  // only one step (no reruns or shards), then the merged result is the same as
  1786  // the step result. If the environment has multiple shards and/or reruns, then
  1787  // the results of shards and reruns that belong to the same environment are
  1788  // merged into one environment result.
  1789  type MergedResult struct {
  1790  	// Outcome: Outcome of the resource
  1791  	Outcome *Outcome `json:"outcome,omitempty"`
  1792  	// State: State of the resource
  1793  	//
  1794  	// Possible values:
  1795  	//   "unknownState" - Should never be in this state. Exists for proto
  1796  	// deserialization backward compatibility.
  1797  	//   "pending" - The Execution/Step is created, ready to run, but not running
  1798  	// yet. If an Execution/Step is created without initial state, it is assumed
  1799  	// that the Execution/Step is in PENDING state.
  1800  	//   "inProgress" - The Execution/Step is in progress.
  1801  	//   "complete" - The finalized, immutable state. Steps/Executions in this
  1802  	// state cannot be modified.
  1803  	State string `json:"state,omitempty"`
  1804  	// TestSuiteOverviews: The combined and rolled-up result of each test suite
  1805  	// that was run as part of this environment. Combining: When the test cases
  1806  	// from a suite are run in different steps (sharding), the results are added
  1807  	// back together in one overview. (e.g., if shard1 has 2 failures and shard2
  1808  	// has 1 failure than the overview failure_count = 3). Rollup: When test cases
  1809  	// from the same suite are run multiple times (flaky), the results are combined
  1810  	// (e.g., if testcase1.run1 fails, testcase1.run2 passes, and both
  1811  	// testcase2.run1 and testcase2.run2 fail then the overview flaky_count = 1 and
  1812  	// failure_count = 1).
  1813  	TestSuiteOverviews []*TestSuiteOverview `json:"testSuiteOverviews,omitempty"`
  1814  	// ForceSendFields is a list of field names (e.g. "Outcome") to unconditionally
  1815  	// include in API requests. By default, fields with empty or default values are
  1816  	// omitted from API requests. See
  1817  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1818  	// details.
  1819  	ForceSendFields []string `json:"-"`
  1820  	// NullFields is a list of field names (e.g. "Outcome") to include in API
  1821  	// requests with the JSON null value. By default, fields with empty values are
  1822  	// omitted from API requests. See
  1823  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1824  	NullFields []string `json:"-"`
  1825  }
  1826  
  1827  func (s *MergedResult) MarshalJSON() ([]byte, error) {
  1828  	type NoMethod MergedResult
  1829  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1830  }
  1831  
  1832  // MultiStep: Details when multiple steps are run with the same configuration
  1833  // as a group.
  1834  type MultiStep struct {
  1835  	// MultistepNumber: Unique int given to each step. Ranges from 0(inclusive) to
  1836  	// total number of steps(exclusive). The primary step is 0.
  1837  	MultistepNumber int64 `json:"multistepNumber,omitempty"`
  1838  	// PrimaryStep: Present if it is a primary (original) step.
  1839  	PrimaryStep *PrimaryStep `json:"primaryStep,omitempty"`
  1840  	// PrimaryStepId: Step Id of the primary (original) step, which might be this
  1841  	// step.
  1842  	PrimaryStepId string `json:"primaryStepId,omitempty"`
  1843  	// ForceSendFields is a list of field names (e.g. "MultistepNumber") to
  1844  	// unconditionally include in API requests. By default, fields with empty or
  1845  	// default values are omitted from API requests. See
  1846  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1847  	// details.
  1848  	ForceSendFields []string `json:"-"`
  1849  	// NullFields is a list of field names (e.g. "MultistepNumber") to include in
  1850  	// API requests with the JSON null value. By default, fields with empty values
  1851  	// are omitted from API requests. See
  1852  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1853  	NullFields []string `json:"-"`
  1854  }
  1855  
  1856  func (s *MultiStep) MarshalJSON() ([]byte, error) {
  1857  	type NoMethod MultiStep
  1858  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1859  }
  1860  
  1861  // NativeCrash: Additional details for a native crash.
  1862  type NativeCrash struct {
  1863  	// StackTrace: The stack trace of the native crash. Optional.
  1864  	StackTrace *StackTrace `json:"stackTrace,omitempty"`
  1865  	// ForceSendFields is a list of field names (e.g. "StackTrace") to
  1866  	// unconditionally include in API requests. By default, fields with empty or
  1867  	// default values are omitted from API requests. See
  1868  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1869  	// details.
  1870  	ForceSendFields []string `json:"-"`
  1871  	// NullFields is a list of field names (e.g. "StackTrace") to include in API
  1872  	// requests with the JSON null value. By default, fields with empty values are
  1873  	// omitted from API requests. See
  1874  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1875  	NullFields []string `json:"-"`
  1876  }
  1877  
  1878  func (s *NativeCrash) MarshalJSON() ([]byte, error) {
  1879  	type NoMethod NativeCrash
  1880  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1881  }
  1882  
  1883  // NonSdkApi: A non-sdk API and examples of it being called along with other
  1884  // metadata See
  1885  // https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces
  1886  type NonSdkApi struct {
  1887  	// ApiSignature: The signature of the Non-SDK API
  1888  	ApiSignature string `json:"apiSignature,omitempty"`
  1889  	// ExampleStackTraces: Example stack traces of this API being called.
  1890  	ExampleStackTraces []string `json:"exampleStackTraces,omitempty"`
  1891  	// Insights: Optional debugging insights for non-SDK API violations.
  1892  	Insights []*NonSdkApiInsight `json:"insights,omitempty"`
  1893  	// InvocationCount: The total number of times this API was observed to have
  1894  	// been called.
  1895  	InvocationCount int64 `json:"invocationCount,omitempty"`
  1896  	// List: Which list this API appears on
  1897  	//
  1898  	// Possible values:
  1899  	//   "NONE"
  1900  	//   "WHITE"
  1901  	//   "BLACK"
  1902  	//   "GREY"
  1903  	//   "GREY_MAX_O"
  1904  	//   "GREY_MAX_P"
  1905  	//   "GREY_MAX_Q"
  1906  	//   "GREY_MAX_R"
  1907  	//   "GREY_MAX_S"
  1908  	List string `json:"list,omitempty"`
  1909  	// ForceSendFields is a list of field names (e.g. "ApiSignature") to
  1910  	// unconditionally include in API requests. By default, fields with empty or
  1911  	// default values are omitted from API requests. See
  1912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1913  	// details.
  1914  	ForceSendFields []string `json:"-"`
  1915  	// NullFields is a list of field names (e.g. "ApiSignature") to include in API
  1916  	// requests with the JSON null value. By default, fields with empty values are
  1917  	// omitted from API requests. See
  1918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1919  	NullFields []string `json:"-"`
  1920  }
  1921  
  1922  func (s *NonSdkApi) MarshalJSON() ([]byte, error) {
  1923  	type NoMethod NonSdkApi
  1924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1925  }
  1926  
  1927  // NonSdkApiInsight: Non-SDK API insights (to address debugging solutions).
  1928  type NonSdkApiInsight struct {
  1929  	// ExampleTraceMessages: Optional sample stack traces, for which this insight
  1930  	// applies (there should be at least one).
  1931  	ExampleTraceMessages []string `json:"exampleTraceMessages,omitempty"`
  1932  	// MatcherId: A unique ID, to be used for determining the effectiveness of this
  1933  	// particular insight in the context of a matcher. (required)
  1934  	MatcherId string `json:"matcherId,omitempty"`
  1935  	// PendingGoogleUpdateInsight: An insight indicating that the hidden API usage
  1936  	// originates from a Google-provided library.
  1937  	PendingGoogleUpdateInsight *PendingGoogleUpdateInsight `json:"pendingGoogleUpdateInsight,omitempty"`
  1938  	// UpgradeInsight: An insight indicating that the hidden API usage originates
  1939  	// from the use of a library that needs to be upgraded.
  1940  	UpgradeInsight *UpgradeInsight `json:"upgradeInsight,omitempty"`
  1941  	// ForceSendFields is a list of field names (e.g. "ExampleTraceMessages") to
  1942  	// unconditionally include in API requests. By default, fields with empty or
  1943  	// default values are omitted from API requests. See
  1944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1945  	// details.
  1946  	ForceSendFields []string `json:"-"`
  1947  	// NullFields is a list of field names (e.g. "ExampleTraceMessages") to include
  1948  	// in API requests with the JSON null value. By default, fields with empty
  1949  	// values are omitted from API requests. See
  1950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1951  	NullFields []string `json:"-"`
  1952  }
  1953  
  1954  func (s *NonSdkApiInsight) MarshalJSON() ([]byte, error) {
  1955  	type NoMethod NonSdkApiInsight
  1956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1957  }
  1958  
  1959  // NonSdkApiUsageViolation: Additional details for a non-sdk API usage
  1960  // violation.
  1961  type NonSdkApiUsageViolation struct {
  1962  	// ApiSignatures: Signatures of a subset of those hidden API's.
  1963  	ApiSignatures []string `json:"apiSignatures,omitempty"`
  1964  	// UniqueApis: Total number of unique hidden API's accessed.
  1965  	UniqueApis int64 `json:"uniqueApis,omitempty"`
  1966  	// ForceSendFields is a list of field names (e.g. "ApiSignatures") to
  1967  	// unconditionally include in API requests. By default, fields with empty or
  1968  	// default values are omitted from API requests. See
  1969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1970  	// details.
  1971  	ForceSendFields []string `json:"-"`
  1972  	// NullFields is a list of field names (e.g. "ApiSignatures") to include in API
  1973  	// requests with the JSON null value. By default, fields with empty values are
  1974  	// omitted from API requests. See
  1975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1976  	NullFields []string `json:"-"`
  1977  }
  1978  
  1979  func (s *NonSdkApiUsageViolation) MarshalJSON() ([]byte, error) {
  1980  	type NoMethod NonSdkApiUsageViolation
  1981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1982  }
  1983  
  1984  // NonSdkApiUsageViolationReport: Contains a summary and examples of non-sdk
  1985  // API usage violations.
  1986  type NonSdkApiUsageViolationReport struct {
  1987  	// ExampleApis: Examples of the detected API usages.
  1988  	ExampleApis []*NonSdkApi `json:"exampleApis,omitempty"`
  1989  	// MinSdkVersion: Minimum API level required for the application to run.
  1990  	MinSdkVersion int64 `json:"minSdkVersion,omitempty"`
  1991  	// TargetSdkVersion: Specifies the API Level on which the application is
  1992  	// designed to run.
  1993  	TargetSdkVersion int64 `json:"targetSdkVersion,omitempty"`
  1994  	// UniqueApis: Total number of unique Non-SDK API's accessed.
  1995  	UniqueApis int64 `json:"uniqueApis,omitempty"`
  1996  	// ForceSendFields is a list of field names (e.g. "ExampleApis") to
  1997  	// unconditionally include in API requests. By default, fields with empty or
  1998  	// default values are omitted from API requests. See
  1999  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2000  	// details.
  2001  	ForceSendFields []string `json:"-"`
  2002  	// NullFields is a list of field names (e.g. "ExampleApis") to include in API
  2003  	// requests with the JSON null value. By default, fields with empty values are
  2004  	// omitted from API requests. See
  2005  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2006  	NullFields []string `json:"-"`
  2007  }
  2008  
  2009  func (s *NonSdkApiUsageViolationReport) MarshalJSON() ([]byte, error) {
  2010  	type NoMethod NonSdkApiUsageViolationReport
  2011  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2012  }
  2013  
  2014  // Outcome: Interprets a result so that humans and machines can act on it.
  2015  type Outcome struct {
  2016  	// FailureDetail: More information about a FAILURE outcome. Returns
  2017  	// INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
  2018  	// Optional
  2019  	FailureDetail *FailureDetail `json:"failureDetail,omitempty"`
  2020  	// InconclusiveDetail: More information about an INCONCLUSIVE outcome. Returns
  2021  	// INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
  2022  	// Optional
  2023  	InconclusiveDetail *InconclusiveDetail `json:"inconclusiveDetail,omitempty"`
  2024  	// SkippedDetail: More information about a SKIPPED outcome. Returns
  2025  	// INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
  2026  	// Optional
  2027  	SkippedDetail *SkippedDetail `json:"skippedDetail,omitempty"`
  2028  	// SuccessDetail: More information about a SUCCESS outcome. Returns
  2029  	// INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
  2030  	// Optional
  2031  	SuccessDetail *SuccessDetail `json:"successDetail,omitempty"`
  2032  	// Summary: The simplest way to interpret a result. Required
  2033  	//
  2034  	// Possible values:
  2035  	//   "unset" - Do not use. For proto versioning only.
  2036  	//   "success" - The test matrix run was successful, for instance: - All the
  2037  	// test cases passed. - Robo did not detect a crash of the application under
  2038  	// test.
  2039  	//   "failure" - A run failed, for instance: - One or more test case failed. -
  2040  	// A test timed out. - The application under test crashed.
  2041  	//   "inconclusive" - Something unexpected happened. The run should still be
  2042  	// considered unsuccessful but this is likely a transient problem and
  2043  	// re-running the test might be successful.
  2044  	//   "skipped" - All tests were skipped, for instance: - All device
  2045  	// configurations were incompatible.
  2046  	//   "flaky" - A group of steps that were run with the same configuration had
  2047  	// both failure and success outcomes.
  2048  	Summary string `json:"summary,omitempty"`
  2049  	// ForceSendFields is a list of field names (e.g. "FailureDetail") to
  2050  	// unconditionally include in API requests. By default, fields with empty or
  2051  	// default values are omitted from API requests. See
  2052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2053  	// details.
  2054  	ForceSendFields []string `json:"-"`
  2055  	// NullFields is a list of field names (e.g. "FailureDetail") to include in API
  2056  	// requests with the JSON null value. By default, fields with empty values are
  2057  	// omitted from API requests. See
  2058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2059  	NullFields []string `json:"-"`
  2060  }
  2061  
  2062  func (s *Outcome) MarshalJSON() ([]byte, error) {
  2063  	type NoMethod Outcome
  2064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2065  }
  2066  
  2067  // OverlappingUIElements: A warning that Robo encountered a screen that has
  2068  // overlapping clickable elements; this may indicate a potential UI issue.
  2069  type OverlappingUIElements struct {
  2070  	// ResourceName: Resource names of the overlapping screen elements
  2071  	ResourceName []string `json:"resourceName,omitempty"`
  2072  	// ScreenId: The screen id of the elements
  2073  	ScreenId string `json:"screenId,omitempty"`
  2074  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  2075  	// unconditionally include in API requests. By default, fields with empty or
  2076  	// default values are omitted from API requests. See
  2077  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2078  	// details.
  2079  	ForceSendFields []string `json:"-"`
  2080  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  2081  	// requests with the JSON null value. By default, fields with empty values are
  2082  	// omitted from API requests. See
  2083  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2084  	NullFields []string `json:"-"`
  2085  }
  2086  
  2087  func (s *OverlappingUIElements) MarshalJSON() ([]byte, error) {
  2088  	type NoMethod OverlappingUIElements
  2089  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2090  }
  2091  
  2092  // PendingGoogleUpdateInsight: This insight indicates that the hidden API usage
  2093  // originates from a Google-provided library. Users need not take any action.
  2094  type PendingGoogleUpdateInsight struct {
  2095  	// NameOfGoogleLibrary: The name of the Google-provided library with the
  2096  	// non-SDK API dependency.
  2097  	NameOfGoogleLibrary string `json:"nameOfGoogleLibrary,omitempty"`
  2098  	// ForceSendFields is a list of field names (e.g. "NameOfGoogleLibrary") to
  2099  	// unconditionally include in API requests. By default, fields with empty or
  2100  	// default values are omitted from API requests. See
  2101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2102  	// details.
  2103  	ForceSendFields []string `json:"-"`
  2104  	// NullFields is a list of field names (e.g. "NameOfGoogleLibrary") to include
  2105  	// in API requests with the JSON null value. By default, fields with empty
  2106  	// values are omitted from API requests. See
  2107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2108  	NullFields []string `json:"-"`
  2109  }
  2110  
  2111  func (s *PendingGoogleUpdateInsight) MarshalJSON() ([]byte, error) {
  2112  	type NoMethod PendingGoogleUpdateInsight
  2113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2114  }
  2115  
  2116  // PerfEnvironment: Encapsulates performance environment info
  2117  type PerfEnvironment struct {
  2118  	// CpuInfo: CPU related environment info
  2119  	CpuInfo *CPUInfo `json:"cpuInfo,omitempty"`
  2120  	// MemoryInfo: Memory related environment info
  2121  	MemoryInfo *MemoryInfo `json:"memoryInfo,omitempty"`
  2122  	// ForceSendFields is a list of field names (e.g. "CpuInfo") to unconditionally
  2123  	// include in API requests. By default, fields with empty or default values are
  2124  	// omitted from API requests. See
  2125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2126  	// details.
  2127  	ForceSendFields []string `json:"-"`
  2128  	// NullFields is a list of field names (e.g. "CpuInfo") to include in API
  2129  	// requests with the JSON null value. By default, fields with empty values are
  2130  	// omitted from API requests. See
  2131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2132  	NullFields []string `json:"-"`
  2133  }
  2134  
  2135  func (s *PerfEnvironment) MarshalJSON() ([]byte, error) {
  2136  	type NoMethod PerfEnvironment
  2137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2138  }
  2139  
  2140  // PerfMetricsSummary: A summary of perf metrics collected and performance
  2141  // environment info
  2142  type PerfMetricsSummary struct {
  2143  	AppStartTime *AppStartTime `json:"appStartTime,omitempty"`
  2144  	// ExecutionId: A tool results execution ID. @OutputOnly
  2145  	ExecutionId string `json:"executionId,omitempty"`
  2146  	// GraphicsStats: Graphics statistics for the entire run. Statistics are reset
  2147  	// at the beginning of the run and collected at the end of the run.
  2148  	GraphicsStats *GraphicsStats `json:"graphicsStats,omitempty"`
  2149  	// HistoryId: A tool results history ID. @OutputOnly
  2150  	HistoryId string `json:"historyId,omitempty"`
  2151  	// PerfEnvironment: Describes the environment in which the performance metrics
  2152  	// were collected
  2153  	PerfEnvironment *PerfEnvironment `json:"perfEnvironment,omitempty"`
  2154  	// PerfMetrics: Set of resource collected
  2155  	//
  2156  	// Possible values:
  2157  	//   "perfMetricTypeUnspecified"
  2158  	//   "memory"
  2159  	//   "cpu"
  2160  	//   "network"
  2161  	//   "graphics"
  2162  	PerfMetrics []string `json:"perfMetrics,omitempty"`
  2163  	// ProjectId: The cloud project @OutputOnly
  2164  	ProjectId string `json:"projectId,omitempty"`
  2165  	// StepId: A tool results step ID. @OutputOnly
  2166  	StepId string `json:"stepId,omitempty"`
  2167  
  2168  	// ServerResponse contains the HTTP response code and headers from the server.
  2169  	googleapi.ServerResponse `json:"-"`
  2170  	// ForceSendFields is a list of field names (e.g. "AppStartTime") to
  2171  	// unconditionally include in API requests. By default, fields with empty or
  2172  	// default values are omitted from API requests. See
  2173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2174  	// details.
  2175  	ForceSendFields []string `json:"-"`
  2176  	// NullFields is a list of field names (e.g. "AppStartTime") to include in API
  2177  	// requests with the JSON null value. By default, fields with empty values are
  2178  	// omitted from API requests. See
  2179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2180  	NullFields []string `json:"-"`
  2181  }
  2182  
  2183  func (s *PerfMetricsSummary) MarshalJSON() ([]byte, error) {
  2184  	type NoMethod PerfMetricsSummary
  2185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2186  }
  2187  
  2188  // PerfSample: Resource representing a single performance measure or data point
  2189  type PerfSample struct {
  2190  	// SampleTime: Timestamp of collection.
  2191  	SampleTime *Timestamp `json:"sampleTime,omitempty"`
  2192  	// Value: Value observed
  2193  	Value float64 `json:"value,omitempty"`
  2194  	// ForceSendFields is a list of field names (e.g. "SampleTime") to
  2195  	// unconditionally include in API requests. By default, fields with empty or
  2196  	// default values are omitted from API requests. See
  2197  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2198  	// details.
  2199  	ForceSendFields []string `json:"-"`
  2200  	// NullFields is a list of field names (e.g. "SampleTime") to include in API
  2201  	// requests with the JSON null value. By default, fields with empty values are
  2202  	// omitted from API requests. See
  2203  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2204  	NullFields []string `json:"-"`
  2205  }
  2206  
  2207  func (s *PerfSample) MarshalJSON() ([]byte, error) {
  2208  	type NoMethod PerfSample
  2209  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2210  }
  2211  
  2212  func (s *PerfSample) UnmarshalJSON(data []byte) error {
  2213  	type NoMethod PerfSample
  2214  	var s1 struct {
  2215  		Value gensupport.JSONFloat64 `json:"value"`
  2216  		*NoMethod
  2217  	}
  2218  	s1.NoMethod = (*NoMethod)(s)
  2219  	if err := json.Unmarshal(data, &s1); err != nil {
  2220  		return err
  2221  	}
  2222  	s.Value = float64(s1.Value)
  2223  	return nil
  2224  }
  2225  
  2226  // PerfSampleSeries: Resource representing a collection of performance samples
  2227  // (or data points)
  2228  type PerfSampleSeries struct {
  2229  	// BasicPerfSampleSeries: Basic series represented by a line chart
  2230  	BasicPerfSampleSeries *BasicPerfSampleSeries `json:"basicPerfSampleSeries,omitempty"`
  2231  	// ExecutionId: A tool results execution ID. @OutputOnly
  2232  	ExecutionId string `json:"executionId,omitempty"`
  2233  	// HistoryId: A tool results history ID. @OutputOnly
  2234  	HistoryId string `json:"historyId,omitempty"`
  2235  	// ProjectId: The cloud project @OutputOnly
  2236  	ProjectId string `json:"projectId,omitempty"`
  2237  	// SampleSeriesId: A sample series id @OutputOnly
  2238  	SampleSeriesId string `json:"sampleSeriesId,omitempty"`
  2239  	// StepId: A tool results step ID. @OutputOnly
  2240  	StepId string `json:"stepId,omitempty"`
  2241  
  2242  	// ServerResponse contains the HTTP response code and headers from the server.
  2243  	googleapi.ServerResponse `json:"-"`
  2244  	// ForceSendFields is a list of field names (e.g. "BasicPerfSampleSeries") to
  2245  	// unconditionally include in API requests. By default, fields with empty or
  2246  	// default values are omitted from API requests. See
  2247  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2248  	// details.
  2249  	ForceSendFields []string `json:"-"`
  2250  	// NullFields is a list of field names (e.g. "BasicPerfSampleSeries") to
  2251  	// include in API requests with the JSON null value. By default, fields with
  2252  	// empty values are omitted from API requests. See
  2253  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2254  	NullFields []string `json:"-"`
  2255  }
  2256  
  2257  func (s *PerfSampleSeries) MarshalJSON() ([]byte, error) {
  2258  	type NoMethod PerfSampleSeries
  2259  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2260  }
  2261  
  2262  // PerformedGoogleLogin: A notification that Robo signed in with Google.
  2263  type PerformedGoogleLogin struct {
  2264  }
  2265  
  2266  // PerformedMonkeyActions: A notification that Robo performed some monkey
  2267  // actions.
  2268  type PerformedMonkeyActions struct {
  2269  	// TotalActions: The total number of monkey actions performed during the crawl.
  2270  	TotalActions int64 `json:"totalActions,omitempty"`
  2271  	// ForceSendFields is a list of field names (e.g. "TotalActions") to
  2272  	// unconditionally include in API requests. By default, fields with empty or
  2273  	// default values are omitted from API requests. See
  2274  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2275  	// details.
  2276  	ForceSendFields []string `json:"-"`
  2277  	// NullFields is a list of field names (e.g. "TotalActions") to include in API
  2278  	// requests with the JSON null value. By default, fields with empty values are
  2279  	// omitted from API requests. See
  2280  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2281  	NullFields []string `json:"-"`
  2282  }
  2283  
  2284  func (s *PerformedMonkeyActions) MarshalJSON() ([]byte, error) {
  2285  	type NoMethod PerformedMonkeyActions
  2286  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2287  }
  2288  
  2289  // PrimaryStep: Stores rollup test status of multiple steps that were run as a
  2290  // group and outcome of each individual step.
  2291  type PrimaryStep struct {
  2292  	// IndividualOutcome: Step Id and outcome of each individual step.
  2293  	IndividualOutcome []*IndividualOutcome `json:"individualOutcome,omitempty"`
  2294  	// RollUp: Rollup test status of multiple steps that were run with the same
  2295  	// configuration as a group.
  2296  	//
  2297  	// Possible values:
  2298  	//   "unset" - Do not use. For proto versioning only.
  2299  	//   "success" - The test matrix run was successful, for instance: - All the
  2300  	// test cases passed. - Robo did not detect a crash of the application under
  2301  	// test.
  2302  	//   "failure" - A run failed, for instance: - One or more test case failed. -
  2303  	// A test timed out. - The application under test crashed.
  2304  	//   "inconclusive" - Something unexpected happened. The run should still be
  2305  	// considered unsuccessful but this is likely a transient problem and
  2306  	// re-running the test might be successful.
  2307  	//   "skipped" - All tests were skipped, for instance: - All device
  2308  	// configurations were incompatible.
  2309  	//   "flaky" - A group of steps that were run with the same configuration had
  2310  	// both failure and success outcomes.
  2311  	RollUp string `json:"rollUp,omitempty"`
  2312  	// ForceSendFields is a list of field names (e.g. "IndividualOutcome") to
  2313  	// unconditionally include in API requests. By default, fields with empty or
  2314  	// default values are omitted from API requests. See
  2315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2316  	// details.
  2317  	ForceSendFields []string `json:"-"`
  2318  	// NullFields is a list of field names (e.g. "IndividualOutcome") to include in
  2319  	// API requests with the JSON null value. By default, fields with empty values
  2320  	// are omitted from API requests. See
  2321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2322  	NullFields []string `json:"-"`
  2323  }
  2324  
  2325  func (s *PrimaryStep) MarshalJSON() ([]byte, error) {
  2326  	type NoMethod PrimaryStep
  2327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2328  }
  2329  
  2330  // ProjectSettings: Per-project settings for the Tool Results service.
  2331  type ProjectSettings struct {
  2332  	// DefaultBucket: The name of the Google Cloud Storage bucket to which results
  2333  	// are written. By default, this is unset. In update request: optional In
  2334  	// response: optional
  2335  	DefaultBucket string `json:"defaultBucket,omitempty"`
  2336  	// Name: The name of the project's settings. Always of the form:
  2337  	// projects/{project-id}/settings In update request: never set In response:
  2338  	// always set
  2339  	Name string `json:"name,omitempty"`
  2340  
  2341  	// ServerResponse contains the HTTP response code and headers from the server.
  2342  	googleapi.ServerResponse `json:"-"`
  2343  	// ForceSendFields is a list of field names (e.g. "DefaultBucket") to
  2344  	// unconditionally include in API requests. By default, fields with empty or
  2345  	// default values are omitted from API requests. See
  2346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2347  	// details.
  2348  	ForceSendFields []string `json:"-"`
  2349  	// NullFields is a list of field names (e.g. "DefaultBucket") to include in API
  2350  	// requests with the JSON null value. By default, fields with empty values are
  2351  	// omitted from API requests. See
  2352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2353  	NullFields []string `json:"-"`
  2354  }
  2355  
  2356  func (s *ProjectSettings) MarshalJSON() ([]byte, error) {
  2357  	type NoMethod ProjectSettings
  2358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2359  }
  2360  
  2361  // PublishXunitXmlFilesRequest: Request message for
  2362  // StepService.PublishXunitXmlFiles.
  2363  type PublishXunitXmlFilesRequest struct {
  2364  	// XunitXmlFiles: URI of the Xunit XML files to publish. The maximum size of
  2365  	// the file this reference is pointing to is 50MB. Required.
  2366  	XunitXmlFiles []*FileReference `json:"xunitXmlFiles,omitempty"`
  2367  	// ForceSendFields is a list of field names (e.g. "XunitXmlFiles") to
  2368  	// unconditionally include in API requests. By default, fields with empty or
  2369  	// default values are omitted from API requests. See
  2370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2371  	// details.
  2372  	ForceSendFields []string `json:"-"`
  2373  	// NullFields is a list of field names (e.g. "XunitXmlFiles") to include in API
  2374  	// requests with the JSON null value. By default, fields with empty values are
  2375  	// omitted from API requests. See
  2376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2377  	NullFields []string `json:"-"`
  2378  }
  2379  
  2380  func (s *PublishXunitXmlFilesRequest) MarshalJSON() ([]byte, error) {
  2381  	type NoMethod PublishXunitXmlFilesRequest
  2382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2383  }
  2384  
  2385  // RegionProto: A rectangular region.
  2386  type RegionProto struct {
  2387  	// HeightPx: The height, in pixels. Always set.
  2388  	HeightPx int64 `json:"heightPx,omitempty"`
  2389  	// LeftPx: The left side of the rectangle, in pixels. Always set.
  2390  	LeftPx int64 `json:"leftPx,omitempty"`
  2391  	// TopPx: The top of the rectangle, in pixels. Always set.
  2392  	TopPx int64 `json:"topPx,omitempty"`
  2393  	// WidthPx: The width, in pixels. Always set.
  2394  	WidthPx int64 `json:"widthPx,omitempty"`
  2395  	// ForceSendFields is a list of field names (e.g. "HeightPx") to
  2396  	// unconditionally include in API requests. By default, fields with empty or
  2397  	// default values are omitted from API requests. See
  2398  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2399  	// details.
  2400  	ForceSendFields []string `json:"-"`
  2401  	// NullFields is a list of field names (e.g. "HeightPx") to include in API
  2402  	// requests with the JSON null value. By default, fields with empty values are
  2403  	// omitted from API requests. See
  2404  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2405  	NullFields []string `json:"-"`
  2406  }
  2407  
  2408  func (s *RegionProto) MarshalJSON() ([]byte, error) {
  2409  	type NoMethod RegionProto
  2410  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2411  }
  2412  
  2413  // ResultsStorage: The storage for test results.
  2414  type ResultsStorage struct {
  2415  	// ResultsStoragePath: The root directory for test results.
  2416  	ResultsStoragePath *FileReference `json:"resultsStoragePath,omitempty"`
  2417  	// XunitXmlFile: The path to the Xunit XML file.
  2418  	XunitXmlFile *FileReference `json:"xunitXmlFile,omitempty"`
  2419  	// ForceSendFields is a list of field names (e.g. "ResultsStoragePath") to
  2420  	// unconditionally include in API requests. By default, fields with empty or
  2421  	// default values are omitted from API requests. See
  2422  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2423  	// details.
  2424  	ForceSendFields []string `json:"-"`
  2425  	// NullFields is a list of field names (e.g. "ResultsStoragePath") to include
  2426  	// in API requests with the JSON null value. By default, fields with empty
  2427  	// values are omitted from API requests. See
  2428  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2429  	NullFields []string `json:"-"`
  2430  }
  2431  
  2432  func (s *ResultsStorage) MarshalJSON() ([]byte, error) {
  2433  	type NoMethod ResultsStorage
  2434  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2435  }
  2436  
  2437  // RoboScriptExecution: Execution stats for a user-provided Robo script.
  2438  type RoboScriptExecution struct {
  2439  	// SuccessfulActions: The number of Robo script actions executed successfully.
  2440  	SuccessfulActions int64 `json:"successfulActions,omitempty"`
  2441  	// TotalActions: The total number of actions in the Robo script.
  2442  	TotalActions int64 `json:"totalActions,omitempty"`
  2443  	// ForceSendFields is a list of field names (e.g. "SuccessfulActions") to
  2444  	// unconditionally include in API requests. By default, fields with empty or
  2445  	// default values are omitted from API requests. See
  2446  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2447  	// details.
  2448  	ForceSendFields []string `json:"-"`
  2449  	// NullFields is a list of field names (e.g. "SuccessfulActions") to include in
  2450  	// API requests with the JSON null value. By default, fields with empty values
  2451  	// are omitted from API requests. See
  2452  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2453  	NullFields []string `json:"-"`
  2454  }
  2455  
  2456  func (s *RoboScriptExecution) MarshalJSON() ([]byte, error) {
  2457  	type NoMethod RoboScriptExecution
  2458  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2459  }
  2460  
  2461  // SafeHtmlProto: IMPORTANT: It is unsafe to accept this message from an
  2462  // untrusted source, since it's trivial for an attacker to forge serialized
  2463  // messages that don't fulfill the type's safety contract -- for example, it
  2464  // could contain attacker controlled script. A system which receives a
  2465  // SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's
  2466  // generally safe to return this message in RPC responses, but generally unsafe
  2467  // to accept it in RPC requests.
  2468  type SafeHtmlProto struct {
  2469  	// PrivateDoNotAccessOrElseSafeHtmlWrappedValue: IMPORTANT: Never set or read
  2470  	// this field, even from tests, it is private. See documentation at the top of
  2471  	// .proto file for programming language packages with which to create or read
  2472  	// this message.
  2473  	PrivateDoNotAccessOrElseSafeHtmlWrappedValue string `json:"privateDoNotAccessOrElseSafeHtmlWrappedValue,omitempty"`
  2474  	// ForceSendFields is a list of field names (e.g.
  2475  	// "PrivateDoNotAccessOrElseSafeHtmlWrappedValue") to unconditionally include
  2476  	// in API requests. By default, fields with empty or default values are omitted
  2477  	// from API requests. See
  2478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2479  	// details.
  2480  	ForceSendFields []string `json:"-"`
  2481  	// NullFields is a list of field names (e.g.
  2482  	// "PrivateDoNotAccessOrElseSafeHtmlWrappedValue") to include in API requests
  2483  	// with the JSON null value. By default, fields with empty values are omitted
  2484  	// from API requests. See
  2485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2486  	NullFields []string `json:"-"`
  2487  }
  2488  
  2489  func (s *SafeHtmlProto) MarshalJSON() ([]byte, error) {
  2490  	type NoMethod SafeHtmlProto
  2491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2492  }
  2493  
  2494  type Screen struct {
  2495  	// FileReference: File reference of the png file. Required.
  2496  	FileReference string `json:"fileReference,omitempty"`
  2497  	// Locale: Locale of the device that the screenshot was taken on. Required.
  2498  	Locale string `json:"locale,omitempty"`
  2499  	// Model: Model of the device that the screenshot was taken on. Required.
  2500  	Model string `json:"model,omitempty"`
  2501  	// Version: OS version of the device that the screenshot was taken on.
  2502  	// Required.
  2503  	Version string `json:"version,omitempty"`
  2504  	// ForceSendFields is a list of field names (e.g. "FileReference") to
  2505  	// unconditionally include in API requests. By default, fields with empty or
  2506  	// default values are omitted from API requests. See
  2507  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2508  	// details.
  2509  	ForceSendFields []string `json:"-"`
  2510  	// NullFields is a list of field names (e.g. "FileReference") to include in API
  2511  	// requests with the JSON null value. By default, fields with empty values are
  2512  	// omitted from API requests. See
  2513  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2514  	NullFields []string `json:"-"`
  2515  }
  2516  
  2517  func (s *Screen) MarshalJSON() ([]byte, error) {
  2518  	type NoMethod Screen
  2519  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2520  }
  2521  
  2522  type ScreenshotCluster struct {
  2523  	// Activity: A string that describes the activity of every screen in the
  2524  	// cluster.
  2525  	Activity string `json:"activity,omitempty"`
  2526  	// ClusterId: A unique identifier for the cluster. @OutputOnly
  2527  	ClusterId string `json:"clusterId,omitempty"`
  2528  	// KeyScreen: A singular screen that represents the cluster as a whole. This
  2529  	// screen will act as the "cover" of the entire cluster. When users look at the
  2530  	// clusters, only the key screen from each cluster will be shown. Which screen
  2531  	// is the key screen is determined by the ClusteringAlgorithm
  2532  	KeyScreen *Screen `json:"keyScreen,omitempty"`
  2533  	// Screens: Full list of screens.
  2534  	Screens []*Screen `json:"screens,omitempty"`
  2535  
  2536  	// ServerResponse contains the HTTP response code and headers from the server.
  2537  	googleapi.ServerResponse `json:"-"`
  2538  	// ForceSendFields is a list of field names (e.g. "Activity") to
  2539  	// unconditionally include in API requests. By default, fields with empty or
  2540  	// default values are omitted from API requests. See
  2541  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2542  	// details.
  2543  	ForceSendFields []string `json:"-"`
  2544  	// NullFields is a list of field names (e.g. "Activity") to include in API
  2545  	// requests with the JSON null value. By default, fields with empty values are
  2546  	// omitted from API requests. See
  2547  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2548  	NullFields []string `json:"-"`
  2549  }
  2550  
  2551  func (s *ScreenshotCluster) MarshalJSON() ([]byte, error) {
  2552  	type NoMethod ScreenshotCluster
  2553  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2554  }
  2555  
  2556  // ShardSummary: Result summary for a shard in an environment.
  2557  type ShardSummary struct {
  2558  	// Runs: Summaries of the steps belonging to the shard. With
  2559  	// flaky_test_attempts enabled from TestExecutionService, more than one run
  2560  	// (Step) can present. And the runs will be sorted by multistep_number.
  2561  	Runs []*StepSummary `json:"runs,omitempty"`
  2562  	// ShardResult: Merged result of the shard.
  2563  	ShardResult *MergedResult `json:"shardResult,omitempty"`
  2564  	// ForceSendFields is a list of field names (e.g. "Runs") to unconditionally
  2565  	// include in API requests. By default, fields with empty or default values are
  2566  	// omitted from API requests. See
  2567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2568  	// details.
  2569  	ForceSendFields []string `json:"-"`
  2570  	// NullFields is a list of field names (e.g. "Runs") to include in API requests
  2571  	// with the JSON null value. By default, fields with empty values are omitted
  2572  	// from API requests. See
  2573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2574  	NullFields []string `json:"-"`
  2575  }
  2576  
  2577  func (s *ShardSummary) MarshalJSON() ([]byte, error) {
  2578  	type NoMethod ShardSummary
  2579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2580  }
  2581  
  2582  // SkippedDetail: Details for an outcome with a SKIPPED outcome summary.
  2583  type SkippedDetail struct {
  2584  	// IncompatibleAppVersion: If the App doesn't support the specific API level.
  2585  	IncompatibleAppVersion bool `json:"incompatibleAppVersion,omitempty"`
  2586  	// IncompatibleArchitecture: If the App doesn't run on the specific
  2587  	// architecture, for example, x86.
  2588  	IncompatibleArchitecture bool `json:"incompatibleArchitecture,omitempty"`
  2589  	// IncompatibleDevice: If the requested OS version doesn't run on the specific
  2590  	// device model.
  2591  	IncompatibleDevice bool `json:"incompatibleDevice,omitempty"`
  2592  	// ForceSendFields is a list of field names (e.g. "IncompatibleAppVersion") to
  2593  	// unconditionally include in API requests. By default, fields with empty or
  2594  	// default values are omitted from API requests. See
  2595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2596  	// details.
  2597  	ForceSendFields []string `json:"-"`
  2598  	// NullFields is a list of field names (e.g. "IncompatibleAppVersion") to
  2599  	// include in API requests with the JSON null value. By default, fields with
  2600  	// empty values are omitted from API requests. See
  2601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2602  	NullFields []string `json:"-"`
  2603  }
  2604  
  2605  func (s *SkippedDetail) MarshalJSON() ([]byte, error) {
  2606  	type NoMethod SkippedDetail
  2607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2608  }
  2609  
  2610  // Specification: The details about how to run the execution.
  2611  type Specification struct {
  2612  	// AndroidTest: An Android mobile test execution specification.
  2613  	AndroidTest *AndroidTest `json:"androidTest,omitempty"`
  2614  	// IosTest: An iOS mobile test execution specification.
  2615  	IosTest *IosTest `json:"iosTest,omitempty"`
  2616  	// ForceSendFields is a list of field names (e.g. "AndroidTest") to
  2617  	// unconditionally include in API requests. By default, fields with empty or
  2618  	// default values are omitted from API requests. See
  2619  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2620  	// details.
  2621  	ForceSendFields []string `json:"-"`
  2622  	// NullFields is a list of field names (e.g. "AndroidTest") to include in API
  2623  	// requests with the JSON null value. By default, fields with empty values are
  2624  	// omitted from API requests. See
  2625  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2626  	NullFields []string `json:"-"`
  2627  }
  2628  
  2629  func (s *Specification) MarshalJSON() ([]byte, error) {
  2630  	type NoMethod Specification
  2631  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2632  }
  2633  
  2634  // StackTrace: A stacktrace.
  2635  type StackTrace struct {
  2636  	// Exception: The stack trace message. Required
  2637  	Exception string `json:"exception,omitempty"`
  2638  	// ForceSendFields is a list of field names (e.g. "Exception") to
  2639  	// unconditionally include in API requests. By default, fields with empty or
  2640  	// default values are omitted from API requests. See
  2641  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2642  	// details.
  2643  	ForceSendFields []string `json:"-"`
  2644  	// NullFields is a list of field names (e.g. "Exception") to include in API
  2645  	// requests with the JSON null value. By default, fields with empty values are
  2646  	// omitted from API requests. See
  2647  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2648  	NullFields []string `json:"-"`
  2649  }
  2650  
  2651  func (s *StackTrace) MarshalJSON() ([]byte, error) {
  2652  	type NoMethod StackTrace
  2653  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2654  }
  2655  
  2656  // StartActivityNotFound: User provided intent failed to resolve to an
  2657  // activity.
  2658  type StartActivityNotFound struct {
  2659  	Action string `json:"action,omitempty"`
  2660  	Uri    string `json:"uri,omitempty"`
  2661  	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
  2662  	// include in API requests. By default, fields with empty or default values are
  2663  	// omitted from API requests. See
  2664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2665  	// details.
  2666  	ForceSendFields []string `json:"-"`
  2667  	// NullFields is a list of field names (e.g. "Action") to include in API
  2668  	// requests with the JSON null value. By default, fields with empty values are
  2669  	// omitted from API requests. See
  2670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2671  	NullFields []string `json:"-"`
  2672  }
  2673  
  2674  func (s *StartActivityNotFound) MarshalJSON() ([]byte, error) {
  2675  	type NoMethod StartActivityNotFound
  2676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2677  }
  2678  
  2679  // Status: The `Status` type defines a logical error model that is suitable for
  2680  // different programming environments, including REST APIs and RPC APIs. It is
  2681  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2682  // pieces of data: error code, error message, and error details. You can find
  2683  // out more about this error model and how to work with it in the API Design
  2684  // Guide (https://cloud.google.com/apis/design/errors).
  2685  type Status struct {
  2686  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2687  	Code int64 `json:"code,omitempty"`
  2688  	// Details: A list of messages that carry the error details. There is a common
  2689  	// set of message types for APIs to use.
  2690  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2691  	// Message: A developer-facing error message, which should be in English. Any
  2692  	// user-facing error message should be localized and sent in the
  2693  	// google.rpc.Status.details field, or localized by the client.
  2694  	Message string `json:"message,omitempty"`
  2695  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2696  	// include in API requests. By default, fields with empty or default values are
  2697  	// omitted from API requests. See
  2698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2699  	// details.
  2700  	ForceSendFields []string `json:"-"`
  2701  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2702  	// with the JSON null value. By default, fields with empty values are omitted
  2703  	// from API requests. See
  2704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2705  	NullFields []string `json:"-"`
  2706  }
  2707  
  2708  func (s *Status) MarshalJSON() ([]byte, error) {
  2709  	type NoMethod Status
  2710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2711  }
  2712  
  2713  // Step: A Step represents a single operation performed as part of Execution. A
  2714  // step can be used to represent the execution of a tool ( for example a test
  2715  // runner execution or an execution of a compiler). Steps can overlap (for
  2716  // instance two steps might have the same start time if some operations are
  2717  // done in parallel). Here is an example, let's consider that we have a
  2718  // continuous build is executing a test runner for each iteration. The workflow
  2719  // would look like: - user creates a Execution with id 1 - user creates a
  2720  // TestExecutionStep with id 100 for Execution 1 - user update
  2721  // TestExecutionStep with id 100 to add a raw xml log + the service parses the
  2722  // xml logs and returns a TestExecutionStep with updated TestResult(s). - user
  2723  // update the status of TestExecutionStep with id 100 to COMPLETE A Step can be
  2724  // updated until its state is set to COMPLETE at which points it becomes
  2725  // immutable.
  2726  type Step struct {
  2727  	// CompletionTime: The time when the step status was set to complete. This
  2728  	// value will be set automatically when state transitions to COMPLETE. - In
  2729  	// response: set if the execution state is COMPLETE. - In create/update
  2730  	// request: never set
  2731  	CompletionTime *Timestamp `json:"completionTime,omitempty"`
  2732  	// CreationTime: The time when the step was created. - In response: always set
  2733  	// - In create/update request: never set
  2734  	CreationTime *Timestamp `json:"creationTime,omitempty"`
  2735  	// Description: A description of this tool For example: mvn clean package -D
  2736  	// skipTests=true - In response: present if set by create/update request - In
  2737  	// create/update request: optional
  2738  	Description string `json:"description,omitempty"`
  2739  	// DeviceUsageDuration: How much the device resource is used to perform the
  2740  	// test. This is the device usage used for billing purpose, which is different
  2741  	// from the run_duration, for example, infrastructure failure won't be charged
  2742  	// for device usage. PRECONDITION_FAILED will be returned if one attempts to
  2743  	// set a device_usage on a step which already has this field set. - In
  2744  	// response: present if previously set. - In create request: optional - In
  2745  	// update request: optional
  2746  	DeviceUsageDuration *Duration `json:"deviceUsageDuration,omitempty"`
  2747  	// DimensionValue: If the execution containing this step has any
  2748  	// dimension_definition set, then this field allows the child to specify the
  2749  	// values of the dimensions. The keys must exactly match the
  2750  	// dimension_definition of the execution. For example, if the execution has
  2751  	// `dimension_definition = ['attempt', 'device']` then a step must define
  2752  	// values for those dimensions, eg. `dimension_value = ['attempt': '1',
  2753  	// 'device': 'Nexus 6']` If a step does not participate in one dimension of the
  2754  	// matrix, the value for that dimension should be empty string. For example, if
  2755  	// one of the tests is executed by a runner which does not support retries, the
  2756  	// step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']` If
  2757  	// the step does not participate in any dimensions of the matrix, it may leave
  2758  	// dimension_value unset. A PRECONDITION_FAILED will be returned if any of the
  2759  	// keys do not exist in the dimension_definition of the execution. A
  2760  	// PRECONDITION_FAILED will be returned if another step in this execution
  2761  	// already has the same name and dimension_value, but differs on other data
  2762  	// fields, for example, step field is different. A PRECONDITION_FAILED will be
  2763  	// returned if dimension_value is set, and there is a dimension_definition in
  2764  	// the execution which is not specified as one of the keys. - In response:
  2765  	// present if set by create - In create request: optional - In update request:
  2766  	// never set
  2767  	DimensionValue []*StepDimensionValueEntry `json:"dimensionValue,omitempty"`
  2768  	// HasImages: Whether any of the outputs of this step are images whose
  2769  	// thumbnails can be fetched with ListThumbnails. - In response: always set -
  2770  	// In create/update request: never set
  2771  	HasImages bool `json:"hasImages,omitempty"`
  2772  	// Labels: Arbitrary user-supplied key/value pairs that are associated with the
  2773  	// step. Users are responsible for managing the key namespace such that keys
  2774  	// don't accidentally collide. An INVALID_ARGUMENT will be returned if the
  2775  	// number of labels exceeds 100 or if the length of any of the keys or values
  2776  	// exceeds 100 characters. - In response: always set - In create request:
  2777  	// optional - In update request: optional; any new key/value pair will be added
  2778  	// to the map, and any new value for an existing key will update that key's
  2779  	// value
  2780  	Labels []*StepLabelsEntry `json:"labels,omitempty"`
  2781  	// MultiStep: Details when multiple steps are run with the same configuration
  2782  	// as a group. These details can be used identify which group this step is part
  2783  	// of. It also identifies the groups 'primary step' which indexes all the group
  2784  	// members. - In response: present if previously set. - In create request:
  2785  	// optional, set iff this step was performed more than once. - In update
  2786  	// request: optional
  2787  	MultiStep *MultiStep `json:"multiStep,omitempty"`
  2788  	// Name: A short human-readable name to display in the UI. Maximum of 100
  2789  	// characters. For example: Clean build A PRECONDITION_FAILED will be returned
  2790  	// upon creating a new step if it shares its name and dimension_value with an
  2791  	// existing step. If two steps represent a similar action, but have different
  2792  	// dimension values, they should share the same name. For instance, if the same
  2793  	// set of tests is run on two different platforms, the two steps should have
  2794  	// the same name. - In response: always set - In create request: always set -
  2795  	// In update request: never set
  2796  	Name string `json:"name,omitempty"`
  2797  	// Outcome: Classification of the result, for example into SUCCESS or FAILURE -
  2798  	// In response: present if set by create/update request - In create/update
  2799  	// request: optional
  2800  	Outcome *Outcome `json:"outcome,omitempty"`
  2801  	// RunDuration: How long it took for this step to run. If unset, this is set to
  2802  	// the difference between creation_time and completion_time when the step is
  2803  	// set to the COMPLETE state. In some cases, it is appropriate to set this
  2804  	// value separately: For instance, if a step is created, but the operation it
  2805  	// represents is queued for a few minutes before it executes, it would be
  2806  	// appropriate not to include the time spent queued in its run_duration.
  2807  	// PRECONDITION_FAILED will be returned if one attempts to set a run_duration
  2808  	// on a step which already has this field set. - In response: present if
  2809  	// previously set; always present on COMPLETE step - In create request:
  2810  	// optional - In update request: optional
  2811  	RunDuration *Duration `json:"runDuration,omitempty"`
  2812  	// State: The initial state is IN_PROGRESS. The only legal state transitions
  2813  	// are * IN_PROGRESS -> COMPLETE A PRECONDITION_FAILED will be returned if an
  2814  	// invalid transition is requested. It is valid to create Step with a state set
  2815  	// to COMPLETE. The state can only be set to COMPLETE once. A
  2816  	// PRECONDITION_FAILED will be returned if the state is set to COMPLETE
  2817  	// multiple times. - In response: always set - In create/update request:
  2818  	// optional
  2819  	//
  2820  	// Possible values:
  2821  	//   "unknownState" - Should never be in this state. Exists for proto
  2822  	// deserialization backward compatibility.
  2823  	//   "pending" - The Execution/Step is created, ready to run, but not running
  2824  	// yet. If an Execution/Step is created without initial state, it is assumed
  2825  	// that the Execution/Step is in PENDING state.
  2826  	//   "inProgress" - The Execution/Step is in progress.
  2827  	//   "complete" - The finalized, immutable state. Steps/Executions in this
  2828  	// state cannot be modified.
  2829  	State string `json:"state,omitempty"`
  2830  	// StepId: A unique identifier within a Execution for this Step. Returns
  2831  	// INVALID_ARGUMENT if this field is set or overwritten by the caller. - In
  2832  	// response: always set - In create/update request: never set
  2833  	StepId string `json:"stepId,omitempty"`
  2834  	// TestExecutionStep: An execution of a test runner.
  2835  	TestExecutionStep *TestExecutionStep `json:"testExecutionStep,omitempty"`
  2836  	// ToolExecutionStep: An execution of a tool (used for steps we don't
  2837  	// explicitly support).
  2838  	ToolExecutionStep *ToolExecutionStep `json:"toolExecutionStep,omitempty"`
  2839  
  2840  	// ServerResponse contains the HTTP response code and headers from the server.
  2841  	googleapi.ServerResponse `json:"-"`
  2842  	// ForceSendFields is a list of field names (e.g. "CompletionTime") to
  2843  	// unconditionally include in API requests. By default, fields with empty or
  2844  	// default values are omitted from API requests. See
  2845  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2846  	// details.
  2847  	ForceSendFields []string `json:"-"`
  2848  	// NullFields is a list of field names (e.g. "CompletionTime") to include in
  2849  	// API requests with the JSON null value. By default, fields with empty values
  2850  	// are omitted from API requests. See
  2851  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2852  	NullFields []string `json:"-"`
  2853  }
  2854  
  2855  func (s *Step) MarshalJSON() ([]byte, error) {
  2856  	type NoMethod Step
  2857  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2858  }
  2859  
  2860  type StepDimensionValueEntry struct {
  2861  	Key   string `json:"key,omitempty"`
  2862  	Value string `json:"value,omitempty"`
  2863  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2864  	// include in API requests. By default, fields with empty or default values are
  2865  	// omitted from API requests. See
  2866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2867  	// details.
  2868  	ForceSendFields []string `json:"-"`
  2869  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2870  	// with the JSON null value. By default, fields with empty values are omitted
  2871  	// from API requests. See
  2872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2873  	NullFields []string `json:"-"`
  2874  }
  2875  
  2876  func (s *StepDimensionValueEntry) MarshalJSON() ([]byte, error) {
  2877  	type NoMethod StepDimensionValueEntry
  2878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2879  }
  2880  
  2881  type StepLabelsEntry struct {
  2882  	Key   string `json:"key,omitempty"`
  2883  	Value string `json:"value,omitempty"`
  2884  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2885  	// include in API requests. By default, fields with empty or default values are
  2886  	// omitted from API requests. See
  2887  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2888  	// details.
  2889  	ForceSendFields []string `json:"-"`
  2890  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2891  	// with the JSON null value. By default, fields with empty values are omitted
  2892  	// from API requests. See
  2893  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2894  	NullFields []string `json:"-"`
  2895  }
  2896  
  2897  func (s *StepLabelsEntry) MarshalJSON() ([]byte, error) {
  2898  	type NoMethod StepLabelsEntry
  2899  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2900  }
  2901  
  2902  // StepSummary: Lightweight summary of a step within this execution.
  2903  type StepSummary struct {
  2904  }
  2905  
  2906  // SuccessDetail: Details for an outcome with a SUCCESS outcome summary.
  2907  // LINT.IfChange
  2908  type SuccessDetail struct {
  2909  	// OtherNativeCrash: If a native process other than the app crashed.
  2910  	OtherNativeCrash bool `json:"otherNativeCrash,omitempty"`
  2911  	// ForceSendFields is a list of field names (e.g. "OtherNativeCrash") to
  2912  	// unconditionally include in API requests. By default, fields with empty or
  2913  	// default values are omitted from API requests. See
  2914  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2915  	// details.
  2916  	ForceSendFields []string `json:"-"`
  2917  	// NullFields is a list of field names (e.g. "OtherNativeCrash") to include in
  2918  	// API requests with the JSON null value. By default, fields with empty values
  2919  	// are omitted from API requests. See
  2920  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2921  	NullFields []string `json:"-"`
  2922  }
  2923  
  2924  func (s *SuccessDetail) MarshalJSON() ([]byte, error) {
  2925  	type NoMethod SuccessDetail
  2926  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2927  }
  2928  
  2929  // SuggestionClusterProto: A set of similar suggestions that we suspect are
  2930  // closely related. This proto and most of the nested protos are branched from
  2931  // foxandcrown.prelaunchreport.service.SuggestionClusterProto, replacing PLR's
  2932  // dependencies with FTL's.
  2933  type SuggestionClusterProto struct {
  2934  	// Category: Category in which these types of suggestions should appear. Always
  2935  	// set.
  2936  	//
  2937  	// Possible values:
  2938  	//   "unknownCategory"
  2939  	//   "contentLabeling"
  2940  	//   "touchTargetSize"
  2941  	//   "lowContrast"
  2942  	//   "implementation"
  2943  	Category string `json:"category,omitempty"`
  2944  	// Suggestions: A sequence of suggestions. All of the suggestions within a
  2945  	// cluster must have the same SuggestionPriority and belong to the same
  2946  	// SuggestionCategory. Suggestions with the same screenshot URL should be
  2947  	// adjacent.
  2948  	Suggestions []*SuggestionProto `json:"suggestions,omitempty"`
  2949  	// ForceSendFields is a list of field names (e.g. "Category") to
  2950  	// unconditionally include in API requests. By default, fields with empty or
  2951  	// default values are omitted from API requests. See
  2952  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2953  	// details.
  2954  	ForceSendFields []string `json:"-"`
  2955  	// NullFields is a list of field names (e.g. "Category") to include in API
  2956  	// requests with the JSON null value. By default, fields with empty values are
  2957  	// omitted from API requests. See
  2958  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2959  	NullFields []string `json:"-"`
  2960  }
  2961  
  2962  func (s *SuggestionClusterProto) MarshalJSON() ([]byte, error) {
  2963  	type NoMethod SuggestionClusterProto
  2964  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2965  }
  2966  
  2967  type SuggestionProto struct {
  2968  	// HelpUrl: Reference to a help center article concerning this type of
  2969  	// suggestion. Always set.
  2970  	HelpUrl string `json:"helpUrl,omitempty"`
  2971  	// LongMessage: Message, in the user's language, explaining the suggestion,
  2972  	// which may contain markup. Always set.
  2973  	LongMessage *SafeHtmlProto `json:"longMessage,omitempty"`
  2974  	// Priority: Relative importance of a suggestion. Always set.
  2975  	//
  2976  	// Possible values:
  2977  	//   "unknownPriority"
  2978  	//   "error"
  2979  	//   "warning"
  2980  	//   "info"
  2981  	Priority string `json:"priority,omitempty"`
  2982  	// PseudoResourceId: A somewhat human readable identifier of the source view,
  2983  	// if it does not have a resource_name. This is a path within the accessibility
  2984  	// hierarchy, an element with resource name; similar to an XPath.
  2985  	PseudoResourceId string `json:"pseudoResourceId,omitempty"`
  2986  	// Region: Region within the screenshot that is relevant to this suggestion.
  2987  	// Optional.
  2988  	Region *RegionProto `json:"region,omitempty"`
  2989  	// ResourceName: Reference to a view element, identified by its resource name,
  2990  	// if it has one.
  2991  	ResourceName string `json:"resourceName,omitempty"`
  2992  	// ScreenId: ID of the screen for the suggestion. It is used for getting the
  2993  	// corresponding screenshot path. For example, screen_id "1" corresponds to
  2994  	// "1.png" file in GCS. Always set.
  2995  	ScreenId string `json:"screenId,omitempty"`
  2996  	// SecondaryPriority: Relative importance of a suggestion as compared with
  2997  	// other suggestions that have the same priority and category. This is a
  2998  	// meaningless value that can be used to order suggestions that are in the same
  2999  	// category and have the same priority. The larger values have higher priority
  3000  	// (i.e., are more important). Optional.
  3001  	SecondaryPriority float64 `json:"secondaryPriority,omitempty"`
  3002  	// ShortMessage: Concise message, in the user's language, representing the
  3003  	// suggestion, which may contain markup. Always set.
  3004  	ShortMessage *SafeHtmlProto `json:"shortMessage,omitempty"`
  3005  	// Title: General title for the suggestion, in the user's language, without
  3006  	// markup. Always set.
  3007  	Title string `json:"title,omitempty"`
  3008  	// ForceSendFields is a list of field names (e.g. "HelpUrl") to unconditionally
  3009  	// include in API requests. By default, fields with empty or default values are
  3010  	// omitted from API requests. See
  3011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3012  	// details.
  3013  	ForceSendFields []string `json:"-"`
  3014  	// NullFields is a list of field names (e.g. "HelpUrl") to include in API
  3015  	// requests with the JSON null value. By default, fields with empty values are
  3016  	// omitted from API requests. See
  3017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3018  	NullFields []string `json:"-"`
  3019  }
  3020  
  3021  func (s *SuggestionProto) MarshalJSON() ([]byte, error) {
  3022  	type NoMethod SuggestionProto
  3023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3024  }
  3025  
  3026  func (s *SuggestionProto) UnmarshalJSON(data []byte) error {
  3027  	type NoMethod SuggestionProto
  3028  	var s1 struct {
  3029  		SecondaryPriority gensupport.JSONFloat64 `json:"secondaryPriority"`
  3030  		*NoMethod
  3031  	}
  3032  	s1.NoMethod = (*NoMethod)(s)
  3033  	if err := json.Unmarshal(data, &s1); err != nil {
  3034  		return err
  3035  	}
  3036  	s.SecondaryPriority = float64(s1.SecondaryPriority)
  3037  	return nil
  3038  }
  3039  
  3040  type TestCase struct {
  3041  	// ElapsedTime: The elapsed run time of the test case. Required.
  3042  	ElapsedTime *Duration `json:"elapsedTime,omitempty"`
  3043  	// EndTime: The end time of the test case.
  3044  	EndTime *Timestamp `json:"endTime,omitempty"`
  3045  	// SkippedMessage: Why the test case was skipped. Present only for skipped test
  3046  	// case
  3047  	SkippedMessage string `json:"skippedMessage,omitempty"`
  3048  	// StackTraces: The stack trace details if the test case failed or encountered
  3049  	// an error. The maximum size of the stack traces is 100KiB, beyond which the
  3050  	// stack track will be truncated. Zero if the test case passed.
  3051  	StackTraces []*StackTrace `json:"stackTraces,omitempty"`
  3052  	// StartTime: The start time of the test case.
  3053  	StartTime *Timestamp `json:"startTime,omitempty"`
  3054  	// Status: The status of the test case. Required.
  3055  	//
  3056  	// Possible values:
  3057  	//   "passed" - Test passed.
  3058  	//   "failed" - Test failed.
  3059  	//   "error" - Test encountered an error
  3060  	//   "skipped" - Test skipped
  3061  	//   "flaky" - Test flaked. Present only for rollup test cases; test cases from
  3062  	// steps that were run with the same configuration had both failure and success
  3063  	// outcomes.
  3064  	Status string `json:"status,omitempty"`
  3065  	// TestCaseId: A unique identifier within a Step for this Test Case.
  3066  	TestCaseId string `json:"testCaseId,omitempty"`
  3067  	// TestCaseReference: Test case reference, e.g. name, class name and test suite
  3068  	// name. Required.
  3069  	TestCaseReference *TestCaseReference `json:"testCaseReference,omitempty"`
  3070  	// ToolOutputs: References to opaque files of any format output by the tool
  3071  	// execution. @OutputOnly
  3072  	ToolOutputs []*ToolOutputReference `json:"toolOutputs,omitempty"`
  3073  
  3074  	// ServerResponse contains the HTTP response code and headers from the server.
  3075  	googleapi.ServerResponse `json:"-"`
  3076  	// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
  3077  	// unconditionally include in API requests. By default, fields with empty or
  3078  	// default values are omitted from API requests. See
  3079  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3080  	// details.
  3081  	ForceSendFields []string `json:"-"`
  3082  	// NullFields is a list of field names (e.g. "ElapsedTime") to include in API
  3083  	// requests with the JSON null value. By default, fields with empty values are
  3084  	// omitted from API requests. See
  3085  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3086  	NullFields []string `json:"-"`
  3087  }
  3088  
  3089  func (s *TestCase) MarshalJSON() ([]byte, error) {
  3090  	type NoMethod TestCase
  3091  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3092  }
  3093  
  3094  // TestCaseReference: A reference to a test case. Test case references are
  3095  // canonically ordered lexicographically by these three factors: * First, by
  3096  // test_suite_name. * Second, by class_name. * Third, by name.
  3097  type TestCaseReference struct {
  3098  	// ClassName: The name of the class.
  3099  	ClassName string `json:"className,omitempty"`
  3100  	// Name: The name of the test case. Required.
  3101  	Name string `json:"name,omitempty"`
  3102  	// TestSuiteName: The name of the test suite to which this test case belongs.
  3103  	TestSuiteName string `json:"testSuiteName,omitempty"`
  3104  	// ForceSendFields is a list of field names (e.g. "ClassName") to
  3105  	// unconditionally include in API requests. By default, fields with empty or
  3106  	// default values are omitted from API requests. See
  3107  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3108  	// details.
  3109  	ForceSendFields []string `json:"-"`
  3110  	// NullFields is a list of field names (e.g. "ClassName") to include in API
  3111  	// requests with the JSON null value. By default, fields with empty values are
  3112  	// omitted from API requests. See
  3113  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3114  	NullFields []string `json:"-"`
  3115  }
  3116  
  3117  func (s *TestCaseReference) MarshalJSON() ([]byte, error) {
  3118  	type NoMethod TestCaseReference
  3119  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3120  }
  3121  
  3122  // TestExecutionStep: A step that represents running tests. It accepts
  3123  // ant-junit xml files which will be parsed into structured test results by the
  3124  // service. Xml file paths are updated in order to append more files, however
  3125  // they can't be deleted. Users can also add test results manually by using the
  3126  // test_result field.
  3127  type TestExecutionStep struct {
  3128  	// TestIssues: Issues observed during the test execution. For example, if the
  3129  	// mobile app under test crashed during the test, the error message and the
  3130  	// stack trace content can be recorded here to assist debugging. - In response:
  3131  	// present if set by create or update - In create/update request: optional
  3132  	TestIssues []*TestIssue `json:"testIssues,omitempty"`
  3133  	// TestSuiteOverviews: List of test suite overview contents. This could be
  3134  	// parsed from xUnit XML log by server, or uploaded directly by user. This
  3135  	// references should only be called when test suites are fully parsed or
  3136  	// uploaded. The maximum allowed number of test suite overviews per step is
  3137  	// 1000. - In response: always set - In create request: optional - In update
  3138  	// request: never (use publishXunitXmlFiles custom method instead)
  3139  	TestSuiteOverviews []*TestSuiteOverview `json:"testSuiteOverviews,omitempty"`
  3140  	// TestTiming: The timing break down of the test execution. - In response:
  3141  	// present if set by create or update - In create/update request: optional
  3142  	TestTiming *TestTiming `json:"testTiming,omitempty"`
  3143  	// ToolExecution: Represents the execution of the test runner. The exit code of
  3144  	// this tool will be used to determine if the test passed. - In response:
  3145  	// always set - In create/update request: optional
  3146  	ToolExecution *ToolExecution `json:"toolExecution,omitempty"`
  3147  	// ForceSendFields is a list of field names (e.g. "TestIssues") to
  3148  	// unconditionally include in API requests. By default, fields with empty or
  3149  	// default values are omitted from API requests. See
  3150  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3151  	// details.
  3152  	ForceSendFields []string `json:"-"`
  3153  	// NullFields is a list of field names (e.g. "TestIssues") to include in API
  3154  	// requests with the JSON null value. By default, fields with empty values are
  3155  	// omitted from API requests. See
  3156  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3157  	NullFields []string `json:"-"`
  3158  }
  3159  
  3160  func (s *TestExecutionStep) MarshalJSON() ([]byte, error) {
  3161  	type NoMethod TestExecutionStep
  3162  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3163  }
  3164  
  3165  // TestIssue: An issue detected occurring during a test execution.
  3166  type TestIssue struct {
  3167  	// Category: Category of issue. Required.
  3168  	//
  3169  	// Possible values:
  3170  	//   "unspecifiedCategory" - Default unspecified category. Do not use. For
  3171  	// versioning only.
  3172  	//   "common" - Issue is not specific to a particular test kind (e.g., a native
  3173  	// crash).
  3174  	//   "robo" - Issue is specific to Robo run.
  3175  	Category string `json:"category,omitempty"`
  3176  	// ErrorMessage: A brief human-readable message describing the issue. Required.
  3177  	ErrorMessage string `json:"errorMessage,omitempty"`
  3178  	// Severity: Severity of issue. Required.
  3179  	//
  3180  	// Possible values:
  3181  	//   "unspecifiedSeverity" - Default unspecified severity. Do not use. For
  3182  	// versioning only.
  3183  	//   "info" - Non critical issue, providing users with some info about the test
  3184  	// run.
  3185  	//   "suggestion" - Non critical issue, providing users with some hints on
  3186  	// improving their testing experience, e.g., suggesting to use Game Loops.
  3187  	//   "warning" - Potentially critical issue.
  3188  	//   "severe" - Critical issue.
  3189  	Severity string `json:"severity,omitempty"`
  3190  	// StackTrace: Deprecated in favor of stack trace fields inside specific
  3191  	// warnings.
  3192  	StackTrace *StackTrace `json:"stackTrace,omitempty"`
  3193  	// Type: Type of issue. Required.
  3194  	//
  3195  	// Possible values:
  3196  	//   "unspecifiedType" - Default unspecified type. Do not use. For versioning
  3197  	// only.
  3198  	//   "fatalException" - Issue is a fatal exception.
  3199  	//   "nativeCrash" - Issue is a native crash.
  3200  	//   "anr" - Issue is an ANR crash.
  3201  	//   "unusedRoboDirective" - Issue is an unused robo directive.
  3202  	//   "compatibleWithOrchestrator" - Issue is a suggestion to use orchestrator.
  3203  	//   "launcherActivityNotFound" - Issue with finding a launcher activity
  3204  	//   "startActivityNotFound" - Issue with resolving a user-provided intent to
  3205  	// start an activity
  3206  	//   "incompleteRoboScriptExecution" - A Robo script was not fully executed.
  3207  	//   "completeRoboScriptExecution" - A Robo script was fully and successfully
  3208  	// executed.
  3209  	//   "failedToInstall" - The APK failed to install.
  3210  	//   "availableDeepLinks" - The app-under-test has deep links, but none were
  3211  	// provided to Robo.
  3212  	//   "nonSdkApiUsageViolation" - App accessed a non-sdk Api.
  3213  	//   "nonSdkApiUsageReport" - App accessed a non-sdk Api (new detailed report)
  3214  	//   "encounteredNonAndroidUiWidgetScreen" - Robo crawl encountered at least
  3215  	// one screen with elements that are not Android UI widgets.
  3216  	//   "encounteredLoginScreen" - Robo crawl encountered at least one probable
  3217  	// login screen.
  3218  	//   "performedGoogleLogin" - Robo signed in with Google.
  3219  	//   "iosException" - iOS App crashed with an exception.
  3220  	//   "iosCrash" - iOS App crashed without an exception (e.g. killed).
  3221  	//   "performedMonkeyActions" - Robo crawl involved performing some monkey
  3222  	// actions.
  3223  	//   "usedRoboDirective" - Robo crawl used a Robo directive.
  3224  	//   "usedRoboIgnoreDirective" - Robo crawl used a Robo directive to ignore an
  3225  	// UI element.
  3226  	//   "insufficientCoverage" - Robo did not crawl some potentially important
  3227  	// parts of the app.
  3228  	//   "inAppPurchases" - Robo crawl involved some in-app purchases.
  3229  	//   "crashDialogError" - Crash dialog was detected during the test execution
  3230  	//   "uiElementsTooDeep" - UI element depth is greater than the threshold
  3231  	//   "blankScreen" - Blank screen is found in the Robo crawl
  3232  	//   "overlappingUiElements" - Overlapping UI elements are found in the Robo
  3233  	// crawl
  3234  	//   "unityException" - An uncaught Unity exception was detected (these don't
  3235  	// crash apps).
  3236  	//   "deviceOutOfMemory" - Device running out of memory was detected
  3237  	//   "logcatCollectionError" - Problems detected while collecting logcat
  3238  	//   "detectedAppSplashScreen" - Robo detected a splash screen provided by app
  3239  	// (vs. Android OS splash screen).
  3240  	//   "assetIssue" - There was an issue with the assets in this test.
  3241  	Type string `json:"type,omitempty"`
  3242  	// Warning: Warning message with additional details of the issue. Should always
  3243  	// be a message from com.google.devtools.toolresults.v1.warnings
  3244  	Warning *Any `json:"warning,omitempty"`
  3245  	// ForceSendFields is a list of field names (e.g. "Category") to
  3246  	// unconditionally include in API requests. By default, fields with empty or
  3247  	// default values are omitted from API requests. See
  3248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3249  	// details.
  3250  	ForceSendFields []string `json:"-"`
  3251  	// NullFields is a list of field names (e.g. "Category") to include in API
  3252  	// requests with the JSON null value. By default, fields with empty values are
  3253  	// omitted from API requests. See
  3254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3255  	NullFields []string `json:"-"`
  3256  }
  3257  
  3258  func (s *TestIssue) MarshalJSON() ([]byte, error) {
  3259  	type NoMethod TestIssue
  3260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3261  }
  3262  
  3263  // TestSuiteOverview: A summary of a test suite result either parsed from XML
  3264  // or uploaded directly by a user. Note: the API related comments are for
  3265  // StepService only. This message is also being used in ExecutionService in a
  3266  // read only mode for the corresponding step.
  3267  type TestSuiteOverview struct {
  3268  	// ElapsedTime: Elapsed time of test suite.
  3269  	ElapsedTime *Duration `json:"elapsedTime,omitempty"`
  3270  	// ErrorCount: Number of test cases in error, typically set by the service by
  3271  	// parsing the xml_source. - In create/response: always set - In update
  3272  	// request: never
  3273  	ErrorCount int64 `json:"errorCount,omitempty"`
  3274  	// FailureCount: Number of failed test cases, typically set by the service by
  3275  	// parsing the xml_source. May also be set by the user. - In create/response:
  3276  	// always set - In update request: never
  3277  	FailureCount int64 `json:"failureCount,omitempty"`
  3278  	// FlakyCount: Number of flaky test cases, set by the service by rolling up
  3279  	// flaky test attempts. Present only for rollup test suite overview at
  3280  	// environment level. A step cannot have flaky test cases.
  3281  	FlakyCount int64 `json:"flakyCount,omitempty"`
  3282  	// Name: The name of the test suite. - In create/response: always set - In
  3283  	// update request: never
  3284  	Name string `json:"name,omitempty"`
  3285  	// SkippedCount: Number of test cases not run, typically set by the service by
  3286  	// parsing the xml_source. - In create/response: always set - In update
  3287  	// request: never
  3288  	SkippedCount int64 `json:"skippedCount,omitempty"`
  3289  	// TotalCount: Number of test cases, typically set by the service by parsing
  3290  	// the xml_source. - In create/response: always set - In update request: never
  3291  	TotalCount int64 `json:"totalCount,omitempty"`
  3292  	// XmlSource: If this test suite was parsed from XML, this is the URI where the
  3293  	// original XML file is stored. Note: Multiple test suites can share the same
  3294  	// xml_source Returns INVALID_ARGUMENT if the uri format is not supported. - In
  3295  	// create/response: optional - In update request: never
  3296  	XmlSource *FileReference `json:"xmlSource,omitempty"`
  3297  	// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
  3298  	// unconditionally include in API requests. By default, fields with empty or
  3299  	// default values are omitted from API requests. See
  3300  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3301  	// details.
  3302  	ForceSendFields []string `json:"-"`
  3303  	// NullFields is a list of field names (e.g. "ElapsedTime") to include in API
  3304  	// requests with the JSON null value. By default, fields with empty values are
  3305  	// omitted from API requests. See
  3306  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3307  	NullFields []string `json:"-"`
  3308  }
  3309  
  3310  func (s *TestSuiteOverview) MarshalJSON() ([]byte, error) {
  3311  	type NoMethod TestSuiteOverview
  3312  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3313  }
  3314  
  3315  // TestTiming: Testing timing break down to know phases.
  3316  type TestTiming struct {
  3317  	// TestProcessDuration: How long it took to run the test process. - In
  3318  	// response: present if previously set. - In create/update request: optional
  3319  	TestProcessDuration *Duration `json:"testProcessDuration,omitempty"`
  3320  	// ForceSendFields is a list of field names (e.g. "TestProcessDuration") to
  3321  	// unconditionally include in API requests. By default, fields with empty or
  3322  	// default values are omitted from API requests. See
  3323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3324  	// details.
  3325  	ForceSendFields []string `json:"-"`
  3326  	// NullFields is a list of field names (e.g. "TestProcessDuration") to include
  3327  	// in API requests with the JSON null value. By default, fields with empty
  3328  	// values are omitted from API requests. See
  3329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3330  	NullFields []string `json:"-"`
  3331  }
  3332  
  3333  func (s *TestTiming) MarshalJSON() ([]byte, error) {
  3334  	type NoMethod TestTiming
  3335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3336  }
  3337  
  3338  // Thumbnail: A single thumbnail, with its size and format.
  3339  type Thumbnail struct {
  3340  	// ContentType: The thumbnail's content type, i.e. "image/png". Always set.
  3341  	ContentType string `json:"contentType,omitempty"`
  3342  	// Data: The thumbnail file itself. That is, the bytes here are precisely the
  3343  	// bytes that make up the thumbnail file; they can be served as an image as-is
  3344  	// (with the appropriate content type.) Always set.
  3345  	Data string `json:"data,omitempty"`
  3346  	// HeightPx: The height of the thumbnail, in pixels. Always set.
  3347  	HeightPx int64 `json:"heightPx,omitempty"`
  3348  	// WidthPx: The width of the thumbnail, in pixels. Always set.
  3349  	WidthPx int64 `json:"widthPx,omitempty"`
  3350  	// ForceSendFields is a list of field names (e.g. "ContentType") to
  3351  	// unconditionally include in API requests. By default, fields with empty or
  3352  	// default values are omitted from API requests. See
  3353  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3354  	// details.
  3355  	ForceSendFields []string `json:"-"`
  3356  	// NullFields is a list of field names (e.g. "ContentType") to include in API
  3357  	// requests with the JSON null value. By default, fields with empty values are
  3358  	// omitted from API requests. See
  3359  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3360  	NullFields []string `json:"-"`
  3361  }
  3362  
  3363  func (s *Thumbnail) MarshalJSON() ([]byte, error) {
  3364  	type NoMethod Thumbnail
  3365  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3366  }
  3367  
  3368  // Timestamp: A Timestamp represents a point in time independent of any time
  3369  // zone or local calendar, encoded as a count of seconds and fractions of
  3370  // seconds at nanosecond resolution. The count is relative to an epoch at UTC
  3371  // midnight on January 1, 1970, in the proleptic Gregorian calendar which
  3372  // extends the Gregorian calendar backwards to year one. All minutes are 60
  3373  // seconds long. Leap seconds are "smeared" so that no leap second table is
  3374  // needed for interpretation, using a 24-hour linear smear
  3375  // (https://developers.google.com/time/smear). The range is from
  3376  // 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to
  3377  // that range, we ensure that we can convert to and from RFC 3339
  3378  // (https://www.ietf.org/rfc/rfc3339.txt) date strings.
  3379  type Timestamp struct {
  3380  	// Nanos: Non-negative fractions of a second at nanosecond resolution. Negative
  3381  	// second values with fractions must still have non-negative nanos values that
  3382  	// count forward in time. Must be from 0 to 999,999,999 inclusive.
  3383  	Nanos int64 `json:"nanos,omitempty"`
  3384  	// Seconds: Represents seconds of UTC time since Unix epoch
  3385  	// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
  3386  	// 9999-12-31T23:59:59Z inclusive.
  3387  	Seconds int64 `json:"seconds,omitempty,string"`
  3388  	// ForceSendFields is a list of field names (e.g. "Nanos") to unconditionally
  3389  	// include in API requests. By default, fields with empty or default values are
  3390  	// omitted from API requests. See
  3391  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3392  	// details.
  3393  	ForceSendFields []string `json:"-"`
  3394  	// NullFields is a list of field names (e.g. "Nanos") to include in API
  3395  	// requests with the JSON null value. By default, fields with empty values are
  3396  	// omitted from API requests. See
  3397  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3398  	NullFields []string `json:"-"`
  3399  }
  3400  
  3401  func (s *Timestamp) MarshalJSON() ([]byte, error) {
  3402  	type NoMethod Timestamp
  3403  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3404  }
  3405  
  3406  // ToolExecution: An execution of an arbitrary tool. It could be a test runner
  3407  // or a tool copying artifacts or deploying code.
  3408  type ToolExecution struct {
  3409  	// CommandLineArguments: The full tokenized command line including the program
  3410  	// name (equivalent to argv in a C program). - In response: present if set by
  3411  	// create request - In create request: optional - In update request: never set
  3412  	CommandLineArguments []string `json:"commandLineArguments,omitempty"`
  3413  	// ExitCode: Tool execution exit code. This field will be set once the tool has
  3414  	// exited. - In response: present if set by create/update request - In create
  3415  	// request: optional - In update request: optional, a FAILED_PRECONDITION error
  3416  	// will be returned if an exit_code is already set.
  3417  	ExitCode *ToolExitCode `json:"exitCode,omitempty"`
  3418  	// ToolLogs: References to any plain text logs output the tool execution. This
  3419  	// field can be set before the tool has exited in order to be able to have
  3420  	// access to a live view of the logs while the tool is running. The maximum
  3421  	// allowed number of tool logs per step is 1000. - In response: present if set
  3422  	// by create/update request - In create request: optional - In update request:
  3423  	// optional, any value provided will be appended to the existing list
  3424  	ToolLogs []*FileReference `json:"toolLogs,omitempty"`
  3425  	// ToolOutputs: References to opaque files of any format output by the tool
  3426  	// execution. The maximum allowed number of tool outputs per step is 1000. - In
  3427  	// response: present if set by create/update request - In create request:
  3428  	// optional - In update request: optional, any value provided will be appended
  3429  	// to the existing list
  3430  	ToolOutputs []*ToolOutputReference `json:"toolOutputs,omitempty"`
  3431  	// ForceSendFields is a list of field names (e.g. "CommandLineArguments") to
  3432  	// unconditionally include in API requests. By default, fields with empty or
  3433  	// default values are omitted from API requests. See
  3434  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3435  	// details.
  3436  	ForceSendFields []string `json:"-"`
  3437  	// NullFields is a list of field names (e.g. "CommandLineArguments") to include
  3438  	// in API requests with the JSON null value. By default, fields with empty
  3439  	// values are omitted from API requests. See
  3440  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3441  	NullFields []string `json:"-"`
  3442  }
  3443  
  3444  func (s *ToolExecution) MarshalJSON() ([]byte, error) {
  3445  	type NoMethod ToolExecution
  3446  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3447  }
  3448  
  3449  // ToolExecutionStep: Generic tool step to be used for binaries we do not
  3450  // explicitly support. For example: running cp to copy artifacts from one
  3451  // location to another.
  3452  type ToolExecutionStep struct {
  3453  	// ToolExecution: A Tool execution. - In response: present if set by
  3454  	// create/update request - In create/update request: optional
  3455  	ToolExecution *ToolExecution `json:"toolExecution,omitempty"`
  3456  	// ForceSendFields is a list of field names (e.g. "ToolExecution") to
  3457  	// unconditionally include in API requests. By default, fields with empty or
  3458  	// default values are omitted from API requests. See
  3459  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3460  	// details.
  3461  	ForceSendFields []string `json:"-"`
  3462  	// NullFields is a list of field names (e.g. "ToolExecution") to include in API
  3463  	// requests with the JSON null value. By default, fields with empty values are
  3464  	// omitted from API requests. See
  3465  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3466  	NullFields []string `json:"-"`
  3467  }
  3468  
  3469  func (s *ToolExecutionStep) MarshalJSON() ([]byte, error) {
  3470  	type NoMethod ToolExecutionStep
  3471  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3472  }
  3473  
  3474  // ToolExitCode: Exit code from a tool execution.
  3475  type ToolExitCode struct {
  3476  	// Number: Tool execution exit code. A value of 0 means that the execution was
  3477  	// successful. - In response: always set - In create/update request: always set
  3478  	Number int64 `json:"number,omitempty"`
  3479  	// ForceSendFields is a list of field names (e.g. "Number") to unconditionally
  3480  	// include in API requests. By default, fields with empty or default values are
  3481  	// omitted from API requests. See
  3482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3483  	// details.
  3484  	ForceSendFields []string `json:"-"`
  3485  	// NullFields is a list of field names (e.g. "Number") to include in API
  3486  	// requests with the JSON null value. By default, fields with empty values are
  3487  	// omitted from API requests. See
  3488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3489  	NullFields []string `json:"-"`
  3490  }
  3491  
  3492  func (s *ToolExitCode) MarshalJSON() ([]byte, error) {
  3493  	type NoMethod ToolExitCode
  3494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3495  }
  3496  
  3497  // ToolOutputReference: A reference to a ToolExecution output file.
  3498  type ToolOutputReference struct {
  3499  	// CreationTime: The creation time of the file. - In response: present if set
  3500  	// by create/update request - In create/update request: optional
  3501  	CreationTime *Timestamp `json:"creationTime,omitempty"`
  3502  	// Output: A FileReference to an output file. - In response: always set - In
  3503  	// create/update request: always set
  3504  	Output *FileReference `json:"output,omitempty"`
  3505  	// TestCase: The test case to which this output file belongs. - In response:
  3506  	// present if set by create/update request - In create/update request: optional
  3507  	TestCase *TestCaseReference `json:"testCase,omitempty"`
  3508  	// ForceSendFields is a list of field names (e.g. "CreationTime") to
  3509  	// unconditionally include in API requests. By default, fields with empty or
  3510  	// default values are omitted from API requests. See
  3511  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3512  	// details.
  3513  	ForceSendFields []string `json:"-"`
  3514  	// NullFields is a list of field names (e.g. "CreationTime") to include in API
  3515  	// requests with the JSON null value. By default, fields with empty values are
  3516  	// omitted from API requests. See
  3517  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3518  	NullFields []string `json:"-"`
  3519  }
  3520  
  3521  func (s *ToolOutputReference) MarshalJSON() ([]byte, error) {
  3522  	type NoMethod ToolOutputReference
  3523  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3524  }
  3525  
  3526  // UIElementTooDeep: A warning that the screen hierarchy is deeper than the
  3527  // recommended threshold.
  3528  type UIElementTooDeep struct {
  3529  	// Depth: The depth of the screen element
  3530  	Depth int64 `json:"depth,omitempty"`
  3531  	// ScreenId: The screen id of the element
  3532  	ScreenId string `json:"screenId,omitempty"`
  3533  	// ScreenStateId: The screen state id of the element
  3534  	ScreenStateId string `json:"screenStateId,omitempty"`
  3535  	// ForceSendFields is a list of field names (e.g. "Depth") to unconditionally
  3536  	// include in API requests. By default, fields with empty or default values are
  3537  	// omitted from API requests. See
  3538  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3539  	// details.
  3540  	ForceSendFields []string `json:"-"`
  3541  	// NullFields is a list of field names (e.g. "Depth") to include in API
  3542  	// requests with the JSON null value. By default, fields with empty values are
  3543  	// omitted from API requests. See
  3544  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3545  	NullFields []string `json:"-"`
  3546  }
  3547  
  3548  func (s *UIElementTooDeep) MarshalJSON() ([]byte, error) {
  3549  	type NoMethod UIElementTooDeep
  3550  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3551  }
  3552  
  3553  // UnspecifiedWarning: Default unspecified warning.
  3554  type UnspecifiedWarning struct {
  3555  }
  3556  
  3557  // UnusedRoboDirective: Additional details of an unused robodirective.
  3558  type UnusedRoboDirective struct {
  3559  	// ResourceName: The name of the resource that was unused.
  3560  	ResourceName string `json:"resourceName,omitempty"`
  3561  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  3562  	// unconditionally include in API requests. By default, fields with empty or
  3563  	// default values are omitted from API requests. See
  3564  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3565  	// details.
  3566  	ForceSendFields []string `json:"-"`
  3567  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  3568  	// requests with the JSON null value. By default, fields with empty values are
  3569  	// omitted from API requests. See
  3570  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3571  	NullFields []string `json:"-"`
  3572  }
  3573  
  3574  func (s *UnusedRoboDirective) MarshalJSON() ([]byte, error) {
  3575  	type NoMethod UnusedRoboDirective
  3576  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3577  }
  3578  
  3579  // UpgradeInsight: This insight is a recommendation to upgrade a given library
  3580  // to the specified version, in order to avoid dependencies on non-SDK APIs.
  3581  type UpgradeInsight struct {
  3582  	// PackageName: The name of the package to be upgraded.
  3583  	PackageName string `json:"packageName,omitempty"`
  3584  	// UpgradeToVersion: The suggested version to upgrade to. Optional: In case we
  3585  	// are not sure which version solves this problem
  3586  	UpgradeToVersion string `json:"upgradeToVersion,omitempty"`
  3587  	// ForceSendFields is a list of field names (e.g. "PackageName") to
  3588  	// unconditionally include in API requests. By default, fields with empty or
  3589  	// default values are omitted from API requests. See
  3590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3591  	// details.
  3592  	ForceSendFields []string `json:"-"`
  3593  	// NullFields is a list of field names (e.g. "PackageName") to include in API
  3594  	// requests with the JSON null value. By default, fields with empty values are
  3595  	// omitted from API requests. See
  3596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3597  	NullFields []string `json:"-"`
  3598  }
  3599  
  3600  func (s *UpgradeInsight) MarshalJSON() ([]byte, error) {
  3601  	type NoMethod UpgradeInsight
  3602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3603  }
  3604  
  3605  // UsedRoboDirective: Additional details of a used Robo directive.
  3606  type UsedRoboDirective struct {
  3607  	// ResourceName: The name of the resource that was used.
  3608  	ResourceName string `json:"resourceName,omitempty"`
  3609  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  3610  	// unconditionally include in API requests. By default, fields with empty or
  3611  	// default values are omitted from API requests. See
  3612  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3613  	// details.
  3614  	ForceSendFields []string `json:"-"`
  3615  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  3616  	// requests with the JSON null value. By default, fields with empty values are
  3617  	// omitted from API requests. See
  3618  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3619  	NullFields []string `json:"-"`
  3620  }
  3621  
  3622  func (s *UsedRoboDirective) MarshalJSON() ([]byte, error) {
  3623  	type NoMethod UsedRoboDirective
  3624  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3625  }
  3626  
  3627  // UsedRoboIgnoreDirective: Additional details of a used Robo directive with an
  3628  // ignore action. Note: This is a different scenario than unused directive.
  3629  type UsedRoboIgnoreDirective struct {
  3630  	// ResourceName: The name of the resource that was ignored.
  3631  	ResourceName string `json:"resourceName,omitempty"`
  3632  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  3633  	// unconditionally include in API requests. By default, fields with empty or
  3634  	// default values are omitted from API requests. See
  3635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3636  	// details.
  3637  	ForceSendFields []string `json:"-"`
  3638  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  3639  	// requests with the JSON null value. By default, fields with empty values are
  3640  	// omitted from API requests. See
  3641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3642  	NullFields []string `json:"-"`
  3643  }
  3644  
  3645  func (s *UsedRoboIgnoreDirective) MarshalJSON() ([]byte, error) {
  3646  	type NoMethod UsedRoboIgnoreDirective
  3647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3648  }
  3649  
  3650  type ProjectsGetSettingsCall struct {
  3651  	s            *Service
  3652  	projectId    string
  3653  	urlParams_   gensupport.URLParams
  3654  	ifNoneMatch_ string
  3655  	ctx_         context.Context
  3656  	header_      http.Header
  3657  }
  3658  
  3659  // GetSettings: Gets the Tool Results settings for a project. May return any of
  3660  // the following canonical error codes: - PERMISSION_DENIED - if the user is
  3661  // not authorized to read from project
  3662  //
  3663  // - projectId: A Project id.
  3664  func (r *ProjectsService) GetSettings(projectId string) *ProjectsGetSettingsCall {
  3665  	c := &ProjectsGetSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3666  	c.projectId = projectId
  3667  	return c
  3668  }
  3669  
  3670  // Fields allows partial responses to be retrieved. See
  3671  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3672  // details.
  3673  func (c *ProjectsGetSettingsCall) Fields(s ...googleapi.Field) *ProjectsGetSettingsCall {
  3674  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3675  	return c
  3676  }
  3677  
  3678  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3679  // object's ETag matches the given value. This is useful for getting updates
  3680  // only after the object has changed since the last request.
  3681  func (c *ProjectsGetSettingsCall) IfNoneMatch(entityTag string) *ProjectsGetSettingsCall {
  3682  	c.ifNoneMatch_ = entityTag
  3683  	return c
  3684  }
  3685  
  3686  // Context sets the context to be used in this call's Do method.
  3687  func (c *ProjectsGetSettingsCall) Context(ctx context.Context) *ProjectsGetSettingsCall {
  3688  	c.ctx_ = ctx
  3689  	return c
  3690  }
  3691  
  3692  // Header returns a http.Header that can be modified by the caller to add
  3693  // headers to the request.
  3694  func (c *ProjectsGetSettingsCall) Header() http.Header {
  3695  	if c.header_ == nil {
  3696  		c.header_ = make(http.Header)
  3697  	}
  3698  	return c.header_
  3699  }
  3700  
  3701  func (c *ProjectsGetSettingsCall) doRequest(alt string) (*http.Response, error) {
  3702  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3703  	if c.ifNoneMatch_ != "" {
  3704  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3705  	}
  3706  	var body io.Reader = nil
  3707  	c.urlParams_.Set("alt", alt)
  3708  	c.urlParams_.Set("prettyPrint", "false")
  3709  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/settings")
  3710  	urls += "?" + c.urlParams_.Encode()
  3711  	req, err := http.NewRequest("GET", urls, body)
  3712  	if err != nil {
  3713  		return nil, err
  3714  	}
  3715  	req.Header = reqHeaders
  3716  	googleapi.Expand(req.URL, map[string]string{
  3717  		"projectId": c.projectId,
  3718  	})
  3719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3720  }
  3721  
  3722  // Do executes the "toolresults.projects.getSettings" call.
  3723  // Any non-2xx status code is an error. Response headers are in either
  3724  // *ProjectSettings.ServerResponse.Header or (if a response was returned at
  3725  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3726  // check whether the returned error was because http.StatusNotModified was
  3727  // returned.
  3728  func (c *ProjectsGetSettingsCall) Do(opts ...googleapi.CallOption) (*ProjectSettings, error) {
  3729  	gensupport.SetOptions(c.urlParams_, opts...)
  3730  	res, err := c.doRequest("json")
  3731  	if res != nil && res.StatusCode == http.StatusNotModified {
  3732  		if res.Body != nil {
  3733  			res.Body.Close()
  3734  		}
  3735  		return nil, gensupport.WrapError(&googleapi.Error{
  3736  			Code:   res.StatusCode,
  3737  			Header: res.Header,
  3738  		})
  3739  	}
  3740  	if err != nil {
  3741  		return nil, err
  3742  	}
  3743  	defer googleapi.CloseBody(res)
  3744  	if err := googleapi.CheckResponse(res); err != nil {
  3745  		return nil, gensupport.WrapError(err)
  3746  	}
  3747  	ret := &ProjectSettings{
  3748  		ServerResponse: googleapi.ServerResponse{
  3749  			Header:         res.Header,
  3750  			HTTPStatusCode: res.StatusCode,
  3751  		},
  3752  	}
  3753  	target := &ret
  3754  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3755  		return nil, err
  3756  	}
  3757  	return ret, nil
  3758  }
  3759  
  3760  type ProjectsInitializeSettingsCall struct {
  3761  	s          *Service
  3762  	projectId  string
  3763  	urlParams_ gensupport.URLParams
  3764  	ctx_       context.Context
  3765  	header_    http.Header
  3766  }
  3767  
  3768  // InitializeSettings: Creates resources for settings which have not yet been
  3769  // set. Currently, this creates a single resource: a Google Cloud Storage
  3770  // bucket, to be used as the default bucket for this project. The bucket is
  3771  // created in an FTL-own storage project. Except for in rare cases, calling
  3772  // this method in parallel from multiple clients will only create a single
  3773  // bucket. In order to avoid unnecessary storage charges, the bucket is
  3774  // configured to automatically delete objects older than 90 days. The bucket is
  3775  // created with the following permissions: - Owner access for owners of central
  3776  // storage project (FTL-owned) - Writer access for owners/editors of customer
  3777  // project - Reader access for viewers of customer project The default ACL on
  3778  // objects created in the bucket is: - Owner access for owners of central
  3779  // storage project - Reader access for owners/editors/viewers of customer
  3780  // project See Google Cloud Storage documentation for more details. If there is
  3781  // already a default bucket set and the project can access the bucket, this
  3782  // call does nothing. However, if the project doesn't have the permission to
  3783  // access the bucket or the bucket is deleted, a new bucket will be created.
  3784  // May return any canonical error codes, including the following: -
  3785  // PERMISSION_DENIED - if the user is not authorized to write to project - Any
  3786  // error code raised by Google Cloud Storage
  3787  //
  3788  // - projectId: A Project id.
  3789  func (r *ProjectsService) InitializeSettings(projectId string) *ProjectsInitializeSettingsCall {
  3790  	c := &ProjectsInitializeSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3791  	c.projectId = projectId
  3792  	return c
  3793  }
  3794  
  3795  // Fields allows partial responses to be retrieved. See
  3796  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3797  // details.
  3798  func (c *ProjectsInitializeSettingsCall) Fields(s ...googleapi.Field) *ProjectsInitializeSettingsCall {
  3799  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3800  	return c
  3801  }
  3802  
  3803  // Context sets the context to be used in this call's Do method.
  3804  func (c *ProjectsInitializeSettingsCall) Context(ctx context.Context) *ProjectsInitializeSettingsCall {
  3805  	c.ctx_ = ctx
  3806  	return c
  3807  }
  3808  
  3809  // Header returns a http.Header that can be modified by the caller to add
  3810  // headers to the request.
  3811  func (c *ProjectsInitializeSettingsCall) Header() http.Header {
  3812  	if c.header_ == nil {
  3813  		c.header_ = make(http.Header)
  3814  	}
  3815  	return c.header_
  3816  }
  3817  
  3818  func (c *ProjectsInitializeSettingsCall) doRequest(alt string) (*http.Response, error) {
  3819  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3820  	var body io.Reader = nil
  3821  	c.urlParams_.Set("alt", alt)
  3822  	c.urlParams_.Set("prettyPrint", "false")
  3823  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}:initializeSettings")
  3824  	urls += "?" + c.urlParams_.Encode()
  3825  	req, err := http.NewRequest("POST", urls, body)
  3826  	if err != nil {
  3827  		return nil, err
  3828  	}
  3829  	req.Header = reqHeaders
  3830  	googleapi.Expand(req.URL, map[string]string{
  3831  		"projectId": c.projectId,
  3832  	})
  3833  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3834  }
  3835  
  3836  // Do executes the "toolresults.projects.initializeSettings" call.
  3837  // Any non-2xx status code is an error. Response headers are in either
  3838  // *ProjectSettings.ServerResponse.Header or (if a response was returned at
  3839  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3840  // check whether the returned error was because http.StatusNotModified was
  3841  // returned.
  3842  func (c *ProjectsInitializeSettingsCall) Do(opts ...googleapi.CallOption) (*ProjectSettings, error) {
  3843  	gensupport.SetOptions(c.urlParams_, opts...)
  3844  	res, err := c.doRequest("json")
  3845  	if res != nil && res.StatusCode == http.StatusNotModified {
  3846  		if res.Body != nil {
  3847  			res.Body.Close()
  3848  		}
  3849  		return nil, gensupport.WrapError(&googleapi.Error{
  3850  			Code:   res.StatusCode,
  3851  			Header: res.Header,
  3852  		})
  3853  	}
  3854  	if err != nil {
  3855  		return nil, err
  3856  	}
  3857  	defer googleapi.CloseBody(res)
  3858  	if err := googleapi.CheckResponse(res); err != nil {
  3859  		return nil, gensupport.WrapError(err)
  3860  	}
  3861  	ret := &ProjectSettings{
  3862  		ServerResponse: googleapi.ServerResponse{
  3863  			Header:         res.Header,
  3864  			HTTPStatusCode: res.StatusCode,
  3865  		},
  3866  	}
  3867  	target := &ret
  3868  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3869  		return nil, err
  3870  	}
  3871  	return ret, nil
  3872  }
  3873  
  3874  type ProjectsHistoriesCreateCall struct {
  3875  	s          *Service
  3876  	projectId  string
  3877  	history    *History
  3878  	urlParams_ gensupport.URLParams
  3879  	ctx_       context.Context
  3880  	header_    http.Header
  3881  }
  3882  
  3883  // Create: Creates a History. The returned History will have the id set. May
  3884  // return any of the following canonical error codes: - PERMISSION_DENIED - if
  3885  // the user is not authorized to write to project - INVALID_ARGUMENT - if the
  3886  // request is malformed - NOT_FOUND - if the containing project does not exist
  3887  //
  3888  // - projectId: A Project id.
  3889  func (r *ProjectsHistoriesService) Create(projectId string, history *History) *ProjectsHistoriesCreateCall {
  3890  	c := &ProjectsHistoriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3891  	c.projectId = projectId
  3892  	c.history = history
  3893  	return c
  3894  }
  3895  
  3896  // RequestId sets the optional parameter "requestId": A unique request ID for
  3897  // server to detect duplicated requests. For example, a UUID. Optional, but
  3898  // strongly recommended.
  3899  func (c *ProjectsHistoriesCreateCall) RequestId(requestId string) *ProjectsHistoriesCreateCall {
  3900  	c.urlParams_.Set("requestId", requestId)
  3901  	return c
  3902  }
  3903  
  3904  // Fields allows partial responses to be retrieved. See
  3905  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3906  // details.
  3907  func (c *ProjectsHistoriesCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesCreateCall {
  3908  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3909  	return c
  3910  }
  3911  
  3912  // Context sets the context to be used in this call's Do method.
  3913  func (c *ProjectsHistoriesCreateCall) Context(ctx context.Context) *ProjectsHistoriesCreateCall {
  3914  	c.ctx_ = ctx
  3915  	return c
  3916  }
  3917  
  3918  // Header returns a http.Header that can be modified by the caller to add
  3919  // headers to the request.
  3920  func (c *ProjectsHistoriesCreateCall) Header() http.Header {
  3921  	if c.header_ == nil {
  3922  		c.header_ = make(http.Header)
  3923  	}
  3924  	return c.header_
  3925  }
  3926  
  3927  func (c *ProjectsHistoriesCreateCall) doRequest(alt string) (*http.Response, error) {
  3928  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3929  	var body io.Reader = nil
  3930  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.history)
  3931  	if err != nil {
  3932  		return nil, err
  3933  	}
  3934  	c.urlParams_.Set("alt", alt)
  3935  	c.urlParams_.Set("prettyPrint", "false")
  3936  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories")
  3937  	urls += "?" + c.urlParams_.Encode()
  3938  	req, err := http.NewRequest("POST", urls, body)
  3939  	if err != nil {
  3940  		return nil, err
  3941  	}
  3942  	req.Header = reqHeaders
  3943  	googleapi.Expand(req.URL, map[string]string{
  3944  		"projectId": c.projectId,
  3945  	})
  3946  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3947  }
  3948  
  3949  // Do executes the "toolresults.projects.histories.create" call.
  3950  // Any non-2xx status code is an error. Response headers are in either
  3951  // *History.ServerResponse.Header or (if a response was returned at all) in
  3952  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3953  // whether the returned error was because http.StatusNotModified was returned.
  3954  func (c *ProjectsHistoriesCreateCall) Do(opts ...googleapi.CallOption) (*History, error) {
  3955  	gensupport.SetOptions(c.urlParams_, opts...)
  3956  	res, err := c.doRequest("json")
  3957  	if res != nil && res.StatusCode == http.StatusNotModified {
  3958  		if res.Body != nil {
  3959  			res.Body.Close()
  3960  		}
  3961  		return nil, gensupport.WrapError(&googleapi.Error{
  3962  			Code:   res.StatusCode,
  3963  			Header: res.Header,
  3964  		})
  3965  	}
  3966  	if err != nil {
  3967  		return nil, err
  3968  	}
  3969  	defer googleapi.CloseBody(res)
  3970  	if err := googleapi.CheckResponse(res); err != nil {
  3971  		return nil, gensupport.WrapError(err)
  3972  	}
  3973  	ret := &History{
  3974  		ServerResponse: googleapi.ServerResponse{
  3975  			Header:         res.Header,
  3976  			HTTPStatusCode: res.StatusCode,
  3977  		},
  3978  	}
  3979  	target := &ret
  3980  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3981  		return nil, err
  3982  	}
  3983  	return ret, nil
  3984  }
  3985  
  3986  type ProjectsHistoriesGetCall struct {
  3987  	s            *Service
  3988  	projectId    string
  3989  	historyId    string
  3990  	urlParams_   gensupport.URLParams
  3991  	ifNoneMatch_ string
  3992  	ctx_         context.Context
  3993  	header_      http.Header
  3994  }
  3995  
  3996  // Get: Gets a History. May return any of the following canonical error codes:
  3997  // - PERMISSION_DENIED - if the user is not authorized to read project -
  3998  // INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History
  3999  // does not exist
  4000  //
  4001  // - historyId: A History id.
  4002  // - projectId: A Project id.
  4003  func (r *ProjectsHistoriesService) Get(projectId string, historyId string) *ProjectsHistoriesGetCall {
  4004  	c := &ProjectsHistoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4005  	c.projectId = projectId
  4006  	c.historyId = historyId
  4007  	return c
  4008  }
  4009  
  4010  // Fields allows partial responses to be retrieved. See
  4011  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4012  // details.
  4013  func (c *ProjectsHistoriesGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesGetCall {
  4014  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4015  	return c
  4016  }
  4017  
  4018  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4019  // object's ETag matches the given value. This is useful for getting updates
  4020  // only after the object has changed since the last request.
  4021  func (c *ProjectsHistoriesGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesGetCall {
  4022  	c.ifNoneMatch_ = entityTag
  4023  	return c
  4024  }
  4025  
  4026  // Context sets the context to be used in this call's Do method.
  4027  func (c *ProjectsHistoriesGetCall) Context(ctx context.Context) *ProjectsHistoriesGetCall {
  4028  	c.ctx_ = ctx
  4029  	return c
  4030  }
  4031  
  4032  // Header returns a http.Header that can be modified by the caller to add
  4033  // headers to the request.
  4034  func (c *ProjectsHistoriesGetCall) Header() http.Header {
  4035  	if c.header_ == nil {
  4036  		c.header_ = make(http.Header)
  4037  	}
  4038  	return c.header_
  4039  }
  4040  
  4041  func (c *ProjectsHistoriesGetCall) doRequest(alt string) (*http.Response, error) {
  4042  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4043  	if c.ifNoneMatch_ != "" {
  4044  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4045  	}
  4046  	var body io.Reader = nil
  4047  	c.urlParams_.Set("alt", alt)
  4048  	c.urlParams_.Set("prettyPrint", "false")
  4049  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}")
  4050  	urls += "?" + c.urlParams_.Encode()
  4051  	req, err := http.NewRequest("GET", urls, body)
  4052  	if err != nil {
  4053  		return nil, err
  4054  	}
  4055  	req.Header = reqHeaders
  4056  	googleapi.Expand(req.URL, map[string]string{
  4057  		"projectId": c.projectId,
  4058  		"historyId": c.historyId,
  4059  	})
  4060  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4061  }
  4062  
  4063  // Do executes the "toolresults.projects.histories.get" call.
  4064  // Any non-2xx status code is an error. Response headers are in either
  4065  // *History.ServerResponse.Header or (if a response was returned at all) in
  4066  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4067  // whether the returned error was because http.StatusNotModified was returned.
  4068  func (c *ProjectsHistoriesGetCall) Do(opts ...googleapi.CallOption) (*History, error) {
  4069  	gensupport.SetOptions(c.urlParams_, opts...)
  4070  	res, err := c.doRequest("json")
  4071  	if res != nil && res.StatusCode == http.StatusNotModified {
  4072  		if res.Body != nil {
  4073  			res.Body.Close()
  4074  		}
  4075  		return nil, gensupport.WrapError(&googleapi.Error{
  4076  			Code:   res.StatusCode,
  4077  			Header: res.Header,
  4078  		})
  4079  	}
  4080  	if err != nil {
  4081  		return nil, err
  4082  	}
  4083  	defer googleapi.CloseBody(res)
  4084  	if err := googleapi.CheckResponse(res); err != nil {
  4085  		return nil, gensupport.WrapError(err)
  4086  	}
  4087  	ret := &History{
  4088  		ServerResponse: googleapi.ServerResponse{
  4089  			Header:         res.Header,
  4090  			HTTPStatusCode: res.StatusCode,
  4091  		},
  4092  	}
  4093  	target := &ret
  4094  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4095  		return nil, err
  4096  	}
  4097  	return ret, nil
  4098  }
  4099  
  4100  type ProjectsHistoriesListCall struct {
  4101  	s            *Service
  4102  	projectId    string
  4103  	urlParams_   gensupport.URLParams
  4104  	ifNoneMatch_ string
  4105  	ctx_         context.Context
  4106  	header_      http.Header
  4107  }
  4108  
  4109  // List: Lists Histories for a given Project. The histories are sorted by
  4110  // modification time in descending order. The history_id key will be used to
  4111  // order the history with the same modification time. May return any of the
  4112  // following canonical error codes: - PERMISSION_DENIED - if the user is not
  4113  // authorized to read project - INVALID_ARGUMENT - if the request is malformed
  4114  // - NOT_FOUND - if the History does not exist
  4115  //
  4116  // - projectId: A Project id.
  4117  func (r *ProjectsHistoriesService) List(projectId string) *ProjectsHistoriesListCall {
  4118  	c := &ProjectsHistoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4119  	c.projectId = projectId
  4120  	return c
  4121  }
  4122  
  4123  // FilterByName sets the optional parameter "filterByName": If set, only return
  4124  // histories with the given name.
  4125  func (c *ProjectsHistoriesListCall) FilterByName(filterByName string) *ProjectsHistoriesListCall {
  4126  	c.urlParams_.Set("filterByName", filterByName)
  4127  	return c
  4128  }
  4129  
  4130  // PageSize sets the optional parameter "pageSize": The maximum number of
  4131  // Histories to fetch. Default value: 20. The server will use this default if
  4132  // the field is not set or has a value of 0. Any value greater than 100 will be
  4133  // treated as 100.
  4134  func (c *ProjectsHistoriesListCall) PageSize(pageSize int64) *ProjectsHistoriesListCall {
  4135  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4136  	return c
  4137  }
  4138  
  4139  // PageToken sets the optional parameter "pageToken": A continuation token to
  4140  // resume the query at the next item.
  4141  func (c *ProjectsHistoriesListCall) PageToken(pageToken string) *ProjectsHistoriesListCall {
  4142  	c.urlParams_.Set("pageToken", pageToken)
  4143  	return c
  4144  }
  4145  
  4146  // Fields allows partial responses to be retrieved. See
  4147  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4148  // details.
  4149  func (c *ProjectsHistoriesListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesListCall {
  4150  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4151  	return c
  4152  }
  4153  
  4154  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4155  // object's ETag matches the given value. This is useful for getting updates
  4156  // only after the object has changed since the last request.
  4157  func (c *ProjectsHistoriesListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesListCall {
  4158  	c.ifNoneMatch_ = entityTag
  4159  	return c
  4160  }
  4161  
  4162  // Context sets the context to be used in this call's Do method.
  4163  func (c *ProjectsHistoriesListCall) Context(ctx context.Context) *ProjectsHistoriesListCall {
  4164  	c.ctx_ = ctx
  4165  	return c
  4166  }
  4167  
  4168  // Header returns a http.Header that can be modified by the caller to add
  4169  // headers to the request.
  4170  func (c *ProjectsHistoriesListCall) Header() http.Header {
  4171  	if c.header_ == nil {
  4172  		c.header_ = make(http.Header)
  4173  	}
  4174  	return c.header_
  4175  }
  4176  
  4177  func (c *ProjectsHistoriesListCall) doRequest(alt string) (*http.Response, error) {
  4178  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4179  	if c.ifNoneMatch_ != "" {
  4180  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4181  	}
  4182  	var body io.Reader = nil
  4183  	c.urlParams_.Set("alt", alt)
  4184  	c.urlParams_.Set("prettyPrint", "false")
  4185  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories")
  4186  	urls += "?" + c.urlParams_.Encode()
  4187  	req, err := http.NewRequest("GET", urls, body)
  4188  	if err != nil {
  4189  		return nil, err
  4190  	}
  4191  	req.Header = reqHeaders
  4192  	googleapi.Expand(req.URL, map[string]string{
  4193  		"projectId": c.projectId,
  4194  	})
  4195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4196  }
  4197  
  4198  // Do executes the "toolresults.projects.histories.list" call.
  4199  // Any non-2xx status code is an error. Response headers are in either
  4200  // *ListHistoriesResponse.ServerResponse.Header or (if a response was returned
  4201  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4202  // check whether the returned error was because http.StatusNotModified was
  4203  // returned.
  4204  func (c *ProjectsHistoriesListCall) Do(opts ...googleapi.CallOption) (*ListHistoriesResponse, error) {
  4205  	gensupport.SetOptions(c.urlParams_, opts...)
  4206  	res, err := c.doRequest("json")
  4207  	if res != nil && res.StatusCode == http.StatusNotModified {
  4208  		if res.Body != nil {
  4209  			res.Body.Close()
  4210  		}
  4211  		return nil, gensupport.WrapError(&googleapi.Error{
  4212  			Code:   res.StatusCode,
  4213  			Header: res.Header,
  4214  		})
  4215  	}
  4216  	if err != nil {
  4217  		return nil, err
  4218  	}
  4219  	defer googleapi.CloseBody(res)
  4220  	if err := googleapi.CheckResponse(res); err != nil {
  4221  		return nil, gensupport.WrapError(err)
  4222  	}
  4223  	ret := &ListHistoriesResponse{
  4224  		ServerResponse: googleapi.ServerResponse{
  4225  			Header:         res.Header,
  4226  			HTTPStatusCode: res.StatusCode,
  4227  		},
  4228  	}
  4229  	target := &ret
  4230  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4231  		return nil, err
  4232  	}
  4233  	return ret, nil
  4234  }
  4235  
  4236  // Pages invokes f for each page of results.
  4237  // A non-nil error returned from f will halt the iteration.
  4238  // The provided context supersedes any context provided to the Context method.
  4239  func (c *ProjectsHistoriesListCall) Pages(ctx context.Context, f func(*ListHistoriesResponse) error) error {
  4240  	c.ctx_ = ctx
  4241  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4242  	for {
  4243  		x, err := c.Do()
  4244  		if err != nil {
  4245  			return err
  4246  		}
  4247  		if err := f(x); err != nil {
  4248  			return err
  4249  		}
  4250  		if x.NextPageToken == "" {
  4251  			return nil
  4252  		}
  4253  		c.PageToken(x.NextPageToken)
  4254  	}
  4255  }
  4256  
  4257  type ProjectsHistoriesExecutionsCreateCall struct {
  4258  	s          *Service
  4259  	projectId  string
  4260  	historyId  string
  4261  	execution  *Execution
  4262  	urlParams_ gensupport.URLParams
  4263  	ctx_       context.Context
  4264  	header_    http.Header
  4265  }
  4266  
  4267  // Create: Creates an Execution. The returned Execution will have the id set.
  4268  // May return any of the following canonical error codes: - PERMISSION_DENIED -
  4269  // if the user is not authorized to write to project - INVALID_ARGUMENT - if
  4270  // the request is malformed - NOT_FOUND - if the containing History does not
  4271  // exist
  4272  //
  4273  // - historyId: A History id.
  4274  // - projectId: A Project id.
  4275  func (r *ProjectsHistoriesExecutionsService) Create(projectId string, historyId string, execution *Execution) *ProjectsHistoriesExecutionsCreateCall {
  4276  	c := &ProjectsHistoriesExecutionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4277  	c.projectId = projectId
  4278  	c.historyId = historyId
  4279  	c.execution = execution
  4280  	return c
  4281  }
  4282  
  4283  // RequestId sets the optional parameter "requestId": A unique request ID for
  4284  // server to detect duplicated requests. For example, a UUID. Optional, but
  4285  // strongly recommended.
  4286  func (c *ProjectsHistoriesExecutionsCreateCall) RequestId(requestId string) *ProjectsHistoriesExecutionsCreateCall {
  4287  	c.urlParams_.Set("requestId", requestId)
  4288  	return c
  4289  }
  4290  
  4291  // Fields allows partial responses to be retrieved. See
  4292  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4293  // details.
  4294  func (c *ProjectsHistoriesExecutionsCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsCreateCall {
  4295  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4296  	return c
  4297  }
  4298  
  4299  // Context sets the context to be used in this call's Do method.
  4300  func (c *ProjectsHistoriesExecutionsCreateCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsCreateCall {
  4301  	c.ctx_ = ctx
  4302  	return c
  4303  }
  4304  
  4305  // Header returns a http.Header that can be modified by the caller to add
  4306  // headers to the request.
  4307  func (c *ProjectsHistoriesExecutionsCreateCall) Header() http.Header {
  4308  	if c.header_ == nil {
  4309  		c.header_ = make(http.Header)
  4310  	}
  4311  	return c.header_
  4312  }
  4313  
  4314  func (c *ProjectsHistoriesExecutionsCreateCall) doRequest(alt string) (*http.Response, error) {
  4315  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4316  	var body io.Reader = nil
  4317  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.execution)
  4318  	if err != nil {
  4319  		return nil, err
  4320  	}
  4321  	c.urlParams_.Set("alt", alt)
  4322  	c.urlParams_.Set("prettyPrint", "false")
  4323  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions")
  4324  	urls += "?" + c.urlParams_.Encode()
  4325  	req, err := http.NewRequest("POST", urls, body)
  4326  	if err != nil {
  4327  		return nil, err
  4328  	}
  4329  	req.Header = reqHeaders
  4330  	googleapi.Expand(req.URL, map[string]string{
  4331  		"projectId": c.projectId,
  4332  		"historyId": c.historyId,
  4333  	})
  4334  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4335  }
  4336  
  4337  // Do executes the "toolresults.projects.histories.executions.create" call.
  4338  // Any non-2xx status code is an error. Response headers are in either
  4339  // *Execution.ServerResponse.Header or (if a response was returned at all) in
  4340  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4341  // whether the returned error was because http.StatusNotModified was returned.
  4342  func (c *ProjectsHistoriesExecutionsCreateCall) Do(opts ...googleapi.CallOption) (*Execution, error) {
  4343  	gensupport.SetOptions(c.urlParams_, opts...)
  4344  	res, err := c.doRequest("json")
  4345  	if res != nil && res.StatusCode == http.StatusNotModified {
  4346  		if res.Body != nil {
  4347  			res.Body.Close()
  4348  		}
  4349  		return nil, gensupport.WrapError(&googleapi.Error{
  4350  			Code:   res.StatusCode,
  4351  			Header: res.Header,
  4352  		})
  4353  	}
  4354  	if err != nil {
  4355  		return nil, err
  4356  	}
  4357  	defer googleapi.CloseBody(res)
  4358  	if err := googleapi.CheckResponse(res); err != nil {
  4359  		return nil, gensupport.WrapError(err)
  4360  	}
  4361  	ret := &Execution{
  4362  		ServerResponse: googleapi.ServerResponse{
  4363  			Header:         res.Header,
  4364  			HTTPStatusCode: res.StatusCode,
  4365  		},
  4366  	}
  4367  	target := &ret
  4368  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4369  		return nil, err
  4370  	}
  4371  	return ret, nil
  4372  }
  4373  
  4374  type ProjectsHistoriesExecutionsGetCall struct {
  4375  	s            *Service
  4376  	projectId    string
  4377  	historyId    string
  4378  	executionId  string
  4379  	urlParams_   gensupport.URLParams
  4380  	ifNoneMatch_ string
  4381  	ctx_         context.Context
  4382  	header_      http.Header
  4383  }
  4384  
  4385  // Get: Gets an Execution. May return any of the following canonical error
  4386  // codes: - PERMISSION_DENIED - if the user is not authorized to write to
  4387  // project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if
  4388  // the Execution does not exist
  4389  //
  4390  // - executionId: An Execution id.
  4391  // - historyId: A History id.
  4392  // - projectId: A Project id.
  4393  func (r *ProjectsHistoriesExecutionsService) Get(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsGetCall {
  4394  	c := &ProjectsHistoriesExecutionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4395  	c.projectId = projectId
  4396  	c.historyId = historyId
  4397  	c.executionId = executionId
  4398  	return c
  4399  }
  4400  
  4401  // Fields allows partial responses to be retrieved. See
  4402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4403  // details.
  4404  func (c *ProjectsHistoriesExecutionsGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsGetCall {
  4405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4406  	return c
  4407  }
  4408  
  4409  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4410  // object's ETag matches the given value. This is useful for getting updates
  4411  // only after the object has changed since the last request.
  4412  func (c *ProjectsHistoriesExecutionsGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsGetCall {
  4413  	c.ifNoneMatch_ = entityTag
  4414  	return c
  4415  }
  4416  
  4417  // Context sets the context to be used in this call's Do method.
  4418  func (c *ProjectsHistoriesExecutionsGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsGetCall {
  4419  	c.ctx_ = ctx
  4420  	return c
  4421  }
  4422  
  4423  // Header returns a http.Header that can be modified by the caller to add
  4424  // headers to the request.
  4425  func (c *ProjectsHistoriesExecutionsGetCall) Header() http.Header {
  4426  	if c.header_ == nil {
  4427  		c.header_ = make(http.Header)
  4428  	}
  4429  	return c.header_
  4430  }
  4431  
  4432  func (c *ProjectsHistoriesExecutionsGetCall) doRequest(alt string) (*http.Response, error) {
  4433  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4434  	if c.ifNoneMatch_ != "" {
  4435  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4436  	}
  4437  	var body io.Reader = nil
  4438  	c.urlParams_.Set("alt", alt)
  4439  	c.urlParams_.Set("prettyPrint", "false")
  4440  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}")
  4441  	urls += "?" + c.urlParams_.Encode()
  4442  	req, err := http.NewRequest("GET", urls, body)
  4443  	if err != nil {
  4444  		return nil, err
  4445  	}
  4446  	req.Header = reqHeaders
  4447  	googleapi.Expand(req.URL, map[string]string{
  4448  		"projectId":   c.projectId,
  4449  		"historyId":   c.historyId,
  4450  		"executionId": c.executionId,
  4451  	})
  4452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4453  }
  4454  
  4455  // Do executes the "toolresults.projects.histories.executions.get" call.
  4456  // Any non-2xx status code is an error. Response headers are in either
  4457  // *Execution.ServerResponse.Header or (if a response was returned at all) in
  4458  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4459  // whether the returned error was because http.StatusNotModified was returned.
  4460  func (c *ProjectsHistoriesExecutionsGetCall) Do(opts ...googleapi.CallOption) (*Execution, error) {
  4461  	gensupport.SetOptions(c.urlParams_, opts...)
  4462  	res, err := c.doRequest("json")
  4463  	if res != nil && res.StatusCode == http.StatusNotModified {
  4464  		if res.Body != nil {
  4465  			res.Body.Close()
  4466  		}
  4467  		return nil, gensupport.WrapError(&googleapi.Error{
  4468  			Code:   res.StatusCode,
  4469  			Header: res.Header,
  4470  		})
  4471  	}
  4472  	if err != nil {
  4473  		return nil, err
  4474  	}
  4475  	defer googleapi.CloseBody(res)
  4476  	if err := googleapi.CheckResponse(res); err != nil {
  4477  		return nil, gensupport.WrapError(err)
  4478  	}
  4479  	ret := &Execution{
  4480  		ServerResponse: googleapi.ServerResponse{
  4481  			Header:         res.Header,
  4482  			HTTPStatusCode: res.StatusCode,
  4483  		},
  4484  	}
  4485  	target := &ret
  4486  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4487  		return nil, err
  4488  	}
  4489  	return ret, nil
  4490  }
  4491  
  4492  type ProjectsHistoriesExecutionsListCall struct {
  4493  	s            *Service
  4494  	projectId    string
  4495  	historyId    string
  4496  	urlParams_   gensupport.URLParams
  4497  	ifNoneMatch_ string
  4498  	ctx_         context.Context
  4499  	header_      http.Header
  4500  }
  4501  
  4502  // List: Lists Executions for a given History. The executions are sorted by
  4503  // creation_time in descending order. The execution_id key will be used to
  4504  // order the executions with the same creation_time. May return any of the
  4505  // following canonical error codes: - PERMISSION_DENIED - if the user is not
  4506  // authorized to read project - INVALID_ARGUMENT - if the request is malformed
  4507  // - NOT_FOUND - if the containing History does not exist
  4508  //
  4509  // - historyId: A History id.
  4510  // - projectId: A Project id.
  4511  func (r *ProjectsHistoriesExecutionsService) List(projectId string, historyId string) *ProjectsHistoriesExecutionsListCall {
  4512  	c := &ProjectsHistoriesExecutionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4513  	c.projectId = projectId
  4514  	c.historyId = historyId
  4515  	return c
  4516  }
  4517  
  4518  // PageSize sets the optional parameter "pageSize": The maximum number of
  4519  // Executions to fetch. Default value: 25. The server will use this default if
  4520  // the field is not set or has a value of 0.
  4521  func (c *ProjectsHistoriesExecutionsListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsListCall {
  4522  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4523  	return c
  4524  }
  4525  
  4526  // PageToken sets the optional parameter "pageToken": A continuation token to
  4527  // resume the query at the next item.
  4528  func (c *ProjectsHistoriesExecutionsListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsListCall {
  4529  	c.urlParams_.Set("pageToken", pageToken)
  4530  	return c
  4531  }
  4532  
  4533  // Fields allows partial responses to be retrieved. See
  4534  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4535  // details.
  4536  func (c *ProjectsHistoriesExecutionsListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsListCall {
  4537  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4538  	return c
  4539  }
  4540  
  4541  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4542  // object's ETag matches the given value. This is useful for getting updates
  4543  // only after the object has changed since the last request.
  4544  func (c *ProjectsHistoriesExecutionsListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsListCall {
  4545  	c.ifNoneMatch_ = entityTag
  4546  	return c
  4547  }
  4548  
  4549  // Context sets the context to be used in this call's Do method.
  4550  func (c *ProjectsHistoriesExecutionsListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsListCall {
  4551  	c.ctx_ = ctx
  4552  	return c
  4553  }
  4554  
  4555  // Header returns a http.Header that can be modified by the caller to add
  4556  // headers to the request.
  4557  func (c *ProjectsHistoriesExecutionsListCall) Header() http.Header {
  4558  	if c.header_ == nil {
  4559  		c.header_ = make(http.Header)
  4560  	}
  4561  	return c.header_
  4562  }
  4563  
  4564  func (c *ProjectsHistoriesExecutionsListCall) doRequest(alt string) (*http.Response, error) {
  4565  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4566  	if c.ifNoneMatch_ != "" {
  4567  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4568  	}
  4569  	var body io.Reader = nil
  4570  	c.urlParams_.Set("alt", alt)
  4571  	c.urlParams_.Set("prettyPrint", "false")
  4572  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions")
  4573  	urls += "?" + c.urlParams_.Encode()
  4574  	req, err := http.NewRequest("GET", urls, body)
  4575  	if err != nil {
  4576  		return nil, err
  4577  	}
  4578  	req.Header = reqHeaders
  4579  	googleapi.Expand(req.URL, map[string]string{
  4580  		"projectId": c.projectId,
  4581  		"historyId": c.historyId,
  4582  	})
  4583  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4584  }
  4585  
  4586  // Do executes the "toolresults.projects.histories.executions.list" call.
  4587  // Any non-2xx status code is an error. Response headers are in either
  4588  // *ListExecutionsResponse.ServerResponse.Header or (if a response was returned
  4589  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4590  // check whether the returned error was because http.StatusNotModified was
  4591  // returned.
  4592  func (c *ProjectsHistoriesExecutionsListCall) Do(opts ...googleapi.CallOption) (*ListExecutionsResponse, error) {
  4593  	gensupport.SetOptions(c.urlParams_, opts...)
  4594  	res, err := c.doRequest("json")
  4595  	if res != nil && res.StatusCode == http.StatusNotModified {
  4596  		if res.Body != nil {
  4597  			res.Body.Close()
  4598  		}
  4599  		return nil, gensupport.WrapError(&googleapi.Error{
  4600  			Code:   res.StatusCode,
  4601  			Header: res.Header,
  4602  		})
  4603  	}
  4604  	if err != nil {
  4605  		return nil, err
  4606  	}
  4607  	defer googleapi.CloseBody(res)
  4608  	if err := googleapi.CheckResponse(res); err != nil {
  4609  		return nil, gensupport.WrapError(err)
  4610  	}
  4611  	ret := &ListExecutionsResponse{
  4612  		ServerResponse: googleapi.ServerResponse{
  4613  			Header:         res.Header,
  4614  			HTTPStatusCode: res.StatusCode,
  4615  		},
  4616  	}
  4617  	target := &ret
  4618  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4619  		return nil, err
  4620  	}
  4621  	return ret, nil
  4622  }
  4623  
  4624  // Pages invokes f for each page of results.
  4625  // A non-nil error returned from f will halt the iteration.
  4626  // The provided context supersedes any context provided to the Context method.
  4627  func (c *ProjectsHistoriesExecutionsListCall) Pages(ctx context.Context, f func(*ListExecutionsResponse) error) error {
  4628  	c.ctx_ = ctx
  4629  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4630  	for {
  4631  		x, err := c.Do()
  4632  		if err != nil {
  4633  			return err
  4634  		}
  4635  		if err := f(x); err != nil {
  4636  			return err
  4637  		}
  4638  		if x.NextPageToken == "" {
  4639  			return nil
  4640  		}
  4641  		c.PageToken(x.NextPageToken)
  4642  	}
  4643  }
  4644  
  4645  type ProjectsHistoriesExecutionsPatchCall struct {
  4646  	s           *Service
  4647  	projectId   string
  4648  	historyId   string
  4649  	executionId string
  4650  	execution   *Execution
  4651  	urlParams_  gensupport.URLParams
  4652  	ctx_        context.Context
  4653  	header_     http.Header
  4654  }
  4655  
  4656  // Patch: Updates an existing Execution with the supplied partial entity. May
  4657  // return any of the following canonical error codes: - PERMISSION_DENIED - if
  4658  // the user is not authorized to write to project - INVALID_ARGUMENT - if the
  4659  // request is malformed - FAILED_PRECONDITION - if the requested state
  4660  // transition is illegal - NOT_FOUND - if the containing History does not exist
  4661  //
  4662  // - executionId: .
  4663  // - historyId: .
  4664  // - projectId: A Project id.
  4665  func (r *ProjectsHistoriesExecutionsService) Patch(projectId string, historyId string, executionId string, execution *Execution) *ProjectsHistoriesExecutionsPatchCall {
  4666  	c := &ProjectsHistoriesExecutionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4667  	c.projectId = projectId
  4668  	c.historyId = historyId
  4669  	c.executionId = executionId
  4670  	c.execution = execution
  4671  	return c
  4672  }
  4673  
  4674  // RequestId sets the optional parameter "requestId": A unique request ID for
  4675  // server to detect duplicated requests. For example, a UUID. Optional, but
  4676  // strongly recommended.
  4677  func (c *ProjectsHistoriesExecutionsPatchCall) RequestId(requestId string) *ProjectsHistoriesExecutionsPatchCall {
  4678  	c.urlParams_.Set("requestId", requestId)
  4679  	return c
  4680  }
  4681  
  4682  // Fields allows partial responses to be retrieved. See
  4683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4684  // details.
  4685  func (c *ProjectsHistoriesExecutionsPatchCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsPatchCall {
  4686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4687  	return c
  4688  }
  4689  
  4690  // Context sets the context to be used in this call's Do method.
  4691  func (c *ProjectsHistoriesExecutionsPatchCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsPatchCall {
  4692  	c.ctx_ = ctx
  4693  	return c
  4694  }
  4695  
  4696  // Header returns a http.Header that can be modified by the caller to add
  4697  // headers to the request.
  4698  func (c *ProjectsHistoriesExecutionsPatchCall) Header() http.Header {
  4699  	if c.header_ == nil {
  4700  		c.header_ = make(http.Header)
  4701  	}
  4702  	return c.header_
  4703  }
  4704  
  4705  func (c *ProjectsHistoriesExecutionsPatchCall) doRequest(alt string) (*http.Response, error) {
  4706  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4707  	var body io.Reader = nil
  4708  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.execution)
  4709  	if err != nil {
  4710  		return nil, err
  4711  	}
  4712  	c.urlParams_.Set("alt", alt)
  4713  	c.urlParams_.Set("prettyPrint", "false")
  4714  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}")
  4715  	urls += "?" + c.urlParams_.Encode()
  4716  	req, err := http.NewRequest("PATCH", urls, body)
  4717  	if err != nil {
  4718  		return nil, err
  4719  	}
  4720  	req.Header = reqHeaders
  4721  	googleapi.Expand(req.URL, map[string]string{
  4722  		"projectId":   c.projectId,
  4723  		"historyId":   c.historyId,
  4724  		"executionId": c.executionId,
  4725  	})
  4726  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4727  }
  4728  
  4729  // Do executes the "toolresults.projects.histories.executions.patch" call.
  4730  // Any non-2xx status code is an error. Response headers are in either
  4731  // *Execution.ServerResponse.Header or (if a response was returned at all) in
  4732  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4733  // whether the returned error was because http.StatusNotModified was returned.
  4734  func (c *ProjectsHistoriesExecutionsPatchCall) Do(opts ...googleapi.CallOption) (*Execution, error) {
  4735  	gensupport.SetOptions(c.urlParams_, opts...)
  4736  	res, err := c.doRequest("json")
  4737  	if res != nil && res.StatusCode == http.StatusNotModified {
  4738  		if res.Body != nil {
  4739  			res.Body.Close()
  4740  		}
  4741  		return nil, gensupport.WrapError(&googleapi.Error{
  4742  			Code:   res.StatusCode,
  4743  			Header: res.Header,
  4744  		})
  4745  	}
  4746  	if err != nil {
  4747  		return nil, err
  4748  	}
  4749  	defer googleapi.CloseBody(res)
  4750  	if err := googleapi.CheckResponse(res); err != nil {
  4751  		return nil, gensupport.WrapError(err)
  4752  	}
  4753  	ret := &Execution{
  4754  		ServerResponse: googleapi.ServerResponse{
  4755  			Header:         res.Header,
  4756  			HTTPStatusCode: res.StatusCode,
  4757  		},
  4758  	}
  4759  	target := &ret
  4760  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4761  		return nil, err
  4762  	}
  4763  	return ret, nil
  4764  }
  4765  
  4766  type ProjectsHistoriesExecutionsClustersGetCall struct {
  4767  	s            *Service
  4768  	projectId    string
  4769  	historyId    string
  4770  	executionId  string
  4771  	clusterId    string
  4772  	urlParams_   gensupport.URLParams
  4773  	ifNoneMatch_ string
  4774  	ctx_         context.Context
  4775  	header_      http.Header
  4776  }
  4777  
  4778  // Get: Retrieves a single screenshot cluster by its ID
  4779  //
  4780  // - clusterId: A Cluster id.
  4781  // - executionId: An Execution id.
  4782  // - historyId: A History id.
  4783  // - projectId: A Project id.
  4784  func (r *ProjectsHistoriesExecutionsClustersService) Get(projectId string, historyId string, executionId string, clusterId string) *ProjectsHistoriesExecutionsClustersGetCall {
  4785  	c := &ProjectsHistoriesExecutionsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4786  	c.projectId = projectId
  4787  	c.historyId = historyId
  4788  	c.executionId = executionId
  4789  	c.clusterId = clusterId
  4790  	return c
  4791  }
  4792  
  4793  // Fields allows partial responses to be retrieved. See
  4794  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4795  // details.
  4796  func (c *ProjectsHistoriesExecutionsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersGetCall {
  4797  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4798  	return c
  4799  }
  4800  
  4801  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4802  // object's ETag matches the given value. This is useful for getting updates
  4803  // only after the object has changed since the last request.
  4804  func (c *ProjectsHistoriesExecutionsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersGetCall {
  4805  	c.ifNoneMatch_ = entityTag
  4806  	return c
  4807  }
  4808  
  4809  // Context sets the context to be used in this call's Do method.
  4810  func (c *ProjectsHistoriesExecutionsClustersGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersGetCall {
  4811  	c.ctx_ = ctx
  4812  	return c
  4813  }
  4814  
  4815  // Header returns a http.Header that can be modified by the caller to add
  4816  // headers to the request.
  4817  func (c *ProjectsHistoriesExecutionsClustersGetCall) Header() http.Header {
  4818  	if c.header_ == nil {
  4819  		c.header_ = make(http.Header)
  4820  	}
  4821  	return c.header_
  4822  }
  4823  
  4824  func (c *ProjectsHistoriesExecutionsClustersGetCall) doRequest(alt string) (*http.Response, error) {
  4825  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4826  	if c.ifNoneMatch_ != "" {
  4827  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4828  	}
  4829  	var body io.Reader = nil
  4830  	c.urlParams_.Set("alt", alt)
  4831  	c.urlParams_.Set("prettyPrint", "false")
  4832  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}")
  4833  	urls += "?" + c.urlParams_.Encode()
  4834  	req, err := http.NewRequest("GET", urls, body)
  4835  	if err != nil {
  4836  		return nil, err
  4837  	}
  4838  	req.Header = reqHeaders
  4839  	googleapi.Expand(req.URL, map[string]string{
  4840  		"projectId":   c.projectId,
  4841  		"historyId":   c.historyId,
  4842  		"executionId": c.executionId,
  4843  		"clusterId":   c.clusterId,
  4844  	})
  4845  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4846  }
  4847  
  4848  // Do executes the "toolresults.projects.histories.executions.clusters.get" call.
  4849  // Any non-2xx status code is an error. Response headers are in either
  4850  // *ScreenshotCluster.ServerResponse.Header or (if a response was returned at
  4851  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4852  // check whether the returned error was because http.StatusNotModified was
  4853  // returned.
  4854  func (c *ProjectsHistoriesExecutionsClustersGetCall) Do(opts ...googleapi.CallOption) (*ScreenshotCluster, error) {
  4855  	gensupport.SetOptions(c.urlParams_, opts...)
  4856  	res, err := c.doRequest("json")
  4857  	if res != nil && res.StatusCode == http.StatusNotModified {
  4858  		if res.Body != nil {
  4859  			res.Body.Close()
  4860  		}
  4861  		return nil, gensupport.WrapError(&googleapi.Error{
  4862  			Code:   res.StatusCode,
  4863  			Header: res.Header,
  4864  		})
  4865  	}
  4866  	if err != nil {
  4867  		return nil, err
  4868  	}
  4869  	defer googleapi.CloseBody(res)
  4870  	if err := googleapi.CheckResponse(res); err != nil {
  4871  		return nil, gensupport.WrapError(err)
  4872  	}
  4873  	ret := &ScreenshotCluster{
  4874  		ServerResponse: googleapi.ServerResponse{
  4875  			Header:         res.Header,
  4876  			HTTPStatusCode: res.StatusCode,
  4877  		},
  4878  	}
  4879  	target := &ret
  4880  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4881  		return nil, err
  4882  	}
  4883  	return ret, nil
  4884  }
  4885  
  4886  type ProjectsHistoriesExecutionsClustersListCall struct {
  4887  	s            *Service
  4888  	projectId    string
  4889  	historyId    string
  4890  	executionId  string
  4891  	urlParams_   gensupport.URLParams
  4892  	ifNoneMatch_ string
  4893  	ctx_         context.Context
  4894  	header_      http.Header
  4895  }
  4896  
  4897  // List: Lists Screenshot Clusters Returns the list of screenshot clusters
  4898  // corresponding to an execution. Screenshot clusters are created after the
  4899  // execution is finished. Clusters are created from a set of screenshots.
  4900  // Between any two screenshots, a matching score is calculated based off their
  4901  // metadata that determines how similar they are. Screenshots are placed in the
  4902  // cluster that has screens which have the highest matching scores.
  4903  //
  4904  // - executionId: An Execution id.
  4905  // - historyId: A History id.
  4906  // - projectId: A Project id.
  4907  func (r *ProjectsHistoriesExecutionsClustersService) List(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsClustersListCall {
  4908  	c := &ProjectsHistoriesExecutionsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4909  	c.projectId = projectId
  4910  	c.historyId = historyId
  4911  	c.executionId = executionId
  4912  	return c
  4913  }
  4914  
  4915  // Fields allows partial responses to be retrieved. See
  4916  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4917  // details.
  4918  func (c *ProjectsHistoriesExecutionsClustersListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersListCall {
  4919  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4920  	return c
  4921  }
  4922  
  4923  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4924  // object's ETag matches the given value. This is useful for getting updates
  4925  // only after the object has changed since the last request.
  4926  func (c *ProjectsHistoriesExecutionsClustersListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersListCall {
  4927  	c.ifNoneMatch_ = entityTag
  4928  	return c
  4929  }
  4930  
  4931  // Context sets the context to be used in this call's Do method.
  4932  func (c *ProjectsHistoriesExecutionsClustersListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersListCall {
  4933  	c.ctx_ = ctx
  4934  	return c
  4935  }
  4936  
  4937  // Header returns a http.Header that can be modified by the caller to add
  4938  // headers to the request.
  4939  func (c *ProjectsHistoriesExecutionsClustersListCall) Header() http.Header {
  4940  	if c.header_ == nil {
  4941  		c.header_ = make(http.Header)
  4942  	}
  4943  	return c.header_
  4944  }
  4945  
  4946  func (c *ProjectsHistoriesExecutionsClustersListCall) doRequest(alt string) (*http.Response, error) {
  4947  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4948  	if c.ifNoneMatch_ != "" {
  4949  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4950  	}
  4951  	var body io.Reader = nil
  4952  	c.urlParams_.Set("alt", alt)
  4953  	c.urlParams_.Set("prettyPrint", "false")
  4954  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters")
  4955  	urls += "?" + c.urlParams_.Encode()
  4956  	req, err := http.NewRequest("GET", urls, body)
  4957  	if err != nil {
  4958  		return nil, err
  4959  	}
  4960  	req.Header = reqHeaders
  4961  	googleapi.Expand(req.URL, map[string]string{
  4962  		"projectId":   c.projectId,
  4963  		"historyId":   c.historyId,
  4964  		"executionId": c.executionId,
  4965  	})
  4966  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4967  }
  4968  
  4969  // Do executes the "toolresults.projects.histories.executions.clusters.list" call.
  4970  // Any non-2xx status code is an error. Response headers are in either
  4971  // *ListScreenshotClustersResponse.ServerResponse.Header or (if a response was
  4972  // returned at all) in error.(*googleapi.Error).Header. Use
  4973  // googleapi.IsNotModified to check whether the returned error was because
  4974  // http.StatusNotModified was returned.
  4975  func (c *ProjectsHistoriesExecutionsClustersListCall) Do(opts ...googleapi.CallOption) (*ListScreenshotClustersResponse, error) {
  4976  	gensupport.SetOptions(c.urlParams_, opts...)
  4977  	res, err := c.doRequest("json")
  4978  	if res != nil && res.StatusCode == http.StatusNotModified {
  4979  		if res.Body != nil {
  4980  			res.Body.Close()
  4981  		}
  4982  		return nil, gensupport.WrapError(&googleapi.Error{
  4983  			Code:   res.StatusCode,
  4984  			Header: res.Header,
  4985  		})
  4986  	}
  4987  	if err != nil {
  4988  		return nil, err
  4989  	}
  4990  	defer googleapi.CloseBody(res)
  4991  	if err := googleapi.CheckResponse(res); err != nil {
  4992  		return nil, gensupport.WrapError(err)
  4993  	}
  4994  	ret := &ListScreenshotClustersResponse{
  4995  		ServerResponse: googleapi.ServerResponse{
  4996  			Header:         res.Header,
  4997  			HTTPStatusCode: res.StatusCode,
  4998  		},
  4999  	}
  5000  	target := &ret
  5001  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5002  		return nil, err
  5003  	}
  5004  	return ret, nil
  5005  }
  5006  
  5007  type ProjectsHistoriesExecutionsEnvironmentsGetCall struct {
  5008  	s             *Service
  5009  	projectId     string
  5010  	historyId     string
  5011  	executionId   string
  5012  	environmentId string
  5013  	urlParams_    gensupport.URLParams
  5014  	ifNoneMatch_  string
  5015  	ctx_          context.Context
  5016  	header_       http.Header
  5017  }
  5018  
  5019  // Get: Gets an Environment. May return any of the following canonical error
  5020  // codes: - PERMISSION_DENIED - if the user is not authorized to read project -
  5021  // INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the
  5022  // Environment does not exist
  5023  //
  5024  // - environmentId: An Environment id.
  5025  // - executionId: An Execution id.
  5026  // - historyId: A History id.
  5027  // - projectId: A Project id.
  5028  func (r *ProjectsHistoriesExecutionsEnvironmentsService) Get(projectId string, historyId string, executionId string, environmentId string) *ProjectsHistoriesExecutionsEnvironmentsGetCall {
  5029  	c := &ProjectsHistoriesExecutionsEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5030  	c.projectId = projectId
  5031  	c.historyId = historyId
  5032  	c.executionId = executionId
  5033  	c.environmentId = environmentId
  5034  	return c
  5035  }
  5036  
  5037  // Fields allows partial responses to be retrieved. See
  5038  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5039  // details.
  5040  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsEnvironmentsGetCall {
  5041  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5042  	return c
  5043  }
  5044  
  5045  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5046  // object's ETag matches the given value. This is useful for getting updates
  5047  // only after the object has changed since the last request.
  5048  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsEnvironmentsGetCall {
  5049  	c.ifNoneMatch_ = entityTag
  5050  	return c
  5051  }
  5052  
  5053  // Context sets the context to be used in this call's Do method.
  5054  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsEnvironmentsGetCall {
  5055  	c.ctx_ = ctx
  5056  	return c
  5057  }
  5058  
  5059  // Header returns a http.Header that can be modified by the caller to add
  5060  // headers to the request.
  5061  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) Header() http.Header {
  5062  	if c.header_ == nil {
  5063  		c.header_ = make(http.Header)
  5064  	}
  5065  	return c.header_
  5066  }
  5067  
  5068  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
  5069  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5070  	if c.ifNoneMatch_ != "" {
  5071  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5072  	}
  5073  	var body io.Reader = nil
  5074  	c.urlParams_.Set("alt", alt)
  5075  	c.urlParams_.Set("prettyPrint", "false")
  5076  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}")
  5077  	urls += "?" + c.urlParams_.Encode()
  5078  	req, err := http.NewRequest("GET", urls, body)
  5079  	if err != nil {
  5080  		return nil, err
  5081  	}
  5082  	req.Header = reqHeaders
  5083  	googleapi.Expand(req.URL, map[string]string{
  5084  		"projectId":     c.projectId,
  5085  		"historyId":     c.historyId,
  5086  		"executionId":   c.executionId,
  5087  		"environmentId": c.environmentId,
  5088  	})
  5089  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5090  }
  5091  
  5092  // Do executes the "toolresults.projects.histories.executions.environments.get" call.
  5093  // Any non-2xx status code is an error. Response headers are in either
  5094  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  5095  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5096  // whether the returned error was because http.StatusNotModified was returned.
  5097  func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  5098  	gensupport.SetOptions(c.urlParams_, opts...)
  5099  	res, err := c.doRequest("json")
  5100  	if res != nil && res.StatusCode == http.StatusNotModified {
  5101  		if res.Body != nil {
  5102  			res.Body.Close()
  5103  		}
  5104  		return nil, gensupport.WrapError(&googleapi.Error{
  5105  			Code:   res.StatusCode,
  5106  			Header: res.Header,
  5107  		})
  5108  	}
  5109  	if err != nil {
  5110  		return nil, err
  5111  	}
  5112  	defer googleapi.CloseBody(res)
  5113  	if err := googleapi.CheckResponse(res); err != nil {
  5114  		return nil, gensupport.WrapError(err)
  5115  	}
  5116  	ret := &Environment{
  5117  		ServerResponse: googleapi.ServerResponse{
  5118  			Header:         res.Header,
  5119  			HTTPStatusCode: res.StatusCode,
  5120  		},
  5121  	}
  5122  	target := &ret
  5123  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5124  		return nil, err
  5125  	}
  5126  	return ret, nil
  5127  }
  5128  
  5129  type ProjectsHistoriesExecutionsEnvironmentsListCall struct {
  5130  	s            *Service
  5131  	projectId    string
  5132  	historyId    string
  5133  	executionId  string
  5134  	urlParams_   gensupport.URLParams
  5135  	ifNoneMatch_ string
  5136  	ctx_         context.Context
  5137  	header_      http.Header
  5138  }
  5139  
  5140  // List: Lists Environments for a given Execution. The Environments are sorted
  5141  // by display name. May return any of the following canonical error codes: -
  5142  // PERMISSION_DENIED - if the user is not authorized to read project -
  5143  // INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the
  5144  // containing Execution does not exist
  5145  //
  5146  // - executionId: An Execution id.
  5147  // - historyId: A History id.
  5148  // - projectId: A Project id.
  5149  func (r *ProjectsHistoriesExecutionsEnvironmentsService) List(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5150  	c := &ProjectsHistoriesExecutionsEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5151  	c.projectId = projectId
  5152  	c.historyId = historyId
  5153  	c.executionId = executionId
  5154  	return c
  5155  }
  5156  
  5157  // PageSize sets the optional parameter "pageSize": The maximum number of
  5158  // Environments to fetch. Default value: 25. The server will use this default
  5159  // if the field is not set or has a value of 0.
  5160  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5161  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5162  	return c
  5163  }
  5164  
  5165  // PageToken sets the optional parameter "pageToken": A continuation token to
  5166  // resume the query at the next item.
  5167  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5168  	c.urlParams_.Set("pageToken", pageToken)
  5169  	return c
  5170  }
  5171  
  5172  // Fields allows partial responses to be retrieved. See
  5173  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5174  // details.
  5175  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5176  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5177  	return c
  5178  }
  5179  
  5180  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5181  // object's ETag matches the given value. This is useful for getting updates
  5182  // only after the object has changed since the last request.
  5183  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5184  	c.ifNoneMatch_ = entityTag
  5185  	return c
  5186  }
  5187  
  5188  // Context sets the context to be used in this call's Do method.
  5189  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsEnvironmentsListCall {
  5190  	c.ctx_ = ctx
  5191  	return c
  5192  }
  5193  
  5194  // Header returns a http.Header that can be modified by the caller to add
  5195  // headers to the request.
  5196  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) Header() http.Header {
  5197  	if c.header_ == nil {
  5198  		c.header_ = make(http.Header)
  5199  	}
  5200  	return c.header_
  5201  }
  5202  
  5203  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
  5204  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5205  	if c.ifNoneMatch_ != "" {
  5206  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5207  	}
  5208  	var body io.Reader = nil
  5209  	c.urlParams_.Set("alt", alt)
  5210  	c.urlParams_.Set("prettyPrint", "false")
  5211  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments")
  5212  	urls += "?" + c.urlParams_.Encode()
  5213  	req, err := http.NewRequest("GET", urls, body)
  5214  	if err != nil {
  5215  		return nil, err
  5216  	}
  5217  	req.Header = reqHeaders
  5218  	googleapi.Expand(req.URL, map[string]string{
  5219  		"projectId":   c.projectId,
  5220  		"historyId":   c.historyId,
  5221  		"executionId": c.executionId,
  5222  	})
  5223  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5224  }
  5225  
  5226  // Do executes the "toolresults.projects.histories.executions.environments.list" call.
  5227  // Any non-2xx status code is an error. Response headers are in either
  5228  // *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
  5229  // returned at all) in error.(*googleapi.Error).Header. Use
  5230  // googleapi.IsNotModified to check whether the returned error was because
  5231  // http.StatusNotModified was returned.
  5232  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
  5233  	gensupport.SetOptions(c.urlParams_, opts...)
  5234  	res, err := c.doRequest("json")
  5235  	if res != nil && res.StatusCode == http.StatusNotModified {
  5236  		if res.Body != nil {
  5237  			res.Body.Close()
  5238  		}
  5239  		return nil, gensupport.WrapError(&googleapi.Error{
  5240  			Code:   res.StatusCode,
  5241  			Header: res.Header,
  5242  		})
  5243  	}
  5244  	if err != nil {
  5245  		return nil, err
  5246  	}
  5247  	defer googleapi.CloseBody(res)
  5248  	if err := googleapi.CheckResponse(res); err != nil {
  5249  		return nil, gensupport.WrapError(err)
  5250  	}
  5251  	ret := &ListEnvironmentsResponse{
  5252  		ServerResponse: googleapi.ServerResponse{
  5253  			Header:         res.Header,
  5254  			HTTPStatusCode: res.StatusCode,
  5255  		},
  5256  	}
  5257  	target := &ret
  5258  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5259  		return nil, err
  5260  	}
  5261  	return ret, nil
  5262  }
  5263  
  5264  // Pages invokes f for each page of results.
  5265  // A non-nil error returned from f will halt the iteration.
  5266  // The provided context supersedes any context provided to the Context method.
  5267  func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) Pages(ctx context.Context, f func(*ListEnvironmentsResponse) error) error {
  5268  	c.ctx_ = ctx
  5269  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5270  	for {
  5271  		x, err := c.Do()
  5272  		if err != nil {
  5273  			return err
  5274  		}
  5275  		if err := f(x); err != nil {
  5276  			return err
  5277  		}
  5278  		if x.NextPageToken == "" {
  5279  			return nil
  5280  		}
  5281  		c.PageToken(x.NextPageToken)
  5282  	}
  5283  }
  5284  
  5285  type ProjectsHistoriesExecutionsStepsAccessibilityClustersCall struct {
  5286  	s            *Service
  5287  	name         string
  5288  	urlParams_   gensupport.URLParams
  5289  	ifNoneMatch_ string
  5290  	ctx_         context.Context
  5291  	header_      http.Header
  5292  }
  5293  
  5294  // AccessibilityClusters: Lists accessibility clusters for a given Step May
  5295  // return any of the following canonical error codes: - PERMISSION_DENIED - if
  5296  // the user is not authorized to read project - INVALID_ARGUMENT - if the
  5297  // request is malformed - FAILED_PRECONDITION - if an argument in the request
  5298  // happens to be invalid; e.g. if the locale format is incorrect - NOT_FOUND -
  5299  // if the containing Step does not exist
  5300  //
  5301  //   - name: A full resource name of the step. For example,
  5302  //     projects/my-project/histories/bh.1234567890abcdef/executions/
  5303  //     1234567890123456789/steps/bs.1234567890abcdef.
  5304  func (r *ProjectsHistoriesExecutionsStepsService) AccessibilityClusters(name string) *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall {
  5305  	c := &ProjectsHistoriesExecutionsStepsAccessibilityClustersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5306  	c.name = name
  5307  	return c
  5308  }
  5309  
  5310  // Locale sets the optional parameter "locale": The accepted format is the
  5311  // canonical Unicode format with hyphen as a delimiter. Language must be
  5312  // lowercase, Language Script - Capitalized, Region - UPPERCASE. See
  5313  // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier for details.
  5314  // Required.
  5315  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) Locale(locale string) *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall {
  5316  	c.urlParams_.Set("locale", locale)
  5317  	return c
  5318  }
  5319  
  5320  // Fields allows partial responses to be retrieved. See
  5321  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5322  // details.
  5323  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall {
  5324  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5325  	return c
  5326  }
  5327  
  5328  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5329  // object's ETag matches the given value. This is useful for getting updates
  5330  // only after the object has changed since the last request.
  5331  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall {
  5332  	c.ifNoneMatch_ = entityTag
  5333  	return c
  5334  }
  5335  
  5336  // Context sets the context to be used in this call's Do method.
  5337  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall {
  5338  	c.ctx_ = ctx
  5339  	return c
  5340  }
  5341  
  5342  // Header returns a http.Header that can be modified by the caller to add
  5343  // headers to the request.
  5344  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) Header() http.Header {
  5345  	if c.header_ == nil {
  5346  		c.header_ = make(http.Header)
  5347  	}
  5348  	return c.header_
  5349  }
  5350  
  5351  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) doRequest(alt string) (*http.Response, error) {
  5352  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5353  	if c.ifNoneMatch_ != "" {
  5354  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5355  	}
  5356  	var body io.Reader = nil
  5357  	c.urlParams_.Set("alt", alt)
  5358  	c.urlParams_.Set("prettyPrint", "false")
  5359  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/{+name}:accessibilityClusters")
  5360  	urls += "?" + c.urlParams_.Encode()
  5361  	req, err := http.NewRequest("GET", urls, body)
  5362  	if err != nil {
  5363  		return nil, err
  5364  	}
  5365  	req.Header = reqHeaders
  5366  	googleapi.Expand(req.URL, map[string]string{
  5367  		"name": c.name,
  5368  	})
  5369  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5370  }
  5371  
  5372  // Do executes the "toolresults.projects.histories.executions.steps.accessibilityClusters" call.
  5373  // Any non-2xx status code is an error. Response headers are in either
  5374  // *ListStepAccessibilityClustersResponse.ServerResponse.Header or (if a
  5375  // response was returned at all) in error.(*googleapi.Error).Header. Use
  5376  // googleapi.IsNotModified to check whether the returned error was because
  5377  // http.StatusNotModified was returned.
  5378  func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) Do(opts ...googleapi.CallOption) (*ListStepAccessibilityClustersResponse, error) {
  5379  	gensupport.SetOptions(c.urlParams_, opts...)
  5380  	res, err := c.doRequest("json")
  5381  	if res != nil && res.StatusCode == http.StatusNotModified {
  5382  		if res.Body != nil {
  5383  			res.Body.Close()
  5384  		}
  5385  		return nil, gensupport.WrapError(&googleapi.Error{
  5386  			Code:   res.StatusCode,
  5387  			Header: res.Header,
  5388  		})
  5389  	}
  5390  	if err != nil {
  5391  		return nil, err
  5392  	}
  5393  	defer googleapi.CloseBody(res)
  5394  	if err := googleapi.CheckResponse(res); err != nil {
  5395  		return nil, gensupport.WrapError(err)
  5396  	}
  5397  	ret := &ListStepAccessibilityClustersResponse{
  5398  		ServerResponse: googleapi.ServerResponse{
  5399  			Header:         res.Header,
  5400  			HTTPStatusCode: res.StatusCode,
  5401  		},
  5402  	}
  5403  	target := &ret
  5404  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5405  		return nil, err
  5406  	}
  5407  	return ret, nil
  5408  }
  5409  
  5410  type ProjectsHistoriesExecutionsStepsCreateCall struct {
  5411  	s           *Service
  5412  	projectId   string
  5413  	historyId   string
  5414  	executionId string
  5415  	step        *Step
  5416  	urlParams_  gensupport.URLParams
  5417  	ctx_        context.Context
  5418  	header_     http.Header
  5419  }
  5420  
  5421  // Create: Creates a Step. The returned Step will have the id set. May return
  5422  // any of the following canonical error codes: - PERMISSION_DENIED - if the
  5423  // user is not authorized to write to project - INVALID_ARGUMENT - if the
  5424  // request is malformed - FAILED_PRECONDITION - if the step is too large (more
  5425  // than 10Mib) - NOT_FOUND - if the containing Execution does not exist
  5426  //
  5427  // - executionId: An Execution id.
  5428  // - historyId: A History id.
  5429  // - projectId: A Project id.
  5430  func (r *ProjectsHistoriesExecutionsStepsService) Create(projectId string, historyId string, executionId string, step *Step) *ProjectsHistoriesExecutionsStepsCreateCall {
  5431  	c := &ProjectsHistoriesExecutionsStepsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5432  	c.projectId = projectId
  5433  	c.historyId = historyId
  5434  	c.executionId = executionId
  5435  	c.step = step
  5436  	return c
  5437  }
  5438  
  5439  // RequestId sets the optional parameter "requestId": A unique request ID for
  5440  // server to detect duplicated requests. For example, a UUID. Optional, but
  5441  // strongly recommended.
  5442  func (c *ProjectsHistoriesExecutionsStepsCreateCall) RequestId(requestId string) *ProjectsHistoriesExecutionsStepsCreateCall {
  5443  	c.urlParams_.Set("requestId", requestId)
  5444  	return c
  5445  }
  5446  
  5447  // Fields allows partial responses to be retrieved. See
  5448  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5449  // details.
  5450  func (c *ProjectsHistoriesExecutionsStepsCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsCreateCall {
  5451  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5452  	return c
  5453  }
  5454  
  5455  // Context sets the context to be used in this call's Do method.
  5456  func (c *ProjectsHistoriesExecutionsStepsCreateCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsCreateCall {
  5457  	c.ctx_ = ctx
  5458  	return c
  5459  }
  5460  
  5461  // Header returns a http.Header that can be modified by the caller to add
  5462  // headers to the request.
  5463  func (c *ProjectsHistoriesExecutionsStepsCreateCall) Header() http.Header {
  5464  	if c.header_ == nil {
  5465  		c.header_ = make(http.Header)
  5466  	}
  5467  	return c.header_
  5468  }
  5469  
  5470  func (c *ProjectsHistoriesExecutionsStepsCreateCall) doRequest(alt string) (*http.Response, error) {
  5471  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5472  	var body io.Reader = nil
  5473  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.step)
  5474  	if err != nil {
  5475  		return nil, err
  5476  	}
  5477  	c.urlParams_.Set("alt", alt)
  5478  	c.urlParams_.Set("prettyPrint", "false")
  5479  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps")
  5480  	urls += "?" + c.urlParams_.Encode()
  5481  	req, err := http.NewRequest("POST", urls, body)
  5482  	if err != nil {
  5483  		return nil, err
  5484  	}
  5485  	req.Header = reqHeaders
  5486  	googleapi.Expand(req.URL, map[string]string{
  5487  		"projectId":   c.projectId,
  5488  		"historyId":   c.historyId,
  5489  		"executionId": c.executionId,
  5490  	})
  5491  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5492  }
  5493  
  5494  // Do executes the "toolresults.projects.histories.executions.steps.create" call.
  5495  // Any non-2xx status code is an error. Response headers are in either
  5496  // *Step.ServerResponse.Header or (if a response was returned at all) in
  5497  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5498  // whether the returned error was because http.StatusNotModified was returned.
  5499  func (c *ProjectsHistoriesExecutionsStepsCreateCall) Do(opts ...googleapi.CallOption) (*Step, error) {
  5500  	gensupport.SetOptions(c.urlParams_, opts...)
  5501  	res, err := c.doRequest("json")
  5502  	if res != nil && res.StatusCode == http.StatusNotModified {
  5503  		if res.Body != nil {
  5504  			res.Body.Close()
  5505  		}
  5506  		return nil, gensupport.WrapError(&googleapi.Error{
  5507  			Code:   res.StatusCode,
  5508  			Header: res.Header,
  5509  		})
  5510  	}
  5511  	if err != nil {
  5512  		return nil, err
  5513  	}
  5514  	defer googleapi.CloseBody(res)
  5515  	if err := googleapi.CheckResponse(res); err != nil {
  5516  		return nil, gensupport.WrapError(err)
  5517  	}
  5518  	ret := &Step{
  5519  		ServerResponse: googleapi.ServerResponse{
  5520  			Header:         res.Header,
  5521  			HTTPStatusCode: res.StatusCode,
  5522  		},
  5523  	}
  5524  	target := &ret
  5525  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5526  		return nil, err
  5527  	}
  5528  	return ret, nil
  5529  }
  5530  
  5531  type ProjectsHistoriesExecutionsStepsGetCall struct {
  5532  	s            *Service
  5533  	projectId    string
  5534  	historyId    string
  5535  	executionId  string
  5536  	stepId       string
  5537  	urlParams_   gensupport.URLParams
  5538  	ifNoneMatch_ string
  5539  	ctx_         context.Context
  5540  	header_      http.Header
  5541  }
  5542  
  5543  // Get: Gets a Step. May return any of the following canonical error codes: -
  5544  // PERMISSION_DENIED - if the user is not authorized to read project -
  5545  // INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Step
  5546  // does not exist
  5547  //
  5548  // - executionId: A Execution id.
  5549  // - historyId: A History id.
  5550  // - projectId: A Project id.
  5551  // - stepId: A Step id.
  5552  func (r *ProjectsHistoriesExecutionsStepsService) Get(projectId string, historyId string, executionId string, stepId string) *ProjectsHistoriesExecutionsStepsGetCall {
  5553  	c := &ProjectsHistoriesExecutionsStepsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5554  	c.projectId = projectId
  5555  	c.historyId = historyId
  5556  	c.executionId = executionId
  5557  	c.stepId = stepId
  5558  	return c
  5559  }
  5560  
  5561  // Fields allows partial responses to be retrieved. See
  5562  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5563  // details.
  5564  func (c *ProjectsHistoriesExecutionsStepsGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsGetCall {
  5565  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5566  	return c
  5567  }
  5568  
  5569  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5570  // object's ETag matches the given value. This is useful for getting updates
  5571  // only after the object has changed since the last request.
  5572  func (c *ProjectsHistoriesExecutionsStepsGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsGetCall {
  5573  	c.ifNoneMatch_ = entityTag
  5574  	return c
  5575  }
  5576  
  5577  // Context sets the context to be used in this call's Do method.
  5578  func (c *ProjectsHistoriesExecutionsStepsGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsGetCall {
  5579  	c.ctx_ = ctx
  5580  	return c
  5581  }
  5582  
  5583  // Header returns a http.Header that can be modified by the caller to add
  5584  // headers to the request.
  5585  func (c *ProjectsHistoriesExecutionsStepsGetCall) Header() http.Header {
  5586  	if c.header_ == nil {
  5587  		c.header_ = make(http.Header)
  5588  	}
  5589  	return c.header_
  5590  }
  5591  
  5592  func (c *ProjectsHistoriesExecutionsStepsGetCall) doRequest(alt string) (*http.Response, error) {
  5593  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5594  	if c.ifNoneMatch_ != "" {
  5595  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5596  	}
  5597  	var body io.Reader = nil
  5598  	c.urlParams_.Set("alt", alt)
  5599  	c.urlParams_.Set("prettyPrint", "false")
  5600  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}")
  5601  	urls += "?" + c.urlParams_.Encode()
  5602  	req, err := http.NewRequest("GET", urls, body)
  5603  	if err != nil {
  5604  		return nil, err
  5605  	}
  5606  	req.Header = reqHeaders
  5607  	googleapi.Expand(req.URL, map[string]string{
  5608  		"projectId":   c.projectId,
  5609  		"historyId":   c.historyId,
  5610  		"executionId": c.executionId,
  5611  		"stepId":      c.stepId,
  5612  	})
  5613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5614  }
  5615  
  5616  // Do executes the "toolresults.projects.histories.executions.steps.get" call.
  5617  // Any non-2xx status code is an error. Response headers are in either
  5618  // *Step.ServerResponse.Header or (if a response was returned at all) in
  5619  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5620  // whether the returned error was because http.StatusNotModified was returned.
  5621  func (c *ProjectsHistoriesExecutionsStepsGetCall) Do(opts ...googleapi.CallOption) (*Step, error) {
  5622  	gensupport.SetOptions(c.urlParams_, opts...)
  5623  	res, err := c.doRequest("json")
  5624  	if res != nil && res.StatusCode == http.StatusNotModified {
  5625  		if res.Body != nil {
  5626  			res.Body.Close()
  5627  		}
  5628  		return nil, gensupport.WrapError(&googleapi.Error{
  5629  			Code:   res.StatusCode,
  5630  			Header: res.Header,
  5631  		})
  5632  	}
  5633  	if err != nil {
  5634  		return nil, err
  5635  	}
  5636  	defer googleapi.CloseBody(res)
  5637  	if err := googleapi.CheckResponse(res); err != nil {
  5638  		return nil, gensupport.WrapError(err)
  5639  	}
  5640  	ret := &Step{
  5641  		ServerResponse: googleapi.ServerResponse{
  5642  			Header:         res.Header,
  5643  			HTTPStatusCode: res.StatusCode,
  5644  		},
  5645  	}
  5646  	target := &ret
  5647  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5648  		return nil, err
  5649  	}
  5650  	return ret, nil
  5651  }
  5652  
  5653  type ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall struct {
  5654  	s            *Service
  5655  	projectId    string
  5656  	historyId    string
  5657  	executionId  string
  5658  	stepId       string
  5659  	urlParams_   gensupport.URLParams
  5660  	ifNoneMatch_ string
  5661  	ctx_         context.Context
  5662  	header_      http.Header
  5663  }
  5664  
  5665  // GetPerfMetricsSummary: Retrieves a PerfMetricsSummary. May return any of the
  5666  // following error code(s): - NOT_FOUND - The specified PerfMetricsSummary does
  5667  // not exist
  5668  //
  5669  // - executionId: A tool results execution ID.
  5670  // - historyId: A tool results history ID.
  5671  // - projectId: The cloud project.
  5672  // - stepId: A tool results step ID.
  5673  func (r *ProjectsHistoriesExecutionsStepsService) GetPerfMetricsSummary(projectId string, historyId string, executionId string, stepId string) *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall {
  5674  	c := &ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5675  	c.projectId = projectId
  5676  	c.historyId = historyId
  5677  	c.executionId = executionId
  5678  	c.stepId = stepId
  5679  	return c
  5680  }
  5681  
  5682  // Fields allows partial responses to be retrieved. See
  5683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5684  // details.
  5685  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall {
  5686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5687  	return c
  5688  }
  5689  
  5690  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5691  // object's ETag matches the given value. This is useful for getting updates
  5692  // only after the object has changed since the last request.
  5693  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall {
  5694  	c.ifNoneMatch_ = entityTag
  5695  	return c
  5696  }
  5697  
  5698  // Context sets the context to be used in this call's Do method.
  5699  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall {
  5700  	c.ctx_ = ctx
  5701  	return c
  5702  }
  5703  
  5704  // Header returns a http.Header that can be modified by the caller to add
  5705  // headers to the request.
  5706  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) Header() http.Header {
  5707  	if c.header_ == nil {
  5708  		c.header_ = make(http.Header)
  5709  	}
  5710  	return c.header_
  5711  }
  5712  
  5713  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) doRequest(alt string) (*http.Response, error) {
  5714  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5715  	if c.ifNoneMatch_ != "" {
  5716  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5717  	}
  5718  	var body io.Reader = nil
  5719  	c.urlParams_.Set("alt", alt)
  5720  	c.urlParams_.Set("prettyPrint", "false")
  5721  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary")
  5722  	urls += "?" + c.urlParams_.Encode()
  5723  	req, err := http.NewRequest("GET", urls, body)
  5724  	if err != nil {
  5725  		return nil, err
  5726  	}
  5727  	req.Header = reqHeaders
  5728  	googleapi.Expand(req.URL, map[string]string{
  5729  		"projectId":   c.projectId,
  5730  		"historyId":   c.historyId,
  5731  		"executionId": c.executionId,
  5732  		"stepId":      c.stepId,
  5733  	})
  5734  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5735  }
  5736  
  5737  // Do executes the "toolresults.projects.histories.executions.steps.getPerfMetricsSummary" call.
  5738  // Any non-2xx status code is an error. Response headers are in either
  5739  // *PerfMetricsSummary.ServerResponse.Header or (if a response was returned at
  5740  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5741  // check whether the returned error was because http.StatusNotModified was
  5742  // returned.
  5743  func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) Do(opts ...googleapi.CallOption) (*PerfMetricsSummary, error) {
  5744  	gensupport.SetOptions(c.urlParams_, opts...)
  5745  	res, err := c.doRequest("json")
  5746  	if res != nil && res.StatusCode == http.StatusNotModified {
  5747  		if res.Body != nil {
  5748  			res.Body.Close()
  5749  		}
  5750  		return nil, gensupport.WrapError(&googleapi.Error{
  5751  			Code:   res.StatusCode,
  5752  			Header: res.Header,
  5753  		})
  5754  	}
  5755  	if err != nil {
  5756  		return nil, err
  5757  	}
  5758  	defer googleapi.CloseBody(res)
  5759  	if err := googleapi.CheckResponse(res); err != nil {
  5760  		return nil, gensupport.WrapError(err)
  5761  	}
  5762  	ret := &PerfMetricsSummary{
  5763  		ServerResponse: googleapi.ServerResponse{
  5764  			Header:         res.Header,
  5765  			HTTPStatusCode: res.StatusCode,
  5766  		},
  5767  	}
  5768  	target := &ret
  5769  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5770  		return nil, err
  5771  	}
  5772  	return ret, nil
  5773  }
  5774  
  5775  type ProjectsHistoriesExecutionsStepsListCall struct {
  5776  	s            *Service
  5777  	projectId    string
  5778  	historyId    string
  5779  	executionId  string
  5780  	urlParams_   gensupport.URLParams
  5781  	ifNoneMatch_ string
  5782  	ctx_         context.Context
  5783  	header_      http.Header
  5784  }
  5785  
  5786  // List: Lists Steps for a given Execution. The steps are sorted by
  5787  // creation_time in descending order. The step_id key will be used to order the
  5788  // steps with the same creation_time. May return any of the following canonical
  5789  // error codes: - PERMISSION_DENIED - if the user is not authorized to read
  5790  // project - INVALID_ARGUMENT - if the request is malformed -
  5791  // FAILED_PRECONDITION - if an argument in the request happens to be invalid;
  5792  // e.g. if an attempt is made to list the children of a nonexistent Step -
  5793  // NOT_FOUND - if the containing Execution does not exist
  5794  //
  5795  // - executionId: A Execution id.
  5796  // - historyId: A History id.
  5797  // - projectId: A Project id.
  5798  func (r *ProjectsHistoriesExecutionsStepsService) List(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsStepsListCall {
  5799  	c := &ProjectsHistoriesExecutionsStepsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5800  	c.projectId = projectId
  5801  	c.historyId = historyId
  5802  	c.executionId = executionId
  5803  	return c
  5804  }
  5805  
  5806  // PageSize sets the optional parameter "pageSize": The maximum number of Steps
  5807  // to fetch. Default value: 25. The server will use this default if the field
  5808  // is not set or has a value of 0.
  5809  func (c *ProjectsHistoriesExecutionsStepsListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsStepsListCall {
  5810  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5811  	return c
  5812  }
  5813  
  5814  // PageToken sets the optional parameter "pageToken": A continuation token to
  5815  // resume the query at the next item.
  5816  func (c *ProjectsHistoriesExecutionsStepsListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsStepsListCall {
  5817  	c.urlParams_.Set("pageToken", pageToken)
  5818  	return c
  5819  }
  5820  
  5821  // Fields allows partial responses to be retrieved. See
  5822  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5823  // details.
  5824  func (c *ProjectsHistoriesExecutionsStepsListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsListCall {
  5825  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5826  	return c
  5827  }
  5828  
  5829  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5830  // object's ETag matches the given value. This is useful for getting updates
  5831  // only after the object has changed since the last request.
  5832  func (c *ProjectsHistoriesExecutionsStepsListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsListCall {
  5833  	c.ifNoneMatch_ = entityTag
  5834  	return c
  5835  }
  5836  
  5837  // Context sets the context to be used in this call's Do method.
  5838  func (c *ProjectsHistoriesExecutionsStepsListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsListCall {
  5839  	c.ctx_ = ctx
  5840  	return c
  5841  }
  5842  
  5843  // Header returns a http.Header that can be modified by the caller to add
  5844  // headers to the request.
  5845  func (c *ProjectsHistoriesExecutionsStepsListCall) Header() http.Header {
  5846  	if c.header_ == nil {
  5847  		c.header_ = make(http.Header)
  5848  	}
  5849  	return c.header_
  5850  }
  5851  
  5852  func (c *ProjectsHistoriesExecutionsStepsListCall) doRequest(alt string) (*http.Response, error) {
  5853  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5854  	if c.ifNoneMatch_ != "" {
  5855  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5856  	}
  5857  	var body io.Reader = nil
  5858  	c.urlParams_.Set("alt", alt)
  5859  	c.urlParams_.Set("prettyPrint", "false")
  5860  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps")
  5861  	urls += "?" + c.urlParams_.Encode()
  5862  	req, err := http.NewRequest("GET", urls, body)
  5863  	if err != nil {
  5864  		return nil, err
  5865  	}
  5866  	req.Header = reqHeaders
  5867  	googleapi.Expand(req.URL, map[string]string{
  5868  		"projectId":   c.projectId,
  5869  		"historyId":   c.historyId,
  5870  		"executionId": c.executionId,
  5871  	})
  5872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5873  }
  5874  
  5875  // Do executes the "toolresults.projects.histories.executions.steps.list" call.
  5876  // Any non-2xx status code is an error. Response headers are in either
  5877  // *ListStepsResponse.ServerResponse.Header or (if a response was returned at
  5878  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5879  // check whether the returned error was because http.StatusNotModified was
  5880  // returned.
  5881  func (c *ProjectsHistoriesExecutionsStepsListCall) Do(opts ...googleapi.CallOption) (*ListStepsResponse, error) {
  5882  	gensupport.SetOptions(c.urlParams_, opts...)
  5883  	res, err := c.doRequest("json")
  5884  	if res != nil && res.StatusCode == http.StatusNotModified {
  5885  		if res.Body != nil {
  5886  			res.Body.Close()
  5887  		}
  5888  		return nil, gensupport.WrapError(&googleapi.Error{
  5889  			Code:   res.StatusCode,
  5890  			Header: res.Header,
  5891  		})
  5892  	}
  5893  	if err != nil {
  5894  		return nil, err
  5895  	}
  5896  	defer googleapi.CloseBody(res)
  5897  	if err := googleapi.CheckResponse(res); err != nil {
  5898  		return nil, gensupport.WrapError(err)
  5899  	}
  5900  	ret := &ListStepsResponse{
  5901  		ServerResponse: googleapi.ServerResponse{
  5902  			Header:         res.Header,
  5903  			HTTPStatusCode: res.StatusCode,
  5904  		},
  5905  	}
  5906  	target := &ret
  5907  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5908  		return nil, err
  5909  	}
  5910  	return ret, nil
  5911  }
  5912  
  5913  // Pages invokes f for each page of results.
  5914  // A non-nil error returned from f will halt the iteration.
  5915  // The provided context supersedes any context provided to the Context method.
  5916  func (c *ProjectsHistoriesExecutionsStepsListCall) Pages(ctx context.Context, f func(*ListStepsResponse) error) error {
  5917  	c.ctx_ = ctx
  5918  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5919  	for {
  5920  		x, err := c.Do()
  5921  		if err != nil {
  5922  			return err
  5923  		}
  5924  		if err := f(x); err != nil {
  5925  			return err
  5926  		}
  5927  		if x.NextPageToken == "" {
  5928  			return nil
  5929  		}
  5930  		c.PageToken(x.NextPageToken)
  5931  	}
  5932  }
  5933  
  5934  type ProjectsHistoriesExecutionsStepsPatchCall struct {
  5935  	s           *Service
  5936  	projectId   string
  5937  	historyId   string
  5938  	executionId string
  5939  	stepId      string
  5940  	step        *Step
  5941  	urlParams_  gensupport.URLParams
  5942  	ctx_        context.Context
  5943  	header_     http.Header
  5944  }
  5945  
  5946  // Patch: Updates an existing Step with the supplied partial entity. May return
  5947  // any of the following canonical error codes: - PERMISSION_DENIED - if the
  5948  // user is not authorized to write project - INVALID_ARGUMENT - if the request
  5949  // is malformed - FAILED_PRECONDITION - if the requested state transition is
  5950  // illegal (e.g try to upload a duplicate xml file), if the updated step is too
  5951  // large (more than 10Mib) - NOT_FOUND - if the containing Execution does not
  5952  // exist
  5953  //
  5954  // - executionId: A Execution id.
  5955  // - historyId: A History id.
  5956  // - projectId: A Project id.
  5957  // - stepId: A Step id.
  5958  func (r *ProjectsHistoriesExecutionsStepsService) Patch(projectId string, historyId string, executionId string, stepId string, step *Step) *ProjectsHistoriesExecutionsStepsPatchCall {
  5959  	c := &ProjectsHistoriesExecutionsStepsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5960  	c.projectId = projectId
  5961  	c.historyId = historyId
  5962  	c.executionId = executionId
  5963  	c.stepId = stepId
  5964  	c.step = step
  5965  	return c
  5966  }
  5967  
  5968  // RequestId sets the optional parameter "requestId": A unique request ID for
  5969  // server to detect duplicated requests. For example, a UUID. Optional, but
  5970  // strongly recommended.
  5971  func (c *ProjectsHistoriesExecutionsStepsPatchCall) RequestId(requestId string) *ProjectsHistoriesExecutionsStepsPatchCall {
  5972  	c.urlParams_.Set("requestId", requestId)
  5973  	return c
  5974  }
  5975  
  5976  // Fields allows partial responses to be retrieved. See
  5977  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5978  // details.
  5979  func (c *ProjectsHistoriesExecutionsStepsPatchCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPatchCall {
  5980  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5981  	return c
  5982  }
  5983  
  5984  // Context sets the context to be used in this call's Do method.
  5985  func (c *ProjectsHistoriesExecutionsStepsPatchCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPatchCall {
  5986  	c.ctx_ = ctx
  5987  	return c
  5988  }
  5989  
  5990  // Header returns a http.Header that can be modified by the caller to add
  5991  // headers to the request.
  5992  func (c *ProjectsHistoriesExecutionsStepsPatchCall) Header() http.Header {
  5993  	if c.header_ == nil {
  5994  		c.header_ = make(http.Header)
  5995  	}
  5996  	return c.header_
  5997  }
  5998  
  5999  func (c *ProjectsHistoriesExecutionsStepsPatchCall) doRequest(alt string) (*http.Response, error) {
  6000  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6001  	var body io.Reader = nil
  6002  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.step)
  6003  	if err != nil {
  6004  		return nil, err
  6005  	}
  6006  	c.urlParams_.Set("alt", alt)
  6007  	c.urlParams_.Set("prettyPrint", "false")
  6008  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}")
  6009  	urls += "?" + c.urlParams_.Encode()
  6010  	req, err := http.NewRequest("PATCH", urls, body)
  6011  	if err != nil {
  6012  		return nil, err
  6013  	}
  6014  	req.Header = reqHeaders
  6015  	googleapi.Expand(req.URL, map[string]string{
  6016  		"projectId":   c.projectId,
  6017  		"historyId":   c.historyId,
  6018  		"executionId": c.executionId,
  6019  		"stepId":      c.stepId,
  6020  	})
  6021  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6022  }
  6023  
  6024  // Do executes the "toolresults.projects.histories.executions.steps.patch" call.
  6025  // Any non-2xx status code is an error. Response headers are in either
  6026  // *Step.ServerResponse.Header or (if a response was returned at all) in
  6027  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6028  // whether the returned error was because http.StatusNotModified was returned.
  6029  func (c *ProjectsHistoriesExecutionsStepsPatchCall) Do(opts ...googleapi.CallOption) (*Step, error) {
  6030  	gensupport.SetOptions(c.urlParams_, opts...)
  6031  	res, err := c.doRequest("json")
  6032  	if res != nil && res.StatusCode == http.StatusNotModified {
  6033  		if res.Body != nil {
  6034  			res.Body.Close()
  6035  		}
  6036  		return nil, gensupport.WrapError(&googleapi.Error{
  6037  			Code:   res.StatusCode,
  6038  			Header: res.Header,
  6039  		})
  6040  	}
  6041  	if err != nil {
  6042  		return nil, err
  6043  	}
  6044  	defer googleapi.CloseBody(res)
  6045  	if err := googleapi.CheckResponse(res); err != nil {
  6046  		return nil, gensupport.WrapError(err)
  6047  	}
  6048  	ret := &Step{
  6049  		ServerResponse: googleapi.ServerResponse{
  6050  			Header:         res.Header,
  6051  			HTTPStatusCode: res.StatusCode,
  6052  		},
  6053  	}
  6054  	target := &ret
  6055  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6056  		return nil, err
  6057  	}
  6058  	return ret, nil
  6059  }
  6060  
  6061  type ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall struct {
  6062  	s                           *Service
  6063  	projectId                   string
  6064  	historyId                   string
  6065  	executionId                 string
  6066  	stepId                      string
  6067  	publishxunitxmlfilesrequest *PublishXunitXmlFilesRequest
  6068  	urlParams_                  gensupport.URLParams
  6069  	ctx_                        context.Context
  6070  	header_                     http.Header
  6071  }
  6072  
  6073  // PublishXunitXmlFiles: Publish xml files to an existing Step. May return any
  6074  // of the following canonical error codes: - PERMISSION_DENIED - if the user is
  6075  // not authorized to write project - INVALID_ARGUMENT - if the request is
  6076  // malformed - FAILED_PRECONDITION - if the requested state transition is
  6077  // illegal, e.g. try to upload a duplicate xml file or a file too large. -
  6078  // NOT_FOUND - if the containing Execution does not exist
  6079  //
  6080  // - executionId: A Execution id.
  6081  // - historyId: A History id.
  6082  // - projectId: A Project id.
  6083  // - stepId: A Step id. Note: This step must include a TestExecutionStep.
  6084  func (r *ProjectsHistoriesExecutionsStepsService) PublishXunitXmlFiles(projectId string, historyId string, executionId string, stepId string, publishxunitxmlfilesrequest *PublishXunitXmlFilesRequest) *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall {
  6085  	c := &ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6086  	c.projectId = projectId
  6087  	c.historyId = historyId
  6088  	c.executionId = executionId
  6089  	c.stepId = stepId
  6090  	c.publishxunitxmlfilesrequest = publishxunitxmlfilesrequest
  6091  	return c
  6092  }
  6093  
  6094  // Fields allows partial responses to be retrieved. See
  6095  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6096  // details.
  6097  func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall {
  6098  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6099  	return c
  6100  }
  6101  
  6102  // Context sets the context to be used in this call's Do method.
  6103  func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall {
  6104  	c.ctx_ = ctx
  6105  	return c
  6106  }
  6107  
  6108  // Header returns a http.Header that can be modified by the caller to add
  6109  // headers to the request.
  6110  func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) Header() http.Header {
  6111  	if c.header_ == nil {
  6112  		c.header_ = make(http.Header)
  6113  	}
  6114  	return c.header_
  6115  }
  6116  
  6117  func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) doRequest(alt string) (*http.Response, error) {
  6118  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6119  	var body io.Reader = nil
  6120  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.publishxunitxmlfilesrequest)
  6121  	if err != nil {
  6122  		return nil, err
  6123  	}
  6124  	c.urlParams_.Set("alt", alt)
  6125  	c.urlParams_.Set("prettyPrint", "false")
  6126  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles")
  6127  	urls += "?" + c.urlParams_.Encode()
  6128  	req, err := http.NewRequest("POST", urls, body)
  6129  	if err != nil {
  6130  		return nil, err
  6131  	}
  6132  	req.Header = reqHeaders
  6133  	googleapi.Expand(req.URL, map[string]string{
  6134  		"projectId":   c.projectId,
  6135  		"historyId":   c.historyId,
  6136  		"executionId": c.executionId,
  6137  		"stepId":      c.stepId,
  6138  	})
  6139  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6140  }
  6141  
  6142  // Do executes the "toolresults.projects.histories.executions.steps.publishXunitXmlFiles" call.
  6143  // Any non-2xx status code is an error. Response headers are in either
  6144  // *Step.ServerResponse.Header or (if a response was returned at all) in
  6145  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6146  // whether the returned error was because http.StatusNotModified was returned.
  6147  func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) Do(opts ...googleapi.CallOption) (*Step, error) {
  6148  	gensupport.SetOptions(c.urlParams_, opts...)
  6149  	res, err := c.doRequest("json")
  6150  	if res != nil && res.StatusCode == http.StatusNotModified {
  6151  		if res.Body != nil {
  6152  			res.Body.Close()
  6153  		}
  6154  		return nil, gensupport.WrapError(&googleapi.Error{
  6155  			Code:   res.StatusCode,
  6156  			Header: res.Header,
  6157  		})
  6158  	}
  6159  	if err != nil {
  6160  		return nil, err
  6161  	}
  6162  	defer googleapi.CloseBody(res)
  6163  	if err := googleapi.CheckResponse(res); err != nil {
  6164  		return nil, gensupport.WrapError(err)
  6165  	}
  6166  	ret := &Step{
  6167  		ServerResponse: googleapi.ServerResponse{
  6168  			Header:         res.Header,
  6169  			HTTPStatusCode: res.StatusCode,
  6170  		},
  6171  	}
  6172  	target := &ret
  6173  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6174  		return nil, err
  6175  	}
  6176  	return ret, nil
  6177  }
  6178  
  6179  type ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall struct {
  6180  	s                  *Service
  6181  	projectId          string
  6182  	historyId          string
  6183  	executionId        string
  6184  	stepId             string
  6185  	perfmetricssummary *PerfMetricsSummary
  6186  	urlParams_         gensupport.URLParams
  6187  	ctx_               context.Context
  6188  	header_            http.Header
  6189  }
  6190  
  6191  // Create: Creates a PerfMetricsSummary resource. Returns the existing one if
  6192  // it has already been created. May return any of the following error code(s):
  6193  // - NOT_FOUND - The containing Step does not exist
  6194  //
  6195  // - executionId: A tool results execution ID.
  6196  // - historyId: A tool results history ID.
  6197  // - projectId: The cloud project.
  6198  // - stepId: A tool results step ID.
  6199  func (r *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService) Create(projectId string, historyId string, executionId string, stepId string, perfmetricssummary *PerfMetricsSummary) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall {
  6200  	c := &ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6201  	c.projectId = projectId
  6202  	c.historyId = historyId
  6203  	c.executionId = executionId
  6204  	c.stepId = stepId
  6205  	c.perfmetricssummary = perfmetricssummary
  6206  	return c
  6207  }
  6208  
  6209  // Fields allows partial responses to be retrieved. See
  6210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6211  // details.
  6212  func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall {
  6213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6214  	return c
  6215  }
  6216  
  6217  // Context sets the context to be used in this call's Do method.
  6218  func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall {
  6219  	c.ctx_ = ctx
  6220  	return c
  6221  }
  6222  
  6223  // Header returns a http.Header that can be modified by the caller to add
  6224  // headers to the request.
  6225  func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Header() http.Header {
  6226  	if c.header_ == nil {
  6227  		c.header_ = make(http.Header)
  6228  	}
  6229  	return c.header_
  6230  }
  6231  
  6232  func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) doRequest(alt string) (*http.Response, error) {
  6233  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6234  	var body io.Reader = nil
  6235  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.perfmetricssummary)
  6236  	if err != nil {
  6237  		return nil, err
  6238  	}
  6239  	c.urlParams_.Set("alt", alt)
  6240  	c.urlParams_.Set("prettyPrint", "false")
  6241  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary")
  6242  	urls += "?" + c.urlParams_.Encode()
  6243  	req, err := http.NewRequest("POST", urls, body)
  6244  	if err != nil {
  6245  		return nil, err
  6246  	}
  6247  	req.Header = reqHeaders
  6248  	googleapi.Expand(req.URL, map[string]string{
  6249  		"projectId":   c.projectId,
  6250  		"historyId":   c.historyId,
  6251  		"executionId": c.executionId,
  6252  		"stepId":      c.stepId,
  6253  	})
  6254  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6255  }
  6256  
  6257  // Do executes the "toolresults.projects.histories.executions.steps.perfMetricsSummary.create" call.
  6258  // Any non-2xx status code is an error. Response headers are in either
  6259  // *PerfMetricsSummary.ServerResponse.Header or (if a response was returned at
  6260  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6261  // check whether the returned error was because http.StatusNotModified was
  6262  // returned.
  6263  func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Do(opts ...googleapi.CallOption) (*PerfMetricsSummary, error) {
  6264  	gensupport.SetOptions(c.urlParams_, opts...)
  6265  	res, err := c.doRequest("json")
  6266  	if res != nil && res.StatusCode == http.StatusNotModified {
  6267  		if res.Body != nil {
  6268  			res.Body.Close()
  6269  		}
  6270  		return nil, gensupport.WrapError(&googleapi.Error{
  6271  			Code:   res.StatusCode,
  6272  			Header: res.Header,
  6273  		})
  6274  	}
  6275  	if err != nil {
  6276  		return nil, err
  6277  	}
  6278  	defer googleapi.CloseBody(res)
  6279  	if err := googleapi.CheckResponse(res); err != nil {
  6280  		return nil, gensupport.WrapError(err)
  6281  	}
  6282  	ret := &PerfMetricsSummary{
  6283  		ServerResponse: googleapi.ServerResponse{
  6284  			Header:         res.Header,
  6285  			HTTPStatusCode: res.StatusCode,
  6286  		},
  6287  	}
  6288  	target := &ret
  6289  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6290  		return nil, err
  6291  	}
  6292  	return ret, nil
  6293  }
  6294  
  6295  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall struct {
  6296  	s                *Service
  6297  	projectId        string
  6298  	historyId        string
  6299  	executionId      string
  6300  	stepId           string
  6301  	perfsampleseries *PerfSampleSeries
  6302  	urlParams_       gensupport.URLParams
  6303  	ctx_             context.Context
  6304  	header_          http.Header
  6305  }
  6306  
  6307  // Create: Creates a PerfSampleSeries. May return any of the following error
  6308  // code(s): - ALREADY_EXISTS - PerfMetricSummary already exists for the given
  6309  // Step - NOT_FOUND - The containing Step does not exist
  6310  //
  6311  // - executionId: A tool results execution ID.
  6312  // - historyId: A tool results history ID.
  6313  // - projectId: The cloud project.
  6314  // - stepId: A tool results step ID.
  6315  func (r *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService) Create(projectId string, historyId string, executionId string, stepId string, perfsampleseries *PerfSampleSeries) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall {
  6316  	c := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6317  	c.projectId = projectId
  6318  	c.historyId = historyId
  6319  	c.executionId = executionId
  6320  	c.stepId = stepId
  6321  	c.perfsampleseries = perfsampleseries
  6322  	return c
  6323  }
  6324  
  6325  // Fields allows partial responses to be retrieved. See
  6326  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6327  // details.
  6328  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall {
  6329  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6330  	return c
  6331  }
  6332  
  6333  // Context sets the context to be used in this call's Do method.
  6334  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall {
  6335  	c.ctx_ = ctx
  6336  	return c
  6337  }
  6338  
  6339  // Header returns a http.Header that can be modified by the caller to add
  6340  // headers to the request.
  6341  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) Header() http.Header {
  6342  	if c.header_ == nil {
  6343  		c.header_ = make(http.Header)
  6344  	}
  6345  	return c.header_
  6346  }
  6347  
  6348  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) doRequest(alt string) (*http.Response, error) {
  6349  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6350  	var body io.Reader = nil
  6351  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.perfsampleseries)
  6352  	if err != nil {
  6353  		return nil, err
  6354  	}
  6355  	c.urlParams_.Set("alt", alt)
  6356  	c.urlParams_.Set("prettyPrint", "false")
  6357  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries")
  6358  	urls += "?" + c.urlParams_.Encode()
  6359  	req, err := http.NewRequest("POST", urls, body)
  6360  	if err != nil {
  6361  		return nil, err
  6362  	}
  6363  	req.Header = reqHeaders
  6364  	googleapi.Expand(req.URL, map[string]string{
  6365  		"projectId":   c.projectId,
  6366  		"historyId":   c.historyId,
  6367  		"executionId": c.executionId,
  6368  		"stepId":      c.stepId,
  6369  	})
  6370  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6371  }
  6372  
  6373  // Do executes the "toolresults.projects.histories.executions.steps.perfSampleSeries.create" call.
  6374  // Any non-2xx status code is an error. Response headers are in either
  6375  // *PerfSampleSeries.ServerResponse.Header or (if a response was returned at
  6376  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6377  // check whether the returned error was because http.StatusNotModified was
  6378  // returned.
  6379  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) Do(opts ...googleapi.CallOption) (*PerfSampleSeries, error) {
  6380  	gensupport.SetOptions(c.urlParams_, opts...)
  6381  	res, err := c.doRequest("json")
  6382  	if res != nil && res.StatusCode == http.StatusNotModified {
  6383  		if res.Body != nil {
  6384  			res.Body.Close()
  6385  		}
  6386  		return nil, gensupport.WrapError(&googleapi.Error{
  6387  			Code:   res.StatusCode,
  6388  			Header: res.Header,
  6389  		})
  6390  	}
  6391  	if err != nil {
  6392  		return nil, err
  6393  	}
  6394  	defer googleapi.CloseBody(res)
  6395  	if err := googleapi.CheckResponse(res); err != nil {
  6396  		return nil, gensupport.WrapError(err)
  6397  	}
  6398  	ret := &PerfSampleSeries{
  6399  		ServerResponse: googleapi.ServerResponse{
  6400  			Header:         res.Header,
  6401  			HTTPStatusCode: res.StatusCode,
  6402  		},
  6403  	}
  6404  	target := &ret
  6405  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6406  		return nil, err
  6407  	}
  6408  	return ret, nil
  6409  }
  6410  
  6411  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall struct {
  6412  	s              *Service
  6413  	projectId      string
  6414  	historyId      string
  6415  	executionId    string
  6416  	stepId         string
  6417  	sampleSeriesId string
  6418  	urlParams_     gensupport.URLParams
  6419  	ifNoneMatch_   string
  6420  	ctx_           context.Context
  6421  	header_        http.Header
  6422  }
  6423  
  6424  // Get: Gets a PerfSampleSeries. May return any of the following error code(s):
  6425  // - NOT_FOUND - The specified PerfSampleSeries does not exist
  6426  //
  6427  // - executionId: A tool results execution ID.
  6428  // - historyId: A tool results history ID.
  6429  // - projectId: The cloud project.
  6430  // - sampleSeriesId: A sample series id.
  6431  // - stepId: A tool results step ID.
  6432  func (r *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService) Get(projectId string, historyId string, executionId string, stepId string, sampleSeriesId string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall {
  6433  	c := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6434  	c.projectId = projectId
  6435  	c.historyId = historyId
  6436  	c.executionId = executionId
  6437  	c.stepId = stepId
  6438  	c.sampleSeriesId = sampleSeriesId
  6439  	return c
  6440  }
  6441  
  6442  // Fields allows partial responses to be retrieved. See
  6443  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6444  // details.
  6445  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall {
  6446  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6447  	return c
  6448  }
  6449  
  6450  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6451  // object's ETag matches the given value. This is useful for getting updates
  6452  // only after the object has changed since the last request.
  6453  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall {
  6454  	c.ifNoneMatch_ = entityTag
  6455  	return c
  6456  }
  6457  
  6458  // Context sets the context to be used in this call's Do method.
  6459  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall {
  6460  	c.ctx_ = ctx
  6461  	return c
  6462  }
  6463  
  6464  // Header returns a http.Header that can be modified by the caller to add
  6465  // headers to the request.
  6466  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) Header() http.Header {
  6467  	if c.header_ == nil {
  6468  		c.header_ = make(http.Header)
  6469  	}
  6470  	return c.header_
  6471  }
  6472  
  6473  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) doRequest(alt string) (*http.Response, error) {
  6474  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6475  	if c.ifNoneMatch_ != "" {
  6476  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6477  	}
  6478  	var body io.Reader = nil
  6479  	c.urlParams_.Set("alt", alt)
  6480  	c.urlParams_.Set("prettyPrint", "false")
  6481  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}")
  6482  	urls += "?" + c.urlParams_.Encode()
  6483  	req, err := http.NewRequest("GET", urls, body)
  6484  	if err != nil {
  6485  		return nil, err
  6486  	}
  6487  	req.Header = reqHeaders
  6488  	googleapi.Expand(req.URL, map[string]string{
  6489  		"projectId":      c.projectId,
  6490  		"historyId":      c.historyId,
  6491  		"executionId":    c.executionId,
  6492  		"stepId":         c.stepId,
  6493  		"sampleSeriesId": c.sampleSeriesId,
  6494  	})
  6495  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6496  }
  6497  
  6498  // Do executes the "toolresults.projects.histories.executions.steps.perfSampleSeries.get" call.
  6499  // Any non-2xx status code is an error. Response headers are in either
  6500  // *PerfSampleSeries.ServerResponse.Header or (if a response was returned at
  6501  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6502  // check whether the returned error was because http.StatusNotModified was
  6503  // returned.
  6504  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) Do(opts ...googleapi.CallOption) (*PerfSampleSeries, error) {
  6505  	gensupport.SetOptions(c.urlParams_, opts...)
  6506  	res, err := c.doRequest("json")
  6507  	if res != nil && res.StatusCode == http.StatusNotModified {
  6508  		if res.Body != nil {
  6509  			res.Body.Close()
  6510  		}
  6511  		return nil, gensupport.WrapError(&googleapi.Error{
  6512  			Code:   res.StatusCode,
  6513  			Header: res.Header,
  6514  		})
  6515  	}
  6516  	if err != nil {
  6517  		return nil, err
  6518  	}
  6519  	defer googleapi.CloseBody(res)
  6520  	if err := googleapi.CheckResponse(res); err != nil {
  6521  		return nil, gensupport.WrapError(err)
  6522  	}
  6523  	ret := &PerfSampleSeries{
  6524  		ServerResponse: googleapi.ServerResponse{
  6525  			Header:         res.Header,
  6526  			HTTPStatusCode: res.StatusCode,
  6527  		},
  6528  	}
  6529  	target := &ret
  6530  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6531  		return nil, err
  6532  	}
  6533  	return ret, nil
  6534  }
  6535  
  6536  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall struct {
  6537  	s            *Service
  6538  	projectId    string
  6539  	historyId    string
  6540  	executionId  string
  6541  	stepId       string
  6542  	urlParams_   gensupport.URLParams
  6543  	ifNoneMatch_ string
  6544  	ctx_         context.Context
  6545  	header_      http.Header
  6546  }
  6547  
  6548  // List: Lists PerfSampleSeries for a given Step. The request provides an
  6549  // optional filter which specifies one or more PerfMetricsType to include in
  6550  // the result; if none returns all. The resulting PerfSampleSeries are sorted
  6551  // by ids. May return any of the following canonical error codes: - NOT_FOUND -
  6552  // The containing Step does not exist
  6553  //
  6554  // - executionId: A tool results execution ID.
  6555  // - historyId: A tool results history ID.
  6556  // - projectId: The cloud project.
  6557  // - stepId: A tool results step ID.
  6558  func (r *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService) List(projectId string, historyId string, executionId string, stepId string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall {
  6559  	c := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6560  	c.projectId = projectId
  6561  	c.historyId = historyId
  6562  	c.executionId = executionId
  6563  	c.stepId = stepId
  6564  	return c
  6565  }
  6566  
  6567  // Filter sets the optional parameter "filter": Specify one or more
  6568  // PerfMetricType values such as CPU to filter the result
  6569  //
  6570  // Possible values:
  6571  //
  6572  //	"perfMetricTypeUnspecified"
  6573  //	"memory"
  6574  //	"cpu"
  6575  //	"network"
  6576  //	"graphics"
  6577  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) Filter(filter ...string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall {
  6578  	c.urlParams_.SetMulti("filter", append([]string{}, filter...))
  6579  	return c
  6580  }
  6581  
  6582  // Fields allows partial responses to be retrieved. See
  6583  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6584  // details.
  6585  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall {
  6586  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6587  	return c
  6588  }
  6589  
  6590  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6591  // object's ETag matches the given value. This is useful for getting updates
  6592  // only after the object has changed since the last request.
  6593  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall {
  6594  	c.ifNoneMatch_ = entityTag
  6595  	return c
  6596  }
  6597  
  6598  // Context sets the context to be used in this call's Do method.
  6599  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall {
  6600  	c.ctx_ = ctx
  6601  	return c
  6602  }
  6603  
  6604  // Header returns a http.Header that can be modified by the caller to add
  6605  // headers to the request.
  6606  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) Header() http.Header {
  6607  	if c.header_ == nil {
  6608  		c.header_ = make(http.Header)
  6609  	}
  6610  	return c.header_
  6611  }
  6612  
  6613  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) doRequest(alt string) (*http.Response, error) {
  6614  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6615  	if c.ifNoneMatch_ != "" {
  6616  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6617  	}
  6618  	var body io.Reader = nil
  6619  	c.urlParams_.Set("alt", alt)
  6620  	c.urlParams_.Set("prettyPrint", "false")
  6621  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries")
  6622  	urls += "?" + c.urlParams_.Encode()
  6623  	req, err := http.NewRequest("GET", urls, body)
  6624  	if err != nil {
  6625  		return nil, err
  6626  	}
  6627  	req.Header = reqHeaders
  6628  	googleapi.Expand(req.URL, map[string]string{
  6629  		"projectId":   c.projectId,
  6630  		"historyId":   c.historyId,
  6631  		"executionId": c.executionId,
  6632  		"stepId":      c.stepId,
  6633  	})
  6634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6635  }
  6636  
  6637  // Do executes the "toolresults.projects.histories.executions.steps.perfSampleSeries.list" call.
  6638  // Any non-2xx status code is an error. Response headers are in either
  6639  // *ListPerfSampleSeriesResponse.ServerResponse.Header or (if a response was
  6640  // returned at all) in error.(*googleapi.Error).Header. Use
  6641  // googleapi.IsNotModified to check whether the returned error was because
  6642  // http.StatusNotModified was returned.
  6643  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) Do(opts ...googleapi.CallOption) (*ListPerfSampleSeriesResponse, error) {
  6644  	gensupport.SetOptions(c.urlParams_, opts...)
  6645  	res, err := c.doRequest("json")
  6646  	if res != nil && res.StatusCode == http.StatusNotModified {
  6647  		if res.Body != nil {
  6648  			res.Body.Close()
  6649  		}
  6650  		return nil, gensupport.WrapError(&googleapi.Error{
  6651  			Code:   res.StatusCode,
  6652  			Header: res.Header,
  6653  		})
  6654  	}
  6655  	if err != nil {
  6656  		return nil, err
  6657  	}
  6658  	defer googleapi.CloseBody(res)
  6659  	if err := googleapi.CheckResponse(res); err != nil {
  6660  		return nil, gensupport.WrapError(err)
  6661  	}
  6662  	ret := &ListPerfSampleSeriesResponse{
  6663  		ServerResponse: googleapi.ServerResponse{
  6664  			Header:         res.Header,
  6665  			HTTPStatusCode: res.StatusCode,
  6666  		},
  6667  	}
  6668  	target := &ret
  6669  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6670  		return nil, err
  6671  	}
  6672  	return ret, nil
  6673  }
  6674  
  6675  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall struct {
  6676  	s                             *Service
  6677  	projectId                     string
  6678  	historyId                     string
  6679  	executionId                   string
  6680  	stepId                        string
  6681  	sampleSeriesId                string
  6682  	batchcreateperfsamplesrequest *BatchCreatePerfSamplesRequest
  6683  	urlParams_                    gensupport.URLParams
  6684  	ctx_                          context.Context
  6685  	header_                       http.Header
  6686  }
  6687  
  6688  // BatchCreate: Creates a batch of PerfSamples - a client can submit multiple
  6689  // batches of Perf Samples through repeated calls to this method in order to
  6690  // split up a large request payload - duplicates and existing timestamp entries
  6691  // will be ignored. - the batch operation may partially succeed - the set of
  6692  // elements successfully inserted is returned in the response (omits items
  6693  // which already existed in the database). May return any of the following
  6694  // canonical error codes: - NOT_FOUND - The containing PerfSampleSeries does
  6695  // not exist
  6696  //
  6697  // - executionId: A tool results execution ID.
  6698  // - historyId: A tool results history ID.
  6699  // - projectId: The cloud project.
  6700  // - sampleSeriesId: A sample series id.
  6701  // - stepId: A tool results step ID.
  6702  func (r *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService) BatchCreate(projectId string, historyId string, executionId string, stepId string, sampleSeriesId string, batchcreateperfsamplesrequest *BatchCreatePerfSamplesRequest) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall {
  6703  	c := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6704  	c.projectId = projectId
  6705  	c.historyId = historyId
  6706  	c.executionId = executionId
  6707  	c.stepId = stepId
  6708  	c.sampleSeriesId = sampleSeriesId
  6709  	c.batchcreateperfsamplesrequest = batchcreateperfsamplesrequest
  6710  	return c
  6711  }
  6712  
  6713  // Fields allows partial responses to be retrieved. See
  6714  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6715  // details.
  6716  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall {
  6717  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6718  	return c
  6719  }
  6720  
  6721  // Context sets the context to be used in this call's Do method.
  6722  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall {
  6723  	c.ctx_ = ctx
  6724  	return c
  6725  }
  6726  
  6727  // Header returns a http.Header that can be modified by the caller to add
  6728  // headers to the request.
  6729  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) Header() http.Header {
  6730  	if c.header_ == nil {
  6731  		c.header_ = make(http.Header)
  6732  	}
  6733  	return c.header_
  6734  }
  6735  
  6736  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
  6737  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6738  	var body io.Reader = nil
  6739  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchcreateperfsamplesrequest)
  6740  	if err != nil {
  6741  		return nil, err
  6742  	}
  6743  	c.urlParams_.Set("alt", alt)
  6744  	c.urlParams_.Set("prettyPrint", "false")
  6745  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate")
  6746  	urls += "?" + c.urlParams_.Encode()
  6747  	req, err := http.NewRequest("POST", urls, body)
  6748  	if err != nil {
  6749  		return nil, err
  6750  	}
  6751  	req.Header = reqHeaders
  6752  	googleapi.Expand(req.URL, map[string]string{
  6753  		"projectId":      c.projectId,
  6754  		"historyId":      c.historyId,
  6755  		"executionId":    c.executionId,
  6756  		"stepId":         c.stepId,
  6757  		"sampleSeriesId": c.sampleSeriesId,
  6758  	})
  6759  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6760  }
  6761  
  6762  // Do executes the "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate" call.
  6763  // Any non-2xx status code is an error. Response headers are in either
  6764  // *BatchCreatePerfSamplesResponse.ServerResponse.Header or (if a response was
  6765  // returned at all) in error.(*googleapi.Error).Header. Use
  6766  // googleapi.IsNotModified to check whether the returned error was because
  6767  // http.StatusNotModified was returned.
  6768  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) Do(opts ...googleapi.CallOption) (*BatchCreatePerfSamplesResponse, error) {
  6769  	gensupport.SetOptions(c.urlParams_, opts...)
  6770  	res, err := c.doRequest("json")
  6771  	if res != nil && res.StatusCode == http.StatusNotModified {
  6772  		if res.Body != nil {
  6773  			res.Body.Close()
  6774  		}
  6775  		return nil, gensupport.WrapError(&googleapi.Error{
  6776  			Code:   res.StatusCode,
  6777  			Header: res.Header,
  6778  		})
  6779  	}
  6780  	if err != nil {
  6781  		return nil, err
  6782  	}
  6783  	defer googleapi.CloseBody(res)
  6784  	if err := googleapi.CheckResponse(res); err != nil {
  6785  		return nil, gensupport.WrapError(err)
  6786  	}
  6787  	ret := &BatchCreatePerfSamplesResponse{
  6788  		ServerResponse: googleapi.ServerResponse{
  6789  			Header:         res.Header,
  6790  			HTTPStatusCode: res.StatusCode,
  6791  		},
  6792  	}
  6793  	target := &ret
  6794  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6795  		return nil, err
  6796  	}
  6797  	return ret, nil
  6798  }
  6799  
  6800  type ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall struct {
  6801  	s              *Service
  6802  	projectId      string
  6803  	historyId      string
  6804  	executionId    string
  6805  	stepId         string
  6806  	sampleSeriesId string
  6807  	urlParams_     gensupport.URLParams
  6808  	ifNoneMatch_   string
  6809  	ctx_           context.Context
  6810  	header_        http.Header
  6811  }
  6812  
  6813  // List: Lists the Performance Samples of a given Sample Series - The list
  6814  // results are sorted by timestamps ascending - The default page size is 500
  6815  // samples; and maximum size allowed 5000 - The response token indicates the
  6816  // last returned PerfSample timestamp - When the results size exceeds the page
  6817  // size, submit a subsequent request including the page token to return the
  6818  // rest of the samples up to the page limit May return any of the following
  6819  // canonical error codes: - OUT_OF_RANGE - The specified request page_token is
  6820  // out of valid range - NOT_FOUND - The containing PerfSampleSeries does not
  6821  // exist
  6822  //
  6823  // - executionId: A tool results execution ID.
  6824  // - historyId: A tool results history ID.
  6825  // - projectId: The cloud project.
  6826  // - sampleSeriesId: A sample series id.
  6827  // - stepId: A tool results step ID.
  6828  func (r *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService) List(projectId string, historyId string, executionId string, stepId string, sampleSeriesId string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6829  	c := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6830  	c.projectId = projectId
  6831  	c.historyId = historyId
  6832  	c.executionId = executionId
  6833  	c.stepId = stepId
  6834  	c.sampleSeriesId = sampleSeriesId
  6835  	return c
  6836  }
  6837  
  6838  // PageSize sets the optional parameter "pageSize": The default page size is
  6839  // 500 samples, and the maximum size is 5000. If the page_size is greater than
  6840  // 5000, the effective page size will be 5000
  6841  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6842  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6843  	return c
  6844  }
  6845  
  6846  // PageToken sets the optional parameter "pageToken": Optional, the
  6847  // next_page_token returned in the previous response
  6848  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6849  	c.urlParams_.Set("pageToken", pageToken)
  6850  	return c
  6851  }
  6852  
  6853  // Fields allows partial responses to be retrieved. See
  6854  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6855  // details.
  6856  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6857  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6858  	return c
  6859  }
  6860  
  6861  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6862  // object's ETag matches the given value. This is useful for getting updates
  6863  // only after the object has changed since the last request.
  6864  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6865  	c.ifNoneMatch_ = entityTag
  6866  	return c
  6867  }
  6868  
  6869  // Context sets the context to be used in this call's Do method.
  6870  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall {
  6871  	c.ctx_ = ctx
  6872  	return c
  6873  }
  6874  
  6875  // Header returns a http.Header that can be modified by the caller to add
  6876  // headers to the request.
  6877  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) Header() http.Header {
  6878  	if c.header_ == nil {
  6879  		c.header_ = make(http.Header)
  6880  	}
  6881  	return c.header_
  6882  }
  6883  
  6884  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) doRequest(alt string) (*http.Response, error) {
  6885  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6886  	if c.ifNoneMatch_ != "" {
  6887  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6888  	}
  6889  	var body io.Reader = nil
  6890  	c.urlParams_.Set("alt", alt)
  6891  	c.urlParams_.Set("prettyPrint", "false")
  6892  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples")
  6893  	urls += "?" + c.urlParams_.Encode()
  6894  	req, err := http.NewRequest("GET", urls, body)
  6895  	if err != nil {
  6896  		return nil, err
  6897  	}
  6898  	req.Header = reqHeaders
  6899  	googleapi.Expand(req.URL, map[string]string{
  6900  		"projectId":      c.projectId,
  6901  		"historyId":      c.historyId,
  6902  		"executionId":    c.executionId,
  6903  		"stepId":         c.stepId,
  6904  		"sampleSeriesId": c.sampleSeriesId,
  6905  	})
  6906  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6907  }
  6908  
  6909  // Do executes the "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list" call.
  6910  // Any non-2xx status code is an error. Response headers are in either
  6911  // *ListPerfSamplesResponse.ServerResponse.Header or (if a response was
  6912  // returned at all) in error.(*googleapi.Error).Header. Use
  6913  // googleapi.IsNotModified to check whether the returned error was because
  6914  // http.StatusNotModified was returned.
  6915  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) Do(opts ...googleapi.CallOption) (*ListPerfSamplesResponse, error) {
  6916  	gensupport.SetOptions(c.urlParams_, opts...)
  6917  	res, err := c.doRequest("json")
  6918  	if res != nil && res.StatusCode == http.StatusNotModified {
  6919  		if res.Body != nil {
  6920  			res.Body.Close()
  6921  		}
  6922  		return nil, gensupport.WrapError(&googleapi.Error{
  6923  			Code:   res.StatusCode,
  6924  			Header: res.Header,
  6925  		})
  6926  	}
  6927  	if err != nil {
  6928  		return nil, err
  6929  	}
  6930  	defer googleapi.CloseBody(res)
  6931  	if err := googleapi.CheckResponse(res); err != nil {
  6932  		return nil, gensupport.WrapError(err)
  6933  	}
  6934  	ret := &ListPerfSamplesResponse{
  6935  		ServerResponse: googleapi.ServerResponse{
  6936  			Header:         res.Header,
  6937  			HTTPStatusCode: res.StatusCode,
  6938  		},
  6939  	}
  6940  	target := &ret
  6941  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6942  		return nil, err
  6943  	}
  6944  	return ret, nil
  6945  }
  6946  
  6947  // Pages invokes f for each page of results.
  6948  // A non-nil error returned from f will halt the iteration.
  6949  // The provided context supersedes any context provided to the Context method.
  6950  func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) Pages(ctx context.Context, f func(*ListPerfSamplesResponse) error) error {
  6951  	c.ctx_ = ctx
  6952  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6953  	for {
  6954  		x, err := c.Do()
  6955  		if err != nil {
  6956  			return err
  6957  		}
  6958  		if err := f(x); err != nil {
  6959  			return err
  6960  		}
  6961  		if x.NextPageToken == "" {
  6962  			return nil
  6963  		}
  6964  		c.PageToken(x.NextPageToken)
  6965  	}
  6966  }
  6967  
  6968  type ProjectsHistoriesExecutionsStepsTestCasesGetCall struct {
  6969  	s            *Service
  6970  	projectId    string
  6971  	historyId    string
  6972  	executionId  string
  6973  	stepId       string
  6974  	testCaseId   string
  6975  	urlParams_   gensupport.URLParams
  6976  	ifNoneMatch_ string
  6977  	ctx_         context.Context
  6978  	header_      http.Header
  6979  }
  6980  
  6981  // Get: Gets details of a Test Case for a Step. Experimental test cases API.
  6982  // Still in active development. May return any of the following canonical error
  6983  // codes: - PERMISSION_DENIED - if the user is not authorized to write to
  6984  // project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if
  6985  // the containing Test Case does not exist
  6986  //
  6987  // - executionId: A Execution id.
  6988  // - historyId: A History id.
  6989  // - projectId: A Project id.
  6990  // - stepId: A Step id. Note: This step must include a TestExecutionStep.
  6991  // - testCaseId: A Test Case id.
  6992  func (r *ProjectsHistoriesExecutionsStepsTestCasesService) Get(projectId string, historyId string, executionId string, stepId string, testCaseId string) *ProjectsHistoriesExecutionsStepsTestCasesGetCall {
  6993  	c := &ProjectsHistoriesExecutionsStepsTestCasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6994  	c.projectId = projectId
  6995  	c.historyId = historyId
  6996  	c.executionId = executionId
  6997  	c.stepId = stepId
  6998  	c.testCaseId = testCaseId
  6999  	return c
  7000  }
  7001  
  7002  // Fields allows partial responses to be retrieved. See
  7003  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7004  // details.
  7005  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsTestCasesGetCall {
  7006  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7007  	return c
  7008  }
  7009  
  7010  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7011  // object's ETag matches the given value. This is useful for getting updates
  7012  // only after the object has changed since the last request.
  7013  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsTestCasesGetCall {
  7014  	c.ifNoneMatch_ = entityTag
  7015  	return c
  7016  }
  7017  
  7018  // Context sets the context to be used in this call's Do method.
  7019  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsTestCasesGetCall {
  7020  	c.ctx_ = ctx
  7021  	return c
  7022  }
  7023  
  7024  // Header returns a http.Header that can be modified by the caller to add
  7025  // headers to the request.
  7026  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) Header() http.Header {
  7027  	if c.header_ == nil {
  7028  		c.header_ = make(http.Header)
  7029  	}
  7030  	return c.header_
  7031  }
  7032  
  7033  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) doRequest(alt string) (*http.Response, error) {
  7034  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7035  	if c.ifNoneMatch_ != "" {
  7036  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7037  	}
  7038  	var body io.Reader = nil
  7039  	c.urlParams_.Set("alt", alt)
  7040  	c.urlParams_.Set("prettyPrint", "false")
  7041  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}")
  7042  	urls += "?" + c.urlParams_.Encode()
  7043  	req, err := http.NewRequest("GET", urls, body)
  7044  	if err != nil {
  7045  		return nil, err
  7046  	}
  7047  	req.Header = reqHeaders
  7048  	googleapi.Expand(req.URL, map[string]string{
  7049  		"projectId":   c.projectId,
  7050  		"historyId":   c.historyId,
  7051  		"executionId": c.executionId,
  7052  		"stepId":      c.stepId,
  7053  		"testCaseId":  c.testCaseId,
  7054  	})
  7055  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7056  }
  7057  
  7058  // Do executes the "toolresults.projects.histories.executions.steps.testCases.get" call.
  7059  // Any non-2xx status code is an error. Response headers are in either
  7060  // *TestCase.ServerResponse.Header or (if a response was returned at all) in
  7061  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7062  // whether the returned error was because http.StatusNotModified was returned.
  7063  func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) Do(opts ...googleapi.CallOption) (*TestCase, error) {
  7064  	gensupport.SetOptions(c.urlParams_, opts...)
  7065  	res, err := c.doRequest("json")
  7066  	if res != nil && res.StatusCode == http.StatusNotModified {
  7067  		if res.Body != nil {
  7068  			res.Body.Close()
  7069  		}
  7070  		return nil, gensupport.WrapError(&googleapi.Error{
  7071  			Code:   res.StatusCode,
  7072  			Header: res.Header,
  7073  		})
  7074  	}
  7075  	if err != nil {
  7076  		return nil, err
  7077  	}
  7078  	defer googleapi.CloseBody(res)
  7079  	if err := googleapi.CheckResponse(res); err != nil {
  7080  		return nil, gensupport.WrapError(err)
  7081  	}
  7082  	ret := &TestCase{
  7083  		ServerResponse: googleapi.ServerResponse{
  7084  			Header:         res.Header,
  7085  			HTTPStatusCode: res.StatusCode,
  7086  		},
  7087  	}
  7088  	target := &ret
  7089  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7090  		return nil, err
  7091  	}
  7092  	return ret, nil
  7093  }
  7094  
  7095  type ProjectsHistoriesExecutionsStepsTestCasesListCall struct {
  7096  	s            *Service
  7097  	projectId    string
  7098  	historyId    string
  7099  	executionId  string
  7100  	stepId       string
  7101  	urlParams_   gensupport.URLParams
  7102  	ifNoneMatch_ string
  7103  	ctx_         context.Context
  7104  	header_      http.Header
  7105  }
  7106  
  7107  // List: Lists Test Cases attached to a Step. Experimental test cases API.
  7108  // Still in active development. May return any of the following canonical error
  7109  // codes: - PERMISSION_DENIED - if the user is not authorized to write to
  7110  // project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if
  7111  // the containing Step does not exist
  7112  //
  7113  // - executionId: A Execution id.
  7114  // - historyId: A History id.
  7115  // - projectId: A Project id.
  7116  // - stepId: A Step id. Note: This step must include a TestExecutionStep.
  7117  func (r *ProjectsHistoriesExecutionsStepsTestCasesService) List(projectId string, historyId string, executionId string, stepId string) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7118  	c := &ProjectsHistoriesExecutionsStepsTestCasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7119  	c.projectId = projectId
  7120  	c.historyId = historyId
  7121  	c.executionId = executionId
  7122  	c.stepId = stepId
  7123  	return c
  7124  }
  7125  
  7126  // PageSize sets the optional parameter "pageSize": The maximum number of
  7127  // TestCases to fetch. Default value: 100. The server will use this default if
  7128  // the field is not set or has a value of 0.
  7129  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7130  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7131  	return c
  7132  }
  7133  
  7134  // PageToken sets the optional parameter "pageToken": A continuation token to
  7135  // resume the query at the next item.
  7136  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7137  	c.urlParams_.Set("pageToken", pageToken)
  7138  	return c
  7139  }
  7140  
  7141  // Fields allows partial responses to be retrieved. See
  7142  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7143  // details.
  7144  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7145  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7146  	return c
  7147  }
  7148  
  7149  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7150  // object's ETag matches the given value. This is useful for getting updates
  7151  // only after the object has changed since the last request.
  7152  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7153  	c.ifNoneMatch_ = entityTag
  7154  	return c
  7155  }
  7156  
  7157  // Context sets the context to be used in this call's Do method.
  7158  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsTestCasesListCall {
  7159  	c.ctx_ = ctx
  7160  	return c
  7161  }
  7162  
  7163  // Header returns a http.Header that can be modified by the caller to add
  7164  // headers to the request.
  7165  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) Header() http.Header {
  7166  	if c.header_ == nil {
  7167  		c.header_ = make(http.Header)
  7168  	}
  7169  	return c.header_
  7170  }
  7171  
  7172  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) doRequest(alt string) (*http.Response, error) {
  7173  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7174  	if c.ifNoneMatch_ != "" {
  7175  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7176  	}
  7177  	var body io.Reader = nil
  7178  	c.urlParams_.Set("alt", alt)
  7179  	c.urlParams_.Set("prettyPrint", "false")
  7180  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases")
  7181  	urls += "?" + c.urlParams_.Encode()
  7182  	req, err := http.NewRequest("GET", urls, body)
  7183  	if err != nil {
  7184  		return nil, err
  7185  	}
  7186  	req.Header = reqHeaders
  7187  	googleapi.Expand(req.URL, map[string]string{
  7188  		"projectId":   c.projectId,
  7189  		"historyId":   c.historyId,
  7190  		"executionId": c.executionId,
  7191  		"stepId":      c.stepId,
  7192  	})
  7193  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7194  }
  7195  
  7196  // Do executes the "toolresults.projects.histories.executions.steps.testCases.list" call.
  7197  // Any non-2xx status code is an error. Response headers are in either
  7198  // *ListTestCasesResponse.ServerResponse.Header or (if a response was returned
  7199  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7200  // check whether the returned error was because http.StatusNotModified was
  7201  // returned.
  7202  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) Do(opts ...googleapi.CallOption) (*ListTestCasesResponse, error) {
  7203  	gensupport.SetOptions(c.urlParams_, opts...)
  7204  	res, err := c.doRequest("json")
  7205  	if res != nil && res.StatusCode == http.StatusNotModified {
  7206  		if res.Body != nil {
  7207  			res.Body.Close()
  7208  		}
  7209  		return nil, gensupport.WrapError(&googleapi.Error{
  7210  			Code:   res.StatusCode,
  7211  			Header: res.Header,
  7212  		})
  7213  	}
  7214  	if err != nil {
  7215  		return nil, err
  7216  	}
  7217  	defer googleapi.CloseBody(res)
  7218  	if err := googleapi.CheckResponse(res); err != nil {
  7219  		return nil, gensupport.WrapError(err)
  7220  	}
  7221  	ret := &ListTestCasesResponse{
  7222  		ServerResponse: googleapi.ServerResponse{
  7223  			Header:         res.Header,
  7224  			HTTPStatusCode: res.StatusCode,
  7225  		},
  7226  	}
  7227  	target := &ret
  7228  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7229  		return nil, err
  7230  	}
  7231  	return ret, nil
  7232  }
  7233  
  7234  // Pages invokes f for each page of results.
  7235  // A non-nil error returned from f will halt the iteration.
  7236  // The provided context supersedes any context provided to the Context method.
  7237  func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) Pages(ctx context.Context, f func(*ListTestCasesResponse) error) error {
  7238  	c.ctx_ = ctx
  7239  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7240  	for {
  7241  		x, err := c.Do()
  7242  		if err != nil {
  7243  			return err
  7244  		}
  7245  		if err := f(x); err != nil {
  7246  			return err
  7247  		}
  7248  		if x.NextPageToken == "" {
  7249  			return nil
  7250  		}
  7251  		c.PageToken(x.NextPageToken)
  7252  	}
  7253  }
  7254  
  7255  type ProjectsHistoriesExecutionsStepsThumbnailsListCall struct {
  7256  	s            *Service
  7257  	projectId    string
  7258  	historyId    string
  7259  	executionId  string
  7260  	stepId       string
  7261  	urlParams_   gensupport.URLParams
  7262  	ifNoneMatch_ string
  7263  	ctx_         context.Context
  7264  	header_      http.Header
  7265  }
  7266  
  7267  // List: Lists thumbnails of images attached to a step. May return any of the
  7268  // following canonical error codes: - PERMISSION_DENIED - if the user is not
  7269  // authorized to read from the project, or from any of the images -
  7270  // INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the step
  7271  // does not exist, or if any of the images do not exist
  7272  //
  7273  // - executionId: An Execution id.
  7274  // - historyId: A History id.
  7275  // - projectId: A Project id.
  7276  // - stepId: A Step id.
  7277  func (r *ProjectsHistoriesExecutionsStepsThumbnailsService) List(projectId string, historyId string, executionId string, stepId string) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7278  	c := &ProjectsHistoriesExecutionsStepsThumbnailsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7279  	c.projectId = projectId
  7280  	c.historyId = historyId
  7281  	c.executionId = executionId
  7282  	c.stepId = stepId
  7283  	return c
  7284  }
  7285  
  7286  // PageSize sets the optional parameter "pageSize": The maximum number of
  7287  // thumbnails to fetch. Default value: 50. The server will use this default if
  7288  // the field is not set or has a value of 0.
  7289  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) PageSize(pageSize int64) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7290  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7291  	return c
  7292  }
  7293  
  7294  // PageToken sets the optional parameter "pageToken": A continuation token to
  7295  // resume the query at the next item.
  7296  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) PageToken(pageToken string) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7297  	c.urlParams_.Set("pageToken", pageToken)
  7298  	return c
  7299  }
  7300  
  7301  // Fields allows partial responses to be retrieved. See
  7302  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7303  // details.
  7304  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7305  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7306  	return c
  7307  }
  7308  
  7309  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7310  // object's ETag matches the given value. This is useful for getting updates
  7311  // only after the object has changed since the last request.
  7312  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7313  	c.ifNoneMatch_ = entityTag
  7314  	return c
  7315  }
  7316  
  7317  // Context sets the context to be used in this call's Do method.
  7318  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsStepsThumbnailsListCall {
  7319  	c.ctx_ = ctx
  7320  	return c
  7321  }
  7322  
  7323  // Header returns a http.Header that can be modified by the caller to add
  7324  // headers to the request.
  7325  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) Header() http.Header {
  7326  	if c.header_ == nil {
  7327  		c.header_ = make(http.Header)
  7328  	}
  7329  	return c.header_
  7330  }
  7331  
  7332  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) doRequest(alt string) (*http.Response, error) {
  7333  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7334  	if c.ifNoneMatch_ != "" {
  7335  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7336  	}
  7337  	var body io.Reader = nil
  7338  	c.urlParams_.Set("alt", alt)
  7339  	c.urlParams_.Set("prettyPrint", "false")
  7340  	urls := googleapi.ResolveRelative(c.s.BasePath, "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails")
  7341  	urls += "?" + c.urlParams_.Encode()
  7342  	req, err := http.NewRequest("GET", urls, body)
  7343  	if err != nil {
  7344  		return nil, err
  7345  	}
  7346  	req.Header = reqHeaders
  7347  	googleapi.Expand(req.URL, map[string]string{
  7348  		"projectId":   c.projectId,
  7349  		"historyId":   c.historyId,
  7350  		"executionId": c.executionId,
  7351  		"stepId":      c.stepId,
  7352  	})
  7353  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7354  }
  7355  
  7356  // Do executes the "toolresults.projects.histories.executions.steps.thumbnails.list" call.
  7357  // Any non-2xx status code is an error. Response headers are in either
  7358  // *ListStepThumbnailsResponse.ServerResponse.Header or (if a response was
  7359  // returned at all) in error.(*googleapi.Error).Header. Use
  7360  // googleapi.IsNotModified to check whether the returned error was because
  7361  // http.StatusNotModified was returned.
  7362  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) Do(opts ...googleapi.CallOption) (*ListStepThumbnailsResponse, error) {
  7363  	gensupport.SetOptions(c.urlParams_, opts...)
  7364  	res, err := c.doRequest("json")
  7365  	if res != nil && res.StatusCode == http.StatusNotModified {
  7366  		if res.Body != nil {
  7367  			res.Body.Close()
  7368  		}
  7369  		return nil, gensupport.WrapError(&googleapi.Error{
  7370  			Code:   res.StatusCode,
  7371  			Header: res.Header,
  7372  		})
  7373  	}
  7374  	if err != nil {
  7375  		return nil, err
  7376  	}
  7377  	defer googleapi.CloseBody(res)
  7378  	if err := googleapi.CheckResponse(res); err != nil {
  7379  		return nil, gensupport.WrapError(err)
  7380  	}
  7381  	ret := &ListStepThumbnailsResponse{
  7382  		ServerResponse: googleapi.ServerResponse{
  7383  			Header:         res.Header,
  7384  			HTTPStatusCode: res.StatusCode,
  7385  		},
  7386  	}
  7387  	target := &ret
  7388  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7389  		return nil, err
  7390  	}
  7391  	return ret, nil
  7392  }
  7393  
  7394  // Pages invokes f for each page of results.
  7395  // A non-nil error returned from f will halt the iteration.
  7396  // The provided context supersedes any context provided to the Context method.
  7397  func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) Pages(ctx context.Context, f func(*ListStepThumbnailsResponse) error) error {
  7398  	c.ctx_ = ctx
  7399  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7400  	for {
  7401  		x, err := c.Do()
  7402  		if err != nil {
  7403  			return err
  7404  		}
  7405  		if err := f(x); err != nil {
  7406  			return err
  7407  		}
  7408  		if x.NextPageToken == "" {
  7409  			return nil
  7410  		}
  7411  		c.PageToken(x.NextPageToken)
  7412  	}
  7413  }
  7414  

View as plain text