diff --git a/api/sessionrecordings/session_recording.gen.go b/api/sessionrecordings/session_recording.gen.go index da00e7fd3d..1b3da46de8 100644 --- a/api/sessionrecordings/session_recording.gen.go +++ b/api/sessionrecordings/session_recording.gen.go @@ -36,6 +36,8 @@ type SessionRecording struct { ConnectionRecordings []*ConnectionRecording `json:"connection_recordings,omitempty"` CreateTimeValues *ValuesAtTime `json:"create_time_values,omitempty"` AuthorizedActions []string `json:"authorized_actions,omitempty"` + RetainUntil time.Time `json:"retain_until,omitempty"` + DeleteAfter time.Time `json:"delete_after,omitempty"` response *api.Response } diff --git a/globals/fields.go b/globals/fields.go index f4b22fc341..c94489197d 100644 --- a/globals/fields.go +++ b/globals/fields.go @@ -116,4 +116,6 @@ const ( CreateTimeValues = "create_time_values" DefaultPortField = "default_port" StoragePolicyIdField = "storage_policy_id" + RetainUntilField = "retain_until" + DeleteAfterField = "delete_after" ) diff --git a/internal/gen/controller.swagger.json b/internal/gen/controller.swagger.json index 092c25ddda..5ffd6452bc 100644 --- a/internal/gen/controller.swagger.json +++ b/internal/gen/controller.swagger.json @@ -6509,6 +6509,16 @@ "type": "string" }, "description": "The available actions on this resource for this user." + }, + "retain_until": { + "type": "string", + "format": "date-time", + "description": "The time until a session recording is required to be stored." + }, + "delete_after": { + "type": "string", + "format": "date-time", + "description": "The time a session recording is scheduled to be automatically deleted." } }, "description": "SessionRecording contains information about the recording of a Session." 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 e8a170c27d..c702e41d5f 100644 --- a/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto +++ b/internal/proto/controller/api/resources/sessionrecordings/v1/session_recording.proto @@ -504,4 +504,10 @@ message SessionRecording { // The available actions on this resource for this user. repeated string authorized_actions = 19 [json_name = "authorized_actions"]; // @gotags: class:"public" + + // The time until a session recording is required to be stored. + google.protobuf.Timestamp retain_until = 20 [json_name = "retain_until"]; // @gotags: class:"public" + + // The time a session recording is scheduled to be automatically deleted. + google.protobuf.Timestamp delete_after = 21 [json_name = "delete_after"]; // @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 7aa2c6233d..4160f7d639 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 @@ -1952,6 +1952,10 @@ type SessionRecording struct { CreateTimeValues *ValuesAtTime `protobuf:"bytes,18,opt,name=create_time_values,proto3" json:"create_time_values,omitempty" class:"public"` // @gotags: class:"public" // The available actions on this resource for this user. AuthorizedActions []string `protobuf:"bytes,19,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: class:"public" + // The time until a session recording is required to be stored. + RetainUntil *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=retain_until,proto3" json:"retain_until,omitempty" class:"public"` // @gotags: class:"public" + // The time a session recording is scheduled to be automatically deleted. + DeleteAfter *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=delete_after,proto3" json:"delete_after,omitempty" class:"public"` // @gotags: class:"public" } func (x *SessionRecording) Reset() { @@ -2119,6 +2123,20 @@ func (x *SessionRecording) GetAuthorizedActions() []string { return nil } +func (x *SessionRecording) GetRetainUntil() *timestamppb.Timestamp { + if x != nil { + return x.RetainUntil + } + return nil +} + +func (x *SessionRecording) GetDeleteAfter() *timestamppb.Timestamp { + if x != nil { + return x.DeleteAfter + } + return nil +} + var File_controller_api_resources_sessionrecordings_v1_session_recording_proto protoreflect.FileDescriptor var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_rawDesc = []byte{ @@ -2564,7 +2582,7 @@ var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_r 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x22, 0xbe, 0x07, 0x0a, 0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x65, 0x73, 0x22, 0xbe, 0x08, 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, @@ -2624,7 +2642,15 @@ var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_r 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, 0x13, 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, + 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x6e, + 0x74, 0x69, 0x6c, 0x18, 0x14, 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, 0x0c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x6e, + 0x74, 0x69, 0x6c, 0x12, 0x3e, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x18, 0x15, 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, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x66, + 0x74, 0x65, 0x72, 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, @@ -2722,11 +2748,13 @@ var file_controller_api_resources_sessionrecordings_v1_session_recording_proto_d 22, // 44: controller.api.resources.sessionrecordings.v1.SessionRecording.duration:type_name -> google.protobuf.Duration 1, // 45: controller.api.resources.sessionrecordings.v1.SessionRecording.connection_recordings:type_name -> controller.api.resources.sessionrecordings.v1.ConnectionRecording 17, // 46: controller.api.resources.sessionrecordings.v1.SessionRecording.create_time_values:type_name -> controller.api.resources.sessionrecordings.v1.ValuesAtTime - 47, // [47:47] is the sub-list for method output_type - 47, // [47:47] is the sub-list for method input_type - 47, // [47:47] is the sub-list for extension type_name - 47, // [47:47] is the sub-list for extension extendee - 0, // [0:47] is the sub-list for field type_name + 21, // 47: controller.api.resources.sessionrecordings.v1.SessionRecording.retain_until:type_name -> google.protobuf.Timestamp + 21, // 48: controller.api.resources.sessionrecordings.v1.SessionRecording.delete_after:type_name -> google.protobuf.Timestamp + 49, // [49:49] is the sub-list for method output_type + 49, // [49:49] is the sub-list for method input_type + 49, // [49:49] is the sub-list for extension type_name + 49, // [49:49] is the sub-list for extension extendee + 0, // [0:49] is the sub-list for field type_name } func init() { file_controller_api_resources_sessionrecordings_v1_session_recording_proto_init() }