Files
threshold/internal/proto/local/controller/api/resources/sessions/v1/session.proto
T

103 lines
3.3 KiB
Protocol Buffer

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 {
// This is the status of the session. For example "pending", "active",
// "canceling", "terminated".
string status = 10;
// The time the session entered this state.
// Output only.
google.protobuf.Timestamp start_time = 20 [json_name = "start_time"];
// The time the session stopped being in this state.
// Output only.
google.protobuf.Timestamp end_time = 30 [json_name = "end_time"];
}
// Session contains all fields related to a Session resource
message Session {
// The ID of the resource
// Output only.
string id = 10;
// The id of the parent of this resource. This must be defined for creation
// of this resource, but is otherwise read only.
string target_id = 20 [json_name = "target_id"];
// Scope information for this resource
// Output only.
resources.scopes.v1.ScopeInfo scope = 30;
// The time this resource was created
// Output only.
google.protobuf.Timestamp created_time = 40 [json_name = "created_time"];
// The time this resource was last updated.
// Output only.
google.protobuf.Timestamp updated_time = 50 [json_name = "updated_time"];
// After this time the connection will be expired, e.g. forcefully terminated
google.protobuf.Timestamp expiration_time = 60
[json_name = "expiration_time"];
// The version can be used in subsequent write requests to ensure this
// resource has not changed and to fail the write if it has.
uint32 version = 70;
// Type of the session (e.g. tcp, ssh, etc.)
string type = 80;
// The id of the token used to authenticate.
string auth_token_id = 90 [json_name = "auth_token_id"];
// The ID of the user that requested the session
string user_id = 100 [json_name = "user_id"];
// The host set id used by the session's target
string host_set_id = 110 [json_name = "host_set_id"];
// The host id used by the session
string host_id = 120 [json_name = "host_id"];
// The scope of the session
string scope_id = 130 [json_name = "scope_id"];
// The endpoint of the session
string endpoint = 140;
// The states of this session in descending from the current state to the
// first.
repeated SessionState states = 150;
// The name of the current status of this session.
string status = 160;
// Worker information. The first worker in the slice should be prioritized.
repeated WorkerInfo worker_info = 170 [json_name = "worker_info"];
// Deprecated, to be moved to another proto by another PR:
// The certificate to use when connecting (or if using custom certs, to
// serve as the "login"). Raw DER bytes.
bytes certificate = 220;
// The private key to use when connecting (or if using custom certs, to pass
// as the "password").
bytes private_key = 230 [json_name = "private_key"];
}