| // Copyright 2020 The Swarming Authors. All rights reserved. |
| // Use of this source code is governed by the Apache v2.0 license that can be |
| // found in the LICENSE file. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.28.0 |
| // protoc v3.17.3 |
| // source: go.chromium.org/luci/buildbucket/proto/builds_service.proto |
| |
| package buildbucketpb |
| |
| import prpc "go.chromium.org/luci/grpc/prpc" |
| |
| import ( |
| context "context" |
| structmask "go.chromium.org/luci/common/proto/structmask" |
| status "google.golang.org/genproto/googleapis/rpc/status" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status1 "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| durationpb "google.golang.org/protobuf/types/known/durationpb" |
| fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" |
| structpb "google.golang.org/protobuf/types/known/structpb" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // A request message for GetBuild rpc. |
| type GetBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Build id. |
| // Mutually exclusive with builder and number. |
| Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` |
| // Builder of the build. |
| // Requires number. Mutually exclusive with id. |
| Builder *BuilderID `protobuf:"bytes,2,opt,name=builder,proto3" json:"builder,omitempty"` |
| // Build number. |
| // Requires builder. Mutually exclusive with id. |
| BuildNumber int32 `protobuf:"varint,3,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"` |
| // Fields to include in the response. |
| // |
| // DEPRECATED: Use mask instead. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| // |
| // Supports advanced semantics, see |
| // https://chromium.googlesource.com/infra/luci/luci-py/+/f9ae69a37c4bdd0e08a8b0f7e123f6e403e774eb/appengine/components/components/protoutil/field_masks.py#7 |
| // In particular, if the client needs only some output properties, they |
| // can be requested with paths "output.properties.fields.foo". |
| // |
| // Deprecated: Do not use. |
| Fields *fieldmaskpb.FieldMask `protobuf:"bytes,100,opt,name=fields,proto3" json:"fields,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| Mask *BuildMask `protobuf:"bytes,101,opt,name=mask,proto3" json:"mask,omitempty"` |
| } |
| |
| func (x *GetBuildRequest) Reset() { |
| *x = GetBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetBuildRequest) ProtoMessage() {} |
| |
| func (x *GetBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetBuildRequest.ProtoReflect.Descriptor instead. |
| func (*GetBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *GetBuildRequest) GetId() int64 { |
| if x != nil { |
| return x.Id |
| } |
| return 0 |
| } |
| |
| func (x *GetBuildRequest) GetBuilder() *BuilderID { |
| if x != nil { |
| return x.Builder |
| } |
| return nil |
| } |
| |
| func (x *GetBuildRequest) GetBuildNumber() int32 { |
| if x != nil { |
| return x.BuildNumber |
| } |
| return 0 |
| } |
| |
| // Deprecated: Do not use. |
| func (x *GetBuildRequest) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *GetBuildRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| // A request message for SearchBuilds rpc. |
| type SearchBuildsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Returned builds must satisfy this predicate. Required. |
| Predicate *BuildPredicate `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` |
| // Fields to include in the response, see GetBuildRequest.fields. |
| // |
| // DEPRECATED: Use mask instead. |
| // |
| // Note that this applies to the response, not each build, so e.g. steps must |
| // be requested with a path "builds.*.steps". |
| // |
| // Deprecated: Do not use. |
| Fields *fieldmaskpb.FieldMask `protobuf:"bytes,100,opt,name=fields,proto3" json:"fields,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| Mask *BuildMask `protobuf:"bytes,103,opt,name=mask,proto3" json:"mask,omitempty"` |
| // Number of builds to return. |
| // Defaults to 100. |
| // Any value >1000 is interpreted as 1000. |
| PageSize int32 `protobuf:"varint,101,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Value of SearchBuildsResponse.next_page_token from the previous response. |
| // Use it to continue searching. |
| // The predicate and page_size in this request MUST be exactly same as in the |
| // previous request. |
| PageToken string `protobuf:"bytes,102,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| } |
| |
| func (x *SearchBuildsRequest) Reset() { |
| *x = SearchBuildsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchBuildsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchBuildsRequest) ProtoMessage() {} |
| |
| func (x *SearchBuildsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchBuildsRequest.ProtoReflect.Descriptor instead. |
| func (*SearchBuildsRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *SearchBuildsRequest) GetPredicate() *BuildPredicate { |
| if x != nil { |
| return x.Predicate |
| } |
| return nil |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SearchBuildsRequest) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *SearchBuildsRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| func (x *SearchBuildsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *SearchBuildsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| // A response message for SearchBuilds rpc. |
| type SearchBuildsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Search results. |
| // |
| // Ordered by build id, descending. Ids are monotonically decreasing, so in |
| // other words the order is newest-to-oldest. |
| Builds []*Build `protobuf:"bytes,1,rep,name=builds,proto3" json:"builds,omitempty"` |
| // Value for SearchBuildsRequest.page_token to continue searching. |
| NextPageToken string `protobuf:"bytes,100,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *SearchBuildsResponse) Reset() { |
| *x = SearchBuildsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchBuildsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchBuildsResponse) ProtoMessage() {} |
| |
| func (x *SearchBuildsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchBuildsResponse.ProtoReflect.Descriptor instead. |
| func (*SearchBuildsResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *SearchBuildsResponse) GetBuilds() []*Build { |
| if x != nil { |
| return x.Builds |
| } |
| return nil |
| } |
| |
| func (x *SearchBuildsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // A request message for Batch rpc. |
| type BatchRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // 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"` |
| } |
| |
| func (x *BatchRequest) Reset() { |
| *x = BatchRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRequest) ProtoMessage() {} |
| |
| func (x *BatchRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRequest.ProtoReflect.Descriptor instead. |
| func (*BatchRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *BatchRequest) GetRequests() []*BatchRequest_Request { |
| if x != nil { |
| return x.Requests |
| } |
| return nil |
| } |
| |
| // A response message for Batch rpc. |
| type BatchResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Responses in the same order as BatchRequest.requests. |
| Responses []*BatchResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` |
| } |
| |
| func (x *BatchResponse) Reset() { |
| *x = BatchResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchResponse) ProtoMessage() {} |
| |
| func (x *BatchResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchResponse.ProtoReflect.Descriptor instead. |
| func (*BatchResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *BatchResponse) GetResponses() []*BatchResponse_Response { |
| if x != nil { |
| return x.Responses |
| } |
| return nil |
| } |
| |
| // A request message for UpdateBuild rpc. |
| type UpdateBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Build to update, with new field values. |
| Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` |
| // Build fields to update. |
| // See also |
| // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask |
| // |
| // Currently supports only the following path strings: |
| // - build.output |
| // - build.output.properties |
| // - build.output.gitiles_commit |
| // - build.status |
| // - build.status_details |
| // - build.steps |
| // - build.summary_markdown |
| // - build.tags |
| // - build.infra.buildbucket.agent.output |
| // - build.infra.buildbucket.agent.purposes |
| // |
| // If omitted, Buildbucket will update the Build's update_time, but nothing else. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // Fields to include in the response. See also GetBuildRequest.fields. |
| // |
| // DEPRECATED: Use mask instead. |
| // |
| // Deprecated: Do not use. |
| Fields *fieldmaskpb.FieldMask `protobuf:"bytes,100,opt,name=fields,proto3" json:"fields,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, an empty build will be returned. |
| Mask *BuildMask `protobuf:"bytes,101,opt,name=mask,proto3" json:"mask,omitempty"` |
| } |
| |
| func (x *UpdateBuildRequest) Reset() { |
| *x = UpdateBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateBuildRequest) ProtoMessage() {} |
| |
| func (x *UpdateBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateBuildRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *UpdateBuildRequest) GetBuild() *Build { |
| if x != nil { |
| return x.Build |
| } |
| return nil |
| } |
| |
| func (x *UpdateBuildRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| // Deprecated: Do not use. |
| func (x *UpdateBuildRequest) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *UpdateBuildRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| // A request message for ScheduleBuild rpc. |
| // |
| // Next ID: 22. |
| type ScheduleBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ** STRONGLY RECOMMENDED **. |
| // A unique string id used for detecting duplicate requests. |
| // Should be unique at least per requesting identity. |
| // Used to dedup build scheduling requests with same id within 1 min. |
| // If a build was successfully scheduled with the same request id in the past |
| // minute, the existing build will be returned. |
| RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` |
| // ID of a build to retry as is or altered. |
| // When specified, fields below default to the values in the template build. |
| TemplateBuildId int64 `protobuf:"varint,2,opt,name=template_build_id,json=templateBuildId,proto3" json:"template_build_id,omitempty"` |
| // Value for Build.builder. See its comments. |
| // Required, unless template_build_id is specified. |
| Builder *BuilderID `protobuf:"bytes,3,opt,name=builder,proto3" json:"builder,omitempty"` |
| // DEPRECATED |
| // |
| // Set "luci.buildbucket.canary_software" in `experiments` instead. |
| // |
| // YES sets "luci.buildbucket.canary_software" to true in `experiments`. |
| // NO sets "luci.buildbucket.canary_software" to false in `experiments`. |
| Canary Trinary `protobuf:"varint,4,opt,name=canary,proto3,enum=buildbucket.v2.Trinary" json:"canary,omitempty"` |
| // DEPRECATED |
| // |
| // Set "luci.non_production" in `experiments` instead. |
| // |
| // YES sets "luci.non_production" to true in `experiments`. |
| // NO sets "luci.non_production" to false in `experiments`. |
| Experimental Trinary `protobuf:"varint,5,opt,name=experimental,proto3,enum=buildbucket.v2.Trinary" json:"experimental,omitempty"` |
| // Sets (or prevents) these experiments on the scheduled build. |
| // |
| // See `Builder.experiments` for well-known experiments. |
| Experiments map[string]bool `protobuf:"bytes,16,rep,name=experiments,proto3" json:"experiments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` |
| // Properties to include in Build.input.properties. |
| // |
| // Input properties of the created build are result of merging server-defined |
| // properties and properties in this field. |
| // Each property in this field defines a new or replaces an existing property |
| // on the server. |
| // If the server config does not allow overriding/adding the property, the |
| // request will fail with InvalidArgument error code. |
| // A server-defined property cannot be removed, but its value can be |
| // replaced with null. |
| // |
| // Reserved property paths: |
| // ["$recipe_engine/buildbucket"] |
| // ["$recipe_engine/runtime", "is_experimental"] |
| // ["$recipe_engine/runtime", "is_luci"] |
| // ["branch"] |
| // ["buildbucket"] |
| // ["buildername"] |
| // ["repository"] |
| // |
| // The Builder configuration specifies which top-level property names are |
| // overridable via the `allowed_property_overrides` field. ScheduleBuild |
| // requests which attempt to override a property which isn't allowed will |
| // fail with InvalidArgument. |
| // |
| // V1 equivalent: corresponds to "properties" key in "parameters_json". |
| Properties *structpb.Struct `protobuf:"bytes,6,opt,name=properties,proto3" json:"properties,omitempty"` |
| // Value for Build.input.gitiles_commit. |
| // |
| // Setting this field will cause the created build to have a "buildset" |
| // tag with value "commit/gitiles/{hostname}/{project}/+/{id}". |
| // |
| // GitilesCommit objects MUST have host, project, ref fields set. |
| // |
| // V1 equivalent: supersedes "revision" property and "buildset" |
| // tag that starts with "commit/gitiles/". |
| GitilesCommit *GitilesCommit `protobuf:"bytes,7,opt,name=gitiles_commit,json=gitilesCommit,proto3" json:"gitiles_commit,omitempty"` |
| // Value for Build.input.gerrit_changes. |
| // Usually present in tryjobs, set by CQ, Gerrit, git-cl-try. |
| // Applied on top of gitiles_commit if specified, otherwise tip of the tree. |
| // All GerritChange fields are required. |
| // |
| // Setting this field will cause the created build to have a "buildset" |
| // tag with value "patch/gerrit/{hostname}/{change}/{patchset}" |
| // for each change. |
| // |
| // V1 equivalent: supersedes patch_* properties and "buildset" |
| // tag that starts with "patch/gerrit/". |
| GerritChanges []*GerritChange `protobuf:"bytes,8,rep,name=gerrit_changes,json=gerritChanges,proto3" json:"gerrit_changes,omitempty"` |
| // Tags to include in Build.tags of the created build, see Build.tags |
| // comments. |
| // Note: tags of the created build may include other tags defined on the |
| // server. |
| Tags []*StringPair `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"` |
| // Overrides default dimensions defined by builder config or template build. |
| // |
| // A set of entries with the same key defines a new or replaces an existing |
| // dimension with the same key. |
| // If the config does not allow overriding/adding the dimension, the request |
| // will fail with InvalidArgument error code. |
| // |
| // After merging, dimensions with empty value will be excluded. |
| // |
| // A dimension expiration must be a multiple of 1min. |
| Dimensions []*RequestedDimension `protobuf:"bytes,10,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| // If not zero, overrides swarming task priority. |
| // See also Build.infra.swarming.priority. |
| Priority int32 `protobuf:"varint,11,opt,name=priority,proto3" json:"priority,omitempty"` |
| // A per-build notification configuration. |
| Notify *NotificationConfig `protobuf:"bytes,12,opt,name=notify,proto3" json:"notify,omitempty"` |
| // Fields to include in the response. See also GetBuildRequest.fields. |
| // |
| // DEPRECATED: Use mask instead. |
| // |
| // Deprecated: Do not use. |
| Fields *fieldmaskpb.FieldMask `protobuf:"bytes,100,opt,name=fields,proto3" json:"fields,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| Mask *BuildMask `protobuf:"bytes,101,opt,name=mask,proto3" json:"mask,omitempty"` |
| // Value for Build.critical. |
| Critical Trinary `protobuf:"varint,13,opt,name=critical,proto3,enum=buildbucket.v2.Trinary" json:"critical,omitempty"` |
| // Overrides Builder.exe in the config. |
| // Supported subfields: cipd_version. |
| Exe *Executable `protobuf:"bytes,14,opt,name=exe,proto3" json:"exe,omitempty"` |
| // Swarming specific part of the build request. |
| Swarming *ScheduleBuildRequest_Swarming `protobuf:"bytes,15,opt,name=swarming,proto3" json:"swarming,omitempty"` |
| // Maximum build pending time. |
| // |
| // If set, overrides the default `expiration_secs` set in builder config. |
| // Only supports seconds precision for now. |
| // For more information, see Build.scheduling_timeout in build.proto. |
| SchedulingTimeout *durationpb.Duration `protobuf:"bytes,17,opt,name=scheduling_timeout,json=schedulingTimeout,proto3" json:"scheduling_timeout,omitempty"` |
| // Maximum build execution time. |
| // |
| // If set, overrides the default `execution_timeout_secs` set in builder config. |
| // Only supports seconds precision for now. |
| // For more information, see Build.execution_timeout in build.proto. |
| ExecutionTimeout *durationpb.Duration `protobuf:"bytes,18,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"` |
| // Amount of cleanup time after execution_timeout. |
| // |
| // If set, overrides the default `grace_period` set in builder config. |
| // Only supports seconds precision for now. |
| // For more information, see Build.grace_period in build.proto. |
| GracePeriod *durationpb.Duration `protobuf:"bytes,19,opt,name=grace_period,json=gracePeriod,proto3" json:"grace_period,omitempty"` |
| // Whether or not this request constitutes a dry run. |
| // |
| // A dry run returns the build proto without actually scheduling it. All |
| // fields except those which can only be computed at run-time are filled in. |
| // Does not cause side-effects. When batching, all requests must specify the |
| // same value for dry_run. |
| DryRun bool `protobuf:"varint,20,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` |
| // Flag to control if the build can outlive its parent. |
| // |
| // If the value is UNSET, it means this build doesn't have any parent, so |
| // the request must not have a head with any BuildToken. |
| // |
| // If the value is anything other than UNSET, then the BuildToken for the |
| // parent build must be set as a header. |
| // Note: it's not currently possible to establish parent/child relationship |
| // except via the parent build at the time the build is launched. |
| // |
| // If the value is NO, 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. |
| // |
| // If schedule a build without parent, this field must be UNSET. |
| // |
| // If schedule a build with parent, this field should be YES or NO. |
| // But UNSET is also accepted for now, and it has the same effect as YES. |
| // TODO(crbug.com/1031205): after the parent tracking feature is stable, |
| // require this field to be set when scheduling a build with parent. |
| CanOutliveParent Trinary `protobuf:"varint,21,opt,name=can_outlive_parent,json=canOutliveParent,proto3,enum=buildbucket.v2.Trinary" json:"can_outlive_parent,omitempty"` |
| } |
| |
| func (x *ScheduleBuildRequest) Reset() { |
| *x = ScheduleBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ScheduleBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ScheduleBuildRequest) ProtoMessage() {} |
| |
| func (x *ScheduleBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ScheduleBuildRequest.ProtoReflect.Descriptor instead. |
| func (*ScheduleBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *ScheduleBuildRequest) GetRequestId() string { |
| if x != nil { |
| return x.RequestId |
| } |
| return "" |
| } |
| |
| func (x *ScheduleBuildRequest) GetTemplateBuildId() int64 { |
| if x != nil { |
| return x.TemplateBuildId |
| } |
| return 0 |
| } |
| |
| func (x *ScheduleBuildRequest) GetBuilder() *BuilderID { |
| if x != nil { |
| return x.Builder |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetCanary() Trinary { |
| if x != nil { |
| return x.Canary |
| } |
| return Trinary_UNSET |
| } |
| |
| func (x *ScheduleBuildRequest) GetExperimental() Trinary { |
| if x != nil { |
| return x.Experimental |
| } |
| return Trinary_UNSET |
| } |
| |
| func (x *ScheduleBuildRequest) GetExperiments() map[string]bool { |
| if x != nil { |
| return x.Experiments |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetProperties() *structpb.Struct { |
| if x != nil { |
| return x.Properties |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetGitilesCommit() *GitilesCommit { |
| if x != nil { |
| return x.GitilesCommit |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetGerritChanges() []*GerritChange { |
| if x != nil { |
| return x.GerritChanges |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetTags() []*StringPair { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetDimensions() []*RequestedDimension { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetPriority() int32 { |
| if x != nil { |
| return x.Priority |
| } |
| return 0 |
| } |
| |
| func (x *ScheduleBuildRequest) GetNotify() *NotificationConfig { |
| if x != nil { |
| return x.Notify |
| } |
| return nil |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ScheduleBuildRequest) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetCritical() Trinary { |
| if x != nil { |
| return x.Critical |
| } |
| return Trinary_UNSET |
| } |
| |
| func (x *ScheduleBuildRequest) GetExe() *Executable { |
| if x != nil { |
| return x.Exe |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetSwarming() *ScheduleBuildRequest_Swarming { |
| if x != nil { |
| return x.Swarming |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetSchedulingTimeout() *durationpb.Duration { |
| if x != nil { |
| return x.SchedulingTimeout |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetExecutionTimeout() *durationpb.Duration { |
| if x != nil { |
| return x.ExecutionTimeout |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetGracePeriod() *durationpb.Duration { |
| if x != nil { |
| return x.GracePeriod |
| } |
| return nil |
| } |
| |
| func (x *ScheduleBuildRequest) GetDryRun() bool { |
| if x != nil { |
| return x.DryRun |
| } |
| return false |
| } |
| |
| func (x *ScheduleBuildRequest) GetCanOutliveParent() Trinary { |
| if x != nil { |
| return x.CanOutliveParent |
| } |
| return Trinary_UNSET |
| } |
| |
| // A request message for CancelBuild rpc. |
| type CancelBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of the build to cancel. |
| Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` |
| // Required. Value for Build.summary_markdown. |
| SummaryMarkdown string `protobuf:"bytes,2,opt,name=summary_markdown,json=summaryMarkdown,proto3" json:"summary_markdown,omitempty"` |
| // Fields to include in the response. See also GetBuildRequest.fields. |
| // |
| // DEPRECATED: Use mask instead. |
| // |
| // Deprecated: Do not use. |
| Fields *fieldmaskpb.FieldMask `protobuf:"bytes,100,opt,name=fields,proto3" json:"fields,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| Mask *BuildMask `protobuf:"bytes,101,opt,name=mask,proto3" json:"mask,omitempty"` |
| } |
| |
| func (x *CancelBuildRequest) Reset() { |
| *x = CancelBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CancelBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CancelBuildRequest) ProtoMessage() {} |
| |
| func (x *CancelBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CancelBuildRequest.ProtoReflect.Descriptor instead. |
| func (*CancelBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *CancelBuildRequest) GetId() int64 { |
| if x != nil { |
| return x.Id |
| } |
| return 0 |
| } |
| |
| func (x *CancelBuildRequest) GetSummaryMarkdown() string { |
| if x != nil { |
| return x.SummaryMarkdown |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *CancelBuildRequest) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *CancelBuildRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| // A request message for CreateBuild rpc. |
| type CreateBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The Build to be created. |
| Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` |
| // A unique identifier for this request. |
| // A random UUID is recommended. |
| // This request is only idempotent if a `request_id` is provided. |
| RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` |
| // What portion of the Build message to return. |
| // |
| // If not set, the default mask is used, see Build message comments for the |
| // list of fields returned by default. |
| Mask *BuildMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"` |
| } |
| |
| func (x *CreateBuildRequest) Reset() { |
| *x = CreateBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateBuildRequest) ProtoMessage() {} |
| |
| func (x *CreateBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateBuildRequest.ProtoReflect.Descriptor instead. |
| func (*CreateBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *CreateBuildRequest) GetBuild() *Build { |
| if x != nil { |
| return x.Build |
| } |
| return nil |
| } |
| |
| func (x *CreateBuildRequest) GetRequestId() string { |
| if x != nil { |
| return x.RequestId |
| } |
| return "" |
| } |
| |
| func (x *CreateBuildRequest) GetMask() *BuildMask { |
| if x != nil { |
| return x.Mask |
| } |
| return nil |
| } |
| |
| // A request message for SynthesizeBuild rpc. |
| type SynthesizeBuildRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of a build to use as the template. |
| // Mutually exclusive with builder. |
| TemplateBuildId int64 `protobuf:"varint,1,opt,name=template_build_id,json=templateBuildId,proto3" json:"template_build_id,omitempty"` |
| // Value for Build.builder. See its comments. |
| // Required, unless template_build_id is specified. |
| Builder *BuilderID `protobuf:"bytes,2,opt,name=builder,proto3" json:"builder,omitempty"` |
| } |
| |
| func (x *SynthesizeBuildRequest) Reset() { |
| *x = SynthesizeBuildRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SynthesizeBuildRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SynthesizeBuildRequest) ProtoMessage() {} |
| |
| func (x *SynthesizeBuildRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SynthesizeBuildRequest.ProtoReflect.Descriptor instead. |
| func (*SynthesizeBuildRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *SynthesizeBuildRequest) GetTemplateBuildId() int64 { |
| if x != nil { |
| return x.TemplateBuildId |
| } |
| return 0 |
| } |
| |
| func (x *SynthesizeBuildRequest) GetBuilder() *BuilderID { |
| if x != nil { |
| return x.Builder |
| } |
| return nil |
| } |
| |
| // Defines a subset of Build fields and properties to return. |
| type BuildMask struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // 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 `protobuf:"varint,6,rep,packed,name=step_status,json=stepStatus,proto3,enum=buildbucket.v2.Status" json:"step_status,omitempty"` |
| } |
| |
| func (x *BuildMask) Reset() { |
| *x = BuildMask{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BuildMask) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BuildMask) ProtoMessage() {} |
| |
| func (x *BuildMask) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BuildMask.ProtoReflect.Descriptor instead. |
| func (*BuildMask) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *BuildMask) GetFields() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.Fields |
| } |
| return nil |
| } |
| |
| func (x *BuildMask) GetInputProperties() []*structmask.StructMask { |
| if x != nil { |
| return x.InputProperties |
| } |
| return nil |
| } |
| |
| func (x *BuildMask) GetOutputProperties() []*structmask.StructMask { |
| if x != nil { |
| return x.OutputProperties |
| } |
| return nil |
| } |
| |
| func (x *BuildMask) GetRequestedProperties() []*structmask.StructMask { |
| if x != nil { |
| return x.RequestedProperties |
| } |
| return nil |
| } |
| |
| func (x *BuildMask) GetAllFields() bool { |
| if x != nil { |
| return x.AllFields |
| } |
| return false |
| } |
| |
| func (x *BuildMask) GetStepStatus() []Status { |
| if x != nil { |
| return x.StepStatus |
| } |
| return nil |
| } |
| |
| // 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. |
| type BuildPredicate struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // 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"` |
| } |
| |
| func (x *BuildPredicate) Reset() { |
| *x = BuildPredicate{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BuildPredicate) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BuildPredicate) ProtoMessage() {} |
| |
| func (x *BuildPredicate) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BuildPredicate.ProtoReflect.Descriptor instead. |
| func (*BuildPredicate) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *BuildPredicate) GetBuilder() *BuilderID { |
| if x != nil { |
| return x.Builder |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetStatus() Status { |
| if x != nil { |
| return x.Status |
| } |
| return Status_STATUS_UNSPECIFIED |
| } |
| |
| func (x *BuildPredicate) GetGerritChanges() []*GerritChange { |
| if x != nil { |
| return x.GerritChanges |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetOutputGitilesCommit() *GitilesCommit { |
| if x != nil { |
| return x.OutputGitilesCommit |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetCreatedBy() string { |
| if x != nil { |
| return x.CreatedBy |
| } |
| return "" |
| } |
| |
| func (x *BuildPredicate) GetTags() []*StringPair { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetCreateTime() *TimeRange { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetIncludeExperimental() bool { |
| if x != nil { |
| return x.IncludeExperimental |
| } |
| return false |
| } |
| |
| func (x *BuildPredicate) GetBuild() *BuildRange { |
| if x != nil { |
| return x.Build |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetCanary() Trinary { |
| if x != nil { |
| return x.Canary |
| } |
| return Trinary_UNSET |
| } |
| |
| func (x *BuildPredicate) GetExperiments() []string { |
| if x != nil { |
| return x.Experiments |
| } |
| return nil |
| } |
| |
| func (x *BuildPredicate) GetDescendantOf() int64 { |
| if x != nil { |
| return x.DescendantOf |
| } |
| return 0 |
| } |
| |
| func (x *BuildPredicate) GetChildOf() int64 { |
| if x != nil { |
| return x.ChildOf |
| } |
| return 0 |
| } |
| |
| // Open build range. |
| type BuildRange struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Inclusive lower (less recent build) boundary. Optional. |
| StartBuildId int64 `protobuf:"varint,1,opt,name=start_build_id,json=startBuildId,proto3" json:"start_build_id,omitempty"` |
| // Inclusive upper (more recent build) boundary. Optional. |
| EndBuildId int64 `protobuf:"varint,2,opt,name=end_build_id,json=endBuildId,proto3" json:"end_build_id,omitempty"` |
| } |
| |
| func (x *BuildRange) Reset() { |
| *x = BuildRange{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BuildRange) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BuildRange) ProtoMessage() {} |
| |
| func (x *BuildRange) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BuildRange.ProtoReflect.Descriptor instead. |
| func (*BuildRange) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *BuildRange) GetStartBuildId() int64 { |
| if x != nil { |
| return x.StartBuildId |
| } |
| return 0 |
| } |
| |
| func (x *BuildRange) GetEndBuildId() int64 { |
| if x != nil { |
| return x.EndBuildId |
| } |
| return 0 |
| } |
| |
| // One request in a batch. |
| type BatchRequest_Request struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Request: |
| // *BatchRequest_Request_GetBuild |
| // *BatchRequest_Request_SearchBuilds |
| // *BatchRequest_Request_ScheduleBuild |
| // *BatchRequest_Request_CancelBuild |
| Request isBatchRequest_Request_Request `protobuf_oneof:"request"` |
| } |
| |
| func (x *BatchRequest_Request) Reset() { |
| *x = BatchRequest_Request{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRequest_Request) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRequest_Request) ProtoMessage() {} |
| |
| func (x *BatchRequest_Request) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRequest_Request.ProtoReflect.Descriptor instead. |
| func (*BatchRequest_Request) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{3, 0} |
| } |
| |
| func (m *BatchRequest_Request) GetRequest() isBatchRequest_Request_Request { |
| if m != nil { |
| return m.Request |
| } |
| return nil |
| } |
| |
| func (x *BatchRequest_Request) GetGetBuild() *GetBuildRequest { |
| if x, ok := x.GetRequest().(*BatchRequest_Request_GetBuild); ok { |
| return x.GetBuild |
| } |
| return nil |
| } |
| |
| func (x *BatchRequest_Request) GetSearchBuilds() *SearchBuildsRequest { |
| if x, ok := x.GetRequest().(*BatchRequest_Request_SearchBuilds); ok { |
| return x.SearchBuilds |
| } |
| return nil |
| } |
| |
| func (x *BatchRequest_Request) GetScheduleBuild() *ScheduleBuildRequest { |
| if x, ok := x.GetRequest().(*BatchRequest_Request_ScheduleBuild); ok { |
| return x.ScheduleBuild |
| } |
| return nil |
| } |
| |
| func (x *BatchRequest_Request) GetCancelBuild() *CancelBuildRequest { |
| if x, ok := x.GetRequest().(*BatchRequest_Request_CancelBuild); ok { |
| return x.CancelBuild |
| } |
| return nil |
| } |
| |
| type isBatchRequest_Request_Request interface { |
| isBatchRequest_Request_Request() |
| } |
| |
| type BatchRequest_Request_GetBuild struct { |
| GetBuild *GetBuildRequest `protobuf:"bytes,1,opt,name=get_build,json=getBuild,proto3,oneof"` |
| } |
| |
| type BatchRequest_Request_SearchBuilds struct { |
| SearchBuilds *SearchBuildsRequest `protobuf:"bytes,2,opt,name=search_builds,json=searchBuilds,proto3,oneof"` |
| } |
| |
| type BatchRequest_Request_ScheduleBuild struct { |
| ScheduleBuild *ScheduleBuildRequest `protobuf:"bytes,3,opt,name=schedule_build,json=scheduleBuild,proto3,oneof"` |
| } |
| |
| type BatchRequest_Request_CancelBuild struct { |
| CancelBuild *CancelBuildRequest `protobuf:"bytes,4,opt,name=cancel_build,json=cancelBuild,proto3,oneof"` |
| } |
| |
| func (*BatchRequest_Request_GetBuild) isBatchRequest_Request_Request() {} |
| |
| func (*BatchRequest_Request_SearchBuilds) isBatchRequest_Request_Request() {} |
| |
| func (*BatchRequest_Request_ScheduleBuild) isBatchRequest_Request_Request() {} |
| |
| func (*BatchRequest_Request_CancelBuild) isBatchRequest_Request_Request() {} |
| |
| // Response a BatchRequest.Response. |
| type BatchResponse_Response struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Response: |
| // *BatchResponse_Response_GetBuild |
| // *BatchResponse_Response_SearchBuilds |
| // *BatchResponse_Response_ScheduleBuild |
| // *BatchResponse_Response_CancelBuild |
| // *BatchResponse_Response_Error |
| Response isBatchResponse_Response_Response `protobuf_oneof:"response"` |
| } |
| |
| func (x *BatchResponse_Response) Reset() { |
| *x = BatchResponse_Response{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchResponse_Response) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchResponse_Response) ProtoMessage() {} |
| |
| func (x *BatchResponse_Response) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchResponse_Response.ProtoReflect.Descriptor instead. |
| func (*BatchResponse_Response) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{4, 0} |
| } |
| |
| func (m *BatchResponse_Response) GetResponse() isBatchResponse_Response_Response { |
| if m != nil { |
| return m.Response |
| } |
| return nil |
| } |
| |
| func (x *BatchResponse_Response) GetGetBuild() *Build { |
| if x, ok := x.GetResponse().(*BatchResponse_Response_GetBuild); ok { |
| return x.GetBuild |
| } |
| return nil |
| } |
| |
| func (x *BatchResponse_Response) GetSearchBuilds() *SearchBuildsResponse { |
| if x, ok := x.GetResponse().(*BatchResponse_Response_SearchBuilds); ok { |
| return x.SearchBuilds |
| } |
| return nil |
| } |
| |
| func (x *BatchResponse_Response) GetScheduleBuild() *Build { |
| if x, ok := x.GetResponse().(*BatchResponse_Response_ScheduleBuild); ok { |
| return x.ScheduleBuild |
| } |
| return nil |
| } |
| |
| func (x *BatchResponse_Response) GetCancelBuild() *Build { |
| if x, ok := x.GetResponse().(*BatchResponse_Response_CancelBuild); ok { |
| return x.CancelBuild |
| } |
| return nil |
| } |
| |
| func (x *BatchResponse_Response) GetError() *status.Status { |
| if x, ok := x.GetResponse().(*BatchResponse_Response_Error); ok { |
| return x.Error |
| } |
| return nil |
| } |
| |
| type isBatchResponse_Response_Response interface { |
| isBatchResponse_Response_Response() |
| } |
| |
| type BatchResponse_Response_GetBuild struct { |
| GetBuild *Build `protobuf:"bytes,1,opt,name=get_build,json=getBuild,proto3,oneof"` |
| } |
| |
| type BatchResponse_Response_SearchBuilds struct { |
| SearchBuilds *SearchBuildsResponse `protobuf:"bytes,2,opt,name=search_builds,json=searchBuilds,proto3,oneof"` |
| } |
| |
| type BatchResponse_Response_ScheduleBuild struct { |
| ScheduleBuild *Build `protobuf:"bytes,3,opt,name=schedule_build,json=scheduleBuild,proto3,oneof"` |
| } |
| |
| type BatchResponse_Response_CancelBuild struct { |
| CancelBuild *Build `protobuf:"bytes,4,opt,name=cancel_build,json=cancelBuild,proto3,oneof"` |
| } |
| |
| type BatchResponse_Response_Error struct { |
| // Error code and details of the unsuccessful RPC. |
| Error *status.Status `protobuf:"bytes,100,opt,name=error,proto3,oneof"` |
| } |
| |
| func (*BatchResponse_Response_GetBuild) isBatchResponse_Response_Response() {} |
| |
| func (*BatchResponse_Response_SearchBuilds) isBatchResponse_Response_Response() {} |
| |
| func (*BatchResponse_Response_ScheduleBuild) isBatchResponse_Response_Response() {} |
| |
| func (*BatchResponse_Response_CancelBuild) isBatchResponse_Response_Response() {} |
| |
| func (*BatchResponse_Response_Error) isBatchResponse_Response_Response() {} |
| |
| // Swarming specific part of the build request. |
| type ScheduleBuildRequest_Swarming struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // If specified, parent_run_id should match actual Swarming task run ID the |
| // caller is running as and results in swarming server ensuring that the newly |
| // triggered build will not outlive its parent. |
| // |
| // Typical use is for triggering and waiting on child build(s) from within |
| // 1 parent build and if child build(s) on their own aren't useful. Then, |
| // if parent build ends for whatever reason, all not yet finished child |
| // builds aren't useful and it's desirable to terminate them, too. |
| // |
| // If the Builder config does not specify a swarming backend, the request |
| // will fail with InvalidArgument error code. |
| // |
| // The parent_run_id is assumed to be from the same swarming server as the |
| // one the new build is to be executed on. The ScheduleBuildRequest doesn't |
| // check if parent_run_id refers to actually existing task, but eventually |
| // the new build will fail if so. |
| ParentRunId string `protobuf:"bytes,1,opt,name=parent_run_id,json=parentRunId,proto3" json:"parent_run_id,omitempty"` |
| } |
| |
| func (x *ScheduleBuildRequest_Swarming) Reset() { |
| *x = ScheduleBuildRequest_Swarming{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ScheduleBuildRequest_Swarming) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ScheduleBuildRequest_Swarming) ProtoMessage() {} |
| |
| func (x *ScheduleBuildRequest_Swarming) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ScheduleBuildRequest_Swarming.ProtoReflect.Descriptor instead. |
| func (*ScheduleBuildRequest_Swarming) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP(), []int{6, 1} |
| } |
| |
| func (x *ScheduleBuildRequest_Swarming) GetParentRunId() string { |
| if x != nil { |
| return x.ParentRunId |
| } |
| return "" |
| } |
| |
| var File_go_chromium_org_luci_buildbucket_proto_builds_service_proto protoreflect.FileDescriptor |
| |
| var file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDesc = []byte{ |
| 0x0a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, |
| 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x5f, |
| 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, |
| 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, |
| 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, |
| 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, |
| 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, |
| 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, |
| 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, |
| 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, |
| 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, |
| 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, |
| 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, |
| 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, |
| 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, |
| 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, |
| 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, |
| 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6d, 0x61, 0x73, 0x6b, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, |
| 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, |
| 0x6c, 0x64, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, |
| 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, |
| 0x65, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x64, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x02, |
| 0x18, 0x01, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x61, |
| 0x73, 0x6b, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, |
| 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xf6, 0x01, 0x0a, 0x13, 0x53, 0x65, |
| 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x64, 0x69, |
| 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, |
| 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x52, |
| 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, |
| 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, |
| 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, |
| 0x69, 0x7a, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, |
| 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x18, 0x66, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, |
| 0x65, 0x6e, 0x22, 0x6d, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x52, 0x06, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, |
| 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x64, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x22, 0x8b, 0x03, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x73, 0x1a, 0xb8, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x3e, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, |
| 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, |
| 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x4d, 0x0a, 0x0e, |
| 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, |
| 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x63, |
| 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x63, |
| 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, |
| 0x75, 0x69, 0x6c, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, |
| 0x99, 0x03, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x44, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0xc1, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, |
| 0x52, 0x08, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x65, |
| 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, |
| 0x68, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x64, |
| 0x75, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, |
| 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x63, 0x65, |
| 0x6c, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, |
| 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, |
| 0x69, 0x6c, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, |
| 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, |
| 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x12, |
| 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, |
| 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, |
| 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x36, 0x0a, 0x06, |
| 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, |
| 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x66, 0x69, |
| 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x65, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, |
| 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, |
| 0x61, 0x73, 0x6b, 0x22, 0xa2, 0x0b, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, |
| 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, |
| 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, |
| 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, |
| 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, |
| 0x72, 0x49, 0x44, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, |
| 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, |
| 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a, |
| 0x0c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x65, 0x78, |
| 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x78, |
| 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x35, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, |
| 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, |
| 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, |
| 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, |
| 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, |
| 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x07, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, |
| 0x6d, 0x69, 0x74, 0x52, 0x0d, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, |
| 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x61, |
| 0x6e, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x72, 0x72, |
| 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, |
| 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, |
| 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, |
| 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, |
| 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, |
| 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, |
| 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x6e, 0x6f, 0x74, |
| 0x69, 0x66, 0x79, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x64, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, |
| 0x02, 0x18, 0x01, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6d, |
| 0x61, 0x73, 0x6b, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x72, |
| 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, |
| 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, |
| 0x2c, 0x0a, 0x03, 0x65, 0x78, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x03, 0x65, 0x78, 0x65, 0x12, 0x49, 0x0a, |
| 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x2d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x08, |
| 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x12, 0x73, 0x63, 0x68, 0x65, |
| 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, |
| 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, |
| 0x75, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, |
| 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, |
| 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, |
| 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x67, 0x72, |
| 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x67, 0x72, 0x61, |
| 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, |
| 0x72, 0x75, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, |
| 0x6e, 0x12, 0x45, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x76, 0x65, |
| 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, |
| 0x72, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x6c, 0x69, |
| 0x76, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x3e, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x65, |
| 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, |
| 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, |
| 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, |
| 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2e, 0x0a, 0x08, 0x53, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, |
| 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x43, 0x61, 0x6e, |
| 0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, |
| 0x29, 0x0a, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, |
| 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x6d, 0x6d, 0x61, |
| 0x72, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, |
| 0x65, 0x6c, 0x64, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, |
| 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, |
| 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, |
| 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, |
| 0x6b, 0x22, 0x8f, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, |
| 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, |
| 0x61, 0x73, 0x6b, 0x22, 0x79, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, |
| 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, |
| 0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, |
| 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, |
| 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x22, 0xea, |
| 0x02, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x32, 0x0a, 0x06, |
| 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, |
| 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, |
| 0x12, 0x41, 0x0a, 0x10, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, |
| 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, |
| 0x75, 0x63, 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, |
| 0x73, 0x6b, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, |
| 0x69, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, |
| 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, |
| 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x75, |
| 0x63, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x72, |
| 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, |
| 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6d, |
| 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x13, |
| 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, |
| 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, |
| 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, |
| 0x64, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, |
| 0x0a, 0x73, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x90, 0x05, 0x0a, 0x0e, |
| 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x33, |
| 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x44, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, |
| 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x63, 0x68, |
| 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x72, |
| 0x72, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x67, 0x65, 0x72, 0x72, 0x69, |
| 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x70, |
| 0x75, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, |
| 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, |
| 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, |
| 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x47, 0x69, |
| 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, |
| 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x61, |
| 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, |
| 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x72, |
| 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, |
| 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x08, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x70, |
| 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, |
| 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, |
| 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x69, |
| 0x6e, 0x61, 0x72, 0x79, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, |
| 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, |
| 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x18, |
| 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, |
| 0x74, 0x4f, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x6f, 0x66, 0x18, |
| 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x4f, 0x66, 0x22, 0x54, |
| 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, |
| 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, |
| 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x69, |
| 0x6c, 0x64, 0x49, 0x64, 0x32, 0xfb, 0x04, 0x0a, 0x06, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, |
| 0x44, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1f, 0x2e, 0x62, 0x75, |
| 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, |
| 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, |
| 0x69, 0x6c, 0x64, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, |
| 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x69, |
| 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, |
| 0x63, 0x68, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x00, 0x12, 0x4e, |
| 0x0a, 0x0d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, |
| 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x00, 0x12, 0x4a, |
| 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x22, 0x2e, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x05, 0x42, 0x61, |
| 0x74, 0x63, 0x68, 0x12, 0x1c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x00, 0x12, 0x52, |
| 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x69, 0x6c, |
| 0x64, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, |
| 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x69, |
| 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, |
| 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x33, |
| } |
| |
| var ( |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescOnce sync.Once |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescData = file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDesc |
| ) |
| |
| func file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescGZIP() []byte { |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescOnce.Do(func() { |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescData) |
| }) |
| return file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDescData |
| } |
| |
| var file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) |
| var file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_goTypes = []interface{}{ |
| (*GetBuildRequest)(nil), // 0: buildbucket.v2.GetBuildRequest |
| (*SearchBuildsRequest)(nil), // 1: buildbucket.v2.SearchBuildsRequest |
| (*SearchBuildsResponse)(nil), // 2: buildbucket.v2.SearchBuildsResponse |
| (*BatchRequest)(nil), // 3: buildbucket.v2.BatchRequest |
| (*BatchResponse)(nil), // 4: buildbucket.v2.BatchResponse |
| (*UpdateBuildRequest)(nil), // 5: buildbucket.v2.UpdateBuildRequest |
| (*ScheduleBuildRequest)(nil), // 6: buildbucket.v2.ScheduleBuildRequest |
| (*CancelBuildRequest)(nil), // 7: buildbucket.v2.CancelBuildRequest |
| (*CreateBuildRequest)(nil), // 8: buildbucket.v2.CreateBuildRequest |
| (*SynthesizeBuildRequest)(nil), // 9: buildbucket.v2.SynthesizeBuildRequest |
| (*BuildMask)(nil), // 10: buildbucket.v2.BuildMask |
| (*BuildPredicate)(nil), // 11: buildbucket.v2.BuildPredicate |
| (*BuildRange)(nil), // 12: buildbucket.v2.BuildRange |
| (*BatchRequest_Request)(nil), // 13: buildbucket.v2.BatchRequest.Request |
| (*BatchResponse_Response)(nil), // 14: buildbucket.v2.BatchResponse.Response |
| nil, // 15: buildbucket.v2.ScheduleBuildRequest.ExperimentsEntry |
| (*ScheduleBuildRequest_Swarming)(nil), // 16: buildbucket.v2.ScheduleBuildRequest.Swarming |
| (*BuilderID)(nil), // 17: buildbucket.v2.BuilderID |
| (*fieldmaskpb.FieldMask)(nil), // 18: google.protobuf.FieldMask |
| (*Build)(nil), // 19: buildbucket.v2.Build |
| (Trinary)(0), // 20: buildbucket.v2.Trinary |
| (*structpb.Struct)(nil), // 21: google.protobuf.Struct |
| (*GitilesCommit)(nil), // 22: buildbucket.v2.GitilesCommit |
| (*GerritChange)(nil), // 23: buildbucket.v2.GerritChange |
| (*StringPair)(nil), // 24: buildbucket.v2.StringPair |
| (*RequestedDimension)(nil), // 25: buildbucket.v2.RequestedDimension |
| (*NotificationConfig)(nil), // 26: buildbucket.v2.NotificationConfig |
| (*Executable)(nil), // 27: buildbucket.v2.Executable |
| (*durationpb.Duration)(nil), // 28: google.protobuf.Duration |
| (*structmask.StructMask)(nil), // 29: structmask.StructMask |
| (Status)(0), // 30: buildbucket.v2.Status |
| (*TimeRange)(nil), // 31: buildbucket.v2.TimeRange |
| (*status.Status)(nil), // 32: google.rpc.Status |
| } |
| var file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_depIdxs = []int32{ |
| 17, // 0: buildbucket.v2.GetBuildRequest.builder:type_name -> buildbucket.v2.BuilderID |
| 18, // 1: buildbucket.v2.GetBuildRequest.fields:type_name -> google.protobuf.FieldMask |
| 10, // 2: buildbucket.v2.GetBuildRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 11, // 3: buildbucket.v2.SearchBuildsRequest.predicate:type_name -> buildbucket.v2.BuildPredicate |
| 18, // 4: buildbucket.v2.SearchBuildsRequest.fields:type_name -> google.protobuf.FieldMask |
| 10, // 5: buildbucket.v2.SearchBuildsRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 19, // 6: buildbucket.v2.SearchBuildsResponse.builds:type_name -> buildbucket.v2.Build |
| 13, // 7: buildbucket.v2.BatchRequest.requests:type_name -> buildbucket.v2.BatchRequest.Request |
| 14, // 8: buildbucket.v2.BatchResponse.responses:type_name -> buildbucket.v2.BatchResponse.Response |
| 19, // 9: buildbucket.v2.UpdateBuildRequest.build:type_name -> buildbucket.v2.Build |
| 18, // 10: buildbucket.v2.UpdateBuildRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 18, // 11: buildbucket.v2.UpdateBuildRequest.fields:type_name -> google.protobuf.FieldMask |
| 10, // 12: buildbucket.v2.UpdateBuildRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 17, // 13: buildbucket.v2.ScheduleBuildRequest.builder:type_name -> buildbucket.v2.BuilderID |
| 20, // 14: buildbucket.v2.ScheduleBuildRequest.canary:type_name -> buildbucket.v2.Trinary |
| 20, // 15: buildbucket.v2.ScheduleBuildRequest.experimental:type_name -> buildbucket.v2.Trinary |
| 15, // 16: buildbucket.v2.ScheduleBuildRequest.experiments:type_name -> buildbucket.v2.ScheduleBuildRequest.ExperimentsEntry |
| 21, // 17: buildbucket.v2.ScheduleBuildRequest.properties:type_name -> google.protobuf.Struct |
| 22, // 18: buildbucket.v2.ScheduleBuildRequest.gitiles_commit:type_name -> buildbucket.v2.GitilesCommit |
| 23, // 19: buildbucket.v2.ScheduleBuildRequest.gerrit_changes:type_name -> buildbucket.v2.GerritChange |
| 24, // 20: buildbucket.v2.ScheduleBuildRequest.tags:type_name -> buildbucket.v2.StringPair |
| 25, // 21: buildbucket.v2.ScheduleBuildRequest.dimensions:type_name -> buildbucket.v2.RequestedDimension |
| 26, // 22: buildbucket.v2.ScheduleBuildRequest.notify:type_name -> buildbucket.v2.NotificationConfig |
| 18, // 23: buildbucket.v2.ScheduleBuildRequest.fields:type_name -> google.protobuf.FieldMask |
| 10, // 24: buildbucket.v2.ScheduleBuildRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 20, // 25: buildbucket.v2.ScheduleBuildRequest.critical:type_name -> buildbucket.v2.Trinary |
| 27, // 26: buildbucket.v2.ScheduleBuildRequest.exe:type_name -> buildbucket.v2.Executable |
| 16, // 27: buildbucket.v2.ScheduleBuildRequest.swarming:type_name -> buildbucket.v2.ScheduleBuildRequest.Swarming |
| 28, // 28: buildbucket.v2.ScheduleBuildRequest.scheduling_timeout:type_name -> google.protobuf.Duration |
| 28, // 29: buildbucket.v2.ScheduleBuildRequest.execution_timeout:type_name -> google.protobuf.Duration |
| 28, // 30: buildbucket.v2.ScheduleBuildRequest.grace_period:type_name -> google.protobuf.Duration |
| 20, // 31: buildbucket.v2.ScheduleBuildRequest.can_outlive_parent:type_name -> buildbucket.v2.Trinary |
| 18, // 32: buildbucket.v2.CancelBuildRequest.fields:type_name -> google.protobuf.FieldMask |
| 10, // 33: buildbucket.v2.CancelBuildRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 19, // 34: buildbucket.v2.CreateBuildRequest.build:type_name -> buildbucket.v2.Build |
| 10, // 35: buildbucket.v2.CreateBuildRequest.mask:type_name -> buildbucket.v2.BuildMask |
| 17, // 36: buildbucket.v2.SynthesizeBuildRequest.builder:type_name -> buildbucket.v2.BuilderID |
| 18, // 37: buildbucket.v2.BuildMask.fields:type_name -> google.protobuf.FieldMask |
| 29, // 38: buildbucket.v2.BuildMask.input_properties:type_name -> structmask.StructMask |
| 29, // 39: buildbucket.v2.BuildMask.output_properties:type_name -> structmask.StructMask |
| 29, // 40: buildbucket.v2.BuildMask.requested_properties:type_name -> structmask.StructMask |
| 30, // 41: buildbucket.v2.BuildMask.step_status:type_name -> buildbucket.v2.Status |
| 17, // 42: buildbucket.v2.BuildPredicate.builder:type_name -> buildbucket.v2.BuilderID |
| 30, // 43: buildbucket.v2.BuildPredicate.status:type_name -> buildbucket.v2.Status |
| 23, // 44: buildbucket.v2.BuildPredicate.gerrit_changes:type_name -> buildbucket.v2.GerritChange |
| 22, // 45: buildbucket.v2.BuildPredicate.output_gitiles_commit:type_name -> buildbucket.v2.GitilesCommit |
| 24, // 46: buildbucket.v2.BuildPredicate.tags:type_name -> buildbucket.v2.StringPair |
| 31, // 47: buildbucket.v2.BuildPredicate.create_time:type_name -> buildbucket.v2.TimeRange |
| 12, // 48: buildbucket.v2.BuildPredicate.build:type_name -> buildbucket.v2.BuildRange |
| 20, // 49: buildbucket.v2.BuildPredicate.canary:type_name -> buildbucket.v2.Trinary |
| 0, // 50: buildbucket.v2.BatchRequest.Request.get_build:type_name -> buildbucket.v2.GetBuildRequest |
| 1, // 51: buildbucket.v2.BatchRequest.Request.search_builds:type_name -> buildbucket.v2.SearchBuildsRequest |
| 6, // 52: buildbucket.v2.BatchRequest.Request.schedule_build:type_name -> buildbucket.v2.ScheduleBuildRequest |
| 7, // 53: buildbucket.v2.BatchRequest.Request.cancel_build:type_name -> buildbucket.v2.CancelBuildRequest |
| 19, // 54: buildbucket.v2.BatchResponse.Response.get_build:type_name -> buildbucket.v2.Build |
| 2, // 55: buildbucket.v2.BatchResponse.Response.search_builds:type_name -> buildbucket.v2.SearchBuildsResponse |
| 19, // 56: buildbucket.v2.BatchResponse.Response.schedule_build:type_name -> buildbucket.v2.Build |
| 19, // 57: buildbucket.v2.BatchResponse.Response.cancel_build:type_name -> buildbucket.v2.Build |
| 32, // 58: buildbucket.v2.BatchResponse.Response.error:type_name -> google.rpc.Status |
| 0, // 59: buildbucket.v2.Builds.GetBuild:input_type -> buildbucket.v2.GetBuildRequest |
| 1, // 60: buildbucket.v2.Builds.SearchBuilds:input_type -> buildbucket.v2.SearchBuildsRequest |
| 5, // 61: buildbucket.v2.Builds.UpdateBuild:input_type -> buildbucket.v2.UpdateBuildRequest |
| 6, // 62: buildbucket.v2.Builds.ScheduleBuild:input_type -> buildbucket.v2.ScheduleBuildRequest |
| 7, // 63: buildbucket.v2.Builds.CancelBuild:input_type -> buildbucket.v2.CancelBuildRequest |
| 3, // 64: buildbucket.v2.Builds.Batch:input_type -> buildbucket.v2.BatchRequest |
| 8, // 65: buildbucket.v2.Builds.CreateBuild:input_type -> buildbucket.v2.CreateBuildRequest |
| 9, // 66: buildbucket.v2.Builds.SynthesizeBuild:input_type -> buildbucket.v2.SynthesizeBuildRequest |
| 19, // 67: buildbucket.v2.Builds.GetBuild:output_type -> buildbucket.v2.Build |
| 2, // 68: buildbucket.v2.Builds.SearchBuilds:output_type -> buildbucket.v2.SearchBuildsResponse |
| 19, // 69: buildbucket.v2.Builds.UpdateBuild:output_type -> buildbucket.v2.Build |
| 19, // 70: buildbucket.v2.Builds.ScheduleBuild:output_type -> buildbucket.v2.Build |
| 19, // 71: buildbucket.v2.Builds.CancelBuild:output_type -> buildbucket.v2.Build |
| 4, // 72: buildbucket.v2.Builds.Batch:output_type -> buildbucket.v2.BatchResponse |
| 19, // 73: buildbucket.v2.Builds.CreateBuild:output_type -> buildbucket.v2.Build |
| 19, // 74: buildbucket.v2.Builds.SynthesizeBuild:output_type -> buildbucket.v2.Build |
| 67, // [67:75] is the sub-list for method output_type |
| 59, // [59:67] is the sub-list for method input_type |
| 59, // [59:59] is the sub-list for extension type_name |
| 59, // [59:59] is the sub-list for extension extendee |
| 0, // [0:59] is the sub-list for field type_name |
| } |
| |
| func init() { file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_init() } |
| func file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_init() { |
| if File_go_chromium_org_luci_buildbucket_proto_builds_service_proto != nil { |
| return |
| } |
| file_go_chromium_org_luci_buildbucket_proto_build_proto_init() |
| file_go_chromium_org_luci_buildbucket_proto_builder_common_proto_init() |
| file_go_chromium_org_luci_buildbucket_proto_common_proto_init() |
| file_go_chromium_org_luci_buildbucket_proto_notification_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchBuildsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchBuildsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ScheduleBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CancelBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SynthesizeBuildRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BuildMask); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BuildPredicate); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BuildRange); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRequest_Request); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchResponse_Response); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ScheduleBuildRequest_Swarming); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[13].OneofWrappers = []interface{}{ |
| (*BatchRequest_Request_GetBuild)(nil), |
| (*BatchRequest_Request_SearchBuilds)(nil), |
| (*BatchRequest_Request_ScheduleBuild)(nil), |
| (*BatchRequest_Request_CancelBuild)(nil), |
| } |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes[14].OneofWrappers = []interface{}{ |
| (*BatchResponse_Response_GetBuild)(nil), |
| (*BatchResponse_Response_SearchBuilds)(nil), |
| (*BatchResponse_Response_ScheduleBuild)(nil), |
| (*BatchResponse_Response_CancelBuild)(nil), |
| (*BatchResponse_Response_Error)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDesc, |
| NumEnums: 0, |
| NumMessages: 17, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_goTypes, |
| DependencyIndexes: file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_depIdxs, |
| MessageInfos: file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_msgTypes, |
| }.Build() |
| File_go_chromium_org_luci_buildbucket_proto_builds_service_proto = out.File |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_rawDesc = nil |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_goTypes = nil |
| file_go_chromium_org_luci_buildbucket_proto_builds_service_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // BuildsClient is the client API for Builds service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type BuildsClient interface { |
| // Gets a build. |
| // |
| // By default the returned build does not include all fields. |
| // See GetBuildRequest.mask. |
| // |
| // Buildbot: if the specified build is a buildbot build, converts it to Build |
| // message with the following rules: |
| // * bucket names are full, e.g. "luci.infra.try". Note that LUCI buckets |
| // in v2 are shortened, e.g. "try". |
| // * if a v2 Build field does not make sense in V1, it is unset/empty. |
| // * step support is not implemented for Buildbot builds. |
| // Note that it does not support getting a buildbot build by build number. |
| // Examples: go/buildbucket-rpc#getbuild |
| GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| // Searches for builds. |
| // Examples: go/buildbucket-rpc#searchbuilds |
| SearchBuilds(ctx context.Context, in *SearchBuildsRequest, opts ...grpc.CallOption) (*SearchBuildsResponse, error) |
| // Updates a build. |
| // |
| // RPC metadata must include "x-buildbucket-token" key with a token |
| // generated by the server when scheduling the build. |
| UpdateBuild(ctx context.Context, in *UpdateBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| // Schedules a new build. |
| // The requester must have at least SCHEDULER role in the destination bucket. |
| // Example: go/buildbucket-rpc#schedulebuild |
| ScheduleBuild(ctx context.Context, in *ScheduleBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| // Cancels a build. |
| // The requester must have at least SCHEDULER role in the destination bucket. |
| // Note that cancelling a build in ended state (meaning build is not in |
| // STATUS_UNSPECIFIED, SCHEDULED or STARTED status) will be a no-op and |
| // directly return up-to-date Build message. |
| // |
| // When called, Buildbucket will set the build's cancelTime to "now". It |
| // will also recursively start the cancellation process for any children of |
| // this build which are marked as can_outlive_parent=false. |
| // |
| // The next time the build checks in (which happens periodically in |
| // `bbagent`), bbagent will see the cancelTime, and start the cancellation |
| // process described by the 'deadline' section in |
| // https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md. |
| // |
| // If the build ends before the build's grace_period, then the final status |
| // reported from the build is accepted; this is considered 'graceful termination'. |
| // |
| // If the build doesn't end within the build's grace_period, Buildbucket will |
| // forcibly cancel the build. |
| CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| // Executes multiple requests in a batch. |
| // The response code is always OK. |
| // Examples: go/buildbucket-rpc#batch |
| Batch(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*BatchResponse, error) |
| // Creates a new build for the provided build proto. |
| // |
| // If build with the given ID already exists, returns ALREADY_EXISTS |
| // error code. |
| CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| // Synthesizes a build proto. |
| // |
| // This RPC is exclusively for generating led builds. |
| SynthesizeBuild(ctx context.Context, in *SynthesizeBuildRequest, opts ...grpc.CallOption) (*Build, error) |
| } |
| type buildsPRPCClient struct { |
| client *prpc.Client |
| } |
| |
| func NewBuildsPRPCClient(client *prpc.Client) BuildsClient { |
| return &buildsPRPCClient{client} |
| } |
| |
| func (c *buildsPRPCClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "GetBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) SearchBuilds(ctx context.Context, in *SearchBuildsRequest, opts ...grpc.CallOption) (*SearchBuildsResponse, error) { |
| out := new(SearchBuildsResponse) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "SearchBuilds", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) UpdateBuild(ctx context.Context, in *UpdateBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "UpdateBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) ScheduleBuild(ctx context.Context, in *ScheduleBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "ScheduleBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "CancelBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) Batch(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*BatchResponse, error) { |
| out := new(BatchResponse) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "Batch", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "CreateBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsPRPCClient) SynthesizeBuild(ctx context.Context, in *SynthesizeBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.client.Call(ctx, "buildbucket.v2.Builds", "SynthesizeBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| type buildsClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewBuildsClient(cc grpc.ClientConnInterface) BuildsClient { |
| return &buildsClient{cc} |
| } |
| |
| func (c *buildsClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/GetBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) SearchBuilds(ctx context.Context, in *SearchBuildsRequest, opts ...grpc.CallOption) (*SearchBuildsResponse, error) { |
| out := new(SearchBuildsResponse) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/SearchBuilds", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) UpdateBuild(ctx context.Context, in *UpdateBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/UpdateBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) ScheduleBuild(ctx context.Context, in *ScheduleBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/ScheduleBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/CancelBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) Batch(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*BatchResponse, error) { |
| out := new(BatchResponse) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/Batch", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/CreateBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *buildsClient) SynthesizeBuild(ctx context.Context, in *SynthesizeBuildRequest, opts ...grpc.CallOption) (*Build, error) { |
| out := new(Build) |
| err := c.cc.Invoke(ctx, "/buildbucket.v2.Builds/SynthesizeBuild", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // BuildsServer is the server API for Builds service. |
| type BuildsServer interface { |
| // Gets a build. |
| // |
| // By default the returned build does not include all fields. |
| // See GetBuildRequest.mask. |
| // |
| // Buildbot: if the specified build is a buildbot build, converts it to Build |
| // message with the following rules: |
| // * bucket names are full, e.g. "luci.infra.try". Note that LUCI buckets |
| // in v2 are shortened, e.g. "try". |
| // * if a v2 Build field does not make sense in V1, it is unset/empty. |
| // * step support is not implemented for Buildbot builds. |
| // Note that it does not support getting a buildbot build by build number. |
| // Examples: go/buildbucket-rpc#getbuild |
| GetBuild(context.Context, *GetBuildRequest) (*Build, error) |
| // Searches for builds. |
| // Examples: go/buildbucket-rpc#searchbuilds |
| SearchBuilds(context.Context, *SearchBuildsRequest) (*SearchBuildsResponse, error) |
| // Updates a build. |
| // |
| // RPC metadata must include "x-buildbucket-token" key with a token |
| // generated by the server when scheduling the build. |
| UpdateBuild(context.Context, *UpdateBuildRequest) (*Build, error) |
| // Schedules a new build. |
| // The requester must have at least SCHEDULER role in the destination bucket. |
| // Example: go/buildbucket-rpc#schedulebuild |
| ScheduleBuild(context.Context, *ScheduleBuildRequest) (*Build, error) |
| // Cancels a build. |
| // The requester must have at least SCHEDULER role in the destination bucket. |
| // Note that cancelling a build in ended state (meaning build is not in |
| // STATUS_UNSPECIFIED, SCHEDULED or STARTED status) will be a no-op and |
| // directly return up-to-date Build message. |
| // |
| // When called, Buildbucket will set the build's cancelTime to "now". It |
| // will also recursively start the cancellation process for any children of |
| // this build which are marked as can_outlive_parent=false. |
| // |
| // The next time the build checks in (which happens periodically in |
| // `bbagent`), bbagent will see the cancelTime, and start the cancellation |
| // process described by the 'deadline' section in |
| // https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md. |
| // |
| // If the build ends before the build's grace_period, then the final status |
| // reported from the build is accepted; this is considered 'graceful termination'. |
| // |
| // If the build doesn't end within the build's grace_period, Buildbucket will |
| // forcibly cancel the build. |
| CancelBuild(context.Context, *CancelBuildRequest) (*Build, error) |
| // Executes multiple requests in a batch. |
| // The response code is always OK. |
| // Examples: go/buildbucket-rpc#batch |
| Batch(context.Context, *BatchRequest) (*BatchResponse, error) |
| // Creates a new build for the provided build proto. |
| // |
| // If build with the given ID already exists, returns ALREADY_EXISTS |
| // error code. |
| CreateBuild(context.Context, *CreateBuildRequest) (*Build, error) |
| // Synthesizes a build proto. |
| // |
| // This RPC is exclusively for generating led builds. |
| SynthesizeBuild(context.Context, *SynthesizeBuildRequest) (*Build, error) |
| } |
| |
| // UnimplementedBuildsServer can be embedded to have forward compatible implementations. |
| type UnimplementedBuildsServer struct { |
| } |
| |
| func (*UnimplementedBuildsServer) GetBuild(context.Context, *GetBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetBuild not implemented") |
| } |
| func (*UnimplementedBuildsServer) SearchBuilds(context.Context, *SearchBuildsRequest) (*SearchBuildsResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method SearchBuilds not implemented") |
| } |
| func (*UnimplementedBuildsServer) UpdateBuild(context.Context, *UpdateBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdateBuild not implemented") |
| } |
| func (*UnimplementedBuildsServer) ScheduleBuild(context.Context, *ScheduleBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ScheduleBuild not implemented") |
| } |
| func (*UnimplementedBuildsServer) CancelBuild(context.Context, *CancelBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CancelBuild not implemented") |
| } |
| func (*UnimplementedBuildsServer) Batch(context.Context, *BatchRequest) (*BatchResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method Batch not implemented") |
| } |
| func (*UnimplementedBuildsServer) CreateBuild(context.Context, *CreateBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CreateBuild not implemented") |
| } |
| func (*UnimplementedBuildsServer) SynthesizeBuild(context.Context, *SynthesizeBuildRequest) (*Build, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method SynthesizeBuild not implemented") |
| } |
| |
| func RegisterBuildsServer(s prpc.Registrar, srv BuildsServer) { |
| s.RegisterService(&_Builds_serviceDesc, srv) |
| } |
| |
| func _Builds_GetBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).GetBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/GetBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).GetBuild(ctx, req.(*GetBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_SearchBuilds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(SearchBuildsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).SearchBuilds(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/SearchBuilds", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).SearchBuilds(ctx, req.(*SearchBuildsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_UpdateBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).UpdateBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/UpdateBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).UpdateBuild(ctx, req.(*UpdateBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_ScheduleBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ScheduleBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).ScheduleBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/ScheduleBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).ScheduleBuild(ctx, req.(*ScheduleBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_CancelBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CancelBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).CancelBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/CancelBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).CancelBuild(ctx, req.(*CancelBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_Batch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(BatchRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).Batch(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/Batch", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).Batch(ctx, req.(*BatchRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_CreateBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).CreateBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/CreateBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).CreateBuild(ctx, req.(*CreateBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Builds_SynthesizeBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(SynthesizeBuildRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(BuildsServer).SynthesizeBuild(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/buildbucket.v2.Builds/SynthesizeBuild", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(BuildsServer).SynthesizeBuild(ctx, req.(*SynthesizeBuildRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _Builds_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "buildbucket.v2.Builds", |
| HandlerType: (*BuildsServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "GetBuild", |
| Handler: _Builds_GetBuild_Handler, |
| }, |
| { |
| MethodName: "SearchBuilds", |
| Handler: _Builds_SearchBuilds_Handler, |
| }, |
| { |
| MethodName: "UpdateBuild", |
| Handler: _Builds_UpdateBuild_Handler, |
| }, |
| { |
| MethodName: "ScheduleBuild", |
| Handler: _Builds_ScheduleBuild_Handler, |
| }, |
| { |
| MethodName: "CancelBuild", |
| Handler: _Builds_CancelBuild_Handler, |
| }, |
| { |
| MethodName: "Batch", |
| Handler: _Builds_Batch_Handler, |
| }, |
| { |
| MethodName: "CreateBuild", |
| Handler: _Builds_CreateBuild_Handler, |
| }, |
| { |
| MethodName: "SynthesizeBuild", |
| Handler: _Builds_SynthesizeBuild_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "go.chromium.org/luci/buildbucket/proto/builds_service.proto", |
| } |