diff --git a/internal/gen/controller.swagger.json b/internal/gen/controller.swagger.json index 3932f9228..69e8a0291 100644 --- a/internal/gen/controller.swagger.json +++ b/internal/gen/controller.swagger.json @@ -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": { diff --git a/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto b/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto index 9e6d53ede..06dc99bfb 100644 --- a/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto +++ b/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto @@ -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" diff --git a/sdk/pbs/controller/api/resources/session_recordings/session_recording.pb.go b/sdk/pbs/controller/api/resources/session_recordings/session_recording.pb.go index 6d620788c..4c2382afe 100644 --- a/sdk/pbs/controller/api/resources/session_recordings/session_recording.pb.go +++ b/sdk/pbs/controller/api/resources/session_recordings/session_recording.pb.go @@ -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, },