refactor historical values in the session recording resource
This commit is contained in:
1 parent
39a07252b6
commit
8f9e218e1c
3 files changed
+523
-251
No files matched your search
@@ -5609,17 +5609,13 @@
|
||||
"$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo",
|
||||
"description": "The scope that the Session Recording is in.\nThis is inferred from the storage bucket associated\nwith the target."
|
||||
},
|
||||
"user": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.User",
|
||||
"description": "Information about the User that created the Session."
|
||||
},
|
||||
"session_id": {
|
||||
"type": "string",
|
||||
"description": "The ID of the Session which this Session Recording recorded."
|
||||
},
|
||||
"target": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.Target",
|
||||
"description": "Information about the Target the Session connected to."
|
||||
"storage_bucket_id": {
|
||||
"type": "string",
|
||||
"description": "The ID of the Storage Bucket for the Target of this Session Recording."
|
||||
},
|
||||
"bytes_up": {
|
||||
"type": "string",
|
||||
@@ -5668,6 +5664,10 @@
|
||||
},
|
||||
"description": "The recordings of the connections that were created in the Session.\nThis field may be unset when listing Session recordings."
|
||||
},
|
||||
"create_time_values": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.ValuesAtTime",
|
||||
"description": "create_time_values contains the values of related fields at the time\nthis Session Recording was created. This may be unset when listing."
|
||||
},
|
||||
"authorized_actions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -5678,6 +5678,17 @@
|
||||
},
|
||||
"description": "SessionRecording contains information about the recording of a Session."
|
||||
},
|
||||
"controller.api.resources.sessionrecordings.v1.SshTargetAttributes": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"default_port": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"description": "The default SSH port that is used when connecting to the endpoint."
|
||||
}
|
||||
},
|
||||
"title": "SshTargetAttributes contains attributes relevant to Targets of type \"ssh\""
|
||||
},
|
||||
"controller.api.resources.sessionrecordings.v1.Target": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -5685,17 +5696,43 @@
|
||||
"type": "string",
|
||||
"description": "The ID of the Target."
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the Target."
|
||||
},
|
||||
"scope": {
|
||||
"$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo",
|
||||
"description": "The project that the Target is in."
|
||||
},
|
||||
"storage_bucket_id": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The ID of the storage bucket this Target's recordings use."
|
||||
"description": "The name of the Target, if set."
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "The description of the Target, if set."
|
||||
},
|
||||
"session_max_seconds": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"description": "Maximum total lifetime of a created Session, in seconds."
|
||||
},
|
||||
"session_connection_limit": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Maximum number of connections allowed in a Session. Unlimited is indicated by the value -1."
|
||||
},
|
||||
"worker_filter": {
|
||||
"type": "string",
|
||||
"description": "Optional boolean expression to filter the workers that are allowed to satisfy this request."
|
||||
},
|
||||
"egress_worker_filter": {
|
||||
"type": "string",
|
||||
"description": "Optional boolean expressions to filter the egress workers that are allowed to satisfy this request."
|
||||
},
|
||||
"ingress_worker_filter": {
|
||||
"type": "string",
|
||||
"description": "Optional boolean expressions to filter the ingress workers that are allowed to satisfy this request."
|
||||
},
|
||||
"attributes": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.SshTargetAttributes",
|
||||
"description": "The attributes that are applicable for the specific Target."
|
||||
}
|
||||
},
|
||||
"description": "Target describes a target in Boundary."
|
||||
@@ -5715,29 +5752,27 @@
|
||||
"type": "string",
|
||||
"description": "The description of the User that created the Session."
|
||||
},
|
||||
"full_name": {
|
||||
"type": "string",
|
||||
"description": "The full name of the User that created the Session,\ninferred from the account used by the user."
|
||||
},
|
||||
"login_name": {
|
||||
"type": "string",
|
||||
"description": "The login name of the User that created the Session,\ninferred from the account used by the user."
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"description": "The email of the User that created the Session,\ninferred from the account used by the user."
|
||||
},
|
||||
"scope": {
|
||||
"$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo",
|
||||
"description": "The scope that the User is in."
|
||||
},
|
||||
"account_id": {
|
||||
"type": "string",
|
||||
"description": "The ID of the account that the User that created the Session authenticated with."
|
||||
}
|
||||
},
|
||||
"description": "User describes an authenticated user in Boundary."
|
||||
},
|
||||
"controller.api.resources.sessionrecordings.v1.ValuesAtTime": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"user": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.User",
|
||||
"description": "Information about the User that created the Session."
|
||||
},
|
||||
"target": {
|
||||
"$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.Target",
|
||||
"description": "Information about the Target the Session connected to."
|
||||
}
|
||||
},
|
||||
"description": "ValuesAtTime contain information about other Boundary resources as they\nwere at a certain time through the lifetime of the Session Recording."
|
||||
},
|
||||
"controller.api.resources.sessions.v1.Connection": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
+70
-37
@@ -84,23 +84,8 @@ message User {
|
||||
// The description of the User that created the Session.
|
||||
string description = 3; // @gotags: class:"sensitive"
|
||||
|
||||
// The full name of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
string full_name = 4 [json_name = "full_name"]; // @gotags: class:"sensitive"
|
||||
|
||||
// The login name of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
string login_name = 5 [json_name = "login_name"]; // @gotags: class:"sensitive"
|
||||
|
||||
// The email of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
string email = 6; // @gotags: class:"sensitive"
|
||||
|
||||
// The scope that the User is in.
|
||||
resources.scopes.v1.ScopeInfo scope = 7;
|
||||
|
||||
// The ID of the account that the User that created the Session authenticated with.
|
||||
string account_id = 8 [json_name = "account_id"]; // @gotags: class:"public"
|
||||
}
|
||||
|
||||
// Target describes a target in Boundary.
|
||||
@@ -108,14 +93,61 @@ message Target {
|
||||
// The ID of the Target.
|
||||
string id = 1; // @gotags: class:"public"
|
||||
|
||||
// The name of the Target.
|
||||
string name = 2; // @gotags: class:"public"
|
||||
|
||||
// The project that the Target is in.
|
||||
resources.scopes.v1.ScopeInfo scope = 3;
|
||||
resources.scopes.v1.ScopeInfo scope = 2; // @gotags: class:"public"
|
||||
|
||||
// The ID of the storage bucket this Target's recordings use.
|
||||
string storage_bucket_id = 4 [json_name = "storage_bucket_id"]; // @gotags: class:"public"
|
||||
// The name of the Target, if set.
|
||||
string name = 3; // @gotags: class:"public"
|
||||
|
||||
// The description of the Target, if set.
|
||||
string description = 4; // @gotags: class:"public"
|
||||
|
||||
// Maximum total lifetime of a created Session, in seconds.
|
||||
uint32 session_max_seconds = 5 [json_name = "session_max_seconds"]; // @gotags: class:"public"
|
||||
|
||||
// Maximum number of connections allowed in a Session. Unlimited is indicated by the value -1.
|
||||
int32 session_connection_limit = 6 [json_name = "session_connection_limit"]; // @gotags: class:"public"
|
||||
|
||||
// Optional boolean expression to filter the workers that are allowed to satisfy this request.
|
||||
string worker_filter = 7 [json_name = "worker_filter"]; // @gotags: class:"public"
|
||||
|
||||
// Optional boolean expressions to filter the egress workers that are allowed to satisfy this request.
|
||||
string egress_worker_filter = 8 [json_name = "egress_worker_filter"]; // @gotags: class:"public"
|
||||
|
||||
// Optional boolean expressions to filter the ingress workers that are allowed to satisfy this request.
|
||||
string ingress_worker_filter = 9 [json_name = "ingress_worker_filter"]; // @gotags: class:"public"
|
||||
|
||||
oneof attrs {
|
||||
// We are using the name attributes here because at the time of
|
||||
// writing this there is only ssh target attributes for Session Recordings.
|
||||
// When we add another target type for Session Recordings we will need to
|
||||
// add a generic Struct with the field named "attributes", and then use the
|
||||
// method used in other places that assign to these strongly typed
|
||||
// attributes and then use a response interceptor to populate the
|
||||
// struct field named "attributes" from the other oneof fields. This is
|
||||
// going to be a breaking change (in terms of proto compatibility) but
|
||||
// since this is only consumed in JSON format, that should be transparent
|
||||
// to the end user.
|
||||
|
||||
// The attributes that are applicable for the specific Target.
|
||||
SshTargetAttributes attributes = 10;
|
||||
}
|
||||
}
|
||||
|
||||
// SshTargetAttributes contains attributes relevant to Targets of type "ssh"
|
||||
message SshTargetAttributes {
|
||||
// The default SSH port that is used when connecting to the endpoint.
|
||||
uint32 default_port = 1 [json_name = "default_port"]; // @gotags: class:"public"
|
||||
}
|
||||
|
||||
// ValuesAtTime contain information about other Boundary resources as they
|
||||
// were at a certain time through the lifetime of the Session Recording.
|
||||
message ValuesAtTime {
|
||||
// Information about the User that created the Session.
|
||||
User user = 1;
|
||||
|
||||
// Information about the Target the Session connected to.
|
||||
Target target = 2;
|
||||
}
|
||||
|
||||
// SessionRecording contains information about the recording of a Session.
|
||||
@@ -126,50 +158,51 @@ message SessionRecording {
|
||||
// The scope that the Session Recording is in.
|
||||
// This is inferred from the storage bucket associated
|
||||
// with the target.
|
||||
resources.scopes.v1.ScopeInfo scope = 2;
|
||||
|
||||
// Information about the User that created the Session.
|
||||
User user = 3;
|
||||
resources.scopes.v1.ScopeInfo scope = 2; // @gotags: class:"public"
|
||||
|
||||
// The ID of the Session which this Session Recording recorded.
|
||||
string session_id = 4 [json_name = "session_id"]; // @gotags: class:"public"
|
||||
string session_id = 3 [json_name = "session_id"]; // @gotags: class:"public"
|
||||
|
||||
// Information about the Target the Session connected to.
|
||||
Target target = 5;
|
||||
// The ID of the Storage Bucket for the Target of this Session Recording.
|
||||
string storage_bucket_id = 4 [json_name = "storage_bucket_id"];
|
||||
|
||||
// The total number of bytes uploaded from the client in the Session.
|
||||
// This includes all bytes uploaded over all Connections, including
|
||||
// any protocol overhead.
|
||||
uint64 bytes_up = 6 [json_name = "bytes_up"]; // @gotags: class:"public"
|
||||
uint64 bytes_up = 5 [json_name = "bytes_up"]; // @gotags: class:"public"
|
||||
|
||||
// The total number of bytes downloaded to the client in the Session.
|
||||
// This includes all bytes downloaded over all Connections, including
|
||||
// any protocol overhead.
|
||||
uint64 bytes_down = 7 [json_name = "bytes_down"]; // @gotags: class:"public"
|
||||
uint64 bytes_down = 6 [json_name = "bytes_down"]; // @gotags: class:"public"
|
||||
|
||||
// The time the Session started.
|
||||
google.protobuf.Timestamp start_time = 8 [json_name = "start_time"]; // @gotags: class:"public"
|
||||
google.protobuf.Timestamp start_time = 7 [json_name = "start_time"]; // @gotags: class:"public"
|
||||
|
||||
// The time the Session ended.
|
||||
google.protobuf.Timestamp end_time = 9 [json_name = "end_time"]; // @gotags: class:"public"
|
||||
google.protobuf.Timestamp end_time = 8 [json_name = "end_time"]; // @gotags: class:"public"
|
||||
|
||||
// The total duration of the Session.
|
||||
google.protobuf.Duration duration = 10; // @gotags: class:"public"
|
||||
google.protobuf.Duration duration = 9; // @gotags: class:"public"
|
||||
|
||||
// The time that the Session recording will be deleted.
|
||||
google.protobuf.Timestamp delete_on = 11 [json_name = "delete_on"]; // @gotags: class:"public"
|
||||
google.protobuf.Timestamp delete_on = 10 [json_name = "delete_on"]; // @gotags: class:"public"
|
||||
|
||||
// Type of the Session that was recorded (e.g. ssh).
|
||||
string type = 12; // @gotags: class:"public"
|
||||
string type = 11; // @gotags: class:"public"
|
||||
|
||||
// MimeTypes define the mime types that can
|
||||
// be used to consume the recording of this Session.
|
||||
// No mime types are currently supported.
|
||||
repeated string mime_types = 13 [json_name = "mime_types"]; // @gotags: class:"public"
|
||||
repeated string mime_types = 12 [json_name = "mime_types"]; // @gotags: class:"public"
|
||||
|
||||
// The recordings of the connections that were created in the Session.
|
||||
// This field may be unset when listing Session recordings.
|
||||
repeated ConnectionRecording connection_recordings = 14 [json_name = "connection_recordings"];
|
||||
repeated ConnectionRecording connection_recordings = 13 [json_name = "connection_recordings"];
|
||||
|
||||
// create_time_values contains the values of related fields at the time
|
||||
// this Session Recording was created. This may be unset when listing.
|
||||
ValuesAtTime create_time_values = 14 [json_name = "create_time_values"]; // @gotags: class:"public"
|
||||
|
||||
// The available actions on this resource for this user.
|
||||
repeated string authorized_actions = 15 [json_name = "authorized_actions"]; // @gotags: class:"public"
|
||||
|
||||
@@ -270,19 +270,8 @@ type User struct {
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // @gotags: class:"sensitive"
|
||||
// The description of the User that created the Session.
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // @gotags: class:"sensitive"
|
||||
// The full name of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
FullName string `protobuf:"bytes,4,opt,name=full_name,proto3" json:"full_name,omitempty"` // @gotags: class:"sensitive"
|
||||
// The login name of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
LoginName string `protobuf:"bytes,5,opt,name=login_name,proto3" json:"login_name,omitempty"` // @gotags: class:"sensitive"
|
||||
// The email of the User that created the Session,
|
||||
// inferred from the account used by the user.
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` // @gotags: class:"sensitive"
|
||||
// The scope that the User is in.
|
||||
Scope *scopes.ScopeInfo `protobuf:"bytes,7,opt,name=scope,proto3" json:"scope,omitempty"`
|
||||
// The ID of the account that the User that created the Session authenticated with.
|
||||
AccountId string `protobuf:"bytes,8,opt,name=account_id,proto3" json:"account_id,omitempty"` // @gotags: class:"public"
|
||||
}
|
||||
|
||||
func (x *User) Reset() {
|
||||
@@ -338,27 +327,6 @@ func (x *User) GetDescription() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User) GetFullName() string {
|
||||
if x != nil {
|
||||
return x.FullName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User) GetLoginName() string {
|
||||
if x != nil {
|
||||
return x.LoginName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User) GetEmail() string {
|
||||
if x != nil {
|
||||
return x.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *User) GetScope() *scopes.ScopeInfo {
|
||||
if x != nil {
|
||||
return x.Scope
|
||||
@@ -366,13 +334,6 @@ func (x *User) GetScope() *scopes.ScopeInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *User) GetAccountId() string {
|
||||
if x != nil {
|
||||
return x.AccountId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Target describes a target in Boundary.
|
||||
type Target struct {
|
||||
state protoimpl.MessageState
|
||||
@@ -381,12 +342,26 @@ type Target struct {
|
||||
|
||||
// The ID of the Target.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: class:"public"
|
||||
// The name of the Target.
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // @gotags: class:"public"
|
||||
// The project that the Target is in.
|
||||
Scope *scopes.ScopeInfo `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
|
||||
// The ID of the storage bucket this Target's recordings use.
|
||||
StorageBucketId string `protobuf:"bytes,4,opt,name=storage_bucket_id,proto3" json:"storage_bucket_id,omitempty"` // @gotags: class:"public"
|
||||
Scope *scopes.ScopeInfo `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` // @gotags: class:"public"
|
||||
// The name of the Target, if set.
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // @gotags: class:"public"
|
||||
// The description of the Target, if set.
|
||||
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // @gotags: class:"public"
|
||||
// Maximum total lifetime of a created Session, in seconds.
|
||||
SessionMaxSeconds uint32 `protobuf:"varint,5,opt,name=session_max_seconds,proto3" json:"session_max_seconds,omitempty"` // @gotags: class:"public"
|
||||
// Maximum number of connections allowed in a Session. Unlimited is indicated by the value -1.
|
||||
SessionConnectionLimit int32 `protobuf:"varint,6,opt,name=session_connection_limit,proto3" json:"session_connection_limit,omitempty"` // @gotags: class:"public"
|
||||
// Optional boolean expression to filter the workers that are allowed to satisfy this request.
|
||||
WorkerFilter string `protobuf:"bytes,7,opt,name=worker_filter,proto3" json:"worker_filter,omitempty"` // @gotags: class:"public"
|
||||
// Optional boolean expressions to filter the egress workers that are allowed to satisfy this request.
|
||||
EgressWorkerFilter string `protobuf:"bytes,8,opt,name=egress_worker_filter,proto3" json:"egress_worker_filter,omitempty"` // @gotags: class:"public"
|
||||
// Optional boolean expressions to filter the ingress workers that are allowed to satisfy this request.
|
||||
IngressWorkerFilter string `protobuf:"bytes,9,opt,name=ingress_worker_filter,proto3" json:"ingress_worker_filter,omitempty"` // @gotags: class:"public"
|
||||
// Types that are assignable to Attrs:
|
||||
//
|
||||
// *Target_Attributes
|
||||
Attrs isTarget_Attrs `protobuf_oneof:"attrs"`
|
||||
}
|
||||
|
||||
func (x *Target) Reset() {
|
||||
@@ -428,13 +403,6 @@ func (x *Target) GetId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetScope() *scopes.ScopeInfo {
|
||||
if x != nil {
|
||||
return x.Scope
|
||||
@@ -442,13 +410,188 @@ func (x *Target) GetScope() *scopes.ScopeInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Target) GetStorageBucketId() string {
|
||||
func (x *Target) GetName() string {
|
||||
if x != nil {
|
||||
return x.StorageBucketId
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetDescription() string {
|
||||
if x != nil {
|
||||
return x.Description
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetSessionMaxSeconds() uint32 {
|
||||
if x != nil {
|
||||
return x.SessionMaxSeconds
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Target) GetSessionConnectionLimit() int32 {
|
||||
if x != nil {
|
||||
return x.SessionConnectionLimit
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Target) GetWorkerFilter() string {
|
||||
if x != nil {
|
||||
return x.WorkerFilter
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetEgressWorkerFilter() string {
|
||||
if x != nil {
|
||||
return x.EgressWorkerFilter
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Target) GetIngressWorkerFilter() string {
|
||||
if x != nil {
|
||||
return x.IngressWorkerFilter
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Target) GetAttrs() isTarget_Attrs {
|
||||
if m != nil {
|
||||
return m.Attrs
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Target) GetAttributes() *SshTargetAttributes {
|
||||
if x, ok := x.GetAttrs().(*Target_Attributes); ok {
|
||||
return x.Attributes
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type isTarget_Attrs interface {
|
||||
isTarget_Attrs()
|
||||
}
|
||||
|
||||
type Target_Attributes struct {
|
||||
// The attributes that are applicable for the specific Target.
|
||||
Attributes *SshTargetAttributes `protobuf:"bytes,10,opt,name=attributes,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*Target_Attributes) isTarget_Attrs() {}
|
||||
|
||||
// SshTargetAttributes contains attributes relevant to Targets of type "ssh"
|
||||
type SshTargetAttributes struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// The default SSH port that is used when connecting to the endpoint.
|
||||
DefaultPort uint32 `protobuf:"varint,1,opt,name=default_port,proto3" json:"default_port,omitempty"` // @gotags: class:"public"
|
||||
}
|
||||
|
||||
func (x *SshTargetAttributes) Reset() {
|
||||
*x = SshTargetAttributes{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SshTargetAttributes) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SshTargetAttributes) ProtoMessage() {}
|
||||
|
||||
func (x *SshTargetAttributes) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use SshTargetAttributes.ProtoReflect.Descriptor instead.
|
||||
func (*SshTargetAttributes) Descriptor() ([]byte, []int) {
|
||||
return file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *SshTargetAttributes) GetDefaultPort() uint32 {
|
||||
if x != nil {
|
||||
return x.DefaultPort
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// ValuesAtTime contain information about other Boundary resources as they
|
||||
// were at a certain time through the lifetime of the Session Recording.
|
||||
type ValuesAtTime struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Information about the User that created the Session.
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
||||
// Information about the Target the Session connected to.
|
||||
Target *Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ValuesAtTime) Reset() {
|
||||
*x = ValuesAtTime{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ValuesAtTime) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ValuesAtTime) ProtoMessage() {}
|
||||
|
||||
func (x *ValuesAtTime) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ValuesAtTime.ProtoReflect.Descriptor instead.
|
||||
func (*ValuesAtTime) Descriptor() ([]byte, []int) {
|
||||
return file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *ValuesAtTime) GetUser() *User {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ValuesAtTime) GetTarget() *Target {
|
||||
if x != nil {
|
||||
return x.Target
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SessionRecording contains information about the recording of a Session.
|
||||
type SessionRecording struct {
|
||||
state protoimpl.MessageState
|
||||
@@ -460,38 +603,39 @@ type SessionRecording struct {
|
||||
// The scope that the Session Recording is in.
|
||||
// This is inferred from the storage bucket associated
|
||||
// with the target.
|
||||
Scope *scopes.ScopeInfo `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
|
||||
// Information about the User that created the Session.
|
||||
User *User `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
|
||||
Scope *scopes.ScopeInfo `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` // @gotags: class:"public"
|
||||
// The ID of the Session which this Session Recording recorded.
|
||||
SessionId string `protobuf:"bytes,4,opt,name=session_id,proto3" json:"session_id,omitempty"` // @gotags: class:"public"
|
||||
// Information about the Target the Session connected to.
|
||||
Target *Target `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"`
|
||||
SessionId string `protobuf:"bytes,3,opt,name=session_id,proto3" json:"session_id,omitempty"` // @gotags: class:"public"
|
||||
// The ID of the Storage Bucket for the Target of this Session Recording.
|
||||
StorageBucketId string `protobuf:"bytes,4,opt,name=storage_bucket_id,proto3" json:"storage_bucket_id,omitempty"`
|
||||
// The total number of bytes uploaded from the client in the Session.
|
||||
// This includes all bytes uploaded over all Connections, including
|
||||
// any protocol overhead.
|
||||
BytesUp uint64 `protobuf:"varint,6,opt,name=bytes_up,proto3" json:"bytes_up,omitempty"` // @gotags: class:"public"
|
||||
BytesUp uint64 `protobuf:"varint,5,opt,name=bytes_up,proto3" json:"bytes_up,omitempty"` // @gotags: class:"public"
|
||||
// The total number of bytes downloaded to the client in the Session.
|
||||
// This includes all bytes downloaded over all Connections, including
|
||||
// any protocol overhead.
|
||||
BytesDown uint64 `protobuf:"varint,7,opt,name=bytes_down,proto3" json:"bytes_down,omitempty"` // @gotags: class:"public"
|
||||
BytesDown uint64 `protobuf:"varint,6,opt,name=bytes_down,proto3" json:"bytes_down,omitempty"` // @gotags: class:"public"
|
||||
// The time the Session started.
|
||||
StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,proto3" json:"start_time,omitempty"` // @gotags: class:"public"
|
||||
StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,proto3" json:"start_time,omitempty"` // @gotags: class:"public"
|
||||
// The time the Session ended.
|
||||
EndTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=end_time,proto3" json:"end_time,omitempty"` // @gotags: class:"public"
|
||||
EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,proto3" json:"end_time,omitempty"` // @gotags: class:"public"
|
||||
// The total duration of the Session.
|
||||
Duration *durationpb.Duration `protobuf:"bytes,10,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: class:"public"
|
||||
Duration *durationpb.Duration `protobuf:"bytes,9,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: class:"public"
|
||||
// The time that the Session recording will be deleted.
|
||||
DeleteOn *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=delete_on,proto3" json:"delete_on,omitempty"` // @gotags: class:"public"
|
||||
DeleteOn *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=delete_on,proto3" json:"delete_on,omitempty"` // @gotags: class:"public"
|
||||
// Type of the Session that was recorded (e.g. ssh).
|
||||
Type string `protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty"` // @gotags: class:"public"
|
||||
Type string `protobuf:"bytes,11,opt,name=type,proto3" json:"type,omitempty"` // @gotags: class:"public"
|
||||
// MimeTypes define the mime types that can
|
||||
// be used to consume the recording of this Session.
|
||||
// No mime types are currently supported.
|
||||
MimeTypes []string `protobuf:"bytes,13,rep,name=mime_types,proto3" json:"mime_types,omitempty"` // @gotags: class:"public"
|
||||
MimeTypes []string `protobuf:"bytes,12,rep,name=mime_types,proto3" json:"mime_types,omitempty"` // @gotags: class:"public"
|
||||
// The recordings of the connections that were created in the Session.
|
||||
// This field may be unset when listing Session recordings.
|
||||
ConnectionRecordings []*ConnectionRecording `protobuf:"bytes,14,rep,name=connection_recordings,proto3" json:"connection_recordings,omitempty"`
|
||||
ConnectionRecordings []*ConnectionRecording `protobuf:"bytes,13,rep,name=connection_recordings,proto3" json:"connection_recordings,omitempty"`
|
||||
// create_time_values contains the values of related fields at the time
|
||||
// this Session Recording was created. This may be unset when listing.
|
||||
CreateTimeValues *ValuesAtTime `protobuf:"bytes,14,opt,name=create_time_values,proto3" json:"create_time_values,omitempty"` // @gotags: class:"public"
|
||||
// The available actions on this resource for this user.
|
||||
AuthorizedActions []string `protobuf:"bytes,15,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty"` // @gotags: class:"public"
|
||||
}
|
||||
@@ -499,7 +643,7 @@ type SessionRecording struct {
|
||||
func (x *SessionRecording) Reset() {
|
||||
*x = SessionRecording{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[4]
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -512,7 +656,7 @@ func (x *SessionRecording) String() string {
|
||||
func (*SessionRecording) ProtoMessage() {}
|
||||
|
||||
func (x *SessionRecording) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[4]
|
||||
mi := &file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -525,7 +669,7 @@ func (x *SessionRecording) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SessionRecording.ProtoReflect.Descriptor instead.
|
||||
func (*SessionRecording) Descriptor() ([]byte, []int) {
|
||||
return file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDescGZIP(), []int{4}
|
||||
return file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetId() string {
|
||||
@@ -542,13 +686,6 @@ func (x *SessionRecording) GetScope() *scopes.ScopeInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetUser() *User {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetSessionId() string {
|
||||
if x != nil {
|
||||
return x.SessionId
|
||||
@@ -556,11 +693,11 @@ func (x *SessionRecording) GetSessionId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetTarget() *Target {
|
||||
func (x *SessionRecording) GetStorageBucketId() string {
|
||||
if x != nil {
|
||||
return x.Target
|
||||
return x.StorageBucketId
|
||||
}
|
||||
return nil
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetBytesUp() uint64 {
|
||||
@@ -626,6 +763,13 @@ func (x *SessionRecording) GetConnectionRecordings() []*ConnectionRecording {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetCreateTimeValues() *ValuesAtTime {
|
||||
if x != nil {
|
||||
return x.CreateTimeValues
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SessionRecording) GetAuthorizedActions() []string {
|
||||
if x != nil {
|
||||
return x.AuthorizedActions
|
||||
@@ -697,91 +841,120 @@ var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_r
|
||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x04, 0x55, 0x73,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x04, 0x55, 0x73,
|
||||
0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||
0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
|
||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c,
|
||||
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x75, 0x6c,
|
||||
0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x05,
|
||||
0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73,
|
||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70,
|
||||
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x22, 0x9f, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65,
|
||||
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
|
||||
0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
|
||||
0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
|
||||
0x5f, 0x69, 0x64, 0x22, 0x9e, 0x06, 0x0a, 0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70,
|
||||
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f,
|
||||
0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x80, 0x04,
|
||||
0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f,
|
||||
0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x47, 0x0a,
|
||||
0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73,
|
||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72,
|
||||
0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
||||
0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||
0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74,
|
||||
0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x75,
|
||||
0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x75,
|
||||
0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x77,
|
||||
0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
|
||||
0x08, 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, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a,
|
||||
0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x08, 0x65, 0x6e, 0x64,
|
||||
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09,
|
||||
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 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, 0x09, 0x64, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69,
|
||||
0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x15, 0x63, 0x6f,
|
||||
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
|
||||
0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x15, 0x63,
|
||||
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09,
|
||||
0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x42, 0x66, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75,
|
||||
0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
|
||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
|
||||
0x61, 0x78, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65,
|
||||
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
|
||||
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
|
||||
0x74, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74,
|
||||
0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
|
||||
0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x6f,
|
||||
0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x69,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x69,
|
||||
0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x69, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
|
||||
0x72, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
|
||||
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
|
||||
0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41,
|
||||
0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x74, 0x74,
|
||||
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73,
|
||||
0x22, 0x39, 0x0a, 0x13, 0x53, 0x73, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74,
|
||||
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75,
|
||||
0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64,
|
||||
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x0c,
|
||||
0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x04,
|
||||
0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f,
|
||||
0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
||||
0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
|
||||
0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
|
||||
0x72, 0x67, 0x65, 0x74, 0x22, 0xa1, 0x06, 0x0a, 0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f,
|
||||
0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
|
||||
0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63,
|
||||
0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1e,
|
||||
0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x2c,
|
||||
0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61,
|
||||
0x67, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
|
||||
0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65,
|
||||
0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x79,
|
||||
0x74, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
|
||||
0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x08, 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, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08,
|
||||
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x6e,
|
||||
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, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18,
|
||||
0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
||||
0x73, 0x12, 0x78, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
|
||||
0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x42, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x69, 0x6e, 0x67, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6b, 0x0a, 0x12, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x41, 0x74,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68,
|
||||
0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f,
|
||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
|
||||
0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x66, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68,
|
||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70,
|
||||
0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62,
|
||||
0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x73, 0x65,
|
||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -796,40 +969,44 @@ func file_controller_api_resources_sessionrecordings_v1_session_recording_proto_
|
||||
return file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_goTypes = []interface{}{
|
||||
(*ChannelRecording)(nil), // 0: controller.api.resources.sessionrecordings.v1.ChannelRecording
|
||||
(*ConnectionRecording)(nil), // 1: controller.api.resources.sessionrecordings.v1.ConnectionRecording
|
||||
(*User)(nil), // 2: controller.api.resources.sessionrecordings.v1.User
|
||||
(*Target)(nil), // 3: controller.api.resources.sessionrecordings.v1.Target
|
||||
(*SessionRecording)(nil), // 4: controller.api.resources.sessionrecordings.v1.SessionRecording
|
||||
(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
|
||||
(*durationpb.Duration)(nil), // 6: google.protobuf.Duration
|
||||
(*scopes.ScopeInfo)(nil), // 7: controller.api.resources.scopes.v1.ScopeInfo
|
||||
(*SshTargetAttributes)(nil), // 4: controller.api.resources.sessionrecordings.v1.SshTargetAttributes
|
||||
(*ValuesAtTime)(nil), // 5: controller.api.resources.sessionrecordings.v1.ValuesAtTime
|
||||
(*SessionRecording)(nil), // 6: controller.api.resources.sessionrecordings.v1.SessionRecording
|
||||
(*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp
|
||||
(*durationpb.Duration)(nil), // 8: google.protobuf.Duration
|
||||
(*scopes.ScopeInfo)(nil), // 9: controller.api.resources.scopes.v1.ScopeInfo
|
||||
}
|
||||
var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_depIdxs = []int32{
|
||||
5, // 0: controller.api.resources.sessionrecordings.v1.ChannelRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
5, // 1: controller.api.resources.sessionrecordings.v1.ChannelRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
6, // 2: controller.api.resources.sessionrecordings.v1.ChannelRecording.duration:type_name -> google.protobuf.Duration
|
||||
5, // 3: controller.api.resources.sessionrecordings.v1.ConnectionRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
5, // 4: controller.api.resources.sessionrecordings.v1.ConnectionRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
6, // 5: controller.api.resources.sessionrecordings.v1.ConnectionRecording.duration:type_name -> google.protobuf.Duration
|
||||
7, // 0: controller.api.resources.sessionrecordings.v1.ChannelRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
7, // 1: controller.api.resources.sessionrecordings.v1.ChannelRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
8, // 2: controller.api.resources.sessionrecordings.v1.ChannelRecording.duration:type_name -> google.protobuf.Duration
|
||||
7, // 3: controller.api.resources.sessionrecordings.v1.ConnectionRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
7, // 4: controller.api.resources.sessionrecordings.v1.ConnectionRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
8, // 5: controller.api.resources.sessionrecordings.v1.ConnectionRecording.duration:type_name -> google.protobuf.Duration
|
||||
0, // 6: controller.api.resources.sessionrecordings.v1.ConnectionRecording.channel_recordings:type_name -> controller.api.resources.sessionrecordings.v1.ChannelRecording
|
||||
7, // 7: controller.api.resources.sessionrecordings.v1.User.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
7, // 8: controller.api.resources.sessionrecordings.v1.Target.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
7, // 9: controller.api.resources.sessionrecordings.v1.SessionRecording.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
2, // 10: controller.api.resources.sessionrecordings.v1.SessionRecording.user:type_name -> controller.api.resources.sessionrecordings.v1.User
|
||||
3, // 11: controller.api.resources.sessionrecordings.v1.SessionRecording.target:type_name -> controller.api.resources.sessionrecordings.v1.Target
|
||||
5, // 12: controller.api.resources.sessionrecordings.v1.SessionRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
5, // 13: controller.api.resources.sessionrecordings.v1.SessionRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
6, // 14: controller.api.resources.sessionrecordings.v1.SessionRecording.duration:type_name -> google.protobuf.Duration
|
||||
5, // 15: controller.api.resources.sessionrecordings.v1.SessionRecording.delete_on:type_name -> google.protobuf.Timestamp
|
||||
1, // 16: controller.api.resources.sessionrecordings.v1.SessionRecording.connection_recordings:type_name -> controller.api.resources.sessionrecordings.v1.ConnectionRecording
|
||||
17, // [17:17] is the sub-list for method output_type
|
||||
17, // [17:17] is the sub-list for method input_type
|
||||
17, // [17:17] is the sub-list for extension type_name
|
||||
17, // [17:17] is the sub-list for extension extendee
|
||||
0, // [0:17] is the sub-list for field type_name
|
||||
9, // 7: controller.api.resources.sessionrecordings.v1.User.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
9, // 8: controller.api.resources.sessionrecordings.v1.Target.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
4, // 9: controller.api.resources.sessionrecordings.v1.Target.attributes:type_name -> controller.api.resources.sessionrecordings.v1.SshTargetAttributes
|
||||
2, // 10: controller.api.resources.sessionrecordings.v1.ValuesAtTime.user:type_name -> controller.api.resources.sessionrecordings.v1.User
|
||||
3, // 11: controller.api.resources.sessionrecordings.v1.ValuesAtTime.target:type_name -> controller.api.resources.sessionrecordings.v1.Target
|
||||
9, // 12: controller.api.resources.sessionrecordings.v1.SessionRecording.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
|
||||
7, // 13: controller.api.resources.sessionrecordings.v1.SessionRecording.start_time:type_name -> google.protobuf.Timestamp
|
||||
7, // 14: controller.api.resources.sessionrecordings.v1.SessionRecording.end_time:type_name -> google.protobuf.Timestamp
|
||||
8, // 15: controller.api.resources.sessionrecordings.v1.SessionRecording.duration:type_name -> google.protobuf.Duration
|
||||
7, // 16: controller.api.resources.sessionrecordings.v1.SessionRecording.delete_on:type_name -> google.protobuf.Timestamp
|
||||
1, // 17: controller.api.resources.sessionrecordings.v1.SessionRecording.connection_recordings:type_name -> controller.api.resources.sessionrecordings.v1.ConnectionRecording
|
||||
5, // 18: controller.api.resources.sessionrecordings.v1.SessionRecording.create_time_values:type_name -> controller.api.resources.sessionrecordings.v1.ValuesAtTime
|
||||
19, // [19:19] is the sub-list for method output_type
|
||||
19, // [19:19] is the sub-list for method input_type
|
||||
19, // [19:19] is the sub-list for extension type_name
|
||||
19, // [19:19] is the sub-list for extension extendee
|
||||
0, // [0:19] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_controller_api_resources_sessionrecordings_v1_session_recording_proto_init() }
|
||||
@@ -887,6 +1064,30 @@ func file_controller_api_resources_sessionrecordings_v1_session_recording_proto_
|
||||
}
|
||||
}
|
||||
file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SshTargetAttributes); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ValuesAtTime); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SessionRecording); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -899,13 +1100,16 @@ func file_controller_api_resources_sessionrecordings_v1_session_recording_proto_
|
||||
}
|
||||
}
|
||||
}
|
||||
file_controller_api_resources_sessionrecordings_v1_session_recording_proto_msgTypes[3].OneofWrappers = []interface{}{
|
||||
(*Target_Attributes)(nil),
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 5,
|
||||
NumMessages: 7,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user