You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/proto/local/controller/api/resources/sessions/v1/session.proto

86 lines
3.0 KiB

syntax = "proto3";
package controller.api.resources.sessions.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/resources/sessions;sessions";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/api/resources/targets/v1/target.proto";
import "controller/custom_options/v1/options.proto";
message WorkerInfo {
// The address of the worker.
string address = 10;
}
message SessionState {
// The status of the Session, e.g. "pending", "active", "canceling", "terminated".
string status = 10;
// Output only. The time the Session entered this state.
google.protobuf.Timestamp start_time = 20 [json_name = "start_time"];
// Output only. The time the Session stopped being in this state.
google.protobuf.Timestamp end_time = 30 [json_name = "end_time"];
}
// Session contains all fields related to a Session resource
message Session {
// Output only. The ID of the Session.
string id = 10;
// Output only. The ID of the Target that created this Session.
string target_id = 20 [json_name = "target_id"];
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"];
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"];
// Version is used when canceling this Session to ensure that the operation is acting on a known session state.
uint32 version = 80;
// Output only. Type of the Session (e.g. tcp).
string type = 90;
// Output only. After this time the connection will be expired, e.g. forcefully terminated.
google.protobuf.Timestamp expiration_time = 100 [json_name = "expiration_time"];
// Output only. The ID of the Auth Token used to authenticate.
string auth_token_id = 110 [json_name = "auth_token_id"];
// Output only. The ID of the User that requested the Session.
string user_id = 120 [json_name = "user_id"];
// Output only. The Host Set sourcing the Host for this Session.
string host_set_id = 130 [json_name = "host_set_id"];
// Output only. The Host used by the Session.
string host_id = 140 [json_name = "host_id"];
// Output only. The Scope of the Session.
string scope_id = 150 [json_name = "scope_id"];
// Output only. The endpoint of the Session; that is, the address to which the worker is proxying data.
string endpoint = 160;
// Output only. The states of this Session in descending order from the current state to the first.
repeated SessionState states = 170;
// Output only. The current status of this Session.
string status = 180;
// Output only. Worker information given to the client.
repeated WorkerInfo worker_info = 190 [json_name = "worker_info"];
// Output only. The certificate generated for the session. Raw DER bytes.
bytes certificate = 200;
}