@@ -105,5 +105,5 @@ export const WorkspaceEntry: FunctionComponent
= ({ info, shortVersion })
export function getProjectPath(ws: Workspace) {
// TODO: Remove and call papi ContextService
- return ws.metadata!.originalContextUrl.replace("https://", "");
+ return ws.contextUrl.replace("https://", "");
}
diff --git a/components/dashboard/src/workspaces/WorkspaceOverflowMenu.tsx b/components/dashboard/src/workspaces/WorkspaceOverflowMenu.tsx
index 9b8b95be7e7881..953dd742f69d0b 100644
--- a/components/dashboard/src/workspaces/WorkspaceOverflowMenu.tsx
+++ b/components/dashboard/src/workspaces/WorkspaceOverflowMenu.tsx
@@ -60,13 +60,15 @@ export const WorkspaceEntryOverflowMenu: FunctionComponent {
const newLevel =
- workspace.spec?.admission === AdmissionLevel.EVERYONE ? AdmissionLevel.OWNER_ONLY : AdmissionLevel.EVERYONE;
+ workspace.status?.admission === AdmissionLevel.EVERYONE
+ ? AdmissionLevel.OWNER_ONLY
+ : AdmissionLevel.EVERYONE;
toggleWorkspaceShared.mutate({
workspaceId: workspace.id,
level: newLevel,
});
- }, [toggleWorkspaceShared, workspace.id, workspace.spec?.admission]);
+ }, [toggleWorkspaceShared, workspace.id, workspace.status?.admission]);
const togglePinned = useCallback(() => {
toggleWorkspacePinned.mutate({
@@ -127,12 +129,12 @@ export const WorkspaceEntryOverflowMenu: FunctionComponent {
const { filteredActiveWorkspaces, filteredInactiveWorkspaces } = useMemo(() => {
const filteredActiveWorkspaces = activeWorkspaces.filter(
(info) =>
- `${info.metadata!.name}${info.id}${info.metadata!.originalContextUrl}${
- info.status?.gitStatus?.cloneUrl
- }${info.status?.gitStatus?.branch}`
+ `${info.name}${info.id}${info.contextUrl}${info.status?.gitStatus?.cloneUrl}${info.status?.gitStatus?.branch}`
.toLowerCase()
.indexOf(searchTerm.toLowerCase()) !== -1,
);
const filteredInactiveWorkspaces = inactiveWorkspaces.filter(
(info) =>
- `${info.metadata!.name}${info.id}${info.metadata!.originalContextUrl}${
- info.status?.gitStatus?.cloneUrl
- }${info.status?.gitStatus?.branch}`
+ `${info.name}${info.id}${info.contextUrl}${info.status?.gitStatus?.cloneUrl}${info.status?.gitStatus?.branch}`
.toLowerCase()
.indexOf(searchTerm.toLowerCase()) !== -1,
);
@@ -205,5 +201,5 @@ function isWorkspaceActive(info: Workspace): boolean {
const twentyfourHoursAgo = hoursBefore(new Date().toISOString(), 24);
const isStopped = info.status?.phase?.name === WorkspacePhase_Phase.STOPPED;
- return info.metadata!.pinned || !isStopped || isDateSmallerOrEqual(twentyfourHoursAgo, lastSessionStart);
+ return info.pinned || !isStopped || isDateSmallerOrEqual(twentyfourHoursAgo, lastSessionStart);
}
diff --git a/components/public-api/gitpod/v1/envvar.proto b/components/public-api/gitpod/v1/envvar.proto
index b60297ad956bcc..b12376dc14fca8 100644
--- a/components/public-api/gitpod/v1/envvar.proto
+++ b/components/public-api/gitpod/v1/envvar.proto
@@ -142,10 +142,9 @@ message ResolveWorkspaceEnvironmentVariablesRequest {
}
message ResolveWorkspaceEnvironmentVariablesResponse {
+ message EnvironmentVariable {
+ string name = 1;
+ string value = 2;
+ }
repeated EnvironmentVariable environment_variables = 1;
}
-
-message EnvironmentVariable {
- string name = 1;
- string value = 2;
-}
diff --git a/components/public-api/gitpod/v1/workspace.proto b/components/public-api/gitpod/v1/workspace.proto
index ee9b76a8641d61..118c2f0ad575e4 100644
--- a/components/public-api/gitpod/v1/workspace.proto
+++ b/components/public-api/gitpod/v1/workspace.proto
@@ -3,9 +3,7 @@ syntax = "proto3";
package gitpod.v1;
import "gitpod/v1/editor.proto";
-import "gitpod/v1/envvar.proto";
import "gitpod/v1/pagination.proto";
-import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/gitpod-io/gitpod/components/public-api/go/v1";
@@ -32,13 +30,6 @@ service WorkspaceService {
// If the specified workspace is not in stopped phase, this will return the workspace as is.
rpc StartWorkspace(StartWorkspaceRequest) returns (StartWorkspaceResponse) {}
- // UpdateWorkspace updates the workspace.
- rpc UpdateWorkspace(UpdateWorkspaceRequest) returns (UpdateWorkspaceResponse) {}
-
- // ParseContextURL parses a context URL and returns the workspace metadata and spec.
- // Not implemented yet.
- rpc ParseContextURL(ParseContextURLRequest) returns (ParseContextURLResponse) {}
-
// GetWorkspaceDefaultImage returns the default workspace image of specified
// workspace.
rpc GetWorkspaceDefaultImage(GetWorkspaceDefaultImageRequest) returns (GetWorkspaceDefaultImageResponse) {}
@@ -97,43 +88,71 @@ message ListWorkspacesRequest {
}
message ListWorkspacesResponse {
- // pagination contains the pagination options for listing workspaces
- PaginationResponse pagination = 1;
-
// workspaces are the workspaces that matched the query
- repeated Workspace workspaces = 2;
+ repeated Workspace workspaces = 1;
+
+ // pagination contains the pagination options for listing workspaces
+ PaginationResponse pagination = 2;
}
-// Required fields:
-// - metadata.organization_id
-// - metadata.configuration_id
message CreateAndStartWorkspaceRequest {
- message ContextURL {
- // url is the URL from which the workspace is created
- string url = 1;
+ message Git {
+ // clone_url is the URL of the repository to clone
+ string clone_url = 1;
- // workspace_class is the class of the workspace we ought to start
- string workspace_class = 2;
+ // ref is an alternatively symbolic. e.g. refs/tags/v1.0,
+ // empty string means the default branch of the repository
+ string ref = 2;
- // editor specifies the editor that will be used with this workspace.
- EditorReference editor = 3;
+ // create_local_branch is the branch you want to create based on provided
+ // clone_url and ref when workspace started
+ string create_local_branch = 3;
}
- // metadata is data associated with this workspace that's required for other parts of Gitpod to function
- WorkspaceMetadata metadata = 1;
+ // organization_id is the ID of the organization to create the workspace
+ //
+ // +required
+ string organization_id = 1;
- oneof source {
- // context_url is the URL from which the workspace is created
- ContextURL context_url = 2;
+ // configuration_id is the ID of the configuration to use
+ string configuration_id = 2;
- // spec is the configuration of the workspace that's required for the to start the workspace
- WorkspaceSpec spec = 3;
+ // source describes the source refer of workspace.
+ //
+ // +required
+ oneof source {
+ // git describes the source refer of workspace
+ // Obtain available git using the ContextService.ParseContext operation if
+ // not sure about it.
+ Git git = 3;
+
+ // context_url is for backward compatiblity with the current dashboard, use
+ // ContextService.ParseContext get get a Git source instead
+ string context_url = 4 [deprecated = true];
}
+ // additional_env_variables provide additional environment variables to the
+ // workspace.
+ // It will take precedence over environment variables provided by
+ // the user and the configuration
+ repeated WorkspaceEnvironmentVariable additional_env_variables = 5;
+
+ string region = 6;
+
+ // workspace_class is the class of the workspace
+
+ string workspace_class = 7;
+
+ EditorReference editor = 8;
+
+ string name = 9;
+
+ bool pinned = 10;
+
// force_default_config indicates that the workspace should be created with
// the default configuration instead of the configuration provided in
// `.gitpod.yml` file
- bool force_default_config = 4 [deprecated = true];
+ bool force_default_config = 11;
}
message CreateAndStartWorkspaceResponse {
@@ -146,7 +165,7 @@ message StartWorkspaceRequest {
// +required
string workspace_id = 1;
- bool force_default_config = 2 [deprecated = true];
+ bool force_default_config = 2;
}
message StartWorkspaceResponse {
@@ -201,180 +220,95 @@ message GetWorkspaceEditorCredentialsResponse {
// +resource get workspace
message Workspace {
- // ID is a unique identifier of this workspace. No other workspace with the same name must be managed by this workspace manager
string id = 1;
+ // prebuild indicates it is a prebuild
+ // TODO(ak) model prebuilds as a separate resource
+ bool prebuild = 2;
- // Metadata is data associated with this workspace that's required for other parts of Gitpod to function
- WorkspaceMetadata metadata = 2;
+ string organization_id = 3;
- // Spec is the configuration of the workspace that's required for the ws-manager to start the workspace
- WorkspaceSpec spec = 3;
+ string name = 4;
+ bool pinned = 5;
- // Status is the current status of the workspace
- WorkspaceStatus status = 4;
-}
-
-// WorkspaceMetadata is data associated with a workspace that's required for other parts of the system to function
-message WorkspaceMetadata {
- // owner_id is the ID of the Gitpod user to whom we'll bill this workspace and who we consider responsible for its content
- string owner_id = 1;
-
- // organization_id is the ID of the organization that contains the workspace
- string organization_id = 2;
-
- // configuration_id is the ID of the configuration used by this workspace
- string configuration_id = 3;
-
- // annotations are key/value pairs that gets attached to the workspace.
- // +internal - not yet implemented
- map annotations = 4;
-
- // name is the name of the workspace as specified by the user
- string name = 5;
-
- // pinned indicates whether the workspace is pinned
- bool pinned = 6;
-
- // original_context_url is the normalized URL from which the workspace was created
- string original_context_url = 7;
-}
-
-// WorkspaceSpec specifies the configuration of a workspace for a workspace start
-message WorkspaceSpec {
- // Timeout configures the workspace timeout
- message Timeout {
- // inacitivity is the maximum time of inactivity before the workspace is stopped or paused
- google.protobuf.Duration inactivity = 1;
- // inacitivity is the maximum time of disconnection before the workspace is stopped or paused
- // set to zero to disable.
- google.protobuf.Duration disconnected = 2;
- // maximum lifetime of the workspace
- google.protobuf.Duration maximum_lifetime = 3;
- }
+ WorkspaceStatus status = 6;
- // GitSpec configures the Git available within the workspace
- message GitSpec {
- // The Git username
- string username = 1;
-
- // The Git email address
- string email = 2;
- }
-
- // WorkspaceType specifies the purpose/use of a workspace. Different workspace types are handled differently by all parts of the system.
- enum WorkspaceType {
- WORKSPACE_TYPE_UNSPECIFIED = 0;
-
- // Regular workspaces are your off-the-mill workspaces intended for users. They are directly user-facing and hence are most important.
- WORKSPACE_TYPE_REGULAR = 1;
-
- // Prebuild workspaces are workspaces used to pre-build the content of other workspaces. They run headless and have no direct user-interaction.
- WORKSPACE_TYPE_PREBUILD = 2;
- }
-
- // initializer configures how the workspace is to be initialized
- WorkspaceInitializer initializer = 1;
-
- // Type denots the kind of workspace we ought to start
- WorkspaceType type = 2;
-
- // ports is the set of ports which ought to be exposed to the internet
- repeated WorkspacePort ports = 3;
-
- // envvars are user-defined environment variables which ought to be available in the workspace (shim'ed environment)
- repeated EnvironmentVariable environment_variables = 4;
-
- // Git configures the Git user in the workspace
- GitSpec git = 5;
-
- // Timeout configures the workspace timeout
- Timeout timeout = 6;
-
- // admission controlls who can access the workspace and its ports.
- AdmissionLevel admission = 7;
-
- // Class denotes the class of the workspace we ought to start
- string class = 8;
+ // additional_environment_variables provide additional environment variables
+ // which take precedence over environment variables provided by the project
+ // and user.
+ //
+ // +optional
+ repeated WorkspaceEnvironmentVariable additional_environment_variables = 7;
- // ssh_public_keys is user's uploaded ssh public keys
- repeated string ssh_public_keys = 9;
+ // region specifies the region in which the workspace will be created.
+ // Obtain available regions using the ListRegions operation.
+ //
+ // +optional defaults to the user's default region
+ string region = 8;
- // subassembly_references is a list of workspace IDs that this workspace depends on.
- // For example:
- // index.docker.io/gitpod-io/subassmeblies/code:latest
- repeated string subassembly_references = 10;
+ // workspace_class specifies the workspace class with which to create the
+ // workspace. Obtain available workspace classes using the ListWorkspaceClass
+ // operation.
+ //
+ // +optional defaults to the class configured on the project or the cluster's
+ // default class.
+ string workspace_class = 9;
- // last_user_activity is the time when the user last interacted with the workspace
- google.protobuf.Timestamp last_user_activity = 11;
+ // editor specifies the editor that will be used with this workspace.
+ // Obtain available editors using the EditorService.ListEditors operation.
+ //
+ // +optional defaults to the default editor of the user
+ EditorReference editor = 10;
- // log_url is the URL where we stream the workspace's logs to.
- // Can be changed when the workspace is PENDING or STOPPED.
- string log_url = 12;
+ // context_url is the normalized URL from which the workspace was created
+ // TODO(ak) replace with resolveContextURL API
+ string context_url = 11;
- EditorReference editor = 13;
+ // Prebuild ID is the unique identifier of the prebuild
+ // from which this workspace was created
+ // +optional if empty then this workspace was not created from a prebuild
+ string prebuild_id = 12;
}
-// WorkspaceStatus describes a workspace status
message WorkspaceStatus {
- // 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.
- message WorkspaceConditions {
- enum FailedReason {
- 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;
- }
-
- // failed contains the reason the workspace failed to operate. If this field is empty, the workspace has not failed.
- string failed = 1;
-
- // failed_reason contains the reason the workspace failed to operate.
- // This field is only set if the workspace has failed.
- FailedReason failed_reason = 2;
-
- // timeout contains the reason the workspace has timed out. If this field is empty, the workspace has not timed out.
- string timeout = 3;
- }
+ // Phase is a simple, high-level summary of where the workspace is in its
+ // lifecycle. The phase is not intended to be a comprehensive rollup of
+ // observations of the workspace state, nor is it intended to be a
+ // comprehensive state machine.
+ WorkspacePhase phase = 1;
- message PrebuildResult {
- // Snapshot points to the content of the prebuild. This string is opaque to the cluster manager,
- // and must be returned unaltered.
- string snapshot = 1;
+ // message is an optional human-readable message detailing the current phase
+ string message = 2;
- // The prebuild's error message
- string error_message = 2;
- }
+ // workspace_url is the URL of the workspace. Only present when the phase is
+ // running.
+ string workspace_url = 3;
- // version of the status update. Workspace instances themselves are unversioned,
- // but their statuus has different versions.
- // The value of this field has no semantic meaning (e.g. don't interpret it as
- // as a timestemp), but it can be used to impose a partial order.
- // If a.status_version < b.status_version then a was the status before b.
- uint64 status_version = 1;
+ // 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.
+ WorkspaceGitStatus git_status = 4;
- // the phase of a workspace is a simple, high-level summary of where the workspace is in its lifecycle
- WorkspacePhase phase = 2;
+ // ports lists the network ports currently available/known of this workspace
+ repeated WorkspacePort ports = 5;
- // workspace_url contains the URL at which the workspace can be accessed.
- // This field is only set if the workspace is running.
- string workspace_url = 3;
+ // Admission describes who can access a workspace instance and its ports.
+ AdmissionLevel admission = 6;
- // conditions detail the current state of the workspace
- WorkspaceConditions conditions = 4;
+ // Instance ID is the unique identifier of the workspace instance
+ string instance_id = 7;
- // prebuild_result contains the result of a prebuild. Only if the workspace is
- PrebuildResult prebuild_result = 5;
+ // Conditions contains observations of the workspace's current phase.
+ WorkspaceConditions conditions = 8;
+}
- // 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.
- WorkspaceGitStatus git_status = 6;
+message WorkspaceConditions {
+ // failed contains technical details for the failure of the workspace.
+ // +optional If this field is empty, the workspace has not failed.
+ string failed = 1;
- // 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.
- string instance_id = 7 [deprecated = true];
+ // timeout contains the reason the workspace has timed out.
+ // +optional If this field is empty, the workspace has not timed out.
+ string timeout = 2;
}
// Admission level describes who can access a workspace instance and its ports.
@@ -391,6 +325,20 @@ enum AdmissionLevel {
}
message WorkspacePort {
+ // Policy defines the accssbility policy of a workspace port is guarded by an
+ // authentication in the proxy
+ enum Policy {
+ POLICY_UNSPECIFIED = 0;
+
+ // Private means the port is accessible by the workspace owner only using
+ // the workspace port URL
+ POLICY_PRIVATE = 1;
+
+ // Public means the port is accessible by everybody using the workspace port
+ // URL
+ POLICY_PUBLIC = 2;
+ }
+
// Protocol defines the backend protocol of port
enum Protocol {
PROTOCOL_UNSPECIFIED = 0;
@@ -406,7 +354,7 @@ message WorkspacePort {
uint64 port = 1;
// policy of this port
- AdmissionLevel admission = 2;
+ Policy policy = 2;
// url that can be used to access the port
string url = 3;
@@ -489,214 +437,19 @@ message WorkspacePhase {
// become running or stopping anytime soon.
PHASE_INTERRUPTED = 7;
- // Paused means the workspace is currently unavailable, akin to stopped,
- // but faster to wake up.
- PHASE_PAUSED = 8;
-
// Stopping means that the workspace is currently shutting down. It could go
// to stopped every moment.
- PHASE_STOPPING = 9;
+ PHASE_STOPPING = 8;
// Stopped means the workspace ended regularly because it was shut down.
- PHASE_STOPPED = 10;
+ PHASE_STOPPED = 9;
}
Phase name = 1;
google.protobuf.Timestamp last_transition_time = 2;
}
-// WorkspaceInitializer specifies how a workspace is to be initialized
-message WorkspaceInitializer {
- message Spec {
- oneof spec {
- GitInitializer git = 1;
- SnapshotInitializer snapshot = 2;
- PrebuildInitializer prebuild = 3;
- FileDownloadInitializer download = 4;
- }
- }
- repeated Spec specs = 1;
-}
-
-message GitInitializer {
- // CloneTargetMode is the target state in which we want to leave a GitWorkspace
- enum CloneTargetMode {
- CLONE_TARGET_MODE_UNSPECIFIED = 0;
-
- // REMOTE_HEAD has the local WS point at the remote branch head
- CLONE_TARGET_MODE_REMOTE_HEAD = 1;
-
- // REMOTE_COMMIT has the local WS point at a specific commit
- CLONE_TARGET_MODE_REMOTE_COMMIT = 2;
-
- // REMOTE_BRANCH has the local WS point at a remote branch
- CLONE_TARGET_MODE_REMOTE_BRANCH = 3;
-
- // LOCAL_BRANCH creates a local branch in the workspace
- CLONE_TARGET_MODE_LOCAL_BRANCH = 4;
- }
-
- message GitConfig {
- // custom config values to be set on clone provided through `.gitpod.yml`
- map custom_config = 1;
-
- // authentication method
- AuthMethod authentication = 2;
-
- // auth_user is the username used to authenticate the clone
- string auth_user = 3;
-
- // auth_password is the password used to authenticate the clone (can also be an API token)
- string auth_password = 4;
-
- // auth_ots is a URL where one can download the authentication secret (:)
- // using a GET request.
- string auth_ots = 5;
- }
-
- // AuthMethod is the means of authentication used during clone
- enum AuthMethod {
- // NO_AUTH disables authentication during clone
- AUTH_METHOD_UNSPECIFIED = 0;
-
- // BASIC_AUTH uses HTTP basic auth during clone (fails if repo is not cloned through http)
- AUTH_METHOD_BASIC_AUTH = 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.
- AUTH_METHOD_BASIC_AUTH_OTS = 2;
- }
-
- // remote_uri is the Git remote origin
- string remote_uri = 1;
-
- // upstream_Remote_uri is the fork upstream of a repository
- string upstream_remote_uri = 2;
-
- // the target mode determines what gets checked out
- CloneTargetMode target_mode = 3;
-
- // the value for the clone target mode - use depends on the target mode
- string clone_taget = 4;
-
- // a path relative to the workspace root in which the code will be checked out to
- string checkout_location = 5;
-
- // config specifies the Git configuration for this workspace
- GitConfig config = 6;
-}
-
-message SnapshotInitializer {
- // reference of the snapshot to restore
- string snapshot_id = 1;
-}
-
-message PrebuildInitializer {
- // reference of the prebuild to restore
- string prebuild_id = 1;
-}
-
-// FileDownloadInitializer downloads files and uses them as workspace content.
-message FileDownloadInitializer {
- message FileInfo {
- string url = 1;
- // 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.
- string file_path = 2;
- // 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.
- string digest = 3;
- }
- repeated FileInfo files = 1;
- string target_location = 2;
-}
-
-// GitStatus describes the current Git working copy status, akin to a combination of "git status" and "git branch"
-message GitStatus {
- // branch is branch we're currently on
- string branch = 1;
-
- // latest_commit is the most recent commit on the current branch
- string latest_commit = 2;
-
- // uncommited_files is the number of uncommitted files, possibly truncated
- repeated string uncommited_files = 3;
-
- // the total number of uncommited files
- int64 total_uncommited_files = 6;
-
- // untracked_files is the number of untracked files in the workspace, possibly truncated
- repeated string untracked_files = 4;
-
- // the total number of untracked files
- int64 total_untracked_files = 7;
-
- // unpushed_commits is the number of unpushed changes in the workspace, possibly truncated
- repeated string unpushed_commits = 5;
-
- // the total number of unpushed changes
- int64 total_unpushed_commits = 8;
-}
-
-message UpdateWorkspaceRequest {
- message UpdateWorkspaceMetadata {
- // name is the name of the workspace as specified by the user
- optional string name = 1;
-
- // pinned indicates whether the workspace is pinned
- optional bool pinned = 2;
- }
- message UpdateTimeout {
- // inacitivity is the maximum time of inactivity before the workspace is stopped or paused
- optional google.protobuf.Duration inactivity = 1;
- // inacitivity is the maximum time of disconnection before the workspace is stopped or paused
- optional google.protobuf.Duration disconnected = 2;
- }
- message UpdateWorkspaceSpec {
- // Note(cw): Ports cannot be updated here in favour of UpdateWorkspacePorts call which exists so that
- // we can update individual ports.
-
- // timeout configures the workspace timeout
- optional UpdateTimeout timeout = 1;
-
- // admission controlls who can access the workspace and its ports.
- optional AdmissionLevel admission = 2;
-
- // Note(cw): repeated fields have implicit presence. There's a difference between passing an empty list or nothing.
- repeated string ssh_public_keys = 3;
- }
-
- // workspace_id specifies the workspace to update
- //
- // +required
- string workspace_id = 1;
-
- // metadata is data associated with this workspace that's required for other parts of Gitpod to function
- optional UpdateWorkspaceMetadata metadata = 2;
-
- // spec is the configuration of the workspace that's required for the ws-manager to start the workspace
- optional UpdateWorkspaceSpec spec = 3;
-
- // git_status updates the git status of the workspace - this is only here during the migration
- optional WorkspaceGitStatus git_status = 4 [deprecated = true];
-}
-
-message UpdateWorkspaceResponse {
- Workspace workspace = 1;
-}
-
-message ParseContextURLRequest {
- // context_url is the URL to parse
- string context_url = 1;
-
- // configuration_id is the ID of the configuration to use
- string configuration_id = 2;
-}
-
-message ParseContextURLResponse {
- WorkspaceMetadata metadata = 1;
- WorkspaceSpec spec = 2;
+message WorkspaceEnvironmentVariable {
+ string name = 1;
+ string value = 2;
}
diff --git a/components/public-api/go/v1/envvar.pb.go b/components/public-api/go/v1/envvar.pb.go
index 42fe4476dd0474..cff79325cdbf0f 100644
--- a/components/public-api/go/v1/envvar.pb.go
+++ b/components/public-api/go/v1/envvar.pb.go
@@ -1121,7 +1121,7 @@ type ResolveWorkspaceEnvironmentVariablesResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- EnvironmentVariables []*EnvironmentVariable `protobuf:"bytes,1,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
+ EnvironmentVariables []*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable `protobuf:"bytes,1,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
}
func (x *ResolveWorkspaceEnvironmentVariablesResponse) Reset() {
@@ -1156,14 +1156,14 @@ func (*ResolveWorkspaceEnvironmentVariablesResponse) Descriptor() ([]byte, []int
return file_gitpod_v1_envvar_proto_rawDescGZIP(), []int{19}
}
-func (x *ResolveWorkspaceEnvironmentVariablesResponse) GetEnvironmentVariables() []*EnvironmentVariable {
+func (x *ResolveWorkspaceEnvironmentVariablesResponse) GetEnvironmentVariables() []*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable {
if x != nil {
return x.EnvironmentVariables
}
return nil
}
-type EnvironmentVariable struct {
+type ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@@ -1172,8 +1172,8 @@ type EnvironmentVariable struct {
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
-func (x *EnvironmentVariable) Reset() {
- *x = EnvironmentVariable{}
+func (x *ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) Reset() {
+ *x = ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable{}
if protoimpl.UnsafeEnabled {
mi := &file_gitpod_v1_envvar_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1181,13 +1181,13 @@ func (x *EnvironmentVariable) Reset() {
}
}
-func (x *EnvironmentVariable) String() string {
+func (x *ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*EnvironmentVariable) ProtoMessage() {}
+func (*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) ProtoMessage() {}
-func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message {
+func (x *ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) ProtoReflect() protoreflect.Message {
mi := &file_gitpod_v1_envvar_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1199,19 +1199,19 @@ func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use EnvironmentVariable.ProtoReflect.Descriptor instead.
-func (*EnvironmentVariable) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_envvar_proto_rawDescGZIP(), []int{20}
+// Deprecated: Use ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable.ProtoReflect.Descriptor instead.
+func (*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) Descriptor() ([]byte, []int) {
+ return file_gitpod_v1_envvar_proto_rawDescGZIP(), []int{19, 0}
}
-func (x *EnvironmentVariable) GetName() string {
+func (x *ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) GetName() string {
if x != nil {
return x.Name
}
return ""
}
-func (x *EnvironmentVariable) GetValue() string {
+func (x *ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable) GetValue() string {
if x != nil {
return x.Value
}
@@ -1399,120 +1399,123 @@ var file_gitpod_v1_envvar_proto_rawDesc = []byte{
0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 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, 0x83, 0x01, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x6c,
+ 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x6c,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72,
0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x01, 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, 0x22, 0x3f, 0x0a, 0x13,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69,
+ 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
+ 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 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, 0x1a, 0x3f, 0x0a, 0x13, 0x45, 0x6e,
+ 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
+ 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0xaa, 0x01, 0x0a, 0x1c,
0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61,
- 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0xaa, 0x01,
- 0x0a, 0x1c, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72,
- 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e,
- 0x0a, 0x2a, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41,
- 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e,
- 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b,
- 0x0a, 0x27, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41,
- 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e,
- 0x5f, 0x50, 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x45,
- 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41,
- 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56,
- 0x45, 0x52, 0x59, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x02, 0x32, 0xd6, 0x0a, 0x0a, 0x1a, 0x45,
- 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
- 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x4c, 0x69,
- 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
- 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x69, 0x74,
- 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45,
- 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
- 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x69, 0x74,
- 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45,
- 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
- 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01,
- 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69,
- 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12,
- 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
- 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
- 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55,
- 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61,
- 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e,
- 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76,
+ 0x62, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x2a,
+ 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41, 0x52, 0x49,
+ 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55,
+ 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27,
+ 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41, 0x52, 0x49,
+ 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50,
+ 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x45, 0x4e, 0x56,
+ 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c,
+ 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x52,
+ 0x59, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x02, 0x32, 0xd6, 0x0a, 0x0a, 0x1a, 0x45, 0x6e, 0x76,
0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
- 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e,
- 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74,
+ 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
+ 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76,
+ 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
+ 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76,
+ 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x2e,
- 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56,
0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
- 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x9c, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
+ 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69,
+ 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72,
+ 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
+ 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69,
+ 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
+ 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x69,
+ 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73,
+ 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72,
+ 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67,
+ 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55,
+ 0x73, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61,
+ 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x9c, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x69, 0x74,
+ 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
- 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67,
- 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
+ 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x9f, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x69, 0x74,
+ 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
- 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76,
- 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61,
- 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+ 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x67,
- 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
+ 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69,
0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e,
- 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
+ 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f,
+ 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72,
0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38,
- 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
- 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76,
- 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
- 0x12, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61,
- 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74,
- 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
- 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x99, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f,
- 0x6c, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69,
- 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
- 0x12, 0x36, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73,
- 0x6f, 0x6c, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76,
- 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f,
- 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
- 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x42, 0x39, 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,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x99, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76,
+ 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
+ 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x36,
+ 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c,
+ 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72,
+ 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e,
+ 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61,
+ 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x42, 0x39, 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 (
@@ -1530,30 +1533,30 @@ func file_gitpod_v1_envvar_proto_rawDescGZIP() []byte {
var file_gitpod_v1_envvar_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_gitpod_v1_envvar_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_gitpod_v1_envvar_proto_goTypes = []interface{}{
- (EnvironmentVariableAdmission)(0), // 0: gitpod.v1.EnvironmentVariableAdmission
- (*UserEnvironmentVariable)(nil), // 1: gitpod.v1.UserEnvironmentVariable
- (*ListUserEnvironmentVariablesRequest)(nil), // 2: gitpod.v1.ListUserEnvironmentVariablesRequest
- (*ListUserEnvironmentVariablesResponse)(nil), // 3: gitpod.v1.ListUserEnvironmentVariablesResponse
- (*UpdateUserEnvironmentVariableRequest)(nil), // 4: gitpod.v1.UpdateUserEnvironmentVariableRequest
- (*UpdateUserEnvironmentVariableResponse)(nil), // 5: gitpod.v1.UpdateUserEnvironmentVariableResponse
- (*CreateUserEnvironmentVariableRequest)(nil), // 6: gitpod.v1.CreateUserEnvironmentVariableRequest
- (*CreateUserEnvironmentVariableResponse)(nil), // 7: gitpod.v1.CreateUserEnvironmentVariableResponse
- (*DeleteUserEnvironmentVariableRequest)(nil), // 8: gitpod.v1.DeleteUserEnvironmentVariableRequest
- (*DeleteUserEnvironmentVariableResponse)(nil), // 9: gitpod.v1.DeleteUserEnvironmentVariableResponse
- (*ConfigurationEnvironmentVariable)(nil), // 10: gitpod.v1.ConfigurationEnvironmentVariable
- (*ListConfigurationEnvironmentVariablesRequest)(nil), // 11: gitpod.v1.ListConfigurationEnvironmentVariablesRequest
- (*ListConfigurationEnvironmentVariablesResponse)(nil), // 12: gitpod.v1.ListConfigurationEnvironmentVariablesResponse
- (*UpdateConfigurationEnvironmentVariableRequest)(nil), // 13: gitpod.v1.UpdateConfigurationEnvironmentVariableRequest
- (*UpdateConfigurationEnvironmentVariableResponse)(nil), // 14: gitpod.v1.UpdateConfigurationEnvironmentVariableResponse
- (*CreateConfigurationEnvironmentVariableRequest)(nil), // 15: gitpod.v1.CreateConfigurationEnvironmentVariableRequest
- (*CreateConfigurationEnvironmentVariableResponse)(nil), // 16: gitpod.v1.CreateConfigurationEnvironmentVariableResponse
- (*DeleteConfigurationEnvironmentVariableRequest)(nil), // 17: gitpod.v1.DeleteConfigurationEnvironmentVariableRequest
- (*DeleteConfigurationEnvironmentVariableResponse)(nil), // 18: gitpod.v1.DeleteConfigurationEnvironmentVariableResponse
- (*ResolveWorkspaceEnvironmentVariablesRequest)(nil), // 19: gitpod.v1.ResolveWorkspaceEnvironmentVariablesRequest
- (*ResolveWorkspaceEnvironmentVariablesResponse)(nil), // 20: gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse
- (*EnvironmentVariable)(nil), // 21: gitpod.v1.EnvironmentVariable
- (*PaginationRequest)(nil), // 22: gitpod.v1.PaginationRequest
- (*PaginationResponse)(nil), // 23: gitpod.v1.PaginationResponse
+ (EnvironmentVariableAdmission)(0), // 0: gitpod.v1.EnvironmentVariableAdmission
+ (*UserEnvironmentVariable)(nil), // 1: gitpod.v1.UserEnvironmentVariable
+ (*ListUserEnvironmentVariablesRequest)(nil), // 2: gitpod.v1.ListUserEnvironmentVariablesRequest
+ (*ListUserEnvironmentVariablesResponse)(nil), // 3: gitpod.v1.ListUserEnvironmentVariablesResponse
+ (*UpdateUserEnvironmentVariableRequest)(nil), // 4: gitpod.v1.UpdateUserEnvironmentVariableRequest
+ (*UpdateUserEnvironmentVariableResponse)(nil), // 5: gitpod.v1.UpdateUserEnvironmentVariableResponse
+ (*CreateUserEnvironmentVariableRequest)(nil), // 6: gitpod.v1.CreateUserEnvironmentVariableRequest
+ (*CreateUserEnvironmentVariableResponse)(nil), // 7: gitpod.v1.CreateUserEnvironmentVariableResponse
+ (*DeleteUserEnvironmentVariableRequest)(nil), // 8: gitpod.v1.DeleteUserEnvironmentVariableRequest
+ (*DeleteUserEnvironmentVariableResponse)(nil), // 9: gitpod.v1.DeleteUserEnvironmentVariableResponse
+ (*ConfigurationEnvironmentVariable)(nil), // 10: gitpod.v1.ConfigurationEnvironmentVariable
+ (*ListConfigurationEnvironmentVariablesRequest)(nil), // 11: gitpod.v1.ListConfigurationEnvironmentVariablesRequest
+ (*ListConfigurationEnvironmentVariablesResponse)(nil), // 12: gitpod.v1.ListConfigurationEnvironmentVariablesResponse
+ (*UpdateConfigurationEnvironmentVariableRequest)(nil), // 13: gitpod.v1.UpdateConfigurationEnvironmentVariableRequest
+ (*UpdateConfigurationEnvironmentVariableResponse)(nil), // 14: gitpod.v1.UpdateConfigurationEnvironmentVariableResponse
+ (*CreateConfigurationEnvironmentVariableRequest)(nil), // 15: gitpod.v1.CreateConfigurationEnvironmentVariableRequest
+ (*CreateConfigurationEnvironmentVariableResponse)(nil), // 16: gitpod.v1.CreateConfigurationEnvironmentVariableResponse
+ (*DeleteConfigurationEnvironmentVariableRequest)(nil), // 17: gitpod.v1.DeleteConfigurationEnvironmentVariableRequest
+ (*DeleteConfigurationEnvironmentVariableResponse)(nil), // 18: gitpod.v1.DeleteConfigurationEnvironmentVariableResponse
+ (*ResolveWorkspaceEnvironmentVariablesRequest)(nil), // 19: gitpod.v1.ResolveWorkspaceEnvironmentVariablesRequest
+ (*ResolveWorkspaceEnvironmentVariablesResponse)(nil), // 20: gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse
+ (*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable)(nil), // 21: gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.EnvironmentVariable
+ (*PaginationRequest)(nil), // 22: gitpod.v1.PaginationRequest
+ (*PaginationResponse)(nil), // 23: gitpod.v1.PaginationResponse
}
var file_gitpod_v1_envvar_proto_depIdxs = []int32{
22, // 0: gitpod.v1.ListUserEnvironmentVariablesRequest.pagination:type_name -> gitpod.v1.PaginationRequest
@@ -1569,7 +1572,7 @@ var file_gitpod_v1_envvar_proto_depIdxs = []int32{
10, // 10: gitpod.v1.UpdateConfigurationEnvironmentVariableResponse.environment_variable:type_name -> gitpod.v1.ConfigurationEnvironmentVariable
0, // 11: gitpod.v1.CreateConfigurationEnvironmentVariableRequest.admission:type_name -> gitpod.v1.EnvironmentVariableAdmission
10, // 12: gitpod.v1.CreateConfigurationEnvironmentVariableResponse.environment_variable:type_name -> gitpod.v1.ConfigurationEnvironmentVariable
- 21, // 13: gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.environment_variables:type_name -> gitpod.v1.EnvironmentVariable
+ 21, // 13: gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.environment_variables:type_name -> gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.EnvironmentVariable
2, // 14: gitpod.v1.EnvironmentVariableService.ListUserEnvironmentVariables:input_type -> gitpod.v1.ListUserEnvironmentVariablesRequest
4, // 15: gitpod.v1.EnvironmentVariableService.UpdateUserEnvironmentVariable:input_type -> gitpod.v1.UpdateUserEnvironmentVariableRequest
6, // 16: gitpod.v1.EnvironmentVariableService.CreateUserEnvironmentVariable:input_type -> gitpod.v1.CreateUserEnvironmentVariableRequest
@@ -1843,7 +1846,7 @@ func file_gitpod_v1_envvar_proto_init() {
}
}
file_gitpod_v1_envvar_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnvironmentVariable); i {
+ switch v := v.(*ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable); i {
case 0:
return &v.state
case 1:
diff --git a/components/public-api/go/v1/v1connect/workspace.connect.go b/components/public-api/go/v1/v1connect/workspace.connect.go
index b49bbd5e5586ad..6d8cb6d89c2996 100644
--- a/components/public-api/go/v1/v1connect/workspace.connect.go
+++ b/components/public-api/go/v1/v1connect/workspace.connect.go
@@ -47,11 +47,6 @@ type WorkspaceServiceClient interface {
// StartWorkspace starts an existing workspace.
// If the specified workspace is not in stopped phase, this will return the workspace as is.
StartWorkspace(context.Context, *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error)
- // UpdateWorkspace updates the workspace.
- UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error)
- // ParseContextURL parses a context URL and returns the workspace metadata and spec.
- // Not implemented yet.
- ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error)
// GetWorkspaceDefaultImage returns the default workspace image of specified
// workspace.
GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error)
@@ -99,16 +94,6 @@ func NewWorkspaceServiceClient(httpClient connect_go.HTTPClient, baseURL string,
baseURL+"/gitpod.v1.WorkspaceService/StartWorkspace",
opts...,
),
- updateWorkspace: connect_go.NewClient[v1.UpdateWorkspaceRequest, v1.UpdateWorkspaceResponse](
- httpClient,
- baseURL+"/gitpod.v1.WorkspaceService/UpdateWorkspace",
- opts...,
- ),
- parseContextURL: connect_go.NewClient[v1.ParseContextURLRequest, v1.ParseContextURLResponse](
- httpClient,
- baseURL+"/gitpod.v1.WorkspaceService/ParseContextURL",
- opts...,
- ),
getWorkspaceDefaultImage: connect_go.NewClient[v1.GetWorkspaceDefaultImageRequest, v1.GetWorkspaceDefaultImageResponse](
httpClient,
baseURL+"/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage",
@@ -139,8 +124,6 @@ type workspaceServiceClient struct {
listWorkspaces *connect_go.Client[v1.ListWorkspacesRequest, v1.ListWorkspacesResponse]
createAndStartWorkspace *connect_go.Client[v1.CreateAndStartWorkspaceRequest, v1.CreateAndStartWorkspaceResponse]
startWorkspace *connect_go.Client[v1.StartWorkspaceRequest, v1.StartWorkspaceResponse]
- updateWorkspace *connect_go.Client[v1.UpdateWorkspaceRequest, v1.UpdateWorkspaceResponse]
- parseContextURL *connect_go.Client[v1.ParseContextURLRequest, v1.ParseContextURLResponse]
getWorkspaceDefaultImage *connect_go.Client[v1.GetWorkspaceDefaultImageRequest, v1.GetWorkspaceDefaultImageResponse]
sendHeartBeat *connect_go.Client[v1.SendHeartBeatRequest, v1.SendHeartBeatResponse]
getWorkspaceOwnerToken *connect_go.Client[v1.GetWorkspaceOwnerTokenRequest, v1.GetWorkspaceOwnerTokenResponse]
@@ -172,16 +155,6 @@ func (c *workspaceServiceClient) StartWorkspace(ctx context.Context, req *connec
return c.startWorkspace.CallUnary(ctx, req)
}
-// UpdateWorkspace calls gitpod.v1.WorkspaceService.UpdateWorkspace.
-func (c *workspaceServiceClient) UpdateWorkspace(ctx context.Context, req *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error) {
- return c.updateWorkspace.CallUnary(ctx, req)
-}
-
-// ParseContextURL calls gitpod.v1.WorkspaceService.ParseContextURL.
-func (c *workspaceServiceClient) ParseContextURL(ctx context.Context, req *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error) {
- return c.parseContextURL.CallUnary(ctx, req)
-}
-
// GetWorkspaceDefaultImage calls gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage.
func (c *workspaceServiceClient) GetWorkspaceDefaultImage(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error) {
return c.getWorkspaceDefaultImage.CallUnary(ctx, req)
@@ -220,11 +193,6 @@ type WorkspaceServiceHandler interface {
// StartWorkspace starts an existing workspace.
// If the specified workspace is not in stopped phase, this will return the workspace as is.
StartWorkspace(context.Context, *connect_go.Request[v1.StartWorkspaceRequest]) (*connect_go.Response[v1.StartWorkspaceResponse], error)
- // UpdateWorkspace updates the workspace.
- UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error)
- // ParseContextURL parses a context URL and returns the workspace metadata and spec.
- // Not implemented yet.
- ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error)
// GetWorkspaceDefaultImage returns the default workspace image of specified
// workspace.
GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error)
@@ -269,16 +237,6 @@ func NewWorkspaceServiceHandler(svc WorkspaceServiceHandler, opts ...connect_go.
svc.StartWorkspace,
opts...,
))
- mux.Handle("/gitpod.v1.WorkspaceService/UpdateWorkspace", connect_go.NewUnaryHandler(
- "/gitpod.v1.WorkspaceService/UpdateWorkspace",
- svc.UpdateWorkspace,
- opts...,
- ))
- mux.Handle("/gitpod.v1.WorkspaceService/ParseContextURL", connect_go.NewUnaryHandler(
- "/gitpod.v1.WorkspaceService/ParseContextURL",
- svc.ParseContextURL,
- opts...,
- ))
mux.Handle("/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage", connect_go.NewUnaryHandler(
"/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage",
svc.GetWorkspaceDefaultImage,
@@ -325,14 +283,6 @@ func (UnimplementedWorkspaceServiceHandler) StartWorkspace(context.Context, *con
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.StartWorkspace is not implemented"))
}
-func (UnimplementedWorkspaceServiceHandler) UpdateWorkspace(context.Context, *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error) {
- return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.UpdateWorkspace is not implemented"))
-}
-
-func (UnimplementedWorkspaceServiceHandler) ParseContextURL(context.Context, *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error) {
- return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.ParseContextURL is not implemented"))
-}
-
func (UnimplementedWorkspaceServiceHandler) GetWorkspaceDefaultImage(context.Context, *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage is not implemented"))
}
diff --git a/components/public-api/go/v1/v1connect/workspace.proxy.connect.go b/components/public-api/go/v1/v1connect/workspace.proxy.connect.go
index eb29bf1072716b..4fb5753a2737d5 100644
--- a/components/public-api/go/v1/v1connect/workspace.proxy.connect.go
+++ b/components/public-api/go/v1/v1connect/workspace.proxy.connect.go
@@ -59,26 +59,6 @@ func (s *ProxyWorkspaceServiceHandler) StartWorkspace(ctx context.Context, req *
return connect_go.NewResponse(resp), nil
}
-func (s *ProxyWorkspaceServiceHandler) UpdateWorkspace(ctx context.Context, req *connect_go.Request[v1.UpdateWorkspaceRequest]) (*connect_go.Response[v1.UpdateWorkspaceResponse], error) {
- resp, err := s.Client.UpdateWorkspace(ctx, req.Msg)
- if err != nil {
- // TODO(milan): Convert to correct status code
- return nil, err
- }
-
- return connect_go.NewResponse(resp), nil
-}
-
-func (s *ProxyWorkspaceServiceHandler) ParseContextURL(ctx context.Context, req *connect_go.Request[v1.ParseContextURLRequest]) (*connect_go.Response[v1.ParseContextURLResponse], error) {
- resp, err := s.Client.ParseContextURL(ctx, req.Msg)
- if err != nil {
- // TODO(milan): Convert to correct status code
- return nil, err
- }
-
- return connect_go.NewResponse(resp), nil
-}
-
func (s *ProxyWorkspaceServiceHandler) GetWorkspaceDefaultImage(ctx context.Context, req *connect_go.Request[v1.GetWorkspaceDefaultImageRequest]) (*connect_go.Response[v1.GetWorkspaceDefaultImageResponse], error) {
resp, err := s.Client.GetWorkspaceDefaultImage(ctx, req.Msg)
if err != nil {
diff --git a/components/public-api/go/v1/workspace.pb.go b/components/public-api/go/v1/workspace.pb.go
index b50c503660c4a9..28d9a832231cb8 100644
--- a/components/public-api/go/v1/workspace.pb.go
+++ b/components/public-api/go/v1/workspace.pb.go
@@ -13,7 +13,6 @@ 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"
@@ -129,111 +128,59 @@ func (GetWorkspaceDefaultImageResponse_Source) EnumDescriptor() ([]byte, []int)
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{11, 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
+// Policy defines the accssbility policy of a workspace port is guarded by an
+// authentication in the proxy
+type WorkspacePort_Policy 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
+ WorkspacePort_POLICY_UNSPECIFIED WorkspacePort_Policy = 0
+ // Private means the port is accessible by the workspace owner only using
+ // the workspace port URL
+ WorkspacePort_POLICY_PRIVATE WorkspacePort_Policy = 1
+ // Public means the port is accessible by everybody using the workspace port
+ // URL
+ WorkspacePort_POLICY_PUBLIC WorkspacePort_Policy = 2
)
-// Enum value maps for WorkspaceSpec_WorkspaceType.
+// Enum value maps for WorkspacePort_Policy.
var (
- WorkspaceSpec_WorkspaceType_name = map[int32]string{
- 0: "WORKSPACE_TYPE_UNSPECIFIED",
- 1: "WORKSPACE_TYPE_REGULAR",
- 2: "WORKSPACE_TYPE_PREBUILD",
+ WorkspacePort_Policy_name = map[int32]string{
+ 0: "POLICY_UNSPECIFIED",
+ 1: "POLICY_PRIVATE",
+ 2: "POLICY_PUBLIC",
}
- WorkspaceSpec_WorkspaceType_value = map[string]int32{
- "WORKSPACE_TYPE_UNSPECIFIED": 0,
- "WORKSPACE_TYPE_REGULAR": 1,
- "WORKSPACE_TYPE_PREBUILD": 2,
+ WorkspacePort_Policy_value = map[string]int32{
+ "POLICY_UNSPECIFIED": 0,
+ "POLICY_PRIVATE": 1,
+ "POLICY_PUBLIC": 2,
}
)
-func (x WorkspaceSpec_WorkspaceType) Enum() *WorkspaceSpec_WorkspaceType {
- p := new(WorkspaceSpec_WorkspaceType)
+func (x WorkspacePort_Policy) Enum() *WorkspacePort_Policy {
+ p := new(WorkspacePort_Policy)
*p = x
return p
}
-func (x WorkspaceSpec_WorkspaceType) String() string {
+func (x WorkspacePort_Policy) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
-func (WorkspaceSpec_WorkspaceType) Descriptor() protoreflect.EnumDescriptor {
+func (WorkspacePort_Policy) Descriptor() protoreflect.EnumDescriptor {
return file_gitpod_v1_workspace_proto_enumTypes[2].Descriptor()
}
-func (WorkspaceSpec_WorkspaceType) Type() protoreflect.EnumType {
+func (WorkspacePort_Policy) Type() protoreflect.EnumType {
return &file_gitpod_v1_workspace_proto_enumTypes[2]
}
-func (x WorkspaceSpec_WorkspaceType) Number() protoreflect.EnumNumber {
+func (x WorkspacePort_Policy) 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{20, 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{21, 0, 0}
+// Deprecated: Use WorkspacePort_Policy.Descriptor instead.
+func (WorkspacePort_Policy) EnumDescriptor() ([]byte, []int) {
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21, 0}
}
// Protocol defines the backend protocol of port
@@ -272,11 +219,11 @@ func (x WorkspacePort_Protocol) String() string {
}
func (WorkspacePort_Protocol) Descriptor() protoreflect.EnumDescriptor {
- return file_gitpod_v1_workspace_proto_enumTypes[4].Descriptor()
+ return file_gitpod_v1_workspace_proto_enumTypes[3].Descriptor()
}
func (WorkspacePort_Protocol) Type() protoreflect.EnumType {
- return &file_gitpod_v1_workspace_proto_enumTypes[4]
+ return &file_gitpod_v1_workspace_proto_enumTypes[3]
}
func (x WorkspacePort_Protocol) Number() protoreflect.EnumNumber {
@@ -285,7 +232,7 @@ func (x WorkspacePort_Protocol) Number() protoreflect.EnumNumber {
// Deprecated: Use WorkspacePort_Protocol.Descriptor instead.
func (WorkspacePort_Protocol) EnumDescriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{22, 0}
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21, 1}
}
type WorkspacePhase_Phase int32
@@ -323,30 +270,26 @@ const (
// 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
+ WorkspacePhase_PHASE_STOPPING WorkspacePhase_Phase = 8
// Stopped means the workspace ended regularly because it was shut down.
- WorkspacePhase_PHASE_STOPPED WorkspacePhase_Phase = 10
+ WorkspacePhase_PHASE_STOPPED WorkspacePhase_Phase = 9
)
// 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",
+ 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_STOPPING",
+ 9: "PHASE_STOPPED",
}
WorkspacePhase_Phase_value = map[string]int32{
"PHASE_UNSPECIFIED": 0,
@@ -357,9 +300,8 @@ var (
"PHASE_INITIALIZING": 5,
"PHASE_RUNNING": 6,
"PHASE_INTERRUPTED": 7,
- "PHASE_PAUSED": 8,
- "PHASE_STOPPING": 9,
- "PHASE_STOPPED": 10,
+ "PHASE_STOPPING": 8,
+ "PHASE_STOPPED": 9,
}
)
@@ -374,11 +316,11 @@ func (x WorkspacePhase_Phase) String() string {
}
func (WorkspacePhase_Phase) Descriptor() protoreflect.EnumDescriptor {
- return file_gitpod_v1_workspace_proto_enumTypes[5].Descriptor()
+ return file_gitpod_v1_workspace_proto_enumTypes[4].Descriptor()
}
func (WorkspacePhase_Phase) Type() protoreflect.EnumType {
- return &file_gitpod_v1_workspace_proto_enumTypes[5]
+ return &file_gitpod_v1_workspace_proto_enumTypes[4]
}
func (x WorkspacePhase_Phase) Number() protoreflect.EnumNumber {
@@ -387,121 +329,7 @@ func (x WorkspacePhase_Phase) Number() protoreflect.EnumNumber {
// Deprecated: Use WorkspacePhase_Phase.Descriptor instead.
func (WorkspacePhase_Phase) EnumDescriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24, 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{26, 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{26, 1}
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{23, 0}
}
type GetWorkspaceRequest struct {
@@ -790,10 +618,10 @@ type ListWorkspacesResponse struct {
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"`
+ Workspaces []*Workspace `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"`
+ // pagination contains the pagination options for listing workspaces
+ Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
func (x *ListWorkspacesResponse) Reset() {
@@ -828,41 +656,54 @@ func (*ListWorkspacesResponse) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{5}
}
-func (x *ListWorkspacesResponse) GetPagination() *PaginationResponse {
+func (x *ListWorkspacesResponse) GetWorkspaces() []*Workspace {
if x != nil {
- return x.Pagination
+ return x.Workspaces
}
return nil
}
-func (x *ListWorkspacesResponse) GetWorkspaces() []*Workspace {
+func (x *ListWorkspacesResponse) GetPagination() *PaginationResponse {
if x != nil {
- return x.Workspaces
+ return x.Pagination
}
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"`
+ // organization_id is the ID of the organization to create the workspace
+ //
+ // +required
+ OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,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"`
+ // source describes the source refer of workspace.
+ //
+ // +required
+ //
// Types that are assignable to Source:
//
+ // *CreateAndStartWorkspaceRequest_Git_
// *CreateAndStartWorkspaceRequest_ContextUrl
- // *CreateAndStartWorkspaceRequest_Spec
Source isCreateAndStartWorkspaceRequest_Source `protobuf_oneof:"source"`
+ // additional_env_variables provide additional environment variables to the
+ // workspace.
+ // It will take precedence over environment variables provided by
+ // the user and the configuration
+ AdditionalEnvVariables []*WorkspaceEnvironmentVariable `protobuf:"bytes,5,rep,name=additional_env_variables,json=additionalEnvVariables,proto3" json:"additional_env_variables,omitempty"`
+ Region string `protobuf:"bytes,6,opt,name=region,proto3" json:"region,omitempty"`
+ WorkspaceClass string `protobuf:"bytes,7,opt,name=workspace_class,json=workspaceClass,proto3" json:"workspace_class,omitempty"`
+ Editor *EditorReference `protobuf:"bytes,8,opt,name=editor,proto3" json:"editor,omitempty"`
+ Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
+ Pinned bool `protobuf:"varint,10,opt,name=pinned,proto3" json:"pinned,omitempty"`
// 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"`
+ ForceDefaultConfig bool `protobuf:"varint,11,opt,name=force_default_config,json=forceDefaultConfig,proto3" json:"force_default_config,omitempty"`
}
func (x *CreateAndStartWorkspaceRequest) Reset() {
@@ -897,11 +738,18 @@ func (*CreateAndStartWorkspaceRequest) Descriptor() ([]byte, []int) {
return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{6}
}
-func (x *CreateAndStartWorkspaceRequest) GetMetadata() *WorkspaceMetadata {
+func (x *CreateAndStartWorkspaceRequest) GetOrganizationId() string {
+ if x != nil {
+ return x.OrganizationId
+ }
+ return ""
+}
+
+func (x *CreateAndStartWorkspaceRequest) GetConfigurationId() string {
if x != nil {
- return x.Metadata
+ return x.ConfigurationId
}
- return nil
+ return ""
}
func (m *CreateAndStartWorkspaceRequest) GetSource() isCreateAndStartWorkspaceRequest_Source {
@@ -911,21 +759,63 @@ func (m *CreateAndStartWorkspaceRequest) GetSource() isCreateAndStartWorkspaceRe
return nil
}
-func (x *CreateAndStartWorkspaceRequest) GetContextUrl() *CreateAndStartWorkspaceRequest_ContextURL {
+func (x *CreateAndStartWorkspaceRequest) GetGit() *CreateAndStartWorkspaceRequest_Git {
+ if x, ok := x.GetSource().(*CreateAndStartWorkspaceRequest_Git_); ok {
+ return x.Git
+ }
+ return nil
+}
+
+// Deprecated: Do not use.
+func (x *CreateAndStartWorkspaceRequest) GetContextUrl() string {
if x, ok := x.GetSource().(*CreateAndStartWorkspaceRequest_ContextUrl); ok {
return x.ContextUrl
}
+ return ""
+}
+
+func (x *CreateAndStartWorkspaceRequest) GetAdditionalEnvVariables() []*WorkspaceEnvironmentVariable {
+ if x != nil {
+ return x.AdditionalEnvVariables
+ }
return nil
}
-func (x *CreateAndStartWorkspaceRequest) GetSpec() *WorkspaceSpec {
- if x, ok := x.GetSource().(*CreateAndStartWorkspaceRequest_Spec); ok {
- return x.Spec
+func (x *CreateAndStartWorkspaceRequest) GetRegion() string {
+ if x != nil {
+ return x.Region
+ }
+ return ""
+}
+
+func (x *CreateAndStartWorkspaceRequest) GetWorkspaceClass() string {
+ if x != nil {
+ return x.WorkspaceClass
+ }
+ return ""
+}
+
+func (x *CreateAndStartWorkspaceRequest) GetEditor() *EditorReference {
+ if x != nil {
+ return x.Editor
}
return nil
}
-// Deprecated: Do not use.
+func (x *CreateAndStartWorkspaceRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *CreateAndStartWorkspaceRequest) GetPinned() bool {
+ if x != nil {
+ return x.Pinned
+ }
+ return false
+}
+
func (x *CreateAndStartWorkspaceRequest) GetForceDefaultConfig() bool {
if x != nil {
return x.ForceDefaultConfig
@@ -937,19 +827,24 @@ 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_Git_ struct {
+ // git describes the source refer of workspace
+ // Obtain available git using the ContextService.ParseContext operation if
+ // not sure about it.
+ Git *CreateAndStartWorkspaceRequest_Git `protobuf:"bytes,3,opt,name=git,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"`
+type CreateAndStartWorkspaceRequest_ContextUrl struct {
+ // context_url is for backward compatiblity with the current dashboard, use
+ // ContextService.ParseContext get get a Git source instead
+ //
+ // Deprecated: Do not use.
+ ContextUrl string `protobuf:"bytes,4,opt,name=context_url,json=contextUrl,proto3,oneof"`
}
-func (*CreateAndStartWorkspaceRequest_ContextUrl) isCreateAndStartWorkspaceRequest_Source() {}
+func (*CreateAndStartWorkspaceRequest_Git_) isCreateAndStartWorkspaceRequest_Source() {}
-func (*CreateAndStartWorkspaceRequest_Spec) isCreateAndStartWorkspaceRequest_Source() {}
+func (*CreateAndStartWorkspaceRequest_ContextUrl) isCreateAndStartWorkspaceRequest_Source() {}
type CreateAndStartWorkspaceResponse struct {
state protoimpl.MessageState
@@ -1006,9 +901,8 @@ type StartWorkspaceRequest struct {
// 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"`
+ WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
+ ForceDefaultConfig bool `protobuf:"varint,2,opt,name=force_default_config,json=forceDefaultConfig,proto3" json:"force_default_config,omitempty"`
}
func (x *StartWorkspaceRequest) Reset() {
@@ -1050,7 +944,6 @@ func (x *StartWorkspaceRequest) GetWorkspaceId() string {
return ""
}
-// Deprecated: Do not use.
func (x *StartWorkspaceRequest) GetForceDefaultConfig() bool {
if x != nil {
return x.ForceDefaultConfig
@@ -1500,14 +1393,44 @@ type Workspace struct {
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"`
+ // prebuild indicates it is a prebuild
+ // TODO(ak) model prebuilds as a separate resource
+ Prebuild bool `protobuf:"varint,2,opt,name=prebuild,proto3" json:"prebuild,omitempty"`
+ OrganizationId string `protobuf:"bytes,3,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
+ Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
+ Pinned bool `protobuf:"varint,5,opt,name=pinned,proto3" json:"pinned,omitempty"`
+ Status *WorkspaceStatus `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
+ // additional_environment_variables provide additional environment variables
+ // which take precedence over environment variables provided by the project
+ // and user.
+ //
+ // +optional
+ AdditionalEnvironmentVariables []*WorkspaceEnvironmentVariable `protobuf:"bytes,7,rep,name=additional_environment_variables,json=additionalEnvironmentVariables,proto3" json:"additional_environment_variables,omitempty"`
+ // region specifies the region in which the workspace will be created.
+ // Obtain available regions using the ListRegions operation.
+ //
+ // +optional defaults to the user's default region
+ Region string `protobuf:"bytes,8,opt,name=region,proto3" json:"region,omitempty"`
+ // workspace_class specifies the workspace class with which to create the
+ // workspace. Obtain available workspace classes using the ListWorkspaceClass
+ // operation.
+ //
+ // +optional defaults to the class configured on the project or the cluster's
+ // default class.
+ WorkspaceClass string `protobuf:"bytes,9,opt,name=workspace_class,json=workspaceClass,proto3" json:"workspace_class,omitempty"`
+ // editor specifies the editor that will be used with this workspace.
+ // Obtain available editors using the EditorService.ListEditors operation.
+ //
+ // +optional defaults to the default editor of the user
+ Editor *EditorReference `protobuf:"bytes,10,opt,name=editor,proto3" json:"editor,omitempty"`
+ // context_url is the normalized URL from which the workspace was created
+ // TODO(ak) replace with resolveContextURL API
+ ContextUrl string `protobuf:"bytes,11,opt,name=context_url,json=contextUrl,proto3" json:"context_url,omitempty"`
+ // Prebuild ID is the unique identifier of the prebuild
+ // from which this workspace was created
+ // +optional if empty then this workspace was not created from a prebuild
+ PrebuildId string `protobuf:"bytes,12,opt,name=prebuild_id,json=prebuildId,proto3" json:"prebuild_id,omitempty"`
}
func (x *Workspace) Reset() {
@@ -1549,185 +1472,129 @@ func (x *Workspace) GetId() string {
return ""
}
-func (x *Workspace) GetMetadata() *WorkspaceMetadata {
+func (x *Workspace) GetPrebuild() bool {
if x != nil {
- return x.Metadata
+ return x.Prebuild
}
- return nil
+ return false
}
-func (x *Workspace) GetSpec() *WorkspaceSpec {
+func (x *Workspace) GetOrganizationId() string {
if x != nil {
- return x.Spec
+ return x.OrganizationId
}
- return nil
+ return ""
}
-func (x *Workspace) GetStatus() *WorkspaceStatus {
+func (x *Workspace) GetName() string {
if x != nil {
- return x.Status
+ return x.Name
}
- return nil
+ return ""
}
-// 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"`
-}
-
-func (x *WorkspaceMetadata) Reset() {
- *x = WorkspaceMetadata{}
- if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[19]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *Workspace) GetPinned() bool {
+ if x != nil {
+ return x.Pinned
}
+ return false
}
-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[19]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *Workspace) GetStatus() *WorkspaceStatus {
+ if x != nil {
+ return x.Status
}
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use WorkspaceMetadata.ProtoReflect.Descriptor instead.
-func (*WorkspaceMetadata) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{19}
+ return nil
}
-func (x *WorkspaceMetadata) GetOwnerId() string {
+func (x *Workspace) GetAdditionalEnvironmentVariables() []*WorkspaceEnvironmentVariable {
if x != nil {
- return x.OwnerId
+ return x.AdditionalEnvironmentVariables
}
- return ""
+ return nil
}
-func (x *WorkspaceMetadata) GetOrganizationId() string {
+func (x *Workspace) GetRegion() string {
if x != nil {
- return x.OrganizationId
+ return x.Region
}
return ""
}
-func (x *WorkspaceMetadata) GetConfigurationId() string {
+func (x *Workspace) GetWorkspaceClass() string {
if x != nil {
- return x.ConfigurationId
+ return x.WorkspaceClass
}
return ""
}
-func (x *WorkspaceMetadata) GetAnnotations() map[string]string {
+func (x *Workspace) GetEditor() *EditorReference {
if x != nil {
- return x.Annotations
+ return x.Editor
}
return nil
}
-func (x *WorkspaceMetadata) GetName() string {
+func (x *Workspace) GetContextUrl() string {
if x != nil {
- return x.Name
+ return x.ContextUrl
}
return ""
}
-func (x *WorkspaceMetadata) GetPinned() bool {
- if x != nil {
- return x.Pinned
- }
- return false
-}
-
-func (x *WorkspaceMetadata) GetOriginalContextUrl() string {
+func (x *Workspace) GetPrebuildId() string {
if x != nil {
- return x.OriginalContextUrl
+ return x.PrebuildId
}
return ""
}
-// WorkspaceSpec specifies the configuration of a workspace for a workspace start
-type WorkspaceSpec struct {
+type WorkspaceStatus 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 denots 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 controlls 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{}
+ // Phase is a simple, high-level summary of where the workspace is in its
+ // lifecycle. The phase is not intended to be a comprehensive rollup of
+ // observations of the workspace state, nor is it intended to be a
+ // comprehensive state machine.
+ Phase *WorkspacePhase `protobuf:"bytes,1,opt,name=phase,proto3" json:"phase,omitempty"`
+ // message is an optional human-readable message detailing the current phase
+ Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
+ // workspace_url is the URL of the workspace. Only present when the phase is
+ // running.
+ WorkspaceUrl string `protobuf:"bytes,3,opt,name=workspace_url,json=workspaceUrl,proto3" json:"workspace_url,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,4,opt,name=git_status,json=gitStatus,proto3" json:"git_status,omitempty"`
+ // ports lists the network ports currently available/known of this workspace
+ Ports []*WorkspacePort `protobuf:"bytes,5,rep,name=ports,proto3" json:"ports,omitempty"`
+ // Admission describes who can access a workspace instance and its ports.
+ Admission AdmissionLevel `protobuf:"varint,6,opt,name=admission,proto3,enum=gitpod.v1.AdmissionLevel" json:"admission,omitempty"`
+ // Instance ID is the unique identifier of the workspace instance
+ InstanceId string `protobuf:"bytes,7,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
+ // Conditions contains observations of the workspace's current phase.
+ Conditions *WorkspaceConditions `protobuf:"bytes,8,opt,name=conditions,proto3" json:"conditions,omitempty"`
+}
+
+func (x *WorkspaceStatus) Reset() {
+ *x = WorkspaceStatus{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[20]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WorkspaceSpec) String() string {
+func (x *WorkspaceStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WorkspaceSpec) ProtoMessage() {}
+func (*WorkspaceStatus) ProtoMessage() {}
-func (x *WorkspaceSpec) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[20]
+func (x *WorkspaceStatus) 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 {
@@ -1738,151 +1605,97 @@ func (x *WorkspaceSpec) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use WorkspaceSpec.ProtoReflect.Descriptor instead.
-func (*WorkspaceSpec) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{20}
+// Deprecated: Use WorkspaceStatus.ProtoReflect.Descriptor instead.
+func (*WorkspaceStatus) Descriptor() ([]byte, []int) {
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{19}
}
-func (x *WorkspaceSpec) GetInitializer() *WorkspaceInitializer {
+func (x *WorkspaceStatus) GetPhase() *WorkspacePhase {
if x != nil {
- return x.Initializer
+ return x.Phase
}
return nil
}
-func (x *WorkspaceSpec) GetType() WorkspaceSpec_WorkspaceType {
+func (x *WorkspaceStatus) GetMessage() string {
if x != nil {
- return x.Type
+ return x.Message
}
- return WorkspaceSpec_WORKSPACE_TYPE_UNSPECIFIED
+ return ""
}
-func (x *WorkspaceSpec) GetPorts() []*WorkspacePort {
+func (x *WorkspaceStatus) GetWorkspaceUrl() string {
if x != nil {
- return x.Ports
+ return x.WorkspaceUrl
}
- return nil
+ return ""
}
-func (x *WorkspaceSpec) GetEnvironmentVariables() []*EnvironmentVariable {
+func (x *WorkspaceStatus) GetGitStatus() *WorkspaceGitStatus {
if x != nil {
- return x.EnvironmentVariables
+ return x.GitStatus
}
return nil
}
-func (x *WorkspaceSpec) GetGit() *WorkspaceSpec_GitSpec {
+func (x *WorkspaceStatus) GetPorts() []*WorkspacePort {
if x != nil {
- return x.Git
+ return x.Ports
}
return nil
}
-func (x *WorkspaceSpec) GetTimeout() *WorkspaceSpec_Timeout {
+func (x *WorkspaceStatus) GetAdmission() AdmissionLevel {
if x != nil {
- return x.Timeout
+ return x.Admission
}
- return nil
+ return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
}
-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 {
+func (x *WorkspaceStatus) GetInstanceId() string {
if x != nil {
- return x.LogUrl
+ return x.InstanceId
}
return ""
}
-func (x *WorkspaceSpec) GetEditor() *EditorReference {
+func (x *WorkspaceStatus) GetConditions() *WorkspaceConditions {
if x != nil {
- return x.Editor
+ return x.Conditions
}
return nil
}
-// WorkspaceStatus describes a workspace status
-type WorkspaceStatus struct {
+type WorkspaceConditions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // version of the status update. Workspace instances themselves are unversioned,
- // but their statuus has different versions.
- // The value of this field has no semantic meaning (e.g. don't interpret it as
- // as a timestemp), 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"`
+ // failed contains technical details for the failure of the workspace.
+ // +optional If this field is empty, the workspace has not failed.
+ Failed string `protobuf:"bytes,1,opt,name=failed,proto3" json:"failed,omitempty"`
+ // timeout contains the reason the workspace has timed out.
+ // +optional If this field is empty, the workspace has not timed out.
+ Timeout string `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
}
-func (x *WorkspaceStatus) Reset() {
- *x = WorkspaceStatus{}
+func (x *WorkspaceConditions) Reset() {
+ *x = WorkspaceConditions{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WorkspaceStatus) String() string {
+func (x *WorkspaceConditions) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WorkspaceStatus) ProtoMessage() {}
+func (*WorkspaceConditions) ProtoMessage() {}
-func (x *WorkspaceStatus) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
+func (x *WorkspaceConditions) 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 {
@@ -1893,57 +1706,21 @@ func (x *WorkspaceStatus) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use WorkspaceStatus.ProtoReflect.Descriptor instead.
-func (*WorkspaceStatus) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21}
-}
-
-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
+// Deprecated: Use WorkspaceConditions.ProtoReflect.Descriptor instead.
+func (*WorkspaceConditions) Descriptor() ([]byte, []int) {
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{20}
}
-func (x *WorkspaceStatus) GetWorkspaceUrl() string {
+func (x *WorkspaceConditions) GetFailed() string {
if x != nil {
- return x.WorkspaceUrl
+ return x.Failed
}
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 {
+func (x *WorkspaceConditions) GetTimeout() string {
if x != nil {
- return x.InstanceId
+ return x.Timeout
}
return ""
}
@@ -1956,7 +1733,7 @@ type WorkspacePort struct {
// 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"`
+ Policy WorkspacePort_Policy `protobuf:"varint,2,opt,name=policy,proto3,enum=gitpod.v1.WorkspacePort_Policy" json:"policy,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
@@ -1966,7 +1743,7 @@ type WorkspacePort struct {
func (x *WorkspacePort) Reset() {
*x = WorkspacePort{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1979,7 +1756,7 @@ func (x *WorkspacePort) String() string {
func (*WorkspacePort) ProtoMessage() {}
func (x *WorkspacePort) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1992,7 +1769,7 @@ func (x *WorkspacePort) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkspacePort.ProtoReflect.Descriptor instead.
func (*WorkspacePort) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{22}
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21}
}
func (x *WorkspacePort) GetPort() uint64 {
@@ -2002,11 +1779,11 @@ func (x *WorkspacePort) GetPort() uint64 {
return 0
}
-func (x *WorkspacePort) GetAdmission() AdmissionLevel {
+func (x *WorkspacePort) GetPolicy() WorkspacePort_Policy {
if x != nil {
- return x.Admission
+ return x.Policy
}
- return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
+ return WorkspacePort_POLICY_UNSPECIFIED
}
func (x *WorkspacePort) GetUrl() string {
@@ -2054,7 +1831,7 @@ type WorkspaceGitStatus struct {
func (x *WorkspaceGitStatus) Reset() {
*x = WorkspaceGitStatus{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2067,7 +1844,7 @@ func (x *WorkspaceGitStatus) String() string {
func (*WorkspaceGitStatus) ProtoMessage() {}
func (x *WorkspaceGitStatus) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2080,7 +1857,7 @@ func (x *WorkspaceGitStatus) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkspaceGitStatus.ProtoReflect.Descriptor instead.
func (*WorkspaceGitStatus) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{23}
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{22}
}
func (x *WorkspaceGitStatus) GetCloneUrl() string {
@@ -2158,7 +1935,7 @@ type WorkspacePhase struct {
func (x *WorkspacePhase) Reset() {
*x = WorkspacePhase{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[24]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2171,7 +1948,7 @@ func (x *WorkspacePhase) String() string {
func (*WorkspacePhase) ProtoMessage() {}
func (x *WorkspacePhase) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[24]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2184,7 +1961,7 @@ func (x *WorkspacePhase) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkspacePhase.ProtoReflect.Descriptor instead.
func (*WorkspacePhase) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24}
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{23}
}
func (x *WorkspacePhase) GetName() WorkspacePhase_Phase {
@@ -2201,1318 +1978,32 @@ func (x *WorkspacePhase) GetLastTransitionTime() *timestamppb.Timestamp {
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[25]
- 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[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 WorkspaceInitializer.ProtoReflect.Descriptor instead.
-func (*WorkspaceInitializer) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25}
-}
-
-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
- CloneTaget string `protobuf:"bytes,4,opt,name=clone_taget,json=cloneTaget,proto3" json:"clone_taget,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[26]
- 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[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 GitInitializer.ProtoReflect.Descriptor instead.
-func (*GitInitializer) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{26}
-}
-
-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) GetCloneTaget() string {
- if x != nil {
- return x.CloneTaget
- }
- 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[27]
- 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[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 SnapshotInitializer.ProtoReflect.Descriptor instead.
-func (*SnapshotInitializer) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{27}
-}
-
-func (x *SnapshotInitializer) GetSnapshotId() string {
- if x != nil {
- return x.SnapshotId
- }
- return ""
-}
-
-type PrebuildInitializer struct {
+type WorkspaceEnvironmentVariable 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"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
-func (x *PrebuildInitializer) Reset() {
- *x = PrebuildInitializer{}
+func (x *WorkspaceEnvironmentVariable) Reset() {
+ *x = WorkspaceEnvironmentVariable{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[28]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *PrebuildInitializer) String() string {
+func (x *WorkspaceEnvironmentVariable) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*PrebuildInitializer) ProtoMessage() {}
-
-func (x *PrebuildInitializer) 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 PrebuildInitializer.ProtoReflect.Descriptor instead.
-func (*PrebuildInitializer) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{28}
-}
-
-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 (*WorkspaceEnvironmentVariable) ProtoMessage() {}
-func (x *FileDownloadInitializer) Reset() {
- *x = FileDownloadInitializer{}
- if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[29]
- 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[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 FileDownloadInitializer.ProtoReflect.Descriptor instead.
-func (*FileDownloadInitializer) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{29}
-}
-
-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[30]
- 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[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 GitStatus.ProtoReflect.Descriptor instead.
-func (*GitStatus) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{30}
-}
-
-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[31]
- 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[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 UpdateWorkspaceRequest.ProtoReflect.Descriptor instead.
-func (*UpdateWorkspaceRequest) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{31}
-}
-
-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[32]
- 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[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 UpdateWorkspaceResponse.ProtoReflect.Descriptor instead.
-func (*UpdateWorkspaceResponse) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{32}
-}
-
-func (x *UpdateWorkspaceResponse) GetWorkspace() *Workspace {
- if x != nil {
- return x.Workspace
- }
- 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[33]
- 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[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 ParseContextURLRequest.ProtoReflect.Descriptor instead.
-func (*ParseContextURLRequest) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{33}
-}
-
-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[34]
- 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[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 ParseContextURLResponse.ProtoReflect.Descriptor instead.
-func (*ParseContextURLResponse) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{34}
-}
-
-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 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[35]
- 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[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 CreateAndStartWorkspaceRequest_ContextURL.ProtoReflect.Descriptor instead.
-func (*CreateAndStartWorkspaceRequest_ContextURL) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{6, 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
-
- // inacitivity 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"`
- // inacitivity 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[37]
- 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[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 WorkspaceSpec_Timeout.ProtoReflect.Descriptor instead.
-func (*WorkspaceSpec_Timeout) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{20, 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[38]
- 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[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 WorkspaceSpec_GitSpec.ProtoReflect.Descriptor instead.
-func (*WorkspaceSpec_GitSpec) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{20, 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[39]
- 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[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 WorkspaceStatus_WorkspaceConditions.ProtoReflect.Descriptor instead.
-func (*WorkspaceStatus_WorkspaceConditions) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21, 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[40]
- 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[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 WorkspaceStatus_PrebuildResult.ProtoReflect.Descriptor instead.
-func (*WorkspaceStatus_PrebuildResult) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{21, 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[41]
- 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[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 WorkspaceInitializer_Spec.ProtoReflect.Descriptor instead.
-func (*WorkspaceInitializer_Spec) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{25, 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 (:)
- // 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[42]
- 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[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 GitInitializer_GitConfig.ProtoReflect.Descriptor instead.
-func (*GitInitializer_GitConfig) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{26, 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[44]
- 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[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 FileDownloadInitializer_FileInfo.ProtoReflect.Descriptor instead.
-func (*FileDownloadInitializer_FileInfo) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{29, 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[45]
- 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[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 UpdateWorkspaceRequest_UpdateWorkspaceMetadata.ProtoReflect.Descriptor instead.
-func (*UpdateWorkspaceRequest_UpdateWorkspaceMetadata) Descriptor() ([]byte, []int) {
- return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{31, 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[46]
- 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[46]
+func (x *WorkspaceEnvironmentVariable) 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 {
@@ -3523,55 +2014,57 @@ func (x *UpdateWorkspaceRequest_UpdateTimeout) ProtoReflect() protoreflect.Messa
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{31, 1}
+// Deprecated: Use WorkspaceEnvironmentVariable.ProtoReflect.Descriptor instead.
+func (*WorkspaceEnvironmentVariable) Descriptor() ([]byte, []int) {
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{24}
}
-func (x *UpdateWorkspaceRequest_UpdateTimeout) GetInactivity() *durationpb.Duration {
+func (x *WorkspaceEnvironmentVariable) GetName() string {
if x != nil {
- return x.Inactivity
+ return x.Name
}
- return nil
+ return ""
}
-func (x *UpdateWorkspaceRequest_UpdateTimeout) GetDisconnected() *durationpb.Duration {
+func (x *WorkspaceEnvironmentVariable) GetValue() string {
if x != nil {
- return x.Disconnected
+ return x.Value
}
- return nil
+ return ""
}
-type UpdateWorkspaceRequest_UpdateWorkspaceSpec struct {
+type CreateAndStartWorkspaceRequest_Git 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 controlls 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"`
+ // clone_url is the URL of the repository to clone
+ CloneUrl string `protobuf:"bytes,1,opt,name=clone_url,json=cloneUrl,proto3" json:"clone_url,omitempty"`
+ // ref is an alternatively symbolic. e.g. refs/tags/v1.0,
+ // empty string means the default branch of the repository
+ Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
+ // create_local_branch is the branch you want to create based on provided
+ // clone_url and ref when workspace started
+ CreateLocalBranch string `protobuf:"bytes,3,opt,name=create_local_branch,json=createLocalBranch,proto3" json:"create_local_branch,omitempty"`
}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) Reset() {
- *x = UpdateWorkspaceRequest_UpdateWorkspaceSpec{}
+func (x *CreateAndStartWorkspaceRequest_Git) Reset() {
+ *x = CreateAndStartWorkspaceRequest_Git{}
if protoimpl.UnsafeEnabled {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[47]
+ mi := &file_gitpod_v1_workspace_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) String() string {
+func (x *CreateAndStartWorkspaceRequest_Git) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*UpdateWorkspaceRequest_UpdateWorkspaceSpec) ProtoMessage() {}
+func (*CreateAndStartWorkspaceRequest_Git) ProtoMessage() {}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) ProtoReflect() protoreflect.Message {
- mi := &file_gitpod_v1_workspace_proto_msgTypes[47]
+func (x *CreateAndStartWorkspaceRequest_Git) 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 {
@@ -3582,30 +2075,30 @@ func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) ProtoReflect() protoreflect
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{31, 2}
+// Deprecated: Use CreateAndStartWorkspaceRequest_Git.ProtoReflect.Descriptor instead.
+func (*CreateAndStartWorkspaceRequest_Git) Descriptor() ([]byte, []int) {
+ return file_gitpod_v1_workspace_proto_rawDescGZIP(), []int{6, 0}
}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetTimeout() *UpdateWorkspaceRequest_UpdateTimeout {
+func (x *CreateAndStartWorkspaceRequest_Git) GetCloneUrl() string {
if x != nil {
- return x.Timeout
+ return x.CloneUrl
}
- return nil
+ return ""
}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetAdmission() AdmissionLevel {
- if x != nil && x.Admission != nil {
- return *x.Admission
+func (x *CreateAndStartWorkspaceRequest_Git) GetRef() string {
+ if x != nil {
+ return x.Ref
}
- return AdmissionLevel_ADMISSION_LEVEL_UNSPECIFIED
+ return ""
}
-func (x *UpdateWorkspaceRequest_UpdateWorkspaceSpec) GetSshPublicKeys() []string {
+func (x *CreateAndStartWorkspaceRequest_Git) GetCreateLocalBranch() string {
if x != nil {
- return x.SshPublicKeys
+ return x.CreateLocalBranch
}
- return nil
+ return ""
}
var File_gitpod_v1_workspace_proto protoreflect.FileDescriptor
@@ -3614,648 +2107,360 @@ 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, 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, 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,
+ 0x31, 0x2f, 0x65, 0x64, 0x69, 0x74, 0x6f, 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, 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, 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, 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,
+ 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, 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,
+ 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,
+ 0x34, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 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, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x02, 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, 0x22, 0x84, 0x05, 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, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e,
+ 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x03, 0x67,
+ 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 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, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x25,
+ 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x78, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64,
+ 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76,
+ 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x52, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69,
+ 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c,
+ 0x61, 0x73, 0x73, 0x18, 0x07, 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, 0x08, 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, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x65,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x64, 0x0a, 0x03, 0x47,
+ 0x69, 0x74, 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,
+ 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65,
+ 0x66, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
+ 0x6c, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63,
+ 0x68, 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, 0x6c, 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, 0x30,
+ 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, 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, 0xea, 0x03, 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, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x27, 0x0a,
+ 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69,
+ 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e,
+ 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 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, 0x12, 0x71, 0x0a, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x1e, 0x61, 0x64, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63,
+ 0x6c, 0x61, 0x73, 0x73, 0x18, 0x09, 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, 0x0a, 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, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x72, 0x6c, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64,
+ 0x22, 0x89, 0x03, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 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, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 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, 0x3c, 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, 0x52, 0x09, 0x67, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x05, 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, 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, 0xf1, 0x02, 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, 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,
+ 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72,
+ 0x74, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x06, 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, 0x1f, 0x0a, 0x0b, 0x69,
+ 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a,
+ 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 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, 0x22, 0x47, 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, 0x18, 0x0a, 0x07, 0x74,
+ 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69,
+ 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xc3, 0x02, 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, 0x06, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 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, 0x6f, 0x72, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 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, 0x47, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x16, 0x0a, 0x12, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
+ 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4f, 0x4c, 0x49, 0x43,
+ 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50,
+ 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x02, 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, 0xef, 0x02, 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, 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, 0xbb, 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, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x65,
- 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x54, 0x61,
- 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,
- 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, 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, 0xf5, 0x08, 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, 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,
+ 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, 0xd9, 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, 0x12, 0x0a, 0x0e, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x48,
+ 0x41, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x09, 0x22, 0x48, 0x0a,
+ 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
+ 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 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, 0xbd, 0x07, 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, 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, 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, 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,
+ 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 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, 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,
+ 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, 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, 0x42, 0x39, 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,
+ 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, 0x42, 0x39, 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 (
@@ -4270,157 +2475,92 @@ func file_gitpod_v1_workspace_proto_rawDescGZIP() []byte {
return file_gitpod_v1_workspace_proto_rawDescData
}
-var file_gitpod_v1_workspace_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
-var file_gitpod_v1_workspace_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
+var file_gitpod_v1_workspace_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
+var file_gitpod_v1_workspace_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
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
- (*GetWorkspaceRequest)(nil), // 8: gitpod.v1.GetWorkspaceRequest
- (*GetWorkspaceResponse)(nil), // 9: gitpod.v1.GetWorkspaceResponse
- (*WatchWorkspaceStatusRequest)(nil), // 10: gitpod.v1.WatchWorkspaceStatusRequest
- (*WatchWorkspaceStatusResponse)(nil), // 11: gitpod.v1.WatchWorkspaceStatusResponse
- (*ListWorkspacesRequest)(nil), // 12: gitpod.v1.ListWorkspacesRequest
- (*ListWorkspacesResponse)(nil), // 13: gitpod.v1.ListWorkspacesResponse
- (*CreateAndStartWorkspaceRequest)(nil), // 14: gitpod.v1.CreateAndStartWorkspaceRequest
- (*CreateAndStartWorkspaceResponse)(nil), // 15: gitpod.v1.CreateAndStartWorkspaceResponse
- (*StartWorkspaceRequest)(nil), // 16: gitpod.v1.StartWorkspaceRequest
- (*StartWorkspaceResponse)(nil), // 17: gitpod.v1.StartWorkspaceResponse
- (*GetWorkspaceDefaultImageRequest)(nil), // 18: gitpod.v1.GetWorkspaceDefaultImageRequest
- (*GetWorkspaceDefaultImageResponse)(nil), // 19: gitpod.v1.GetWorkspaceDefaultImageResponse
- (*SendHeartBeatRequest)(nil), // 20: gitpod.v1.SendHeartBeatRequest
- (*SendHeartBeatResponse)(nil), // 21: gitpod.v1.SendHeartBeatResponse
- (*GetWorkspaceOwnerTokenRequest)(nil), // 22: gitpod.v1.GetWorkspaceOwnerTokenRequest
- (*GetWorkspaceOwnerTokenResponse)(nil), // 23: gitpod.v1.GetWorkspaceOwnerTokenResponse
- (*GetWorkspaceEditorCredentialsRequest)(nil), // 24: gitpod.v1.GetWorkspaceEditorCredentialsRequest
- (*GetWorkspaceEditorCredentialsResponse)(nil), // 25: gitpod.v1.GetWorkspaceEditorCredentialsResponse
- (*Workspace)(nil), // 26: gitpod.v1.Workspace
- (*WorkspaceMetadata)(nil), // 27: gitpod.v1.WorkspaceMetadata
- (*WorkspaceSpec)(nil), // 28: gitpod.v1.WorkspaceSpec
- (*WorkspaceStatus)(nil), // 29: gitpod.v1.WorkspaceStatus
- (*WorkspacePort)(nil), // 30: gitpod.v1.WorkspacePort
- (*WorkspaceGitStatus)(nil), // 31: gitpod.v1.WorkspaceGitStatus
- (*WorkspacePhase)(nil), // 32: gitpod.v1.WorkspacePhase
- (*WorkspaceInitializer)(nil), // 33: gitpod.v1.WorkspaceInitializer
- (*GitInitializer)(nil), // 34: gitpod.v1.GitInitializer
- (*SnapshotInitializer)(nil), // 35: gitpod.v1.SnapshotInitializer
- (*PrebuildInitializer)(nil), // 36: gitpod.v1.PrebuildInitializer
- (*FileDownloadInitializer)(nil), // 37: gitpod.v1.FileDownloadInitializer
- (*GitStatus)(nil), // 38: gitpod.v1.GitStatus
- (*UpdateWorkspaceRequest)(nil), // 39: gitpod.v1.UpdateWorkspaceRequest
- (*UpdateWorkspaceResponse)(nil), // 40: gitpod.v1.UpdateWorkspaceResponse
- (*ParseContextURLRequest)(nil), // 41: gitpod.v1.ParseContextURLRequest
- (*ParseContextURLResponse)(nil), // 42: gitpod.v1.ParseContextURLResponse
- (*CreateAndStartWorkspaceRequest_ContextURL)(nil), // 43: gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL
- nil, // 44: gitpod.v1.WorkspaceMetadata.AnnotationsEntry
- (*WorkspaceSpec_Timeout)(nil), // 45: gitpod.v1.WorkspaceSpec.Timeout
- (*WorkspaceSpec_GitSpec)(nil), // 46: gitpod.v1.WorkspaceSpec.GitSpec
- (*WorkspaceStatus_WorkspaceConditions)(nil), // 47: gitpod.v1.WorkspaceStatus.WorkspaceConditions
- (*WorkspaceStatus_PrebuildResult)(nil), // 48: gitpod.v1.WorkspaceStatus.PrebuildResult
- (*WorkspaceInitializer_Spec)(nil), // 49: gitpod.v1.WorkspaceInitializer.Spec
- (*GitInitializer_GitConfig)(nil), // 50: gitpod.v1.GitInitializer.GitConfig
- nil, // 51: gitpod.v1.GitInitializer.GitConfig.CustomConfigEntry
- (*FileDownloadInitializer_FileInfo)(nil), // 52: gitpod.v1.FileDownloadInitializer.FileInfo
- (*UpdateWorkspaceRequest_UpdateWorkspaceMetadata)(nil), // 53: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata
- (*UpdateWorkspaceRequest_UpdateTimeout)(nil), // 54: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout
- (*UpdateWorkspaceRequest_UpdateWorkspaceSpec)(nil), // 55: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec
- (*PaginationRequest)(nil), // 56: gitpod.v1.PaginationRequest
- (*PaginationResponse)(nil), // 57: gitpod.v1.PaginationResponse
- (*EnvironmentVariable)(nil), // 58: gitpod.v1.EnvironmentVariable
- (*timestamppb.Timestamp)(nil), // 59: google.protobuf.Timestamp
- (*EditorReference)(nil), // 60: gitpod.v1.EditorReference
- (*durationpb.Duration)(nil), // 61: google.protobuf.Duration
+ (AdmissionLevel)(0), // 0: gitpod.v1.AdmissionLevel
+ (GetWorkspaceDefaultImageResponse_Source)(0), // 1: gitpod.v1.GetWorkspaceDefaultImageResponse.Source
+ (WorkspacePort_Policy)(0), // 2: gitpod.v1.WorkspacePort.Policy
+ (WorkspacePort_Protocol)(0), // 3: gitpod.v1.WorkspacePort.Protocol
+ (WorkspacePhase_Phase)(0), // 4: gitpod.v1.WorkspacePhase.Phase
+ (*GetWorkspaceRequest)(nil), // 5: gitpod.v1.GetWorkspaceRequest
+ (*GetWorkspaceResponse)(nil), // 6: gitpod.v1.GetWorkspaceResponse
+ (*WatchWorkspaceStatusRequest)(nil), // 7: gitpod.v1.WatchWorkspaceStatusRequest
+ (*WatchWorkspaceStatusResponse)(nil), // 8: gitpod.v1.WatchWorkspaceStatusResponse
+ (*ListWorkspacesRequest)(nil), // 9: gitpod.v1.ListWorkspacesRequest
+ (*ListWorkspacesResponse)(nil), // 10: gitpod.v1.ListWorkspacesResponse
+ (*CreateAndStartWorkspaceRequest)(nil), // 11: gitpod.v1.CreateAndStartWorkspaceRequest
+ (*CreateAndStartWorkspaceResponse)(nil), // 12: gitpod.v1.CreateAndStartWorkspaceResponse
+ (*StartWorkspaceRequest)(nil), // 13: gitpod.v1.StartWorkspaceRequest
+ (*StartWorkspaceResponse)(nil), // 14: gitpod.v1.StartWorkspaceResponse
+ (*GetWorkspaceDefaultImageRequest)(nil), // 15: gitpod.v1.GetWorkspaceDefaultImageRequest
+ (*GetWorkspaceDefaultImageResponse)(nil), // 16: gitpod.v1.GetWorkspaceDefaultImageResponse
+ (*SendHeartBeatRequest)(nil), // 17: gitpod.v1.SendHeartBeatRequest
+ (*SendHeartBeatResponse)(nil), // 18: gitpod.v1.SendHeartBeatResponse
+ (*GetWorkspaceOwnerTokenRequest)(nil), // 19: gitpod.v1.GetWorkspaceOwnerTokenRequest
+ (*GetWorkspaceOwnerTokenResponse)(nil), // 20: gitpod.v1.GetWorkspaceOwnerTokenResponse
+ (*GetWorkspaceEditorCredentialsRequest)(nil), // 21: gitpod.v1.GetWorkspaceEditorCredentialsRequest
+ (*GetWorkspaceEditorCredentialsResponse)(nil), // 22: gitpod.v1.GetWorkspaceEditorCredentialsResponse
+ (*Workspace)(nil), // 23: gitpod.v1.Workspace
+ (*WorkspaceStatus)(nil), // 24: gitpod.v1.WorkspaceStatus
+ (*WorkspaceConditions)(nil), // 25: gitpod.v1.WorkspaceConditions
+ (*WorkspacePort)(nil), // 26: gitpod.v1.WorkspacePort
+ (*WorkspaceGitStatus)(nil), // 27: gitpod.v1.WorkspaceGitStatus
+ (*WorkspacePhase)(nil), // 28: gitpod.v1.WorkspacePhase
+ (*WorkspaceEnvironmentVariable)(nil), // 29: gitpod.v1.WorkspaceEnvironmentVariable
+ (*CreateAndStartWorkspaceRequest_Git)(nil), // 30: gitpod.v1.CreateAndStartWorkspaceRequest.Git
+ (*PaginationRequest)(nil), // 31: gitpod.v1.PaginationRequest
+ (*PaginationResponse)(nil), // 32: gitpod.v1.PaginationResponse
+ (*EditorReference)(nil), // 33: gitpod.v1.EditorReference
+ (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp
}
var file_gitpod_v1_workspace_proto_depIdxs = []int32{
- 26, // 0: gitpod.v1.GetWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
- 29, // 1: gitpod.v1.WatchWorkspaceStatusResponse.status:type_name -> gitpod.v1.WorkspaceStatus
- 56, // 2: gitpod.v1.ListWorkspacesRequest.pagination:type_name -> gitpod.v1.PaginationRequest
- 57, // 3: gitpod.v1.ListWorkspacesResponse.pagination:type_name -> gitpod.v1.PaginationResponse
- 26, // 4: gitpod.v1.ListWorkspacesResponse.workspaces:type_name -> gitpod.v1.Workspace
- 27, // 5: gitpod.v1.CreateAndStartWorkspaceRequest.metadata:type_name -> gitpod.v1.WorkspaceMetadata
- 43, // 6: gitpod.v1.CreateAndStartWorkspaceRequest.context_url:type_name -> gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL
- 28, // 7: gitpod.v1.CreateAndStartWorkspaceRequest.spec:type_name -> gitpod.v1.WorkspaceSpec
- 26, // 8: gitpod.v1.CreateAndStartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
- 26, // 9: gitpod.v1.StartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
+ 23, // 0: gitpod.v1.GetWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
+ 24, // 1: gitpod.v1.WatchWorkspaceStatusResponse.status:type_name -> gitpod.v1.WorkspaceStatus
+ 31, // 2: gitpod.v1.ListWorkspacesRequest.pagination:type_name -> gitpod.v1.PaginationRequest
+ 23, // 3: gitpod.v1.ListWorkspacesResponse.workspaces:type_name -> gitpod.v1.Workspace
+ 32, // 4: gitpod.v1.ListWorkspacesResponse.pagination:type_name -> gitpod.v1.PaginationResponse
+ 30, // 5: gitpod.v1.CreateAndStartWorkspaceRequest.git:type_name -> gitpod.v1.CreateAndStartWorkspaceRequest.Git
+ 29, // 6: gitpod.v1.CreateAndStartWorkspaceRequest.additional_env_variables:type_name -> gitpod.v1.WorkspaceEnvironmentVariable
+ 33, // 7: gitpod.v1.CreateAndStartWorkspaceRequest.editor:type_name -> gitpod.v1.EditorReference
+ 23, // 8: gitpod.v1.CreateAndStartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
+ 23, // 9: gitpod.v1.StartWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
1, // 10: gitpod.v1.GetWorkspaceDefaultImageResponse.source:type_name -> gitpod.v1.GetWorkspaceDefaultImageResponse.Source
- 27, // 11: gitpod.v1.Workspace.metadata:type_name -> gitpod.v1.WorkspaceMetadata
- 28, // 12: gitpod.v1.Workspace.spec:type_name -> gitpod.v1.WorkspaceSpec
- 29, // 13: gitpod.v1.Workspace.status:type_name -> gitpod.v1.WorkspaceStatus
- 44, // 14: gitpod.v1.WorkspaceMetadata.annotations:type_name -> gitpod.v1.WorkspaceMetadata.AnnotationsEntry
- 33, // 15: gitpod.v1.WorkspaceSpec.initializer:type_name -> gitpod.v1.WorkspaceInitializer
- 2, // 16: gitpod.v1.WorkspaceSpec.type:type_name -> gitpod.v1.WorkspaceSpec.WorkspaceType
- 30, // 17: gitpod.v1.WorkspaceSpec.ports:type_name -> gitpod.v1.WorkspacePort
- 58, // 18: gitpod.v1.WorkspaceSpec.environment_variables:type_name -> gitpod.v1.EnvironmentVariable
- 46, // 19: gitpod.v1.WorkspaceSpec.git:type_name -> gitpod.v1.WorkspaceSpec.GitSpec
- 45, // 20: gitpod.v1.WorkspaceSpec.timeout:type_name -> gitpod.v1.WorkspaceSpec.Timeout
- 0, // 21: gitpod.v1.WorkspaceSpec.admission:type_name -> gitpod.v1.AdmissionLevel
- 59, // 22: gitpod.v1.WorkspaceSpec.last_user_activity:type_name -> google.protobuf.Timestamp
- 60, // 23: gitpod.v1.WorkspaceSpec.editor:type_name -> gitpod.v1.EditorReference
- 32, // 24: gitpod.v1.WorkspaceStatus.phase:type_name -> gitpod.v1.WorkspacePhase
- 47, // 25: gitpod.v1.WorkspaceStatus.conditions:type_name -> gitpod.v1.WorkspaceStatus.WorkspaceConditions
- 48, // 26: gitpod.v1.WorkspaceStatus.prebuild_result:type_name -> gitpod.v1.WorkspaceStatus.PrebuildResult
- 31, // 27: gitpod.v1.WorkspaceStatus.git_status:type_name -> gitpod.v1.WorkspaceGitStatus
- 0, // 28: gitpod.v1.WorkspacePort.admission:type_name -> gitpod.v1.AdmissionLevel
- 4, // 29: gitpod.v1.WorkspacePort.protocol:type_name -> gitpod.v1.WorkspacePort.Protocol
- 5, // 30: gitpod.v1.WorkspacePhase.name:type_name -> gitpod.v1.WorkspacePhase.Phase
- 59, // 31: gitpod.v1.WorkspacePhase.last_transition_time:type_name -> google.protobuf.Timestamp
- 49, // 32: gitpod.v1.WorkspaceInitializer.specs:type_name -> gitpod.v1.WorkspaceInitializer.Spec
- 6, // 33: gitpod.v1.GitInitializer.target_mode:type_name -> gitpod.v1.GitInitializer.CloneTargetMode
- 50, // 34: gitpod.v1.GitInitializer.config:type_name -> gitpod.v1.GitInitializer.GitConfig
- 52, // 35: gitpod.v1.FileDownloadInitializer.files:type_name -> gitpod.v1.FileDownloadInitializer.FileInfo
- 53, // 36: gitpod.v1.UpdateWorkspaceRequest.metadata:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata
- 55, // 37: gitpod.v1.UpdateWorkspaceRequest.spec:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec
- 31, // 38: gitpod.v1.UpdateWorkspaceRequest.git_status:type_name -> gitpod.v1.WorkspaceGitStatus
- 26, // 39: gitpod.v1.UpdateWorkspaceResponse.workspace:type_name -> gitpod.v1.Workspace
- 27, // 40: gitpod.v1.ParseContextURLResponse.metadata:type_name -> gitpod.v1.WorkspaceMetadata
- 28, // 41: gitpod.v1.ParseContextURLResponse.spec:type_name -> gitpod.v1.WorkspaceSpec
- 60, // 42: gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL.editor:type_name -> gitpod.v1.EditorReference
- 61, // 43: gitpod.v1.WorkspaceSpec.Timeout.inactivity:type_name -> google.protobuf.Duration
- 61, // 44: gitpod.v1.WorkspaceSpec.Timeout.disconnected:type_name -> google.protobuf.Duration
- 61, // 45: gitpod.v1.WorkspaceSpec.Timeout.maximum_lifetime:type_name -> google.protobuf.Duration
- 3, // 46: gitpod.v1.WorkspaceStatus.WorkspaceConditions.failed_reason:type_name -> gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason
- 34, // 47: gitpod.v1.WorkspaceInitializer.Spec.git:type_name -> gitpod.v1.GitInitializer
- 35, // 48: gitpod.v1.WorkspaceInitializer.Spec.snapshot:type_name -> gitpod.v1.SnapshotInitializer
- 36, // 49: gitpod.v1.WorkspaceInitializer.Spec.prebuild:type_name -> gitpod.v1.PrebuildInitializer
- 37, // 50: gitpod.v1.WorkspaceInitializer.Spec.download:type_name -> gitpod.v1.FileDownloadInitializer
- 51, // 51: gitpod.v1.GitInitializer.GitConfig.custom_config:type_name -> gitpod.v1.GitInitializer.GitConfig.CustomConfigEntry
- 7, // 52: gitpod.v1.GitInitializer.GitConfig.authentication:type_name -> gitpod.v1.GitInitializer.AuthMethod
- 61, // 53: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout.inactivity:type_name -> google.protobuf.Duration
- 61, // 54: gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout.disconnected:type_name -> google.protobuf.Duration
- 54, // 55: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec.timeout:type_name -> gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout
- 0, // 56: gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec.admission:type_name -> gitpod.v1.AdmissionLevel
- 8, // 57: gitpod.v1.WorkspaceService.GetWorkspace:input_type -> gitpod.v1.GetWorkspaceRequest
- 10, // 58: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:input_type -> gitpod.v1.WatchWorkspaceStatusRequest
- 12, // 59: gitpod.v1.WorkspaceService.ListWorkspaces:input_type -> gitpod.v1.ListWorkspacesRequest
- 14, // 60: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:input_type -> gitpod.v1.CreateAndStartWorkspaceRequest
- 16, // 61: gitpod.v1.WorkspaceService.StartWorkspace:input_type -> gitpod.v1.StartWorkspaceRequest
- 39, // 62: gitpod.v1.WorkspaceService.UpdateWorkspace:input_type -> gitpod.v1.UpdateWorkspaceRequest
- 41, // 63: gitpod.v1.WorkspaceService.ParseContextURL:input_type -> gitpod.v1.ParseContextURLRequest
- 18, // 64: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:input_type -> gitpod.v1.GetWorkspaceDefaultImageRequest
- 20, // 65: gitpod.v1.WorkspaceService.SendHeartBeat:input_type -> gitpod.v1.SendHeartBeatRequest
- 22, // 66: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:input_type -> gitpod.v1.GetWorkspaceOwnerTokenRequest
- 24, // 67: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:input_type -> gitpod.v1.GetWorkspaceEditorCredentialsRequest
- 9, // 68: gitpod.v1.WorkspaceService.GetWorkspace:output_type -> gitpod.v1.GetWorkspaceResponse
- 11, // 69: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:output_type -> gitpod.v1.WatchWorkspaceStatusResponse
- 13, // 70: gitpod.v1.WorkspaceService.ListWorkspaces:output_type -> gitpod.v1.ListWorkspacesResponse
- 15, // 71: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:output_type -> gitpod.v1.CreateAndStartWorkspaceResponse
- 17, // 72: gitpod.v1.WorkspaceService.StartWorkspace:output_type -> gitpod.v1.StartWorkspaceResponse
- 40, // 73: gitpod.v1.WorkspaceService.UpdateWorkspace:output_type -> gitpod.v1.UpdateWorkspaceResponse
- 42, // 74: gitpod.v1.WorkspaceService.ParseContextURL:output_type -> gitpod.v1.ParseContextURLResponse
- 19, // 75: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:output_type -> gitpod.v1.GetWorkspaceDefaultImageResponse
- 21, // 76: gitpod.v1.WorkspaceService.SendHeartBeat:output_type -> gitpod.v1.SendHeartBeatResponse
- 23, // 77: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:output_type -> gitpod.v1.GetWorkspaceOwnerTokenResponse
- 25, // 78: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:output_type -> gitpod.v1.GetWorkspaceEditorCredentialsResponse
- 68, // [68:79] is the sub-list for method output_type
- 57, // [57:68] is the sub-list for method input_type
- 57, // [57:57] is the sub-list for extension type_name
- 57, // [57:57] is the sub-list for extension extendee
- 0, // [0:57] is the sub-list for field type_name
+ 24, // 11: gitpod.v1.Workspace.status:type_name -> gitpod.v1.WorkspaceStatus
+ 29, // 12: gitpod.v1.Workspace.additional_environment_variables:type_name -> gitpod.v1.WorkspaceEnvironmentVariable
+ 33, // 13: gitpod.v1.Workspace.editor:type_name -> gitpod.v1.EditorReference
+ 28, // 14: gitpod.v1.WorkspaceStatus.phase:type_name -> gitpod.v1.WorkspacePhase
+ 27, // 15: gitpod.v1.WorkspaceStatus.git_status:type_name -> gitpod.v1.WorkspaceGitStatus
+ 26, // 16: gitpod.v1.WorkspaceStatus.ports:type_name -> gitpod.v1.WorkspacePort
+ 0, // 17: gitpod.v1.WorkspaceStatus.admission:type_name -> gitpod.v1.AdmissionLevel
+ 25, // 18: gitpod.v1.WorkspaceStatus.conditions:type_name -> gitpod.v1.WorkspaceConditions
+ 2, // 19: gitpod.v1.WorkspacePort.policy:type_name -> gitpod.v1.WorkspacePort.Policy
+ 3, // 20: gitpod.v1.WorkspacePort.protocol:type_name -> gitpod.v1.WorkspacePort.Protocol
+ 4, // 21: gitpod.v1.WorkspacePhase.name:type_name -> gitpod.v1.WorkspacePhase.Phase
+ 34, // 22: gitpod.v1.WorkspacePhase.last_transition_time:type_name -> google.protobuf.Timestamp
+ 5, // 23: gitpod.v1.WorkspaceService.GetWorkspace:input_type -> gitpod.v1.GetWorkspaceRequest
+ 7, // 24: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:input_type -> gitpod.v1.WatchWorkspaceStatusRequest
+ 9, // 25: gitpod.v1.WorkspaceService.ListWorkspaces:input_type -> gitpod.v1.ListWorkspacesRequest
+ 11, // 26: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:input_type -> gitpod.v1.CreateAndStartWorkspaceRequest
+ 13, // 27: gitpod.v1.WorkspaceService.StartWorkspace:input_type -> gitpod.v1.StartWorkspaceRequest
+ 15, // 28: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:input_type -> gitpod.v1.GetWorkspaceDefaultImageRequest
+ 17, // 29: gitpod.v1.WorkspaceService.SendHeartBeat:input_type -> gitpod.v1.SendHeartBeatRequest
+ 19, // 30: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:input_type -> gitpod.v1.GetWorkspaceOwnerTokenRequest
+ 21, // 31: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:input_type -> gitpod.v1.GetWorkspaceEditorCredentialsRequest
+ 6, // 32: gitpod.v1.WorkspaceService.GetWorkspace:output_type -> gitpod.v1.GetWorkspaceResponse
+ 8, // 33: gitpod.v1.WorkspaceService.WatchWorkspaceStatus:output_type -> gitpod.v1.WatchWorkspaceStatusResponse
+ 10, // 34: gitpod.v1.WorkspaceService.ListWorkspaces:output_type -> gitpod.v1.ListWorkspacesResponse
+ 12, // 35: gitpod.v1.WorkspaceService.CreateAndStartWorkspace:output_type -> gitpod.v1.CreateAndStartWorkspaceResponse
+ 14, // 36: gitpod.v1.WorkspaceService.StartWorkspace:output_type -> gitpod.v1.StartWorkspaceResponse
+ 16, // 37: gitpod.v1.WorkspaceService.GetWorkspaceDefaultImage:output_type -> gitpod.v1.GetWorkspaceDefaultImageResponse
+ 18, // 38: gitpod.v1.WorkspaceService.SendHeartBeat:output_type -> gitpod.v1.SendHeartBeatResponse
+ 20, // 39: gitpod.v1.WorkspaceService.GetWorkspaceOwnerToken:output_type -> gitpod.v1.GetWorkspaceOwnerTokenResponse
+ 22, // 40: gitpod.v1.WorkspaceService.GetWorkspaceEditorCredentials:output_type -> gitpod.v1.GetWorkspaceEditorCredentialsResponse
+ 32, // [32:41] is the sub-list for method output_type
+ 23, // [23:32] is the sub-list for method input_type
+ 23, // [23:23] is the sub-list for extension type_name
+ 23, // [23:23] is the sub-list for extension extendee
+ 0, // [0:23] is the sub-list for field type_name
}
func init() { file_gitpod_v1_workspace_proto_init() }
@@ -4429,7 +2569,6 @@ func file_gitpod_v1_workspace_proto_init() {
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{} {
@@ -4661,7 +2800,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspaceMetadata); i {
+ switch v := v.(*WorkspaceStatus); i {
case 0:
return &v.state
case 1:
@@ -4673,7 +2812,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspaceSpec); i {
+ switch v := v.(*WorkspaceConditions); i {
case 0:
return &v.state
case 1:
@@ -4685,7 +2824,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspaceStatus); i {
+ switch v := v.(*WorkspacePort); i {
case 0:
return &v.state
case 1:
@@ -4697,7 +2836,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspacePort); i {
+ switch v := v.(*WorkspaceGitStatus); i {
case 0:
return &v.state
case 1:
@@ -4709,7 +2848,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspaceGitStatus); i {
+ switch v := v.(*WorkspacePhase); i {
case 0:
return &v.state
case 1:
@@ -4721,7 +2860,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WorkspacePhase); i {
+ switch v := v.(*WorkspaceEnvironmentVariable); i {
case 0:
return &v.state
case 1:
@@ -4733,247 +2872,7 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[25].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[26].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[27].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[28].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[29].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[30].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[31].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[32].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[33].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[34].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[35].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[37].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[38].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[39].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[40].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[41].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[42].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[44].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[45].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[46].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[47].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateWorkspaceRequest_UpdateWorkspaceSpec); i {
+ switch v := v.(*CreateAndStartWorkspaceRequest_Git); i {
case 0:
return &v.state
case 1:
@@ -4986,26 +2885,16 @@ func file_gitpod_v1_workspace_proto_init() {
}
}
file_gitpod_v1_workspace_proto_msgTypes[6].OneofWrappers = []interface{}{
+ (*CreateAndStartWorkspaceRequest_Git_)(nil),
(*CreateAndStartWorkspaceRequest_ContextUrl)(nil),
- (*CreateAndStartWorkspaceRequest_Spec)(nil),
- }
- file_gitpod_v1_workspace_proto_msgTypes[31].OneofWrappers = []interface{}{}
- file_gitpod_v1_workspace_proto_msgTypes[41].OneofWrappers = []interface{}{
- (*WorkspaceInitializer_Spec_Git)(nil),
- (*WorkspaceInitializer_Spec_Snapshot)(nil),
- (*WorkspaceInitializer_Spec_Prebuild)(nil),
- (*WorkspaceInitializer_Spec_Download)(nil),
- }
- file_gitpod_v1_workspace_proto_msgTypes[45].OneofWrappers = []interface{}{}
- file_gitpod_v1_workspace_proto_msgTypes[46].OneofWrappers = []interface{}{}
- file_gitpod_v1_workspace_proto_msgTypes[47].OneofWrappers = []interface{}{}
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_gitpod_v1_workspace_proto_rawDesc,
- NumEnums: 8,
- NumMessages: 48,
+ NumEnums: 5,
+ NumMessages: 26,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/components/public-api/go/v1/workspace_grpc.pb.go b/components/public-api/go/v1/workspace_grpc.pb.go
index c4133ffe27fff2..36b61d48cb5fdb 100644
--- a/components/public-api/go/v1/workspace_grpc.pb.go
+++ b/components/public-api/go/v1/workspace_grpc.pb.go
@@ -42,11 +42,6 @@ type WorkspaceServiceClient interface {
// StartWorkspace starts an existing workspace.
// If the specified workspace is not in stopped phase, this will return the workspace as is.
StartWorkspace(ctx context.Context, in *StartWorkspaceRequest, opts ...grpc.CallOption) (*StartWorkspaceResponse, error)
- // UpdateWorkspace updates the workspace.
- UpdateWorkspace(ctx context.Context, in *UpdateWorkspaceRequest, opts ...grpc.CallOption) (*UpdateWorkspaceResponse, error)
- // ParseContextURL parses a context URL and returns the workspace metadata and spec.
- // Not implemented yet.
- ParseContextURL(ctx context.Context, in *ParseContextURLRequest, opts ...grpc.CallOption) (*ParseContextURLResponse, error)
// GetWorkspaceDefaultImage returns the default workspace image of specified
// workspace.
GetWorkspaceDefaultImage(ctx context.Context, in *GetWorkspaceDefaultImageRequest, opts ...grpc.CallOption) (*GetWorkspaceDefaultImageResponse, error)
@@ -135,24 +130,6 @@ func (c *workspaceServiceClient) StartWorkspace(ctx context.Context, in *StartWo
return out, nil
}
-func (c *workspaceServiceClient) UpdateWorkspace(ctx context.Context, in *UpdateWorkspaceRequest, opts ...grpc.CallOption) (*UpdateWorkspaceResponse, error) {
- out := new(UpdateWorkspaceResponse)
- err := c.cc.Invoke(ctx, "/gitpod.v1.WorkspaceService/UpdateWorkspace", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *workspaceServiceClient) ParseContextURL(ctx context.Context, in *ParseContextURLRequest, opts ...grpc.CallOption) (*ParseContextURLResponse, error) {
- out := new(ParseContextURLResponse)
- err := c.cc.Invoke(ctx, "/gitpod.v1.WorkspaceService/ParseContextURL", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
func (c *workspaceServiceClient) GetWorkspaceDefaultImage(ctx context.Context, in *GetWorkspaceDefaultImageRequest, opts ...grpc.CallOption) (*GetWorkspaceDefaultImageResponse, error) {
out := new(GetWorkspaceDefaultImageResponse)
err := c.cc.Invoke(ctx, "/gitpod.v1.WorkspaceService/GetWorkspaceDefaultImage", in, out, opts...)
@@ -209,11 +186,6 @@ type WorkspaceServiceServer interface {
// StartWorkspace starts an existing workspace.
// If the specified workspace is not in stopped phase, this will return the workspace as is.
StartWorkspace(context.Context, *StartWorkspaceRequest) (*StartWorkspaceResponse, error)
- // UpdateWorkspace updates the workspace.
- UpdateWorkspace(context.Context, *UpdateWorkspaceRequest) (*UpdateWorkspaceResponse, error)
- // ParseContextURL parses a context URL and returns the workspace metadata and spec.
- // Not implemented yet.
- ParseContextURL(context.Context, *ParseContextURLRequest) (*ParseContextURLResponse, error)
// GetWorkspaceDefaultImage returns the default workspace image of specified
// workspace.
GetWorkspaceDefaultImage(context.Context, *GetWorkspaceDefaultImageRequest) (*GetWorkspaceDefaultImageResponse, error)
@@ -246,12 +218,6 @@ func (UnimplementedWorkspaceServiceServer) CreateAndStartWorkspace(context.Conte
func (UnimplementedWorkspaceServiceServer) StartWorkspace(context.Context, *StartWorkspaceRequest) (*StartWorkspaceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method StartWorkspace not implemented")
}
-func (UnimplementedWorkspaceServiceServer) UpdateWorkspace(context.Context, *UpdateWorkspaceRequest) (*UpdateWorkspaceResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkspace not implemented")
-}
-func (UnimplementedWorkspaceServiceServer) ParseContextURL(context.Context, *ParseContextURLRequest) (*ParseContextURLResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ParseContextURL not implemented")
-}
func (UnimplementedWorkspaceServiceServer) GetWorkspaceDefaultImage(context.Context, *GetWorkspaceDefaultImageRequest) (*GetWorkspaceDefaultImageResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetWorkspaceDefaultImage not implemented")
}
@@ -370,42 +336,6 @@ func _WorkspaceService_StartWorkspace_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
-func _WorkspaceService_UpdateWorkspace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateWorkspaceRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(WorkspaceServiceServer).UpdateWorkspace(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitpod.v1.WorkspaceService/UpdateWorkspace",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(WorkspaceServiceServer).UpdateWorkspace(ctx, req.(*UpdateWorkspaceRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _WorkspaceService_ParseContextURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ParseContextURLRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(WorkspaceServiceServer).ParseContextURL(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitpod.v1.WorkspaceService/ParseContextURL",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(WorkspaceServiceServer).ParseContextURL(ctx, req.(*ParseContextURLRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
func _WorkspaceService_GetWorkspaceDefaultImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetWorkspaceDefaultImageRequest)
if err := dec(in); err != nil {
@@ -501,14 +431,6 @@ var WorkspaceService_ServiceDesc = grpc.ServiceDesc{
MethodName: "StartWorkspace",
Handler: _WorkspaceService_StartWorkspace_Handler,
},
- {
- MethodName: "UpdateWorkspace",
- Handler: _WorkspaceService_UpdateWorkspace_Handler,
- },
- {
- MethodName: "ParseContextURL",
- Handler: _WorkspaceService_ParseContextURL_Handler,
- },
{
MethodName: "GetWorkspaceDefaultImage",
Handler: _WorkspaceService_GetWorkspaceDefaultImage_Handler,
diff --git a/components/public-api/typescript-common/src/public-api-converter.spec.ts b/components/public-api/typescript-common/src/public-api-converter.spec.ts
index 2f31eddf8fe25d..ff3461d1dbe832 100644
--- a/components/public-api/typescript-common/src/public-api-converter.spec.ts
+++ b/components/public-api/typescript-common/src/public-api-converter.spec.ts
@@ -8,10 +8,10 @@
import { Timestamp, toPlainMessage } from "@bufbuild/protobuf";
import {
AdmissionLevel,
- Workspace,
+ WorkspaceEnvironmentVariable,
WorkspacePhase_Phase,
+ WorkspacePort_Policy,
WorkspacePort_Protocol,
- WorkspaceSpec_WorkspaceType,
} from "@gitpod/public-api/lib/gitpod/v1/workspace_pb";
import { expect } from "chai";
import { PartialConfiguration, PublicAPIConverter } from "./public-api-converter";
@@ -44,7 +44,6 @@ import {
} from "@gitpod/public-api/lib/gitpod/v1/authprovider_pb";
import {
ConfigurationEnvironmentVariable,
- EnvironmentVariable,
EnvironmentVariableAdmission,
UserEnvironmentVariable,
} from "@gitpod/public-api/lib/gitpod/v1/envvar_pb";
@@ -277,51 +276,18 @@ describe("PublicAPIConverter", () => {
},
} as any);
expect(workspace).to.deep.equal(
- new Workspace({
+ {
id: "akosyakov-parceldemo-4crqn25qlwi",
- spec: {
- ports: [],
- type: WorkspaceSpec_WorkspaceType.REGULAR,
- admission: AdmissionLevel.OWNER_ONLY,
- environmentVariables: [],
- initializer: {
- specs: [
- {
- spec: {
- case: "git",
- value: {
- remoteUri: "https://github.com/akosyakov/parcel-demo",
- checkoutLocation: "parcel-demo",
- config: {},
- },
- },
- },
- ],
- },
- git: {
- username: "",
- email: "",
- },
- class: "g1-standard",
- editor: {
- name: "code",
- version: "stable",
- },
- },
- metadata: {
- ownerId: "827df1c8-d42d-4a69-bc38-64089af1f711",
- configurationId: "",
- organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
- name: "akosyakov/parcel-demo - master",
- pinned: false,
- originalContextUrl: "https://github.com/akosyakov/parcel-demo",
- },
+ prebuild: false,
+ organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
+ name: "akosyakov/parcel-demo - master",
+ pinned: false,
status: {
- statusVersion: Timestamp.fromDate(new Date("2023-10-16T20:18:24.923Z")).seconds,
phase: {
name: WorkspacePhase_Phase.CREATING,
lastTransitionTime: Timestamp.fromDate(new Date("2023-10-16T20:18:24.923Z")),
},
+ message: "",
workspaceUrl:
"https://akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
gitStatus: {
@@ -335,13 +301,24 @@ describe("PublicAPIConverter", () => {
unpushedCommits: [],
untrackedFiles: [],
},
+ ports: [],
+ admission: AdmissionLevel.OWNER_ONLY,
instanceId: "226695b4-f10a-471a-a219-9b657645bf78",
conditions: {
failed: "",
timeout: "",
},
},
- }),
+ additionalEnvironmentVariables: [],
+ region: "dev",
+ prebuildId: "",
+ workspaceClass: "g1-standard",
+ editor: {
+ name: "code",
+ version: "stable",
+ },
+ contextUrl: "https://github.com/akosyakov/parcel-demo",
+ },
"created",
);
workspace = converter.toWorkspace(
@@ -422,59 +399,18 @@ describe("PublicAPIConverter", () => {
workspace,
);
expect(workspace).to.deep.equal(
- new Workspace({
+ {
id: "akosyakov-parceldemo-4crqn25qlwi",
- spec: {
- type: WorkspaceSpec_WorkspaceType.REGULAR,
- editor: {
- name: "code",
- version: "stable",
- },
- ports: [
- {
- admission: AdmissionLevel.EVERYONE,
- port: BigInt(1234),
- protocol: WorkspacePort_Protocol.HTTP,
- url: "https://1234-akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
- },
- ],
- admission: AdmissionLevel.OWNER_ONLY,
- environmentVariables: [],
- class: "g1-standard",
- initializer: {
- specs: [
- {
- spec: {
- case: "git",
- value: {
- remoteUri: "https://github.com/akosyakov/parcel-demo",
- checkoutLocation: "parcel-demo",
- config: {},
- },
- },
- },
- ],
- },
- git: {
- username: "",
- email: "",
- },
- },
- metadata: {
- ownerId: "827df1c8-d42d-4a69-bc38-64089af1f711",
- organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
- annotations: {},
- configurationId: "",
- name: "akosyakov/parcel-demo - master",
- pinned: false,
- originalContextUrl: "https://github.com/akosyakov/parcel-demo",
- },
+ prebuild: false,
+ organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
+ name: "akosyakov/parcel-demo - master",
+ pinned: false,
status: {
- statusVersion: Timestamp.fromDate(new Date("2023-10-16T20:18:53.451Z")).seconds,
phase: {
name: WorkspacePhase_Phase.RUNNING,
lastTransitionTime: Timestamp.fromDate(new Date("2023-10-16T20:18:53.451Z")),
},
+ message: "",
workspaceUrl:
"https://akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
gitStatus: {
@@ -488,13 +424,31 @@ describe("PublicAPIConverter", () => {
unpushedCommits: ["2203d16: tests"],
untrackedFiles: [],
},
+ ports: [
+ {
+ policy: WorkspacePort_Policy.PUBLIC,
+ port: BigInt(1234),
+ protocol: WorkspacePort_Protocol.HTTP,
+ url: "https://1234-akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
+ },
+ ],
+ admission: AdmissionLevel.OWNER_ONLY,
instanceId: "226695b4-f10a-471a-a219-9b657645bf78",
conditions: {
failed: "",
timeout: "",
},
},
- }),
+ additionalEnvironmentVariables: [],
+ region: "dev",
+ prebuildId: "",
+ workspaceClass: "g1-standard",
+ editor: {
+ name: "code",
+ version: "stable",
+ },
+ contextUrl: "https://github.com/akosyakov/parcel-demo",
+ },
"running",
);
workspace = converter.toWorkspace(
@@ -586,59 +540,18 @@ describe("PublicAPIConverter", () => {
workspace,
);
expect(workspace).to.deep.equal(
- new Workspace({
+ {
id: "akosyakov-parceldemo-4crqn25qlwi",
- spec: {
- editor: {
- name: "code",
- version: "stable",
- },
- ports: [
- {
- admission: AdmissionLevel.EVERYONE,
- port: BigInt(1234),
- protocol: WorkspacePort_Protocol.HTTP,
- url: "https://1234-akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
- },
- ],
- type: WorkspaceSpec_WorkspaceType.REGULAR,
- admission: AdmissionLevel.OWNER_ONLY,
- environmentVariables: [],
- initializer: {
- specs: [
- {
- spec: {
- case: "git",
- value: {
- remoteUri: "https://github.com/akosyakov/parcel-demo",
- checkoutLocation: "parcel-demo",
- config: {},
- },
- },
- },
- ],
- },
- git: {
- username: "",
- email: "",
- },
- class: "g1-standard",
- },
- metadata: {
- ownerId: "827df1c8-d42d-4a69-bc38-64089af1f711",
- configurationId: "",
- organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
- name: "akosyakov/parcel-demo - master",
- pinned: false,
- originalContextUrl: "https://github.com/akosyakov/parcel-demo",
- },
+ prebuild: false,
+ organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
+ name: "akosyakov/parcel-demo - master",
+ pinned: false,
status: {
- statusVersion: Timestamp.fromDate(new Date("2023-10-16T20:36:16.205Z")).seconds,
-
phase: {
name: WorkspacePhase_Phase.STOPPED,
lastTransitionTime: Timestamp.fromDate(new Date("2023-10-16T20:36:16.205Z")),
},
+ message: "",
workspaceUrl:
"https://akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
gitStatus: {
@@ -652,13 +565,31 @@ describe("PublicAPIConverter", () => {
unpushedCommits: ["2203d16: tests"],
untrackedFiles: [],
},
+ ports: [
+ {
+ policy: WorkspacePort_Policy.PUBLIC,
+ port: BigInt(1234),
+ protocol: WorkspacePort_Protocol.HTTP,
+ url: "https://1234-akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
+ },
+ ],
+ admission: AdmissionLevel.OWNER_ONLY,
instanceId: "226695b4-f10a-471a-a219-9b657645bf78",
conditions: {
failed: "",
timeout: "",
},
},
- }),
+ additionalEnvironmentVariables: [],
+ region: "dev",
+ prebuildId: "",
+ workspaceClass: "g1-standard",
+ editor: {
+ name: "code",
+ version: "stable",
+ },
+ contextUrl: "https://github.com/akosyakov/parcel-demo",
+ },
"stopped",
);
workspace = converter.toWorkspace(
@@ -732,51 +663,18 @@ describe("PublicAPIConverter", () => {
workspace,
);
expect(workspace).to.deep.equal(
- new Workspace({
+ {
id: "akosyakov-parceldemo-4crqn25qlwi",
- metadata: {
- ownerId: "827df1c8-d42d-4a69-bc38-64089af1f711",
- organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
- configurationId: "",
- name: "akosyakov/parcel-demo - master",
- pinned: false,
- originalContextUrl: "https://github.com/akosyakov/parcel-demo",
- },
- spec: {
- editor: {
- name: "code",
- version: "stable",
- },
- environmentVariables: [],
- type: WorkspaceSpec_WorkspaceType.REGULAR,
- git: {
- username: "",
- email: "",
- },
- ports: [],
- admission: AdmissionLevel.OWNER_ONLY,
- class: "g1-standard",
- initializer: {
- specs: [
- {
- spec: {
- case: "git",
- value: {
- remoteUri: "https://github.com/akosyakov/parcel-demo",
- checkoutLocation: "parcel-demo",
- config: {},
- },
- },
- },
- ],
- },
- },
+ prebuild: false,
+ organizationId: "ec76db37-9a48-4e2d-a78e-0ec7d2b4d2c0",
+ name: "akosyakov/parcel-demo - master",
+ pinned: false,
status: {
- statusVersion: Timestamp.fromDate(new Date("2023-10-16T20:38:51.092Z")).seconds,
phase: {
name: WorkspacePhase_Phase.RUNNING,
lastTransitionTime: Timestamp.fromDate(new Date("2023-10-16T20:38:51.092Z")),
},
+ message: "",
workspaceUrl:
"https://akosyakov-parceldemo-4crqn25qlwi.ws-dev.ak-public-26583c8c5c.preview.gitpod-dev.com",
gitStatus: {
@@ -790,13 +688,24 @@ describe("PublicAPIConverter", () => {
unpushedCommits: ["2203d16: tests"],
untrackedFiles: [],
},
+ ports: [],
+ admission: AdmissionLevel.OWNER_ONLY,
instanceId: "e1148a46-a311-4215-8421-37cd3b907ee9",
conditions: {
failed: "",
timeout: "",
},
},
- }),
+ additionalEnvironmentVariables: [],
+ region: "dev",
+ prebuildId: "",
+ workspaceClass: "g1-standard",
+ editor: {
+ name: "code",
+ version: "stable",
+ },
+ contextUrl: "https://github.com/akosyakov/parcel-demo",
+ },
"restarted",
);
});
@@ -972,7 +881,7 @@ describe("PublicAPIConverter", () => {
});
});
- describe("toEnvironmentVariables", () => {
+ describe("toWorkspaceEnvironmentVariables", () => {
const wsCtx: WithEnvvarsContext = {
title: "title",
envvars: [
@@ -982,9 +891,9 @@ describe("PublicAPIConverter", () => {
},
],
};
- const envVars = [new EnvironmentVariable({ name: "FOO", value: "bar" })];
+ const envVars = [new WorkspaceEnvironmentVariable({ name: "FOO", value: "bar" })];
it("should convert workspace environment variable types", () => {
- const result = converter.toEnvironmentVariables(wsCtx);
+ const result = converter.toWorkspaceEnvironmentVariables(wsCtx);
expect(result).to.deep.equal(envVars);
});
});
diff --git a/components/public-api/typescript-common/src/public-api-converter.ts b/components/public-api/typescript-common/src/public-api-converter.ts
index dfe75265994a93..e5b9c8ff419a6d 100644
--- a/components/public-api/typescript-common/src/public-api-converter.ts
+++ b/components/public-api/typescript-common/src/public-api-converter.ts
@@ -39,32 +39,22 @@ import {
} from "@gitpod/public-api/lib/gitpod/v1/organization_pb";
import {
AdmissionLevel,
- GitInitializer,
- GitInitializer_GitConfig,
- PrebuildInitializer,
- SnapshotInitializer,
Workspace,
+ WorkspaceConditions,
+ WorkspaceEnvironmentVariable,
WorkspaceGitStatus,
- WorkspaceInitializer,
- WorkspaceInitializer_Spec,
- WorkspaceMetadata,
WorkspacePhase,
WorkspacePhase_Phase,
WorkspacePort,
+ WorkspacePort_Policy,
WorkspacePort_Protocol,
- WorkspaceSpec,
- WorkspaceSpec_GitSpec,
- WorkspaceSpec_WorkspaceType,
WorkspaceStatus,
- WorkspaceStatus_PrebuildResult,
- WorkspaceStatus_WorkspaceConditions,
} from "@gitpod/public-api/lib/gitpod/v1/workspace_pb";
import { EditorReference } from "@gitpod/public-api/lib/gitpod/v1/editor_pb";
import { BlockedEmailDomain, BlockedRepository } from "@gitpod/public-api/lib/gitpod/v1/installation_pb";
import { SSHPublicKey } from "@gitpod/public-api/lib/gitpod/v1/ssh_pb";
import {
ConfigurationEnvironmentVariable,
- EnvironmentVariable,
EnvironmentVariableAdmission,
UserEnvironmentVariable,
} from "@gitpod/public-api/lib/gitpod/v1/envvar_pb";
@@ -95,7 +85,6 @@ import {
Token,
SuggestedRepository as SuggestedRepositoryProtocol,
UserSSHPublicKeyValue,
- SnapshotContext,
EmailDomainFilterEntry,
} from "@gitpod/gitpod-protocol/lib/protocol";
import {
@@ -132,122 +121,45 @@ export class PublicAPIConverter {
toWorkspace(arg: WorkspaceInfo | WorkspaceInstance, current?: Workspace): Workspace {
const workspace = current ?? new Workspace();
- workspace.spec = this.toWorkspaceSpec(arg, workspace.spec);
- workspace.status = this.toWorkspaceStatus(arg, workspace.status);
- workspace.metadata = this.toWorkspaceMetadata(arg, workspace.metadata);
if ("workspace" in arg) {
workspace.id = arg.workspace.id;
- if (arg.latestInstance) {
- return this.toWorkspace(arg.latestInstance, workspace);
- }
- return workspace;
- }
- return workspace;
- }
-
- toWorkspaceSpec(arg: WorkspaceInfo | WorkspaceInstance, current?: WorkspaceSpec): WorkspaceSpec {
- const spec = new WorkspaceSpec(current);
- if ("workspace" in arg) {
- spec.admission = this.toAdmission(arg.workspace.shareable);
- spec.initializer = new WorkspaceInitializer(spec.initializer);
- spec.type =
- arg.workspace.type === "prebuild"
- ? WorkspaceSpec_WorkspaceType.PREBUILD
- : WorkspaceSpec_WorkspaceType.REGULAR;
- spec.environmentVariables = this.toEnvironmentVariables(arg.workspace.context);
+ workspace.prebuild = arg.workspace.type === "prebuild";
+ workspace.organizationId = arg.workspace.organizationId;
+ workspace.name = arg.workspace.description;
+ workspace.pinned = arg.workspace.pinned ?? false;
+ const contextUrl = ContextURL.normalize(arg.workspace);
+ if (contextUrl) {
+ workspace.contextUrl = contextUrl;
+ }
if (WithPrebuild.is(arg.workspace.context)) {
- const initializerSpec = new WorkspaceInitializer_Spec({
- spec: {
- case: "prebuild",
- value: new PrebuildInitializer({
- prebuildId: arg.workspace.context.prebuildWorkspaceId,
- }),
- },
- });
- spec.initializer.specs.push(initializerSpec);
- } else if (CommitContext.is(arg.workspace.context)) {
- const initializerSpec = new WorkspaceInitializer_Spec({
- spec: {
- case: "git",
- value: new GitInitializer({
- remoteUri: arg.workspace.context.normalizedContextURL,
- upstreamRemoteUri: arg.workspace.context.upstreamRemoteURI,
- // TODO:
- // targetMode
- // cloneTaget
- checkoutLocation: arg.workspace.context.checkoutLocation,
- // TODO: config
- config: new GitInitializer_GitConfig(),
- }),
- },
- });
- spec.initializer.specs.push(initializerSpec);
- } else if (SnapshotContext.is(arg.workspace.context)) {
- const initializerSpec = new WorkspaceInitializer_Spec({
- spec: {
- case: "snapshot",
- value: new SnapshotInitializer({
- snapshotId: arg.workspace.context.snapshotId,
- }),
- },
- });
- spec.initializer.specs.push(initializerSpec);
+ workspace.prebuildId = arg.workspace.context.prebuildWorkspaceId;
}
- // TODO: else if FileDownloadInitializer
- spec.git = new WorkspaceSpec_GitSpec({
- // TODO:
- // username: "",
- // email: "",
- });
+ const status = new WorkspaceStatus();
+ const phase = new WorkspacePhase();
+ phase.lastTransitionTime = Timestamp.fromDate(new Date(arg.workspace.creationTime));
+ status.phase = phase;
+ status.admission = this.toAdmission(arg.workspace.shareable);
+ status.gitStatus = this.toGitStatus(arg.workspace);
+ workspace.status = status;
+ workspace.additionalEnvironmentVariables = this.toWorkspaceEnvironmentVariables(arg.workspace.context);
if (arg.latestInstance) {
- return this.toWorkspaceSpec(arg.latestInstance, spec);
- }
- return spec;
- }
- spec.editor = this.toEditor(arg.configuration.ideConfig);
- spec.ports = this.toPorts(arg.status.exposedPorts);
- if (arg.status.timeout) {
- // TODO: timeout
- }
- if (arg.workspaceClass) {
- spec.class = arg.workspaceClass;
- }
- // TODO: ssh_public_keys
- // TODO: subassembly_references
- // TODO: log_url
- return spec;
- }
-
- toWorkspaceStatus(arg: WorkspaceInfo | WorkspaceInstance, current?: WorkspaceStatus): WorkspaceStatus {
- const status = new WorkspaceStatus(current);
- status.phase = new WorkspacePhase(status.phase);
-
- if ("workspace" in arg) {
- if (arg.workspace.type === "prebuild") {
- status.prebuildResult = new WorkspaceStatus_PrebuildResult({
- // TODO:
- // snapshot: "",
- // errorMessage: "",
- });
+ return this.toWorkspace(arg.latestInstance, workspace);
}
- // TODO: timeout
- status.phase.lastTransitionTime = Timestamp.fromDate(new Date(arg.workspace.creationTime));
- status.gitStatus = this.toGitStatus(arg.workspace);
- return status;
+ return workspace;
}
- status.workspaceUrl = arg.ideUrl;
- status.conditions = this.toWorkspaceConditions(arg.status.conditions);
+ const status = workspace.status ?? new WorkspaceStatus();
+ workspace.status = status;
+ const phase = status.phase ?? new WorkspacePhase();
+ phase.name = this.toPhase(arg);
+ status.phase = phase;
let lastTransitionTime = new Date(arg.creationTime).getTime();
- if (status.phase.lastTransitionTime) {
- lastTransitionTime = Math.max(
- lastTransitionTime,
- new Date(status.phase.lastTransitionTime.toDate()).getTime(),
- );
+ if (phase.lastTransitionTime) {
+ lastTransitionTime = Math.max(lastTransitionTime, new Date(phase.lastTransitionTime.toDate()).getTime());
}
if (arg.deployedTime) {
lastTransitionTime = Math.max(lastTransitionTime, new Date(arg.deployedTime).getTime());
@@ -261,48 +173,30 @@ export class PublicAPIConverter {
if (arg.stoppedTime) {
lastTransitionTime = Math.max(lastTransitionTime, new Date(arg.stoppedTime).getTime());
}
- status.phase.lastTransitionTime = Timestamp.fromDate(new Date(lastTransitionTime));
+ phase.lastTransitionTime = Timestamp.fromDate(new Date(lastTransitionTime));
- // TODO: could be improved? But by original status source producer
- status.statusVersion = status.phase.lastTransitionTime.seconds;
-
- status.phase.name = this.toPhase(arg);
status.instanceId = arg.id;
if (arg.status.message) {
- status.conditions = new WorkspaceStatus_WorkspaceConditions({
- failed: arg.status.message,
- });
- arg.status.conditions.failed;
+ status.message = arg.status.message;
}
+ status.workspaceUrl = arg.ideUrl;
+ status.ports = this.toPorts(arg.status.exposedPorts);
+ status.conditions = this.toWorkspaceConditions(arg.status.conditions);
status.gitStatus = this.toGitStatus(arg, status.gitStatus);
-
- return status;
- }
-
- toWorkspaceMetadata(arg: WorkspaceInfo | WorkspaceInstance, current?: WorkspaceMetadata): WorkspaceMetadata {
- const metadata = new WorkspaceMetadata(current);
- if ("workspace" in arg) {
- metadata.ownerId = arg.workspace.ownerId;
- metadata.configurationId = arg.workspace.projectId ?? "";
- // TODO: annotation
- metadata.organizationId = arg.workspace.organizationId;
- metadata.name = arg.workspace.description;
- metadata.pinned = arg.workspace.pinned ?? false;
- const contextUrl = ContextURL.normalize(arg.workspace);
- if (contextUrl) {
- metadata.originalContextUrl = contextUrl;
- }
+ workspace.region = arg.region;
+ if (arg.workspaceClass) {
+ workspace.workspaceClass = arg.workspaceClass;
}
- return metadata;
+ workspace.editor = this.toEditor(arg.configuration.ideConfig);
+
+ return workspace;
}
- toWorkspaceConditions(conditions: WorkspaceInstanceConditions): WorkspaceStatus_WorkspaceConditions {
- const result = new WorkspaceStatus_WorkspaceConditions({
+ toWorkspaceConditions(conditions: WorkspaceInstanceConditions): WorkspaceConditions {
+ return new WorkspaceConditions({
failed: conditions.failed,
timeout: conditions.timeout,
});
- // TODO: failedReason
- return result;
}
toEditor(ideConfig: ConfigurationIdeConfig | undefined): EditorReference | undefined {
@@ -556,15 +450,15 @@ export class PublicAPIConverter {
return new ApplicationError(ErrorCodes.INTERNAL_SERVER_ERROR, reason.rawMessage);
}
- toEnvironmentVariables(context: WorkspaceContext): EnvironmentVariable[] {
+ toWorkspaceEnvironmentVariables(context: WorkspaceContext): WorkspaceEnvironmentVariable[] {
if (WithEnvvarsContext.is(context)) {
return context.envvars.map((envvar) => this.toWorkspaceEnvironmentVariable(envvar));
}
return [];
}
- toWorkspaceEnvironmentVariable(envVar: EnvVarWithValue): EnvironmentVariable {
- const result = new EnvironmentVariable();
+ toWorkspaceEnvironmentVariable(envVar: EnvVarWithValue): WorkspaceEnvironmentVariable {
+ const result = new WorkspaceEnvironmentVariable();
result.name = envVar.name;
result.value = envVar.value;
return result;
@@ -610,7 +504,7 @@ export class PublicAPIConverter {
if (port.url) {
result.url = port.url;
}
- result.admission = this.toAdmission(port.visibility === "public");
+ result.policy = this.toPortPolicy(port.visibility);
result.protocol = this.toPortProtocol(port.protocol);
return result;
}
@@ -624,6 +518,15 @@ export class PublicAPIConverter {
}
}
+ toPortPolicy(visibility: string | undefined): WorkspacePort_Policy {
+ switch (visibility) {
+ case "public":
+ return WorkspacePort_Policy.PUBLIC;
+ default:
+ return WorkspacePort_Policy.PRIVATE;
+ }
+ }
+
toGitStatus(
arg: WorkspaceInfo | ProtocolWorkspace | WorkspaceInstance,
current?: WorkspaceGitStatus,
@@ -680,9 +583,6 @@ export class PublicAPIConverter {
return WorkspacePhase_Phase.RUNNING;
case "interrupted":
return WorkspacePhase_Phase.INTERRUPTED;
- // TODO:
- // case "pause":
- // return WorkspacePhase_Phase.PAUSED;
case "stopping":
return WorkspacePhase_Phase.STOPPING;
case "stopped":
diff --git a/components/public-api/typescript/src/gitpod/v1/envvar_pb.ts b/components/public-api/typescript/src/gitpod/v1/envvar_pb.ts
index 38b80a17e0d784..6d8e2fe0b3de14 100644
--- a/components/public-api/typescript/src/gitpod/v1/envvar_pb.ts
+++ b/components/public-api/typescript/src/gitpod/v1/envvar_pb.ts
@@ -861,9 +861,9 @@ export class ResolveWorkspaceEnvironmentVariablesRequest extends Message {
/**
- * @generated from field: repeated gitpod.v1.EnvironmentVariable environment_variables = 1;
+ * @generated from field: repeated gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.EnvironmentVariable environment_variables = 1;
*/
- environmentVariables: EnvironmentVariable[] = [];
+ environmentVariables: ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable[] = [];
constructor(data?: PartialMessage) {
super();
@@ -873,7 +873,7 @@ export class ResolveWorkspaceEnvironmentVariablesResponse extends Message [
- { no: 1, name: "environment_variables", kind: "message", T: EnvironmentVariable, repeated: true },
+ { no: 1, name: "environment_variables", kind: "message", T: ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable, repeated: true },
]);
static fromBinary(bytes: Uint8Array, options?: Partial): ResolveWorkspaceEnvironmentVariablesResponse {
@@ -894,9 +894,9 @@ export class ResolveWorkspaceEnvironmentVariablesResponse extends Message {
+export class ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable extends Message {
/**
* @generated from field: string name = 1;
*/
@@ -907,31 +907,31 @@ export class EnvironmentVariable extends Message {
*/
value = "";
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.EnvironmentVariable";
+ static readonly typeName = "gitpod.v1.ResolveWorkspaceEnvironmentVariablesResponse.EnvironmentVariable";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
{ no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "value", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): EnvironmentVariable {
- return new EnvironmentVariable().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable {
+ return new ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): EnvironmentVariable {
- return new EnvironmentVariable().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable {
+ return new ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): EnvironmentVariable {
- return new EnvironmentVariable().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable {
+ return new ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable().fromJsonString(jsonString, options);
}
- static equals(a: EnvironmentVariable | PlainMessage | undefined, b: EnvironmentVariable | PlainMessage | undefined): boolean {
- return proto3.util.equals(EnvironmentVariable, a, b);
+ static equals(a: ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable | PlainMessage | undefined, b: ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable | PlainMessage | undefined): boolean {
+ return proto3.util.equals(ResolveWorkspaceEnvironmentVariablesResponse_EnvironmentVariable, a, b);
}
}
diff --git a/components/public-api/typescript/src/gitpod/v1/workspace_connect.ts b/components/public-api/typescript/src/gitpod/v1/workspace_connect.ts
index b89cb5dc9fb176..fcec3dc6ac50cc 100644
--- a/components/public-api/typescript/src/gitpod/v1/workspace_connect.ts
+++ b/components/public-api/typescript/src/gitpod/v1/workspace_connect.ts
@@ -9,7 +9,7 @@
/* eslint-disable */
// @ts-nocheck
-import { CreateAndStartWorkspaceRequest, CreateAndStartWorkspaceResponse, GetWorkspaceDefaultImageRequest, GetWorkspaceDefaultImageResponse, GetWorkspaceEditorCredentialsRequest, GetWorkspaceEditorCredentialsResponse, GetWorkspaceOwnerTokenRequest, GetWorkspaceOwnerTokenResponse, GetWorkspaceRequest, GetWorkspaceResponse, ListWorkspacesRequest, ListWorkspacesResponse, ParseContextURLRequest, ParseContextURLResponse, SendHeartBeatRequest, SendHeartBeatResponse, StartWorkspaceRequest, StartWorkspaceResponse, UpdateWorkspaceRequest, UpdateWorkspaceResponse, WatchWorkspaceStatusRequest, WatchWorkspaceStatusResponse } from "./workspace_pb.js";
+import { CreateAndStartWorkspaceRequest, CreateAndStartWorkspaceResponse, GetWorkspaceDefaultImageRequest, GetWorkspaceDefaultImageResponse, GetWorkspaceEditorCredentialsRequest, GetWorkspaceEditorCredentialsResponse, GetWorkspaceOwnerTokenRequest, GetWorkspaceOwnerTokenResponse, GetWorkspaceRequest, GetWorkspaceResponse, ListWorkspacesRequest, ListWorkspacesResponse, SendHeartBeatRequest, SendHeartBeatResponse, StartWorkspaceRequest, StartWorkspaceResponse, WatchWorkspaceStatusRequest, WatchWorkspaceStatusResponse } from "./workspace_pb.js";
import { MethodKind } from "@bufbuild/protobuf";
/**
@@ -79,29 +79,6 @@ export const WorkspaceService = {
O: StartWorkspaceResponse,
kind: MethodKind.Unary,
},
- /**
- * UpdateWorkspace updates the workspace.
- *
- * @generated from rpc gitpod.v1.WorkspaceService.UpdateWorkspace
- */
- updateWorkspace: {
- name: "UpdateWorkspace",
- I: UpdateWorkspaceRequest,
- O: UpdateWorkspaceResponse,
- kind: MethodKind.Unary,
- },
- /**
- * ParseContextURL parses a context URL and returns the workspace metadata and spec.
- * Not implemented yet.
- *
- * @generated from rpc gitpod.v1.WorkspaceService.ParseContextURL
- */
- parseContextURL: {
- name: "ParseContextURL",
- I: ParseContextURLRequest,
- O: ParseContextURLResponse,
- kind: MethodKind.Unary,
- },
/**
* GetWorkspaceDefaultImage returns the default workspace image of specified
* workspace.
diff --git a/components/public-api/typescript/src/gitpod/v1/workspace_pb.ts b/components/public-api/typescript/src/gitpod/v1/workspace_pb.ts
index 29bea0033452df..66f8481801ad41 100644
--- a/components/public-api/typescript/src/gitpod/v1/workspace_pb.ts
+++ b/components/public-api/typescript/src/gitpod/v1/workspace_pb.ts
@@ -10,10 +10,9 @@
// @ts-nocheck
import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
-import { Duration, Message, proto3, protoInt64, Timestamp } from "@bufbuild/protobuf";
+import { Message, proto3, protoInt64, Timestamp } from "@bufbuild/protobuf";
import { PaginationRequest, PaginationResponse } from "./pagination_pb.js";
import { EditorReference } from "./editor_pb.js";
-import { EnvironmentVariable } from "./envvar_pb.js";
/**
* Admission level describes who can access a workspace instance and its ports.
@@ -285,18 +284,18 @@ export class ListWorkspacesRequest extends Message {
*/
export class ListWorkspacesResponse extends Message {
/**
- * pagination contains the pagination options for listing workspaces
+ * workspaces are the workspaces that matched the query
*
- * @generated from field: gitpod.v1.PaginationResponse pagination = 1;
+ * @generated from field: repeated gitpod.v1.Workspace workspaces = 1;
*/
- pagination?: PaginationResponse;
+ workspaces: Workspace[] = [];
/**
- * workspaces are the workspaces that matched the query
+ * pagination contains the pagination options for listing workspaces
*
- * @generated from field: repeated gitpod.v1.Workspace workspaces = 2;
+ * @generated from field: gitpod.v1.PaginationResponse pagination = 2;
*/
- workspaces: Workspace[] = [];
+ pagination?: PaginationResponse;
constructor(data?: PartialMessage) {
super();
@@ -306,8 +305,8 @@ export class ListWorkspacesResponse extends Message {
static readonly runtime: typeof proto3 = proto3;
static readonly typeName = "gitpod.v1.ListWorkspacesResponse";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "pagination", kind: "message", T: PaginationResponse },
- { no: 2, name: "workspaces", kind: "message", T: Workspace, repeated: true },
+ { no: 1, name: "workspaces", kind: "message", T: Workspace, repeated: true },
+ { no: 2, name: "pagination", kind: "message", T: PaginationResponse },
]);
static fromBinary(bytes: Uint8Array, options?: Partial): ListWorkspacesResponse {
@@ -328,48 +327,95 @@ export class ListWorkspacesResponse extends Message {
}
/**
- * Required fields:
- * - metadata.organization_id
- * - metadata.configuration_id
- *
* @generated from message gitpod.v1.CreateAndStartWorkspaceRequest
*/
export class CreateAndStartWorkspaceRequest extends Message {
/**
- * metadata is data associated with this workspace that's required for other parts of Gitpod to function
+ * organization_id is the ID of the organization to create the workspace
+ *
+ * +required
+ *
+ * @generated from field: string organization_id = 1;
+ */
+ organizationId = "";
+
+ /**
+ * configuration_id is the ID of the configuration to use
*
- * @generated from field: gitpod.v1.WorkspaceMetadata metadata = 1;
+ * @generated from field: string configuration_id = 2;
*/
- metadata?: WorkspaceMetadata;
+ configurationId = "";
/**
+ * source describes the source refer of workspace.
+ *
+ * +required
+ *
* @generated from oneof gitpod.v1.CreateAndStartWorkspaceRequest.source
*/
source: {
/**
- * context_url is the URL from which the workspace is created
+ * git describes the source refer of workspace
+ * Obtain available git using the ContextService.ParseContext operation if
+ * not sure about it.
*
- * @generated from field: gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL context_url = 2;
+ * @generated from field: gitpod.v1.CreateAndStartWorkspaceRequest.Git git = 3;
*/
- value: CreateAndStartWorkspaceRequest_ContextURL;
- case: "contextUrl";
+ value: CreateAndStartWorkspaceRequest_Git;
+ case: "git";
} | {
/**
- * spec is the configuration of the workspace that's required for the to start the workspace
+ * context_url is for backward compatiblity with the current dashboard, use
+ * ContextService.ParseContext get get a Git source instead
*
- * @generated from field: gitpod.v1.WorkspaceSpec spec = 3;
+ * @generated from field: string context_url = 4 [deprecated = true];
+ * @deprecated
*/
- value: WorkspaceSpec;
- case: "spec";
+ value: string;
+ case: "contextUrl";
} | { case: undefined; value?: undefined } = { case: undefined };
+ /**
+ * additional_env_variables provide additional environment variables to the
+ * workspace.
+ * It will take precedence over environment variables provided by
+ * the user and the configuration
+ *
+ * @generated from field: repeated gitpod.v1.WorkspaceEnvironmentVariable additional_env_variables = 5;
+ */
+ additionalEnvVariables: WorkspaceEnvironmentVariable[] = [];
+
+ /**
+ * @generated from field: string region = 6;
+ */
+ region = "";
+
+ /**
+ * @generated from field: string workspace_class = 7;
+ */
+ workspaceClass = "";
+
+ /**
+ * @generated from field: gitpod.v1.EditorReference editor = 8;
+ */
+ editor?: EditorReference;
+
+ /**
+ * @generated from field: string name = 9;
+ */
+ name = "";
+
+ /**
+ * @generated from field: bool pinned = 10;
+ */
+ pinned = false;
+
/**
* force_default_config indicates that the workspace should be created with
* the default configuration instead of the configuration provided in
* `.gitpod.yml` file
*
- * @generated from field: bool force_default_config = 4 [deprecated = true];
- * @deprecated
+ * @generated from field: bool force_default_config = 11;
*/
forceDefaultConfig = false;
@@ -381,10 +427,17 @@ export class CreateAndStartWorkspaceRequest extends Message [
- { no: 1, name: "metadata", kind: "message", T: WorkspaceMetadata },
- { no: 2, name: "context_url", kind: "message", T: CreateAndStartWorkspaceRequest_ContextURL, oneof: "source" },
- { no: 3, name: "spec", kind: "message", T: WorkspaceSpec, oneof: "source" },
- { no: 4, name: "force_default_config", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
+ { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 2, name: "configuration_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 3, name: "git", kind: "message", T: CreateAndStartWorkspaceRequest_Git, oneof: "source" },
+ { no: 4, name: "context_url", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "source" },
+ { no: 5, name: "additional_env_variables", kind: "message", T: WorkspaceEnvironmentVariable, repeated: true },
+ { no: 6, name: "region", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 7, name: "workspace_class", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 8, name: "editor", kind: "message", T: EditorReference },
+ { no: 9, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 10, name: "pinned", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
+ { no: 11, name: "force_default_config", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
]);
static fromBinary(bytes: Uint8Array, options?: Partial): CreateAndStartWorkspaceRequest {
@@ -405,57 +458,59 @@ export class CreateAndStartWorkspaceRequest extends Message {
+export class CreateAndStartWorkspaceRequest_Git extends Message {
/**
- * url is the URL from which the workspace is created
+ * clone_url is the URL of the repository to clone
*
- * @generated from field: string url = 1;
+ * @generated from field: string clone_url = 1;
*/
- url = "";
+ cloneUrl = "";
/**
- * workspace_class is the class of the workspace we ought to start
+ * ref is an alternatively symbolic. e.g. refs/tags/v1.0,
+ * empty string means the default branch of the repository
*
- * @generated from field: string workspace_class = 2;
+ * @generated from field: string ref = 2;
*/
- workspaceClass = "";
+ ref = "";
/**
- * editor specifies the editor that will be used with this workspace.
+ * create_local_branch is the branch you want to create based on provided
+ * clone_url and ref when workspace started
*
- * @generated from field: gitpod.v1.EditorReference editor = 3;
+ * @generated from field: string create_local_branch = 3;
*/
- editor?: EditorReference;
+ createLocalBranch = "";
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.CreateAndStartWorkspaceRequest.ContextURL";
+ static readonly typeName = "gitpod.v1.CreateAndStartWorkspaceRequest.Git";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "workspace_class", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 3, name: "editor", kind: "message", T: EditorReference },
+ { no: 1, name: "clone_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 2, name: "ref", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 3, name: "create_local_branch", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): CreateAndStartWorkspaceRequest_ContextURL {
- return new CreateAndStartWorkspaceRequest_ContextURL().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): CreateAndStartWorkspaceRequest_Git {
+ return new CreateAndStartWorkspaceRequest_Git().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): CreateAndStartWorkspaceRequest_ContextURL {
- return new CreateAndStartWorkspaceRequest_ContextURL().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): CreateAndStartWorkspaceRequest_Git {
+ return new CreateAndStartWorkspaceRequest_Git().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): CreateAndStartWorkspaceRequest_ContextURL {
- return new CreateAndStartWorkspaceRequest_ContextURL().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): CreateAndStartWorkspaceRequest_Git {
+ return new CreateAndStartWorkspaceRequest_Git().fromJsonString(jsonString, options);
}
- static equals(a: CreateAndStartWorkspaceRequest_ContextURL | PlainMessage | undefined, b: CreateAndStartWorkspaceRequest_ContextURL | PlainMessage | undefined): boolean {
- return proto3.util.equals(CreateAndStartWorkspaceRequest_ContextURL, a, b);
+ static equals(a: CreateAndStartWorkspaceRequest_Git | PlainMessage | undefined, b: CreateAndStartWorkspaceRequest_Git | PlainMessage | undefined): boolean {
+ return proto3.util.equals(CreateAndStartWorkspaceRequest_Git, a, b);
}
}
@@ -510,8 +565,7 @@ export class StartWorkspaceRequest extends Message {
workspaceId = "";
/**
- * @generated from field: bool force_default_config = 2 [deprecated = true];
- * @deprecated
+ * @generated from field: bool force_default_config = 2;
*/
forceDefaultConfig = false;
@@ -925,759 +979,407 @@ export class GetWorkspaceEditorCredentialsResponse extends Message {
/**
- * ID is a unique identifier of this workspace. No other workspace with the same name must be managed by this workspace manager
- *
* @generated from field: string id = 1;
*/
id = "";
/**
- * Metadata is data associated with this workspace that's required for other parts of Gitpod to function
+ * prebuild indicates it is a prebuild
+ * TODO(ak) model prebuilds as a separate resource
*
- * @generated from field: gitpod.v1.WorkspaceMetadata metadata = 2;
+ * @generated from field: bool prebuild = 2;
*/
- metadata?: WorkspaceMetadata;
+ prebuild = false;
/**
- * Spec is the configuration of the workspace that's required for the ws-manager to start the workspace
- *
- * @generated from field: gitpod.v1.WorkspaceSpec spec = 3;
+ * @generated from field: string organization_id = 3;
*/
- spec?: WorkspaceSpec;
+ organizationId = "";
/**
- * Status is the current status of the workspace
- *
- * @generated from field: gitpod.v1.WorkspaceStatus status = 4;
+ * @generated from field: string name = 4;
*/
- status?: WorkspaceStatus;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.Workspace";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "metadata", kind: "message", T: WorkspaceMetadata },
- { no: 3, name: "spec", kind: "message", T: WorkspaceSpec },
- { no: 4, name: "status", kind: "message", T: WorkspaceStatus },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): Workspace {
- return new Workspace().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): Workspace {
- return new Workspace().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): Workspace {
- return new Workspace().fromJsonString(jsonString, options);
- }
+ name = "";
- static equals(a: Workspace | PlainMessage | undefined, b: Workspace | PlainMessage | undefined): boolean {
- return proto3.util.equals(Workspace, a, b);
- }
-}
+ /**
+ * @generated from field: bool pinned = 5;
+ */
+ pinned = false;
-/**
- * WorkspaceMetadata is data associated with a workspace that's required for other parts of the system to function
- *
- * @generated from message gitpod.v1.WorkspaceMetadata
- */
-export class WorkspaceMetadata extends Message {
/**
- * owner_id is the ID of the Gitpod user to whom we'll bill this workspace and who we consider responsible for its content
- *
- * @generated from field: string owner_id = 1;
+ * @generated from field: gitpod.v1.WorkspaceStatus status = 6;
*/
- ownerId = "";
+ status?: WorkspaceStatus;
/**
- * organization_id is the ID of the organization that contains the workspace
+ * additional_environment_variables provide additional environment variables
+ * which take precedence over environment variables provided by the project
+ * and user.
*
- * @generated from field: string organization_id = 2;
+ * +optional
+ *
+ * @generated from field: repeated gitpod.v1.WorkspaceEnvironmentVariable additional_environment_variables = 7;
*/
- organizationId = "";
+ additionalEnvironmentVariables: WorkspaceEnvironmentVariable[] = [];
/**
- * configuration_id is the ID of the configuration used by this workspace
+ * region specifies the region in which the workspace will be created.
+ * Obtain available regions using the ListRegions operation.
+ *
+ * +optional defaults to the user's default region
*
- * @generated from field: string configuration_id = 3;
+ * @generated from field: string region = 8;
*/
- configurationId = "";
+ region = "";
/**
- * annotations are key/value pairs that gets attached to the workspace.
- * +internal - not yet implemented
+ * workspace_class specifies the workspace class with which to create the
+ * workspace. Obtain available workspace classes using the ListWorkspaceClass
+ * operation.
+ *
+ * +optional defaults to the class configured on the project or the cluster's
+ * default class.
*
- * @generated from field: map annotations = 4;
+ * @generated from field: string workspace_class = 9;
*/
- annotations: { [key: string]: string } = {};
+ workspaceClass = "";
/**
- * name is the name of the workspace as specified by the user
+ * editor specifies the editor that will be used with this workspace.
+ * Obtain available editors using the EditorService.ListEditors operation.
*
- * @generated from field: string name = 5;
+ * +optional defaults to the default editor of the user
+ *
+ * @generated from field: gitpod.v1.EditorReference editor = 10;
*/
- name = "";
+ editor?: EditorReference;
/**
- * pinned indicates whether the workspace is pinned
+ * context_url is the normalized URL from which the workspace was created
+ * TODO(ak) replace with resolveContextURL API
*
- * @generated from field: bool pinned = 6;
+ * @generated from field: string context_url = 11;
*/
- pinned = false;
+ contextUrl = "";
/**
- * original_context_url is the normalized URL from which the workspace was created
+ * Prebuild ID is the unique identifier of the prebuild
+ * from which this workspace was created
+ * +optional if empty then this workspace was not created from a prebuild
*
- * @generated from field: string original_context_url = 7;
+ * @generated from field: string prebuild_id = 12;
*/
- originalContextUrl = "";
+ prebuildId = "";
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceMetadata";
+ static readonly typeName = "gitpod.v1.Workspace";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "owner_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 3, name: "configuration_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 4, name: "annotations", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
- { no: 5, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 6, name: "pinned", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
- { no: 7, name: "original_context_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 2, name: "prebuild", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
+ { no: 3, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 4, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 5, name: "pinned", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
+ { no: 6, name: "status", kind: "message", T: WorkspaceStatus },
+ { no: 7, name: "additional_environment_variables", kind: "message", T: WorkspaceEnvironmentVariable, repeated: true },
+ { no: 8, name: "region", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 9, name: "workspace_class", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 10, name: "editor", kind: "message", T: EditorReference },
+ { no: 11, name: "context_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 12, name: "prebuild_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceMetadata {
- return new WorkspaceMetadata().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): Workspace {
+ return new Workspace().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceMetadata {
- return new WorkspaceMetadata().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): Workspace {
+ return new Workspace().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceMetadata {
- return new WorkspaceMetadata().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): Workspace {
+ return new Workspace().fromJsonString(jsonString, options);
}
- static equals(a: WorkspaceMetadata | PlainMessage | undefined, b: WorkspaceMetadata | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceMetadata, a, b);
+ static equals(a: Workspace | PlainMessage | undefined, b: Workspace | PlainMessage | undefined): boolean {
+ return proto3.util.equals(Workspace, a, b);
}
}
/**
- * WorkspaceSpec specifies the configuration of a workspace for a workspace start
- *
- * @generated from message gitpod.v1.WorkspaceSpec
+ * @generated from message gitpod.v1.WorkspaceStatus
*/
-export class WorkspaceSpec extends Message {
- /**
- * initializer configures how the workspace is to be initialized
- *
- * @generated from field: gitpod.v1.WorkspaceInitializer initializer = 1;
- */
- initializer?: WorkspaceInitializer;
-
+export class WorkspaceStatus extends Message {
/**
- * Type denots the kind of workspace we ought to start
+ * Phase is a simple, high-level summary of where the workspace is in its
+ * lifecycle. The phase is not intended to be a comprehensive rollup of
+ * observations of the workspace state, nor is it intended to be a
+ * comprehensive state machine.
*
- * @generated from field: gitpod.v1.WorkspaceSpec.WorkspaceType type = 2;
+ * @generated from field: gitpod.v1.WorkspacePhase phase = 1;
*/
- type = WorkspaceSpec_WorkspaceType.UNSPECIFIED;
+ phase?: WorkspacePhase;
/**
- * ports is the set of ports which ought to be exposed to the internet
+ * message is an optional human-readable message detailing the current phase
*
- * @generated from field: repeated gitpod.v1.WorkspacePort ports = 3;
+ * @generated from field: string message = 2;
*/
- ports: WorkspacePort[] = [];
+ message = "";
/**
- * envvars are user-defined environment variables which ought to be available in the workspace (shim'ed environment)
+ * workspace_url is the URL of the workspace. Only present when the phase is
+ * running.
*
- * @generated from field: repeated gitpod.v1.EnvironmentVariable environment_variables = 4;
+ * @generated from field: string workspace_url = 3;
*/
- environmentVariables: EnvironmentVariable[] = [];
+ workspaceUrl = "";
/**
- * Git configures the Git user in the workspace
+ * 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.
*
- * @generated from field: gitpod.v1.WorkspaceSpec.GitSpec git = 5;
+ * @generated from field: gitpod.v1.WorkspaceGitStatus git_status = 4;
*/
- git?: WorkspaceSpec_GitSpec;
+ gitStatus?: WorkspaceGitStatus;
/**
- * Timeout configures the workspace timeout
+ * ports lists the network ports currently available/known of this workspace
*
- * @generated from field: gitpod.v1.WorkspaceSpec.Timeout timeout = 6;
+ * @generated from field: repeated gitpod.v1.WorkspacePort ports = 5;
*/
- timeout?: WorkspaceSpec_Timeout;
+ ports: WorkspacePort[] = [];
/**
- * admission controlls who can access the workspace and its ports.
+ * Admission describes who can access a workspace instance and its ports.
*
- * @generated from field: gitpod.v1.AdmissionLevel admission = 7;
+ * @generated from field: gitpod.v1.AdmissionLevel admission = 6;
*/
admission = AdmissionLevel.UNSPECIFIED;
/**
- * Class denotes the class of the workspace we ought to start
- *
- * @generated from field: string class = 8;
- */
- class = "";
-
- /**
- * ssh_public_keys is user's uploaded ssh public keys
- *
- * @generated from field: repeated string ssh_public_keys = 9;
- */
- sshPublicKeys: string[] = [];
-
- /**
- * subassembly_references is a list of workspace IDs that this workspace depends on.
- * For example:
- * index.docker.io/gitpod-io/subassmeblies/code:latest
- *
- * @generated from field: repeated string subassembly_references = 10;
- */
- subassemblyReferences: string[] = [];
-
- /**
- * last_user_activity is the time when the user last interacted with the workspace
+ * Instance ID is the unique identifier of the workspace instance
*
- * @generated from field: google.protobuf.Timestamp last_user_activity = 11;
+ * @generated from field: string instance_id = 7;
*/
- lastUserActivity?: Timestamp;
+ instanceId = "";
/**
- * log_url is the URL where we stream the workspace's logs to.
- * Can be changed when the workspace is PENDING or STOPPED.
+ * Conditions contains observations of the workspace's current phase.
*
- * @generated from field: string log_url = 12;
- */
- logUrl = "";
-
- /**
- * @generated from field: gitpod.v1.EditorReference editor = 13;
+ * @generated from field: gitpod.v1.WorkspaceConditions conditions = 8;
*/
- editor?: EditorReference;
+ conditions?: WorkspaceConditions;
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceSpec";
+ static readonly typeName = "gitpod.v1.WorkspaceStatus";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "initializer", kind: "message", T: WorkspaceInitializer },
- { no: 2, name: "type", kind: "enum", T: proto3.getEnumType(WorkspaceSpec_WorkspaceType) },
- { no: 3, name: "ports", kind: "message", T: WorkspacePort, repeated: true },
- { no: 4, name: "environment_variables", kind: "message", T: EnvironmentVariable, repeated: true },
- { no: 5, name: "git", kind: "message", T: WorkspaceSpec_GitSpec },
- { no: 6, name: "timeout", kind: "message", T: WorkspaceSpec_Timeout },
- { no: 7, name: "admission", kind: "enum", T: proto3.getEnumType(AdmissionLevel) },
- { no: 8, name: "class", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 9, name: "ssh_public_keys", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- { no: 10, name: "subassembly_references", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- { no: 11, name: "last_user_activity", kind: "message", T: Timestamp },
- { no: 12, name: "log_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 13, name: "editor", kind: "message", T: EditorReference },
+ { no: 1, name: "phase", kind: "message", T: WorkspacePhase },
+ { no: 2, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 3, name: "workspace_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 4, name: "git_status", kind: "message", T: WorkspaceGitStatus },
+ { no: 5, name: "ports", kind: "message", T: WorkspacePort, repeated: true },
+ { no: 6, name: "admission", kind: "enum", T: proto3.getEnumType(AdmissionLevel) },
+ { no: 7, name: "instance_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 8, name: "conditions", kind: "message", T: WorkspaceConditions },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceSpec {
- return new WorkspaceSpec().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceStatus {
+ return new WorkspaceStatus().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceSpec {
- return new WorkspaceSpec().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceStatus {
+ return new WorkspaceStatus().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceSpec {
- return new WorkspaceSpec().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): WorkspaceStatus {
+ return new WorkspaceStatus().fromJsonString(jsonString, options);
}
- static equals(a: WorkspaceSpec | PlainMessage | undefined, b: WorkspaceSpec | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceSpec, a, b);
+ static equals(a: WorkspaceStatus | PlainMessage | undefined, b: WorkspaceStatus | PlainMessage | undefined): boolean {
+ return proto3.util.equals(WorkspaceStatus, a, b);
}
}
/**
- * WorkspaceType specifies the purpose/use of a workspace. Different workspace types are handled differently by all parts of the system.
- *
- * @generated from enum gitpod.v1.WorkspaceSpec.WorkspaceType
- */
-export enum WorkspaceSpec_WorkspaceType {
- /**
- * @generated from enum value: WORKSPACE_TYPE_UNSPECIFIED = 0;
- */
- UNSPECIFIED = 0,
-
- /**
- * Regular workspaces are your off-the-mill workspaces intended for users. They are directly user-facing and hence are most important.
- *
- * @generated from enum value: WORKSPACE_TYPE_REGULAR = 1;
- */
- REGULAR = 1,
-
- /**
- * Prebuild workspaces are workspaces used to pre-build the content of other workspaces. They run headless and have no direct user-interaction.
- *
- * @generated from enum value: WORKSPACE_TYPE_PREBUILD = 2;
- */
- PREBUILD = 2,
-}
-// Retrieve enum metadata with: proto3.getEnumType(WorkspaceSpec_WorkspaceType)
-proto3.util.setEnumType(WorkspaceSpec_WorkspaceType, "gitpod.v1.WorkspaceSpec.WorkspaceType", [
- { no: 0, name: "WORKSPACE_TYPE_UNSPECIFIED" },
- { no: 1, name: "WORKSPACE_TYPE_REGULAR" },
- { no: 2, name: "WORKSPACE_TYPE_PREBUILD" },
-]);
-
-/**
- * Timeout configures the workspace timeout
- *
- * @generated from message gitpod.v1.WorkspaceSpec.Timeout
+ * @generated from message gitpod.v1.WorkspaceConditions
*/
-export class WorkspaceSpec_Timeout extends Message {
- /**
- * inacitivity is the maximum time of inactivity before the workspace is stopped or paused
- *
- * @generated from field: google.protobuf.Duration inactivity = 1;
- */
- inactivity?: Duration;
-
+export class WorkspaceConditions extends Message {
/**
- * inacitivity is the maximum time of disconnection before the workspace is stopped or paused
- * set to zero to disable.
+ * failed contains technical details for the failure of the workspace.
+ * +optional If this field is empty, the workspace has not failed.
*
- * @generated from field: google.protobuf.Duration disconnected = 2;
+ * @generated from field: string failed = 1;
*/
- disconnected?: Duration;
+ failed = "";
/**
- * maximum lifetime of the workspace
+ * timeout contains the reason the workspace has timed out.
+ * +optional If this field is empty, the workspace has not timed out.
*
- * @generated from field: google.protobuf.Duration maximum_lifetime = 3;
+ * @generated from field: string timeout = 2;
*/
- maximumLifetime?: Duration;
+ timeout = "";
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceSpec.Timeout";
+ static readonly typeName = "gitpod.v1.WorkspaceConditions";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "inactivity", kind: "message", T: Duration },
- { no: 2, name: "disconnected", kind: "message", T: Duration },
- { no: 3, name: "maximum_lifetime", kind: "message", T: Duration },
+ { no: 1, name: "failed", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 2, name: "timeout", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceSpec_Timeout {
- return new WorkspaceSpec_Timeout().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceConditions {
+ return new WorkspaceConditions().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceSpec_Timeout {
- return new WorkspaceSpec_Timeout().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceConditions {
+ return new WorkspaceConditions().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceSpec_Timeout {
- return new WorkspaceSpec_Timeout().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): WorkspaceConditions {
+ return new WorkspaceConditions().fromJsonString(jsonString, options);
}
- static equals(a: WorkspaceSpec_Timeout | PlainMessage | undefined, b: WorkspaceSpec_Timeout | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceSpec_Timeout, a, b);
+ static equals(a: WorkspaceConditions | PlainMessage | undefined, b: WorkspaceConditions | PlainMessage | undefined): boolean {
+ return proto3.util.equals(WorkspaceConditions, a, b);
}
}
/**
- * GitSpec configures the Git available within the workspace
- *
- * @generated from message gitpod.v1.WorkspaceSpec.GitSpec
+ * @generated from message gitpod.v1.WorkspacePort
*/
-export class WorkspaceSpec_GitSpec extends Message {
+export class WorkspacePort extends Message {
+ /**
+ * port number
+ *
+ * @generated from field: uint64 port = 1;
+ */
+ port = protoInt64.zero;
+
+ /**
+ * policy of this port
+ *
+ * @generated from field: gitpod.v1.WorkspacePort.Policy policy = 2;
+ */
+ policy = WorkspacePort_Policy.UNSPECIFIED;
+
/**
- * The Git username
+ * url that can be used to access the port
*
- * @generated from field: string username = 1;
+ * @generated from field: string url = 3;
*/
- username = "";
+ url = "";
/**
- * The Git email address
+ * backend protocol of this port
*
- * @generated from field: string email = 2;
+ * @generated from field: gitpod.v1.WorkspacePort.Protocol protocol = 4;
*/
- email = "";
+ protocol = WorkspacePort_Protocol.UNSPECIFIED;
- constructor(data?: PartialMessage) {
+ constructor(data?: PartialMessage) {
super();
proto3.util.initPartial(data, this);
}
static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceSpec.GitSpec";
+ static readonly typeName = "gitpod.v1.WorkspacePort";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "username", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "email", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 1, name: "port", kind: "scalar", T: 4 /* ScalarType.UINT64 */ },
+ { no: 2, name: "policy", kind: "enum", T: proto3.getEnumType(WorkspacePort_Policy) },
+ { no: 3, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
+ { no: 4, name: "protocol", kind: "enum", T: proto3.getEnumType(WorkspacePort_Protocol) },
]);
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceSpec_GitSpec {
- return new WorkspaceSpec_GitSpec().fromBinary(bytes, options);
+ static fromBinary(bytes: Uint8Array, options?: Partial): WorkspacePort {
+ return new WorkspacePort().fromBinary(bytes, options);
}
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceSpec_GitSpec {
- return new WorkspaceSpec_GitSpec().fromJson(jsonValue, options);
+ static fromJson(jsonValue: JsonValue, options?: Partial): WorkspacePort {
+ return new WorkspacePort().fromJson(jsonValue, options);
}
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceSpec_GitSpec {
- return new WorkspaceSpec_GitSpec().fromJsonString(jsonString, options);
+ static fromJsonString(jsonString: string, options?: Partial): WorkspacePort {
+ return new WorkspacePort().fromJsonString(jsonString, options);
}
- static equals(a: WorkspaceSpec_GitSpec | PlainMessage | undefined, b: WorkspaceSpec_GitSpec | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceSpec_GitSpec, a, b);
+ static equals(a: WorkspacePort | PlainMessage | undefined, b: WorkspacePort | PlainMessage | undefined): boolean {
+ return proto3.util.equals(WorkspacePort, a, b);
}
}
/**
- * WorkspaceStatus describes a workspace status
+ * Policy defines the accssbility policy of a workspace port is guarded by an
+ * authentication in the proxy
*
- * @generated from message gitpod.v1.WorkspaceStatus
+ * @generated from enum gitpod.v1.WorkspacePort.Policy
*/
-export class WorkspaceStatus extends Message {
- /**
- * version of the status update. Workspace instances themselves are unversioned,
- * but their statuus has different versions.
- * The value of this field has no semantic meaning (e.g. don't interpret it as
- * as a timestemp), but it can be used to impose a partial order.
- * If a.status_version < b.status_version then a was the status before b.
- *
- * @generated from field: uint64 status_version = 1;
- */
- statusVersion = protoInt64.zero;
-
+export enum WorkspacePort_Policy {
/**
- * the phase of a workspace is a simple, high-level summary of where the workspace is in its lifecycle
- *
- * @generated from field: gitpod.v1.WorkspacePhase phase = 2;
+ * @generated from enum value: POLICY_UNSPECIFIED = 0;
*/
- phase?: WorkspacePhase;
+ UNSPECIFIED = 0,
/**
- * workspace_url contains the URL at which the workspace can be accessed.
- * This field is only set if the workspace is running.
+ * Private means the port is accessible by the workspace owner only using
+ * the workspace port URL
*
- * @generated from field: string workspace_url = 3;
+ * @generated from enum value: POLICY_PRIVATE = 1;
*/
- workspaceUrl = "";
+ PRIVATE = 1,
/**
- * conditions detail the current state of the workspace
+ * Public means the port is accessible by everybody using the workspace port
+ * URL
*
- * @generated from field: gitpod.v1.WorkspaceStatus.WorkspaceConditions conditions = 4;
+ * @generated from enum value: POLICY_PUBLIC = 2;
*/
- conditions?: WorkspaceStatus_WorkspaceConditions;
+ PUBLIC = 2,
+}
+// Retrieve enum metadata with: proto3.getEnumType(WorkspacePort_Policy)
+proto3.util.setEnumType(WorkspacePort_Policy, "gitpod.v1.WorkspacePort.Policy", [
+ { no: 0, name: "POLICY_UNSPECIFIED" },
+ { no: 1, name: "POLICY_PRIVATE" },
+ { no: 2, name: "POLICY_PUBLIC" },
+]);
+/**
+ * Protocol defines the backend protocol of port
+ *
+ * @generated from enum gitpod.v1.WorkspacePort.Protocol
+ */
+export enum WorkspacePort_Protocol {
/**
- * prebuild_result contains the result of a prebuild. Only if the workspace is
- *
- * @generated from field: gitpod.v1.WorkspaceStatus.PrebuildResult prebuild_result = 5;
+ * @generated from enum value: PROTOCOL_UNSPECIFIED = 0;
*/
- prebuildResult?: WorkspaceStatus_PrebuildResult;
+ UNSPECIFIED = 0,
/**
- * 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.
+ * Http means the port backend is http
*
- * @generated from field: gitpod.v1.WorkspaceGitStatus git_status = 6;
+ * @generated from enum value: PROTOCOL_HTTP = 1;
*/
- gitStatus?: WorkspaceGitStatus;
+ HTTP = 1,
/**
- * 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.
+ * Https means the port backend is https
*
- * @generated from field: string instance_id = 7 [deprecated = true];
- * @deprecated
- */
- instanceId = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceStatus";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "status_version", kind: "scalar", T: 4 /* ScalarType.UINT64 */ },
- { no: 2, name: "phase", kind: "message", T: WorkspacePhase },
- { no: 3, name: "workspace_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 4, name: "conditions", kind: "message", T: WorkspaceStatus_WorkspaceConditions },
- { no: 5, name: "prebuild_result", kind: "message", T: WorkspaceStatus_PrebuildResult },
- { no: 6, name: "git_status", kind: "message", T: WorkspaceGitStatus },
- { no: 7, name: "instance_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceStatus {
- return new WorkspaceStatus().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceStatus {
- return new WorkspaceStatus().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceStatus {
- return new WorkspaceStatus().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspaceStatus | PlainMessage | undefined, b: WorkspaceStatus | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceStatus, a, b);
- }
-}
-
-/**
- * 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.
- *
- * @generated from message gitpod.v1.WorkspaceStatus.WorkspaceConditions
- */
-export class WorkspaceStatus_WorkspaceConditions extends Message {
- /**
- * failed contains the reason the workspace failed to operate. If this field is empty, the workspace has not failed.
- *
- * @generated from field: string failed = 1;
- */
- failed = "";
-
- /**
- * failed_reason contains the reason the workspace failed to operate.
- * This field is only set if the workspace has failed.
- *
- * @generated from field: gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason failed_reason = 2;
- */
- failedReason = WorkspaceStatus_WorkspaceConditions_FailedReason.UNSPECIFIED;
-
- /**
- * timeout contains the reason the workspace has timed out. If this field is empty, the workspace has not timed out.
- *
- * @generated from field: string timeout = 3;
- */
- timeout = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceStatus.WorkspaceConditions";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "failed", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "failed_reason", kind: "enum", T: proto3.getEnumType(WorkspaceStatus_WorkspaceConditions_FailedReason) },
- { no: 3, name: "timeout", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceStatus_WorkspaceConditions {
- return new WorkspaceStatus_WorkspaceConditions().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceStatus_WorkspaceConditions {
- return new WorkspaceStatus_WorkspaceConditions().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceStatus_WorkspaceConditions {
- return new WorkspaceStatus_WorkspaceConditions().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspaceStatus_WorkspaceConditions | PlainMessage | undefined, b: WorkspaceStatus_WorkspaceConditions | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceStatus_WorkspaceConditions, a, b);
- }
-}
-
-/**
- * @generated from enum gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason
- */
-export enum WorkspaceStatus_WorkspaceConditions_FailedReason {
- /**
- * @generated from enum value: FAILED_REASON_UNSPECIFIED = 0;
- */
- UNSPECIFIED = 0,
-
- /**
- * @generated from enum value: FAILED_REASON_CONTENT_INITIALIZATION_FAILED = 1;
- */
- CONTENT_INITIALIZATION_FAILED = 1,
-
- /**
- * @generated from enum value: FAILED_REASON_BACKUP_FAILED = 2;
- */
- BACKUP_FAILED = 2,
-
- /**
- * @generated from enum value: FAILED_REASON_IMAGE_PULL_FAILURE = 3;
- */
- IMAGE_PULL_FAILURE = 3,
-
- /**
- * @generated from enum value: FAILED_REASON_UNEXPECTED_TERMINATION = 4;
- */
- UNEXPECTED_TERMINATION = 4,
-}
-// Retrieve enum metadata with: proto3.getEnumType(WorkspaceStatus_WorkspaceConditions_FailedReason)
-proto3.util.setEnumType(WorkspaceStatus_WorkspaceConditions_FailedReason, "gitpod.v1.WorkspaceStatus.WorkspaceConditions.FailedReason", [
- { no: 0, name: "FAILED_REASON_UNSPECIFIED" },
- { no: 1, name: "FAILED_REASON_CONTENT_INITIALIZATION_FAILED" },
- { no: 2, name: "FAILED_REASON_BACKUP_FAILED" },
- { no: 3, name: "FAILED_REASON_IMAGE_PULL_FAILURE" },
- { no: 4, name: "FAILED_REASON_UNEXPECTED_TERMINATION" },
-]);
-
-/**
- * @generated from message gitpod.v1.WorkspaceStatus.PrebuildResult
- */
-export class WorkspaceStatus_PrebuildResult extends Message {
- /**
- * Snapshot points to the content of the prebuild. This string is opaque to the cluster manager,
- * and must be returned unaltered.
- *
- * @generated from field: string snapshot = 1;
- */
- snapshot = "";
-
- /**
- * The prebuild's error message
- *
- * @generated from field: string error_message = 2;
- */
- errorMessage = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceStatus.PrebuildResult";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "snapshot", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "error_message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceStatus_PrebuildResult {
- return new WorkspaceStatus_PrebuildResult().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceStatus_PrebuildResult {
- return new WorkspaceStatus_PrebuildResult().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceStatus_PrebuildResult {
- return new WorkspaceStatus_PrebuildResult().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspaceStatus_PrebuildResult | PlainMessage | undefined, b: WorkspaceStatus_PrebuildResult | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceStatus_PrebuildResult, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.WorkspacePort
- */
-export class WorkspacePort extends Message {
- /**
- * port number
- *
- * @generated from field: uint64 port = 1;
- */
- port = protoInt64.zero;
-
- /**
- * policy of this port
- *
- * @generated from field: gitpod.v1.AdmissionLevel admission = 2;
- */
- admission = AdmissionLevel.UNSPECIFIED;
-
- /**
- * url that can be used to access the port
- *
- * @generated from field: string url = 3;
- */
- url = "";
-
- /**
- * backend protocol of this port
- *
- * @generated from field: gitpod.v1.WorkspacePort.Protocol protocol = 4;
- */
- protocol = WorkspacePort_Protocol.UNSPECIFIED;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspacePort";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "port", kind: "scalar", T: 4 /* ScalarType.UINT64 */ },
- { no: 2, name: "admission", kind: "enum", T: proto3.getEnumType(AdmissionLevel) },
- { no: 3, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 4, name: "protocol", kind: "enum", T: proto3.getEnumType(WorkspacePort_Protocol) },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspacePort {
- return new WorkspacePort().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspacePort {
- return new WorkspacePort().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspacePort {
- return new WorkspacePort().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspacePort | PlainMessage | undefined, b: WorkspacePort | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspacePort, a, b);
- }
-}
-
-/**
- * Protocol defines the backend protocol of port
- *
- * @generated from enum gitpod.v1.WorkspacePort.Protocol
- */
-export enum WorkspacePort_Protocol {
- /**
- * @generated from enum value: PROTOCOL_UNSPECIFIED = 0;
- */
- UNSPECIFIED = 0,
-
- /**
- * Http means the port backend is http
- *
- * @generated from enum value: PROTOCOL_HTTP = 1;
- */
- HTTP = 1,
-
- /**
- * Https means the port backend is https
- *
- * @generated from enum value: PROTOCOL_HTTPS = 2;
+ * @generated from enum value: PROTOCOL_HTTPS = 2;
*/
HTTPS = 2,
}
@@ -1913,28 +1615,20 @@ export enum WorkspacePhase_Phase {
*/
INTERRUPTED = 7,
- /**
- * Paused means the workspace is currently unavailable, akin to stopped,
- * but faster to wake up.
- *
- * @generated from enum value: PHASE_PAUSED = 8;
- */
- PAUSED = 8,
-
/**
* Stopping means that the workspace is currently shutting down. It could go
* to stopped every moment.
*
- * @generated from enum value: PHASE_STOPPING = 9;
+ * @generated from enum value: PHASE_STOPPING = 8;
*/
- STOPPING = 9,
+ STOPPING = 8,
/**
* Stopped means the workspace ended regularly because it was shut down.
*
- * @generated from enum value: PHASE_STOPPED = 10;
+ * @generated from enum value: PHASE_STOPPED = 9;
*/
- STOPPED = 10,
+ STOPPED = 9,
}
// Retrieve enum metadata with: proto3.getEnumType(WorkspacePhase_Phase)
proto3.util.setEnumType(WorkspacePhase_Phase, "gitpod.v1.WorkspacePhase.Phase", [
@@ -1946,967 +1640,49 @@ proto3.util.setEnumType(WorkspacePhase_Phase, "gitpod.v1.WorkspacePhase.Phase",
{ no: 5, name: "PHASE_INITIALIZING" },
{ no: 6, name: "PHASE_RUNNING" },
{ no: 7, name: "PHASE_INTERRUPTED" },
- { no: 8, name: "PHASE_PAUSED" },
- { no: 9, name: "PHASE_STOPPING" },
- { no: 10, name: "PHASE_STOPPED" },
+ { no: 8, name: "PHASE_STOPPING" },
+ { no: 9, name: "PHASE_STOPPED" },
]);
/**
- * WorkspaceInitializer specifies how a workspace is to be initialized
- *
- * @generated from message gitpod.v1.WorkspaceInitializer
- */
-export class WorkspaceInitializer extends Message {
- /**
- * @generated from field: repeated gitpod.v1.WorkspaceInitializer.Spec specs = 1;
- */
- specs: WorkspaceInitializer_Spec[] = [];
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceInitializer";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "specs", kind: "message", T: WorkspaceInitializer_Spec, repeated: true },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceInitializer {
- return new WorkspaceInitializer().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceInitializer {
- return new WorkspaceInitializer().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceInitializer {
- return new WorkspaceInitializer().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspaceInitializer | PlainMessage | undefined, b: WorkspaceInitializer | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceInitializer, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.WorkspaceInitializer.Spec
+ * @generated from message gitpod.v1.WorkspaceEnvironmentVariable
*/
-export class WorkspaceInitializer_Spec extends Message {
+export class WorkspaceEnvironmentVariable extends Message {
/**
- * @generated from oneof gitpod.v1.WorkspaceInitializer.Spec.spec
+ * @generated from field: string name = 1;
*/
- spec: {
- /**
- * @generated from field: gitpod.v1.GitInitializer git = 1;
- */
- value: GitInitializer;
- case: "git";
- } | {
- /**
- * @generated from field: gitpod.v1.SnapshotInitializer snapshot = 2;
- */
- value: SnapshotInitializer;
- case: "snapshot";
- } | {
- /**
- * @generated from field: gitpod.v1.PrebuildInitializer prebuild = 3;
- */
- value: PrebuildInitializer;
- case: "prebuild";
- } | {
- /**
- * @generated from field: gitpod.v1.FileDownloadInitializer download = 4;
- */
- value: FileDownloadInitializer;
- case: "download";
- } | { case: undefined; value?: undefined } = { case: undefined };
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.WorkspaceInitializer.Spec";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "git", kind: "message", T: GitInitializer, oneof: "spec" },
- { no: 2, name: "snapshot", kind: "message", T: SnapshotInitializer, oneof: "spec" },
- { no: 3, name: "prebuild", kind: "message", T: PrebuildInitializer, oneof: "spec" },
- { no: 4, name: "download", kind: "message", T: FileDownloadInitializer, oneof: "spec" },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): WorkspaceInitializer_Spec {
- return new WorkspaceInitializer_Spec().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): WorkspaceInitializer_Spec {
- return new WorkspaceInitializer_Spec().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): WorkspaceInitializer_Spec {
- return new WorkspaceInitializer_Spec().fromJsonString(jsonString, options);
- }
-
- static equals(a: WorkspaceInitializer_Spec | PlainMessage | undefined, b: WorkspaceInitializer_Spec | PlainMessage | undefined): boolean {
- return proto3.util.equals(WorkspaceInitializer_Spec, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.GitInitializer
- */
-export class GitInitializer extends Message {
- /**
- * remote_uri is the Git remote origin
- *
- * @generated from field: string remote_uri = 1;
- */
- remoteUri = "";
-
- /**
- * upstream_Remote_uri is the fork upstream of a repository
- *
- * @generated from field: string upstream_remote_uri = 2;
- */
- upstreamRemoteUri = "";
-
- /**
- * the target mode determines what gets checked out
- *
- * @generated from field: gitpod.v1.GitInitializer.CloneTargetMode target_mode = 3;
- */
- targetMode = GitInitializer_CloneTargetMode.UNSPECIFIED;
-
- /**
- * the value for the clone target mode - use depends on the target mode
- *
- * @generated from field: string clone_taget = 4;
- */
- cloneTaget = "";
-
- /**
- * a path relative to the workspace root in which the code will be checked out to
- *
- * @generated from field: string checkout_location = 5;
- */
- checkoutLocation = "";
-
- /**
- * config specifies the Git configuration for this workspace
- *
- * @generated from field: gitpod.v1.GitInitializer.GitConfig config = 6;
- */
- config?: GitInitializer_GitConfig;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.GitInitializer";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "remote_uri", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "upstream_remote_uri", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 3, name: "target_mode", kind: "enum", T: proto3.getEnumType(GitInitializer_CloneTargetMode) },
- { no: 4, name: "clone_taget", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 5, name: "checkout_location", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 6, name: "config", kind: "message", T: GitInitializer_GitConfig },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): GitInitializer {
- return new GitInitializer().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): GitInitializer {
- return new GitInitializer().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): GitInitializer {
- return new GitInitializer().fromJsonString(jsonString, options);
- }
-
- static equals(a: GitInitializer | PlainMessage | undefined, b: GitInitializer | PlainMessage | undefined): boolean {
- return proto3.util.equals(GitInitializer, a, b);
- }
-}
-
-/**
- * CloneTargetMode is the target state in which we want to leave a GitWorkspace
- *
- * @generated from enum gitpod.v1.GitInitializer.CloneTargetMode
- */
-export enum GitInitializer_CloneTargetMode {
- /**
- * @generated from enum value: CLONE_TARGET_MODE_UNSPECIFIED = 0;
- */
- UNSPECIFIED = 0,
-
- /**
- * REMOTE_HEAD has the local WS point at the remote branch head
- *
- * @generated from enum value: CLONE_TARGET_MODE_REMOTE_HEAD = 1;
- */
- REMOTE_HEAD = 1,
-
- /**
- * REMOTE_COMMIT has the local WS point at a specific commit
- *
- * @generated from enum value: CLONE_TARGET_MODE_REMOTE_COMMIT = 2;
- */
- REMOTE_COMMIT = 2,
-
- /**
- * REMOTE_BRANCH has the local WS point at a remote branch
- *
- * @generated from enum value: CLONE_TARGET_MODE_REMOTE_BRANCH = 3;
- */
- REMOTE_BRANCH = 3,
-
- /**
- * LOCAL_BRANCH creates a local branch in the workspace
- *
- * @generated from enum value: CLONE_TARGET_MODE_LOCAL_BRANCH = 4;
- */
- LOCAL_BRANCH = 4,
-}
-// Retrieve enum metadata with: proto3.getEnumType(GitInitializer_CloneTargetMode)
-proto3.util.setEnumType(GitInitializer_CloneTargetMode, "gitpod.v1.GitInitializer.CloneTargetMode", [
- { no: 0, name: "CLONE_TARGET_MODE_UNSPECIFIED" },
- { no: 1, name: "CLONE_TARGET_MODE_REMOTE_HEAD" },
- { no: 2, name: "CLONE_TARGET_MODE_REMOTE_COMMIT" },
- { no: 3, name: "CLONE_TARGET_MODE_REMOTE_BRANCH" },
- { no: 4, name: "CLONE_TARGET_MODE_LOCAL_BRANCH" },
-]);
-
-/**
- * AuthMethod is the means of authentication used during clone
- *
- * @generated from enum gitpod.v1.GitInitializer.AuthMethod
- */
-export enum GitInitializer_AuthMethod {
- /**
- * NO_AUTH disables authentication during clone
- *
- * @generated from enum value: AUTH_METHOD_UNSPECIFIED = 0;
- */
- UNSPECIFIED = 0,
-
- /**
- * BASIC_AUTH uses HTTP basic auth during clone (fails if repo is not cloned through http)
- *
- * @generated from enum value: AUTH_METHOD_BASIC_AUTH = 1;
- */
- BASIC_AUTH = 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.
- *
- * @generated from enum value: AUTH_METHOD_BASIC_AUTH_OTS = 2;
- */
- BASIC_AUTH_OTS = 2,
-}
-// Retrieve enum metadata with: proto3.getEnumType(GitInitializer_AuthMethod)
-proto3.util.setEnumType(GitInitializer_AuthMethod, "gitpod.v1.GitInitializer.AuthMethod", [
- { no: 0, name: "AUTH_METHOD_UNSPECIFIED" },
- { no: 1, name: "AUTH_METHOD_BASIC_AUTH" },
- { no: 2, name: "AUTH_METHOD_BASIC_AUTH_OTS" },
-]);
-
-/**
- * @generated from message gitpod.v1.GitInitializer.GitConfig
- */
-export class GitInitializer_GitConfig extends Message {
- /**
- * custom config values to be set on clone provided through `.gitpod.yml`
- *
- * @generated from field: map custom_config = 1;
- */
- customConfig: { [key: string]: string } = {};
-
- /**
- * authentication method
- *
- * @generated from field: gitpod.v1.GitInitializer.AuthMethod authentication = 2;
- */
- authentication = GitInitializer_AuthMethod.UNSPECIFIED;
-
- /**
- * auth_user is the username used to authenticate the clone
- *
- * @generated from field: string auth_user = 3;
- */
- authUser = "";
-
- /**
- * auth_password is the password used to authenticate the clone (can also be an API token)
- *
- * @generated from field: string auth_password = 4;
- */
- authPassword = "";
-
- /**
- * auth_ots is a URL where one can download the authentication secret (:)
- * using a GET request.
- *
- * @generated from field: string auth_ots = 5;
- */
- authOts = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.GitInitializer.GitConfig";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "custom_config", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
- { no: 2, name: "authentication", kind: "enum", T: proto3.getEnumType(GitInitializer_AuthMethod) },
- { no: 3, name: "auth_user", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 4, name: "auth_password", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 5, name: "auth_ots", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): GitInitializer_GitConfig {
- return new GitInitializer_GitConfig().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): GitInitializer_GitConfig {
- return new GitInitializer_GitConfig().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): GitInitializer_GitConfig {
- return new GitInitializer_GitConfig().fromJsonString(jsonString, options);
- }
-
- static equals(a: GitInitializer_GitConfig | PlainMessage | undefined, b: GitInitializer_GitConfig | PlainMessage | undefined): boolean {
- return proto3.util.equals(GitInitializer_GitConfig, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.SnapshotInitializer
- */
-export class SnapshotInitializer extends Message {
- /**
- * reference of the snapshot to restore
- *
- * @generated from field: string snapshot_id = 1;
- */
- snapshotId = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.SnapshotInitializer";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "snapshot_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): SnapshotInitializer {
- return new SnapshotInitializer().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): SnapshotInitializer {
- return new SnapshotInitializer().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): SnapshotInitializer {
- return new SnapshotInitializer().fromJsonString(jsonString, options);
- }
-
- static equals(a: SnapshotInitializer | PlainMessage | undefined, b: SnapshotInitializer | PlainMessage | undefined): boolean {
- return proto3.util.equals(SnapshotInitializer, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.PrebuildInitializer
- */
-export class PrebuildInitializer extends Message {
- /**
- * reference of the prebuild to restore
- *
- * @generated from field: string prebuild_id = 1;
- */
- prebuildId = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.PrebuildInitializer";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "prebuild_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): PrebuildInitializer {
- return new PrebuildInitializer().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): PrebuildInitializer {
- return new PrebuildInitializer().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): PrebuildInitializer {
- return new PrebuildInitializer().fromJsonString(jsonString, options);
- }
-
- static equals(a: PrebuildInitializer | PlainMessage | undefined, b: PrebuildInitializer | PlainMessage | undefined): boolean {
- return proto3.util.equals(PrebuildInitializer, a, b);
- }
-}
-
-/**
- * FileDownloadInitializer downloads files and uses them as workspace content.
- *
- * @generated from message gitpod.v1.FileDownloadInitializer
- */
-export class FileDownloadInitializer extends Message {
- /**
- * @generated from field: repeated gitpod.v1.FileDownloadInitializer.FileInfo files = 1;
- */
- files: FileDownloadInitializer_FileInfo[] = [];
-
- /**
- * @generated from field: string target_location = 2;
- */
- targetLocation = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.FileDownloadInitializer";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "files", kind: "message", T: FileDownloadInitializer_FileInfo, repeated: true },
- { no: 2, name: "target_location", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): FileDownloadInitializer {
- return new FileDownloadInitializer().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): FileDownloadInitializer {
- return new FileDownloadInitializer().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): FileDownloadInitializer {
- return new FileDownloadInitializer().fromJsonString(jsonString, options);
- }
-
- static equals(a: FileDownloadInitializer | PlainMessage | undefined, b: FileDownloadInitializer | PlainMessage | undefined): boolean {
- return proto3.util.equals(FileDownloadInitializer, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.FileDownloadInitializer.FileInfo
- */
-export class FileDownloadInitializer_FileInfo extends Message {
- /**
- * @generated from field: string url = 1;
- */
- url = "";
-
- /**
- * 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.
- *
- * @generated from field: string file_path = 2;
- */
- filePath = "";
-
- /**
- * 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.
- *
- * @generated from field: string digest = 3;
- */
- digest = "";
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.FileDownloadInitializer.FileInfo";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "file_path", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 3, name: "digest", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): FileDownloadInitializer_FileInfo {
- return new FileDownloadInitializer_FileInfo().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): FileDownloadInitializer_FileInfo {
- return new FileDownloadInitializer_FileInfo().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): FileDownloadInitializer_FileInfo {
- return new FileDownloadInitializer_FileInfo().fromJsonString(jsonString, options);
- }
-
- static equals(a: FileDownloadInitializer_FileInfo | PlainMessage | undefined, b: FileDownloadInitializer_FileInfo | PlainMessage | undefined): boolean {
- return proto3.util.equals(FileDownloadInitializer_FileInfo, a, b);
- }
-}
-
-/**
- * GitStatus describes the current Git working copy status, akin to a combination of "git status" and "git branch"
- *
- * @generated from message gitpod.v1.GitStatus
- */
-export class GitStatus extends Message {
- /**
- * branch is branch we're currently on
- *
- * @generated from field: string branch = 1;
- */
- branch = "";
-
- /**
- * latest_commit is the most recent commit on the current branch
- *
- * @generated from field: string latest_commit = 2;
- */
- latestCommit = "";
-
- /**
- * uncommited_files is the number of uncommitted files, possibly truncated
- *
- * @generated from field: repeated string uncommited_files = 3;
- */
- uncommitedFiles: string[] = [];
-
- /**
- * the total number of uncommited files
- *
- * @generated from field: int64 total_uncommited_files = 6;
- */
- totalUncommitedFiles = protoInt64.zero;
-
- /**
- * untracked_files is the number of untracked files in the workspace, possibly truncated
- *
- * @generated from field: repeated string untracked_files = 4;
- */
- untrackedFiles: string[] = [];
-
- /**
- * the total number of untracked files
- *
- * @generated from field: int64 total_untracked_files = 7;
- */
- totalUntrackedFiles = protoInt64.zero;
-
- /**
- * unpushed_commits is the number of unpushed changes in the workspace, possibly truncated
- *
- * @generated from field: repeated string unpushed_commits = 5;
- */
- unpushedCommits: string[] = [];
-
- /**
- * the total number of unpushed changes
- *
- * @generated from field: int64 total_unpushed_commits = 8;
- */
- totalUnpushedCommits = protoInt64.zero;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.GitStatus";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "branch", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "latest_commit", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 3, name: "uncommited_files", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- { no: 6, name: "total_uncommited_files", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
- { no: 4, name: "untracked_files", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- { no: 7, name: "total_untracked_files", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
- { no: 5, name: "unpushed_commits", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- { no: 8, name: "total_unpushed_commits", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): GitStatus {
- return new GitStatus().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): GitStatus {
- return new GitStatus().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): GitStatus {
- return new GitStatus().fromJsonString(jsonString, options);
- }
-
- static equals(a: GitStatus | PlainMessage | undefined, b: GitStatus | PlainMessage | undefined): boolean {
- return proto3.util.equals(GitStatus, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.UpdateWorkspaceRequest
- */
-export class UpdateWorkspaceRequest extends Message {
- /**
- * workspace_id specifies the workspace to update
- *
- * +required
- *
- * @generated from field: string workspace_id = 1;
- */
- workspaceId = "";
-
- /**
- * metadata is data associated with this workspace that's required for other parts of Gitpod to function
- *
- * @generated from field: optional gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata metadata = 2;
- */
- metadata?: UpdateWorkspaceRequest_UpdateWorkspaceMetadata;
-
- /**
- * spec is the configuration of the workspace that's required for the ws-manager to start the workspace
- *
- * @generated from field: optional gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec spec = 3;
- */
- spec?: UpdateWorkspaceRequest_UpdateWorkspaceSpec;
-
- /**
- * git_status updates the git status of the workspace - this is only here during the migration
- *
- * @generated from field: optional gitpod.v1.WorkspaceGitStatus git_status = 4 [deprecated = true];
- * @deprecated
- */
- gitStatus?: WorkspaceGitStatus;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.UpdateWorkspaceRequest";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "workspace_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
- { no: 2, name: "metadata", kind: "message", T: UpdateWorkspaceRequest_UpdateWorkspaceMetadata, opt: true },
- { no: 3, name: "spec", kind: "message", T: UpdateWorkspaceRequest_UpdateWorkspaceSpec, opt: true },
- { no: 4, name: "git_status", kind: "message", T: WorkspaceGitStatus, opt: true },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): UpdateWorkspaceRequest {
- return new UpdateWorkspaceRequest().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): UpdateWorkspaceRequest {
- return new UpdateWorkspaceRequest().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): UpdateWorkspaceRequest {
- return new UpdateWorkspaceRequest().fromJsonString(jsonString, options);
- }
-
- static equals(a: UpdateWorkspaceRequest | PlainMessage | undefined, b: UpdateWorkspaceRequest | PlainMessage | undefined): boolean {
- return proto3.util.equals(UpdateWorkspaceRequest, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata
- */
-export class UpdateWorkspaceRequest_UpdateWorkspaceMetadata extends Message {
- /**
- * name is the name of the workspace as specified by the user
- *
- * @generated from field: optional string name = 1;
- */
- name?: string;
-
- /**
- * pinned indicates whether the workspace is pinned
- *
- * @generated from field: optional bool pinned = 2;
- */
- pinned?: boolean;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceMetadata";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
- { no: 2, name: "pinned", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceMetadata {
- return new UpdateWorkspaceRequest_UpdateWorkspaceMetadata().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceMetadata {
- return new UpdateWorkspaceRequest_UpdateWorkspaceMetadata().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceMetadata {
- return new UpdateWorkspaceRequest_UpdateWorkspaceMetadata().fromJsonString(jsonString, options);
- }
-
- static equals(a: UpdateWorkspaceRequest_UpdateWorkspaceMetadata | PlainMessage | undefined, b: UpdateWorkspaceRequest_UpdateWorkspaceMetadata | PlainMessage | undefined): boolean {
- return proto3.util.equals(UpdateWorkspaceRequest_UpdateWorkspaceMetadata, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout
- */
-export class UpdateWorkspaceRequest_UpdateTimeout extends Message {
- /**
- * inacitivity is the maximum time of inactivity before the workspace is stopped or paused
- *
- * @generated from field: optional google.protobuf.Duration inactivity = 1;
- */
- inactivity?: Duration;
-
- /**
- * inacitivity is the maximum time of disconnection before the workspace is stopped or paused
- *
- * @generated from field: optional google.protobuf.Duration disconnected = 2;
- */
- disconnected?: Duration;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "inactivity", kind: "message", T: Duration, opt: true },
- { no: 2, name: "disconnected", kind: "message", T: Duration, opt: true },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): UpdateWorkspaceRequest_UpdateTimeout {
- return new UpdateWorkspaceRequest_UpdateTimeout().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): UpdateWorkspaceRequest_UpdateTimeout {
- return new UpdateWorkspaceRequest_UpdateTimeout().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): UpdateWorkspaceRequest_UpdateTimeout {
- return new UpdateWorkspaceRequest_UpdateTimeout().fromJsonString(jsonString, options);
- }
-
- static equals(a: UpdateWorkspaceRequest_UpdateTimeout | PlainMessage | undefined, b: UpdateWorkspaceRequest_UpdateTimeout | PlainMessage | undefined): boolean {
- return proto3.util.equals(UpdateWorkspaceRequest_UpdateTimeout, a, b);
- }
-}
-
-/**
- * Note(cw): Ports cannot be updated here in favour of UpdateWorkspacePorts call which exists so that
- * we can update individual ports.
- *
- * @generated from message gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec
- */
-export class UpdateWorkspaceRequest_UpdateWorkspaceSpec extends Message {
- /**
- * timeout configures the workspace timeout
- *
- * @generated from field: optional gitpod.v1.UpdateWorkspaceRequest.UpdateTimeout timeout = 1;
- */
- timeout?: UpdateWorkspaceRequest_UpdateTimeout;
-
- /**
- * admission controlls who can access the workspace and its ports.
- *
- * @generated from field: optional gitpod.v1.AdmissionLevel admission = 2;
- */
- admission?: AdmissionLevel;
-
- /**
- * Note(cw): repeated fields have implicit presence. There's a difference between passing an empty list or nothing.
- *
- * @generated from field: repeated string ssh_public_keys = 3;
- */
- sshPublicKeys: string[] = [];
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.UpdateWorkspaceRequest.UpdateWorkspaceSpec";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "timeout", kind: "message", T: UpdateWorkspaceRequest_UpdateTimeout, opt: true },
- { no: 2, name: "admission", kind: "enum", T: proto3.getEnumType(AdmissionLevel), opt: true },
- { no: 3, name: "ssh_public_keys", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceSpec {
- return new UpdateWorkspaceRequest_UpdateWorkspaceSpec().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceSpec {
- return new UpdateWorkspaceRequest_UpdateWorkspaceSpec().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): UpdateWorkspaceRequest_UpdateWorkspaceSpec {
- return new UpdateWorkspaceRequest_UpdateWorkspaceSpec().fromJsonString(jsonString, options);
- }
-
- static equals(a: UpdateWorkspaceRequest_UpdateWorkspaceSpec | PlainMessage | undefined, b: UpdateWorkspaceRequest_UpdateWorkspaceSpec | PlainMessage | undefined): boolean {
- return proto3.util.equals(UpdateWorkspaceRequest_UpdateWorkspaceSpec, a, b);
- }
-}
-
-/**
- * @generated from message gitpod.v1.UpdateWorkspaceResponse
- */
-export class UpdateWorkspaceResponse extends Message {
- /**
- * @generated from field: gitpod.v1.Workspace workspace = 1;
- */
- workspace?: Workspace;
-
- constructor(data?: PartialMessage) {
- super();
- proto3.util.initPartial(data, this);
- }
-
- static readonly runtime: typeof proto3 = proto3;
- static readonly typeName = "gitpod.v1.UpdateWorkspaceResponse";
- static readonly fields: FieldList = proto3.util.newFieldList(() => [
- { no: 1, name: "workspace", kind: "message", T: Workspace },
- ]);
-
- static fromBinary(bytes: Uint8Array, options?: Partial): UpdateWorkspaceResponse {
- return new UpdateWorkspaceResponse().fromBinary(bytes, options);
- }
-
- static fromJson(jsonValue: JsonValue, options?: Partial): UpdateWorkspaceResponse {
- return new UpdateWorkspaceResponse().fromJson(jsonValue, options);
- }
-
- static fromJsonString(jsonString: string, options?: Partial): UpdateWorkspaceResponse {
- return new UpdateWorkspaceResponse().fromJsonString(jsonString, options);
- }
-
- static equals(a: UpdateWorkspaceResponse | PlainMessage | undefined, b: UpdateWorkspaceResponse | PlainMessage