diff --git a/api/docs/html/pub/sandbox/v1alpha1/index.html b/api/docs/html/pub/sandbox/v1alpha1/index.html index 6d036f0..d09fa49 100644 --- a/api/docs/html/pub/sandbox/v1alpha1/index.html +++ b/api/docs/html/pub/sandbox/v1alpha1/index.html @@ -218,6 +218,22 @@

Table of Contents

MSandbox +
  • + MStartSandboxRequest +
  • + +
  • + MStartSandboxResponse +
  • + +
  • + MStopSandboxRequest +
  • + +
  • + MStopSandboxResponse +
  • +
  • ESandboxState @@ -594,6 +610,102 @@

    Sandbox

    +

    StartSandboxRequest

    +

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    idstring

    + + + + + +

    StartSandboxResponse

    +

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sandboxSandbox

    + + + + + +

    StopSandboxRequest

    +

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    idstring

    + + + + + +

    StopSandboxResponse

    +

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    sandboxSandbox

    + + + + +

    SandboxState

    @@ -685,6 +797,22 @@

    SandboxService

    + + StartSandbox + StartSandboxRequest + StartSandboxResponse +

    Starts sandbox. If sandbox is already starting or running, it does nothing. +May return error if sandbox is stopping.

    + + + + StopSandbox + StopSandboxRequest + StopSandboxResponse +

    Stops sandbox. If sandbox is already stopped, it does nothing. +May return error if sandbox is starting.

    + + diff --git a/api/docs/markdown/pub/sandbox/v1alpha1/index.md b/api/docs/markdown/pub/sandbox/v1alpha1/index.md index 50138d9..5babe54 100644 --- a/api/docs/markdown/pub/sandbox/v1alpha1/index.md +++ b/api/docs/markdown/pub/sandbox/v1alpha1/index.md @@ -14,6 +14,10 @@ - [ListSandboxesRequest](#pub-sandbox-v1alpha1-ListSandboxesRequest) - [ListSandboxesResponse](#pub-sandbox-v1alpha1-ListSandboxesResponse) - [Sandbox](#pub-sandbox-v1alpha1-Sandbox) + - [StartSandboxRequest](#pub-sandbox-v1alpha1-StartSandboxRequest) + - [StartSandboxResponse](#pub-sandbox-v1alpha1-StartSandboxResponse) + - [StopSandboxRequest](#pub-sandbox-v1alpha1-StopSandboxRequest) + - [StopSandboxResponse](#pub-sandbox-v1alpha1-StopSandboxResponse) - [SandboxState](#pub-sandbox-v1alpha1-SandboxState) @@ -192,6 +196,66 @@ API to manage Jetify Sandbox environments + + + +### StartSandboxRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [string](#string) | | | + + + + + + + + +### StartSandboxResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sandbox | [Sandbox](#pub-sandbox-v1alpha1-Sandbox) | | | + + + + + + + + +### StopSandboxRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [string](#string) | | | + + + + + + + + +### StopSandboxResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sandbox | [Sandbox](#pub-sandbox-v1alpha1-Sandbox) | | | + + + + + @@ -226,6 +290,8 @@ SandboxState represents the state of a sandbox. | GetSandbox | [GetSandboxRequest](#pub-sandbox-v1alpha1-GetSandboxRequest) | [GetSandboxResponse](#pub-sandbox-v1alpha1-GetSandboxResponse) | | | DeleteSandbox | [DeleteSandboxRequest](#pub-sandbox-v1alpha1-DeleteSandboxRequest) | [DeleteSandboxResponse](#pub-sandbox-v1alpha1-DeleteSandboxResponse) | | | ListSandboxes | [ListSandboxesRequest](#pub-sandbox-v1alpha1-ListSandboxesRequest) | [ListSandboxesResponse](#pub-sandbox-v1alpha1-ListSandboxesResponse) | | +| StartSandbox | [StartSandboxRequest](#pub-sandbox-v1alpha1-StartSandboxRequest) | [StartSandboxResponse](#pub-sandbox-v1alpha1-StartSandboxResponse) | Starts sandbox. If sandbox is already starting or running, it does nothing. May return error if sandbox is stopping. | +| StopSandbox | [StopSandboxRequest](#pub-sandbox-v1alpha1-StopSandboxRequest) | [StopSandboxResponse](#pub-sandbox-v1alpha1-StopSandboxResponse) | Stops sandbox. If sandbox is already stopped, it does nothing. May return error if sandbox is starting. | diff --git a/api/go/gen/pub/sandbox/v1alpha1/sandbox.pb.go b/api/go/gen/pub/sandbox/v1alpha1/sandbox.pb.go index 170e37f..e679c98 100644 --- a/api/go/gen/pub/sandbox/v1alpha1/sandbox.pb.go +++ b/api/go/gen/pub/sandbox/v1alpha1/sandbox.pb.go @@ -519,6 +519,194 @@ func (x *ListSandboxesResponse) GetSandboxes() []*Sandbox { return nil } +type StartSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *StartSandboxRequest) Reset() { + *x = StartSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartSandboxRequest) ProtoMessage() {} + +func (x *StartSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartSandboxRequest.ProtoReflect.Descriptor instead. +func (*StartSandboxRequest) Descriptor() ([]byte, []int) { + return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{8} +} + +func (x *StartSandboxRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type StartSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sandbox *Sandbox `protobuf:"bytes,1,opt,name=sandbox,proto3" json:"sandbox,omitempty"` +} + +func (x *StartSandboxResponse) Reset() { + *x = StartSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartSandboxResponse) ProtoMessage() {} + +func (x *StartSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartSandboxResponse.ProtoReflect.Descriptor instead. +func (*StartSandboxResponse) Descriptor() ([]byte, []int) { + return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{9} +} + +func (x *StartSandboxResponse) GetSandbox() *Sandbox { + if x != nil { + return x.Sandbox + } + return nil +} + +type StopSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *StopSandboxRequest) Reset() { + *x = StopSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopSandboxRequest) ProtoMessage() {} + +func (x *StopSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopSandboxRequest.ProtoReflect.Descriptor instead. +func (*StopSandboxRequest) Descriptor() ([]byte, []int) { + return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{10} +} + +func (x *StopSandboxRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type StopSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sandbox *Sandbox `protobuf:"bytes,1,opt,name=sandbox,proto3" json:"sandbox,omitempty"` +} + +func (x *StopSandboxResponse) Reset() { + *x = StopSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopSandboxResponse) ProtoMessage() {} + +func (x *StopSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopSandboxResponse.ProtoReflect.Descriptor instead. +func (*StopSandboxResponse) Descriptor() ([]byte, []int) { + return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{11} +} + +func (x *StopSandboxResponse) GetSandbox() *Sandbox { + if x != nil { + return x.Sandbox + } + return nil +} + type Sandbox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -546,7 +734,7 @@ type Sandbox struct { func (x *Sandbox) Reset() { *x = Sandbox{} if protoimpl.UnsafeEnabled { - mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[8] + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -559,7 +747,7 @@ func (x *Sandbox) String() string { func (*Sandbox) ProtoMessage() {} func (x *Sandbox) ProtoReflect() protoreflect.Message { - mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[8] + mi := &file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -572,7 +760,7 @@ func (x *Sandbox) ProtoReflect() protoreflect.Message { // Deprecated: Use Sandbox.ProtoReflect.Descriptor instead. func (*Sandbox) Descriptor() ([]byte, []int) { - return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{8} + return file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP(), []int{12} } func (x *Sandbox) GetId() string { @@ -713,85 +901,112 @@ var file_pub_sandbox_v1alpha1_sandbox_proto_rawDesc = []byte{ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x09, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, - 0x22, 0x82, 0x03, 0x0a, 0x07, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x12, - 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, - 0x70, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, - 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x38, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, - 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0xb6, 0x01, 0x0a, 0x0c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, - 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, - 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, - 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, - 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, - 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x32, 0xb9, - 0x03, 0x0a, 0x0e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x78, 0x12, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, - 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x27, 0x2e, 0x70, 0x75, 0x62, 0x2e, - 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x6e, - 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0d, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2a, 0x2e, - 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x2e, - 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x02, 0x12, 0x6d, 0x0a, 0x0d, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, + 0x22, 0x25, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x37, 0x0a, 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, + 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x22, 0x24, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, + 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, + 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x22, 0x82, + 0x03, 0x0a, 0x07, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, + 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x65, 0x70, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x75, + 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0a, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x2a, 0xb6, 0x01, 0x0a, 0x0c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x41, + 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, + 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, + 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, + 0x04, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x32, 0x88, 0x05, 0x0a, + 0x0e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x68, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x12, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x27, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, + 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2a, 0x2e, 0x70, 0x75, + 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x02, 0x12, 0x6d, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x75, 0x62, + 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, + 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x67, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x29, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xdc, 0x01, 0x0a, 0x18, 0x63, - 0x6f, 0x6d, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x2e, 0x6a, 0x65, 0x74, 0x70, - 0x61, 0x63, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x78, 0x69, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x75, 0x62, 0x2f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x78, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x53, 0x58, 0xaa, - 0x02, 0x14, 0x50, 0x75, 0x62, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x14, 0x50, 0x75, 0x62, 0x5c, 0x53, 0x61, 0x6e, - 0x64, 0x62, 0x6f, 0x78, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x20, - 0x50, 0x75, 0x62, 0x5c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5c, 0x56, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x16, 0x50, 0x75, 0x62, 0x3a, 0x3a, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x3a, - 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x64, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x12, 0x28, 0x2e, 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x75, 0x62, + 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, + 0x70, 0x75, 0x62, 0x2e, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x2e, 0x6a, 0x65, 0x74, 0x70, 0x61, 0x63, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x78, 0x69, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x70, 0x75, 0x62, 0x2f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x53, 0x58, 0xaa, 0x02, 0x14, 0x50, + 0x75, 0x62, 0x2e, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xca, 0x02, 0x14, 0x50, 0x75, 0x62, 0x5c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x50, 0x75, 0x62, + 0x5c, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, + 0x50, 0x75, 0x62, 0x3a, 0x3a, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x3a, 0x3a, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -807,7 +1022,7 @@ func file_pub_sandbox_v1alpha1_sandbox_proto_rawDescGZIP() []byte { } var file_pub_sandbox_v1alpha1_sandbox_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_pub_sandbox_v1alpha1_sandbox_proto_goTypes = []any{ (SandboxState)(0), // 0: pub.sandbox.v1alpha1.SandboxState (*CreateSandboxRequest)(nil), // 1: pub.sandbox.v1alpha1.CreateSandboxRequest @@ -818,31 +1033,41 @@ var file_pub_sandbox_v1alpha1_sandbox_proto_goTypes = []any{ (*DeleteSandboxResponse)(nil), // 6: pub.sandbox.v1alpha1.DeleteSandboxResponse (*ListSandboxesRequest)(nil), // 7: pub.sandbox.v1alpha1.ListSandboxesRequest (*ListSandboxesResponse)(nil), // 8: pub.sandbox.v1alpha1.ListSandboxesResponse - (*Sandbox)(nil), // 9: pub.sandbox.v1alpha1.Sandbox - nil, // 10: pub.sandbox.v1alpha1.CreateSandboxRequest.EnvironmentVariablesEntry - (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp + (*StartSandboxRequest)(nil), // 9: pub.sandbox.v1alpha1.StartSandboxRequest + (*StartSandboxResponse)(nil), // 10: pub.sandbox.v1alpha1.StartSandboxResponse + (*StopSandboxRequest)(nil), // 11: pub.sandbox.v1alpha1.StopSandboxRequest + (*StopSandboxResponse)(nil), // 12: pub.sandbox.v1alpha1.StopSandboxResponse + (*Sandbox)(nil), // 13: pub.sandbox.v1alpha1.Sandbox + nil, // 14: pub.sandbox.v1alpha1.CreateSandboxRequest.EnvironmentVariablesEntry + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp } var file_pub_sandbox_v1alpha1_sandbox_proto_depIdxs = []int32{ - 10, // 0: pub.sandbox.v1alpha1.CreateSandboxRequest.environment_variables:type_name -> pub.sandbox.v1alpha1.CreateSandboxRequest.EnvironmentVariablesEntry - 9, // 1: pub.sandbox.v1alpha1.CreateSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox - 9, // 2: pub.sandbox.v1alpha1.GetSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox - 9, // 3: pub.sandbox.v1alpha1.ListSandboxesResponse.sandboxes:type_name -> pub.sandbox.v1alpha1.Sandbox - 0, // 4: pub.sandbox.v1alpha1.Sandbox.state:type_name -> pub.sandbox.v1alpha1.SandboxState - 11, // 5: pub.sandbox.v1alpha1.Sandbox.created_at:type_name -> google.protobuf.Timestamp - 11, // 6: pub.sandbox.v1alpha1.Sandbox.updated_at:type_name -> google.protobuf.Timestamp - 1, // 7: pub.sandbox.v1alpha1.SandboxService.CreateSandbox:input_type -> pub.sandbox.v1alpha1.CreateSandboxRequest - 3, // 8: pub.sandbox.v1alpha1.SandboxService.GetSandbox:input_type -> pub.sandbox.v1alpha1.GetSandboxRequest - 5, // 9: pub.sandbox.v1alpha1.SandboxService.DeleteSandbox:input_type -> pub.sandbox.v1alpha1.DeleteSandboxRequest - 7, // 10: pub.sandbox.v1alpha1.SandboxService.ListSandboxes:input_type -> pub.sandbox.v1alpha1.ListSandboxesRequest - 2, // 11: pub.sandbox.v1alpha1.SandboxService.CreateSandbox:output_type -> pub.sandbox.v1alpha1.CreateSandboxResponse - 4, // 12: pub.sandbox.v1alpha1.SandboxService.GetSandbox:output_type -> pub.sandbox.v1alpha1.GetSandboxResponse - 6, // 13: pub.sandbox.v1alpha1.SandboxService.DeleteSandbox:output_type -> pub.sandbox.v1alpha1.DeleteSandboxResponse - 8, // 14: pub.sandbox.v1alpha1.SandboxService.ListSandboxes:output_type -> pub.sandbox.v1alpha1.ListSandboxesResponse - 11, // [11:15] is the sub-list for method output_type - 7, // [7:11] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 14, // 0: pub.sandbox.v1alpha1.CreateSandboxRequest.environment_variables:type_name -> pub.sandbox.v1alpha1.CreateSandboxRequest.EnvironmentVariablesEntry + 13, // 1: pub.sandbox.v1alpha1.CreateSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox + 13, // 2: pub.sandbox.v1alpha1.GetSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox + 13, // 3: pub.sandbox.v1alpha1.ListSandboxesResponse.sandboxes:type_name -> pub.sandbox.v1alpha1.Sandbox + 13, // 4: pub.sandbox.v1alpha1.StartSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox + 13, // 5: pub.sandbox.v1alpha1.StopSandboxResponse.sandbox:type_name -> pub.sandbox.v1alpha1.Sandbox + 0, // 6: pub.sandbox.v1alpha1.Sandbox.state:type_name -> pub.sandbox.v1alpha1.SandboxState + 15, // 7: pub.sandbox.v1alpha1.Sandbox.created_at:type_name -> google.protobuf.Timestamp + 15, // 8: pub.sandbox.v1alpha1.Sandbox.updated_at:type_name -> google.protobuf.Timestamp + 1, // 9: pub.sandbox.v1alpha1.SandboxService.CreateSandbox:input_type -> pub.sandbox.v1alpha1.CreateSandboxRequest + 3, // 10: pub.sandbox.v1alpha1.SandboxService.GetSandbox:input_type -> pub.sandbox.v1alpha1.GetSandboxRequest + 5, // 11: pub.sandbox.v1alpha1.SandboxService.DeleteSandbox:input_type -> pub.sandbox.v1alpha1.DeleteSandboxRequest + 7, // 12: pub.sandbox.v1alpha1.SandboxService.ListSandboxes:input_type -> pub.sandbox.v1alpha1.ListSandboxesRequest + 9, // 13: pub.sandbox.v1alpha1.SandboxService.StartSandbox:input_type -> pub.sandbox.v1alpha1.StartSandboxRequest + 11, // 14: pub.sandbox.v1alpha1.SandboxService.StopSandbox:input_type -> pub.sandbox.v1alpha1.StopSandboxRequest + 2, // 15: pub.sandbox.v1alpha1.SandboxService.CreateSandbox:output_type -> pub.sandbox.v1alpha1.CreateSandboxResponse + 4, // 16: pub.sandbox.v1alpha1.SandboxService.GetSandbox:output_type -> pub.sandbox.v1alpha1.GetSandboxResponse + 6, // 17: pub.sandbox.v1alpha1.SandboxService.DeleteSandbox:output_type -> pub.sandbox.v1alpha1.DeleteSandboxResponse + 8, // 18: pub.sandbox.v1alpha1.SandboxService.ListSandboxes:output_type -> pub.sandbox.v1alpha1.ListSandboxesResponse + 10, // 19: pub.sandbox.v1alpha1.SandboxService.StartSandbox:output_type -> pub.sandbox.v1alpha1.StartSandboxResponse + 12, // 20: pub.sandbox.v1alpha1.SandboxService.StopSandbox:output_type -> pub.sandbox.v1alpha1.StopSandboxResponse + 15, // [15:21] is the sub-list for method output_type + 9, // [9:15] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_pub_sandbox_v1alpha1_sandbox_proto_init() } @@ -948,6 +1173,54 @@ func file_pub_sandbox_v1alpha1_sandbox_proto_init() { } } file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*StartSandboxRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*StartSandboxResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*StopSandboxRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*StopSandboxResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pub_sandbox_v1alpha1_sandbox_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*Sandbox); i { case 0: return &v.state @@ -966,7 +1239,7 @@ func file_pub_sandbox_v1alpha1_sandbox_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pub_sandbox_v1alpha1_sandbox_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, diff --git a/api/go/gen/pub/sandbox/v1alpha1/sandboxv1alpha1connect/sandbox.connect.go b/api/go/gen/pub/sandbox/v1alpha1/sandboxv1alpha1connect/sandbox.connect.go index baca7b5..e771449 100644 --- a/api/go/gen/pub/sandbox/v1alpha1/sandboxv1alpha1connect/sandbox.connect.go +++ b/api/go/gen/pub/sandbox/v1alpha1/sandboxv1alpha1connect/sandbox.connect.go @@ -48,6 +48,12 @@ const ( // SandboxServiceListSandboxesProcedure is the fully-qualified name of the SandboxService's // ListSandboxes RPC. SandboxServiceListSandboxesProcedure = "/pub.sandbox.v1alpha1.SandboxService/ListSandboxes" + // SandboxServiceStartSandboxProcedure is the fully-qualified name of the SandboxService's + // StartSandbox RPC. + SandboxServiceStartSandboxProcedure = "/pub.sandbox.v1alpha1.SandboxService/StartSandbox" + // SandboxServiceStopSandboxProcedure is the fully-qualified name of the SandboxService's + // StopSandbox RPC. + SandboxServiceStopSandboxProcedure = "/pub.sandbox.v1alpha1.SandboxService/StopSandbox" ) // These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. @@ -57,6 +63,8 @@ var ( sandboxServiceGetSandboxMethodDescriptor = sandboxServiceServiceDescriptor.Methods().ByName("GetSandbox") sandboxServiceDeleteSandboxMethodDescriptor = sandboxServiceServiceDescriptor.Methods().ByName("DeleteSandbox") sandboxServiceListSandboxesMethodDescriptor = sandboxServiceServiceDescriptor.Methods().ByName("ListSandboxes") + sandboxServiceStartSandboxMethodDescriptor = sandboxServiceServiceDescriptor.Methods().ByName("StartSandbox") + sandboxServiceStopSandboxMethodDescriptor = sandboxServiceServiceDescriptor.Methods().ByName("StopSandbox") ) // SandboxServiceClient is a client for the pub.sandbox.v1alpha1.SandboxService service. @@ -65,6 +73,12 @@ type SandboxServiceClient interface { GetSandbox(context.Context, *connect.Request[v1alpha1.GetSandboxRequest]) (*connect.Response[v1alpha1.GetSandboxResponse], error) DeleteSandbox(context.Context, *connect.Request[v1alpha1.DeleteSandboxRequest]) (*connect.Response[v1alpha1.DeleteSandboxResponse], error) ListSandboxes(context.Context, *connect.Request[v1alpha1.ListSandboxesRequest]) (*connect.Response[v1alpha1.ListSandboxesResponse], error) + // Starts sandbox. If sandbox is already starting or running, it does nothing. + // May return error if sandbox is stopping. + StartSandbox(context.Context, *connect.Request[v1alpha1.StartSandboxRequest]) (*connect.Response[v1alpha1.StartSandboxResponse], error) + // Stops sandbox. If sandbox is already stopped, it does nothing. + // May return error if sandbox is starting. + StopSandbox(context.Context, *connect.Request[v1alpha1.StopSandboxRequest]) (*connect.Response[v1alpha1.StopSandboxResponse], error) } // NewSandboxServiceClient constructs a client for the pub.sandbox.v1alpha1.SandboxService service. @@ -103,6 +117,18 @@ func NewSandboxServiceClient(httpClient connect.HTTPClient, baseURL string, opts connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithClientOptions(opts...), ), + startSandbox: connect.NewClient[v1alpha1.StartSandboxRequest, v1alpha1.StartSandboxResponse]( + httpClient, + baseURL+SandboxServiceStartSandboxProcedure, + connect.WithSchema(sandboxServiceStartSandboxMethodDescriptor), + connect.WithClientOptions(opts...), + ), + stopSandbox: connect.NewClient[v1alpha1.StopSandboxRequest, v1alpha1.StopSandboxResponse]( + httpClient, + baseURL+SandboxServiceStopSandboxProcedure, + connect.WithSchema(sandboxServiceStopSandboxMethodDescriptor), + connect.WithClientOptions(opts...), + ), } } @@ -112,6 +138,8 @@ type sandboxServiceClient struct { getSandbox *connect.Client[v1alpha1.GetSandboxRequest, v1alpha1.GetSandboxResponse] deleteSandbox *connect.Client[v1alpha1.DeleteSandboxRequest, v1alpha1.DeleteSandboxResponse] listSandboxes *connect.Client[v1alpha1.ListSandboxesRequest, v1alpha1.ListSandboxesResponse] + startSandbox *connect.Client[v1alpha1.StartSandboxRequest, v1alpha1.StartSandboxResponse] + stopSandbox *connect.Client[v1alpha1.StopSandboxRequest, v1alpha1.StopSandboxResponse] } // CreateSandbox calls pub.sandbox.v1alpha1.SandboxService.CreateSandbox. @@ -134,12 +162,28 @@ func (c *sandboxServiceClient) ListSandboxes(ctx context.Context, req *connect.R return c.listSandboxes.CallUnary(ctx, req) } +// StartSandbox calls pub.sandbox.v1alpha1.SandboxService.StartSandbox. +func (c *sandboxServiceClient) StartSandbox(ctx context.Context, req *connect.Request[v1alpha1.StartSandboxRequest]) (*connect.Response[v1alpha1.StartSandboxResponse], error) { + return c.startSandbox.CallUnary(ctx, req) +} + +// StopSandbox calls pub.sandbox.v1alpha1.SandboxService.StopSandbox. +func (c *sandboxServiceClient) StopSandbox(ctx context.Context, req *connect.Request[v1alpha1.StopSandboxRequest]) (*connect.Response[v1alpha1.StopSandboxResponse], error) { + return c.stopSandbox.CallUnary(ctx, req) +} + // SandboxServiceHandler is an implementation of the pub.sandbox.v1alpha1.SandboxService service. type SandboxServiceHandler interface { CreateSandbox(context.Context, *connect.Request[v1alpha1.CreateSandboxRequest]) (*connect.Response[v1alpha1.CreateSandboxResponse], error) GetSandbox(context.Context, *connect.Request[v1alpha1.GetSandboxRequest]) (*connect.Response[v1alpha1.GetSandboxResponse], error) DeleteSandbox(context.Context, *connect.Request[v1alpha1.DeleteSandboxRequest]) (*connect.Response[v1alpha1.DeleteSandboxResponse], error) ListSandboxes(context.Context, *connect.Request[v1alpha1.ListSandboxesRequest]) (*connect.Response[v1alpha1.ListSandboxesResponse], error) + // Starts sandbox. If sandbox is already starting or running, it does nothing. + // May return error if sandbox is stopping. + StartSandbox(context.Context, *connect.Request[v1alpha1.StartSandboxRequest]) (*connect.Response[v1alpha1.StartSandboxResponse], error) + // Stops sandbox. If sandbox is already stopped, it does nothing. + // May return error if sandbox is starting. + StopSandbox(context.Context, *connect.Request[v1alpha1.StopSandboxRequest]) (*connect.Response[v1alpha1.StopSandboxResponse], error) } // NewSandboxServiceHandler builds an HTTP handler from the service implementation. It returns the @@ -174,6 +218,18 @@ func NewSandboxServiceHandler(svc SandboxServiceHandler, opts ...connect.Handler connect.WithIdempotency(connect.IdempotencyNoSideEffects), connect.WithHandlerOptions(opts...), ) + sandboxServiceStartSandboxHandler := connect.NewUnaryHandler( + SandboxServiceStartSandboxProcedure, + svc.StartSandbox, + connect.WithSchema(sandboxServiceStartSandboxMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) + sandboxServiceStopSandboxHandler := connect.NewUnaryHandler( + SandboxServiceStopSandboxProcedure, + svc.StopSandbox, + connect.WithSchema(sandboxServiceStopSandboxMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) return "/pub.sandbox.v1alpha1.SandboxService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case SandboxServiceCreateSandboxProcedure: @@ -184,6 +240,10 @@ func NewSandboxServiceHandler(svc SandboxServiceHandler, opts ...connect.Handler sandboxServiceDeleteSandboxHandler.ServeHTTP(w, r) case SandboxServiceListSandboxesProcedure: sandboxServiceListSandboxesHandler.ServeHTTP(w, r) + case SandboxServiceStartSandboxProcedure: + sandboxServiceStartSandboxHandler.ServeHTTP(w, r) + case SandboxServiceStopSandboxProcedure: + sandboxServiceStopSandboxHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -208,3 +268,11 @@ func (UnimplementedSandboxServiceHandler) DeleteSandbox(context.Context, *connec func (UnimplementedSandboxServiceHandler) ListSandboxes(context.Context, *connect.Request[v1alpha1.ListSandboxesRequest]) (*connect.Response[v1alpha1.ListSandboxesResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("pub.sandbox.v1alpha1.SandboxService.ListSandboxes is not implemented")) } + +func (UnimplementedSandboxServiceHandler) StartSandbox(context.Context, *connect.Request[v1alpha1.StartSandboxRequest]) (*connect.Response[v1alpha1.StartSandboxResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("pub.sandbox.v1alpha1.SandboxService.StartSandbox is not implemented")) +} + +func (UnimplementedSandboxServiceHandler) StopSandbox(context.Context, *connect.Request[v1alpha1.StopSandboxRequest]) (*connect.Response[v1alpha1.StopSandboxResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("pub.sandbox.v1alpha1.SandboxService.StopSandbox is not implemented")) +} diff --git a/api/ts/package.json b/api/ts/package.json index bd52690..92e854e 100644 --- a/api/ts/package.json +++ b/api/ts/package.json @@ -1,6 +1,6 @@ { "name": "@jetify/client", - "version": "0.5.0-dev", + "version": "0.6.0-dev", "description": "Jetify client library for Node.js and the browser", "keywords": [ "jetify", diff --git a/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_connect.ts b/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_connect.ts index 93f0ad6..8fbc0b3 100644 --- a/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_connect.ts +++ b/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_connect.ts @@ -6,7 +6,7 @@ /* eslint-disable */ // @ts-nocheck -import { CreateSandboxRequest, CreateSandboxResponse, DeleteSandboxRequest, DeleteSandboxResponse, GetSandboxRequest, GetSandboxResponse, ListSandboxesRequest, ListSandboxesResponse } from "./sandbox_pb.js"; +import { CreateSandboxRequest, CreateSandboxResponse, DeleteSandboxRequest, DeleteSandboxResponse, GetSandboxRequest, GetSandboxResponse, ListSandboxesRequest, ListSandboxesResponse, StartSandboxRequest, StartSandboxResponse, StopSandboxRequest, StopSandboxResponse } from "./sandbox_pb.js"; import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf"; /** @@ -53,6 +53,30 @@ export const SandboxService = { kind: MethodKind.Unary, idempotency: MethodIdempotency.NoSideEffects, }, + /** + * Starts sandbox. If sandbox is already starting or running, it does nothing. + * May return error if sandbox is stopping. + * + * @generated from rpc pub.sandbox.v1alpha1.SandboxService.StartSandbox + */ + startSandbox: { + name: "StartSandbox", + I: StartSandboxRequest, + O: StartSandboxResponse, + kind: MethodKind.Unary, + }, + /** + * Stops sandbox. If sandbox is already stopped, it does nothing. + * May return error if sandbox is starting. + * + * @generated from rpc pub.sandbox.v1alpha1.SandboxService.StopSandbox + */ + stopSandbox: { + name: "StopSandbox", + I: StopSandboxRequest, + O: StopSandboxResponse, + kind: MethodKind.Unary, + }, } } as const; diff --git a/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_pb.ts b/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_pb.ts index 2ab7403..bfd0481 100644 --- a/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_pb.ts +++ b/api/ts/src/gen/pub/sandbox/v1alpha1/sandbox_pb.ts @@ -410,6 +410,154 @@ export class ListSandboxesResponse extends Message { } } +/** + * @generated from message pub.sandbox.v1alpha1.StartSandboxRequest + */ +export class StartSandboxRequest extends Message { + /** + * @generated from field: string id = 1; + */ + id = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "pub.sandbox.v1alpha1.StartSandboxRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): StartSandboxRequest { + return new StartSandboxRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): StartSandboxRequest { + return new StartSandboxRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): StartSandboxRequest { + return new StartSandboxRequest().fromJsonString(jsonString, options); + } + + static equals(a: StartSandboxRequest | PlainMessage | undefined, b: StartSandboxRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(StartSandboxRequest, a, b); + } +} + +/** + * @generated from message pub.sandbox.v1alpha1.StartSandboxResponse + */ +export class StartSandboxResponse extends Message { + /** + * @generated from field: pub.sandbox.v1alpha1.Sandbox sandbox = 1; + */ + sandbox?: Sandbox; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "pub.sandbox.v1alpha1.StartSandboxResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "sandbox", kind: "message", T: Sandbox }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): StartSandboxResponse { + return new StartSandboxResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): StartSandboxResponse { + return new StartSandboxResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): StartSandboxResponse { + return new StartSandboxResponse().fromJsonString(jsonString, options); + } + + static equals(a: StartSandboxResponse | PlainMessage | undefined, b: StartSandboxResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(StartSandboxResponse, a, b); + } +} + +/** + * @generated from message pub.sandbox.v1alpha1.StopSandboxRequest + */ +export class StopSandboxRequest extends Message { + /** + * @generated from field: string id = 1; + */ + id = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "pub.sandbox.v1alpha1.StopSandboxRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): StopSandboxRequest { + return new StopSandboxRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): StopSandboxRequest { + return new StopSandboxRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): StopSandboxRequest { + return new StopSandboxRequest().fromJsonString(jsonString, options); + } + + static equals(a: StopSandboxRequest | PlainMessage | undefined, b: StopSandboxRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(StopSandboxRequest, a, b); + } +} + +/** + * @generated from message pub.sandbox.v1alpha1.StopSandboxResponse + */ +export class StopSandboxResponse extends Message { + /** + * @generated from field: pub.sandbox.v1alpha1.Sandbox sandbox = 1; + */ + sandbox?: Sandbox; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "pub.sandbox.v1alpha1.StopSandboxResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "sandbox", kind: "message", T: Sandbox }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): StopSandboxResponse { + return new StopSandboxResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): StopSandboxResponse { + return new StopSandboxResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): StopSandboxResponse { + return new StopSandboxResponse().fromJsonString(jsonString, options); + } + + static equals(a: StopSandboxResponse | PlainMessage | undefined, b: StopSandboxResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(StopSandboxResponse, a, b); + } +} + /** * @generated from message pub.sandbox.v1alpha1.Sandbox */