blob: 5fe299a79268b4479a5b56863e0a2d53191f8e95 [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package toolresults provides access to the Cloud Tool Results API.
//
// For product documentation, see: https://firebase.google.com/docs/test-lab/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/toolresults/v1beta3"
// ...
// ctx := context.Background()
// toolresultsService, err := toolresults.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// toolresultsService, err := toolresults.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// toolresultsService, err := toolresults.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package toolresults // import "google.golang.org/api/toolresults/v1beta3"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "toolresults:v1beta3"
const apiName = "toolresults"
const apiVersion = "v1beta3"
const basePath = "https://www.googleapis.com/toolresults/v1beta3/projects/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Histories = NewProjectsHistoriesService(s)
return rs
}
type ProjectsService struct {
s *Service
Histories *ProjectsHistoriesService
}
func NewProjectsHistoriesService(s *Service) *ProjectsHistoriesService {
rs := &ProjectsHistoriesService{s: s}
rs.Executions = NewProjectsHistoriesExecutionsService(s)
return rs
}
type ProjectsHistoriesService struct {
s *Service
Executions *ProjectsHistoriesExecutionsService
}
func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecutionsService {
rs := &ProjectsHistoriesExecutionsService{s: s}
rs.Clusters = NewProjectsHistoriesExecutionsClustersService(s)
rs.Environments = NewProjectsHistoriesExecutionsEnvironmentsService(s)
rs.Steps = NewProjectsHistoriesExecutionsStepsService(s)
return rs
}
type ProjectsHistoriesExecutionsService struct {
s *Service
Clusters *ProjectsHistoriesExecutionsClustersService
Environments *ProjectsHistoriesExecutionsEnvironmentsService
Steps *ProjectsHistoriesExecutionsStepsService
}
func NewProjectsHistoriesExecutionsClustersService(s *Service) *ProjectsHistoriesExecutionsClustersService {
rs := &ProjectsHistoriesExecutionsClustersService{s: s}
return rs
}
type ProjectsHistoriesExecutionsClustersService struct {
s *Service
}
func NewProjectsHistoriesExecutionsEnvironmentsService(s *Service) *ProjectsHistoriesExecutionsEnvironmentsService {
rs := &ProjectsHistoriesExecutionsEnvironmentsService{s: s}
return rs
}
type ProjectsHistoriesExecutionsEnvironmentsService struct {
s *Service
}
func NewProjectsHistoriesExecutionsStepsService(s *Service) *ProjectsHistoriesExecutionsStepsService {
rs := &ProjectsHistoriesExecutionsStepsService{s: s}
rs.PerfMetricsSummary = NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s)
rs.PerfSampleSeries = NewProjectsHistoriesExecutionsStepsPerfSampleSeriesService(s)
rs.TestCases = NewProjectsHistoriesExecutionsStepsTestCasesService(s)
rs.Thumbnails = NewProjectsHistoriesExecutionsStepsThumbnailsService(s)
return rs
}
type ProjectsHistoriesExecutionsStepsService struct {
s *Service
PerfMetricsSummary *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService
PerfSampleSeries *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService
TestCases *ProjectsHistoriesExecutionsStepsTestCasesService
Thumbnails *ProjectsHistoriesExecutionsStepsThumbnailsService
}
func NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s *Service) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService {
rs := &ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService{s: s}
return rs
}
type ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService struct {
s *Service
}
func NewProjectsHistoriesExecutionsStepsPerfSampleSeriesService(s *Service) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesService {
rs := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesService{s: s}
rs.Samples = NewProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService(s)
return rs
}
type ProjectsHistoriesExecutionsStepsPerfSampleSeriesService struct {
s *Service
Samples *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService
}
func NewProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService(s *Service) *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService {
rs := &ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService{s: s}
return rs
}
type ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesService struct {
s *Service
}
func NewProjectsHistoriesExecutionsStepsTestCasesService(s *Service) *ProjectsHistoriesExecutionsStepsTestCasesService {
rs := &ProjectsHistoriesExecutionsStepsTestCasesService{s: s}
return rs
}
type ProjectsHistoriesExecutionsStepsTestCasesService struct {
s *Service
}
func NewProjectsHistoriesExecutionsStepsThumbnailsService(s *Service) *ProjectsHistoriesExecutionsStepsThumbnailsService {
rs := &ProjectsHistoriesExecutionsStepsThumbnailsService{s: s}
return rs
}
type ProjectsHistoriesExecutionsStepsThumbnailsService struct {
s *Service
}
// AndroidAppInfo: Android app information.
type AndroidAppInfo struct {
// Name: The name of the app. Optional
Name string `json:"name,omitempty"`
// PackageName: The package name of the app. Required.
PackageName string `json:"packageName,omitempty"`
// VersionCode: The internal version code of the app. Optional.
VersionCode string `json:"versionCode,omitempty"`
// VersionName: The version name of the app. Optional.
VersionName string `json:"versionName,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AndroidAppInfo) MarshalJSON() ([]byte, error) {
type NoMethod AndroidAppInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AndroidInstrumentationTest: A test of an Android application that can
// control an Android component independently of its normal
// lifecycle.
//
// See for more information on types of Android tests.
type AndroidInstrumentationTest struct {
// TestPackageId: The java package for the test to be executed. Required
TestPackageId string `json:"testPackageId,omitempty"`
// TestRunnerClass: The InstrumentationTestRunner class. Required
TestRunnerClass string `json:"testRunnerClass,omitempty"`
// TestTargets: Each target must be fully qualified with the package
// name or class name, in one of these formats: - "package package_name"
// - "class package_name.class_name" - "class
// package_name.class_name#method_name"
//
// If empty, all targets in the module will be run.
TestTargets []string `json:"testTargets,omitempty"`
// UseOrchestrator: The flag indicates whether Android Test Orchestrator
// will be used to run test or not.
UseOrchestrator bool `json:"useOrchestrator,omitempty"`
// ForceSendFields is a list of field names (e.g. "TestPackageId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TestPackageId") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) {
type NoMethod AndroidInstrumentationTest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AndroidRoboTest: A test of an android application that explores the
// application on a virtual or physical Android device, finding culprits
// and crashes as it goes.
type AndroidRoboTest struct {
// AppInitialActivity: The initial activity that should be used to start
// the app. Optional
AppInitialActivity string `json:"appInitialActivity,omitempty"`
// BootstrapPackageId: The java package for the bootstrap. Optional
BootstrapPackageId string `json:"bootstrapPackageId,omitempty"`
// BootstrapRunnerClass: The runner class for the bootstrap. Optional
BootstrapRunnerClass string `json:"bootstrapRunnerClass,omitempty"`
// MaxDepth: The max depth of the traversal stack Robo can explore.
// Optional
MaxDepth int64 `json:"maxDepth,omitempty"`
// MaxSteps: The max number of steps/actions Robo can execute. Default
// is no limit (0). Optional
MaxSteps int64 `json:"maxSteps,omitempty"`
// ForceSendFields is a list of field names (e.g. "AppInitialActivity")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppInitialActivity") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) {
type NoMethod AndroidRoboTest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AndroidTest: An Android mobile test specification.
type AndroidTest struct {
// AndroidAppInfo: Information about the application under test.
AndroidAppInfo *AndroidAppInfo `json:"androidAppInfo,omitempty"`
// AndroidInstrumentationTest: An Android instrumentation test.
AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"`
// AndroidRoboTest: An Android robo test.
AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"`
// TestTimeout: Max time a test is allowed to run before it is
// automatically cancelled.
TestTimeout *Duration `json:"testTimeout,omitempty"`
// ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AndroidAppInfo") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AndroidTest) MarshalJSON() ([]byte, error) {
type NoMethod AndroidTest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Any: `Any` contains an arbitrary serialized protocol buffer message
// along with a URL that describes the type of the serialized
// message.
//
// Protobuf library provides support to pack/unpack Any values in the
// form of utility functions or additional generated methods of the Any
// type.
//
// Example 1: Pack and unpack a message in C++.
//
// Foo foo = ...; Any any; any.PackFrom(foo); ... if
// (any.UnpackTo(&foo)) { ... }
//
// Example 2: Pack and unpack a message in Java.
//
// Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) {
// foo = any.unpack(Foo.class); }
//
// Example 3: Pack and unpack a message in Python.
//
// foo = Foo(...) any = Any() any.Pack(foo) ... if
// any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
//
// Example 4: Pack and unpack a message in Go
//
// foo := &pb.Foo{...} any, err := ptypes.MarshalAny(foo) ... foo :=
// &pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != nil { ...
// }
//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
// methods only use the fully qualified type name after the last '/' in
// the type URL, for example "foo.bar.com/x/y.z" will yield type name
// "y.z".
//
//
//
// JSON ==== The JSON representation of an `Any` value uses the regular
// representation of the deserialized, embedded message, with an
// additional field `@type` which contains the type URL.
// Example:
//
// package google.profile; message Person { string first_name = 1;
// string last_name = 2; }
//
// { "@type": "type.googleapis.com/google.profile.Person", "firstName":
// , "lastName": }
//
// If the embedded message type is well-known and has a custom JSON
// representation, that representation will be embedded adding a field
// `value` which holds the custom JSON in addition to the `@type` field.
// Example (for message [google.protobuf.Duration][]):
//
// { "@type": "type.googleapis.com/google.protobuf.Duration", "value":
// "1.212s" }
type Any struct {
// TypeUrl: A URL/resource name that uniquely identifies the type of the
// serialized protocol buffer message. This string must contain at least
// one "/" character. The last segment of the URL's path must represent
// the fully qualified name of the type (as in
// `path/google.protobuf.Duration`). The name should be in a canonical
// form (e.g., leading "." is not accepted).
//
// In practice, teams usually precompile into the binary all types that
// they expect it to use in the context of Any. However, for URLs which
// use the scheme `http`, `https`, or no scheme, one can optionally set
// up a type server that maps type URLs to message definitions as
// follows:
//
// * If no scheme is provided, `https` is assumed. * An HTTP GET on the
// URL must yield a [google.protobuf.Type][] value in binary format, or
// produce an error. * Applications are allowed to cache lookup results
// based on the URL, or have them precompiled into a binary to avoid any
// lookup. Therefore, binary compatibility needs to be preserved on
// changes to types. (Use versioned type names to manage breaking
// changes.)
//
// Note: this functionality is not currently available in the official
// protobuf release, and it is not used for type URLs beginning with
// type.googleapis.com.
//
// Schemes other than `http`, `https` (or the empty scheme) might be
// used with implementation specific semantics.
TypeUrl string `json:"typeUrl,omitempty"`
// Value: Must be a valid serialized protocol buffer of the above
// specified type.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "TypeUrl") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TypeUrl") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Any) MarshalJSON() ([]byte, error) {
type NoMethod Any
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AppStartTime struct {
// FullyDrawnTime: Optional. The time from app start to reaching the
// developer-reported "fully drawn" time. This is only stored if the app
// includes a call to Activity.reportFullyDrawn(). See
// https://developer.android.com/topic/performance/launch-time.html#time-full
FullyDrawnTime *Duration `json:"fullyDrawnTime,omitempty"`
// InitialDisplayTime: The time from app start to the first displayed
// activity being drawn, as reported in Logcat. See
// https://developer.android.com/topic/performance/launch-time.html#time-initial
InitialDisplayTime *Duration `json:"initialDisplayTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "FullyDrawnTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FullyDrawnTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AppStartTime) MarshalJSON() ([]byte, error) {
type NoMethod AppStartTime
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BasicPerfSampleSeries: Encapsulates the metadata for basic sample
// series represented by a line chart
type BasicPerfSampleSeries struct {
// Possible values:
// "cpu"
// "graphics"
// "memory"
// "network"
// "perfMetricTypeUnspecified"
PerfMetricType string `json:"perfMetricType,omitempty"`
// Possible values:
// "byte"
// "bytesPerSecond"
// "framesPerSecond"
// "kibibyte"
// "percent"
// "perfUnitUnspecified"
PerfUnit string `json:"perfUnit,omitempty"`
// Possible values:
// "cpuKernel"
// "cpuTotal"
// "cpuUser"
// "graphicsFrameRate"
// "memoryRssPrivate"
// "memoryRssShared"
// "memoryRssTotal"
// "memoryTotal"
// "networkReceived"
// "networkSent"
// "ntBytesReceived"
// "ntBytesTransferred"
// "sampleSeriesTypeUnspecified"
SampleSeriesLabel string `json:"sampleSeriesLabel,omitempty"`
// ForceSendFields is a list of field names (e.g. "PerfMetricType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PerfMetricType") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BasicPerfSampleSeries) MarshalJSON() ([]byte, error) {
type NoMethod BasicPerfSampleSeries
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchCreatePerfSamplesRequest: The request must provide up to a
// maximum of 5000 samples to be created; a larger sample size will
// cause an INVALID_ARGUMENT error
type BatchCreatePerfSamplesRequest struct {
// PerfSamples: The set of PerfSamples to create should not include
// existing timestamps
PerfSamples []*PerfSample `json:"perfSamples,omitempty"`
// ForceSendFields is a list of field names (e.g. "PerfSamples") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PerfSamples") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchCreatePerfSamplesRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreatePerfSamplesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BatchCreatePerfSamplesResponse struct {
PerfSamples []*PerfSample `json:"perfSamples,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "PerfSamples") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PerfSamples") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchCreatePerfSamplesResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchCreatePerfSamplesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CPUInfo struct {
// CpuProcessor: description of the device processor ie '1.8 GHz hexa
// core 64-bit ARMv8-A'
CpuProcessor string `json:"cpuProcessor,omitempty"`
// CpuSpeedInGhz: the CPU clock speed in GHz
CpuSpeedInGhz float64 `json:"cpuSpeedInGhz,omitempty"`
// NumberOfCores: the number of CPU cores
NumberOfCores int64 `json:"numberOfCores,omitempty"`
// ForceSendFields is a list of field names (e.g. "CpuProcessor") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CpuProcessor") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CPUInfo) MarshalJSON() ([]byte, error) {
type NoMethod CPUInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *CPUInfo) UnmarshalJSON(data []byte) error {
type NoMethod CPUInfo
var s1 struct {
CpuSpeedInGhz gensupport.JSONFloat64 `json:"cpuSpeedInGhz"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.CpuSpeedInGhz = float64(s1.CpuSpeedInGhz)
return nil
}
// Duration: A Duration represents a signed, fixed-length span of time
// represented as a count of seconds and fractions of seconds at
// nanosecond resolution. It is independent of any calendar and concepts
// like "day" or "month". It is related to Timestamp in that the
// difference between two Timestamp values is a Duration and it can be
// added or subtracted from a Timestamp. Range is approximately +-10,000
// years.
//
// # Examples
//
// Example 1: Compute Duration from two Timestamps in pseudo
// code.
//
// Timestamp start = ...; Timestamp end = ...; Duration duration =
// ...;
//
// duration.seconds = end.seconds - start.seconds; duration.nanos =
// end.nanos - start.nanos;
//
// if (duration.seconds 0) { duration.seconds += 1; duration.nanos -=
// 1000000000; } else if (duration.seconds > 0 && duration.nanos < 0) {
// duration.seconds -= 1; duration.nanos += 1000000000; }
//
// Example 2: Compute Timestamp from Timestamp + Duration in pseudo
// code.
//
// Timestamp start = ...; Duration duration = ...; Timestamp end =
// ...;
//
// end.seconds = start.seconds + duration.seconds; end.nanos =
// start.nanos + duration.nanos;
//
// if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -=
// 1000000000; }
//
// Example 3: Compute Duration from datetime.timedelta in Python.
//
// td = datetime.timedelta(days=3, minutes=10) duration = Duration()
// duration.FromTimedelta(td)
//
// # JSON Mapping
//
// In JSON format, the Duration type is encoded as a string rather than
// an object, where the string ends in the suffix "s" (indicating
// seconds) and is preceded by the number of seconds, with nanoseconds
// expressed as fractional seconds. For example, 3 seconds with 0
// nanoseconds should be encoded in JSON format as "3s", while 3 seconds
// and 1 nanosecond should be expressed in JSON format as
// "3.000000001s", and 3 seconds and 1 microsecond should be expressed
// in JSON format as "3.000001s".
type Duration struct {
// Nanos: Signed fractions of a second at nanosecond resolution of the
// span of time. Durations less than one second are represented with a 0
// `seconds` field and a positive or negative `nanos` field. For
// durations of one second or more, a non-zero value for the `nanos`
// field must be of the same sign as the `seconds` field. Must be from
// -999,999,999 to +999,999,999 inclusive.
Nanos int64 `json:"nanos,omitempty"`
// Seconds: Signed seconds of the span of time. Must be from
// -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds
// are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25
// days/year * 10000 years
Seconds int64 `json:"seconds,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Nanos") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Nanos") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Duration) MarshalJSON() ([]byte, error) {
type NoMethod Duration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Environment: An Environment represents the set of test runs (Steps)
// from the parent Execution that are configured with the same set of
// dimensions (Model, Version, Locale, and Orientation). Multiple such
// runs occur particularly because of features like sharding (splitting
// up a test suite to run in parallel across devices) and reruns
// (running a test multiple times to check for different outcomes).
type Environment struct {
// CompletionTime: Output only. The time when the Environment status was
// set to complete.
//
// This value will be set automatically when state transitions to
// COMPLETE.
CompletionTime *Timestamp `json:"completionTime,omitempty"`
// CreationTime: Output only. The time when the Environment was created.
CreationTime *Timestamp `json:"creationTime,omitempty"`
// DimensionValue: Dimension values describing the environment.
// Dimension values always consist of "Model", "Version", "Locale", and
// "Orientation".
//
// - In response: always set - In create request: always set - In update
// request: never set
DimensionValue []*EnvironmentDimensionValueEntry `json:"dimensionValue,omitempty"`
// DisplayName: A short human-readable name to display in the UI.
// Maximum of 100 characters. For example: Nexus 5, API 27.
DisplayName string `json:"displayName,omitempty"`
// EnvironmentId: Output only. An Environment id.
EnvironmentId string `json:"environmentId,omitempty"`
// EnvironmentResult: Merged result of the environment.
EnvironmentResult *MergedResult `json:"environmentResult,omitempty"`
// ExecutionId: Output only. An Execution id.
ExecutionId string `json:"executionId,omitempty"`
// HistoryId: Output only. A History id.
HistoryId string `json:"historyId,omitempty"`
// ProjectId: Output only. A Project id.
ProjectId string `json:"projectId,omitempty"`
// ResultsStorage: The location where output files are stored in the
// user bucket.
ResultsStorage *ResultsStorage `json:"resultsStorage,omitempty"`
// ShardSummaries: Output only. Summaries of shards.
//
// Only one shard will present unless sharding feature is enabled in
// TestExecutionService.
ShardSummaries []*ShardSummary `json:"shardSummaries,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompletionTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletionTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Environment) MarshalJSON() ([]byte, error) {
type NoMethod Environment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type EnvironmentDimensionValueEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnvironmentDimensionValueEntry) MarshalJSON() ([]byte, error) {
type NoMethod EnvironmentDimensionValueEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Execution: An Execution represents a collection of Steps. For
// instance, it could represent: - a mobile test executed across a range
// of device configurations - a jenkins job with a build step followed
// by a test step
//
// The maximum size of an execution message is 1 MiB.
//
// An Execution can be updated until its state is set to COMPLETE at
// which point it becomes immutable.
type Execution struct {
// CompletionTime: The time when the Execution status transitioned to
// COMPLETE.
//
// This value will be set automatically when state transitions to
// COMPLETE.
//
// - In response: set if the execution state is COMPLETE. - In
// create/update request: never set
CompletionTime *Timestamp `json:"completionTime,omitempty"`
// CreationTime: The time when the Execution was created.
//
// This value will be set automatically when CreateExecution is
// called.
//
// - In response: always set - In create/update request: never set
CreationTime *Timestamp `json:"creationTime,omitempty"`
// ExecutionId: A unique identifier within a History for this
// Execution.
//
// Returns INVALID_ARGUMENT if this field is set or overwritten by the
// caller.
//
// - In response always set - In create/update request: never set
ExecutionId string `json:"executionId,omitempty"`
// Outcome: Classify the result, for example into SUCCESS or FAILURE
//
// - In response: present if set by create/update request - In
// create/update request: optional
Outcome *Outcome `json:"outcome,omitempty"`
// Specification: Lightweight information about execution request.
//
// - In response: present if set by create - In create: optional - In
// update: optional
Specification *Specification `json:"specification,omitempty"`
// State: The initial state is IN_PROGRESS.
//
// The only legal state transitions is from IN_PROGRESS to COMPLETE.
//
// A PRECONDITION_FAILED will be returned if an invalid transition is
// requested.
//
// The state can only be set to COMPLETE once. A FAILED_PRECONDITION
// will be returned if the state is set to COMPLETE multiple times.
//
// If the state is set to COMPLETE, all the in-progress steps within the
// execution will be set as COMPLETE. If the outcome of the step is not
// set, the outcome will be set to INCONCLUSIVE.
//
// - In response always set - In create/update request: optional
//
// Possible values:
// "complete"
// "inProgress"
// "pending"
// "unknownState"
State string `json:"state,omitempty"`
// TestExecutionMatrixId: TestExecution Matrix ID that the
// TestExecutionService uses.
//
// - In response: present if set by create - In create: optional - In
// update: never set
TestExecutionMatrixId string `json:"testExecutionMatrixId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompletionTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletionTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Execution) MarshalJSON() ([]byte, error) {
type NoMethod Execution
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FailureDetail: Details for an outcome with a FAILURE outcome summary.
type FailureDetail struct {
// Crashed: If the failure was severe because the system (app) under
// test crashed.
Crashed bool `json:"crashed,omitempty"`
// NotInstalled: If an app is not installed and thus no test can be run
// with the app. This might be caused by trying to run a test on an
// unsupported platform.
NotInstalled bool `json:"notInstalled,omitempty"`
// OtherNativeCrash: If a native process (including any other than the
// app) crashed.
OtherNativeCrash bool `json:"otherNativeCrash,omitempty"`
// TimedOut: If the test overran some time limit, and that is why it
// failed.
TimedOut bool `json:"timedOut,omitempty"`
// UnableToCrawl: If the robo was unable to crawl the app; perhaps
// because the app did not start.
UnableToCrawl bool `json:"unableToCrawl,omitempty"`
// ForceSendFields is a list of field names (e.g. "Crashed") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Crashed") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FailureDetail) MarshalJSON() ([]byte, error) {
type NoMethod FailureDetail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileReference: A reference to a file.
type FileReference struct {
// FileUri: The URI of a file stored in Google Cloud Storage.
//
// For example: http://storage.googleapis.com/mybucket/path/to/test.xml
// or in gsutil format: gs://mybucket/path/to/test.xml with
// version-specific info,
// gs://mybucket/path/to/test.xml#1360383693690000
//
// An INVALID_ARGUMENT error will be returned if the URI format is not
// supported.
//
// - In response: always set - In create/update request: always set
FileUri string `json:"fileUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileUri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FileUri") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FileReference) MarshalJSON() ([]byte, error) {
type NoMethod FileReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GraphicsStats: Graphics statistics for the App. The information is
// collected from 'adb shell dumpsys graphicsstats'. For more info see:
// https://developer.android.com/training/testing/performance.html
// Statistics will only be present for API 23+.
type GraphicsStats struct {
// Buckets: Histogram of frame render times. There should be 154 buckets
// ranging from [5ms, 6ms) to [4950ms, infinity)
Buckets []*GraphicsStatsBucket `json:"buckets,omitempty"`
// HighInputLatencyCount: Total "high input latency" events.
HighInputLatencyCount int64 `json:"highInputLatencyCount,omitempty,string"`
// JankyFrames: Total frames with slow render time. Should be <=
// total_frames.
JankyFrames int64 `json:"jankyFrames,omitempty,string"`
// MissedVsyncCount: Total "missed vsync" events.
MissedVsyncCount int64 `json:"missedVsyncCount,omitempty,string"`
// P50Millis: 50th percentile frame render time in milliseconds.
P50Millis int64 `json:"p50Millis,omitempty,string"`
// P90Millis: 90th percentile frame render time in milliseconds.
P90Millis int64 `json:"p90Millis,omitempty,string"`
// P95Millis: 95th percentile frame render time in milliseconds.
P95Millis int64 `json:"p95Millis,omitempty,string"`
// P99Millis: 99th percentile frame render time in milliseconds.
P99Millis int64 `json:"p99Millis,omitempty,string"`
// SlowBitmapUploadCount: Total "slow bitmap upload" events.
SlowBitmapUploadCount int64 `json:"slowBitmapUploadCount,omitempty,string"`
// SlowDrawCount: Total "slow draw" events.
SlowDrawCount int64 `json:"slowDrawCount,omitempty,string"`
// SlowUiThreadCount: Total "slow UI thread" events.
SlowUiThreadCount int64 `json:"slowUiThreadCount,omitempty,string"`
// TotalFrames: Total frames rendered by package.
TotalFrames int64 `json:"totalFrames,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Buckets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Buckets") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GraphicsStats) MarshalJSON() ([]byte, error) {
type NoMethod GraphicsStats
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GraphicsStatsBucket struct {
// FrameCount: Number of frames in the bucket.
FrameCount int64 `json:"frameCount,omitempty,string"`
// RenderMillis: Lower bound of render time in milliseconds.
RenderMillis int64 `json:"renderMillis,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "FrameCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FrameCount") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GraphicsStatsBucket) MarshalJSON() ([]byte, error) {
type NoMethod GraphicsStatsBucket
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// History: A History represents a sorted list of Executions ordered by
// the start_timestamp_millis field (descending). It can be used to
// group all the Executions of a continuous build.
//
// Note that the ordering only operates on one-dimension. If a
// repository has multiple branches, it means that multiple histories
// will need to be used in order to order Executions per branch.
type History struct {
// DisplayName: A short human-readable (plain text) name to display in
// the UI. Maximum of 100 characters.
//
// - In response: present if set during create. - In create request:
// optional
DisplayName string `json:"displayName,omitempty"`
// HistoryId: A unique identifier within a project for this
// History.
//
// Returns INVALID_ARGUMENT if this field is set or overwritten by the
// caller.
//
// - In response always set - In create request: never set
HistoryId string `json:"historyId,omitempty"`
// Name: A name to uniquely identify a history within a project. Maximum
// of 200 characters.
//
// - In response always set - In create request: always set
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *History) MarshalJSON() ([]byte, error) {
type NoMethod History
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Image: An image, with a link to the main image and a thumbnail.
type Image struct {
// Error: An error explaining why the thumbnail could not be rendered.
Error *Status `json:"error,omitempty"`
// SourceImage: A reference to the full-size, original image.
//
// This is the same as the tool_outputs entry for the image under its
// Step.
//
// Always set.
SourceImage *ToolOutputReference `json:"sourceImage,omitempty"`
// StepId: The step to which the image is attached.
//
// Always set.
StepId string `json:"stepId,omitempty"`
// Thumbnail: The thumbnail.
Thumbnail *Thumbnail `json:"thumbnail,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Error") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Image) MarshalJSON() ([]byte, error) {
type NoMethod Image
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InconclusiveDetail: Details for an outcome with an INCONCLUSIVE
// outcome summary.
type InconclusiveDetail struct {
// AbortedByUser: If the end user aborted the test execution before a
// pass or fail could be determined. For example, the user pressed
// ctrl-c which sent a kill signal to the test runner while the test was
// running.
AbortedByUser bool `json:"abortedByUser,omitempty"`
// HasErrorLogs: If results are being provided to the user in certain
// cases of infrastructure failures
HasErrorLogs bool `json:"hasErrorLogs,omitempty"`
// InfrastructureFailure: If the test runner could not determine success
// or failure because the test depends on a component other than the
// system under test which failed.
//
// For example, a mobile test requires provisioning a device where the
// test executes, and that provisioning can fail.
InfrastructureFailure bool `json:"infrastructureFailure,omitempty"`
// ForceSendFields is a list of field names (e.g. "AbortedByUser") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AbortedByUser") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InconclusiveDetail) MarshalJSON() ([]byte, error) {
type NoMethod InconclusiveDetail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IndividualOutcome: Step Id and outcome of each individual step that
// was run as a group with other steps with the same configuration.
type IndividualOutcome struct {
// MultistepNumber: Unique int given to each step. Ranges from
// 0(inclusive) to total number of steps(exclusive). The primary step is
// 0.
MultistepNumber int64 `json:"multistepNumber,omitempty"`
// Possible values:
// "failure"
// "flaky"
// "inconclusive"
// "skipped"
// "success"
// "unset"
OutcomeSummary string `json:"outcomeSummary,omitempty"`
// RunDuration: How long it took for this step to run.
RunDuration *Duration `json:"runDuration,omitempty"`
StepId string `json:"stepId,omitempty"`
// ForceSendFields is a list of field names (e.g. "MultistepNumber") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MultistepNumber") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *IndividualOutcome) MarshalJSON() ([]byte, error) {
type NoMethod IndividualOutcome
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListEnvironmentsResponse: Response message for
// EnvironmentService.ListEnvironments.
type ListEnvironmentsResponse struct {
// Environments: Environments.
//
// Always set.
Environments []*Environment `json:"environments,omitempty"`
// ExecutionId: A Execution id
//
// Always set.
ExecutionId string `json:"executionId,omitempty"`
// HistoryId: A History id.
//
// Always set.
HistoryId string `json:"historyId,omitempty"`
// NextPageToken: A continuation token to resume the query at the next
// item.
//
// Will only be set if there are more Environments to fetch.
NextPageToken string `json:"nextPageToken,omitempty"`
// ProjectId: A Project id.
//
// Always set.
ProjectId string `json:"projectId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Environments") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Environments") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListEnvironmentsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListExecutionsResponse struct {
// Executions: Executions.
//
// Always set.
Executions []*Execution `json:"executions,omitempty"`
// NextPageToken: A continuation token to resume the query at the next
// item.
//
// Will only be set if there are more Executions to fetch.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Executions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Executions") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListExecutionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListExecutionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListHistoriesResponse: Response message for HistoryService.List
type ListHistoriesResponse struct {
// Histories: Histories.
Histories []*History `json:"histories,omitempty"`
// NextPageToken: A continuation token to resume the query at the next
// item.
//
// Will only be set if there are more histories to fetch.
//
// Tokens are valid for up to one hour from the time of the first list
// request. For instance, if you make a list request at 1PM and use the
// token from this first request 10 minutes later, the token from this
// second response will only be valid for 50 minutes.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Histories") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Histories") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListHistoriesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListHistoriesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListPerfSampleSeriesResponse struct {
// PerfSampleSeries: The resulting PerfSampleSeries sorted by id
PerfSampleSeries []*PerfSampleSeries `json:"perfSampleSeries,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "PerfSampleSeries") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PerfSampleSeries") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListPerfSampleSeriesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListPerfSampleSeriesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListPerfSamplesResponse struct {
// NextPageToken: Optional, returned if result size exceeds the page
// size specified in the request (or the default page size, 500, if
// unspecified). It indicates the last sample timestamp to be used as
// page_token in subsequent request
NextPageToken string `json:"nextPageToken,omitempty"`
PerfSamples []*PerfSample `json:"perfSamples,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListPerfSamplesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListPerfSamplesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListScreenshotClustersResponse struct {
// Clusters: The set of clusters associated with an execution Always set
Clusters []*ScreenshotCluster `json:"clusters,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Clusters") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Clusters") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListScreenshotClustersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListScreenshotClustersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListStepThumbnailsResponse: A response containing the thumbnails in a
// step.
type ListStepThumbnailsResponse struct {
// NextPageToken: A continuation token to resume the query at the next
// item.
//
// If set, indicates that there are more thumbnails to read, by calling
// list again with this value in the page_token field.
NextPageToken string `json:"nextPageToken,omitempty"`
// Thumbnails: A list of image data.
//
// Images are returned in a deterministic order; they are ordered by
// these factors, in order of importance: * First, by their associated
// test case. Images without a test case are considered greater than
// images with one. * Second, by their creation time. Images without a
// creation time are greater than images with one. * Third, by the order
// in which they were added to the step (by calls to CreateStep or
// UpdateStep).
Thumbnails []*Image `json:"thumbnails,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListStepThumbnailsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListStepThumbnailsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListStepsResponse: Response message for StepService.List.
type ListStepsResponse struct {
// NextPageToken: A continuation token to resume the query at the next
// item.
//
// If set, indicates that there are more steps to read, by calling list
// again with this value in the page_token field.
NextPageToken string `json:"nextPageToken,omitempty"`
// Steps: Steps.
Steps []*Step `json:"steps,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListStepsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListStepsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListTestCasesResponse: Response message for
// StepService.ListTestCases.
type ListTestCasesResponse struct {
NextPageToken string `json:"nextPageToken,omitempty"`
// TestCases: List of test cases.
TestCases []*TestCase `json:"testCases,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListTestCasesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListTestCasesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MemoryInfo struct {
// MemoryCapInKibibyte: Maximum memory that can be allocated to the
// process in KiB
MemoryCapInKibibyte int64 `json:"memoryCapInKibibyte,omitempty,string"`
// MemoryTotalInKibibyte: Total memory available on the device in KiB
MemoryTotalInKibibyte int64 `json:"memoryTotalInKibibyte,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "MemoryCapInKibibyte")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MemoryCapInKibibyte") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *MemoryInfo) MarshalJSON() ([]byte, error) {
type NoMethod MemoryInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MergedResult: Merged test result for environment.
//
// If the environment has only one step (no reruns or shards), then the
// merged result is the same as the step result. If the environment has
// multiple shards and/or reruns, then the results of shards and reruns
// that belong to the same environment are merged into one environment
// result.
type MergedResult struct {
// Outcome: Outcome of the resource
Outcome *Outcome `json:"outcome,omitempty"`
// State: State of the resource
//
// Possible values:
// "complete"
// "inProgress"
// "pending"
// "unknownState"
State string `json:"state,omitempty"`
// TestSuiteOverviews: The combined and rolled-up result of each test
// suite that was run as part of this environment.
//
// Combining: When the test cases from a suite are run in different
// steps (sharding), the results are added back together in one
// overview. (e.g., if shard1 has 2 failures and shard2 has 1 failure
// than the overview failure_count = 3).
//
// Rollup: When test cases from the same suite are run multiple times
// (flaky), the results are combined (e.g., if testcase1.run1 fails,
// testcase1.run2 passes, and both testcase2.run1 and testcase2.run2
// fail then the overview flaky_count = 1 and failure_count = 1).
TestSuiteOverviews []*TestSuiteOverview `json:"testSuiteOverviews,omitempty"`
// ForceSendFields is a list of field names (e.g. "Outcome") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Outcome") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MergedResult) MarshalJSON() ([]byte, error) {
type NoMethod MergedResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MultiStep: Details when multiple steps are run with the same
// configuration as a group.
type MultiStep struct {
// MultistepNumber: Unique int given to each step. Ranges from
// 0(inclusive) to total number of steps(exclusive). The primary step is
// 0.
MultistepNumber int64 `json:"multistepNumber,omitempty"`
// PrimaryStep: Present if it is a primary (original) step.
PrimaryStep *PrimaryStep `json:"primaryStep,omitempty"`
// PrimaryStepId: Step Id of the primary (original) step, which might be
// this step.
PrimaryStepId string `json:"primaryStepId,omitempty"`
// ForceSendFields is a list of field names (e.g. "MultistepNumber") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MultistepNumber") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *MultiStep) MarshalJSON() ([]byte, error) {
type NoMethod MultiStep
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Outcome: Interprets a result so that humans and machines can act on
// it.
type Outcome struct {
// FailureDetail: More information about a FAILURE outcome.
//
// Returns INVALID_ARGUMENT if this field is set but the summary is not
// FAILURE.
//
// Optional
FailureDetail *FailureDetail `json:"failureDetail,omitempty"`
// InconclusiveDetail: More information about an INCONCLUSIVE
// outcome.
//
// Returns INVALID_ARGUMENT if this field is set but the summary is not
// INCONCLUSIVE.
//
// Optional
InconclusiveDetail *InconclusiveDetail `json:"inconclusiveDetail,omitempty"`
// SkippedDetail: More information about a SKIPPED outcome.
//
// Returns INVALID_ARGUMENT if this field is set but the summary is not
// SKIPPED.
//
// Optional
SkippedDetail *SkippedDetail `json:"skippedDetail,omitempty"`
// SuccessDetail: More information about a SUCCESS outcome.
//
// Returns INVALID_ARGUMENT if this field is set but the summary is not
// SUCCESS.
//
// Optional
SuccessDetail *SuccessDetail `json:"successDetail,omitempty"`
// Summary: The simplest way to interpret a result.
//
// Required
//
// Possible values:
// "failure"
// "flaky"
// "inconclusive"
// "skipped"
// "success"
// "unset"
Summary string `json:"summary,omitempty"`
// ForceSendFields is a list of field names (e.g. "FailureDetail") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FailureDetail") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Outcome) MarshalJSON() ([]byte, error) {
type NoMethod Outcome
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PerfEnvironment: Encapsulates performance environment info
type PerfEnvironment struct {
// CpuInfo: CPU related environment info
CpuInfo *CPUInfo `json:"cpuInfo,omitempty"`
// MemoryInfo: Memory related environment info
MemoryInfo *MemoryInfo `json:"memoryInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "CpuInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CpuInfo") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PerfEnvironment) MarshalJSON() ([]byte, error) {
type NoMethod PerfEnvironment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PerfMetricsSummary: A summary of perf metrics collected and
// performance environment info
type PerfMetricsSummary struct {
AppStartTime *AppStartTime `json:"appStartTime,omitempty"`
// ExecutionId: A tool results execution ID.
ExecutionId string `json:"executionId,omitempty"`
// GraphicsStats: Graphics statistics for the entire run. Statistics are
// reset at the beginning of the run and collected at the end of the
// run.
GraphicsStats *GraphicsStats `json:"graphicsStats,omitempty"`
// HistoryId: A tool results history ID.
HistoryId string `json:"historyId,omitempty"`
// PerfEnvironment: Describes the environment in which the performance
// metrics were collected
PerfEnvironment *PerfEnvironment `json:"perfEnvironment,omitempty"`
// PerfMetrics: Set of resource collected
//
// Possible values:
// "cpu"
// "graphics"
// "memory"
// "network"
// "perfMetricTypeUnspecified"
PerfMetrics []string `json:"perfMetrics,omitempty"`
// ProjectId: The cloud project
ProjectId string `json:"projectId,omitempty"`
// StepId: A tool results step ID.
StepId string `json:"stepId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AppStartTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppStartTime") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PerfMetricsSummary) MarshalJSON() ([]byte, error) {
type NoMethod PerfMetricsSummary
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PerfSample: Resource representing a single performance measure or
// data point
type PerfSample struct {
// SampleTime: Timestamp of collection.
SampleTime *Timestamp `json:"sampleTime,omitempty"`
// Value: Value observed
Value float64 `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "SampleTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "SampleTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PerfSample) MarshalJSON() ([]byte, error) {
type NoMethod PerfSample
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *PerfSample) UnmarshalJSON(data []byte) error {
type NoMethod PerfSample
var s1 struct {
Value gensupport.JSONFloat64 `json:"value"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Value = float64(s1.Value)
return nil
}
// PerfSampleSeries: Resource representing a collection of performance
// samples (or data points)
type PerfSampleSeries struct {
// BasicPerfSampleSeries: Basic series represented by a line chart
BasicPerfSampleSeries *BasicPerfSampleSeries `json:"basicPerfSampleSeries,omitempty"`
// ExecutionId: A tool results execution ID.
ExecutionId string `json:"executionId,omitempty"`
// HistoryId: A tool results history ID.
HistoryId string `json:"historyId,omitempty"`
// ProjectId: The cloud project
ProjectId string `json:"projectId,omitempty"`
// SampleSeriesId: A sample series id
SampleSeriesId string `json:"sampleSeriesId,omitempty"`
// StepId: A tool results step ID.
StepId string `json:"stepId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "BasicPerfSampleSeries") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BasicPerfSampleSeries") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *PerfSampleSeries) MarshalJSON() ([]byte, error) {
type NoMethod PerfSampleSeries
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PrimaryStep: Stores rollup test status of multiple steps that were
// run as a group and outcome of each individual step.
type PrimaryStep struct {
// IndividualOutcome: Step Id and outcome of each individual step.
IndividualOutcome []*IndividualOutcome `json:"individualOutcome,omitempty"`
// RollUp: Rollup test status of multiple steps that were run with the
// same configuration as a group.
//
// Possible values:
// "failure"
// "flaky"
// "inconclusive"
// "skipped"
// "success"
// "unset"
RollUp string `json:"rollUp,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndividualOutcome")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndividualOutcome") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *PrimaryStep) MarshalJSON() ([]byte, error) {
type NoMethod PrimaryStep
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProjectSettings: Per-project settings for the Tool Results service.
type ProjectSettings struct {
// DefaultBucket: The name of the Google Cloud Storage bucket to which
// results are written.
//
// By default, this is unset.
//
// In update request: optional In response: optional
DefaultBucket string `json:"defaultBucket,omitempty"`
// Name: The name of the project's settings.
//
// Always of the form: projects/{project-id}/settings
//
// In update request: never set In response: always set
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DefaultBucket") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DefaultBucket") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProjectSettings) MarshalJSON() ([]byte, error) {
type NoMethod ProjectSettings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PublishXunitXmlFilesRequest: Request message for
// StepService.PublishXunitXmlFiles.
type PublishXunitXmlFilesRequest struct {
// XunitXmlFiles: URI of the Xunit XML files to publish.
//
// The maximum size of the file this reference is pointing to is
// 50MB.
//
// Required.
XunitXmlFiles []*FileReference `json:"xunitXmlFiles,omitempty"`
// ForceSendFields is a list of field names (e.g. "XunitXmlFiles") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "XunitXmlFiles") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PublishXunitXmlFilesRequest) MarshalJSON() ([]byte, error) {
type NoMethod PublishXunitXmlFilesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResultsStorage: The storage for test results.
type ResultsStorage struct {
// ResultsStoragePath: The root directory for test results.
ResultsStoragePath *FileReference `json:"resultsStoragePath,omitempty"`
// XunitXmlFile: The path to the Xunit XML file.
XunitXmlFile *FileReference `json:"xunitXmlFile,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResultsStoragePath")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResultsStoragePath") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ResultsStorage) MarshalJSON() ([]byte, error) {
type NoMethod ResultsStorage
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Screen struct {
// FileReference: File reference of the png file. Required.
FileReference string `json:"fileReference,omitempty"`
// Locale: Locale of the device that the screenshot was taken on.
// Required.
Locale string `json:"locale,omitempty"`
// Model: Model of the device that the screenshot was taken on.
// Required.
Model string `json:"model,omitempty"`
// Version: OS version of the device that the screenshot was taken on.
// Required.
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileReference") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FileReference") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Screen) MarshalJSON() ([]byte, error) {
type NoMethod Screen
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ScreenshotCluster struct {
// Activity: A string that describes the activity of every screen in the
// cluster.
Activity string `json:"activity,omitempty"`
// ClusterId: A unique identifier for the cluster.
ClusterId string `json:"clusterId,omitempty"`
// KeyScreen: A singular screen that represents the cluster as a whole.
// This screen will act as the "cover" of the entire cluster. When users
// look at the clusters, only the key screen from each cluster will be
// shown. Which screen is the key screen is determined by the
// ClusteringAlgorithm
KeyScreen *Screen `json:"keyScreen,omitempty"`
// Screens: Full list of screens.
Screens []*Screen `json:"screens,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Activity") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Activity") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ScreenshotCluster) MarshalJSON() ([]byte, error) {
type NoMethod ScreenshotCluster
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ShardSummary: Result summary for a shard in an environment.
type ShardSummary struct {
// ShardResult: Merged result of the shard.
ShardResult *MergedResult `json:"shardResult,omitempty"`
// ForceSendFields is a list of field names (e.g. "ShardResult") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ShardResult") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ShardSummary) MarshalJSON() ([]byte, error) {
type NoMethod ShardSummary
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SkippedDetail: Details for an outcome with a SKIPPED outcome summary.
type SkippedDetail struct {
// IncompatibleAppVersion: If the App doesn't support the specific API
// level.
IncompatibleAppVersion bool `json:"incompatibleAppVersion,omitempty"`
// IncompatibleArchitecture: If the App doesn't run on the specific
// architecture, for example, x86.
IncompatibleArchitecture bool `json:"incompatibleArchitecture,omitempty"`
// IncompatibleDevice: If the requested OS version doesn't run on the
// specific device model.
IncompatibleDevice bool `json:"incompatibleDevice,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "IncompatibleAppVersion") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IncompatibleAppVersion")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *SkippedDetail) MarshalJSON() ([]byte, error) {
type NoMethod SkippedDetail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Specification: The details about how to run the execution.
type Specification struct {
// AndroidTest: An Android mobile test execution specification.
AndroidTest *AndroidTest `json:"androidTest,omitempty"`
// ForceSendFields is a list of field names (e.g. "AndroidTest") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AndroidTest") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Specification) MarshalJSON() ([]byte, error) {
type NoMethod Specification
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StackTrace: A stacktrace.
type StackTrace struct {
// Exception: The stack trace message.
//
// Required
Exception string `json:"exception,omitempty"`
// ForceSendFields is a list of field names (e.g. "Exception") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Exception") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StackTrace) MarshalJSON() ([]byte, error) {
type NoMethod StackTrace
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is
// suitable for different programming environments, including REST APIs
// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
// `Status` message contains three pieces of data: error code, error
// message, and error details.
//
// You can find out more about this error model and how to work with it
// in the [API Design
// Guide](https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of
// [google.rpc.Code][].
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of message types for APIs to use.
Details []*Any `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any user-facing error message should be localized and sent
// in the [google.rpc.Status.details][] field, or localized by the
// client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Step: A Step represents a single operation performed as part of
// Execution. A step can be used to represent the execution of a tool (
// for example a test runner execution or an execution of a
// compiler).
//
// Steps can overlap (for instance two steps might have the same start
// time if some operations are done in parallel).
//
// Here is an example, let's consider that we have a continuous build is
// executing a test runner for each iteration. The workflow would look
// like: - user creates a Execution with id 1 - user creates an
// TestExecutionStep with id 100 for Execution 1 - user update
// TestExecutionStep with id 100 to add a raw xml log + the service
// parses the xml logs and returns a TestExecutionStep with updated
// TestResult(s). - user update the status of TestExecutionStep with id
// 100 to COMPLETE
//
// A Step can be updated until its state is set to COMPLETE at which
// points it becomes immutable.
//
// Next tag: 27
type Step struct {
// CompletionTime: The time when the step status was set to
// complete.
//
// This value will be set automatically when state transitions to
// COMPLETE.
//
// - In response: set if the execution state is COMPLETE. - In
// create/update request: never set
CompletionTime *Timestamp `json:"completionTime,omitempty"`
// CreationTime: The time when the step was created.
//
// - In response: always set - In create/update request: never set
CreationTime *Timestamp `json:"creationTime,omitempty"`
// Description: A description of this tool For example: mvn clean
// package -D skipTests=true
//
// - In response: present if set by create/update request - In
// create/update request: optional
Description string `json:"description,omitempty"`
// DeviceUsageDuration: How much the device resource is used to perform
// the test.
//
// This is the device usage used for billing purpose, which is different
// from the run_duration, for example, infrastructure failure won't be
// charged for device usage.
//
// PRECONDITION_FAILED will be returned if one attempts to set a
// device_usage on a step which already has this field set.
//
// - In response: present if previously set. - In create request:
// optional - In update request: optional
DeviceUsageDuration *Duration `json:"deviceUsageDuration,omitempty"`
// DimensionValue: If the execution containing this step has any
// dimension_definition set, then this field allows the child to specify
// the values of the dimensions.
//
// The keys must exactly match the dimension_definition of the
// execution.
//
// For example, if the execution has `dimension_definition = ['attempt',
// 'device']` then a step must define values for those dimensions, eg.
// `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
//
// If a step does not participate in one dimension of the matrix, the
// value for that dimension should be empty string. For example, if one
// of the tests is executed by a runner which does not support retries,
// the step could have `dimension_value = ['attempt': '', 'device':
// 'Nexus 6']`
//
// If the step does not participate in any dimensions of the matrix, it
// may leave dimension_value unset.
//
// A PRECONDITION_FAILED will be returned if any of the keys do not
// exist in the dimension_definition of the execution.
//
// A PRECONDITION_FAILED will be returned if another step in this
// execution already has the same name and dimension_value, but differs
// on other data fields, for example, step field is different.
//
// A PRECONDITION_FAILED will be returned if dimension_value is set, and
// there is a dimension_definition in the execution which is not
// specified as one of the keys.
//
// - In response: present if set by create - In create request: optional
// - In update request: never set
DimensionValue []*StepDimensionValueEntry `json:"dimensionValue,omitempty"`
// HasImages: Whether any of the outputs of this step are images whose
// thumbnails can be fetched with ListThumbnails.
//
// - In response: always set - In create/update request: never set
HasImages bool `json:"hasImages,omitempty"`
// Labels: Arbitrary user-supplied key/value pairs that are associated
// with the step.
//
// Users are responsible for managing the key namespace such that keys
// don't accidentally collide.
//
// An INVALID_ARGUMENT will be returned if the number of labels exceeds
// 100 or if the length of any of the keys or values exceeds 100
// characters.
//
// - In response: always set - In create request: optional - In update
// request: optional; any new key/value pair will be added to the map,
// and any new value for an existing key will update that key's value
Labels []*StepLabelsEntry `json:"labels,omitempty"`
// MultiStep: Details when multiple steps are run with the same
// configuration as a group. These details can be used identify which
// group this step is part of. It also identifies the groups 'primary
// step' which indexes all the group members.
//
// - In response: present if previously set. - In create request:
// optional, set iff this step was performed more than once. - In update
// request: optional
MultiStep *MultiStep `json:"multiStep,omitempty"`
// Name: A short human-readable name to display in the UI. Maximum of
// 100 characters. For example: Clean build
//
// A PRECONDITION_FAILED will be returned upon creating a new step if it
// shares its name and dimension_value with an existing step. If two
// steps represent a similar action, but have different dimension
// values, they should share the same name. For instance, if the same
// set of tests is run on two different platforms, the two steps should
// have the same name.
//
// - In response: always set - In create request: always set - In update
// request: never set
Name string `json:"name,omitempty"`
// Outcome: Classification of the result, for example into SUCCESS or
// FAILURE
//
// - In response: present if set by create/update request - In
// create/update request: optional
Outcome *Outcome `json:"outcome,omitempty"`
// RunDuration: How long it took for this step to run.
//
// If unset, this is set to the difference between creation_time and
// completion_time when the step is set to the COMPLETE state. In some
// cases, it is appropriate to set this value separately: For instance,
// if a step is created, but the operation it represents is queued for a
// few minutes before it executes, it would be appropriate not to
// include the time spent queued in its
// run_duration.
//
// PRECONDITION_FAILED will be returned if one attempts to set a
// run_duration on a step which already has this field set.
//
// - In response: present if previously set; always present on COMPLETE
// step - In create request: optional - In update request: optional
RunDuration *Duration `json:"runDuration,omitempty"`
// State: The initial state is IN_PROGRESS. The only legal state
// transitions are * IN_PROGRESS -> COMPLETE
//
// A PRECONDITION_FAILED will be returned if an invalid transition is
// requested.
//
// It is valid to create Step with a state set to COMPLETE. The state
// can only be set to COMPLETE once. A PRECONDITION_FAILED will be
// returned if the state is set to COMPLETE multiple times.
//
// - In response: always set - In create/update request: optional
//
// Possible values:
// "complete"
// "inProgress"
// "pending"
// "unknownState"
State string `json:"state,omitempty"`
// StepId: A unique identifier within a Execution for this
// Step.
//
// Returns INVALID_ARGUMENT if this field is set or overwritten by the
// caller.
//
// - In response: always set - In create/update request: never set
StepId string `json:"stepId,omitempty"`
// TestExecutionStep: An execution of a test runner.
TestExecutionStep *TestExecutionStep `json:"testExecutionStep,omitempty"`
// ToolExecutionStep: An execution of a tool (used for steps we don't
// explicitly support).
ToolExecutionStep *ToolExecutionStep `json:"toolExecutionStep,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompletionTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletionTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Step) MarshalJSON() ([]byte, error) {
type NoMethod Step
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type StepDimensionValueEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StepDimensionValueEntry) MarshalJSON() ([]byte, error) {
type NoMethod StepDimensionValueEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type StepLabelsEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StepLabelsEntry) MarshalJSON() ([]byte, error) {
type NoMethod StepLabelsEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SuccessDetail: Details for an outcome with a SUCCESS outcome summary.
// LINT.IfChange
type SuccessDetail struct {
// OtherNativeCrash: If a native process other than the app crashed.
OtherNativeCrash bool `json:"otherNativeCrash,omitempty"`
// ForceSendFields is a list of field names (e.g. "OtherNativeCrash") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OtherNativeCrash") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *SuccessDetail) MarshalJSON() ([]byte, error) {
type NoMethod SuccessDetail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TestCase struct {
// ElapsedTime: The elapsed run time of the test case.
//
// Required.
ElapsedTime *Duration `json:"elapsedTime,omitempty"`
// EndTime: The end time of the test case.
//
// Optional.
EndTime *Timestamp `json:"endTime,omitempty"`
// SkippedMessage: Why the test case was skipped.
//
// Present only for skipped test case
SkippedMessage string `json:"skippedMessage,omitempty"`
// StackTraces: The stack trace details if the test case failed or
// encountered an error.
//
// The maximum size of the stack traces is 100KiB, beyond which the
// stack track will be truncated.
//
// Zero if the test case passed.
StackTraces []*StackTrace `json:"stackTraces,omitempty"`
// StartTime: The start time of the test case.
//
// Optional.
StartTime *Timestamp `json:"startTime,omitempty"`
// Status: The status of the test case.
//
// Required.
//
// Possible values:
// "error"
// "failed"
// "flaky"
// "passed"
// "skipped"
Status string `json:"status,omitempty"`
// TestCaseId: A unique identifier within a Step for this Test Case.
TestCaseId string `json:"testCaseId,omitempty"`
// TestCaseReference: Test case reference, e.g. name, class name and
// test suite name.
//
// Required.
TestCaseReference *TestCaseReference `json:"testCaseReference,omitempty"`
// ToolOutputs: References to opaque files of any format output by the
// tool execution.
ToolOutputs []*ToolOutputReference `json:"toolOutputs,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ElapsedTime") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestCase) MarshalJSON() ([]byte, error) {
type NoMethod TestCase
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestCaseReference: A reference to a test case.
//
// Test case references are canonically ordered lexicographically by
// these three factors: * First, by test_suite_name. * Second, by
// class_name. * Third, by name.
type TestCaseReference struct {
// ClassName: The name of the class.
ClassName string `json:"className,omitempty"`
// Name: The name of the test case.
//
// Required.
Name string `json:"name,omitempty"`
// TestSuiteName: The name of the test suite to which this test case
// belongs.
TestSuiteName string `json:"testSuiteName,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClassName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClassName") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestCaseReference) MarshalJSON() ([]byte, error) {
type NoMethod TestCaseReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestExecutionStep: A step that represents running tests.
//
// It accepts ant-junit xml files which will be parsed into structured
// test results by the service. Xml file paths are updated in order to
// append more files, however they can't be deleted.
//
// Users can also add test results manually by using the test_result
// field.
type TestExecutionStep struct {
// TestIssues: Issues observed during the test execution.
//
// For example, if the mobile app under test crashed during the test,
// the error message and the stack trace content can be recorded here to
// assist debugging.
//
// - In response: present if set by create or update - In create/update
// request: optional
TestIssues []*TestIssue `json:"testIssues,omitempty"`
// TestSuiteOverviews: List of test suite overview contents. This could
// be parsed from xUnit XML log by server, or uploaded directly by user.
// This references should only be called when test suites are fully
// parsed or uploaded.
//
// The maximum allowed number of test suite overviews per step is
// 1000.
//
// - In response: always set - In create request: optional - In update
// request: never (use publishXunitXmlFiles custom method instead)
TestSuiteOverviews []*TestSuiteOverview `json:"testSuiteOverviews,omitempty"`
// TestTiming: The timing break down of the test execution.
//
// - In response: present if set by create or update - In create/update
// request: optional
TestTiming *TestTiming `json:"testTiming,omitempty"`
// ToolExecution: Represents the execution of the test runner.
//
// The exit code of this tool will be used to determine if the test
// passed.
//
// - In response: always set - In create/update request: optional
ToolExecution *ToolExecution `json:"toolExecution,omitempty"`
// ForceSendFields is a list of field names (e.g. "TestIssues") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TestIssues") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestExecutionStep) MarshalJSON() ([]byte, error) {
type NoMethod TestExecutionStep
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestIssue: An issue detected occurring during a test execution.
type TestIssue struct {
// Category: Category of issue. Required.
//
// Possible values:
// "common"
// "robo"
// "unspecifiedCategory"
Category string `json:"category,omitempty"`
// ErrorMessage: A brief human-readable message describing the issue.
// Required.
ErrorMessage string `json:"errorMessage,omitempty"`
// Severity: Severity of issue. Required.
//
// Possible values:
// "info"
// "severe"
// "suggestion"
// "unspecifiedSeverity"
// "warning"
Severity string `json:"severity,omitempty"`
// StackTrace: Deprecated in favor of stack trace fields inside specific
// warnings.
StackTrace *StackTrace `json:"stackTrace,omitempty"`
// Type: Type of issue. Required.
//
// Possible values:
// "anr"
// "availableDeepLinks"
// "blankScreen"
// "compatibleWithOrchestrator"
// "completeRoboScriptExecution"
// "crashDialogError"
// "encounteredLoginScreen"
// "encounteredNonAndroidUiWidgetScreen"
// "failedToInstall"
// "fatalException"
// "inAppPurchases"
// "incompleteRoboScriptExecution"
// "insufficientCoverage"
// "iosCrash"
// "iosException"
// "launcherActivityNotFound"
// "nativeCrash"
// "nonSdkApiUsageReport"
// "nonSdkApiUsageViolation"
// "overlappingUiElements"
// "performedGoogleLogin"
// "performedMonkeyActions"
// "startActivityNotFound"
// "uiElementsTooDeep"
// "unspecifiedType"
// "unusedRoboDirective"
// "usedRoboDirective"
// "usedRoboIgnoreDirective"
Type string `json:"type,omitempty"`
// Warning: Warning message with additional details of the issue. Should
// always be a message from com.google.devtools.toolresults.v1.warnings
Warning *Any `json:"warning,omitempty"`
// ForceSendFields is a list of field names (e.g. "Category") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Category") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestIssue) MarshalJSON() ([]byte, error) {
type NoMethod TestIssue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestSuiteOverview: A summary of a test suite result either parsed
// from XML or uploaded directly by a user.
//
// Note: the API related comments are for StepService only. This message
// is also being used in ExecutionService in a read only mode for the
// corresponding step.
type TestSuiteOverview struct {
// ElapsedTime: Elapsed time of test suite.
ElapsedTime *Duration `json:"elapsedTime,omitempty"`
// ErrorCount: Number of test cases in error, typically set by the
// service by parsing the xml_source.
//
// - In create/response: always set - In update request: never
ErrorCount int64 `json:"errorCount,omitempty"`
// FailureCount: Number of failed test cases, typically set by the
// service by parsing the xml_source. May also be set by the user.
//
// - In create/response: always set - In update request: never
FailureCount int64 `json:"failureCount,omitempty"`
// FlakyCount: Number of flaky test cases, set by the service by rolling
// up flaky test attempts.
//
// Present only for rollup test suite overview at environment level. A
// step cannot have flaky test cases.
FlakyCount int64 `json:"flakyCount,omitempty"`
// Name: The name of the test suite.
//
// - In create/response: always set - In update request: never
Name string `json:"name,omitempty"`
// SkippedCount: Number of test cases not run, typically set by the
// service by parsing the xml_source.
//
// - In create/response: always set - In update request: never
SkippedCount int64 `json:"skippedCount,omitempty"`
// TotalCount: Number of test cases, typically set by the service by
// parsing the xml_source.
//
// - In create/response: always set - In update request: never
TotalCount int64 `json:"totalCount,omitempty"`
// XmlSource: If this test suite was parsed from XML, this is the URI
// where the original XML file is stored.
//
// Note: Multiple test suites can share the same xml_source
//
// Returns INVALID_ARGUMENT if the uri format is not supported.
//
// - In create/response: optional - In update request: never
XmlSource *FileReference `json:"xmlSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ElapsedTime") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestSuiteOverview) MarshalJSON() ([]byte, error) {
type NoMethod TestSuiteOverview
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestTiming: Testing timing break down to know phases.
type TestTiming struct {
// TestProcessDuration: How long it took to run the test process.
//
// - In response: present if previously set. - In create/update request:
// optional
TestProcessDuration *Duration `json:"testProcessDuration,omitempty"`
// ForceSendFields is a list of field names (e.g. "TestProcessDuration")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TestProcessDuration") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *TestTiming) MarshalJSON() ([]byte, error) {
type NoMethod TestTiming
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Thumbnail: A single thumbnail, with its size and format.
type Thumbnail struct {
// ContentType: The thumbnail's content type, i.e. "image/png".
//
// Always set.
ContentType string `json:"contentType,omitempty"`
// Data: The thumbnail file itself.
//
// That is, the bytes here are precisely the bytes that make up the
// thumbnail file; they can be served as an image as-is (with the
// appropriate content type.)
//
// Always set.
Data string `json:"data,omitempty"`
// HeightPx: The height of the thumbnail, in pixels.
//
// Always set.
HeightPx int64 `json:"heightPx,omitempty"`
// WidthPx: The width of the thumbnail, in pixels.
//
// Always set.
WidthPx int64 `json:"widthPx,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContentType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Thumbnail) MarshalJSON() ([]byte, error) {
type NoMethod Thumbnail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Timestamp: A Timestamp represents a point in time independent of any
// time zone or local calendar, encoded as a count of seconds and
// fractions of seconds at nanosecond resolution. The count is relative
// to an epoch at UTC midnight on January 1, 1970, in the proleptic
// Gregorian calendar which extends the Gregorian calendar backwards to
// year one.
//
// All minutes are 60 seconds long. Leap seconds are "smeared" so that
// no leap second table is needed for interpretation, using a [24-hour
// linear smear](https://developers.google.com/time/smear).
//
// The range is from 0001-01-01T00:00:00Z to
// 9999-12-31T23:59:59.999999999Z. By restricting to that range, we
// ensure that we can convert to and from [RFC
// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
//
// # Examples
//
// Example 1: Compute Timestamp from POSIX `time()`.
//
// Timestamp timestamp; timestamp.set_seconds(time(NULL));
// timestamp.set_nanos(0);
//
// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
//
// struct timeval tv; gettimeofday(&tv, NULL);
//
// Timestamp timestamp; timestamp.set_seconds(tv.tv_sec);
// timestamp.set_nanos(tv.tv_usec * 1000);
//
// Example 3: Compute Timestamp from Win32
// `GetSystemTimeAsFileTime()`.
//
// FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks =
// (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
//
// // A Windows tick is 100 nanoseconds. Windows epoch
// 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch
// 1970-01-01T00:00:00Z. Timestamp timestamp;
// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
//
// Example 4: Compute Timestamp from Java
// `System.currentTimeMillis()`.
//
// long millis = System.currentTimeMillis();
//
// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis /
// 1000) .setNanos((int) ((millis % 1000) *
// 1000000)).build();
//
//
//
// Example 5: Compute Timestamp from current time in Python.
//
// timestamp = Timestamp() timestamp.GetCurrentTime()
//
// # JSON Mapping
//
// In JSON format, the Timestamp type is encoded as a string in the [RFC
// 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
// where {year} is always expressed using four digits while {month},
// {day}, {hour}, {min}, and {sec} are zero-padded to two digits each.
// The fractional seconds, which can go up to 9 digits (i.e. up to 1
// nanosecond resolution), are optional. The "Z" suffix indicates the
// timezone ("UTC"); the timezone is required. A proto3 JSON serializer
// should always use UTC (as indicated by "Z") when printing the
// Timestamp type and a proto3 JSON parser should be able to accept both
// UTC and other timezones (as indicated by an offset).
//
// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
// 01:30 UTC on January 15, 2017.
//
// In JavaScript, one can convert a Date object to this format using the
// standard
// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
// t/Reference/Global_Objects/Date/toISOString) method. In Python, a
// standard `datetime.datetime` object can be converted to this format
// using
// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime
// ) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in
// Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a formatter capable of generating timestamps in this
// format.
type Timestamp struct {
// Nanos: Non-negative fractions of a second at nanosecond resolution.
// Negative second values with fractions must still have non-negative
// nanos values that count forward in time. Must be from 0 to
// 999,999,999 inclusive.
Nanos int64 `json:"nanos,omitempty"`
// Seconds: Represents seconds of UTC time since Unix epoch
// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
// 9999-12-31T23:59:59Z inclusive.
Seconds int64 `json:"seconds,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Nanos") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Nanos") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Timestamp) MarshalJSON() ([]byte, error) {
type NoMethod Timestamp
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ToolExecution: An execution of an arbitrary tool. It could be a test
// runner or a tool copying artifacts or deploying code.
type ToolExecution struct {
// CommandLineArguments: The full tokenized command line including the
// program name (equivalent to argv in a C program).
//
// - In response: present if set by create request - In create request:
// optional - In update request: never set
CommandLineArguments []string `json:"commandLineArguments,omitempty"`
// ExitCode: Tool execution exit code. This field will be set once the
// tool has exited.
//
// - In response: present if set by create/update request - In create
// request: optional - In update request: optional, a
// FAILED_PRECONDITION error will be returned if an exit_code is already
// set.
ExitCode *ToolExitCode `json:"exitCode,omitempty"`
// ToolLogs: References to any plain text logs output the tool
// execution.
//
// This field can be set before the tool has exited in order to be able
// to have access to a live view of the logs while the tool is
// running.
//
// The maximum allowed number of tool logs per step is 1000.
//
// - In response: present if set by create/update request - In create
// request: optional - In update request: optional, any value provided
// will be appended to the existing list
ToolLogs []*FileReference `json:"toolLogs,omitempty"`
// ToolOutputs: References to opaque files of any format output by the
// tool execution.
//
// The maximum allowed number of tool outputs per step is 1000.
//
// - In response: present if set by create/update request - In create
// request: optional - In update request: optional, any value provided
// will be appended to the existing list
ToolOutputs []*ToolOutputReference `json:"toolOutputs,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CommandLineArguments") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommandLineArguments") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ToolExecution) MarshalJSON() ([]byte, error) {
type NoMethod ToolExecution
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ToolExecutionStep: Generic tool step to be used for binaries we do
// not explicitly support. For example: running cp to copy artifacts
// from one location to another.
type ToolExecutionStep struct {
// ToolExecution: A Tool execution.
//
// - In response: present if set by create/update request - In
// create/update request: optional
ToolExecution *ToolExecution `json:"toolExecution,omitempty"`
// ForceSendFields is a list of field names (e.g. "ToolExecution") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ToolExecution") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ToolExecutionStep) MarshalJSON() ([]byte, error) {
type NoMethod ToolExecutionStep
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ToolExitCode: Exit code from a tool execution.
type ToolExitCode struct {
// Number: Tool execution exit code. A value of 0 means that the
// execution was successful.
//
// - In response: always set - In create/update request: always set
Number int64 `json:"number,omitempty"`
// ForceSendFields is a list of field names (e.g. "Number") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Number") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ToolExitCode) MarshalJSON() ([]byte, error) {
type NoMethod ToolExitCode
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ToolOutputReference: A reference to a ToolExecution output file.
type ToolOutputReference struct {
// CreationTime: The creation time of the file.
//
// - In response: present if set by create/update request - In
// create/update request: optional
CreationTime *Timestamp `json:"creationTime,omitempty"`
// Output: A FileReference to an output file.
//
// - In response: always set - In create/update request: always set
Output *FileReference `json:"output,omitempty"`
// TestCase: The test case to which this output file belongs.
//
// - In response: present if set by create/update request - In
// create/update request: optional
TestCase *TestCaseReference `json:"testCase,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreationTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be