gitpod/components/public-api/go/v1/workspace.pb.go
Gero Posmyk-Leinemann 26f7f5d742
Add more initializer-related info to /insights API (#20572)
* [ws-manager, ws-daemon] Store initializer metrics in workspace.Status.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [ws-mananger-api, -mk2] Emit new field .Status.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [db] Introduce DBWorkspaceInstanceMetrics and persist all metrics from ws-manager-api into it

Tool: gitpod/catfood.gitpod.cloud

* [api] Expose session.Metrics.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Export metrics into CSV

Tool: gitpod/catfood.gitpod.cloud

* [content-service] Fix: emit fromBackup stats

Tool: gitpod/catfood.gitpod.cloud

* Update components/ws-manager-api/core.proto

Co-authored-by: Filip Troníček <filip@gitpod.io>

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2025-02-26 14:34:12 -05:00

7164 lines
285 KiB
Go

// Copyright (c) 2025 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc (unknown)
// source: gitpod/v1/workspace.proto
package v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
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)
)
// Admission level describes who can access a workspace instance and its ports.
type AdmissionLevel int32
const (
AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED AdmissionLevel = 0
// ADMISSION_LEVEL_OWNER_ONLY means the workspace can only be accessed using
// the owner token
AdmissionLevel_ADMISSION_LEVEL_OWNER_ONLY AdmissionLevel = 1
// ADMISSION_LEVEL_EVERYONE means the workspace (including ports) can be
// accessed by everyone.
AdmissionLevel_ADMISSION_LEVEL_EVERYONE AdmissionLevel = 2
)
// Enum value maps for AdmissionLevel.
var (
AdmissionLevel_name = map[int32]string{
0: "ADMISSION_LEVEL_UNSPECIFIED",
1: "ADMISSION_LEVEL_OWNER_ONLY",
2: "ADMISSION_LEVEL_EVERYONE",
}
AdmissionLevel_value = map[string]int32{
"ADMISSION_LEVEL_UNSPECIFIED": 0,
"ADMISSION_LEVEL_OWNER_ONLY": 1,
"ADMISSION_LEVEL_EVERYONE": 2,
}
)
func (x AdmissionLevel) Enum() *AdmissionLevel {
p := new(AdmissionLevel)
*p = x
return p
}
func (x AdmissionLevel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AdmissionLevel) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[0].Descriptor()
}
func (AdmissionLevel) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[0]
}
func (x AdmissionLevel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AdmissionLevel.Descriptor instead.
func (AdmissionLevel) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{0}
}
type GetWorkspaceDefaultImageResponse_Source int32
const (
GetWorkspaceDefaultImageResponse_SOURCE_UNSPECIFIED GetWorkspaceDefaultImageResponse_Source = 0
GetWorkspaceDefaultImageResponse_SOURCE_INSTALLATION GetWorkspaceDefaultImageResponse_Source = 1
GetWorkspaceDefaultImageResponse_SOURCE_ORGANIZATION GetWorkspaceDefaultImageResponse_Source = 2
)
// Enum value maps for GetWorkspaceDefaultImageResponse_Source.
var (
GetWorkspaceDefaultImageResponse_Source_name = map[int32]string{
0: "SOURCE_UNSPECIFIED",
1: "SOURCE_INSTALLATION",
2: "SOURCE_ORGANIZATION",
}
GetWorkspaceDefaultImageResponse_Source_value = map[string]int32{
"SOURCE_UNSPECIFIED": 0,
"SOURCE_INSTALLATION": 1,
"SOURCE_ORGANIZATION": 2,
}
)
func (x GetWorkspaceDefaultImageResponse_Source) Enum() *GetWorkspaceDefaultImageResponse_Source {
p := new(GetWorkspaceDefaultImageResponse_Source)
*p = x
return p
}
func (x GetWorkspaceDefaultImageResponse_Source) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GetWorkspaceDefaultImageResponse_Source) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[1].Descriptor()
}
func (GetWorkspaceDefaultImageResponse_Source) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[1]
}
func (x GetWorkspaceDefaultImageResponse_Source) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GetWorkspaceDefaultImageResponse_Source.Descriptor instead.
func (GetWorkspaceDefaultImageResponse_Source) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{15, 0}
}
// WorkspaceType specifies the purpose/use of a workspace. Different workspace
// types are handled differently by all parts of the system.
type WorkspaceSpec_WorkspaceType int32
const (
WorkspaceSpec_WORKSPACE_TYPE_UNSPECIFIED WorkspaceSpec_WorkspaceType = 0
// Regular workspaces are your off-the-mill workspaces intended for users.
// They are directly user-facing and hence are most important.
WorkspaceSpec_WORKSPACE_TYPE_REGULAR WorkspaceSpec_WorkspaceType = 1
// Prebuild workspaces are workspaces used to pre-build the content of other
// workspaces. They run headless and have no direct user-interaction.
WorkspaceSpec_WORKSPACE_TYPE_PREBUILD WorkspaceSpec_WorkspaceType = 2
)
// Enum value maps for WorkspaceSpec_WorkspaceType.
var (
WorkspaceSpec_WorkspaceType_name = map[int32]string{
0: "WORKSPACE_TYPE_UNSPECIFIED",
1: "WORKSPACE_TYPE_REGULAR",
2: "WORKSPACE_TYPE_PREBUILD",
}
WorkspaceSpec_WorkspaceType_value = map[string]int32{
"WORKSPACE_TYPE_UNSPECIFIED": 0,
"WORKSPACE_TYPE_REGULAR": 1,
"WORKSPACE_TYPE_PREBUILD": 2,
}
)
func (x WorkspaceSpec_WorkspaceType) Enum() *WorkspaceSpec_WorkspaceType {
p := new(WorkspaceSpec_WorkspaceType)
*p = x
return p
}
func (x WorkspaceSpec_WorkspaceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkspaceSpec_WorkspaceType) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[2].Descriptor()
}
func (WorkspaceSpec_WorkspaceType) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[2]
}
func (x WorkspaceSpec_WorkspaceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkspaceSpec_WorkspaceType.Descriptor instead.
func (WorkspaceSpec_WorkspaceType) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24, 0}
}
type WorkspaceStatus_WorkspaceConditions_FailedReason int32
const (
WorkspaceStatus_WorkspaceConditions_FAILED_REASON_UNSPECIFIED WorkspaceStatus_WorkspaceConditions_FailedReason = 0
WorkspaceStatus_WorkspaceConditions_FAILED_REASON_CONTENT_INITIALIZATION_FAILED WorkspaceStatus_WorkspaceConditions_FailedReason = 1
WorkspaceStatus_WorkspaceConditions_FAILED_REASON_BACKUP_FAILED WorkspaceStatus_WorkspaceConditions_FailedReason = 2
WorkspaceStatus_WorkspaceConditions_FAILED_REASON_IMAGE_PULL_FAILURE WorkspaceStatus_WorkspaceConditions_FailedReason = 3
WorkspaceStatus_WorkspaceConditions_FAILED_REASON_UNEXPECTED_TERMINATION WorkspaceStatus_WorkspaceConditions_FailedReason = 4
)
// Enum value maps for WorkspaceStatus_WorkspaceConditions_FailedReason.
var (
WorkspaceStatus_WorkspaceConditions_FailedReason_name = map[int32]string{
0: "FAILED_REASON_UNSPECIFIED",
1: "FAILED_REASON_CONTENT_INITIALIZATION_FAILED",
2: "FAILED_REASON_BACKUP_FAILED",
3: "FAILED_REASON_IMAGE_PULL_FAILURE",
4: "FAILED_REASON_UNEXPECTED_TERMINATION",
}
WorkspaceStatus_WorkspaceConditions_FailedReason_value = map[string]int32{
"FAILED_REASON_UNSPECIFIED": 0,
"FAILED_REASON_CONTENT_INITIALIZATION_FAILED": 1,
"FAILED_REASON_BACKUP_FAILED": 2,
"FAILED_REASON_IMAGE_PULL_FAILURE": 3,
"FAILED_REASON_UNEXPECTED_TERMINATION": 4,
}
)
func (x WorkspaceStatus_WorkspaceConditions_FailedReason) Enum() *WorkspaceStatus_WorkspaceConditions_FailedReason {
p := new(WorkspaceStatus_WorkspaceConditions_FailedReason)
*p = x
return p
}
func (x WorkspaceStatus_WorkspaceConditions_FailedReason) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkspaceStatus_WorkspaceConditions_FailedReason) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[3].Descriptor()
}
func (WorkspaceStatus_WorkspaceConditions_FailedReason) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[3]
}
func (x WorkspaceStatus_WorkspaceConditions_FailedReason) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkspaceStatus_WorkspaceConditions_FailedReason.Descriptor instead.
func (WorkspaceStatus_WorkspaceConditions_FailedReason) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25, 0, 0}
}
// Protocol defines the backend protocol of port
type WorkspacePort_Protocol int32
const (
WorkspacePort_PROTOCOL_UNSPECIFIED WorkspacePort_Protocol = 0
// Http means the port backend is http
WorkspacePort_PROTOCOL_HTTP WorkspacePort_Protocol = 1
// Https means the port backend is https
WorkspacePort_PROTOCOL_HTTPS WorkspacePort_Protocol = 2
)
// Enum value maps for WorkspacePort_Protocol.
var (
WorkspacePort_Protocol_name = map[int32]string{
0: "PROTOCOL_UNSPECIFIED",
1: "PROTOCOL_HTTP",
2: "PROTOCOL_HTTPS",
}
WorkspacePort_Protocol_value = map[string]int32{
"PROTOCOL_UNSPECIFIED": 0,
"PROTOCOL_HTTP": 1,
"PROTOCOL_HTTPS": 2,
}
)
func (x WorkspacePort_Protocol) Enum() *WorkspacePort_Protocol {
p := new(WorkspacePort_Protocol)
*p = x
return p
}
func (x WorkspacePort_Protocol) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkspacePort_Protocol) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[4].Descriptor()
}
func (WorkspacePort_Protocol) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[4]
}
func (x WorkspacePort_Protocol) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkspacePort_Protocol.Descriptor instead.
func (WorkspacePort_Protocol) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{26, 0}
}
type WorkspacePhase_Phase int32
const (
// Unknown indicates an issue within the workspace manager in that it cannot
// determine the actual phase of a workspace. This phase is usually
// accompanied by an error.
WorkspacePhase_PHASE_UNSPECIFIED WorkspacePhase_Phase = 0
// Preparing means that we haven't actually started the workspace instance
// just yet, but rather are still preparing for launch.
WorkspacePhase_PHASE_PREPARING WorkspacePhase_Phase = 1
// ImageBuild indicates that there's an image build running for this
// workspace.
WorkspacePhase_PHASE_IMAGEBUILD WorkspacePhase_Phase = 2
// Pending means the workspace does not yet consume resources in the
// cluster, but rather is looking for some space within the cluster. If for
// example the cluster needs to scale up to accommodate the workspace, the
// workspace will be in Pending state until that happened.
WorkspacePhase_PHASE_PENDING WorkspacePhase_Phase = 3
// Creating means the workspace is currently being created. That includes
// downloading the images required to run the workspace over the network.
// The time spent in this phase varies widely and depends on the current
// network speed, image size and cache states.
WorkspacePhase_PHASE_CREATING WorkspacePhase_Phase = 4
// Initializing is the phase in which the workspace is executing the
// appropriate workspace initializer (e.g. Git clone or backup download).
// After this phase one can expect the workspace to either be Running or
// Failed.
WorkspacePhase_PHASE_INITIALIZING WorkspacePhase_Phase = 5
// Running means the workspace is able to actively perform work, either by
// serving a user through Theia, or as a headless workspace.
WorkspacePhase_PHASE_RUNNING WorkspacePhase_Phase = 6
// Interrupted is an exceptional state where the container should be running
// but is temporarily unavailable. When in this state, we expect it to
// become running or stopping anytime soon.
WorkspacePhase_PHASE_INTERRUPTED WorkspacePhase_Phase = 7
// Paused means the workspace is currently unavailable, akin to stopped,
// but faster to wake up.
WorkspacePhase_PHASE_PAUSED WorkspacePhase_Phase = 8
// Stopping means that the workspace is currently shutting down. It could go
// to stopped every moment.
WorkspacePhase_PHASE_STOPPING WorkspacePhase_Phase = 9
// Stopped means the workspace ended regularly because it was shut down.
WorkspacePhase_PHASE_STOPPED WorkspacePhase_Phase = 10
)
// Enum value maps for WorkspacePhase_Phase.
var (
WorkspacePhase_Phase_name = map[int32]string{
0: "PHASE_UNSPECIFIED",
1: "PHASE_PREPARING",
2: "PHASE_IMAGEBUILD",
3: "PHASE_PENDING",
4: "PHASE_CREATING",
5: "PHASE_INITIALIZING",
6: "PHASE_RUNNING",
7: "PHASE_INTERRUPTED",
8: "PHASE_PAUSED",
9: "PHASE_STOPPING",
10: "PHASE_STOPPED",
}
WorkspacePhase_Phase_value = map[string]int32{
"PHASE_UNSPECIFIED": 0,
"PHASE_PREPARING": 1,
"PHASE_IMAGEBUILD": 2,
"PHASE_PENDING": 3,
"PHASE_CREATING": 4,
"PHASE_INITIALIZING": 5,
"PHASE_RUNNING": 6,
"PHASE_INTERRUPTED": 7,
"PHASE_PAUSED": 8,
"PHASE_STOPPING": 9,
"PHASE_STOPPED": 10,
}
)
func (x WorkspacePhase_Phase) Enum() *WorkspacePhase_Phase {
p := new(WorkspacePhase_Phase)
*p = x
return p
}
func (x WorkspacePhase_Phase) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkspacePhase_Phase) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[5].Descriptor()
}
func (WorkspacePhase_Phase) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[5]
}
func (x WorkspacePhase_Phase) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkspacePhase_Phase.Descriptor instead.
func (WorkspacePhase_Phase) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{28, 0}
}
// CloneTargetMode is the target state in which we want to leave a
// GitWorkspace
type GitInitializer_CloneTargetMode int32
const (
GitInitializer_CLONE_TARGET_MODE_UNSPECIFIED GitInitializer_CloneTargetMode = 0
// REMOTE_HEAD has the local WS point at the remote branch head
GitInitializer_CLONE_TARGET_MODE_REMOTE_HEAD GitInitializer_CloneTargetMode = 1
// REMOTE_COMMIT has the local WS point at a specific commit
GitInitializer_CLONE_TARGET_MODE_REMOTE_COMMIT GitInitializer_CloneTargetMode = 2
// REMOTE_BRANCH has the local WS point at a remote branch
GitInitializer_CLONE_TARGET_MODE_REMOTE_BRANCH GitInitializer_CloneTargetMode = 3
// LOCAL_BRANCH creates a local branch in the workspace
GitInitializer_CLONE_TARGET_MODE_LOCAL_BRANCH GitInitializer_CloneTargetMode = 4
)
// Enum value maps for GitInitializer_CloneTargetMode.
var (
GitInitializer_CloneTargetMode_name = map[int32]string{
0: "CLONE_TARGET_MODE_UNSPECIFIED",
1: "CLONE_TARGET_MODE_REMOTE_HEAD",
2: "CLONE_TARGET_MODE_REMOTE_COMMIT",
3: "CLONE_TARGET_MODE_REMOTE_BRANCH",
4: "CLONE_TARGET_MODE_LOCAL_BRANCH",
}
GitInitializer_CloneTargetMode_value = map[string]int32{
"CLONE_TARGET_MODE_UNSPECIFIED": 0,
"CLONE_TARGET_MODE_REMOTE_HEAD": 1,
"CLONE_TARGET_MODE_REMOTE_COMMIT": 2,
"CLONE_TARGET_MODE_REMOTE_BRANCH": 3,
"CLONE_TARGET_MODE_LOCAL_BRANCH": 4,
}
)
func (x GitInitializer_CloneTargetMode) Enum() *GitInitializer_CloneTargetMode {
p := new(GitInitializer_CloneTargetMode)
*p = x
return p
}
func (x GitInitializer_CloneTargetMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GitInitializer_CloneTargetMode) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[6].Descriptor()
}
func (GitInitializer_CloneTargetMode) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[6]
}
func (x GitInitializer_CloneTargetMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GitInitializer_CloneTargetMode.Descriptor instead.
func (GitInitializer_CloneTargetMode) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{30, 0}
}
// AuthMethod is the means of authentication used during clone
type GitInitializer_AuthMethod int32
const (
// NO_AUTH disables authentication during clone
GitInitializer_AUTH_METHOD_UNSPECIFIED GitInitializer_AuthMethod = 0
// BASIC_AUTH uses HTTP basic auth during clone (fails if repo is not cloned
// through http)
GitInitializer_AUTH_METHOD_BASIC_AUTH GitInitializer_AuthMethod = 1
// BASIC_AUTH_OTS uses HTTP basic auth during the clone with the secrets
// coming from the OTS URL. Fails if either the OTS download or the clone
// fail.
GitInitializer_AUTH_METHOD_BASIC_AUTH_OTS GitInitializer_AuthMethod = 2
)
// Enum value maps for GitInitializer_AuthMethod.
var (
GitInitializer_AuthMethod_name = map[int32]string{
0: "AUTH_METHOD_UNSPECIFIED",
1: "AUTH_METHOD_BASIC_AUTH",
2: "AUTH_METHOD_BASIC_AUTH_OTS",
}
GitInitializer_AuthMethod_value = map[string]int32{
"AUTH_METHOD_UNSPECIFIED": 0,
"AUTH_METHOD_BASIC_AUTH": 1,
"AUTH_METHOD_BASIC_AUTH_OTS": 2,
}
)
func (x GitInitializer_AuthMethod) Enum() *GitInitializer_AuthMethod {
p := new(GitInitializer_AuthMethod)
*p = x
return p
}
func (x GitInitializer_AuthMethod) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GitInitializer_AuthMethod) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[7].Descriptor()
}
func (GitInitializer_AuthMethod) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[7]
}
func (x GitInitializer_AuthMethod) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GitInitializer_AuthMethod.Descriptor instead.
func (GitInitializer_AuthMethod) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{30, 1}
}
type WorkspaceSession_WorkspaceContext_RefType int32
const (
WorkspaceSession_WorkspaceContext_REF_TYPE_UNSPECIFIED WorkspaceSession_WorkspaceContext_RefType = 0
WorkspaceSession_WorkspaceContext_REF_TYPE_BRANCH WorkspaceSession_WorkspaceContext_RefType = 1
WorkspaceSession_WorkspaceContext_REF_TYPE_TAG WorkspaceSession_WorkspaceContext_RefType = 2
WorkspaceSession_WorkspaceContext_REF_TYPE_REVISION WorkspaceSession_WorkspaceContext_RefType = 3
)
// Enum value maps for WorkspaceSession_WorkspaceContext_RefType.
var (
WorkspaceSession_WorkspaceContext_RefType_name = map[int32]string{
0: "REF_TYPE_UNSPECIFIED",
1: "REF_TYPE_BRANCH",
2: "REF_TYPE_TAG",
3: "REF_TYPE_REVISION",
}
WorkspaceSession_WorkspaceContext_RefType_value = map[string]int32{
"REF_TYPE_UNSPECIFIED": 0,
"REF_TYPE_BRANCH": 1,
"REF_TYPE_TAG": 2,
"REF_TYPE_REVISION": 3,
}
)
func (x WorkspaceSession_WorkspaceContext_RefType) Enum() *WorkspaceSession_WorkspaceContext_RefType {
p := new(WorkspaceSession_WorkspaceContext_RefType)
*p = x
return p
}
func (x WorkspaceSession_WorkspaceContext_RefType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WorkspaceSession_WorkspaceContext_RefType) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[8].Descriptor()
}
func (WorkspaceSession_WorkspaceContext_RefType) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[8]
}
func (x WorkspaceSession_WorkspaceContext_RefType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WorkspaceSession_WorkspaceContext_RefType.Descriptor instead.
func (WorkspaceSession_WorkspaceContext_RefType) EnumDescriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 1, 0}
}
type UpdateWorkspacePortRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to update port
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
// port number
//
// +required
Port uint64 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
// admission controls the policy of this port
Admission *AdmissionLevel `protobuf:"varint,3,opt,name=admission,proto3,enum=gitpod.v1.AdmissionLevel,oneof" json:"admission,omitempty"`
// backend protocol of this port
Protocol *WorkspacePort_Protocol `protobuf:"varint,4,opt,name=protocol,proto3,enum=gitpod.v1.WorkspacePort_Protocol,oneof" json:"protocol,omitempty"`
}
func (x *UpdateWorkspacePortRequest) Reset() {
*x = UpdateWorkspacePortRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspacePortRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspacePortRequest) ProtoMessage() {}
func (x *UpdateWorkspacePortRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 UpdateWorkspacePortRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkspacePortRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{0}
}
func (x *UpdateWorkspacePortRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
func (x *UpdateWorkspacePortRequest) GetPort() uint64 {
if x != nil {
return x.Port
}
return 0
}
func (x *UpdateWorkspacePortRequest) GetAdmission() AdmissionLevel {
if x != nil && x.Admission != nil {
return *x.Admission
}
return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
}
func (x *UpdateWorkspacePortRequest) GetProtocol() WorkspacePort_Protocol {
if x != nil && x.Protocol != nil {
return *x.Protocol
}
return WorkspacePort_PROTOCOL_UNSPECIFIED
}
type UpdateWorkspacePortResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateWorkspacePortResponse) Reset() {
*x = UpdateWorkspacePortResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspacePortResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspacePortResponse) ProtoMessage() {}
func (x *UpdateWorkspacePortResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 UpdateWorkspacePortResponse.ProtoReflect.Descriptor instead.
func (*UpdateWorkspacePortResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{1}
}
type GetWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to get
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *GetWorkspaceRequest) Reset() {
*x = GetWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceRequest) ProtoMessage() {}
func (x *GetWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 GetWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{2}
}
func (x *GetWorkspaceRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type GetWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"`
}
func (x *GetWorkspaceResponse) Reset() {
*x = GetWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceResponse) ProtoMessage() {}
func (x *GetWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 GetWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*GetWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{3}
}
func (x *GetWorkspaceResponse) GetWorkspace() *Workspace {
if x != nil {
return x.Workspace
}
return nil
}
type WatchWorkspaceStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to watch
//
// +optional if empty then watch all workspaces
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *WatchWorkspaceStatusRequest) Reset() {
*x = WatchWorkspaceStatusRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WatchWorkspaceStatusRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WatchWorkspaceStatusRequest) ProtoMessage() {}
func (x *WatchWorkspaceStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 WatchWorkspaceStatusRequest.ProtoReflect.Descriptor instead.
func (*WatchWorkspaceStatusRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{4}
}
func (x *WatchWorkspaceStatusRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type WatchWorkspaceStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id is the ID of the workspace that has status updated
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
// status is the updated status of workspace
Status *WorkspaceStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *WatchWorkspaceStatusResponse) Reset() {
*x = WatchWorkspaceStatusResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WatchWorkspaceStatusResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WatchWorkspaceStatusResponse) ProtoMessage() {}
func (x *WatchWorkspaceStatusResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 WatchWorkspaceStatusResponse.ProtoReflect.Descriptor instead.
func (*WatchWorkspaceStatusResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{5}
}
func (x *WatchWorkspaceStatusResponse) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
func (x *WatchWorkspaceStatusResponse) GetStatus() *WorkspaceStatus {
if x != nil {
return x.Status
}
return nil
}
type ListWorkspacesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// pagination contains the pagination options for listing workspaces
Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
// organization_id is the ID of the organization that contains the workspaces
//
// +required
OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
// pinned indicates whether to list only pinned workspaces
Pinned bool `protobuf:"varint,3,opt,name=pinned,proto3" json:"pinned,omitempty"`
// search_term is a search term to filter workspaces by name
SearchTerm string `protobuf:"bytes,4,opt,name=search_term,json=searchTerm,proto3" json:"search_term,omitempty"`
}
func (x *ListWorkspacesRequest) Reset() {
*x = ListWorkspacesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspacesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspacesRequest) ProtoMessage() {}
func (x *ListWorkspacesRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 ListWorkspacesRequest.ProtoReflect.Descriptor instead.
func (*ListWorkspacesRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{6}
}
func (x *ListWorkspacesRequest) GetPagination() *PaginationRequest {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListWorkspacesRequest) GetOrganizationId() string {
if x != nil {
return x.OrganizationId
}
return ""
}
func (x *ListWorkspacesRequest) GetPinned() bool {
if x != nil {
return x.Pinned
}
return false
}
func (x *ListWorkspacesRequest) GetSearchTerm() string {
if x != nil {
return x.SearchTerm
}
return ""
}
type ListWorkspacesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// pagination contains the pagination options for listing workspaces
Pagination *PaginationResponse `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
// workspaces are the workspaces that matched the query
Workspaces []*Workspace `protobuf:"bytes,2,rep,name=workspaces,proto3" json:"workspaces,omitempty"`
}
func (x *ListWorkspacesResponse) Reset() {
*x = ListWorkspacesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspacesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspacesResponse) ProtoMessage() {}
func (x *ListWorkspacesResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 ListWorkspacesResponse.ProtoReflect.Descriptor instead.
func (*ListWorkspacesResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{7}
}
func (x *ListWorkspacesResponse) GetPagination() *PaginationResponse {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListWorkspacesResponse) GetWorkspaces() []*Workspace {
if x != nil {
return x.Workspaces
}
return nil
}
type ListWorkspaceSessionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// pagination contains the pagination options for listing workspaces
Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
// organization_id is the ID of the organization that contains the workspaces
//
// +required
OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
// from specifies the starting time range for this request.
// All sessions which existed starting at from will be returned.
From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"`
// to specifies the end time range for this request.
// All sessions which existed ending at to will be returned.
To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"`
}
func (x *ListWorkspaceSessionsRequest) Reset() {
*x = ListWorkspaceSessionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspaceSessionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspaceSessionsRequest) ProtoMessage() {}
func (x *ListWorkspaceSessionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 ListWorkspaceSessionsRequest.ProtoReflect.Descriptor instead.
func (*ListWorkspaceSessionsRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{8}
}
func (x *ListWorkspaceSessionsRequest) GetPagination() *PaginationRequest {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListWorkspaceSessionsRequest) GetOrganizationId() string {
if x != nil {
return x.OrganizationId
}
return ""
}
func (x *ListWorkspaceSessionsRequest) GetFrom() *timestamppb.Timestamp {
if x != nil {
return x.From
}
return nil
}
func (x *ListWorkspaceSessionsRequest) GetTo() *timestamppb.Timestamp {
if x != nil {
return x.To
}
return nil
}
type ListWorkspaceSessionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// pagination contains the pagination options for listing workspaces
Pagination *PaginationResponse `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
// workspaces are the workspaces that matched the query
WorkspaceSessions []*WorkspaceSession `protobuf:"bytes,2,rep,name=workspace_sessions,json=workspaceSessions,proto3" json:"workspace_sessions,omitempty"`
}
func (x *ListWorkspaceSessionsResponse) Reset() {
*x = ListWorkspaceSessionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspaceSessionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspaceSessionsResponse) ProtoMessage() {}
func (x *ListWorkspaceSessionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 ListWorkspaceSessionsResponse.ProtoReflect.Descriptor instead.
func (*ListWorkspaceSessionsResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{9}
}
func (x *ListWorkspaceSessionsResponse) GetPagination() *PaginationResponse {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListWorkspaceSessionsResponse) GetWorkspaceSessions() []*WorkspaceSession {
if x != nil {
return x.WorkspaceSessions
}
return nil
}
// Required fields:
// - metadata.organization_id
// - metadata.configuration_id
type CreateAndStartWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// metadata is data associated with this workspace that's required for other
// parts of Gitpod to function
Metadata *WorkspaceMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Types that are assignable to Source:
//
// *CreateAndStartWorkspaceRequest_ContextUrl
// *CreateAndStartWorkspaceRequest_Spec
Source isCreateAndStartWorkspaceRequest_Source `protobuf_oneof:"source"`
// force_default_config indicates that the workspace should be created with
// the default configuration instead of the configuration provided in
// `.gitpod.yml` file
//
// Deprecated: Do not use.
ForceDefaultConfig bool `protobuf:"varint,4,opt,name=force_default_config,json=forceDefaultConfig,proto3" json:"force_default_config,omitempty"`
}
func (x *CreateAndStartWorkspaceRequest) Reset() {
*x = CreateAndStartWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAndStartWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAndStartWorkspaceRequest) ProtoMessage() {}
func (x *CreateAndStartWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 CreateAndStartWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*CreateAndStartWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{10}
}
func (x *CreateAndStartWorkspaceRequest) GetMetadata() *WorkspaceMetadata {
if x != nil {
return x.Metadata
}
return nil
}
func (m *CreateAndStartWorkspaceRequest) GetSource() isCreateAndStartWorkspaceRequest_Source {
if m != nil {
return m.Source
}
return nil
}
func (x *CreateAndStartWorkspaceRequest) GetContextUrl() *CreateAndStartWorkspaceRequest_ContextURL {
if x, ok := x.GetSource().(*CreateAndStartWorkspaceRequest_ContextUrl); ok {
return x.ContextUrl
}
return nil
}
func (x *CreateAndStartWorkspaceRequest) GetSpec() *WorkspaceSpec {
if x, ok := x.GetSource().(*CreateAndStartWorkspaceRequest_Spec); ok {
return x.Spec
}
return nil
}
// Deprecated: Do not use.
func (x *CreateAndStartWorkspaceRequest) GetForceDefaultConfig() bool {
if x != nil {
return x.ForceDefaultConfig
}
return false
}
type isCreateAndStartWorkspaceRequest_Source interface {
isCreateAndStartWorkspaceRequest_Source()
}
type CreateAndStartWorkspaceRequest_ContextUrl struct {
// context_url is the URL from which the workspace is created
ContextUrl *CreateAndStartWorkspaceRequest_ContextURL `protobuf:"bytes,2,opt,name=context_url,json=contextUrl,proto3,oneof"`
}
type CreateAndStartWorkspaceRequest_Spec struct {
// spec is the configuration of the workspace that's required for the to
// start the workspace
Spec *WorkspaceSpec `protobuf:"bytes,3,opt,name=spec,proto3,oneof"`
}
func (*CreateAndStartWorkspaceRequest_ContextUrl) isCreateAndStartWorkspaceRequest_Source() {}
func (*CreateAndStartWorkspaceRequest_Spec) isCreateAndStartWorkspaceRequest_Source() {}
type CreateAndStartWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"`
}
func (x *CreateAndStartWorkspaceResponse) Reset() {
*x = CreateAndStartWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAndStartWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAndStartWorkspaceResponse) ProtoMessage() {}
func (x *CreateAndStartWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 CreateAndStartWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*CreateAndStartWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{11}
}
func (x *CreateAndStartWorkspaceResponse) GetWorkspace() *Workspace {
if x != nil {
return x.Workspace
}
return nil
}
type StartWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace that is going to start
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
// Deprecated: Do not use.
ForceDefaultConfig bool `protobuf:"varint,2,opt,name=force_default_config,json=forceDefaultConfig,proto3" json:"force_default_config,omitempty"`
}
func (x *StartWorkspaceRequest) Reset() {
*x = StartWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartWorkspaceRequest) ProtoMessage() {}
func (x *StartWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 StartWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*StartWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{12}
}
func (x *StartWorkspaceRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
// Deprecated: Do not use.
func (x *StartWorkspaceRequest) GetForceDefaultConfig() bool {
if x != nil {
return x.ForceDefaultConfig
}
return false
}
type StartWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"`
}
func (x *StartWorkspaceResponse) Reset() {
*x = StartWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartWorkspaceResponse) ProtoMessage() {}
func (x *StartWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 StartWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*StartWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{13}
}
func (x *StartWorkspaceResponse) GetWorkspace() *Workspace {
if x != nil {
return x.Workspace
}
return nil
}
type GetWorkspaceDefaultImageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to get default image
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *GetWorkspaceDefaultImageRequest) Reset() {
*x = GetWorkspaceDefaultImageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceDefaultImageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceDefaultImageRequest) ProtoMessage() {}
func (x *GetWorkspaceDefaultImageRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 GetWorkspaceDefaultImageRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceDefaultImageRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{14}
}
func (x *GetWorkspaceDefaultImageRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type GetWorkspaceDefaultImageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DefaultWorkspaceImage string `protobuf:"bytes,1,opt,name=default_workspace_image,json=defaultWorkspaceImage,proto3" json:"default_workspace_image,omitempty"`
Source GetWorkspaceDefaultImageResponse_Source `protobuf:"varint,2,opt,name=source,proto3,enum=gitpod.v1.GetWorkspaceDefaultImageResponse_Source" json:"source,omitempty"`
}
func (x *GetWorkspaceDefaultImageResponse) Reset() {
*x = GetWorkspaceDefaultImageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceDefaultImageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceDefaultImageResponse) ProtoMessage() {}
func (x *GetWorkspaceDefaultImageResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[15]
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 GetWorkspaceDefaultImageResponse.ProtoReflect.Descriptor instead.
func (*GetWorkspaceDefaultImageResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{15}
}
func (x *GetWorkspaceDefaultImageResponse) GetDefaultWorkspaceImage() string {
if x != nil {
return x.DefaultWorkspaceImage
}
return ""
}
func (x *GetWorkspaceDefaultImageResponse) GetSource() GetWorkspaceDefaultImageResponse_Source {
if x != nil {
return x.Source
}
return GetWorkspaceDefaultImageResponse_SOURCE_UNSPECIFIED
}
type SendHeartBeatRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to send heartbeat
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
// disconnected indicates if the editor connection is disconnected.
// If set to true, the workspace will be stopped after Timeout.disconnected.
Disconnected bool `protobuf:"varint,2,opt,name=disconnected,proto3" json:"disconnected,omitempty"`
}
func (x *SendHeartBeatRequest) Reset() {
*x = SendHeartBeatRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendHeartBeatRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendHeartBeatRequest) ProtoMessage() {}
func (x *SendHeartBeatRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_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 SendHeartBeatRequest.ProtoReflect.Descriptor instead.
func (*SendHeartBeatRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{16}
}
func (x *SendHeartBeatRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
func (x *SendHeartBeatRequest) GetDisconnected() bool {
if x != nil {
return x.Disconnected
}
return false
}
type SendHeartBeatResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SendHeartBeatResponse) Reset() {
*x = SendHeartBeatResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendHeartBeatResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendHeartBeatResponse) ProtoMessage() {}
func (x *SendHeartBeatResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[17]
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 SendHeartBeatResponse.ProtoReflect.Descriptor instead.
func (*SendHeartBeatResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{17}
}
type GetWorkspaceOwnerTokenRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *GetWorkspaceOwnerTokenRequest) Reset() {
*x = GetWorkspaceOwnerTokenRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceOwnerTokenRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceOwnerTokenRequest) ProtoMessage() {}
func (x *GetWorkspaceOwnerTokenRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[18]
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 GetWorkspaceOwnerTokenRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceOwnerTokenRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{18}
}
func (x *GetWorkspaceOwnerTokenRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type GetWorkspaceOwnerTokenResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerToken string `protobuf:"bytes,1,opt,name=owner_token,json=ownerToken,proto3" json:"owner_token,omitempty"`
}
func (x *GetWorkspaceOwnerTokenResponse) Reset() {
*x = GetWorkspaceOwnerTokenResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceOwnerTokenResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceOwnerTokenResponse) ProtoMessage() {}
func (x *GetWorkspaceOwnerTokenResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[19]
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 GetWorkspaceOwnerTokenResponse.ProtoReflect.Descriptor instead.
func (*GetWorkspaceOwnerTokenResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{19}
}
func (x *GetWorkspaceOwnerTokenResponse) GetOwnerToken() string {
if x != nil {
return x.OwnerToken
}
return ""
}
type GetWorkspaceEditorCredentialsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *GetWorkspaceEditorCredentialsRequest) Reset() {
*x = GetWorkspaceEditorCredentialsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceEditorCredentialsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceEditorCredentialsRequest) ProtoMessage() {}
func (x *GetWorkspaceEditorCredentialsRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[20]
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 GetWorkspaceEditorCredentialsRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceEditorCredentialsRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{20}
}
func (x *GetWorkspaceEditorCredentialsRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type GetWorkspaceEditorCredentialsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EditorCredentials string `protobuf:"bytes,1,opt,name=editor_credentials,json=editorCredentials,proto3" json:"editor_credentials,omitempty"`
}
func (x *GetWorkspaceEditorCredentialsResponse) Reset() {
*x = GetWorkspaceEditorCredentialsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWorkspaceEditorCredentialsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWorkspaceEditorCredentialsResponse) ProtoMessage() {}
func (x *GetWorkspaceEditorCredentialsResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
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 GetWorkspaceEditorCredentialsResponse.ProtoReflect.Descriptor instead.
func (*GetWorkspaceEditorCredentialsResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21}
}
func (x *GetWorkspaceEditorCredentialsResponse) GetEditorCredentials() string {
if x != nil {
return x.EditorCredentials
}
return ""
}
// +resource get workspace
type Workspace struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// ID is a unique identifier of this workspace. No other workspace with the
// same name must be managed by this workspace manager
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Metadata is data associated with this workspace that's required for other
// parts of Gitpod to function
Metadata *WorkspaceMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Spec is the configuration of the workspace that's required for the
// ws-manager to start the workspace
Spec *WorkspaceSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"`
// Status is the current status of the workspace
Status *WorkspaceStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *Workspace) Reset() {
*x = Workspace{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Workspace) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Workspace) ProtoMessage() {}
func (x *Workspace) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
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 Workspace.ProtoReflect.Descriptor instead.
func (*Workspace) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{22}
}
func (x *Workspace) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Workspace) GetMetadata() *WorkspaceMetadata {
if x != nil {
return x.Metadata
}
return nil
}
func (x *Workspace) GetSpec() *WorkspaceSpec {
if x != nil {
return x.Spec
}
return nil
}
func (x *Workspace) GetStatus() *WorkspaceStatus {
if x != nil {
return x.Status
}
return nil
}
// WorkspaceMetadata is data associated with a workspace that's required for
// other parts of the system to function
type WorkspaceMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// owner_id is the ID of the Gitpod user to whom we'll bill this workspace and
// who we consider responsible for its content
OwnerId string `protobuf:"bytes,1,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
// organization_id is the ID of the organization that contains the workspace
OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
// configuration_id is the ID of the configuration used by this workspace
ConfigurationId string `protobuf:"bytes,3,opt,name=configuration_id,json=configurationId,proto3" json:"configuration_id,omitempty"`
// annotations are key/value pairs that gets attached to the workspace.
// +internal - not yet implemented
Annotations map[string]string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// name is the name of the workspace as specified by the user
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
// pinned indicates whether the workspace is pinned
Pinned bool `protobuf:"varint,6,opt,name=pinned,proto3" json:"pinned,omitempty"`
// original_context_url is the normalized URL from which the workspace was
// created
OriginalContextUrl string `protobuf:"bytes,7,opt,name=original_context_url,json=originalContextUrl,proto3" json:"original_context_url,omitempty"`
// warnings are user-facing warnings that should be displayed to the user when trying to start the workspace
Warnings []string `protobuf:"bytes,8,rep,name=warnings,proto3" json:"warnings,omitempty"`
}
func (x *WorkspaceMetadata) Reset() {
*x = WorkspaceMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceMetadata) ProtoMessage() {}
func (x *WorkspaceMetadata) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
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 WorkspaceMetadata.ProtoReflect.Descriptor instead.
func (*WorkspaceMetadata) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{23}
}
func (x *WorkspaceMetadata) GetOwnerId() string {
if x != nil {
return x.OwnerId
}
return ""
}
func (x *WorkspaceMetadata) GetOrganizationId() string {
if x != nil {
return x.OrganizationId
}
return ""
}
func (x *WorkspaceMetadata) GetConfigurationId() string {
if x != nil {
return x.ConfigurationId
}
return ""
}
func (x *WorkspaceMetadata) GetAnnotations() map[string]string {
if x != nil {
return x.Annotations
}
return nil
}
func (x *WorkspaceMetadata) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *WorkspaceMetadata) GetPinned() bool {
if x != nil {
return x.Pinned
}
return false
}
func (x *WorkspaceMetadata) GetOriginalContextUrl() string {
if x != nil {
return x.OriginalContextUrl
}
return ""
}
func (x *WorkspaceMetadata) GetWarnings() []string {
if x != nil {
return x.Warnings
}
return nil
}
// WorkspaceSpec specifies the configuration of a workspace for a workspace
// start
type WorkspaceSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// initializer configures how the workspace is to be initialized
Initializer *WorkspaceInitializer `protobuf:"bytes,1,opt,name=initializer,proto3" json:"initializer,omitempty"`
// Type denotes the kind of workspace we ought to start
Type WorkspaceSpec_WorkspaceType `protobuf:"varint,2,opt,name=type,proto3,enum=gitpod.v1.WorkspaceSpec_WorkspaceType" json:"type,omitempty"`
// ports is the set of ports which ought to be exposed to the internet
Ports []*WorkspacePort `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"`
// envvars are user-defined environment variables which ought to be available
// in the workspace (shim'ed environment)
EnvironmentVariables []*EnvironmentVariable `protobuf:"bytes,4,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
// Git configures the Git user in the workspace
Git *WorkspaceSpec_GitSpec `protobuf:"bytes,5,opt,name=git,proto3" json:"git,omitempty"`
// Timeout configures the workspace timeout
Timeout *WorkspaceSpec_Timeout `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
// admission controls who can access the workspace and its ports.
Admission AdmissionLevel `protobuf:"varint,7,opt,name=admission,proto3,enum=gitpod.v1.AdmissionLevel" json:"admission,omitempty"`
// Class denotes the class of the workspace we ought to start
Class string `protobuf:"bytes,8,opt,name=class,proto3" json:"class,omitempty"`
// ssh_public_keys is user's uploaded ssh public keys
SshPublicKeys []string `protobuf:"bytes,9,rep,name=ssh_public_keys,json=sshPublicKeys,proto3" json:"ssh_public_keys,omitempty"`
// subassembly_references is a list of workspace IDs that this workspace
// depends on. For example:
//
// index.docker.io/gitpod-io/subassmeblies/code:latest
SubassemblyReferences []string `protobuf:"bytes,10,rep,name=subassembly_references,json=subassemblyReferences,proto3" json:"subassembly_references,omitempty"`
// last_user_activity is the time when the user last interacted with the
// workspace
LastUserActivity *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_user_activity,json=lastUserActivity,proto3" json:"last_user_activity,omitempty"`
// log_url is the URL where we stream the workspace's logs to.
// Can be changed when the workspace is PENDING or STOPPED.
LogUrl string `protobuf:"bytes,12,opt,name=log_url,json=logUrl,proto3" json:"log_url,omitempty"`
Editor *EditorReference `protobuf:"bytes,13,opt,name=editor,proto3" json:"editor,omitempty"`
}
func (x *WorkspaceSpec) Reset() {
*x = WorkspaceSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSpec) ProtoMessage() {}
func (x *WorkspaceSpec) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[24]
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 WorkspaceSpec.ProtoReflect.Descriptor instead.
func (*WorkspaceSpec) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24}
}
func (x *WorkspaceSpec) GetInitializer() *WorkspaceInitializer {
if x != nil {
return x.Initializer
}
return nil
}
func (x *WorkspaceSpec) GetType() WorkspaceSpec_WorkspaceType {
if x != nil {
return x.Type
}
return WorkspaceSpec_WORKSPACE_TYPE_UNSPECIFIED
}
func (x *WorkspaceSpec) GetPorts() []*WorkspacePort {
if x != nil {
return x.Ports
}
return nil
}
func (x *WorkspaceSpec) GetEnvironmentVariables() []*EnvironmentVariable {
if x != nil {
return x.EnvironmentVariables
}
return nil
}
func (x *WorkspaceSpec) GetGit() *WorkspaceSpec_GitSpec {
if x != nil {
return x.Git
}
return nil
}
func (x *WorkspaceSpec) GetTimeout() *WorkspaceSpec_Timeout {
if x != nil {
return x.Timeout
}
return nil
}
func (x *WorkspaceSpec) GetAdmission() AdmissionLevel {
if x != nil {
return x.Admission
}
return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
}
func (x *WorkspaceSpec) GetClass() string {
if x != nil {
return x.Class
}
return ""
}
func (x *WorkspaceSpec) GetSshPublicKeys() []string {
if x != nil {
return x.SshPublicKeys
}
return nil
}
func (x *WorkspaceSpec) GetSubassemblyReferences() []string {
if x != nil {
return x.SubassemblyReferences
}
return nil
}
func (x *WorkspaceSpec) GetLastUserActivity() *timestamppb.Timestamp {
if x != nil {
return x.LastUserActivity
}
return nil
}
func (x *WorkspaceSpec) GetLogUrl() string {
if x != nil {
return x.LogUrl
}
return ""
}
func (x *WorkspaceSpec) GetEditor() *EditorReference {
if x != nil {
return x.Editor
}
return nil
}
// WorkspaceStatus describes a workspace status
type WorkspaceStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// version of the status update. Workspace instances themselves are
// unversioned, but their status has different versions. The value of this
// field has no semantic meaning (e.g. don't interpret it as as a timestamp),
// but it can be used to impose a partial order. If a.status_version <
// b.status_version then a was the status before b.
StatusVersion uint64 `protobuf:"varint,1,opt,name=status_version,json=statusVersion,proto3" json:"status_version,omitempty"`
// the phase of a workspace is a simple, high-level summary of where the
// workspace is in its lifecycle
Phase *WorkspacePhase `protobuf:"bytes,2,opt,name=phase,proto3" json:"phase,omitempty"`
// workspace_url contains the URL at which the workspace can be accessed.
// This field is only set if the workspace is running.
WorkspaceUrl string `protobuf:"bytes,3,opt,name=workspace_url,json=workspaceUrl,proto3" json:"workspace_url,omitempty"`
// conditions detail the current state of the workspace
Conditions *WorkspaceStatus_WorkspaceConditions `protobuf:"bytes,4,opt,name=conditions,proto3" json:"conditions,omitempty"`
// prebuild_result contains the result of a prebuild. Only if the workspace is
PrebuildResult *WorkspaceStatus_PrebuildResult `protobuf:"bytes,5,opt,name=prebuild_result,json=prebuildResult,proto3" json:"prebuild_result,omitempty"`
// git_status details the Git working copy status of the workspace.
// Note: this is a best-effort field and more often than not will not be
// present. Its absence does not indicate the absence of a working copy.
GitStatus *WorkspaceGitStatus `protobuf:"bytes,6,opt,name=git_status,json=gitStatus,proto3" json:"git_status,omitempty"`
// instance_id is the ID of the workspace instance - do not use, interpret or
// rely on this field unless you know what you're doing.
//
// Deprecated: Do not use.
InstanceId string `protobuf:"bytes,7,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
}
func (x *WorkspaceStatus) Reset() {
*x = WorkspaceStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceStatus) ProtoMessage() {}
func (x *WorkspaceStatus) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[25]
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 WorkspaceStatus.ProtoReflect.Descriptor instead.
func (*WorkspaceStatus) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25}
}
func (x *WorkspaceStatus) GetStatusVersion() uint64 {
if x != nil {
return x.StatusVersion
}
return 0
}
func (x *WorkspaceStatus) GetPhase() *WorkspacePhase {
if x != nil {
return x.Phase
}
return nil
}
func (x *WorkspaceStatus) GetWorkspaceUrl() string {
if x != nil {
return x.WorkspaceUrl
}
return ""
}
func (x *WorkspaceStatus) GetConditions() *WorkspaceStatus_WorkspaceConditions {
if x != nil {
return x.Conditions
}
return nil
}
func (x *WorkspaceStatus) GetPrebuildResult() *WorkspaceStatus_PrebuildResult {
if x != nil {
return x.PrebuildResult
}
return nil
}
func (x *WorkspaceStatus) GetGitStatus() *WorkspaceGitStatus {
if x != nil {
return x.GitStatus
}
return nil
}
// Deprecated: Do not use.
func (x *WorkspaceStatus) GetInstanceId() string {
if x != nil {
return x.InstanceId
}
return ""
}
type WorkspacePort struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// port number
Port uint64 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
// policy of this port
Admission AdmissionLevel `protobuf:"varint,2,opt,name=admission,proto3,enum=gitpod.v1.AdmissionLevel" json:"admission,omitempty"`
// url that can be used to access the port
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
// backend protocol of this port
Protocol WorkspacePort_Protocol `protobuf:"varint,4,opt,name=protocol,proto3,enum=gitpod.v1.WorkspacePort_Protocol" json:"protocol,omitempty"`
}
func (x *WorkspacePort) Reset() {
*x = WorkspacePort{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspacePort) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspacePort) ProtoMessage() {}
func (x *WorkspacePort) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[26]
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 WorkspacePort.ProtoReflect.Descriptor instead.
func (*WorkspacePort) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{26}
}
func (x *WorkspacePort) GetPort() uint64 {
if x != nil {
return x.Port
}
return 0
}
func (x *WorkspacePort) GetAdmission() AdmissionLevel {
if x != nil {
return x.Admission
}
return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
}
func (x *WorkspacePort) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *WorkspacePort) GetProtocol() WorkspacePort_Protocol {
if x != nil {
return x.Protocol
}
return WorkspacePort_PROTOCOL_UNSPECIFIED
}
type WorkspaceGitStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// clone_url is the repository url as you would pass it to "git clone".
// Only HTTPS clone URLs are supported.
CloneUrl string `protobuf:"bytes,1,opt,name=clone_url,json=cloneUrl,proto3" json:"clone_url,omitempty"`
// branch is branch we're currently on
Branch string `protobuf:"bytes,2,opt,name=branch,proto3" json:"branch,omitempty"`
// latest_commit is the most recent commit on the current branch
LatestCommit string `protobuf:"bytes,3,opt,name=latest_commit,json=latestCommit,proto3" json:"latest_commit,omitempty"`
// uncommited_files is an array of uncommitted files, possibly truncated
UncommitedFiles []string `protobuf:"bytes,4,rep,name=uncommited_files,json=uncommitedFiles,proto3" json:"uncommited_files,omitempty"`
// the total number of uncommited files
TotalUncommitedFiles int32 `protobuf:"varint,5,opt,name=total_uncommited_files,json=totalUncommitedFiles,proto3" json:"total_uncommited_files,omitempty"`
// untracked_files is an array of untracked files in the workspace, possibly
// truncated
UntrackedFiles []string `protobuf:"bytes,6,rep,name=untracked_files,json=untrackedFiles,proto3" json:"untracked_files,omitempty"`
// the total number of untracked files
TotalUntrackedFiles int32 `protobuf:"varint,7,opt,name=total_untracked_files,json=totalUntrackedFiles,proto3" json:"total_untracked_files,omitempty"`
// unpushed_commits is an array of unpushed changes in the workspace, possibly
// truncated
UnpushedCommits []string `protobuf:"bytes,8,rep,name=unpushed_commits,json=unpushedCommits,proto3" json:"unpushed_commits,omitempty"`
// the total number of unpushed changes
TotalUnpushedCommits int32 `protobuf:"varint,9,opt,name=total_unpushed_commits,json=totalUnpushedCommits,proto3" json:"total_unpushed_commits,omitempty"`
}
func (x *WorkspaceGitStatus) Reset() {
*x = WorkspaceGitStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceGitStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceGitStatus) ProtoMessage() {}
func (x *WorkspaceGitStatus) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[27]
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 WorkspaceGitStatus.ProtoReflect.Descriptor instead.
func (*WorkspaceGitStatus) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{27}
}
func (x *WorkspaceGitStatus) GetCloneUrl() string {
if x != nil {
return x.CloneUrl
}
return ""
}
func (x *WorkspaceGitStatus) GetBranch() string {
if x != nil {
return x.Branch
}
return ""
}
func (x *WorkspaceGitStatus) GetLatestCommit() string {
if x != nil {
return x.LatestCommit
}
return ""
}
func (x *WorkspaceGitStatus) GetUncommitedFiles() []string {
if x != nil {
return x.UncommitedFiles
}
return nil
}
func (x *WorkspaceGitStatus) GetTotalUncommitedFiles() int32 {
if x != nil {
return x.TotalUncommitedFiles
}
return 0
}
func (x *WorkspaceGitStatus) GetUntrackedFiles() []string {
if x != nil {
return x.UntrackedFiles
}
return nil
}
func (x *WorkspaceGitStatus) GetTotalUntrackedFiles() int32 {
if x != nil {
return x.TotalUntrackedFiles
}
return 0
}
func (x *WorkspaceGitStatus) GetUnpushedCommits() []string {
if x != nil {
return x.UnpushedCommits
}
return nil
}
func (x *WorkspaceGitStatus) GetTotalUnpushedCommits() int32 {
if x != nil {
return x.TotalUnpushedCommits
}
return 0
}
type WorkspacePhase struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name WorkspacePhase_Phase `protobuf:"varint,1,opt,name=name,proto3,enum=gitpod.v1.WorkspacePhase_Phase" json:"name,omitempty"`
LastTransitionTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_transition_time,json=lastTransitionTime,proto3" json:"last_transition_time,omitempty"`
}
func (x *WorkspacePhase) Reset() {
*x = WorkspacePhase{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspacePhase) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspacePhase) ProtoMessage() {}
func (x *WorkspacePhase) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[28]
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 WorkspacePhase.ProtoReflect.Descriptor instead.
func (*WorkspacePhase) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{28}
}
func (x *WorkspacePhase) GetName() WorkspacePhase_Phase {
if x != nil {
return x.Name
}
return WorkspacePhase_PHASE_UNSPECIFIED
}
func (x *WorkspacePhase) GetLastTransitionTime() *timestamppb.Timestamp {
if x != nil {
return x.LastTransitionTime
}
return nil
}
// WorkspaceInitializer specifies how a workspace is to be initialized
type WorkspaceInitializer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Specs []*WorkspaceInitializer_Spec `protobuf:"bytes,1,rep,name=specs,proto3" json:"specs,omitempty"`
}
func (x *WorkspaceInitializer) Reset() {
*x = WorkspaceInitializer{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceInitializer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceInitializer) ProtoMessage() {}
func (x *WorkspaceInitializer) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[29]
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 WorkspaceInitializer.ProtoReflect.Descriptor instead.
func (*WorkspaceInitializer) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{29}
}
func (x *WorkspaceInitializer) GetSpecs() []*WorkspaceInitializer_Spec {
if x != nil {
return x.Specs
}
return nil
}
type GitInitializer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// remote_uri is the Git remote origin
RemoteUri string `protobuf:"bytes,1,opt,name=remote_uri,json=remoteUri,proto3" json:"remote_uri,omitempty"`
// upstream_Remote_uri is the fork upstream of a repository
UpstreamRemoteUri string `protobuf:"bytes,2,opt,name=upstream_remote_uri,json=upstreamRemoteUri,proto3" json:"upstream_remote_uri,omitempty"`
// the target mode determines what gets checked out
TargetMode GitInitializer_CloneTargetMode `protobuf:"varint,3,opt,name=target_mode,json=targetMode,proto3,enum=gitpod.v1.GitInitializer_CloneTargetMode" json:"target_mode,omitempty"`
// the value for the clone target mode - use depends on the target mode
CloneTarget string `protobuf:"bytes,4,opt,name=clone_target,json=cloneTarget,proto3" json:"clone_target,omitempty"`
// a path relative to the workspace root in which the code will be checked out
// to
CheckoutLocation string `protobuf:"bytes,5,opt,name=checkout_location,json=checkoutLocation,proto3" json:"checkout_location,omitempty"`
// config specifies the Git configuration for this workspace
Config *GitInitializer_GitConfig `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *GitInitializer) Reset() {
*x = GitInitializer{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitInitializer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitInitializer) ProtoMessage() {}
func (x *GitInitializer) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[30]
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 GitInitializer.ProtoReflect.Descriptor instead.
func (*GitInitializer) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{30}
}
func (x *GitInitializer) GetRemoteUri() string {
if x != nil {
return x.RemoteUri
}
return ""
}
func (x *GitInitializer) GetUpstreamRemoteUri() string {
if x != nil {
return x.UpstreamRemoteUri
}
return ""
}
func (x *GitInitializer) GetTargetMode() GitInitializer_CloneTargetMode {
if x != nil {
return x.TargetMode
}
return GitInitializer_CLONE_TARGET_MODE_UNSPECIFIED
}
func (x *GitInitializer) GetCloneTarget() string {
if x != nil {
return x.CloneTarget
}
return ""
}
func (x *GitInitializer) GetCheckoutLocation() string {
if x != nil {
return x.CheckoutLocation
}
return ""
}
func (x *GitInitializer) GetConfig() *GitInitializer_GitConfig {
if x != nil {
return x.Config
}
return nil
}
type SnapshotInitializer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// reference of the snapshot to restore
SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
}
func (x *SnapshotInitializer) Reset() {
*x = SnapshotInitializer{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SnapshotInitializer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SnapshotInitializer) ProtoMessage() {}
func (x *SnapshotInitializer) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[31]
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 SnapshotInitializer.ProtoReflect.Descriptor instead.
func (*SnapshotInitializer) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{31}
}
func (x *SnapshotInitializer) GetSnapshotId() string {
if x != nil {
return x.SnapshotId
}
return ""
}
type PrebuildInitializer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// reference of the prebuild to restore
PrebuildId string `protobuf:"bytes,1,opt,name=prebuild_id,json=prebuildId,proto3" json:"prebuild_id,omitempty"`
}
func (x *PrebuildInitializer) Reset() {
*x = PrebuildInitializer{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrebuildInitializer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrebuildInitializer) ProtoMessage() {}
func (x *PrebuildInitializer) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[32]
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 PrebuildInitializer.ProtoReflect.Descriptor instead.
func (*PrebuildInitializer) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{32}
}
func (x *PrebuildInitializer) GetPrebuildId() string {
if x != nil {
return x.PrebuildId
}
return ""
}
// FileDownloadInitializer downloads files and uses them as workspace content.
type FileDownloadInitializer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Files []*FileDownloadInitializer_FileInfo `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
TargetLocation string `protobuf:"bytes,2,opt,name=target_location,json=targetLocation,proto3" json:"target_location,omitempty"`
}
func (x *FileDownloadInitializer) Reset() {
*x = FileDownloadInitializer{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileDownloadInitializer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileDownloadInitializer) ProtoMessage() {}
func (x *FileDownloadInitializer) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[33]
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 FileDownloadInitializer.ProtoReflect.Descriptor instead.
func (*FileDownloadInitializer) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{33}
}
func (x *FileDownloadInitializer) GetFiles() []*FileDownloadInitializer_FileInfo {
if x != nil {
return x.Files
}
return nil
}
func (x *FileDownloadInitializer) GetTargetLocation() string {
if x != nil {
return x.TargetLocation
}
return ""
}
// GitStatus describes the current Git working copy status, akin to a
// combination of "git status" and "git branch"
type GitStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// branch is branch we're currently on
Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"`
// latest_commit is the most recent commit on the current branch
LatestCommit string `protobuf:"bytes,2,opt,name=latest_commit,json=latestCommit,proto3" json:"latest_commit,omitempty"`
// uncommited_files is the number of uncommitted files, possibly truncated
UncommitedFiles []string `protobuf:"bytes,3,rep,name=uncommited_files,json=uncommitedFiles,proto3" json:"uncommited_files,omitempty"`
// the total number of uncommited files
TotalUncommitedFiles int64 `protobuf:"varint,6,opt,name=total_uncommited_files,json=totalUncommitedFiles,proto3" json:"total_uncommited_files,omitempty"`
// untracked_files is the number of untracked files in the workspace, possibly
// truncated
UntrackedFiles []string `protobuf:"bytes,4,rep,name=untracked_files,json=untrackedFiles,proto3" json:"untracked_files,omitempty"`
// the total number of untracked files
TotalUntrackedFiles int64 `protobuf:"varint,7,opt,name=total_untracked_files,json=totalUntrackedFiles,proto3" json:"total_untracked_files,omitempty"`
// unpushed_commits is the number of unpushed changes in the workspace,
// possibly truncated
UnpushedCommits []string `protobuf:"bytes,5,rep,name=unpushed_commits,json=unpushedCommits,proto3" json:"unpushed_commits,omitempty"`
// the total number of unpushed changes
TotalUnpushedCommits int64 `protobuf:"varint,8,opt,name=total_unpushed_commits,json=totalUnpushedCommits,proto3" json:"total_unpushed_commits,omitempty"`
}
func (x *GitStatus) Reset() {
*x = GitStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitStatus) ProtoMessage() {}
func (x *GitStatus) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[34]
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 GitStatus.ProtoReflect.Descriptor instead.
func (*GitStatus) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{34}
}
func (x *GitStatus) GetBranch() string {
if x != nil {
return x.Branch
}
return ""
}
func (x *GitStatus) GetLatestCommit() string {
if x != nil {
return x.LatestCommit
}
return ""
}
func (x *GitStatus) GetUncommitedFiles() []string {
if x != nil {
return x.UncommitedFiles
}
return nil
}
func (x *GitStatus) GetTotalUncommitedFiles() int64 {
if x != nil {
return x.TotalUncommitedFiles
}
return 0
}
func (x *GitStatus) GetUntrackedFiles() []string {
if x != nil {
return x.UntrackedFiles
}
return nil
}
func (x *GitStatus) GetTotalUntrackedFiles() int64 {
if x != nil {
return x.TotalUntrackedFiles
}
return 0
}
func (x *GitStatus) GetUnpushedCommits() []string {
if x != nil {
return x.UnpushedCommits
}
return nil
}
func (x *GitStatus) GetTotalUnpushedCommits() int64 {
if x != nil {
return x.TotalUnpushedCommits
}
return 0
}
type UpdateWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to update
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
// metadata is data associated with this workspace that's required for other
// parts of Gitpod to function
Metadata *UpdateWorkspaceRequest_UpdateWorkspaceMetadata `protobuf:"bytes,2,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
// spec is the configuration of the workspace that's required for the
// ws-manager to start the workspace
Spec *UpdateWorkspaceRequest_UpdateWorkspaceSpec `protobuf:"bytes,3,opt,name=spec,proto3,oneof" json:"spec,omitempty"`
// git_status updates the git status of the workspace - this is only here
// during the migration
//
// Deprecated: Do not use.
GitStatus *WorkspaceGitStatus `protobuf:"bytes,4,opt,name=git_status,json=gitStatus,proto3,oneof" json:"git_status,omitempty"`
}
func (x *UpdateWorkspaceRequest) Reset() {
*x = UpdateWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspaceRequest) ProtoMessage() {}
func (x *UpdateWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[35]
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 UpdateWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{35}
}
func (x *UpdateWorkspaceRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
func (x *UpdateWorkspaceRequest) GetMetadata() *UpdateWorkspaceRequest_UpdateWorkspaceMetadata {
if x != nil {
return x.Metadata
}
return nil
}
func (x *UpdateWorkspaceRequest) GetSpec() *UpdateWorkspaceRequest_UpdateWorkspaceSpec {
if x != nil {
return x.Spec
}
return nil
}
// Deprecated: Do not use.
func (x *UpdateWorkspaceRequest) GetGitStatus() *WorkspaceGitStatus {
if x != nil {
return x.GitStatus
}
return nil
}
type UpdateWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"`
}
func (x *UpdateWorkspaceResponse) Reset() {
*x = UpdateWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspaceResponse) ProtoMessage() {}
func (x *UpdateWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[36]
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 UpdateWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{36}
}
func (x *UpdateWorkspaceResponse) GetWorkspace() *Workspace {
if x != nil {
return x.Workspace
}
return nil
}
type StopWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies which workspace should be stopped.
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *StopWorkspaceRequest) Reset() {
*x = StopWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopWorkspaceRequest) ProtoMessage() {}
func (x *StopWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[37]
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 StopWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*StopWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{37}
}
func (x *StopWorkspaceRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type StopWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StopWorkspaceResponse) Reset() {
*x = StopWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopWorkspaceResponse) ProtoMessage() {}
func (x *StopWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[38]
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 StopWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*StopWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{38}
}
type DeleteWorkspaceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace that is going to delete.
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *DeleteWorkspaceRequest) Reset() {
*x = DeleteWorkspaceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteWorkspaceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteWorkspaceRequest) ProtoMessage() {}
func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[39]
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 DeleteWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*DeleteWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{39}
}
func (x *DeleteWorkspaceRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type DeleteWorkspaceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteWorkspaceResponse) Reset() {
*x = DeleteWorkspaceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteWorkspaceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteWorkspaceResponse) ProtoMessage() {}
func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[40]
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 DeleteWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*DeleteWorkspaceResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{40}
}
type ListWorkspaceClassesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
func (x *ListWorkspaceClassesRequest) Reset() {
*x = ListWorkspaceClassesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspaceClassesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspaceClassesRequest) ProtoMessage() {}
func (x *ListWorkspaceClassesRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[41]
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 ListWorkspaceClassesRequest.ProtoReflect.Descriptor instead.
func (*ListWorkspaceClassesRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{41}
}
func (x *ListWorkspaceClassesRequest) GetPagination() *PaginationRequest {
if x != nil {
return x.Pagination
}
return nil
}
type ListWorkspaceClassesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pagination *PaginationResponse `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
WorkspaceClasses []*WorkspaceClass `protobuf:"bytes,2,rep,name=workspace_classes,json=workspaceClasses,proto3" json:"workspace_classes,omitempty"`
}
func (x *ListWorkspaceClassesResponse) Reset() {
*x = ListWorkspaceClassesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListWorkspaceClassesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListWorkspaceClassesResponse) ProtoMessage() {}
func (x *ListWorkspaceClassesResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[42]
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 ListWorkspaceClassesResponse.ProtoReflect.Descriptor instead.
func (*ListWorkspaceClassesResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{42}
}
func (x *ListWorkspaceClassesResponse) GetPagination() *PaginationResponse {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListWorkspaceClassesResponse) GetWorkspaceClasses() []*WorkspaceClass {
if x != nil {
return x.WorkspaceClasses
}
return nil
}
type ParseContextURLRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// context_url is the URL to parse
ContextUrl string `protobuf:"bytes,1,opt,name=context_url,json=contextUrl,proto3" json:"context_url,omitempty"`
// configuration_id is the ID of the configuration to use
ConfigurationId string `protobuf:"bytes,2,opt,name=configuration_id,json=configurationId,proto3" json:"configuration_id,omitempty"`
}
func (x *ParseContextURLRequest) Reset() {
*x = ParseContextURLRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParseContextURLRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParseContextURLRequest) ProtoMessage() {}
func (x *ParseContextURLRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[43]
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 ParseContextURLRequest.ProtoReflect.Descriptor instead.
func (*ParseContextURLRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{43}
}
func (x *ParseContextURLRequest) GetContextUrl() string {
if x != nil {
return x.ContextUrl
}
return ""
}
func (x *ParseContextURLRequest) GetConfigurationId() string {
if x != nil {
return x.ConfigurationId
}
return ""
}
type ParseContextURLResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Metadata *WorkspaceMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
Spec *WorkspaceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
}
func (x *ParseContextURLResponse) Reset() {
*x = ParseContextURLResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParseContextURLResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParseContextURLResponse) ProtoMessage() {}
func (x *ParseContextURLResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[44]
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 ParseContextURLResponse.ProtoReflect.Descriptor instead.
func (*ParseContextURLResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{44}
}
func (x *ParseContextURLResponse) GetMetadata() *WorkspaceMetadata {
if x != nil {
return x.Metadata
}
return nil
}
func (x *ParseContextURLResponse) GetSpec() *WorkspaceSpec {
if x != nil {
return x.Spec
}
return nil
}
type WorkspaceClass struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// id is the unique identifier of the workspace class
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// display_name is the human readable name of the workspace class
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// description is a human readable description of the workspace class
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// is_default indicates if this workspace class is the default one
IsDefault bool `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"`
}
func (x *WorkspaceClass) Reset() {
*x = WorkspaceClass{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceClass) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceClass) ProtoMessage() {}
func (x *WorkspaceClass) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[45]
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 WorkspaceClass.ProtoReflect.Descriptor instead.
func (*WorkspaceClass) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{45}
}
func (x *WorkspaceClass) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WorkspaceClass) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *WorkspaceClass) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *WorkspaceClass) GetIsDefault() bool {
if x != nil {
return x.IsDefault
}
return false
}
type CreateWorkspaceSnapshotRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_id specifies the workspace to create snapshot
//
// +required
WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
}
func (x *CreateWorkspaceSnapshotRequest) Reset() {
*x = CreateWorkspaceSnapshotRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateWorkspaceSnapshotRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateWorkspaceSnapshotRequest) ProtoMessage() {}
func (x *CreateWorkspaceSnapshotRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[46]
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 CreateWorkspaceSnapshotRequest.ProtoReflect.Descriptor instead.
func (*CreateWorkspaceSnapshotRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{46}
}
func (x *CreateWorkspaceSnapshotRequest) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
type CreateWorkspaceSnapshotResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snapshot *WorkspaceSnapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
}
func (x *CreateWorkspaceSnapshotResponse) Reset() {
*x = CreateWorkspaceSnapshotResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateWorkspaceSnapshotResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateWorkspaceSnapshotResponse) ProtoMessage() {}
func (x *CreateWorkspaceSnapshotResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[47]
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 CreateWorkspaceSnapshotResponse.ProtoReflect.Descriptor instead.
func (*CreateWorkspaceSnapshotResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{47}
}
func (x *CreateWorkspaceSnapshotResponse) GetSnapshot() *WorkspaceSnapshot {
if x != nil {
return x.Snapshot
}
return nil
}
type WaitForWorkspaceSnapshotRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// snapshot_id specifies the snapshot to wait for
//
// +required
SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
}
func (x *WaitForWorkspaceSnapshotRequest) Reset() {
*x = WaitForWorkspaceSnapshotRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WaitForWorkspaceSnapshotRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WaitForWorkspaceSnapshotRequest) ProtoMessage() {}
func (x *WaitForWorkspaceSnapshotRequest) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[48]
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 WaitForWorkspaceSnapshotRequest.ProtoReflect.Descriptor instead.
func (*WaitForWorkspaceSnapshotRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{48}
}
func (x *WaitForWorkspaceSnapshotRequest) GetSnapshotId() string {
if x != nil {
return x.SnapshotId
}
return ""
}
type WaitForWorkspaceSnapshotResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *WaitForWorkspaceSnapshotResponse) Reset() {
*x = WaitForWorkspaceSnapshotResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WaitForWorkspaceSnapshotResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WaitForWorkspaceSnapshotResponse) ProtoMessage() {}
func (x *WaitForWorkspaceSnapshotResponse) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[49]
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 WaitForWorkspaceSnapshotResponse.ProtoReflect.Descriptor instead.
func (*WaitForWorkspaceSnapshotResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{49}
}
type WorkspaceSnapshot struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// id is the unique identifier of the snapshot
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// workspace_id is the source workspace id of snapshot
WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
CreationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
}
func (x *WorkspaceSnapshot) Reset() {
*x = WorkspaceSnapshot{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSnapshot) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSnapshot) ProtoMessage() {}
func (x *WorkspaceSnapshot) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[50]
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 WorkspaceSnapshot.ProtoReflect.Descriptor instead.
func (*WorkspaceSnapshot) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{50}
}
func (x *WorkspaceSnapshot) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WorkspaceSnapshot) GetWorkspaceId() string {
if x != nil {
return x.WorkspaceId
}
return ""
}
func (x *WorkspaceSnapshot) GetCreationTime() *timestamppb.Timestamp {
if x != nil {
return x.CreationTime
}
return nil
}
type WorkspaceSession struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Workspace *Workspace `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"`
CreationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
DeployedTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=deployed_time,json=deployedTime,proto3" json:"deployed_time,omitempty"`
StartedTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"`
StoppingTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=stopping_time,json=stoppingTime,proto3" json:"stopping_time,omitempty"`
StoppedTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=stopped_time,json=stoppedTime,proto3" json:"stopped_time,omitempty"`
Metrics *WorkspaceSession_Metrics `protobuf:"bytes,8,opt,name=metrics,proto3" json:"metrics,omitempty"`
Owner *WorkspaceSession_Owner `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"`
Context *WorkspaceSession_WorkspaceContext `protobuf:"bytes,10,opt,name=context,proto3" json:"context,omitempty"`
}
func (x *WorkspaceSession) Reset() {
*x = WorkspaceSession{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession) ProtoMessage() {}
func (x *WorkspaceSession) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[51]
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 WorkspaceSession.ProtoReflect.Descriptor instead.
func (*WorkspaceSession) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51}
}
func (x *WorkspaceSession) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WorkspaceSession) GetWorkspace() *Workspace {
if x != nil {
return x.Workspace
}
return nil
}
func (x *WorkspaceSession) GetCreationTime() *timestamppb.Timestamp {
if x != nil {
return x.CreationTime
}
return nil
}
func (x *WorkspaceSession) GetDeployedTime() *timestamppb.Timestamp {
if x != nil {
return x.DeployedTime
}
return nil
}
func (x *WorkspaceSession) GetStartedTime() *timestamppb.Timestamp {
if x != nil {
return x.StartedTime
}
return nil
}
func (x *WorkspaceSession) GetStoppingTime() *timestamppb.Timestamp {
if x != nil {
return x.StoppingTime
}
return nil
}
func (x *WorkspaceSession) GetStoppedTime() *timestamppb.Timestamp {
if x != nil {
return x.StoppedTime
}
return nil
}
func (x *WorkspaceSession) GetMetrics() *WorkspaceSession_Metrics {
if x != nil {
return x.Metrics
}
return nil
}
func (x *WorkspaceSession) GetOwner() *WorkspaceSession_Owner {
if x != nil {
return x.Owner
}
return nil
}
func (x *WorkspaceSession) GetContext() *WorkspaceSession_WorkspaceContext {
if x != nil {
return x.Context
}
return nil
}
type CreateAndStartWorkspaceRequest_ContextURL struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// url is the URL from which the workspace is created
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// workspace_class is the class of the workspace we ought to start
WorkspaceClass string `protobuf:"bytes,2,opt,name=workspace_class,json=workspaceClass,proto3" json:"workspace_class,omitempty"`
// editor specifies the editor that will be used with this workspace.
Editor *EditorReference `protobuf:"bytes,3,opt,name=editor,proto3" json:"editor,omitempty"`
}
func (x *CreateAndStartWorkspaceRequest_ContextURL) Reset() {
*x = CreateAndStartWorkspaceRequest_ContextURL{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAndStartWorkspaceRequest_ContextURL) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAndStartWorkspaceRequest_ContextURL) ProtoMessage() {}
func (x *CreateAndStartWorkspaceRequest_ContextURL) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[52]
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 CreateAndStartWorkspaceRequest_ContextURL.ProtoReflect.Descriptor instead.
func (*CreateAndStartWorkspaceRequest_ContextURL) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{10, 0}
}
func (x *CreateAndStartWorkspaceRequest_ContextURL) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CreateAndStartWorkspaceRequest_ContextURL) GetWorkspaceClass() string {
if x != nil {
return x.WorkspaceClass
}
return ""
}
func (x *CreateAndStartWorkspaceRequest_ContextURL) GetEditor() *EditorReference {
if x != nil {
return x.Editor
}
return nil
}
// Timeout configures the workspace timeout
type WorkspaceSpec_Timeout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// inactivity is the maximum time of inactivity before the workspace is
// stopped or paused
Inactivity *durationpb.Duration `protobuf:"bytes,1,opt,name=inactivity,proto3" json:"inactivity,omitempty"`
// disconnected is the maximum time of disconnection before the workspace is
// stopped or paused set to zero to disable.
Disconnected *durationpb.Duration `protobuf:"bytes,2,opt,name=disconnected,proto3" json:"disconnected,omitempty"`
// maximum lifetime of the workspace
MaximumLifetime *durationpb.Duration `protobuf:"bytes,3,opt,name=maximum_lifetime,json=maximumLifetime,proto3" json:"maximum_lifetime,omitempty"`
}
func (x *WorkspaceSpec_Timeout) Reset() {
*x = WorkspaceSpec_Timeout{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSpec_Timeout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSpec_Timeout) ProtoMessage() {}
func (x *WorkspaceSpec_Timeout) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[54]
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 WorkspaceSpec_Timeout.ProtoReflect.Descriptor instead.
func (*WorkspaceSpec_Timeout) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24, 0}
}
func (x *WorkspaceSpec_Timeout) GetInactivity() *durationpb.Duration {
if x != nil {
return x.Inactivity
}
return nil
}
func (x *WorkspaceSpec_Timeout) GetDisconnected() *durationpb.Duration {
if x != nil {
return x.Disconnected
}
return nil
}
func (x *WorkspaceSpec_Timeout) GetMaximumLifetime() *durationpb.Duration {
if x != nil {
return x.MaximumLifetime
}
return nil
}
// GitSpec configures the Git available within the workspace
type WorkspaceSpec_GitSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The Git username
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
// The Git email address
Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
}
func (x *WorkspaceSpec_GitSpec) Reset() {
*x = WorkspaceSpec_GitSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSpec_GitSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSpec_GitSpec) ProtoMessage() {}
func (x *WorkspaceSpec_GitSpec) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[55]
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 WorkspaceSpec_GitSpec.ProtoReflect.Descriptor instead.
func (*WorkspaceSpec_GitSpec) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24, 1}
}
func (x *WorkspaceSpec_GitSpec) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *WorkspaceSpec_GitSpec) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
// WorkspaceCondition gives more detailed information as to the state of the
// workspace. Which condition actually has a value depends on the phase the
// workspace is in.
type WorkspaceStatus_WorkspaceConditions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// failed contains the reason the workspace failed to operate. If this field
// is empty, the workspace has not failed.
Failed string `protobuf:"bytes,1,opt,name=failed,proto3" json:"failed,omitempty"`
// failed_reason contains the reason the workspace failed to operate.
// This field is only set if the workspace has failed.
FailedReason WorkspaceStatus_WorkspaceConditions_FailedReason `protobuf:"varint,2,opt,name=failed_reason,json=failedReason,proto3,enum=gitpod.v1.WorkspaceStatus_WorkspaceConditions_FailedReason" json:"failed_reason,omitempty"`
// timeout contains the reason the workspace has timed out. If this field is
// empty, the workspace has not timed out.
Timeout string `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
}
func (x *WorkspaceStatus_WorkspaceConditions) Reset() {
*x = WorkspaceStatus_WorkspaceConditions{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceStatus_WorkspaceConditions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceStatus_WorkspaceConditions) ProtoMessage() {}
func (x *WorkspaceStatus_WorkspaceConditions) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[56]
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 WorkspaceStatus_WorkspaceConditions.ProtoReflect.Descriptor instead.
func (*WorkspaceStatus_WorkspaceConditions) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25, 0}
}
func (x *WorkspaceStatus_WorkspaceConditions) GetFailed() string {
if x != nil {
return x.Failed
}
return ""
}
func (x *WorkspaceStatus_WorkspaceConditions) GetFailedReason() WorkspaceStatus_WorkspaceConditions_FailedReason {
if x != nil {
return x.FailedReason
}
return WorkspaceStatus_WorkspaceConditions_FAILED_REASON_UNSPECIFIED
}
func (x *WorkspaceStatus_WorkspaceConditions) GetTimeout() string {
if x != nil {
return x.Timeout
}
return ""
}
type WorkspaceStatus_PrebuildResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Snapshot points to the content of the prebuild. This string is opaque to
// the cluster manager, and must be returned unaltered.
Snapshot string `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
// The prebuild's error message
ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
}
func (x *WorkspaceStatus_PrebuildResult) Reset() {
*x = WorkspaceStatus_PrebuildResult{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceStatus_PrebuildResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceStatus_PrebuildResult) ProtoMessage() {}
func (x *WorkspaceStatus_PrebuildResult) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[57]
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 WorkspaceStatus_PrebuildResult.ProtoReflect.Descriptor instead.
func (*WorkspaceStatus_PrebuildResult) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25, 1}
}
func (x *WorkspaceStatus_PrebuildResult) GetSnapshot() string {
if x != nil {
return x.Snapshot
}
return ""
}
func (x *WorkspaceStatus_PrebuildResult) GetErrorMessage() string {
if x != nil {
return x.ErrorMessage
}
return ""
}
type WorkspaceInitializer_Spec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Spec:
//
// *WorkspaceInitializer_Spec_Git
// *WorkspaceInitializer_Spec_Snapshot
// *WorkspaceInitializer_Spec_Prebuild
// *WorkspaceInitializer_Spec_Download
Spec isWorkspaceInitializer_Spec_Spec `protobuf_oneof:"spec"`
}
func (x *WorkspaceInitializer_Spec) Reset() {
*x = WorkspaceInitializer_Spec{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceInitializer_Spec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceInitializer_Spec) ProtoMessage() {}
func (x *WorkspaceInitializer_Spec) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[58]
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 WorkspaceInitializer_Spec.ProtoReflect.Descriptor instead.
func (*WorkspaceInitializer_Spec) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{29, 0}
}
func (m *WorkspaceInitializer_Spec) GetSpec() isWorkspaceInitializer_Spec_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *WorkspaceInitializer_Spec) GetGit() *GitInitializer {
if x, ok := x.GetSpec().(*WorkspaceInitializer_Spec_Git); ok {
return x.Git
}
return nil
}
func (x *WorkspaceInitializer_Spec) GetSnapshot() *SnapshotInitializer {
if x, ok := x.GetSpec().(*WorkspaceInitializer_Spec_Snapshot); ok {
return x.Snapshot
}
return nil
}
func (x *WorkspaceInitializer_Spec) GetPrebuild() *PrebuildInitializer {
if x, ok := x.GetSpec().(*WorkspaceInitializer_Spec_Prebuild); ok {
return x.Prebuild
}
return nil
}
func (x *WorkspaceInitializer_Spec) GetDownload() *FileDownloadInitializer {
if x, ok := x.GetSpec().(*WorkspaceInitializer_Spec_Download); ok {
return x.Download
}
return nil
}
type isWorkspaceInitializer_Spec_Spec interface {
isWorkspaceInitializer_Spec_Spec()
}
type WorkspaceInitializer_Spec_Git struct {
Git *GitInitializer `protobuf:"bytes,1,opt,name=git,proto3,oneof"`
}
type WorkspaceInitializer_Spec_Snapshot struct {
Snapshot *SnapshotInitializer `protobuf:"bytes,2,opt,name=snapshot,proto3,oneof"`
}
type WorkspaceInitializer_Spec_Prebuild struct {
Prebuild *PrebuildInitializer `protobuf:"bytes,3,opt,name=prebuild,proto3,oneof"`
}
type WorkspaceInitializer_Spec_Download struct {
Download *FileDownloadInitializer `protobuf:"bytes,4,opt,name=download,proto3,oneof"`
}
func (*WorkspaceInitializer_Spec_Git) isWorkspaceInitializer_Spec_Spec() {}
func (*WorkspaceInitializer_Spec_Snapshot) isWorkspaceInitializer_Spec_Spec() {}
func (*WorkspaceInitializer_Spec_Prebuild) isWorkspaceInitializer_Spec_Spec() {}
func (*WorkspaceInitializer_Spec_Download) isWorkspaceInitializer_Spec_Spec() {}
type GitInitializer_GitConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// custom config values to be set on clone provided through `.gitpod.yml`
CustomConfig map[string]string `protobuf:"bytes,1,rep,name=custom_config,json=customConfig,proto3" json:"custom_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// authentication method
Authentication GitInitializer_AuthMethod `protobuf:"varint,2,opt,name=authentication,proto3,enum=gitpod.v1.GitInitializer_AuthMethod" json:"authentication,omitempty"`
// auth_user is the username used to authenticate the clone
AuthUser string `protobuf:"bytes,3,opt,name=auth_user,json=authUser,proto3" json:"auth_user,omitempty"`
// auth_password is the password used to authenticate the clone (can also be
// an API token)
AuthPassword string `protobuf:"bytes,4,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
// auth_ots is a URL where one can download the authentication secret
// (<username>:<password>) using a GET request.
AuthOts string `protobuf:"bytes,5,opt,name=auth_ots,json=authOts,proto3" json:"auth_ots,omitempty"`
}
func (x *GitInitializer_GitConfig) Reset() {
*x = GitInitializer_GitConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitInitializer_GitConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitInitializer_GitConfig) ProtoMessage() {}
func (x *GitInitializer_GitConfig) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[59]
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 GitInitializer_GitConfig.ProtoReflect.Descriptor instead.
func (*GitInitializer_GitConfig) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{30, 0}
}
func (x *GitInitializer_GitConfig) GetCustomConfig() map[string]string {
if x != nil {
return x.CustomConfig
}
return nil
}
func (x *GitInitializer_GitConfig) GetAuthentication() GitInitializer_AuthMethod {
if x != nil {
return x.Authentication
}
return GitInitializer_AUTH_METHOD_UNSPECIFIED
}
func (x *GitInitializer_GitConfig) GetAuthUser() string {
if x != nil {
return x.AuthUser
}
return ""
}
func (x *GitInitializer_GitConfig) GetAuthPassword() string {
if x != nil {
return x.AuthPassword
}
return ""
}
func (x *GitInitializer_GitConfig) GetAuthOts() string {
if x != nil {
return x.AuthOts
}
return ""
}
type FileDownloadInitializer_FileInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// file_path is relative to the target_location, e.g. if target_location is
// in `/workspace/myrepo` a file_path of `foobar/file` would produce a file
// in `/workspace/myrepo/foobar/file`. file_path must include the filename.
// The FileDownloadInitializer will create any parent directories necessary
// to place the file.
FilePath string `protobuf:"bytes,2,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
// digest is a hash of the file content in the OCI digest format (see
// https://github.com/opencontainers/image-spec/blob/master/descriptor.md#digests).
// This information is used to compute subsequent
// content versions, and to validate the file content was downloaded
// correctly.
Digest string `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
}
func (x *FileDownloadInitializer_FileInfo) Reset() {
*x = FileDownloadInitializer_FileInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileDownloadInitializer_FileInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileDownloadInitializer_FileInfo) ProtoMessage() {}
func (x *FileDownloadInitializer_FileInfo) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[61]
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 FileDownloadInitializer_FileInfo.ProtoReflect.Descriptor instead.
func (*FileDownloadInitializer_FileInfo) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{33, 0}
}
func (x *FileDownloadInitializer_FileInfo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *FileDownloadInitializer_FileInfo) GetFilePath() string {
if x != nil {
return x.FilePath
}
return ""
}
func (x *FileDownloadInitializer_FileInfo) GetDigest() string {
if x != nil {
return x.Digest
}
return ""
}
type UpdateWorkspaceRequest_UpdateWorkspaceMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// name is the name of the workspace as specified by the user
Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
// pinned indicates whether the workspace is pinned
Pinned *bool `protobuf:"varint,2,opt,name=pinned,proto3,oneof" json:"pinned,omitempty"`
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceMetadata) Reset() {
*x = UpdateWorkspaceRequest_UpdateWorkspaceMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspaceRequest_UpdateWorkspaceMetadata) ProtoMessage() {}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceMetadata) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[62]
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 UpdateWorkspaceRequest_UpdateWorkspaceMetadata.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceRequest_UpdateWorkspaceMetadata) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{35, 0}
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceMetadata) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceMetadata) GetPinned() bool {
if x != nil && x.Pinned != nil {
return *x.Pinned
}
return false
}
type UpdateWorkspaceRequest_UpdateTimeout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// inacitivity is the maximum time of inactivity before the workspace is
// stopped or paused
Inactivity *durationpb.Duration `protobuf:"bytes,1,opt,name=inactivity,proto3,oneof" json:"inactivity,omitempty"`
// inacitivity is the maximum time of disconnection before the workspace is
// stopped or paused
Disconnected *durationpb.Duration `protobuf:"bytes,2,opt,name=disconnected,proto3,oneof" json:"disconnected,omitempty"`
}
func (x *UpdateWorkspaceRequest_UpdateTimeout) Reset() {
*x = UpdateWorkspaceRequest_UpdateTimeout{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspaceRequest_UpdateTimeout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspaceRequest_UpdateTimeout) ProtoMessage() {}
func (x *UpdateWorkspaceRequest_UpdateTimeout) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[63]
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 UpdateWorkspaceRequest_UpdateTimeout.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceRequest_UpdateTimeout) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{35, 1}
}
func (x *UpdateWorkspaceRequest_UpdateTimeout) GetInactivity() *durationpb.Duration {
if x != nil {
return x.Inactivity
}
return nil
}
func (x *UpdateWorkspaceRequest_UpdateTimeout) GetDisconnected() *durationpb.Duration {
if x != nil {
return x.Disconnected
}
return nil
}
type UpdateWorkspaceRequest_UpdateWorkspaceSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// timeout configures the workspace timeout
Timeout *UpdateWorkspaceRequest_UpdateTimeout `protobuf:"bytes,1,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// admission controls who can access the workspace and its ports.
Admission *AdmissionLevel `protobuf:"varint,2,opt,name=admission,proto3,enum=gitpod.v1.AdmissionLevel,oneof" json:"admission,omitempty"`
// Note(cw): repeated fields have implicit presence. There's a difference
// between passing an empty list or nothing.
SshPublicKeys []string `protobuf:"bytes,3,rep,name=ssh_public_keys,json=sshPublicKeys,proto3" json:"ssh_public_keys,omitempty"`
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) Reset() {
*x = UpdateWorkspaceRequest_UpdateWorkspaceSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateWorkspaceRequest_UpdateWorkspaceSpec) ProtoMessage() {}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[64]
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 UpdateWorkspaceRequest_UpdateWorkspaceSpec.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceRequest_UpdateWorkspaceSpec) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{35, 2}
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetTimeout() *UpdateWorkspaceRequest_UpdateTimeout {
if x != nil {
return x.Timeout
}
return nil
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetAdmission() AdmissionLevel {
if x != nil && x.Admission != nil {
return *x.Admission
}
return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
}
func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetSshPublicKeys() []string {
if x != nil {
return x.SshPublicKeys
}
return nil
}
type WorkspaceSession_Owner struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// id is the ID of the user who created the workspace
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// name is the full name of the user who created the workspace
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// avatar_url is the URL of the user's avatar
AvatarUrl string `protobuf:"bytes,3,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
}
func (x *WorkspaceSession_Owner) Reset() {
*x = WorkspaceSession_Owner{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_Owner) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_Owner) ProtoMessage() {}
func (x *WorkspaceSession_Owner) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[65]
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 WorkspaceSession_Owner.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_Owner) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 0}
}
func (x *WorkspaceSession_Owner) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WorkspaceSession_Owner) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *WorkspaceSession_Owner) GetAvatarUrl() string {
if x != nil {
return x.AvatarUrl
}
return ""
}
// WorkspaceContext is the git context from which the workspace is created
type WorkspaceSession_WorkspaceContext struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// path is the path of the context (the path following the base repository URL)
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// ref is the branch or tag name of the repository
Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
// ref_type is the type of the ref
RefType WorkspaceSession_WorkspaceContext_RefType `protobuf:"varint,3,opt,name=ref_type,json=refType,proto3,enum=gitpod.v1.WorkspaceSession_WorkspaceContext_RefType" json:"ref_type,omitempty"`
// revision is the commit hash of the context
Revision string `protobuf:"bytes,4,opt,name=revision,proto3" json:"revision,omitempty"`
// repository is the repository of the context
Repository *WorkspaceSession_WorkspaceContext_Repository `protobuf:"bytes,5,opt,name=repository,proto3" json:"repository,omitempty"`
}
func (x *WorkspaceSession_WorkspaceContext) Reset() {
*x = WorkspaceSession_WorkspaceContext{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_WorkspaceContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_WorkspaceContext) ProtoMessage() {}
func (x *WorkspaceSession_WorkspaceContext) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[66]
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 WorkspaceSession_WorkspaceContext.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_WorkspaceContext) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 1}
}
func (x *WorkspaceSession_WorkspaceContext) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext) GetRef() string {
if x != nil {
return x.Ref
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext) GetRefType() WorkspaceSession_WorkspaceContext_RefType {
if x != nil {
return x.RefType
}
return WorkspaceSession_WorkspaceContext_REF_TYPE_UNSPECIFIED
}
func (x *WorkspaceSession_WorkspaceContext) GetRevision() string {
if x != nil {
return x.Revision
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext) GetRepository() *WorkspaceSession_WorkspaceContext_Repository {
if x != nil {
return x.Repository
}
return nil
}
type WorkspaceSession_Metrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// workspace_image_size is the size of the workspace image in bytes
WorkspaceImageSize int64 `protobuf:"varint,1,opt,name=workspace_image_size,json=workspaceImageSize,proto3" json:"workspace_image_size,omitempty"`
// total_image_size is the total size of the image in bytes (includes Gitpod-specific layers like IDE)
TotalImageSize int64 `protobuf:"varint,2,opt,name=total_image_size,json=totalImageSize,proto3" json:"total_image_size,omitempty"`
// initializer_metrics are all metrics exported from the content initializer on workspace start
InitializerMetrics *WorkspaceSession_InitializerMetrics `protobuf:"bytes,3,opt,name=initializer_metrics,json=initializerMetrics,proto3" json:"initializer_metrics,omitempty"`
}
func (x *WorkspaceSession_Metrics) Reset() {
*x = WorkspaceSession_Metrics{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_Metrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_Metrics) ProtoMessage() {}
func (x *WorkspaceSession_Metrics) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[67]
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 WorkspaceSession_Metrics.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_Metrics) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 2}
}
func (x *WorkspaceSession_Metrics) GetWorkspaceImageSize() int64 {
if x != nil {
return x.WorkspaceImageSize
}
return 0
}
func (x *WorkspaceSession_Metrics) GetTotalImageSize() int64 {
if x != nil {
return x.TotalImageSize
}
return 0
}
func (x *WorkspaceSession_Metrics) GetInitializerMetrics() *WorkspaceSession_InitializerMetrics {
if x != nil {
return x.InitializerMetrics
}
return nil
}
// Add these new message definitions
type WorkspaceSession_InitializerMetric struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// duration in seconds
Duration *durationpb.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"`
// size in bytes
Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
}
func (x *WorkspaceSession_InitializerMetric) Reset() {
*x = WorkspaceSession_InitializerMetric{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_InitializerMetric) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_InitializerMetric) ProtoMessage() {}
func (x *WorkspaceSession_InitializerMetric) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[68]
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 WorkspaceSession_InitializerMetric.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_InitializerMetric) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 3}
}
func (x *WorkspaceSession_InitializerMetric) GetDuration() *durationpb.Duration {
if x != nil {
return x.Duration
}
return nil
}
func (x *WorkspaceSession_InitializerMetric) GetSize() uint64 {
if x != nil {
return x.Size
}
return 0
}
type WorkspaceSession_InitializerMetrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// git contains metrics for the git initializer step
// This is set whenever a `git clone` is issued (mostly on first workspace start)
Git *WorkspaceSession_InitializerMetric `protobuf:"bytes,1,opt,name=git,proto3" json:"git,omitempty"`
// file_download contains metrics for the file download initializer step
// This is set for injecting "additionalFiles" into the workspace.
FileDownload *WorkspaceSession_InitializerMetric `protobuf:"bytes,2,opt,name=file_download,json=fileDownload,proto3" json:"file_download,omitempty"`
// snapshot contains metrics for the snapshot initializer step
// This used for workspaces started from snapshots.
Snapshot *WorkspaceSession_InitializerMetric `protobuf:"bytes,3,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
// backup contains metrics for the backup initializer step
// This is set on subsequent workspace starts, when the file system is restored from backup.
Backup *WorkspaceSession_InitializerMetric `protobuf:"bytes,4,opt,name=backup,proto3" json:"backup,omitempty"`
// prebuild contains metrics for the prebuild initializer step
// This is set if the workspace is based on a prebuild.
Prebuild *WorkspaceSession_InitializerMetric `protobuf:"bytes,5,opt,name=prebuild,proto3" json:"prebuild,omitempty"`
// composite contains metrics for the composite initializer step
// This reports the total if multiple steps are run to initialize the workspace content.
// Examples are:
// - "additionalFiles" injected into the workspace
// - "additionalRepositories" configured
// - incremental Prebuilds
Composite *WorkspaceSession_InitializerMetric `protobuf:"bytes,6,opt,name=composite,proto3" json:"composite,omitempty"`
}
func (x *WorkspaceSession_InitializerMetrics) Reset() {
*x = WorkspaceSession_InitializerMetrics{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_InitializerMetrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_InitializerMetrics) ProtoMessage() {}
func (x *WorkspaceSession_InitializerMetrics) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[69]
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 WorkspaceSession_InitializerMetrics.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_InitializerMetrics) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 4}
}
func (x *WorkspaceSession_InitializerMetrics) GetGit() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.Git
}
return nil
}
func (x *WorkspaceSession_InitializerMetrics) GetFileDownload() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.FileDownload
}
return nil
}
func (x *WorkspaceSession_InitializerMetrics) GetSnapshot() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.Snapshot
}
return nil
}
func (x *WorkspaceSession_InitializerMetrics) GetBackup() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.Backup
}
return nil
}
func (x *WorkspaceSession_InitializerMetrics) GetPrebuild() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.Prebuild
}
return nil
}
func (x *WorkspaceSession_InitializerMetrics) GetComposite() *WorkspaceSession_InitializerMetric {
if x != nil {
return x.Composite
}
return nil
}
type WorkspaceSession_WorkspaceContext_Repository struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// clone_url is the repository url as you would pass it to "git clone".
CloneUrl string `protobuf:"bytes,1,opt,name=clone_url,json=cloneUrl,proto3" json:"clone_url,omitempty"`
// host is the host of the SCM
Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
// owner is the owner of the repository
Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
// name is the name of the repository
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *WorkspaceSession_WorkspaceContext_Repository) Reset() {
*x = WorkspaceSession_WorkspaceContext_Repository{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_workspace_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorkspaceSession_WorkspaceContext_Repository) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSession_WorkspaceContext_Repository) ProtoMessage() {}
func (x *WorkspaceSession_WorkspaceContext_Repository) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_workspace_proto_msgTypes[70]
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 WorkspaceSession_WorkspaceContext_Repository.ProtoReflect.Descriptor instead.
func (*WorkspaceSession_WorkspaceContext_Repository) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{51, 1, 0}
}
func (x *WorkspaceSession_WorkspaceContext_Repository) GetCloneUrl() string {
if x != nil {
return x.CloneUrl
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext_Repository) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext_Repository) GetOwner() string {
if x != nil {
return x.Owner
}
return ""
}
func (x *WorkspaceSession_WorkspaceContext_Repository) GetName() string {
if x != nil {
return x.Name
}
return ""
}
var File_gitpod_v1_workspace_proto protoreflect.FileDescriptor
var file_gitpod_v1_workspace_proto_rawDesc = []byte{
0x0a, 0x19, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x69, 0x74,
0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x16, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76,
0x31, 0x2f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x76, 0x61, 0x72,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76,
0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 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, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x61, 0x64, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67,
0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50,
0x6f, 0x72, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x01, 0x52, 0x08,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f,
0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22,
0x4a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74,
0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x40, 0x0a, 0x1b, 0x57,
0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x75, 0x0a,
0x1c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a,
0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64,
0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c,
0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f,
0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x1f, 0x0a,
0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x65, 0x72, 0x6d, 0x22, 0x8d,
0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61,
0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0xe1,
0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02,
0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x77, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22,
0xa0, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61,
0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0b,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x78, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52,
0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x14, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x7b, 0x0a, 0x0a, 0x43,
0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43,
0x6c, 0x61, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
0x2e, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x52, 0x06, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x22, 0x55, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x53,
0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x70, 0x0a, 0x15, 0x53, 0x74, 0x61,
0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x14, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4c, 0x0a, 0x16, 0x53,
0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x44, 0x0a, 0x1f, 0x47, 0x65, 0x74,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22,
0xfa, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x06,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67,
0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f,
0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f,
0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4f, 0x52,
0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0x5d, 0x0a, 0x14,
0x53, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x53,
0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x49, 0x0a, 0x24, 0x47,
0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x64, 0x69, 0x74, 0x6f,
0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x2d, 0x0a, 0x12, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x64, 0x69,
0x74, 0x6f, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0xb7,
0x01, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x08,
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04,
0x73, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x11, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x19,
0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67,
0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a,
0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x72,
0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75,
0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x08, 0x0a, 0x0d, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x0b, 0x69, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72,
0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x3a, 0x0a,
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x72,
0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f,
0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x15, 0x65, 0x6e, 0x76,
0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32,
0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x47, 0x69, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x03, 0x67,
0x69, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x37,
0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x09, 0x61, 0x64,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x26, 0x0a,
0x0f, 0x73, 0x73, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x61, 0x73, 0x73, 0x65,
0x6d, 0x62, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18,
0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x73, 0x73, 0x65, 0x6d, 0x62,
0x6c, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12,
0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x12,
0x32, 0x0a, 0x06, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, 0x69, 0x74,
0x6f, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x65, 0x64, 0x69,
0x74, 0x6f, 0x72, 0x1a, 0xc9, 0x01, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
0x39, 0x0a, 0x0a, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 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, 0x0a,
0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0c, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x61, 0x78,
0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0f,
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x1a,
0x3b, 0x0a, 0x07, 0x47, 0x69, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73,
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73,
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x68, 0x0a, 0x0d,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a,
0x16, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x57, 0x4f, 0x52,
0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x42,
0x55, 0x49, 0x4c, 0x44, 0x10, 0x02, 0x22, 0xe6, 0x06, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61,
0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6e,
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x50, 0x72, 0x65,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x70, 0x72, 0x65,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x67,
0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09,
0x67, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02,
0x18, 0x01, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x1a, 0xfb,
0x02, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x60,
0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73,
0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x0c, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46,
0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41,
0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49,
0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x46,
0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x43,
0x4b, 0x55, 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20,
0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4d,
0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41,
0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54,
0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x1a, 0x51, 0x0a, 0x0e,
0x50, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
0xfa, 0x01, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
0x76, 0x65, 0x6c, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
0x12, 0x3d, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x2e, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22,
0x4b, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x14, 0x50,
0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f,
0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54,
0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, 0x02, 0x22, 0x8d, 0x03, 0x0a,
0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x69, 0x74, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x75, 0x72, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x55, 0x72, 0x6c,
0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65,
0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x29, 0x0a,
0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c,
0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55,
0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x27,
0x0a, 0x0f, 0x75, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x5f, 0x75, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75,
0x6e, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18,
0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x6e, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x43,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
0x75, 0x6e, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x70,
0x75, 0x73, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x81, 0x03, 0x0a,
0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12,
0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12,
0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x05, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11,
0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x45,
0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x48, 0x41, 0x53,
0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x02, 0x12, 0x11,
0x0a, 0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10,
0x03, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x49,
0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x11, 0x0a,
0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x06,
0x12, 0x15, 0x0a, 0x11, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52,
0x55, 0x50, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x48, 0x41, 0x53, 0x45,
0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x48, 0x41,
0x53, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x11, 0x0a,
0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x0a,
0x22, 0xd0, 0x02, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x70, 0x65,
0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05,
0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, 0xfb, 0x01, 0x0a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2d,
0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x3c, 0x0a,
0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1e, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x48,
0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x70,
0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x62, 0x75, 0x69,
0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x48, 0x00, 0x52,
0x08, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x64, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x48,
0x00, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x73,
0x70, 0x65, 0x63, 0x22, 0xbd, 0x07, 0x0a, 0x0e, 0x47, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f,
0x74, 0x65, 0x55, 0x72, 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61,
0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f,
0x74, 0x65, 0x55, 0x72, 0x69, 0x12, 0x4a, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x69, 0x74,
0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65,
0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64,
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74,
0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69,
0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x47, 0x69, 0x74,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd3,
0x02, 0x0a, 0x09, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x0d,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x47,
0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68,
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74,
0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x41, 0x75, 0x74, 0x68,
0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x55,
0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68,
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68,
0x5f, 0x6f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68,
0x4f, 0x74, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x4f, 0x4e,
0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x43,
0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x23,
0x0a, 0x1f, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4d,
0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49,
0x54, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x41, 0x52,
0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f,
0x42, 0x52, 0x41, 0x4e, 0x43, 0x48, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4c, 0x4f, 0x4e,
0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x4f,
0x43, 0x41, 0x4c, 0x5f, 0x42, 0x52, 0x41, 0x4e, 0x43, 0x48, 0x10, 0x04, 0x22, 0x65, 0x0a, 0x0a,
0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x55,
0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x55, 0x54, 0x48, 0x5f,
0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x41, 0x55, 0x54,
0x48, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48,
0x4f, 0x44, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4f, 0x54,
0x53, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49,
0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e,
0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x13, 0x50,
0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x49, 0x64, 0x22, 0xd8, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12,
0x41, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x6c,
0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72,
0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x51, 0x0a, 0x08, 0x46,
0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c,
0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69,
0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0xe7,
0x02, 0x0a, 0x09, 0x47, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x63,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46,
0x69, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e,
0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x06,
0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x6f, 0x6d,
0x6d, 0x69, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69,
0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01,
0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x70, 0x75, 0x73,
0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0f, 0x75, 0x6e, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x70, 0x75,
0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01,
0x28, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x70, 0x75, 0x73, 0x68, 0x65,
0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0xd6, 0x06, 0x0a, 0x16, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88,
0x01, 0x01, 0x12, 0x4e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x35, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x88,
0x01, 0x01, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e,
0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x69, 0x74, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, 0x18, 0x01, 0x48, 0x02, 0x52, 0x09, 0x67, 0x69, 0x74,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x17, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a,
0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52,
0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x1a, 0xb3,
0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01,
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, 0x48,
0x00, 0x52, 0x0a, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01,
0x12, 0x42, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64,
0x18, 0x02, 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, 0x48, 0x01, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65,
0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x65, 0x64, 0x1a, 0xe5, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x07,
0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x00,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x09,
0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x01, 0x52, 0x09, 0x61, 0x64,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x73,
0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
0x79, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0c,
0x0a, 0x0a, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09,
0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x70,
0x65, 0x63, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x22, 0x4d, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x09,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x22, 0x39, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x53,
0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21,
0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49,
0x64, 0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x1b,
0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61,
0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69,
0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61,
0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x77, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52,
0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65,
0x73, 0x22, 0x64, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
0x74, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x73,
0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a,
0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x84, 0x01, 0x0a, 0x0e,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21,
0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x22, 0x43, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x6e,
0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x22, 0x42, 0x0a, 0x1f, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73,
0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e,
0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x57, 0x61, 0x69, 0x74,
0x46, 0x6f, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, 0x0a,
0x11, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
0x6f, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xef, 0x0e, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x77, 0x6e, 0x65,
0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
0x1a, 0x4a, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a,
0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x1a, 0xca, 0x03, 0x0a,
0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52,
0x07, 0x72, 0x65, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
0x79, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x67, 0x0a,
0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63,
0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05,
0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e,
0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x07, 0x52, 0x65, 0x66, 0x54, 0x79, 0x70,
0x65, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52,
0x45, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x52, 0x41, 0x4e, 0x43, 0x48, 0x10, 0x01,
0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x41, 0x47,
0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52,
0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x1a, 0xc6, 0x01, 0x0a, 0x07, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x5f, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72,
0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x69, 0x74,
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x12,
0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x1a, 0x5e, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 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, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69,
0x7a, 0x65, 0x1a, 0xd3, 0x03, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3f, 0x0a, 0x03, 0x67, 0x69, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e,
0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x52, 0x0a, 0x0d, 0x66, 0x69,
0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49,
0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x49,
0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52,
0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x62, 0x61, 0x63,
0x6b, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
0x12, 0x49, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x52, 0x08, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x09, 0x63,
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x69, 0x74,
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x09, 0x63,
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2a, 0x6f, 0x0a, 0x0e, 0x41, 0x64, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x44,
0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41,
0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4f,
0x57, 0x4e, 0x45, 0x52, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41,
0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45,
0x56, 0x45, 0x52, 0x59, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x32, 0xd3, 0x0e, 0x0a, 0x10, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51,
0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x12, 0x6b, 0x0a, 0x14, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61,
0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x57,
0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x70,
0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e,
0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x74, 0x61,
0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x67, 0x69,
0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54,
0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f,
0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74,
0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x12, 0x69, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x50,
0x61, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x12, 0x21,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61,
0x72, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x66, 0x61,
0x75, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54,
0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x12,
0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64,
0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e,
0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e,
0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x12, 0x75, 0x0a, 0x18, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2a, 0x2e, 0x67,
0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x25,
0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42,
0x51, 0x0a, 0x16, 0x69, 0x6f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x70, 0x75, 0x62,
0x6c, 0x69, 0x63, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69, 0x6f, 0x2f,
0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f,
0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_gitpod_v1_workspace_proto_rawDescOnce sync.Once
file_gitpod_v1_workspace_proto_rawDescData = file_gitpod_v1_workspace_proto_rawDesc
)
func file_gitpod_v1_workspace_proto_rawDescGZIP() []byte {
file_gitpod_v1_workspace_proto_rawDescOnce.Do(func() {
file_gitpod_v1_workspace_proto_rawDescData = protoimpl.X.CompressGZIP(file_gitpod_v1_workspace_proto_rawDescData)
})
return file_gitpod_v1_workspace_proto_rawDescData
}
var file_gitpod_v1_workspace_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
var file_gitpod_v1_workspace_proto_msgTypes = make([]protoimpl.MessageInfo, 71)
var file_gitpod_v1_workspace_proto_goTypes = []interface{}{
(AdmissionLevel)(0), // 0: gitpod.v1.AdmissionLevel
(GetWorkspaceDefaultImageResponse_Source)(0), // 1: gitpod.v1.GetWorkspaceDefaultImageResponse.Source
(WorkspaceSpec_WorkspaceType)(0), // 2: gitpod.v1.WorkspaceSpec.WorkspaceType
(WorkspaceStatus_WorkspaceConditions_FailedReason)(0), // 3: gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason
(WorkspacePort_Protocol)(0), // 4: gitpod.v1.WorkspacePort.Protocol
(WorkspacePhase_Phase)(0), // 5: gitpod.v1.WorkspacePhase.Phase
(GitInitializer_CloneTargetMode)(0), // 6: gitpod.v1.GitInitializer.CloneTargetMode
(GitInitializer_AuthMethod)(0), // 7: gitpod.v1.GitInitializer.AuthMethod
(WorkspaceSession_WorkspaceContext_RefType)(0), // 8: gitpod.v1.WorkspaceSession.WorkspaceContext.RefType
(*UpdateWorkspacePortRequest)(nil), // 9: gitpod.v1.UpdateWorkspacePortRequest
(*UpdateWorkspacePortResponse)(nil), // 10: gitpod.v1.UpdateWorkspacePortResponse
(*GetWorkspaceRequest)(nil), // 11: gitpod.v1.GetWorkspaceRequest
(*GetWorkspaceResponse)(nil), // 12: gitpod.v1.GetWorkspaceResponse
(*WatchWorkspaceStatusRequest)(nil), // 13: gitpod.v1.WatchWorkspaceStatusRequest
(*WatchWorkspaceStatusResponse)(nil), // 14: gitpod.v1.WatchWorkspaceStatusResponse
(*ListWorkspacesRequest)(nil), // 15: gitpod.v1.ListWorkspacesRequest
(*ListWorkspacesResponse)(nil), // 16: gitpod.v1.ListWorkspacesResponse
(*ListWorkspaceSessionsRequest)(nil), // 17: gitpod.v1.ListWorkspaceSessionsRequest
(*ListWorkspaceSessionsResponse)(nil), // 18: gitpod.v1.ListWorkspaceSessionsResponse
(*CreateAndStartWorkspaceRequest)(nil), // 19: gitpod.v1.CreateAndStartWorkspaceRequest
(*CreateAndStartWorkspaceResponse)(nil), // 20: gitpod.v1.CreateAndStartWorkspaceResponse
(*StartWorkspaceRequest)(nil), // 21: gitpod.v1.StartWorkspaceRequest
(*StartWorkspaceResponse)(nil), // 22: gitpod.v1.StartWorkspaceResponse
(*GetWorkspaceDefaultImageRequest)(nil), // 23: gitpod.v1.GetWorkspaceDefaultImageRequest
(*GetWorkspaceDefaultImageResponse)(nil), // 24: gitpod.v1.GetWorkspaceDefaultImageResponse
(*SendHeartBeatRequest)(nil), // 25: gitpod.v1.SendHeartBeatRequest
(*SendHeartBeatResponse)(nil), // 26: gitpod.v1.SendHeartBeatResponse
(*GetWorkspaceOwnerTokenRequest)(nil), // 27: gitpod.v1.GetWorkspaceOwnerTokenRequest
(*GetWorkspaceOwnerTokenResponse)(nil), // 28: gitpod.v1.GetWorkspaceOwnerTokenResponse
(*GetWorkspaceEditorCredentialsRequest)(nil), // 29: gitpod.v1.GetWorkspaceEditorCredentialsRequest
(*GetWorkspaceEditorCredentialsResponse)(nil), // 30: gitpod.v1.GetWorkspaceEditorCredentialsResponse
(*Workspace)(nil), // 31: gitpod.v1.Workspace
(*WorkspaceMetadata)(nil), // 32: gitpod.v1.WorkspaceMetadata
(*WorkspaceSpec)(nil), // 33: gitpod.v1.WorkspaceSpec
(*WorkspaceStatus)(nil), // 34: gitpod.v1.WorkspaceStatus
(*WorkspacePort)(nil), // 35: gitpod.v1.WorkspacePort
(*WorkspaceGitStatus)(nil), // 36: gitpod.v1.WorkspaceGitStatus
(*WorkspacePhase)(nil), // 37: gitpod.v1.WorkspacePhase
(*WorkspaceInitializer)(nil), // 38: gitpod.v1.WorkspaceInitializer
(*GitInitializer)(nil), // 39: gitpod.v1.GitInitializer
(*SnapshotInitializer)(nil), // 40: gitpod.v1.SnapshotInitializer
(*PrebuildInitializer)(nil), // 41: gitpod.v1.PrebuildInitializer
(*FileDownloadInitializer)(nil), // 42: gitpod.v1.FileDownloadInitializer
(*GitStatus)(nil), // 43: gitpod.v1.GitStatus
(*UpdateWorkspaceRequest)(nil), // 44: gitpod.v1.UpdateWorkspaceRequest
(*UpdateWorkspaceResponse)(nil), // 45: gitpod.v1.UpdateWorkspaceResponse
(*StopWorkspaceRequest)(nil), // 46: gitpod.v1.StopWorkspaceRequest
(*StopWorkspaceResponse)(nil), // 47: gitpod.v1.StopWorkspaceResponse
(*DeleteWorkspaceRequest)(nil), // 48: gitpod.v1.DeleteWorkspaceRequest
(*DeleteWorkspaceResponse)(nil), // 49: gitpod.v1.DeleteWorkspaceResponse
(*ListWorkspaceClassesRequest)(nil), // 50: gitpod.v1.ListWorkspaceClassesRequest
(*ListWorkspaceClassesResponse)(nil), // 51: gitpod.v1.ListWorkspaceClassesResponse
(*ParseContextURLRequest)(nil), // 52: gitpod.v1.ParseContextURLRequest
(*ParseContextURLResponse)(nil), // 53: gitpod.v1.ParseContextURLResponse
(*WorkspaceClass)(nil), // 54: gitpod.v1.WorkspaceClass
(*CreateWorkspaceSnapshotRequest)(nil), // 55: gitpod.v1.CreateWorkspaceSnapshotRequest
(*CreateWorkspaceSnapshotResponse)(nil), // 56: gitpod.v1.CreateWorkspaceSnapshotResponse
(*WaitForWorkspaceSnapshotRequest)(nil), // 57: gitpod.v1.WaitForWorkspaceSnapshotRequest
(*WaitForWorkspaceSnapshotResponse)(nil), // 58: gitpod.v1.WaitForWorkspaceSnapshotResponse
(*WorkspaceSnapshot)(nil), // 59: gitpod.v1.WorkspaceSnapshot
(*WorkspaceSession)(nil), // 60: gitpod.v1.WorkspaceSession
(*CreateAndStartWorkspaceRequest_ContextURL)(nil), // 61: gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL
nil, // 62: gitpod.v1.WorkspaceMetadata.AnnotationsEntry
(*WorkspaceSpec_Timeout)(nil), // 63: gitpod.v1.WorkspaceSpec.Timeout
(*WorkspaceSpec_GitSpec)(nil), // 64: gitpod.v1.WorkspaceSpec.GitSpec
(*WorkspaceStatus_WorkspaceConditions)(nil), // 65: gitpod.v1.WorkspaceStatus.WorkspaceConditions
(*WorkspaceStatus_PrebuildResult)(nil), // 66: gitpod.v1.WorkspaceStatus.PrebuildResult
(*WorkspaceInitializer_Spec)(nil), // 67: gitpod.v1.WorkspaceInitializer.Spec
(*GitInitializer_GitConfig)(nil), // 68: gitpod.v1.GitInitializer.GitConfig
nil, // 69: gitpod.v1.GitInitializer.GitConfig.CustomConfigEntry
(*FileDownloadInitializer_FileInfo)(nil), // 70: gitpod.v1.FileDownloadInitializer.FileInfo
(*UpdateWorkspaceRequest_UpdateWorkspaceMetadata)(nil), // 71: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata
(*UpdateWorkspaceRequest_UpdateTimeout)(nil), // 72: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout
(*UpdateWorkspaceRequest_UpdateWorkspaceSpec)(nil), // 73: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec
(*WorkspaceSession_Owner)(nil), // 74: gitpod.v1.WorkspaceSession.Owner
(*WorkspaceSession_WorkspaceContext)(nil), // 75: gitpod.v1.WorkspaceSession.WorkspaceContext
(*WorkspaceSession_Metrics)(nil), // 76: gitpod.v1.WorkspaceSession.Metrics
(*WorkspaceSession_InitializerMetric)(nil), // 77: gitpod.v1.WorkspaceSession.InitializerMetric
(*WorkspaceSession_InitializerMetrics)(nil), // 78: gitpod.v1.WorkspaceSession.InitializerMetrics
(*WorkspaceSession_WorkspaceContext_Repository)(nil), // 79: gitpod.v1.WorkspaceSession.WorkspaceContext.Repository
(*PaginationRequest)(nil), // 80: gitpod.v1.PaginationRequest
(*PaginationResponse)(nil), // 81: gitpod.v1.PaginationResponse
(*timestamppb.Timestamp)(nil), // 82: google.protobuf.Timestamp
(*EnvironmentVariable)(nil), // 83: gitpod.v1.EnvironmentVariable
(*EditorReference)(nil), // 84: gitpod.v1.EditorReference
(*durationpb.Duration)(nil), // 85: google.protobuf.Duration
}
var file_gitpod_v1_workspace_proto_depIdxs = []int32{
0, // 0: gitpod.v1.UpdateWorkspacePortRequest.admission:type_name -> gitpod.v1.AdmissionLevel
4, // 1: gitpod.v1.UpdateWorkspacePortRequest.protocol:type_name -> gitpod.v1.WorkspacePort.Protocol
31, // 2: gitpod.v1.GetWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
34, // 3: gitpod.v1.WatchWorkspaceStatusResponse.status:type_name -> gitpod.v1.WorkspaceStatus
80, // 4: gitpod.v1.ListWorkspacesRequest.pagination:type_name -> gitpod.v1.PaginationRequest
81, // 5: gitpod.v1.ListWorkspacesResponse.pagination:type_name -> gitpod.v1.PaginationResponse
31, // 6: gitpod.v1.ListWorkspacesResponse.workspaces:type_name -> gitpod.v1.Workspace
80, // 7: gitpod.v1.ListWorkspaceSessionsRequest.pagination:type_name -> gitpod.v1.PaginationRequest
82, // 8: gitpod.v1.ListWorkspaceSessionsRequest.from:type_name -> google.protobuf.Timestamp
82, // 9: gitpod.v1.ListWorkspaceSessionsRequest.to:type_name -> google.protobuf.Timestamp
81, // 10: gitpod.v1.ListWorkspaceSessionsResponse.pagination:type_name -> gitpod.v1.PaginationResponse
60, // 11: gitpod.v1.ListWorkspaceSessionsResponse.workspace_sessions:type_name -> gitpod.v1.WorkspaceSession
32, // 12: gitpod.v1.CreateAndStartWorkspaceRequest.metadata:type_name -> gitpod.v1.WorkspaceMetadata
61, // 13: gitpod.v1.CreateAndStartWorkspaceRequest.context_url:type_name -> gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL
33, // 14: gitpod.v1.CreateAndStartWorkspaceRequest.spec:type_name -> gitpod.v1.WorkspaceSpec
31, // 15: gitpod.v1.CreateAndStartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
31, // 16: gitpod.v1.StartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
1, // 17: gitpod.v1.GetWorkspaceDefaultImageResponse.source:type_name -> gitpod.v1.GetWorkspaceDefaultImageResponse.Source
32, // 18: gitpod.v1.Workspace.metadata:type_name -> gitpod.v1.WorkspaceMetadata
33, // 19: gitpod.v1.Workspace.spec:type_name -> gitpod.v1.WorkspaceSpec
34, // 20: gitpod.v1.Workspace.status:type_name -> gitpod.v1.WorkspaceStatus
62, // 21: gitpod.v1.WorkspaceMetadata.annotations:type_name -> gitpod.v1.WorkspaceMetadata.AnnotationsEntry
38, // 22: gitpod.v1.WorkspaceSpec.initializer:type_name -> gitpod.v1.WorkspaceInitializer
2, // 23: gitpod.v1.WorkspaceSpec.type:type_name -> gitpod.v1.WorkspaceSpec.WorkspaceType
35, // 24: gitpod.v1.WorkspaceSpec.ports:type_name -> gitpod.v1.WorkspacePort
83, // 25: gitpod.v1.WorkspaceSpec.environment_variables:type_name -> gitpod.v1.EnvironmentVariable
64, // 26: gitpod.v1.WorkspaceSpec.git:type_name -> gitpod.v1.WorkspaceSpec.GitSpec
63, // 27: gitpod.v1.WorkspaceSpec.timeout:type_name -> gitpod.v1.WorkspaceSpec.Timeout
0, // 28: gitpod.v1.WorkspaceSpec.admission:type_name -> gitpod.v1.AdmissionLevel
82, // 29: gitpod.v1.WorkspaceSpec.last_user_activity:type_name -> google.protobuf.Timestamp
84, // 30: gitpod.v1.WorkspaceSpec.editor:type_name -> gitpod.v1.EditorReference
37, // 31: gitpod.v1.WorkspaceStatus.phase:type_name -> gitpod.v1.WorkspacePhase
65, // 32: gitpod.v1.WorkspaceStatus.conditions:type_name -> gitpod.v1.WorkspaceStatus.WorkspaceConditions
66, // 33: gitpod.v1.WorkspaceStatus.prebuild_result:type_name -> gitpod.v1.WorkspaceStatus.PrebuildResult
36, // 34: gitpod.v1.WorkspaceStatus.git_status:type_name -> gitpod.v1.WorkspaceGitStatus
0, // 35: gitpod.v1.WorkspacePort.admission:type_name -> gitpod.v1.AdmissionLevel
4, // 36: gitpod.v1.WorkspacePort.protocol:type_name -> gitpod.v1.WorkspacePort.Protocol
5, // 37: gitpod.v1.WorkspacePhase.name:type_name -> gitpod.v1.WorkspacePhase.Phase
82, // 38: gitpod.v1.WorkspacePhase.last_transition_time:type_name -> google.protobuf.Timestamp
67, // 39: gitpod.v1.WorkspaceInitializer.specs:type_name -> gitpod.v1.WorkspaceInitializer.Spec
6, // 40: gitpod.v1.GitInitializer.target_mode:type_name -> gitpod.v1.GitInitializer.CloneTargetMode
68, // 41: gitpod.v1.GitInitializer.config:type_name -> gitpod.v1.GitInitializer.GitConfig
70, // 42: gitpod.v1.FileDownloadInitializer.files:type_name -> gitpod.v1.FileDownloadInitializer.FileInfo
71, // 43: gitpod.v1.UpdateWorkspaceRequest.metadata:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata
73, // 44: gitpod.v1.UpdateWorkspaceRequest.spec:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec
36, // 45: gitpod.v1.UpdateWorkspaceRequest.git_status:type_name -> gitpod.v1.WorkspaceGitStatus
31, // 46: gitpod.v1.UpdateWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
80, // 47: gitpod.v1.ListWorkspaceClassesRequest.pagination:type_name -> gitpod.v1.PaginationRequest
81, // 48: gitpod.v1.ListWorkspaceClassesResponse.pagination:type_name -> gitpod.v1.PaginationResponse
54, // 49: gitpod.v1.ListWorkspaceClassesResponse.workspace_classes:type_name -> gitpod.v1.WorkspaceClass
32, // 50: gitpod.v1.ParseContextURLResponse.metadata:type_name -> gitpod.v1.WorkspaceMetadata
33, // 51: gitpod.v1.ParseContextURLResponse.spec:type_name -> gitpod.v1.WorkspaceSpec
59, // 52: gitpod.v1.CreateWorkspaceSnapshotResponse.snapshot:type_name -> gitpod.v1.WorkspaceSnapshot
82, // 53: gitpod.v1.WorkspaceSnapshot.creation_time:type_name -> google.protobuf.Timestamp
31, // 54: gitpod.v1.WorkspaceSession.workspace:type_name -> gitpod.v1.Workspace
82, // 55: gitpod.v1.WorkspaceSession.creation_time:type_name -> google.protobuf.Timestamp
82, // 56: gitpod.v1.WorkspaceSession.deployed_time:type_name -> google.protobuf.Timestamp
82, // 57: gitpod.v1.WorkspaceSession.started_time:type_name -> google.protobuf.Timestamp
82, // 58: gitpod.v1.WorkspaceSession.stopping_time:type_name -> google.protobuf.Timestamp
82, // 59: gitpod.v1.WorkspaceSession.stopped_time:type_name -> google.protobuf.Timestamp
76, // 60: gitpod.v1.WorkspaceSession.metrics:type_name -> gitpod.v1.WorkspaceSession.Metrics
74, // 61: gitpod.v1.WorkspaceSession.owner:type_name -> gitpod.v1.WorkspaceSession.Owner
75, // 62: gitpod.v1.WorkspaceSession.context:type_name -> gitpod.v1.WorkspaceSession.WorkspaceContext
84, // 63: gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL.editor:type_name -> gitpod.v1.EditorReference
85, // 64: gitpod.v1.WorkspaceSpec.Timeout.inactivity:type_name -> google.protobuf.Duration
85, // 65: gitpod.v1.WorkspaceSpec.Timeout.disconnected:type_name -> google.protobuf.Duration
85, // 66: gitpod.v1.WorkspaceSpec.Timeout.maximum_lifetime:type_name -> google.protobuf.Duration
3, // 67: gitpod.v1.WorkspaceStatus.WorkspaceConditions.failed_reason:type_name -> gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason
39, // 68: gitpod.v1.WorkspaceInitializer.Spec.git:type_name -> gitpod.v1.GitInitializer
40, // 69: gitpod.v1.WorkspaceInitializer.Spec.snapshot:type_name -> gitpod.v1.SnapshotInitializer
41, // 70: gitpod.v1.WorkspaceInitializer.Spec.prebuild:type_name -> gitpod.v1.PrebuildInitializer
42, // 71: gitpod.v1.WorkspaceInitializer.Spec.download:type_name -> gitpod.v1.FileDownloadInitializer
69, // 72: gitpod.v1.GitInitializer.GitConfig.custom_config:type_name -> gitpod.v1.GitInitializer.GitConfig.CustomConfigEntry
7, // 73: gitpod.v1.GitInitializer.GitConfig.authentication:type_name -> gitpod.v1.GitInitializer.AuthMethod
85, // 74: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout.inactivity:type_name -> google.protobuf.Duration
85, // 75: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout.disconnected:type_name -> google.protobuf.Duration
72, // 76: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec.timeout:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout
0, // 77: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec.admission:type_name -> gitpod.v1.AdmissionLevel
8, // 78: gitpod.v1.WorkspaceSession.WorkspaceContext.ref_type:type_name -> gitpod.v1.WorkspaceSession.WorkspaceContext.RefType
79, // 79: gitpod.v1.WorkspaceSession.WorkspaceContext.repository:type_name -> gitpod.v1.WorkspaceSession.WorkspaceContext.Repository
78, // 80: gitpod.v1.WorkspaceSession.Metrics.initializer_metrics:type_name -> gitpod.v1.WorkspaceSession.InitializerMetrics
85, // 81: gitpod.v1.WorkspaceSession.InitializerMetric.duration:type_name -> google.protobuf.Duration
77, // 82: gitpod.v1.WorkspaceSession.InitializerMetrics.git:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
77, // 83: gitpod.v1.WorkspaceSession.InitializerMetrics.file_download:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
77, // 84: gitpod.v1.WorkspaceSession.InitializerMetrics.snapshot:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
77, // 85: gitpod.v1.WorkspaceSession.InitializerMetrics.backup:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
77, // 86: gitpod.v1.WorkspaceSession.InitializerMetrics.prebuild:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
77, // 87: gitpod.v1.WorkspaceSession.InitializerMetrics.composite:type_name -> gitpod.v1.WorkspaceSession.InitializerMetric
11, // 88: gitpod.v1.WorkspaceService.GetWorkspace:input_type -> gitpod.v1.GetWorkspaceRequest
13, // 89: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:input_type -> gitpod.v1.WatchWorkspaceStatusRequest
15, // 90: gitpod.v1.WorkspaceService.ListWorkspaces:input_type -> gitpod.v1.ListWorkspacesRequest
17, // 91: gitpod.v1.WorkspaceService.ListWorkspaceSessions:input_type -> gitpod.v1.ListWorkspaceSessionsRequest
19, // 92: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:input_type -> gitpod.v1.CreateAndStartWorkspaceRequest
21, // 93: gitpod.v1.WorkspaceService.StartWorkspace:input_type -> gitpod.v1.StartWorkspaceRequest
44, // 94: gitpod.v1.WorkspaceService.UpdateWorkspace:input_type -> gitpod.v1.UpdateWorkspaceRequest
46, // 95: gitpod.v1.WorkspaceService.StopWorkspace:input_type -> gitpod.v1.StopWorkspaceRequest
48, // 96: gitpod.v1.WorkspaceService.DeleteWorkspace:input_type -> gitpod.v1.DeleteWorkspaceRequest
50, // 97: gitpod.v1.WorkspaceService.ListWorkspaceClasses:input_type -> gitpod.v1.ListWorkspaceClassesRequest
52, // 98: gitpod.v1.WorkspaceService.ParseContextURL:input_type -> gitpod.v1.ParseContextURLRequest
23, // 99: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:input_type -> gitpod.v1.GetWorkspaceDefaultImageRequest
25, // 100: gitpod.v1.WorkspaceService.SendHeartBeat:input_type -> gitpod.v1.SendHeartBeatRequest
27, // 101: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:input_type -> gitpod.v1.GetWorkspaceOwnerTokenRequest
29, // 102: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:input_type -> gitpod.v1.GetWorkspaceEditorCredentialsRequest
55, // 103: gitpod.v1.WorkspaceService.CreateWorkspaceSnapshot:input_type -> gitpod.v1.CreateWorkspaceSnapshotRequest
57, // 104: gitpod.v1.WorkspaceService.WaitForWorkspaceSnapshot:input_type -> gitpod.v1.WaitForWorkspaceSnapshotRequest
9, // 105: gitpod.v1.WorkspaceService.UpdateWorkspacePort:input_type -> gitpod.v1.UpdateWorkspacePortRequest
12, // 106: gitpod.v1.WorkspaceService.GetWorkspace:output_type -> gitpod.v1.GetWorkspaceResponse
14, // 107: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:output_type -> gitpod.v1.WatchWorkspaceStatusResponse
16, // 108: gitpod.v1.WorkspaceService.ListWorkspaces:output_type -> gitpod.v1.ListWorkspacesResponse
18, // 109: gitpod.v1.WorkspaceService.ListWorkspaceSessions:output_type -> gitpod.v1.ListWorkspaceSessionsResponse
20, // 110: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:output_type -> gitpod.v1.CreateAndStartWorkspaceResponse
22, // 111: gitpod.v1.WorkspaceService.StartWorkspace:output_type -> gitpod.v1.StartWorkspaceResponse
45, // 112: gitpod.v1.WorkspaceService.UpdateWorkspace:output_type -> gitpod.v1.UpdateWorkspaceResponse
47, // 113: gitpod.v1.WorkspaceService.StopWorkspace:output_type -> gitpod.v1.StopWorkspaceResponse
49, // 114: gitpod.v1.WorkspaceService.DeleteWorkspace:output_type -> gitpod.v1.DeleteWorkspaceResponse
51, // 115: gitpod.v1.WorkspaceService.ListWorkspaceClasses:output_type -> gitpod.v1.ListWorkspaceClassesResponse
53, // 116: gitpod.v1.WorkspaceService.ParseContextURL:output_type -> gitpod.v1.ParseContextURLResponse
24, // 117: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:output_type -> gitpod.v1.GetWorkspaceDefaultImageResponse
26, // 118: gitpod.v1.WorkspaceService.SendHeartBeat:output_type -> gitpod.v1.SendHeartBeatResponse
28, // 119: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:output_type -> gitpod.v1.GetWorkspaceOwnerTokenResponse
30, // 120: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:output_type -> gitpod.v1.GetWorkspaceEditorCredentialsResponse
56, // 121: gitpod.v1.WorkspaceService.CreateWorkspaceSnapshot:output_type -> gitpod.v1.CreateWorkspaceSnapshotResponse
58, // 122: gitpod.v1.WorkspaceService.WaitForWorkspaceSnapshot:output_type -> gitpod.v1.WaitForWorkspaceSnapshotResponse
10, // 123: gitpod.v1.WorkspaceService.UpdateWorkspacePort:output_type -> gitpod.v1.UpdateWorkspacePortResponse
106, // [106:124] is the sub-list for method output_type
88, // [88:106] is the sub-list for method input_type
88, // [88:88] is the sub-list for extension type_name
88, // [88:88] is the sub-list for extension extendee
0, // [0:88] is the sub-list for field type_name
}
func init() { file_gitpod_v1_workspace_proto_init() }
func file_gitpod_v1_workspace_proto_init() {
if File_gitpod_v1_workspace_proto != nil {
return
}
file_gitpod_v1_editor_proto_init()
file_gitpod_v1_envvar_proto_init()
file_gitpod_v1_pagination_proto_init()
if !protoimpl.UnsafeEnabled {
file_gitpod_v1_workspace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspacePortRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspacePortResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WatchWorkspaceStatusRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WatchWorkspaceStatusResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspacesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspacesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspaceSessionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspaceSessionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateAndStartWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateAndStartWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceDefaultImageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceDefaultImageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendHeartBeatRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendHeartBeatResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceOwnerTokenRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceOwnerTokenResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceEditorCredentialsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWorkspaceEditorCredentialsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Workspace); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspacePort); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceGitStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspacePhase); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceInitializer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitInitializer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SnapshotInitializer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrebuildInitializer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileDownloadInitializer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteWorkspaceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteWorkspaceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspaceClassesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListWorkspaceClassesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParseContextURLRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParseContextURLResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceClass); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateWorkspaceSnapshotRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateWorkspaceSnapshotResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WaitForWorkspaceSnapshotRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WaitForWorkspaceSnapshotResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSnapshot); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateAndStartWorkspaceRequest_ContextURL); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSpec_Timeout); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSpec_GitSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceStatus_WorkspaceConditions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceStatus_PrebuildResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceInitializer_Spec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitInitializer_GitConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileDownloadInitializer_FileInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspaceRequest_UpdateWorkspaceMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspaceRequest_UpdateTimeout); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateWorkspaceRequest_UpdateWorkspaceSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_Owner); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_WorkspaceContext); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_Metrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_InitializerMetric); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_InitializerMetrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gitpod_v1_workspace_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorkspaceSession_WorkspaceContext_Repository); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_gitpod_v1_workspace_proto_msgTypes[0].OneofWrappers = []interface{}{}
file_gitpod_v1_workspace_proto_msgTypes[10].OneofWrappers = []interface{}{
(*CreateAndStartWorkspaceRequest_ContextUrl)(nil),
(*CreateAndStartWorkspaceRequest_Spec)(nil),
}
file_gitpod_v1_workspace_proto_msgTypes[35].OneofWrappers = []interface{}{}
file_gitpod_v1_workspace_proto_msgTypes[58].OneofWrappers = []interface{}{
(*WorkspaceInitializer_Spec_Git)(nil),
(*WorkspaceInitializer_Spec_Snapshot)(nil),
(*WorkspaceInitializer_Spec_Prebuild)(nil),
(*WorkspaceInitializer_Spec_Download)(nil),
}
file_gitpod_v1_workspace_proto_msgTypes[62].OneofWrappers = []interface{}{}
file_gitpod_v1_workspace_proto_msgTypes[63].OneofWrappers = []interface{}{}
file_gitpod_v1_workspace_proto_msgTypes[64].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_gitpod_v1_workspace_proto_rawDesc,
NumEnums: 9,
NumMessages: 71,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_gitpod_v1_workspace_proto_goTypes,
DependencyIndexes: file_gitpod_v1_workspace_proto_depIdxs,
EnumInfos: file_gitpod_v1_workspace_proto_enumTypes,
MessageInfos: file_gitpod_v1_workspace_proto_msgTypes,
}.Build()
File_gitpod_v1_workspace_proto = out.File
file_gitpod_v1_workspace_proto_rawDesc = nil
file_gitpod_v1_workspace_proto_goTypes = nil
file_gitpod_v1_workspace_proto_depIdxs = nil
}