blob: 98783fe87661932ccbde44d23ec8d427f444f257 [file] [log] [blame]
// Code generated by protoc-gen-go.
// source: project_config.proto
// DO NOT EDIT!
/*
Package buildbucket is a generated protocol buffer package.
It is generated from these files:
project_config.proto
It has these top-level messages:
Acl
Swarming
Bucket
BuildbucketCfg
*/
package buildbucket
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type Acl_Role int32
const (
// Can do read-only operations, such as search for builds.
Acl_READER Acl_Role = 0
// Same as READER + can schedule and cancel builds.
Acl_SCHEDULER Acl_Role = 1
// Can do all write operations.
Acl_WRITER Acl_Role = 2
)
var Acl_Role_name = map[int32]string{
0: "READER",
1: "SCHEDULER",
2: "WRITER",
}
var Acl_Role_value = map[string]int32{
"READER": 0,
"SCHEDULER": 1,
"WRITER": 2,
}
func (x Acl_Role) Enum() *Acl_Role {
p := new(Acl_Role)
*p = x
return p
}
func (x Acl_Role) String() string {
return proto.EnumName(Acl_Role_name, int32(x))
}
func (x *Acl_Role) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Acl_Role_value, data, "Acl_Role")
if err != nil {
return err
}
*x = Acl_Role(value)
return nil
}
func (Acl_Role) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
// A single access control rule.
type Acl struct {
// Role denotes a list of actions that an identity can perform.
Role *Acl_Role `protobuf:"varint,1,opt,name=role,enum=buildbucket.Acl_Role" json:"role,omitempty"`
// Name of the group defined in the auth service.
Group *string `protobuf:"bytes,2,opt,name=group" json:"group,omitempty"`
// An email address or a full identity string "kind:name". See auth service
// on kinds of identities. Anonymous users are "anonymous:anonymous".
// Either identity or group must be present, not both.
Identity *string `protobuf:"bytes,3,opt,name=identity" json:"identity,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Acl) Reset() { *m = Acl{} }
func (m *Acl) String() string { return proto.CompactTextString(m) }
func (*Acl) ProtoMessage() {}
func (*Acl) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *Acl) GetRole() Acl_Role {
if m != nil && m.Role != nil {
return *m.Role
}
return Acl_READER
}
func (m *Acl) GetGroup() string {
if m != nil && m.Group != nil {
return *m.Group
}
return ""
}
func (m *Acl) GetIdentity() string {
if m != nil && m.Identity != nil {
return *m.Identity
}
return ""
}
// Configuration of buildbucket-swarming integration for one bucket.
type Swarming struct {
// Hostname of the swarming instance, e.g. "chromium-swarm.appspot.com".
Hostname *string `protobuf:"bytes,1,opt,name=hostname" json:"hostname,omitempty"`
// Used to generate a URL for Build, may contain parameters
// {swarming_hostname}, {task_id}, {bucket} and {builder}. Defaults to:
// https://{swarming_hostname}/user/task/{task_id}
UrlFormat *string `protobuf:"bytes,2,opt,name=url_format,json=urlFormat" json:"url_format,omitempty"`
// Defines default values for builders.
BuilderDefaults *Swarming_Builder `protobuf:"bytes,9,opt,name=builder_defaults,json=builderDefaults" json:"builder_defaults,omitempty"`
// DEPRECATED: use builder_defaults.
// Will be put to all swarming tasks.
CommonSwarmingTags []string `protobuf:"bytes,3,rep,name=common_swarming_tags,json=commonSwarmingTags" json:"common_swarming_tags,omitempty"`
// DEPRECATED: use builder_defaults.
// Colon-delimited key-value pair of common task dimensions.
//
// If value is not specified ("<key>:"), then it excludes a value for the
// same key specified in swarming task template.
CommonDimensions []string `protobuf:"bytes,4,rep,name=common_dimensions,json=commonDimensions" json:"common_dimensions,omitempty"`
// Configuration for each builder.
// Swarming tasks are created only for builds for builders that are not
// explicitly specified.
Builders []*Swarming_Builder `protobuf:"bytes,5,rep,name=builders" json:"builders,omitempty"`
// DEPRECATED: use builder_defaults.
// Defines a default recipe for all builders in this bucket.
// A builder may override it or parts of it with something else.
CommonRecipe *Swarming_Recipe `protobuf:"bytes,6,opt,name=common_recipe,json=commonRecipe" json:"common_recipe,omitempty"`
// DEPRECATED: use builder_defaults.
// Maximum build execution time. Not to be confused with pending time.
// If not set, defaults to server defaults.
CommonExecutionTimeoutSecs *uint32 `protobuf:"varint,7,opt,name=common_execution_timeout_secs,json=commonExecutionTimeoutSecs" json:"common_execution_timeout_secs,omitempty"`
// Percentage of builds that should use a canary swarming task template.
// A value from 0 to 100.
TaskTemplateCanaryPercentage *uint32 `protobuf:"varint,8,opt,name=task_template_canary_percentage,json=taskTemplateCanaryPercentage" json:"task_template_canary_percentage,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Swarming) Reset() { *m = Swarming{} }
func (m *Swarming) String() string { return proto.CompactTextString(m) }
func (*Swarming) ProtoMessage() {}
func (*Swarming) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *Swarming) GetHostname() string {
if m != nil && m.Hostname != nil {
return *m.Hostname
}
return ""
}
func (m *Swarming) GetUrlFormat() string {
if m != nil && m.UrlFormat != nil {
return *m.UrlFormat
}
return ""
}
func (m *Swarming) GetBuilderDefaults() *Swarming_Builder {
if m != nil {
return m.BuilderDefaults
}
return nil
}
func (m *Swarming) GetCommonSwarmingTags() []string {
if m != nil {
return m.CommonSwarmingTags
}
return nil
}
func (m *Swarming) GetCommonDimensions() []string {
if m != nil {
return m.CommonDimensions
}
return nil
}
func (m *Swarming) GetBuilders() []*Swarming_Builder {
if m != nil {
return m.Builders
}
return nil
}
func (m *Swarming) GetCommonRecipe() *Swarming_Recipe {
if m != nil {
return m.CommonRecipe
}
return nil
}
func (m *Swarming) GetCommonExecutionTimeoutSecs() uint32 {
if m != nil && m.CommonExecutionTimeoutSecs != nil {
return *m.CommonExecutionTimeoutSecs
}
return 0
}
func (m *Swarming) GetTaskTemplateCanaryPercentage() uint32 {
if m != nil && m.TaskTemplateCanaryPercentage != nil {
return *m.TaskTemplateCanaryPercentage
}
return 0
}
type Swarming_Recipe struct {
// Repository URL of the recipe package.
Repository *string `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
// Name of the recipe to run.
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
// colon-separated build properties to set.
// A property can be overriden by "properties" build parameter.
//
// Use this field for string properties and use properties_j for other
// types.
Properties []string `protobuf:"bytes,3,rep,name=properties" json:"properties,omitempty"`
// Same as properties, but the value must valid JSON. For example
// properties_j: "a:1"
// means property a is a number 1, not string "1".
//
// If null, it means no property must be defined. In particular, it removes
// a default value for the property, if any.
//
// Fields properties and properties_j can be used together, but cannot both
// specify values for same property.
PropertiesJ []string `protobuf:"bytes,4,rep,name=properties_j,json=propertiesJ" json:"properties_j,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Swarming_Recipe) Reset() { *m = Swarming_Recipe{} }
func (m *Swarming_Recipe) String() string { return proto.CompactTextString(m) }
func (*Swarming_Recipe) ProtoMessage() {}
func (*Swarming_Recipe) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
func (m *Swarming_Recipe) GetRepository() string {
if m != nil && m.Repository != nil {
return *m.Repository
}
return ""
}
func (m *Swarming_Recipe) GetName() string {
if m != nil && m.Name != nil {
return *m.Name
}
return ""
}
func (m *Swarming_Recipe) GetProperties() []string {
if m != nil {
return m.Properties
}
return nil
}
func (m *Swarming_Recipe) GetPropertiesJ() []string {
if m != nil {
return m.PropertiesJ
}
return nil
}
// A builder has a name, a category and specifies what should happen if a
// build is scheduled to that builder.
//
// SECURITY WARNING: if adding more fields to this message, keep in mind that
// a user that has permissions to schedule a build to the bucket, can override
// this config.
type Swarming_Builder struct {
// Name of the builder. Will be propagated to "builder" build tag and
// "buildername" recipe property.
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// Builder category. Will be used for visual grouping, for example in Code Review.
Category *string `protobuf:"bytes,6,opt,name=category" json:"category,omitempty"`
// Will be become to swarming task tags.
// Each tag will end up in "swarming_tag" buildbucket tag, for example
// "swarming_tag:builder:release"
SwarmingTags []string `protobuf:"bytes,2,rep,name=swarming_tags,json=swarmingTags" json:"swarming_tags,omitempty"`
// Colon-delimited key-value pair of task dimensions.
//
// If value is not specified ("<key>:"), then it excludes a default value.
Dimensions []string `protobuf:"bytes,3,rep,name=dimensions" json:"dimensions,omitempty"`
// Specifies that a recipe to run.
Recipe *Swarming_Recipe `protobuf:"bytes,4,opt,name=recipe" json:"recipe,omitempty"`
// Swarming task priority.
Priority *uint32 `protobuf:"varint,5,opt,name=priority" json:"priority,omitempty"`
// Maximum build execution time. Not to be confused with pending time.
ExecutionTimeoutSecs *uint32 `protobuf:"varint,7,opt,name=execution_timeout_secs,json=executionTimeoutSecs" json:"execution_timeout_secs,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Swarming_Builder) Reset() { *m = Swarming_Builder{} }
func (m *Swarming_Builder) String() string { return proto.CompactTextString(m) }
func (*Swarming_Builder) ProtoMessage() {}
func (*Swarming_Builder) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 1} }
func (m *Swarming_Builder) GetName() string {
if m != nil && m.Name != nil {
return *m.Name
}
return ""
}
func (m *Swarming_Builder) GetCategory() string {
if m != nil && m.Category != nil {
return *m.Category
}
return ""
}
func (m *Swarming_Builder) GetSwarmingTags() []string {
if m != nil {
return m.SwarmingTags
}
return nil
}
func (m *Swarming_Builder) GetDimensions() []string {
if m != nil {
return m.Dimensions
}
return nil
}
func (m *Swarming_Builder) GetRecipe() *Swarming_Recipe {
if m != nil {
return m.Recipe
}
return nil
}
func (m *Swarming_Builder) GetPriority() uint32 {
if m != nil && m.Priority != nil {
return *m.Priority
}
return 0
}
func (m *Swarming_Builder) GetExecutionTimeoutSecs() uint32 {
if m != nil && m.ExecutionTimeoutSecs != nil {
return *m.ExecutionTimeoutSecs
}
return 0
}
// Defines one bucket in buildbucket.cfg
type Bucket struct {
// Name of the bucket. Names are unique within one instance of buildbucket.
// If another project already uses this name, a config will be rejected.
// Name reservation is first-come first-serve.
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// List of access control rules for the bucket.
Acls []*Acl `protobuf:"bytes,2,rep,name=acls" json:"acls,omitempty"`
// Buildbucket-swarming integration.
Swarming *Swarming `protobuf:"bytes,3,opt,name=swarming" json:"swarming,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Bucket) Reset() { *m = Bucket{} }
func (m *Bucket) String() string { return proto.CompactTextString(m) }
func (*Bucket) ProtoMessage() {}
func (*Bucket) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *Bucket) GetName() string {
if m != nil && m.Name != nil {
return *m.Name
}
return ""
}
func (m *Bucket) GetAcls() []*Acl {
if m != nil {
return m.Acls
}
return nil
}
func (m *Bucket) GetSwarming() *Swarming {
if m != nil {
return m.Swarming
}
return nil
}
// Schema of buildbucket.cfg file, a project config.
type BuildbucketCfg struct {
// All buckets defined for this project.
Buckets []*Bucket `protobuf:"bytes,1,rep,name=buckets" json:"buckets,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *BuildbucketCfg) Reset() { *m = BuildbucketCfg{} }
func (m *BuildbucketCfg) String() string { return proto.CompactTextString(m) }
func (*BuildbucketCfg) ProtoMessage() {}
func (*BuildbucketCfg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *BuildbucketCfg) GetBuckets() []*Bucket {
if m != nil {
return m.Buckets
}
return nil
}
func init() {
proto.RegisterType((*Acl)(nil), "buildbucket.Acl")
proto.RegisterType((*Swarming)(nil), "buildbucket.Swarming")
proto.RegisterType((*Swarming_Recipe)(nil), "buildbucket.Swarming.Recipe")
proto.RegisterType((*Swarming_Builder)(nil), "buildbucket.Swarming.Builder")
proto.RegisterType((*Bucket)(nil), "buildbucket.Bucket")
proto.RegisterType((*BuildbucketCfg)(nil), "buildbucket.BuildbucketCfg")
proto.RegisterEnum("buildbucket.Acl_Role", Acl_Role_name, Acl_Role_value)
}
func init() { proto.RegisterFile("project_config.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 616 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0x4b, 0x6f, 0xd3, 0x40,
0x10, 0xc7, 0x49, 0x9a, 0xe6, 0x31, 0x69, 0x4a, 0x58, 0x02, 0xb2, 0xa2, 0x96, 0x47, 0xe0, 0x00,
0x42, 0x8d, 0xa0, 0xe2, 0xc2, 0x09, 0xb5, 0x4d, 0x50, 0x41, 0x1c, 0xd0, 0x36, 0x88, 0xa3, 0xe5,
0x6e, 0x36, 0xc6, 0xad, 0xed, 0xb5, 0x76, 0xd7, 0x82, 0x9e, 0xe0, 0xc4, 0x9d, 0x6f, 0xcc, 0x78,
0x77, 0xed, 0xb8, 0x55, 0x04, 0xdc, 0x32, 0x33, 0xbf, 0x99, 0xf9, 0x8f, 0x67, 0xb2, 0x30, 0xca,
0xa4, 0xb8, 0xe0, 0x4c, 0xfb, 0x4c, 0xa4, 0xab, 0x28, 0x9c, 0xa2, 0xa9, 0x05, 0xe9, 0x9f, 0xe7,
0x51, 0xbc, 0x3c, 0xcf, 0xd9, 0x25, 0xd7, 0x93, 0xdf, 0x0d, 0xd8, 0x3a, 0x62, 0x31, 0x79, 0x0e,
0x2d, 0x29, 0x62, 0xee, 0x35, 0x1e, 0x35, 0x9e, 0xed, 0x1e, 0xde, 0x9b, 0xd6, 0x98, 0x29, 0xc6,
0xa7, 0x14, 0x83, 0xd4, 0x20, 0x64, 0x04, 0xdb, 0xa1, 0x14, 0x79, 0xe6, 0x35, 0x91, 0xed, 0x51,
0x6b, 0x90, 0x31, 0x74, 0xa3, 0x25, 0x4f, 0x75, 0xa4, 0xaf, 0xbc, 0x2d, 0x13, 0xa8, 0xec, 0xc9,
0x01, 0xb4, 0x8a, 0x7c, 0x02, 0xd0, 0xa6, 0xf3, 0xa3, 0xd9, 0x9c, 0x0e, 0x6f, 0x91, 0x01, 0xf4,
0xce, 0x4e, 0x4e, 0xe7, 0xb3, 0xcf, 0x1f, 0xd1, 0x6c, 0x14, 0xa1, 0x2f, 0xf4, 0xfd, 0x02, 0x7f,
0x37, 0x27, 0x3f, 0x3b, 0xd0, 0x3d, 0xfb, 0x16, 0xc8, 0x24, 0x4a, 0xc3, 0xa2, 0xee, 0x57, 0xa1,
0x74, 0x1a, 0x24, 0x56, 0x1c, 0xd6, 0x2d, 0x6d, 0xb2, 0x0f, 0x90, 0xcb, 0xd8, 0x5f, 0x09, 0x99,
0x04, 0xda, 0xc9, 0xe9, 0xa1, 0xe7, 0x9d, 0x71, 0x90, 0x53, 0x18, 0x9a, 0x31, 0xb8, 0xf4, 0x97,
0x7c, 0x15, 0xe4, 0xb1, 0x56, 0x5e, 0x0f, 0xa1, 0xfe, 0xe1, 0xfe, 0xb5, 0xf9, 0xca, 0x5e, 0xd3,
0x63, 0x4b, 0xd3, 0xdb, 0x2e, 0x6d, 0xe6, 0xb2, 0xc8, 0x4b, 0x18, 0x31, 0x91, 0x24, 0x22, 0xf5,
0x95, 0x63, 0x7d, 0x1d, 0x84, 0x0a, 0x07, 0xdd, 0xc2, 0x96, 0xc4, 0xc6, 0xca, 0x32, 0x0b, 0x8c,
0x90, 0x17, 0x70, 0xc7, 0x65, 0x2c, 0xa3, 0x84, 0xa7, 0x2a, 0x12, 0xa9, 0xf2, 0x5a, 0x06, 0x1f,
0xda, 0xc0, 0xac, 0xf2, 0x93, 0x37, 0xd0, 0x75, 0x1d, 0x95, 0xb7, 0x8d, 0xcc, 0x3f, 0x05, 0x56,
0x38, 0x39, 0x82, 0x81, 0xeb, 0x23, 0x39, 0x8b, 0x32, 0xee, 0xb5, 0xcd, 0x80, 0x7b, 0x9b, 0xf3,
0xa9, 0x61, 0xe8, 0x8e, 0x4d, 0xb1, 0x16, 0x96, 0xd8, 0x77, 0x25, 0xf8, 0x77, 0xce, 0x72, 0x8d,
0x92, 0x7c, 0x8d, 0xe2, 0x44, 0xae, 0x7d, 0xc5, 0x99, 0xf2, 0x3a, 0x58, 0x72, 0x40, 0xc7, 0x16,
0x9a, 0x97, 0xcc, 0xc2, 0x22, 0x67, 0x48, 0x90, 0x39, 0x3c, 0xd4, 0x81, 0xba, 0xf4, 0x35, 0x4f,
0xb2, 0x38, 0xd0, 0xdc, 0x67, 0x41, 0x1a, 0xc8, 0x2b, 0x3f, 0xe3, 0x92, 0xe1, 0x0d, 0x04, 0x21,
0xf7, 0xba, 0xa6, 0xc8, 0x5e, 0x81, 0x2d, 0x1c, 0x75, 0x62, 0xa0, 0x4f, 0x15, 0x33, 0xfe, 0x81,
0xf7, 0x61, 0x35, 0x3d, 0x00, 0x90, 0x3c, 0x13, 0x2a, 0xd2, 0x42, 0x5e, 0xb9, 0xbd, 0xd7, 0x3c,
0x84, 0x40, 0xcb, 0x5c, 0x84, 0xdd, 0xb9, 0xf9, 0x5d, 0xe4, 0xe0, 0x81, 0x63, 0x4b, 0x1d, 0xf1,
0x72, 0x35, 0x35, 0x0f, 0x79, 0x0c, 0x3b, 0x6b, 0xcb, 0xbf, 0x70, 0xdb, 0xe8, 0xaf, 0x7d, 0x1f,
0xc6, 0xbf, 0x9a, 0xd0, 0x71, 0xdf, 0xb8, 0x6a, 0xd1, 0xa8, 0xb5, 0xc0, 0x63, 0x64, 0x28, 0x3c,
0x2c, 0x44, 0xb5, 0xed, 0x31, 0x96, 0x36, 0x79, 0x02, 0x83, 0xeb, 0xc7, 0xd1, 0x34, 0xf5, 0x77,
0x54, 0xfd, 0x2c, 0x50, 0x63, 0xed, 0x1e, 0x9c, 0xc6, 0xb5, 0x87, 0xbc, 0x86, 0xb6, 0xdb, 0x63,
0xeb, 0x3f, 0xf6, 0xe8, 0xd8, 0x42, 0x56, 0x26, 0x23, 0x21, 0x8b, 0xff, 0xde, 0xb6, 0xf9, 0xce,
0x95, 0x8d, 0x15, 0xef, 0xff, 0x75, 0xad, 0x23, 0xbe, 0x61, 0xa1, 0x93, 0x1c, 0xda, 0xc7, 0xa6,
0xe7, 0xc6, 0xcf, 0xf0, 0x14, 0x5a, 0x01, 0x8b, 0xed, 0x84, 0xfd, 0xc3, 0xe1, 0xcd, 0xc7, 0x82,
0x9a, 0x28, 0x79, 0x05, 0xdd, 0x72, 0x76, 0xf3, 0x22, 0xf4, 0x6f, 0x3c, 0x2b, 0xe5, 0x34, 0xb4,
0xc2, 0x26, 0x6f, 0x61, 0xf7, 0x78, 0x4d, 0x9c, 0xac, 0x42, 0x72, 0x00, 0x1d, 0x6b, 0x28, 0x54,
0x50, 0x74, 0xbb, 0x7b, 0xad, 0x86, 0x15, 0x49, 0x4b, 0xe6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
0x18, 0xe5, 0xf2, 0x3c, 0xf2, 0x04, 0x00, 0x00,
}