buildbucketpb

package
Version: v0.0.0-...-12a3a93 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2023 License: Apache-2.0 Imports: 25 Imported by: 82

Documentation

Overview

Package buildbucketpb is generated from Buildbucket .proto files.

It contains pRPC and mock implementations of Builds RPC service.

See also ../protoutil for utility functions for types in this package.

Index

Constants

This section is empty.

Variables

View Source
var (
	BuildInfra_Buildbucket_ExperimentReason_name = map[int32]string{
		0: "EXPERIMENT_REASON_UNSET",
		1: "EXPERIMENT_REASON_GLOBAL_DEFAULT",
		2: "EXPERIMENT_REASON_BUILDER_CONFIG",
		3: "EXPERIMENT_REASON_GLOBAL_MINIMUM",
		4: "EXPERIMENT_REASON_REQUESTED",
		5: "EXPERIMENT_REASON_GLOBAL_INACTIVE",
	}
	BuildInfra_Buildbucket_ExperimentReason_value = map[string]int32{
		"EXPERIMENT_REASON_UNSET":           0,
		"EXPERIMENT_REASON_GLOBAL_DEFAULT":  1,
		"EXPERIMENT_REASON_BUILDER_CONFIG":  2,
		"EXPERIMENT_REASON_GLOBAL_MINIMUM":  3,
		"EXPERIMENT_REASON_REQUESTED":       4,
		"EXPERIMENT_REASON_GLOBAL_INACTIVE": 5,
	}
)

Enum value maps for BuildInfra_Buildbucket_ExperimentReason.

View Source
var (
	BuildInfra_Buildbucket_Agent_Purpose_name = map[int32]string{
		0: "PURPOSE_UNSPECIFIED",
		1: "PURPOSE_EXE_PAYLOAD",
		2: "PURPOSE_BBAGENT_UTILITY",
	}
	BuildInfra_Buildbucket_Agent_Purpose_value = map[string]int32{
		"PURPOSE_UNSPECIFIED":     0,
		"PURPOSE_EXE_PAYLOAD":     1,
		"PURPOSE_BBAGENT_UTILITY": 2,
	}
)

Enum value maps for BuildInfra_Buildbucket_Agent_Purpose.

View Source
var (
	BuildFieldVisibility_name = map[int32]string{
		0: "FIELD_VISIBILITY_UNSPECIFIED",
		1: "BUILDS_GET_PERMISSION",
		2: "BUILDS_GET_LIMITED_PERMISSION",
		3: "BUILDS_LIST_PERMISSION",
	}
	BuildFieldVisibility_value = map[string]int32{
		"FIELD_VISIBILITY_UNSPECIFIED":  0,
		"BUILDS_GET_PERMISSION":         1,
		"BUILDS_GET_LIMITED_PERMISSION": 2,
		"BUILDS_LIST_PERMISSION":        3,
	}
)

Enum value maps for BuildFieldVisibility.

View Source
var (
	BuilderMask_BuilderMaskType_name = map[int32]string{
		0: "BUILDER_MASK_TYPE_UNSPECIFIED",
		1: "CONFIG_ONLY",
		2: "ALL",
		3: "METADATA_ONLY",
	}
	BuilderMask_BuilderMaskType_value = map[string]int32{
		"BUILDER_MASK_TYPE_UNSPECIFIED": 0,
		"CONFIG_ONLY":                   1,
		"ALL":                           2,
		"METADATA_ONLY":                 3,
	}
)

Enum value maps for BuilderMask_BuilderMaskType.

View Source
var (
	Status_name = map[int32]string{
		0:  "STATUS_UNSPECIFIED",
		1:  "SCHEDULED",
		2:  "STARTED",
		4:  "ENDED_MASK",
		12: "SUCCESS",
		20: "FAILURE",
		36: "INFRA_FAILURE",
		68: "CANCELED",
	}
	Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"SCHEDULED":          1,
		"STARTED":            2,
		"ENDED_MASK":         4,
		"SUCCESS":            12,
		"FAILURE":            20,
		"INFRA_FAILURE":      36,
		"CANCELED":           68,
	}
)

Enum value maps for Status.

View Source
var (
	Trinary_name = map[int32]string{
		0: "UNSET",
		1: "YES",
		2: "NO",
	}
	Trinary_value = map[string]int32{
		"UNSET": 0,
		"YES":   1,
		"NO":    2,
	}
)

Enum value maps for Trinary.

View Source
var (
	Compression_name = map[int32]string{
		0: "ZLIB",
		1: "ZSTD",
	}
	Compression_value = map[string]int32{
		"ZLIB": 0,
		"ZSTD": 1,
	}
)

Enum value maps for Compression.

View Source
var (
	// optional buildbucket.v2.CreateBuildFieldOption create_build_field_option = 54321;
	E_CreateBuildFieldOption = &file_go_chromium_org_luci_buildbucket_proto_field_option_proto_extTypes[0]
	// optional buildbucket.v2.RegisterBuildTaskFieldOption register_build_task_field_option = 54322;
	E_RegisterBuildTaskFieldOption = &file_go_chromium_org_luci_buildbucket_proto_field_option_proto_extTypes[1]
	// Custom repeatable field option that allows user to require some fields for
	// a specific rpc. Set this value equal to RPC when using protowalk Field
	// Processor.
	//
	// repeated string required_by_rpc = 54323;
	E_RequiredByRpc = &file_go_chromium_org_luci_buildbucket_proto_field_option_proto_extTypes[2]
)

Extension fields to descriptorpb.FieldOptions.

View Source
var (
	Toggle_name = map[int32]string{
		0: "UNSET",
		1: "YES",
		2: "NO",
	}
	Toggle_value = map[string]int32{
		"UNSET": 0,
		"YES":   1,
		"NO":    2,
	}
)

Enum value maps for Toggle.

View Source
var (
	Acl_Role_name = map[int32]string{
		0: "READER",
		1: "SCHEDULER",
		2: "WRITER",
	}
	Acl_Role_value = map[string]int32{
		"READER":    0,
		"SCHEDULER": 1,
		"WRITER":    2,
	}
)

Enum value maps for Acl_Role.

View Source
var (
	TokenBody_Purpose_name = map[int32]string{
		0: "PURPOSE_UNSPECIFIED",
		1: "BUILD",
		2: "TASK",
		3: "START_BUILD",
		4: "REGISTER_TASK",
	}
	TokenBody_Purpose_value = map[string]int32{
		"PURPOSE_UNSPECIFIED": 0,
		"BUILD":               1,
		"TASK":                2,
		"START_BUILD":         3,
		"REGISTER_TASK":       4,
	}
)

Enum value maps for TokenBody_Purpose.

View Source
var (
	TokenEnvelope_Version_name = map[int32]string{
		0: "VERSION_UNSPECIFIED",
		1: "UNENCRYPTED_PASSWORD_LIKE",
		2: "ENCRYPTED",
	}
	TokenEnvelope_Version_value = map[string]int32{
		"VERSION_UNSPECIFIED":       0,
		"UNENCRYPTED_PASSWORD_LIKE": 1,
		"ENCRYPTED":                 2,
	}
)

Enum value maps for TokenEnvelope_Version.

View Source
var (
	// Can be used to indicate that a buildbucket.v2.Build field should be visible
	// to users with the specified permission. By default, buildbucket.builds.get
	// is required to see fields, but this annotation allows that access to be
	// expanded.
	//
	// Note that we assume that users with GET_LIMITED also have LIST, and users
	// with GET also have GET_LIMITED and LIST.
	//
	// optional buildbucket.v2.BuildFieldVisibility visible_with = 910567;
	E_VisibleWith = &file_go_chromium_org_luci_buildbucket_proto_build_field_visibility_proto_extTypes[0]
)

Extension fields to descriptorpb.FieldOptions.

View Source
var File_go_chromium_org_luci_buildbucket_proto_backend_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_build_field_visibility_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_build_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_builder_common_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_builder_service_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_builds_service_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_common_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_field_option_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_launcher_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_log_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_notification_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_project_config_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_service_config_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_step_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_task_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_buildbucket_proto_token_proto protoreflect.FileDescriptor

Functions

func FileDescriptorSet

func FileDescriptorSet() *descriptorpb.FileDescriptorSet

FileDescriptorSet returns a descriptor set for this proto package, which includes all defined services, and all transitive dependencies.

Will not return nil.

Do NOT modify the returned descriptor.

func RegisterBuildersServer

func RegisterBuildersServer(s prpc.Registrar, srv BuildersServer)

func RegisterBuildsServer

func RegisterBuildsServer(s prpc.Registrar, srv BuildsServer)

func RegisterTaskBackendServer

func RegisterTaskBackendServer(s prpc.Registrar, srv TaskBackendServer)

Types

type Acl

type Acl struct {

	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.
	Role Acl_Role `protobuf:"varint,1,opt,name=role,proto3,enum=buildbucket.Acl_Role" json:"role,omitempty"`
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.
	Group string `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"`
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.
	Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"`
	// contains filtered or unexported fields
}

Deprecated in favor of LUCI Realms. This proto is totally unused now, exists only to not break older configs that still may have deprecated fields populated.

func (*Acl) Descriptor deprecated

func (*Acl) Descriptor() ([]byte, []int)

Deprecated: Use Acl.ProtoReflect.Descriptor instead.

func (*Acl) GetGroup deprecated

func (x *Acl) GetGroup() string

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.

func (*Acl) GetIdentity deprecated

func (x *Acl) GetIdentity() string

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.

func (*Acl) GetRole deprecated

func (x *Acl) GetRole() Acl_Role

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.

func (*Acl) ProtoMessage

func (*Acl) ProtoMessage()

func (*Acl) ProtoReflect

func (x *Acl) ProtoReflect() protoreflect.Message

func (*Acl) Reset

func (x *Acl) Reset()

func (*Acl) String

func (x *Acl) String() string

type Acl_Role

type Acl_Role int32
const (
	Acl_READER    Acl_Role = 0
	Acl_SCHEDULER Acl_Role = 1
	Acl_WRITER    Acl_Role = 2
)

func (Acl_Role) Descriptor

func (Acl_Role) Descriptor() protoreflect.EnumDescriptor

func (Acl_Role) Enum

func (x Acl_Role) Enum() *Acl_Role

func (Acl_Role) EnumDescriptor deprecated

func (Acl_Role) EnumDescriptor() ([]byte, []int)

Deprecated: Use Acl_Role.Descriptor instead.

func (Acl_Role) Number

func (x Acl_Role) Number() protoreflect.EnumNumber

func (Acl_Role) String

func (x Acl_Role) String() string

func (Acl_Role) Type

type BBAgentArgs

type BBAgentArgs struct {

	// Path to the user executable.
	//
	// Deprecated. Superseded by payload_path and `build.exe.cmd`.
	ExecutablePath string `protobuf:"bytes,1,opt,name=executable_path,json=executablePath,proto3" json:"executable_path,omitempty"`
	// Path to the base of the user executable package.
	//
	// Required.
	PayloadPath string `protobuf:"bytes,5,opt,name=payload_path,json=payloadPath,proto3" json:"payload_path,omitempty"`
	// Path to a directory where each subdirectory is a cache dir.
	//
	// Required.
	CacheDir string `protobuf:"bytes,2,opt,name=cache_dir,json=cacheDir,proto3" json:"cache_dir,omitempty"`
	// List of Gerrit hosts to force git authentication for.
	//
	// By default public hosts are accessed anonymously, and the anonymous access
	// has very low quota. Context needs to know all such hostnames in advance to
	// be able to force authenticated access to them.
	KnownPublicGerritHosts []string `` /* 131-byte string literal not displayed */
	// Initial state of the build, including immutable state such as id and input
	// properties.
	Build *Build `protobuf:"bytes,4,opt,name=build,proto3" json:"build,omitempty"`
	// contains filtered or unexported fields
}

Arguments for bbagent command.

All paths are relateive to bbagent's working directory, and must be delimited with slashes ("/"), regardless of the host OS.

func (*BBAgentArgs) Descriptor deprecated

func (*BBAgentArgs) Descriptor() ([]byte, []int)

Deprecated: Use BBAgentArgs.ProtoReflect.Descriptor instead.

func (*BBAgentArgs) GetBuild

func (x *BBAgentArgs) GetBuild() *Build

func (*BBAgentArgs) GetCacheDir

func (x *BBAgentArgs) GetCacheDir() string

func (*BBAgentArgs) GetExecutablePath

func (x *BBAgentArgs) GetExecutablePath() string

func (*BBAgentArgs) GetKnownPublicGerritHosts

func (x *BBAgentArgs) GetKnownPublicGerritHosts() []string

func (*BBAgentArgs) GetPayloadPath

func (x *BBAgentArgs) GetPayloadPath() string

func (*BBAgentArgs) ProtoMessage

func (*BBAgentArgs) ProtoMessage()

func (*BBAgentArgs) ProtoReflect

func (x *BBAgentArgs) ProtoReflect() protoreflect.Message

func (*BBAgentArgs) Reset

func (x *BBAgentArgs) Reset()

func (*BBAgentArgs) String

func (x *BBAgentArgs) String() string

type BackendSetting

type BackendSetting struct {

	// Target backend. e.g. "swarming://chromium-swarm".
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// hostname for the target backend. e.g. chromium-swarm.appspot.com
	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// The associated UpdateBuildTask pubsub id for this task backend.
	// This must be set in order for buildbucket to recieve task updates and send
	// a pubsup topic that the task backend can use to send updates to.
	// This id is provided by the backend owner, but added to buildbucket's service
	// config by the buildbucket team.
	// Buildbucket will subscribe to the pubsub subscription, which itself is
	// subscribed to the topic that task backends send messages to.
	// i.e.
	//
	//	For this pubsub subscription:
	//	    project/cr-buildbucket/subscriptions/chormium-swarm-backend
	//	and topic:
	//	    project/cr-buildbucket/topics/chormium-swarm-backend
	//	The pubsub_id would be:
	//	    chormium-swarm-backend
	PubsubId         string                           `protobuf:"bytes,3,opt,name=pubsub_id,json=pubsubId,proto3" json:"pubsub_id,omitempty"`
	BuildSyncSetting *BackendSetting_BuildSyncSetting `protobuf:"bytes,4,opt,name=build_sync_setting,json=buildSyncSetting,proto3" json:"build_sync_setting,omitempty"`
	// contains filtered or unexported fields
}

Backend setting.

func (*BackendSetting) Descriptor deprecated

func (*BackendSetting) Descriptor() ([]byte, []int)

Deprecated: Use BackendSetting.ProtoReflect.Descriptor instead.

func (*BackendSetting) GetBuildSyncSetting

func (x *BackendSetting) GetBuildSyncSetting() *BackendSetting_BuildSyncSetting

func (*BackendSetting) GetHostname

func (x *BackendSetting) GetHostname() string

func (*BackendSetting) GetPubsubId

func (x *BackendSetting) GetPubsubId() string

func (*BackendSetting) GetTarget

func (x *BackendSetting) GetTarget() string

func (*BackendSetting) ProtoMessage

func (*BackendSetting) ProtoMessage()

func (*BackendSetting) ProtoReflect

func (x *BackendSetting) ProtoReflect() protoreflect.Message

func (*BackendSetting) Reset

func (x *BackendSetting) Reset()

func (*BackendSetting) String

func (x *BackendSetting) String() string

type BackendSetting_BuildSyncSetting

type BackendSetting_BuildSyncSetting struct {

	// Number of shards for Buildbucket to save the update_time of the builds on
	// this backend.
	//
	// In Build model, we need to keep an index on the build update time in order
	// to get all builds it haven't heard for a while.
	// To avoid hotspotting, a new computed property NextBackendSyncTime is added
	// for indexing, with format
	// <backend_target>--<project>--<shard index>--<update_time>.
	//
	// Because some backends serves significantly larger amount of builds than
	// other backends, we need different number of shards for each backend.
	//
	// Must be greater than or equal to 0, while 0 effectively means 1 shard.
	//
	// Note: when updating this field, the new number MUST be greater than the
	// old one.
	Shards int32 `protobuf:"varint,1,opt,name=shards,proto3" json:"shards,omitempty"`
	// How often should a incomplete build get updated. If Buildbucket doesn't
	// hear from this build for sync_interval, it will sync it with its backend
	// task.
	//
	// Buildbucket runs a cron job to find builds to sync every minute, so
	// sync_interval_seconds must be greater than or equal to 60.
	//
	// If unset, a default threshold of 5min will be applied.
	SyncIntervalSeconds int32 `protobuf:"varint,2,opt,name=sync_interval_seconds,json=syncIntervalSeconds,proto3" json:"sync_interval_seconds,omitempty"`
	// contains filtered or unexported fields
}

Setting for the fetch tasks cron job.

func (*BackendSetting_BuildSyncSetting) Descriptor deprecated

func (*BackendSetting_BuildSyncSetting) Descriptor() ([]byte, []int)

Deprecated: Use BackendSetting_BuildSyncSetting.ProtoReflect.Descriptor instead.

func (*BackendSetting_BuildSyncSetting) GetShards

func (x *BackendSetting_BuildSyncSetting) GetShards() int32

func (*BackendSetting_BuildSyncSetting) GetSyncIntervalSeconds

func (x *BackendSetting_BuildSyncSetting) GetSyncIntervalSeconds() int32

func (*BackendSetting_BuildSyncSetting) ProtoMessage

func (*BackendSetting_BuildSyncSetting) ProtoMessage()

func (*BackendSetting_BuildSyncSetting) ProtoReflect

func (*BackendSetting_BuildSyncSetting) Reset

func (*BackendSetting_BuildSyncSetting) String

type BatchRequest

type BatchRequest struct {

	// Requests to execute in a single batch.
	//
	//   - All requests are executed in their own individual transactions.
	//   - BatchRequest as a whole is not transactional.
	//   - There's no guaranteed order of execution between batch items (i.e.
	//     consider them to all operate independently).
	//   - There is a limit of 200 requests per batch.
	Requests []*BatchRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
	// contains filtered or unexported fields
}

A request message for Batch RPC.

func (*BatchRequest) Descriptor deprecated

func (*BatchRequest) Descriptor() ([]byte, []int)

Deprecated: Use BatchRequest.ProtoReflect.Descriptor instead.

func (*BatchRequest) GetRequests

func (x *BatchRequest) GetRequests() []*BatchRequest_Request

func (*BatchRequest) ProtoMessage

func (*BatchRequest) ProtoMessage()

func (*BatchRequest) ProtoReflect

func (x *BatchRequest) ProtoReflect() protoreflect.Message

func (*BatchRequest) Reset

func (x *BatchRequest) Reset()

func (*BatchRequest) String

func (x *BatchRequest) String() string

type BatchRequest_Request

type BatchRequest_Request struct {

	// Types that are assignable to Request:
	//
	//	*BatchRequest_Request_GetBuild
	//	*BatchRequest_Request_SearchBuilds
	//	*BatchRequest_Request_ScheduleBuild
	//	*BatchRequest_Request_CancelBuild
	//	*BatchRequest_Request_GetBuildStatus
	Request isBatchRequest_Request_Request `protobuf_oneof:"request"`
	// contains filtered or unexported fields
}

One request in a batch.

func (*BatchRequest_Request) Descriptor deprecated

func (*BatchRequest_Request) Descriptor() ([]byte, []int)

Deprecated: Use BatchRequest_Request.ProtoReflect.Descriptor instead.

func (*BatchRequest_Request) GetCancelBuild

func (x *BatchRequest_Request) GetCancelBuild() *CancelBuildRequest

func (*BatchRequest_Request) GetGetBuild

func (x *BatchRequest_Request) GetGetBuild() *GetBuildRequest

func (*BatchRequest_Request) GetGetBuildStatus

func (x *BatchRequest_Request) GetGetBuildStatus() *GetBuildStatusRequest

func (*BatchRequest_Request) GetRequest

func (m *BatchRequest_Request) GetRequest() isBatchRequest_Request_Request

func (*BatchRequest_Request) GetScheduleBuild

func (x *BatchRequest_Request) GetScheduleBuild() *ScheduleBuildRequest

func (*BatchRequest_Request) GetSearchBuilds

func (x *BatchRequest_Request) GetSearchBuilds() *SearchBuildsRequest

func (*BatchRequest_Request) ProtoMessage

func (*BatchRequest_Request) ProtoMessage()

func (*BatchRequest_Request) ProtoReflect

func (x *BatchRequest_Request) ProtoReflect() protoreflect.Message

func (*BatchRequest_Request) Reset

func (x *BatchRequest_Request) Reset()

func (*BatchRequest_Request) String

func (x *BatchRequest_Request) String() string

type BatchRequest_Request_CancelBuild

type BatchRequest_Request_CancelBuild struct {
	CancelBuild *CancelBuildRequest `protobuf:"bytes,4,opt,name=cancel_build,json=cancelBuild,proto3,oneof"`
}

type BatchRequest_Request_GetBuild

type BatchRequest_Request_GetBuild struct {
	GetBuild *GetBuildRequest `protobuf:"bytes,1,opt,name=get_build,json=getBuild,proto3,oneof"`
}

type BatchRequest_Request_GetBuildStatus

type BatchRequest_Request_GetBuildStatus struct {
	GetBuildStatus *GetBuildStatusRequest `protobuf:"bytes,5,opt,name=get_build_status,json=getBuildStatus,proto3,oneof"`
}

type BatchRequest_Request_ScheduleBuild

type BatchRequest_Request_ScheduleBuild struct {
	ScheduleBuild *ScheduleBuildRequest `protobuf:"bytes,3,opt,name=schedule_build,json=scheduleBuild,proto3,oneof"`
}

type BatchRequest_Request_SearchBuilds

type BatchRequest_Request_SearchBuilds struct {
	SearchBuilds *SearchBuildsRequest `protobuf:"bytes,2,opt,name=search_builds,json=searchBuilds,proto3,oneof"`
}

type BatchResponse

type BatchResponse struct {

	// Responses in the same order as BatchRequest.requests.
	Responses []*BatchResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
	// contains filtered or unexported fields
}

A response message for Batch RPC.

func (*BatchResponse) Descriptor deprecated

func (*BatchResponse) Descriptor() ([]byte, []int)

Deprecated: Use BatchResponse.ProtoReflect.Descriptor instead.

func (*BatchResponse) GetResponses

func (x *BatchResponse) GetResponses() []*BatchResponse_Response

func (*BatchResponse) ProtoMessage

func (*BatchResponse) ProtoMessage()

func (*BatchResponse) ProtoReflect

func (x *BatchResponse) ProtoReflect() protoreflect.Message

func (*BatchResponse) Reset

func (x *BatchResponse) Reset()

func (*BatchResponse) String

func (x *BatchResponse) String() string

type BatchResponse_Response

type BatchResponse_Response struct {

	// Types that are assignable to Response:
	//
	//	*BatchResponse_Response_GetBuild
	//	*BatchResponse_Response_SearchBuilds
	//	*BatchResponse_Response_ScheduleBuild
	//	*BatchResponse_Response_CancelBuild
	//	*BatchResponse_Response_GetBuildStatus
	//	*BatchResponse_Response_Error
	Response isBatchResponse_Response_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

Response a BatchRequest.Response.

func (*BatchResponse_Response) Descriptor deprecated

func (*BatchResponse_Response) Descriptor() ([]byte, []int)

Deprecated: Use BatchResponse_Response.ProtoReflect.Descriptor instead.

func (*BatchResponse_Response) GetCancelBuild

func (x *BatchResponse_Response) GetCancelBuild() *Build

func (*BatchResponse_Response) GetError

func (x *BatchResponse_Response) GetError() *status.Status

func (*BatchResponse_Response) GetGetBuild

func (x *BatchResponse_Response) GetGetBuild() *Build

func (*BatchResponse_Response) GetGetBuildStatus

func (x *BatchResponse_Response) GetGetBuildStatus() *Build

func (*BatchResponse_Response) GetResponse

func (m *BatchResponse_Response) GetResponse() isBatchResponse_Response_Response

func (*BatchResponse_Response) GetScheduleBuild

func (x *BatchResponse_Response) GetScheduleBuild() *Build

func (*BatchResponse_Response) GetSearchBuilds

func (x *BatchResponse_Response) GetSearchBuilds() *SearchBuildsResponse

func (*BatchResponse_Response) ProtoMessage

func (*BatchResponse_Response) ProtoMessage()

func (*BatchResponse_Response) ProtoReflect

func (x *BatchResponse_Response) ProtoReflect() protoreflect.Message

func (*BatchResponse_Response) Reset

func (x *BatchResponse_Response) Reset()

func (*BatchResponse_Response) String

func (x *BatchResponse_Response) String() string

type BatchResponse_Response_CancelBuild

type BatchResponse_Response_CancelBuild struct {
	CancelBuild *Build `protobuf:"bytes,4,opt,name=cancel_build,json=cancelBuild,proto3,oneof"`
}

type BatchResponse_Response_Error

type BatchResponse_Response_Error struct {
	// Error code and details of the unsuccessful RPC.
	Error *status.Status `protobuf:"bytes,100,opt,name=error,proto3,oneof"`
}

type BatchResponse_Response_GetBuild

type BatchResponse_Response_GetBuild struct {
	GetBuild *Build `protobuf:"bytes,1,opt,name=get_build,json=getBuild,proto3,oneof"`
}

type BatchResponse_Response_GetBuildStatus

type BatchResponse_Response_GetBuildStatus struct {
	GetBuildStatus *Build `protobuf:"bytes,5,opt,name=get_build_status,json=getBuildStatus,proto3,oneof"`
}

type BatchResponse_Response_ScheduleBuild

type BatchResponse_Response_ScheduleBuild struct {
	ScheduleBuild *Build `protobuf:"bytes,3,opt,name=schedule_build,json=scheduleBuild,proto3,oneof"`
}

type BatchResponse_Response_SearchBuilds

type BatchResponse_Response_SearchBuilds struct {
	SearchBuilds *SearchBuildsResponse `protobuf:"bytes,2,opt,name=search_builds,json=searchBuilds,proto3,oneof"`
}

type Bucket

type Bucket struct {

	// Name of the bucket. Names are unique within one instance of buildbucket.
	// If another project already uses this name, a config will be rejected.
	// Name reservation is first-come first-serve.
	// Regex: ^[a-z0-9\-_.]{1,100}$
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Deprecated and ignored. Use Realms ACLs instead.
	//
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.
	Acls []*Acl `protobuf:"bytes,2,rep,name=acls,proto3" json:"acls,omitempty"`
	// Buildbucket-swarming integration.
	// Mutually exclusive with builder_template.
	Swarming *Swarming `protobuf:"bytes,3,opt,name=swarming,proto3" json:"swarming,omitempty"`
	// Name of this bucket's shadow bucket for the led builds to use.
	//
	// If omitted, it implies that led builds of this bucket reuse this bucket.
	// This is allowed, but note that it means the led builds will be in
	// the same bucket/builder with the real builds, which means Any users with
	// led access will be able to do ANYTHING that this bucket's bots and
	// service_accounts can do.
	//
	// It could also be noisy, such as:
	//   - On the LUCI UI, led builds will show under the same builder as the real builds,
	//   - Led builds will share the same ResultDB config as the real builds, so
	//     their test results will be exported to the same BigQuery tables.
	//   - Subscribers of Buildbucket PubSub need to filter them out.
	Shadow string `protobuf:"bytes,5,opt,name=shadow,proto3" json:"shadow,omitempty"`
	// Security constraints of the bucket.
	//
	// This field is used by CreateBuild on this bucket to constrain proposed
	// Builds. If a build doesn't meet the constraints, it will be rejected.
	// For shadow buckets, this is what prevents the bucket from allowing
	// totally arbitrary Builds.
	//
	// `lucicfg` will automatically populate this for the "primary" bucket
	// when using `luci.builder`.
	//
	// Buildbuceket.CreateBuild will validate the incoming requests to make sure
	// they meet these constraints.
	Constraints *Bucket_Constraints `protobuf:"bytes,6,opt,name=constraints,proto3" json:"constraints,omitempty"`
	// Template of builders in a dynamic bucket.
	// Mutually exclusive with swarming.
	//
	// If is not nil, the bucket is a dynamic LUCI bucket.
	// If a bucket has both swarming and dynamic_builder_template as nil,
	// the bucket is a legacy one.
	DynamicBuilderTemplate *Bucket_DynamicBuilderTemplate `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Defines one bucket in buildbucket.cfg

func (*Bucket) Descriptor deprecated

func (*Bucket) Descriptor() ([]byte, []int)

Deprecated: Use Bucket.ProtoReflect.Descriptor instead.

func (*Bucket) GetAcls deprecated

func (x *Bucket) GetAcls() []*Acl

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/project_config.proto.

func (*Bucket) GetConstraints

func (x *Bucket) GetConstraints() *Bucket_Constraints

func (*Bucket) GetDynamicBuilderTemplate

func (x *Bucket) GetDynamicBuilderTemplate() *Bucket_DynamicBuilderTemplate

func (*Bucket) GetName

func (x *Bucket) GetName() string

func (*Bucket) GetShadow

func (x *Bucket) GetShadow() string

func (*Bucket) GetSwarming

func (x *Bucket) GetSwarming() *Swarming

func (*Bucket) ProtoMessage

func (*Bucket) ProtoMessage()

func (*Bucket) ProtoReflect

func (x *Bucket) ProtoReflect() protoreflect.Message

func (*Bucket) Reset

func (x *Bucket) Reset()

func (*Bucket) String

func (x *Bucket) String() string

type Bucket_Constraints

type Bucket_Constraints struct {

	// Constraints allowed pools.
	// Builds in this bucket must have a "pool" dimension which matches an entry in this list.
	Pools []string `protobuf:"bytes,1,rep,name=pools,proto3" json:"pools,omitempty"`
	// Only service accounts in this list are allowed.
	ServiceAccounts []string `protobuf:"bytes,2,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"`
	// contains filtered or unexported fields
}

Constraints for a bucket.

Buildbucket.CreateBuild will validate the incoming requests to make sure they meet these constraints.

func (*Bucket_Constraints) Descriptor deprecated

func (*Bucket_Constraints) Descriptor() ([]byte, []int)

Deprecated: Use Bucket_Constraints.ProtoReflect.Descriptor instead.

func (*Bucket_Constraints) GetPools

func (x *Bucket_Constraints) GetPools() []string

func (*Bucket_Constraints) GetServiceAccounts

func (x *Bucket_Constraints) GetServiceAccounts() []string

func (*Bucket_Constraints) ProtoMessage

func (*Bucket_Constraints) ProtoMessage()

func (*Bucket_Constraints) ProtoReflect

func (x *Bucket_Constraints) ProtoReflect() protoreflect.Message

func (*Bucket_Constraints) Reset

func (x *Bucket_Constraints) Reset()

func (*Bucket_Constraints) String

func (x *Bucket_Constraints) String() string

type Bucket_DynamicBuilderTemplate

type Bucket_DynamicBuilderTemplate struct {
	// contains filtered or unexported fields
}

Template of builders in a dynamic bucket.

func (*Bucket_DynamicBuilderTemplate) Descriptor deprecated

func (*Bucket_DynamicBuilderTemplate) Descriptor() ([]byte, []int)

Deprecated: Use Bucket_DynamicBuilderTemplate.ProtoReflect.Descriptor instead.

func (*Bucket_DynamicBuilderTemplate) ProtoMessage

func (*Bucket_DynamicBuilderTemplate) ProtoMessage()

func (*Bucket_DynamicBuilderTemplate) ProtoReflect

func (*Bucket_DynamicBuilderTemplate) Reset

func (x *Bucket_DynamicBuilderTemplate) Reset()

func (*Bucket_DynamicBuilderTemplate) String

type Build

type Build struct {

	// Identifier of the build, unique per LUCI deployment.
	// IDs are monotonically decreasing.
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Required. The builder this build belongs to.
	//
	// Tuple (builder.project, builder.bucket) defines build ACL
	// which may change after build has ended.
	Builder     *BuilderID         `protobuf:"bytes,2,opt,name=builder,proto3" json:"builder,omitempty"`
	BuilderInfo *Build_BuilderInfo `protobuf:"bytes,34,opt,name=builder_info,json=builderInfo,proto3" json:"builder_info,omitempty"`
	// Human-readable identifier of the build with the following properties:
	// - unique within the builder
	// - a monotonically increasing number
	// - mostly contiguous
	// - much shorter than id
	//
	// Caution: populated (positive number) iff build numbers were enabled
	// in the builder configuration at the time of build creation.
	//
	// Caution: Build numbers are not guaranteed to be contiguous.
	// There may be gaps during outages.
	//
	// Caution: Build numbers, while monotonically increasing, do not
	// necessarily reflect source-code order. For example, force builds
	// or rebuilds can allocate new, higher, numbers, but build an older-
	// than-HEAD version of the source.
	Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"`
	// Verified LUCI identity that created this build.
	CreatedBy string `protobuf:"bytes,4,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	// Verified LUCI identity that canceled this build.
	//
	// Special values:
	// * buildbucket: The build is canceled by buildbucket. This can happen if the
	// build's parent has ended, and the build cannot outlive its parent.
	// * backend: The build's backend task is canceled. For example the build's
	// Swarming task is killed.
	CanceledBy string `protobuf:"bytes,23,opt,name=canceled_by,json=canceledBy,proto3" json:"canceled_by,omitempty"`
	// When the build was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// When the build started.
	// Required iff status is STARTED, SUCCESS or FAILURE.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// When the build ended.
	// Present iff status is terminal.
	// MUST NOT be before start_time.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// When the build was most recently updated.
	//
	// RPC: can be > end_time if, e.g. new tags were attached to a completed
	// build.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// When the cancel process of the build started.
	// Note it's not the time that the cancellation completed, which would be
	// tracked by end_time.
	//
	// During the cancel process, the build still accepts updates.
	//
	// bbagent checks this field at the frequency of
	// buildbucket.MinUpdateBuildInterval. When bbagent sees the build is in
	// cancel process, there are two states:
	//   - it has NOT yet started the exe payload,
	//   - it HAS started the exe payload.
	//
	// In the first state, bbagent will immediately terminate the build without
	// invoking the exe payload at all.
	//
	// In the second state, bbagent will send SIGTERM/CTRL-BREAK to the exe
	// (according to the deadline protocol described in
	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md).
	// After grace_period it will then try to kill the exe.
	//
	// NOTE: There is a race condition here; If bbagent starts the luciexe and
	// then immediately notices that the build is canceled, it's possible that
	// bbagent can send SIGTERM/CTRL-BREAK to the exe before that exe sets up
	// interrupt handlers. There is a bug on file (crbug.com/1311821)
	// which we plan to implement at some point as a mitigation for this.
	//
	// Additionally, the Buildbucket service itself will launch an asynchronous
	// task to terminate the build via the backend API (e.g. Swarming cancellation)
	// if bbagent cannot successfully terminate the exe in time.
	CancelTime *timestamppb.Timestamp `protobuf:"bytes,32,opt,name=cancel_time,json=cancelTime,proto3" json:"cancel_time,omitempty"`
	// Status of the build.
	// Must be specified, i.e. not STATUS_UNSPECIFIED.
	//
	// RPC: Responses have most current status.
	//
	// BigQuery: Final status of the build. Cannot be SCHEDULED or STARTED.
	Status Status `protobuf:"varint,12,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
	// Human-readable summary of the build in Markdown format
	// (https://spec.commonmark.org/0.28/).
	// Explains status.
	// Up to 4 KB.
	SummaryMarkdown string `protobuf:"bytes,20,opt,name=summary_markdown,json=summaryMarkdown,proto3" json:"summary_markdown,omitempty"`
	// Markdown reasoning for cancelling the build.
	// Human readable and should be following https://spec.commonmark.org/0.28/.
	CancellationMarkdown string `protobuf:"bytes,33,opt,name=cancellation_markdown,json=cancellationMarkdown,proto3" json:"cancellation_markdown,omitempty"`
	// If NO, then the build status SHOULD NOT be used to assess correctness of
	// the input gitiles_commit or gerrit_changes.
	// For example, if a pre-submit build has failed, CQ MAY still land the CL.
	// For example, if a post-submit build has failed, CLs MAY continue landing.
	Critical Trinary `protobuf:"varint,21,opt,name=critical,proto3,enum=buildbucket.v2.Trinary" json:"critical,omitempty"`
	// Machine-readable details of the current status.
	// Human-readable status reason is available in summary_markdown.
	StatusDetails *StatusDetails `protobuf:"bytes,22,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
	// Input to the build executable.
	Input *Build_Input `protobuf:"bytes,15,opt,name=input,proto3" json:"input,omitempty"`
	// Output of the build executable.
	// SHOULD depend only on input field and NOT other fields.
	// MUST be unset if build status is SCHEDULED.
	//
	// RPC: By default, this field is excluded from responses.
	// Updated while the build is running and finalized when the build ends.
	Output *Build_Output `protobuf:"bytes,16,opt,name=output,proto3" json:"output,omitempty"`
	// Current list of build steps.
	// Updated as build runs.
	//
	// May take up to 1MB after zlib compression.
	// MUST be unset if build status is SCHEDULED.
	//
	// RPC: By default, this field is excluded from responses.
	Steps []*Step `protobuf:"bytes,17,rep,name=steps,proto3" json:"steps,omitempty"`
	// Build infrastructure used by the build.
	//
	// RPC: By default, this field is excluded from responses.
	Infra *BuildInfra `protobuf:"bytes,18,opt,name=infra,proto3" json:"infra,omitempty"`
	// Arbitrary annotations for the build.
	// One key may have multiple values, which is why this is not a map<string,string>.
	// Indexed by the server, see also BuildPredicate.tags.
	Tags []*StringPair `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"`
	// What to run when the build is ready to start.
	Exe *Executable `protobuf:"bytes,24,opt,name=exe,proto3" json:"exe,omitempty"`
	// DEPRECATED
	//
	// Equivalent to `"luci.buildbucket.canary_software" in input.experiments`.
	//
	// See `Builder.experiments` for well-known experiments.
	Canary bool `protobuf:"varint,25,opt,name=canary,proto3" json:"canary,omitempty"`
	// Maximum build pending time.
	// If the timeout is reached, the build is marked as INFRA_FAILURE status
	// and both status_details.{timeout, resource_exhaustion} are set.
	SchedulingTimeout *durationpb.Duration `protobuf:"bytes,26,opt,name=scheduling_timeout,json=schedulingTimeout,proto3" json:"scheduling_timeout,omitempty"`
	// Maximum build execution time.
	//
	// Not to be confused with scheduling_timeout.
	//
	// If the timeout is reached, the task will be signaled according to the
	// `deadline` section of
	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md
	// and status_details.timeout is set.
	//
	// The task will have `grace_period` amount of time to handle cleanup
	// before being forcefully terminated.
	ExecutionTimeout *durationpb.Duration `protobuf:"bytes,27,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"`
	// Amount of cleanup time after execution_timeout.
	//
	// After being signaled according to execution_timeout, the task will
	// have this duration to clean up before being forcefully terminated.
	//
	// The signalling process is explained in the `deadline` section of
	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md.
	GracePeriod *durationpb.Duration `protobuf:"bytes,29,opt,name=grace_period,json=gracePeriod,proto3" json:"grace_period,omitempty"`
	// If set, swarming was requested to wait until it sees at least one bot
	// report a superset of the build's requested dimensions.
	WaitForCapacity bool `protobuf:"varint,28,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"`
	// Flag to control if the build can outlive its parent.
	//
	// This field is only meaningful if the build has ancestors.
	// If the build has ancestors and the value is false, it means that the build
	// SHOULD reach a terminal status (SUCCESS, FAILURE, INFRA_FAILURE or
	// CANCELED) before its parent. If the child fails to do so, Buildbucket will
	// cancel it some time after the parent build reaches a terminal status.
	//
	// A build that can outlive its parent can also outlive its parent's ancestors.
	CanOutliveParent bool `protobuf:"varint,30,opt,name=can_outlive_parent,json=canOutliveParent,proto3" json:"can_outlive_parent,omitempty"`
	// IDs of the build's ancestors. This includes all parents/grandparents/etc.
	// This is ordered from top-to-bottom so `ancestor_ids[0]` is the root of
	// the builds tree, and `ancestor_ids[-1]` is this build's immediate parent.
	// This does not include any "siblings" at higher levels of the tree, just
	// the direct chain of ancestors from root to this build.
	AncestorIds []int64 `protobuf:"varint,31,rep,packed,name=ancestor_ids,json=ancestorIds,proto3" json:"ancestor_ids,omitempty"`
	// If UNSET, retrying the build is implicitly allowed;
	// If YES, retrying the build is explicitly allowed;
	// If NO, retrying the build is explicitly disallowed,
	//   - any UI displaying the build should remove "retry" button(s),
	//   - ScheduleBuild using the build as template should fail,
	//   - but the build can still be synthesized by SynthesizeBuild.
	Retriable Trinary `protobuf:"varint,35,opt,name=retriable,proto3,enum=buildbucket.v2.Trinary" json:"retriable,omitempty"`
	// contains filtered or unexported fields
}

A single build, identified by an int64 ID. Belongs to a builder.

RPC: see Builds service for build creation and retrieval. Some Build fields are marked as excluded from responses by default. Use "mask" request field to specify that a field must be included.

BigQuery: this message also defines schema of a BigQuery table of completed builds. A BigQuery row is inserted soon after build ends, i.e. a row represents a state of a build at completion time and does not change after that. All fields are included.

Next id: 36.

func (*Build) Descriptor deprecated

func (*Build) Descriptor() ([]byte, []int)

Deprecated: Use Build.ProtoReflect.Descriptor instead.

func (*Build) GetAncestorIds

func (x *Build) GetAncestorIds() []int64

func (*Build) GetBuilder

func (x *Build) GetBuilder() *BuilderID

func (*Build) GetBuilderInfo

func (x *Build) GetBuilderInfo() *Build_BuilderInfo

func (*Build) GetCanOutliveParent

func (x *Build) GetCanOutliveParent() bool

func (*Build) GetCanary

func (x *Build) GetCanary() bool

func (*Build) GetCancelTime

func (x *Build) GetCancelTime() *timestamppb.Timestamp

func (*Build) GetCanceledBy

func (x *Build) GetCanceledBy() string

func (*Build) GetCancellationMarkdown

func (x *Build) GetCancellationMarkdown() string

func (*Build) GetCreateTime

func (x *Build) GetCreateTime() *timestamppb.Timestamp

func (*Build) GetCreatedBy

func (x *Build) GetCreatedBy() string

func (*Build) GetCritical

func (x *Build) GetCritical() Trinary

func (*Build) GetEndTime

func (x *Build) GetEndTime() *timestamppb.Timestamp

func (*Build) GetExe

func (x *Build) GetExe() *Executable

func (*Build) GetExecutionTimeout

func (x *Build) GetExecutionTimeout() *durationpb.Duration

func (*Build) GetGracePeriod

func (x *Build) GetGracePeriod() *durationpb.Duration

func (*Build) GetId

func (x *Build) GetId() int64

func (*Build) GetInfra

func (x *Build) GetInfra() *BuildInfra

func (*Build) GetInput

func (x *Build) GetInput() *Build_Input

func (*Build) GetNumber

func (x *Build) GetNumber() int32

func (*Build) GetOutput

func (x *Build) GetOutput() *Build_Output

func (*Build) GetRetriable

func (x *Build) GetRetriable() Trinary

func (*Build) GetSchedulingTimeout

func (x *Build) GetSchedulingTimeout() *durationpb.Duration

func (*Build) GetStartTime

func (x *Build) GetStartTime() *timestamppb.Timestamp

func (*Build) GetStatus

func (x *Build) GetStatus() Status

func (*Build) GetStatusDetails

func (x *Build) GetStatusDetails() *StatusDetails

func (*Build) GetSteps

func (x *Build) GetSteps() []*Step

func (*Build) GetSummaryMarkdown

func (x *Build) GetSummaryMarkdown() string

func (*Build) GetTags

func (x *Build) GetTags() []*StringPair

func (*Build) GetUpdateTime

func (x *Build) GetUpdateTime() *timestamppb.Timestamp

func (*Build) GetWaitForCapacity

func (x *Build) GetWaitForCapacity() bool

func (*Build) ProtoMessage

func (*Build) ProtoMessage()

func (*Build) ProtoReflect

func (x *Build) ProtoReflect() protoreflect.Message

func (*Build) Reset

func (x *Build) Reset()

func (*Build) String

func (x *Build) String() string

type BuildFieldVisibility

type BuildFieldVisibility int32

Can be used to indicate that a buildbucket.v2.Build field should be visible to users with the specified permission. By default, buildbucket.builds.get is required to see fields, but this enum allows that access to be expanded.

Note that we assume that users with GET_LIMITED also have LIST, and users with GET also have GET_LIMITED and LIST.

IMPORTANT: this enum must be ordered such that permissions that grant more access (e.g. BUILDS_GET_PERMISSION) must always have lower enum numbers than permissions that grant less access (e.g. BUILDS_LIST_PERMISSION).

const (
	// No visibility specified. In this case the visibility defaults to
	// requiring the buildbucket.builds.get permission.
	BuildFieldVisibility_FIELD_VISIBILITY_UNSPECIFIED BuildFieldVisibility = 0
	// Indicates the field will only be visible to users with the
	// buildbucket.builds.get permission.
	BuildFieldVisibility_BUILDS_GET_PERMISSION BuildFieldVisibility = 1
	// Indicates the field will be visible to users with either the
	// buildbucket.builds.getLimited or buildbucket.builds.get permission.
	BuildFieldVisibility_BUILDS_GET_LIMITED_PERMISSION BuildFieldVisibility = 2
	// Indicates the field will be visible to users with either the
	// buildbucket.builds.list, buildbucket.builds.getLimited or
	// buildbucket.builds.get permission.
	BuildFieldVisibility_BUILDS_LIST_PERMISSION BuildFieldVisibility = 3
)

func (BuildFieldVisibility) Descriptor

func (BuildFieldVisibility) Enum

func (BuildFieldVisibility) EnumDescriptor deprecated

func (BuildFieldVisibility) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuildFieldVisibility.Descriptor instead.

func (BuildFieldVisibility) Number

func (BuildFieldVisibility) String

func (x BuildFieldVisibility) String() string

func (BuildFieldVisibility) Type

type BuildInfra

type BuildInfra struct {
	Buildbucket *BuildInfra_Buildbucket `protobuf:"bytes,1,opt,name=buildbucket,proto3" json:"buildbucket,omitempty"`
	Swarming    *BuildInfra_Swarming    `protobuf:"bytes,2,opt,name=swarming,proto3" json:"swarming,omitempty"`
	Logdog      *BuildInfra_LogDog      `protobuf:"bytes,3,opt,name=logdog,proto3" json:"logdog,omitempty"`
	Recipe      *BuildInfra_Recipe      `protobuf:"bytes,4,opt,name=recipe,proto3" json:"recipe,omitempty"`
	Resultdb    *BuildInfra_ResultDB    `protobuf:"bytes,5,opt,name=resultdb,proto3" json:"resultdb,omitempty"`
	Bbagent     *BuildInfra_BBAgent     `protobuf:"bytes,6,opt,name=bbagent,proto3" json:"bbagent,omitempty"`
	Backend     *BuildInfra_Backend     `protobuf:"bytes,7,opt,name=backend,proto3" json:"backend,omitempty"`
	// contains filtered or unexported fields
}

Build infrastructure that was used for a particular build.

func (*BuildInfra) Descriptor deprecated

func (*BuildInfra) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra.ProtoReflect.Descriptor instead.

func (*BuildInfra) GetBackend

func (x *BuildInfra) GetBackend() *BuildInfra_Backend

func (*BuildInfra) GetBbagent

func (x *BuildInfra) GetBbagent() *BuildInfra_BBAgent

func (*BuildInfra) GetBuildbucket

func (x *BuildInfra) GetBuildbucket() *BuildInfra_Buildbucket

func (*BuildInfra) GetLogdog

func (x *BuildInfra) GetLogdog() *BuildInfra_LogDog

func (*BuildInfra) GetRecipe

func (x *BuildInfra) GetRecipe() *BuildInfra_Recipe

func (*BuildInfra) GetResultdb

func (x *BuildInfra) GetResultdb() *BuildInfra_ResultDB

func (*BuildInfra) GetSwarming

func (x *BuildInfra) GetSwarming() *BuildInfra_Swarming

func (*BuildInfra) ProtoMessage

func (*BuildInfra) ProtoMessage()

func (*BuildInfra) ProtoReflect

func (x *BuildInfra) ProtoReflect() protoreflect.Message

func (*BuildInfra) Reset

func (x *BuildInfra) Reset()

func (*BuildInfra) String

func (x *BuildInfra) String() string

type BuildInfra_BBAgent

type BuildInfra_BBAgent struct {

	// Path to the base of the user executable package.
	//
	// Required.
	PayloadPath string `protobuf:"bytes,1,opt,name=payload_path,json=payloadPath,proto3" json:"payload_path,omitempty"`
	// Path to a directory where each subdirectory is a cache dir.
	//
	// Required.
	CacheDir string `protobuf:"bytes,2,opt,name=cache_dir,json=cacheDir,proto3" json:"cache_dir,omitempty"`
	// List of Gerrit hosts to force git authentication for.
	//
	// By default public hosts are accessed anonymously, and the anonymous access
	// has very low quota. Context needs to know all such hostnames in advance to
	// be able to force authenticated access to them.
	//
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
	KnownPublicGerritHosts []string `` /* 131-byte string literal not displayed */
	// DEPRECATED: Use build.Infra.Buildbucket.Agent.Input instead.
	//
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
	Input *BuildInfra_BBAgent_Input `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

BBAgent-specific information.

All paths are relateive to bbagent's working directory, and must be delimited with slashes ("/"), regardless of the host OS.

func (*BuildInfra_BBAgent) Descriptor deprecated

func (*BuildInfra_BBAgent) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_BBAgent.ProtoReflect.Descriptor instead.

func (*BuildInfra_BBAgent) GetCacheDir

func (x *BuildInfra_BBAgent) GetCacheDir() string

func (*BuildInfra_BBAgent) GetInput deprecated

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.

func (*BuildInfra_BBAgent) GetKnownPublicGerritHosts deprecated

func (x *BuildInfra_BBAgent) GetKnownPublicGerritHosts() []string

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.

func (*BuildInfra_BBAgent) GetPayloadPath

func (x *BuildInfra_BBAgent) GetPayloadPath() string

func (*BuildInfra_BBAgent) ProtoMessage

func (*BuildInfra_BBAgent) ProtoMessage()

func (*BuildInfra_BBAgent) ProtoReflect

func (x *BuildInfra_BBAgent) ProtoReflect() protoreflect.Message

func (*BuildInfra_BBAgent) Reset

func (x *BuildInfra_BBAgent) Reset()

func (*BuildInfra_BBAgent) String

func (x *BuildInfra_BBAgent) String() string

type BuildInfra_BBAgent_Input

type BuildInfra_BBAgent_Input struct {
	CipdPackages []*BuildInfra_BBAgent_Input_CIPDPackage `protobuf:"bytes,1,rep,name=cipd_packages,json=cipdPackages,proto3" json:"cipd_packages,omitempty"`
	// contains filtered or unexported fields
}

BBAgent-specific input.

func (*BuildInfra_BBAgent_Input) Descriptor deprecated

func (*BuildInfra_BBAgent_Input) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_BBAgent_Input.ProtoReflect.Descriptor instead.

func (*BuildInfra_BBAgent_Input) GetCipdPackages

func (*BuildInfra_BBAgent_Input) ProtoMessage

func (*BuildInfra_BBAgent_Input) ProtoMessage()

func (*BuildInfra_BBAgent_Input) ProtoReflect

func (x *BuildInfra_BBAgent_Input) ProtoReflect() protoreflect.Message

func (*BuildInfra_BBAgent_Input) Reset

func (x *BuildInfra_BBAgent_Input) Reset()

func (*BuildInfra_BBAgent_Input) String

func (x *BuildInfra_BBAgent_Input) String() string

type BuildInfra_BBAgent_Input_CIPDPackage

type BuildInfra_BBAgent_Input_CIPDPackage struct {

	// Name of this CIPD package.
	//
	// Required.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// CIPD package version.
	//
	// Required.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// CIPD server to fetch this package from.
	//
	// Required.
	Server string `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"`
	// Path where this CIPD package should be installed.
	//
	// Required.
	Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

CIPD Packages to make available for this build.

func (*BuildInfra_BBAgent_Input_CIPDPackage) Descriptor deprecated

func (*BuildInfra_BBAgent_Input_CIPDPackage) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_BBAgent_Input_CIPDPackage.ProtoReflect.Descriptor instead.

func (*BuildInfra_BBAgent_Input_CIPDPackage) GetName

func (*BuildInfra_BBAgent_Input_CIPDPackage) GetPath

func (*BuildInfra_BBAgent_Input_CIPDPackage) GetServer

func (*BuildInfra_BBAgent_Input_CIPDPackage) GetVersion

func (*BuildInfra_BBAgent_Input_CIPDPackage) ProtoMessage

func (*BuildInfra_BBAgent_Input_CIPDPackage) ProtoMessage()

func (*BuildInfra_BBAgent_Input_CIPDPackage) ProtoReflect

func (*BuildInfra_BBAgent_Input_CIPDPackage) Reset

func (*BuildInfra_BBAgent_Input_CIPDPackage) String

type BuildInfra_Backend

type BuildInfra_Backend struct {

	// Configuration supplied to the backend at the time it was instructed to
	// run this build.
	Config *structpb.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// Current backend task status.
	// Updated as build runs.
	Task *Task `protobuf:"bytes,2,opt,name=task,proto3" json:"task,omitempty"`
	// Caches requested by this build.
	Caches []*CacheEntry `protobuf:"bytes,3,rep,name=caches,proto3" json:"caches,omitempty"`
	// Dimensions for the task.
	TaskDimensions []*RequestedDimension `protobuf:"bytes,5,rep,name=task_dimensions,json=taskDimensions,proto3" json:"task_dimensions,omitempty"`
	// contains filtered or unexported fields
}

Backend-specific information.

func (*BuildInfra_Backend) Descriptor deprecated

func (*BuildInfra_Backend) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Backend.ProtoReflect.Descriptor instead.

func (*BuildInfra_Backend) GetCaches

func (x *BuildInfra_Backend) GetCaches() []*CacheEntry

func (*BuildInfra_Backend) GetConfig

func (x *BuildInfra_Backend) GetConfig() *structpb.Struct

func (*BuildInfra_Backend) GetTask

func (x *BuildInfra_Backend) GetTask() *Task

func (*BuildInfra_Backend) GetTaskDimensions

func (x *BuildInfra_Backend) GetTaskDimensions() []*RequestedDimension

func (*BuildInfra_Backend) ProtoMessage

func (*BuildInfra_Backend) ProtoMessage()

func (*BuildInfra_Backend) ProtoReflect

func (x *BuildInfra_Backend) ProtoReflect() protoreflect.Message

func (*BuildInfra_Backend) Reset

func (x *BuildInfra_Backend) Reset()

func (*BuildInfra_Backend) String

func (x *BuildInfra_Backend) String() string

type BuildInfra_Buildbucket

type BuildInfra_Buildbucket struct {

	// Version of swarming task template. Defines
	// versions of kitchen, git, git wrapper, python, vpython, etc.
	ServiceConfigRevision string `` /* 126-byte string literal not displayed */
	// Properties that were specified in ScheduleBuildRequest to create this
	// build.
	//
	// In particular, CQ uses this to decide whether the build created by
	// someone else is appropriate for CQ, e.g. it was created with the same
	// properties that CQ would use.
	RequestedProperties *structpb.Struct `protobuf:"bytes,5,opt,name=requested_properties,json=requestedProperties,proto3" json:"requested_properties,omitempty"`
	// Dimensions that were specified in ScheduleBuildRequest to create this
	// build.
	RequestedDimensions []*RequestedDimension `protobuf:"bytes,6,rep,name=requested_dimensions,json=requestedDimensions,proto3" json:"requested_dimensions,omitempty"`
	// Buildbucket hostname, e.g. "cr-buildbucket.appspot.com".
	Hostname string `protobuf:"bytes,7,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// This contains a map of all the experiments involved for this build, as
	// well as which bit of configuration lead to them being set (or unset).
	//
	// Note that if the reason here is EXPERIMENT_REASON_GLOBAL_INACTIVE,
	// then that means that the experiment is completely disabled and has no
	// effect, but your builder or ScheduleBuildRequest still indicated that
	// the experiment should be set. If you see this, then please remove it
	// from your configuration and/or requests.
	ExperimentReasons map[string]BuildInfra_Buildbucket_ExperimentReason `` /* 261-byte string literal not displayed */
	// The agent binary (bbagent or kitchen) resolutions Buildbucket made for this build.
	// This includes all agent_executable references supplied to
	// the TaskBackend in "original" (CIPD) form, to facilitate debugging.
	// DEPRECATED: Use agent.source instead.
	//
	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
	AgentExecutable        map[string]*ResolvedDataRef   `` /* 194-byte string literal not displayed */
	Agent                  *BuildInfra_Buildbucket_Agent `protobuf:"bytes,10,opt,name=agent,proto3" json:"agent,omitempty"`
	KnownPublicGerritHosts []string                      `` /* 132-byte string literal not displayed */
	// Flag for if the build should have a build number.
	BuildNumber bool `protobuf:"varint,12,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	// contains filtered or unexported fields
}

Buildbucket-specific information, captured at the build creation time.

func (*BuildInfra_Buildbucket) Descriptor deprecated

func (*BuildInfra_Buildbucket) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket) GetAgent

func (*BuildInfra_Buildbucket) GetAgentExecutable deprecated

func (x *BuildInfra_Buildbucket) GetAgentExecutable() map[string]*ResolvedDataRef

Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.

func (*BuildInfra_Buildbucket) GetBuildNumber

func (x *BuildInfra_Buildbucket) GetBuildNumber() bool

func (*BuildInfra_Buildbucket) GetExperimentReasons

func (*BuildInfra_Buildbucket) GetHostname

func (x *BuildInfra_Buildbucket) GetHostname() string

func (*BuildInfra_Buildbucket) GetKnownPublicGerritHosts

func (x *BuildInfra_Buildbucket) GetKnownPublicGerritHosts() []string

func (*BuildInfra_Buildbucket) GetRequestedDimensions

func (x *BuildInfra_Buildbucket) GetRequestedDimensions() []*RequestedDimension

func (*BuildInfra_Buildbucket) GetRequestedProperties

func (x *BuildInfra_Buildbucket) GetRequestedProperties() *structpb.Struct

func (*BuildInfra_Buildbucket) GetServiceConfigRevision

func (x *BuildInfra_Buildbucket) GetServiceConfigRevision() string

func (*BuildInfra_Buildbucket) ProtoMessage

func (*BuildInfra_Buildbucket) ProtoMessage()

func (*BuildInfra_Buildbucket) ProtoReflect

func (x *BuildInfra_Buildbucket) ProtoReflect() protoreflect.Message

func (*BuildInfra_Buildbucket) Reset

func (x *BuildInfra_Buildbucket) Reset()

func (*BuildInfra_Buildbucket) String

func (x *BuildInfra_Buildbucket) String() string

type BuildInfra_Buildbucket_Agent

type BuildInfra_Buildbucket_Agent struct {

	// TODO(crbug.com/1297809): for a long-term solution, we may need to add
	// a top-level `on_path` array field in the input and read the value from
	// configuration files (eg.settings.cfg, builder configs). So it can store
	// the intended order of PATH env var. Then the per-inputDataRef level
	// `on_path` field will be deprecated.
	// Currently, the new BBagent flow merges all inputDataRef-level `on_path`
	// values and sort. This mimics the same behavior of PyBB backend in order
	// to have the cipd_installation migration to roll out first under a minimal risk.
	Input  *BuildInfra_Buildbucket_Agent_Input  `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Output *BuildInfra_Buildbucket_Agent_Output `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	Source *BuildInfra_Buildbucket_Agent_Source `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	// Maps the relative-to-root directory path in both `input` and `output`
	// to the Purpose of the software in that directory.
	//
	// If a path is not listed here, it is the same as PURPOSE_UNSPECIFIED.
	Purposes map[string]BuildInfra_Buildbucket_Agent_Purpose `` /* 215-byte string literal not displayed */
	// contains filtered or unexported fields
}

bbagent will interpret Agent.input, as well as update Agent.output.

func (*BuildInfra_Buildbucket_Agent) Descriptor deprecated

func (*BuildInfra_Buildbucket_Agent) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket_Agent) GetInput

func (*BuildInfra_Buildbucket_Agent) GetOutput

func (*BuildInfra_Buildbucket_Agent) GetPurposes

func (*BuildInfra_Buildbucket_Agent) GetSource

func (*BuildInfra_Buildbucket_Agent) ProtoMessage

func (*BuildInfra_Buildbucket_Agent) ProtoMessage()

func (*BuildInfra_Buildbucket_Agent) ProtoReflect

func (*BuildInfra_Buildbucket_Agent) Reset

func (x *BuildInfra_Buildbucket_Agent) Reset()

func (*BuildInfra_Buildbucket_Agent) String

type BuildInfra_Buildbucket_Agent_Input

type BuildInfra_Buildbucket_Agent_Input struct {

	// Maps relative-to-root directory to the data.
	//
	// For now, data is only allowed at the 'leaves', e.g. you cannot
	// specify data at "a/b/c" and "a/b" (but "a/b/c" and "a/q" would be OK).
	// All directories beginning with "luci." are reserved for Buildbucket's own use.
	//
	// TODO(crbug.com/1266060): Enforce the above constraints in a later phase.
	// Currently users don't have the flexibility to set the parent directory path.
	Data map[string]*InputDataRef `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*BuildInfra_Buildbucket_Agent_Input) Descriptor deprecated

func (*BuildInfra_Buildbucket_Agent_Input) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent_Input.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket_Agent_Input) GetData

func (*BuildInfra_Buildbucket_Agent_Input) ProtoMessage

func (*BuildInfra_Buildbucket_Agent_Input) ProtoMessage()

func (*BuildInfra_Buildbucket_Agent_Input) ProtoReflect

func (*BuildInfra_Buildbucket_Agent_Input) Reset

func (*BuildInfra_Buildbucket_Agent_Input) String

type BuildInfra_Buildbucket_Agent_Output

type BuildInfra_Buildbucket_Agent_Output struct {

	// Maps relative-to-root directory to the fully-resolved ref.
	//
	// This will always have 1:1 mapping to Agent.Input.data
	ResolvedData  map[string]*ResolvedDataRef `` /* 185-byte string literal not displayed */
	Status        Status                      `protobuf:"varint,2,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
	StatusDetails *StatusDetails              `protobuf:"bytes,3,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
	SummaryHtml   string                      `protobuf:"bytes,4,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
	// The agent's resolved CIPD ${platform} (e.g. "linux-amd64",
	// "windows-386", etc.).
	//
	// This is trivial for bbagent to calculate (unlike trying to embed
	// its cipd package version inside or along with the executable).
	// Buildbucket is doing a full package -> instance ID resolution at
	// CreateBuild time anyway, so Agent.Source.resolved_instances
	// will give the mapping from `agent_platform` to a precise instance_id
	// which was used.
	AgentPlatform string `protobuf:"bytes,5,opt,name=agent_platform,json=agentPlatform,proto3" json:"agent_platform,omitempty"`
	// Total installation duration for all input data. Currently only record
	// cipd packages installation time.
	TotalDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=total_duration,json=totalDuration,proto3" json:"total_duration,omitempty"`
	// contains filtered or unexported fields
}

func (*BuildInfra_Buildbucket_Agent_Output) Descriptor deprecated

func (*BuildInfra_Buildbucket_Agent_Output) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent_Output.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket_Agent_Output) GetAgentPlatform

func (x *BuildInfra_Buildbucket_Agent_Output) GetAgentPlatform() string

func (*BuildInfra_Buildbucket_Agent_Output) GetResolvedData

func (*BuildInfra_Buildbucket_Agent_Output) GetStatus

func (*BuildInfra_Buildbucket_Agent_Output) GetStatusDetails

func (x *BuildInfra_Buildbucket_Agent_Output) GetStatusDetails() *StatusDetails

func (*BuildInfra_Buildbucket_Agent_Output) GetSummaryHtml

func (x *BuildInfra_Buildbucket_Agent_Output) GetSummaryHtml() string

func (*BuildInfra_Buildbucket_Agent_Output) GetTotalDuration

func (*BuildInfra_Buildbucket_Agent_Output) ProtoMessage

func (*BuildInfra_Buildbucket_Agent_Output) ProtoMessage()

func (*BuildInfra_Buildbucket_Agent_Output) ProtoReflect

func (*BuildInfra_Buildbucket_Agent_Output) Reset

func (*BuildInfra_Buildbucket_Agent_Output) String

type BuildInfra_Buildbucket_Agent_Purpose

type BuildInfra_Buildbucket_Agent_Purpose int32
const (
	// No categorized/known purpose.
	BuildInfra_Buildbucket_Agent_PURPOSE_UNSPECIFIED BuildInfra_Buildbucket_Agent_Purpose = 0
	// This path contains the contents of the build's `exe.cipd_package`.
	BuildInfra_Buildbucket_Agent_PURPOSE_EXE_PAYLOAD BuildInfra_Buildbucket_Agent_Purpose = 1
	// This path contains data specifically for bbagent's own use.
	//
	// There's a proposal currently to add `nsjail` support to bbagent, and it
	// would need to bring a copy of `nsjail` in order to run the user binary
	// but we wouldn't necessarily want to expose it to the user binary.
	BuildInfra_Buildbucket_Agent_PURPOSE_BBAGENT_UTILITY BuildInfra_Buildbucket_Agent_Purpose = 2
)

func (BuildInfra_Buildbucket_Agent_Purpose) Descriptor

func (BuildInfra_Buildbucket_Agent_Purpose) Enum

func (BuildInfra_Buildbucket_Agent_Purpose) EnumDescriptor deprecated

func (BuildInfra_Buildbucket_Agent_Purpose) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent_Purpose.Descriptor instead.

func (BuildInfra_Buildbucket_Agent_Purpose) Number

func (BuildInfra_Buildbucket_Agent_Purpose) String

func (BuildInfra_Buildbucket_Agent_Purpose) Type

type BuildInfra_Buildbucket_Agent_Source

type BuildInfra_Buildbucket_Agent_Source struct {

	// Types that are assignable to DataType:
	//
	//	*BuildInfra_Buildbucket_Agent_Source_Cipd
	DataType isBuildInfra_Buildbucket_Agent_Source_DataType `protobuf_oneof:"data_type"`
	// contains filtered or unexported fields
}

Source describes where the Agent should be fetched from.

func (*BuildInfra_Buildbucket_Agent_Source) Descriptor deprecated

func (*BuildInfra_Buildbucket_Agent_Source) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent_Source.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket_Agent_Source) GetCipd

func (*BuildInfra_Buildbucket_Agent_Source) GetDataType

func (m *BuildInfra_Buildbucket_Agent_Source) GetDataType() isBuildInfra_Buildbucket_Agent_Source_DataType

func (*BuildInfra_Buildbucket_Agent_Source) ProtoMessage

func (*BuildInfra_Buildbucket_Agent_Source) ProtoMessage()

func (*BuildInfra_Buildbucket_Agent_Source) ProtoReflect

func (*BuildInfra_Buildbucket_Agent_Source) Reset

func (*BuildInfra_Buildbucket_Agent_Source) String

type BuildInfra_Buildbucket_Agent_Source_CIPD

type BuildInfra_Buildbucket_Agent_Source_CIPD struct {

	// The CIPD package to use for the agent.
	//
	// Must end in "/${platform}" with no other CIPD variables.
	//
	// If using an experimental agent binary, please make sure the package
	// prefix has been configured here -
	// https://chrome-internal.googlesource.com/infradata/config/+/refs/heads/main/configs/chrome-infra-packages/bootstrap.cfg
	Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"`
	// The CIPD version to use for the agent.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// The CIPD server to use.
	Server string `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"`
	// maps ${platform} -> instance_id for resolved agent packages.
	//
	// Will be overwritten at CreateBuild time, should be left empty
	// when creating a new Build.
	ResolvedInstances map[string]string `` /* 200-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) Descriptor deprecated

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_Agent_Source_CIPD.ProtoReflect.Descriptor instead.

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) GetPackage

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) GetResolvedInstances

func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) GetResolvedInstances() map[string]string

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) GetServer

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) GetVersion

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) ProtoMessage

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) ProtoReflect

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) Reset

func (*BuildInfra_Buildbucket_Agent_Source_CIPD) String

type BuildInfra_Buildbucket_Agent_Source_Cipd

type BuildInfra_Buildbucket_Agent_Source_Cipd struct {
	Cipd *BuildInfra_Buildbucket_Agent_Source_CIPD `protobuf:"bytes,1,opt,name=cipd,proto3,oneof"`
}

type BuildInfra_Buildbucket_ExperimentReason

type BuildInfra_Buildbucket_ExperimentReason int32
const (
	// This value is unused (i.e. if you see this, it's a bug).
	BuildInfra_Buildbucket_EXPERIMENT_REASON_UNSET BuildInfra_Buildbucket_ExperimentReason = 0
	// This experiment was configured from the 'default_value' of a global
	// experiment.
	//
	// See go/buildbucket-settings.cfg for the list of global experiments.
	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_DEFAULT BuildInfra_Buildbucket_ExperimentReason = 1
	// This experiment was configured from the Builder configuration.
	BuildInfra_Buildbucket_EXPERIMENT_REASON_BUILDER_CONFIG BuildInfra_Buildbucket_ExperimentReason = 2
	// This experiment was configured from the 'minimum_value' of a global
	// experiment.
	//
	// See go/buildbucket-settings.cfg for the list of global experiments.
	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_MINIMUM BuildInfra_Buildbucket_ExperimentReason = 3
	// This experiment was explicitly set from the ScheduleBuildRequest.
	BuildInfra_Buildbucket_EXPERIMENT_REASON_REQUESTED BuildInfra_Buildbucket_ExperimentReason = 4
	// This experiment is inactive and so was removed from the Build.
	//
	// See go/buildbucket-settings.cfg for the list of global experiments.
	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_INACTIVE BuildInfra_Buildbucket_ExperimentReason = 5
)

func (BuildInfra_Buildbucket_ExperimentReason) Descriptor

func (BuildInfra_Buildbucket_ExperimentReason) Enum

func (BuildInfra_Buildbucket_ExperimentReason) EnumDescriptor deprecated

func (BuildInfra_Buildbucket_ExperimentReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Buildbucket_ExperimentReason.Descriptor instead.

func (BuildInfra_Buildbucket_ExperimentReason) Number

func (BuildInfra_Buildbucket_ExperimentReason) String

func (BuildInfra_Buildbucket_ExperimentReason) Type

type BuildInfra_LogDog

type BuildInfra_LogDog struct {

	// LogDog hostname, e.g. "logs.chromium.org".
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// LogDog project, e.g. "chromium".
	// Typically matches Build.builder.project.
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// A slash-separated path prefix shared by all logs and artifacts of this
	// build.
	// No other build can have the same prefix.
	// Can be used to discover logs and/or load log contents.
	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

LogDog-specific information.

func (*BuildInfra_LogDog) Descriptor deprecated

func (*BuildInfra_LogDog) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_LogDog.ProtoReflect.Descriptor instead.

func (*BuildInfra_LogDog) GetHostname

func (x *BuildInfra_LogDog) GetHostname() string

func (*BuildInfra_LogDog) GetPrefix

func (x *BuildInfra_LogDog) GetPrefix() string

func (*BuildInfra_LogDog) GetProject

func (x *BuildInfra_LogDog) GetProject() string

func (*BuildInfra_LogDog) ProtoMessage

func (*BuildInfra_LogDog) ProtoMessage()

func (*BuildInfra_LogDog) ProtoReflect

func (x *BuildInfra_LogDog) ProtoReflect() protoreflect.Message

func (*BuildInfra_LogDog) Reset

func (x *BuildInfra_LogDog) Reset()

func (*BuildInfra_LogDog) String

func (x *BuildInfra_LogDog) String() string

type BuildInfra_Recipe

type BuildInfra_Recipe struct {

	// CIPD package name containing the recipe used to run this build.
	CipdPackage string `protobuf:"bytes,1,opt,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty"`
	// Name of the recipe used to run this build.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Recipe-specific information.

func (*BuildInfra_Recipe) Descriptor deprecated

func (*BuildInfra_Recipe) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Recipe.ProtoReflect.Descriptor instead.

func (*BuildInfra_Recipe) GetCipdPackage

func (x *BuildInfra_Recipe) GetCipdPackage() string

func (*BuildInfra_Recipe) GetName

func (x *BuildInfra_Recipe) GetName() string

func (*BuildInfra_Recipe) ProtoMessage

func (*BuildInfra_Recipe) ProtoMessage()

func (*BuildInfra_Recipe) ProtoReflect

func (x *BuildInfra_Recipe) ProtoReflect() protoreflect.Message

func (*BuildInfra_Recipe) Reset

func (x *BuildInfra_Recipe) Reset()

func (*BuildInfra_Recipe) String

func (x *BuildInfra_Recipe) String() string

type BuildInfra_ResultDB

type BuildInfra_ResultDB struct {

	// Hostname of the ResultDB instance, such as "results.api.cr.dev".
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Name of the invocation for results of this build.
	// Typically "invocations/build:<build_id>".
	Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"`
	// Whether to enable ResultDB:Buildbucket integration.
	Enable bool `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"`
	// Configuration for exporting test results to BigQuery.
	// This can have multiple values to export results to multiple BigQuery
	// tables, or to support multiple test result predicates.
	BqExports []*v1.BigQueryExport `protobuf:"bytes,4,rep,name=bq_exports,json=bqExports,proto3" json:"bq_exports,omitempty"`
	// Deprecated. Any values specified here are ignored.
	HistoryOptions *v1.HistoryOptions `protobuf:"bytes,5,opt,name=history_options,json=historyOptions,proto3" json:"history_options,omitempty"`
	// contains filtered or unexported fields
}

ResultDB-specific information.

func (*BuildInfra_ResultDB) Descriptor deprecated

func (*BuildInfra_ResultDB) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_ResultDB.ProtoReflect.Descriptor instead.

func (*BuildInfra_ResultDB) GetBqExports

func (x *BuildInfra_ResultDB) GetBqExports() []*v1.BigQueryExport

func (*BuildInfra_ResultDB) GetEnable

func (x *BuildInfra_ResultDB) GetEnable() bool

func (*BuildInfra_ResultDB) GetHistoryOptions

func (x *BuildInfra_ResultDB) GetHistoryOptions() *v1.HistoryOptions

func (*BuildInfra_ResultDB) GetHostname

func (x *BuildInfra_ResultDB) GetHostname() string

func (*BuildInfra_ResultDB) GetInvocation

func (x *BuildInfra_ResultDB) GetInvocation() string

func (*BuildInfra_ResultDB) ProtoMessage

func (*BuildInfra_ResultDB) ProtoMessage()

func (*BuildInfra_ResultDB) ProtoReflect

func (x *BuildInfra_ResultDB) ProtoReflect() protoreflect.Message

func (*BuildInfra_ResultDB) Reset

func (x *BuildInfra_ResultDB) Reset()

func (*BuildInfra_ResultDB) String

func (x *BuildInfra_ResultDB) String() string

type BuildInfra_Swarming

type BuildInfra_Swarming struct {

	// Swarming hostname, e.g. "chromium-swarm.appspot.com".
	// Populated at the build creation time.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Swarming task id.
	// Not guaranteed to be populated at the build creation time.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Swarming run id of the parent task from which this build is triggered.
	// If set, swarming promises to ensure this build won't outlive its parent
	// swarming task (which may or may not itself be a Buildbucket build).
	// Populated at the build creation time.
	ParentRunId string `protobuf:"bytes,9,opt,name=parent_run_id,json=parentRunId,proto3" json:"parent_run_id,omitempty"`
	// Task service account email address.
	// This is the service account used for all authenticated requests by the
	// build.
	TaskServiceAccount string `protobuf:"bytes,3,opt,name=task_service_account,json=taskServiceAccount,proto3" json:"task_service_account,omitempty"`
	// Priority of the task. The lower the more important.
	// Valid values are [20..255].
	Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
	// Swarming dimensions for the task.
	TaskDimensions []*RequestedDimension `protobuf:"bytes,5,rep,name=task_dimensions,json=taskDimensions,proto3" json:"task_dimensions,omitempty"`
	// Swarming dimensions of the bot used for the task.
	BotDimensions []*StringPair `protobuf:"bytes,6,rep,name=bot_dimensions,json=botDimensions,proto3" json:"bot_dimensions,omitempty"`
	// Caches requested by this build.
	Caches []*BuildInfra_Swarming_CacheEntry `protobuf:"bytes,7,rep,name=caches,proto3" json:"caches,omitempty"`
	// contains filtered or unexported fields
}

Swarming-specific information.

Next ID: 10.

func (*BuildInfra_Swarming) Descriptor deprecated

func (*BuildInfra_Swarming) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Swarming.ProtoReflect.Descriptor instead.

func (*BuildInfra_Swarming) GetBotDimensions

func (x *BuildInfra_Swarming) GetBotDimensions() []*StringPair

func (*BuildInfra_Swarming) GetCaches

func (*BuildInfra_Swarming) GetHostname

func (x *BuildInfra_Swarming) GetHostname() string

func (*BuildInfra_Swarming) GetParentRunId

func (x *BuildInfra_Swarming) GetParentRunId() string

func (*BuildInfra_Swarming) GetPriority

func (x *BuildInfra_Swarming) GetPriority() int32

func (*BuildInfra_Swarming) GetTaskDimensions

func (x *BuildInfra_Swarming) GetTaskDimensions() []*RequestedDimension

func (*BuildInfra_Swarming) GetTaskId

func (x *BuildInfra_Swarming) GetTaskId() string

func (*BuildInfra_Swarming) GetTaskServiceAccount

func (x *BuildInfra_Swarming) GetTaskServiceAccount() string

func (*BuildInfra_Swarming) ProtoMessage

func (*BuildInfra_Swarming) ProtoMessage()

func (*BuildInfra_Swarming) ProtoReflect

func (x *BuildInfra_Swarming) ProtoReflect() protoreflect.Message

func (*BuildInfra_Swarming) Reset

func (x *BuildInfra_Swarming) Reset()

func (*BuildInfra_Swarming) String

func (x *BuildInfra_Swarming) String() string

type BuildInfra_Swarming_CacheEntry

type BuildInfra_Swarming_CacheEntry struct {

	// Identifier of the cache. Required. Length is limited to 128.
	// Must be unique in the build.
	//
	// If the pool of swarming bots is shared among multiple LUCI projects and
	// projects use same cache name, the cache will be shared across projects.
	// To avoid affecting and being affected by other projects, prefix the
	// cache name with something project-specific, e.g. "v8-".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Relative path where the cache in mapped into. Required.
	//
	// Must use POSIX format (forward slashes).
	// In most cases, it does not need slashes at all.
	//
	// In recipes, use api.path['cache'].join(path) to get absolute path.
	//
	// Must be unique in the build.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// Duration to wait for a bot with a warm cache to pick up the
	// task, before falling back to a bot with a cold (non-existent) cache.
	//
	// The default is 0, which means that no preference will be chosen for a
	// bot with this or without this cache, and a bot without this cache may
	// be chosen instead.
	//
	// If no bot has this cache warm, the task will skip this wait and will
	// immediately fallback to a cold cache request.
	//
	// The value must be multiples of 60 seconds.
	WaitForWarmCache *durationpb.Duration `protobuf:"bytes,3,opt,name=wait_for_warm_cache,json=waitForWarmCache,proto3" json:"wait_for_warm_cache,omitempty"`
	// Environment variable with this name will be set to the path to the cache
	// directory.
	EnvVar string `protobuf:"bytes,4,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"`
	// contains filtered or unexported fields
}

Describes a cache directory persisted on a bot.

If a build requested a cache, the cache directory is available on build startup. If the cache was present on the bot, the directory contains files from the previous run on that bot. The build can read/write to the cache directory while it runs. After build completes, the cache directory is persisted. The next time another build requests the same cache and runs on the same bot, the files will still be there (unless the cache was evicted, perhaps due to disk space reasons).

One bot can keep multiple caches at the same time and one build can request multiple different caches. A cache is identified by its name and mapped to a path.

If the bot is running out of space, caches are evicted in LRU manner before the next build on this bot starts.

Builder cache.

Buildbucket implicitly declares cache

{"name": "<hash(project/bucket/builder)>", "path": "builder"}.

This means that any LUCI builder has a "personal disk space" on the bot. Builder cache is often a good start before customizing caching. In recipes, it is available at api.buildbucket.builder_cache_path.

func (*BuildInfra_Swarming_CacheEntry) Descriptor deprecated

func (*BuildInfra_Swarming_CacheEntry) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfra_Swarming_CacheEntry.ProtoReflect.Descriptor instead.

func (*BuildInfra_Swarming_CacheEntry) GetEnvVar

func (x *BuildInfra_Swarming_CacheEntry) GetEnvVar() string

func (*BuildInfra_Swarming_CacheEntry) GetName

func (*BuildInfra_Swarming_CacheEntry) GetPath

func (*BuildInfra_Swarming_CacheEntry) GetWaitForWarmCache

func (x *BuildInfra_Swarming_CacheEntry) GetWaitForWarmCache() *durationpb.Duration

func (*BuildInfra_Swarming_CacheEntry) ProtoMessage

func (*BuildInfra_Swarming_CacheEntry) ProtoMessage()

func (*BuildInfra_Swarming_CacheEntry) ProtoReflect

func (*BuildInfra_Swarming_CacheEntry) Reset

func (x *BuildInfra_Swarming_CacheEntry) Reset()

func (*BuildInfra_Swarming_CacheEntry) String

type BuildMask

type BuildMask struct {

	// Fields of the Build proto to include.
	//
	// Follows the standard FieldMask semantics as documented at e.g.
	// https://pkg.go.dev/google.golang.org/protobuf/types/known/fieldmaskpb.
	//
	// If not set, the default mask is used, see Build message comments for the
	// list of fields returned by default.
	Fields *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"`
	// Defines a subset of `input.properties` to return.
	//
	// When not empty, implicitly adds the corresponding field to `fields`.
	InputProperties []*structmask.StructMask `protobuf:"bytes,2,rep,name=input_properties,json=inputProperties,proto3" json:"input_properties,omitempty"`
	// Defines a subset of `output.properties` to return.
	//
	// When not empty, implicitly adds the corresponding field to `fields`.
	OutputProperties []*structmask.StructMask `protobuf:"bytes,3,rep,name=output_properties,json=outputProperties,proto3" json:"output_properties,omitempty"`
	// Defines a subset of `infra.buildbucket.requested_properties` to return.
	//
	// When not empty, implicitly adds the corresponding field to `fields`.
	RequestedProperties []*structmask.StructMask `protobuf:"bytes,4,rep,name=requested_properties,json=requestedProperties,proto3" json:"requested_properties,omitempty"`
	// Flag for including all fields.
	//
	// Mutually exclusive with `fields`, `input_properties`, `output_properties`,
	// and `requested_properties`.
	AllFields bool `protobuf:"varint,5,opt,name=all_fields,json=allFields,proto3" json:"all_fields,omitempty"`
	// A status to filter returned `steps` by. If unspecified, no filter is
	// applied. Otherwise filters by the union of the given statuses.
	//
	// No effect unless `fields` specifies that `steps` should be returned or
	// `all_fields` is true.
	StepStatus []Status `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

Defines a subset of Build fields and properties to return.

func (*BuildMask) Descriptor deprecated

func (*BuildMask) Descriptor() ([]byte, []int)

Deprecated: Use BuildMask.ProtoReflect.Descriptor instead.

func (*BuildMask) GetAllFields

func (x *BuildMask) GetAllFields() bool

func (*BuildMask) GetFields

func (x *BuildMask) GetFields() *fieldmaskpb.FieldMask

func (*BuildMask) GetInputProperties

func (x *BuildMask) GetInputProperties() []*structmask.StructMask

func (*BuildMask) GetOutputProperties

func (x *BuildMask) GetOutputProperties() []*structmask.StructMask

func (*BuildMask) GetRequestedProperties

func (x *BuildMask) GetRequestedProperties() []*structmask.StructMask

func (*BuildMask) GetStepStatus

func (x *BuildMask) GetStepStatus() []Status

func (*BuildMask) ProtoMessage

func (*BuildMask) ProtoMessage()

func (*BuildMask) ProtoReflect

func (x *BuildMask) ProtoReflect() protoreflect.Message

func (*BuildMask) Reset

func (x *BuildMask) Reset()

func (*BuildMask) String

func (x *BuildMask) String() string

type BuildPredicate

type BuildPredicate struct {

	// A build must be in this builder.
	Builder *BuilderID `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"`
	// A build must have this status.
	Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
	// A build's Build.Input.gerrit_changes must include ALL of these changes.
	GerritChanges []*GerritChange `protobuf:"bytes,3,rep,name=gerrit_changes,json=gerritChanges,proto3" json:"gerrit_changes,omitempty"`
	// DEPRECATED
	//
	// Never implemented.
	OutputGitilesCommit *GitilesCommit `protobuf:"bytes,4,opt,name=output_gitiles_commit,json=outputGitilesCommit,proto3" json:"output_gitiles_commit,omitempty"`
	// A build must be created by this identity.
	CreatedBy string `protobuf:"bytes,5,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	// A build must have ALL of these tags.
	// For "ANY of these tags" make separate RPCs.
	Tags []*StringPair `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"`
	// A build must have been created within the specified range.
	// Both boundaries are optional.
	CreateTime *TimeRange `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// If false (the default), equivalent to filtering by experiment
	// "-luci.non_production".
	//
	// If true, has no effect (both production and non_production builds will be
	// returned).
	//
	// NOTE: If you explicitly search for non_production builds with the experiment
	// filter "+luci.non_production", this is implied to be true.
	//
	// See `Builder.experiments` for well-known experiments.
	IncludeExperimental bool `protobuf:"varint,8,opt,name=include_experimental,json=includeExperimental,proto3" json:"include_experimental,omitempty"`
	// A build must be in this build range.
	Build *BuildRange `protobuf:"bytes,9,opt,name=build,proto3" json:"build,omitempty"`
	// DEPRECATED
	//
	// If YES, equivalent to filtering by experiment
	// "+luci.buildbucket.canary_software".
	//
	// If NO, equivalent to filtering by experiment
	// "-luci.buildbucket.canary_software".
	//
	// See `Builder.experiments` for well-known experiments.
	Canary Trinary `protobuf:"varint,10,opt,name=canary,proto3,enum=buildbucket.v2.Trinary" json:"canary,omitempty"`
	// A list of experiments to include or exclude from the search results.
	//
	// Each entry should look like "[-+]$experiment_name".
	//
	// A "+" prefix means that returned builds MUST have that experiment set.
	// A "-" prefix means that returned builds MUST NOT have that experiment set
	//
	//	AND that experiment was known for the builder at the time the build
	//	was scheduled (either via `Builder.experiments` or via
	//	`ScheduleBuildRequest.experiments`). Well-known experiments are always
	//	considered to be available.
	Experiments []string `protobuf:"bytes,11,rep,name=experiments,proto3" json:"experiments,omitempty"`
	// A build ID.
	//
	// Returned builds will be descendants of this build (e.g. "100" means
	// "any build transitively scheduled starting from build 100").
	//
	// Mutually exclusive with `child_of`.
	DescendantOf int64 `protobuf:"varint,12,opt,name=descendant_of,json=descendantOf,proto3" json:"descendant_of,omitempty"`
	// A build ID.
	//
	// Returned builds will be only the immediate children of this build.
	//
	// Mutually exclusive with `descendant_of`.
	ChildOf int64 `protobuf:"varint,13,opt,name=child_of,json=childOf,proto3" json:"child_of,omitempty"`
	// contains filtered or unexported fields
}

A build predicate.

At least one of the following fields is required: builder, gerrit_changes and git_commits. If a field value is empty, it is ignored, unless stated otherwise.

func (*BuildPredicate) Descriptor deprecated

func (*BuildPredicate) Descriptor() ([]byte, []int)

Deprecated: Use BuildPredicate.ProtoReflect.Descriptor instead.

func (*BuildPredicate) GetBuild