diff --git a/api/targets/option.gen.go b/api/targets/option.gen.go index 9431da413..3a55ba9d1 100644 --- a/api/targets/option.gen.go +++ b/api/targets/option.gen.go @@ -57,18 +57,6 @@ func DefaultAttributes() Option { } } -func WithConnectionIdleTimeoutSeconds(inConnectionIdleTimeoutSeconds uint32) Option { - return func(o *options) { - o.postMap["connection_idle_timeout_seconds"] = inConnectionIdleTimeoutSeconds - } -} - -func DefaultConnectionIdleTimeoutSeconds() Option { - return func(o *options) { - o.postMap["connection_idle_timeout_seconds"] = nil - } -} - func WithTcpTargetDefaultPort(inDefaultPort uint32) Option { return func(o *options) { raw, ok := o.postMap["attributes"] diff --git a/api/targets/target.gen.go b/api/targets/target.gen.go index 70080e3d1..e8131d2be 100644 --- a/api/targets/target.gen.go +++ b/api/targets/target.gen.go @@ -16,21 +16,20 @@ import ( ) type Target struct { - Id string `json:"id,omitempty"` - ScopeId string `json:"scope_id,omitempty"` - Scope *scopes.ScopeInfo `json:"scope,omitempty"` - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` - CreatedTime time.Time `json:"created_time,omitempty"` - UpdatedTime time.Time `json:"updated_time,omitempty"` - Version uint32 `json:"version,omitempty"` - Type string `json:"type,omitempty"` - HostSetIds []string `json:"host_set_ids,omitempty"` - HostSets []*HostSet `json:"host_sets,omitempty"` - SessionMaxSeconds uint32 `json:"session_max_seconds,omitempty"` - SessionConnectionLimit uint32 `json:"session_connection_limit,omitempty"` - ConnectionIdleTimeoutSeconds uint32 `json:"connection_idle_timeout_seconds,omitempty"` - Attributes map[string]interface{} `json:"attributes,omitempty"` + Id string `json:"id,omitempty"` + ScopeId string `json:"scope_id,omitempty"` + Scope *scopes.ScopeInfo `json:"scope,omitempty"` + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` + CreatedTime time.Time `json:"created_time,omitempty"` + UpdatedTime time.Time `json:"updated_time,omitempty"` + Version uint32 `json:"version,omitempty"` + Type string `json:"type,omitempty"` + HostSetIds []string `json:"host_set_ids,omitempty"` + HostSets []*HostSet `json:"host_sets,omitempty"` + SessionMaxSeconds uint32 `json:"session_max_seconds,omitempty"` + SessionConnectionLimit uint32 `json:"session_connection_limit,omitempty"` + Attributes map[string]interface{} `json:"attributes,omitempty"` responseBody *bytes.Buffer responseMap map[string]interface{} diff --git a/internal/cmd/commands/proxy/proxy.go b/internal/cmd/commands/proxy/proxy.go index 9faa31584..f60780b5a 100644 --- a/internal/cmd/commands/proxy/proxy.go +++ b/internal/cmd/commands/proxy/proxy.go @@ -289,8 +289,8 @@ func (c *Command) Run(args []string) int { transport := cleanhttp.DefaultTransport() transport.DisableKeepAlives = false transport.TLSClientConfig = tlsConf - // This isn't/shouldn't used anyways really because the connection is hijacked, just - // setting for completeness + // This isn't/shouldn't used anyways really because the connection is + // hijacked, just setting for completeness transport.IdleConnTimeout = 0 listener, err := net.ListenTCP("tcp", &net.TCPAddr{ diff --git a/internal/cmd/commands/targets/funcs.go b/internal/cmd/commands/targets/funcs.go index 6e6e2ec79..e6a1f9b02 100644 --- a/internal/cmd/commands/targets/funcs.go +++ b/internal/cmd/commands/targets/funcs.go @@ -13,15 +13,14 @@ func generateTargetTableOutput(in *targets.Target) string { var ret []string nonAttributeMap := map[string]interface{}{ - "ID": in.Id, - "Scope ID": in.Scope.Id, - "Version": in.Version, - "Type": in.Type, - "Created Time": in.CreatedTime.Local().Format(time.RFC3339), - "Updated Time": in.UpdatedTime.Local().Format(time.RFC3339), - "Connection Idle Timeout Seconds": in.ConnectionIdleTimeoutSeconds, - "Session Connection Limit": in.SessionConnectionLimit, - "Session Max Seconds": in.SessionMaxSeconds, + "ID": in.Id, + "Scope ID": in.Scope.Id, + "Version": in.Version, + "Type": in.Type, + "Created Time": in.CreatedTime.Local().Format(time.RFC3339), + "Updated Time": in.UpdatedTime.Local().Format(time.RFC3339), + "Session Connection Limit": in.SessionConnectionLimit, + "Session Max Seconds": in.SessionMaxSeconds, } if in.Name != "" { diff --git a/internal/cmd/commands/targets/tcp.go b/internal/cmd/commands/targets/tcp.go index 0f4a90376..898aff117 100644 --- a/internal/cmd/commands/targets/tcp.go +++ b/internal/cmd/commands/targets/tcp.go @@ -22,11 +22,10 @@ var _ cli.CommandAutocomplete = (*TcpCommand)(nil) type TcpCommand struct { *base.Command - Func string - flagDefaultPort string - flagSessionMaxSeconds string - flagSessionConnectionLimit string - flagConnectionIdleTimeoutSeconds string + Func string + flagDefaultPort string + flagSessionMaxSeconds string + flagSessionConnectionLimit string } func (c *TcpCommand) Synopsis() string { @@ -34,8 +33,8 @@ func (c *TcpCommand) Synopsis() string { } var tcpFlagsMap = map[string][]string{ - "create": {"scope-id", "name", "description", "default-port", "session-max-seconds", "session-connection-limit", "connection-idle-timeout-seconds"}, - "update": {"id", "name", "description", "version", "default-port", "session-max-seconds", "session-connection-limit", "connection-idle-timeout-seconds"}, + "create": {"scope-id", "name", "description", "default-port", "session-max-seconds", "session-connection-limit"}, + "update": {"id", "name", "description", "version", "default-port", "session-max-seconds", "session-connection-limit"}, } func (c *TcpCommand) Help() string { @@ -92,12 +91,6 @@ func (c *TcpCommand) Flags() *base.FlagSets { Target: &c.flagSessionConnectionLimit, Usage: "The maximum number of connections allowed for a session. 0 means unlimited.", }) - case "connection-idle-timeout-seconds": - f.StringVar(&base.StringVar{ - Name: "connection-idle-timeout-seconds", - Target: &c.flagConnectionIdleTimeoutSeconds, - Usage: `Time period after which the connection will be disconnected if there is no network traffic. Can be specified as an integer number of seconds or a duration string. 0 means unlimited.`, - }) } } @@ -203,26 +196,6 @@ func (c *TcpCommand) Run(args []string) int { opts = append(opts, targets.WithSessionConnectionLimit(uint32(limit))) } - switch c.flagConnectionIdleTimeoutSeconds { - case "": - case "null": - opts = append(opts, targets.DefaultConnectionIdleTimeoutSeconds()) - default: - var final uint32 - dur, err := strconv.ParseUint(c.flagConnectionIdleTimeoutSeconds, 10, 32) - if err == nil { - final = uint32(dur) - } else { - dur, err := time.ParseDuration(c.flagConnectionIdleTimeoutSeconds) - if err != nil { - c.UI.Error(fmt.Sprintf("Error parsing %q: %s", c.flagConnectionIdleTimeoutSeconds, err)) - return 1 - } - final = uint32(dur.Seconds()) - } - opts = append(opts, targets.WithConnectionIdleTimeoutSeconds(final)) - } - targetClient := targets.NewClient(client) // Perform check-and-set when needed diff --git a/internal/db/migrations/postgres.gen.go b/internal/db/migrations/postgres.gen.go index 794530060..32b16dbfe 100644 --- a/internal/db/migrations/postgres.gen.go +++ b/internal/db/migrations/postgres.gen.go @@ -3158,9 +3158,6 @@ create table target_tcp ( -- limit on number of session connections allowed. default of 0 equals no limit session_connection_limit int not null default 1 check(session_connection_limit >= 0), - -- connection idle timout in seconds. default of 0 equals no limit - connection_idle_timeout_seconds int not null default 0 - check(connection_idle_timeout_seconds >= 0), create_time wt_timestamp, update_time wt_timestamp, version wt_version, @@ -3217,7 +3214,6 @@ select default_port, session_max_seconds, session_connection_limit, - connection_idle_timeout_seconds, version, create_time, update_time, @@ -3410,9 +3406,6 @@ begin; -- limit on number of session connections allowed. default of 0 equals no limit connection_limit int not null default 1 check(connection_limit >= 0), - -- connection idle timout in seconds. default of 0 equals no limit - connection_idle_timeout_seconds int not null default 0 - check(connection_idle_timeout_seconds >= 0), -- trust of first use token tofu_token bytea, -- will be null when session is first created -- the reason this session ended (null until terminated) @@ -3435,7 +3428,7 @@ begin; immutable_columns before update on session - for each row execute procedure immutable_columns('public_id', 'certificate', 'expiration_time', 'connection_limit', 'create_time', 'endpoint', 'connection_idle_timeout_seconds'); + for each row execute procedure immutable_columns('public_id', 'certificate', 'expiration_time', 'connection_limit', 'create_time', 'endpoint'); create trigger update_version_column diff --git a/internal/db/migrations/postgres/41_targets.up.sql b/internal/db/migrations/postgres/41_targets.up.sql index d65c0318b..7664bcfbf 100644 --- a/internal/db/migrations/postgres/41_targets.up.sql +++ b/internal/db/migrations/postgres/41_targets.up.sql @@ -105,9 +105,6 @@ create table target_tcp ( -- limit on number of session connections allowed. default of 0 equals no limit session_connection_limit int not null default 1 check(session_connection_limit >= 0), - -- connection idle timout in seconds. default of 0 equals no limit - connection_idle_timeout_seconds int not null default 0 - check(connection_idle_timeout_seconds >= 0), create_time wt_timestamp, update_time wt_timestamp, version wt_version, @@ -164,7 +161,6 @@ select default_port, session_max_seconds, session_connection_limit, - connection_idle_timeout_seconds, version, create_time, update_time, diff --git a/internal/db/migrations/postgres/50_session.up.sql b/internal/db/migrations/postgres/50_session.up.sql index b63ecd529..d56101992 100644 --- a/internal/db/migrations/postgres/50_session.up.sql +++ b/internal/db/migrations/postgres/50_session.up.sql @@ -134,9 +134,6 @@ begin; -- limit on number of session connections allowed. default of 0 equals no limit connection_limit int not null default 1 check(connection_limit >= 0), - -- connection idle timout in seconds. default of 0 equals no limit - connection_idle_timeout_seconds int not null default 0 - check(connection_idle_timeout_seconds >= 0), -- trust of first use token tofu_token bytea, -- will be null when session is first created -- the reason this session ended (null until terminated) @@ -159,7 +156,7 @@ begin; immutable_columns before update on session - for each row execute procedure immutable_columns('public_id', 'certificate', 'expiration_time', 'connection_limit', 'create_time', 'endpoint', 'connection_idle_timeout_seconds'); + for each row execute procedure immutable_columns('public_id', 'certificate', 'expiration_time', 'connection_limit', 'create_time', 'endpoint'); create trigger update_version_column diff --git a/internal/gen/controller.swagger.json b/internal/gen/controller.swagger.json index 258ad319c..f9b15bcbd 100644 --- a/internal/gen/controller.swagger.json +++ b/internal/gen/controller.swagger.json @@ -3014,11 +3014,6 @@ "format": "int64", "title": "Maximum number of connections in a session" }, - "connection_idle_timeout_seconds": { - "type": "integer", - "format": "int64", - "title": "Idle timeout for a connection in the session, in seconds" - }, "attributes": { "type": "object", "description": "The attributes that are applied for the specific Target type." diff --git a/internal/gen/controller/api/resources/targets/target.pb.go b/internal/gen/controller/api/resources/targets/target.pb.go index b0a5605b2..3876482e5 100644 --- a/internal/gen/controller/api/resources/targets/target.pb.go +++ b/internal/gen/controller/api/resources/targets/target.pb.go @@ -123,8 +123,6 @@ type Target struct { SessionMaxSeconds *wrappers.UInt32Value `protobuf:"bytes,120,opt,name=session_max_seconds,json=sessionMaxSeconds,proto3" json:"session_max_seconds,omitempty"` // Maximum number of connections in a session SessionConnectionLimit *wrappers.UInt32Value `protobuf:"bytes,130,opt,name=session_connection_limit,json=sessionConnectionLimit,proto3" json:"session_connection_limit,omitempty"` - // Idle timeout for a connection in the session, in seconds - ConnectionIdleTimeoutSeconds *wrappers.UInt32Value `protobuf:"bytes,140,opt,name=connection_idle_timeout_seconds,json=connectionIdleTimeoutSeconds,proto3" json:"connection_idle_timeout_seconds,omitempty"` // The attributes that are applied for the specific Target type. Attributes *_struct.Struct `protobuf:"bytes,200,opt,name=attributes,proto3" json:"attributes,omitempty"` } @@ -252,13 +250,6 @@ func (x *Target) GetSessionConnectionLimit() *wrappers.UInt32Value { return nil } -func (x *Target) GetConnectionIdleTimeoutSeconds() *wrappers.UInt32Value { - if x != nil { - return x.ConnectionIdleTimeoutSeconds - } - return nil -} - func (x *Target) GetAttributes() *_struct.Struct { if x != nil { return x.Attributes @@ -614,7 +605,7 @@ var file_controller_api_resources_targets_v1_target_proto_rawDesc = []byte{ 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, - 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0xc6, 0x08, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0x96, 0x07, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, @@ -667,18 +658,7 @@ var file_controller_api_resources_targets_v1_target_proto_rawDesc = []byte{ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0xad, - 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x47, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, - 0x3f, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x12, 0x1c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x52, 0x1c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3e, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, 0xa0, 0xda, @@ -780,19 +760,18 @@ var file_controller_api_resources_targets_v1_target_proto_depIdxs = []int32{ 0, // 5: controller.api.resources.targets.v1.Target.host_sets:type_name -> controller.api.resources.targets.v1.HostSet 9, // 6: controller.api.resources.targets.v1.Target.session_max_seconds:type_name -> google.protobuf.UInt32Value 9, // 7: controller.api.resources.targets.v1.Target.session_connection_limit:type_name -> google.protobuf.UInt32Value - 9, // 8: controller.api.resources.targets.v1.Target.connection_idle_timeout_seconds:type_name -> google.protobuf.UInt32Value - 10, // 9: controller.api.resources.targets.v1.Target.attributes:type_name -> google.protobuf.Struct - 9, // 10: controller.api.resources.targets.v1.TcpTargetAttributes.default_port:type_name -> google.protobuf.UInt32Value - 6, // 11: controller.api.resources.targets.v1.SessionAuthorizationData.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo - 8, // 12: controller.api.resources.targets.v1.SessionAuthorizationData.created_time:type_name -> google.protobuf.Timestamp - 3, // 13: controller.api.resources.targets.v1.SessionAuthorizationData.worker_info:type_name -> controller.api.resources.targets.v1.WorkerInfo - 6, // 14: controller.api.resources.targets.v1.SessionAuthorization.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo - 8, // 15: controller.api.resources.targets.v1.SessionAuthorization.created_time:type_name -> google.protobuf.Timestamp - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 10, // 8: controller.api.resources.targets.v1.Target.attributes:type_name -> google.protobuf.Struct + 9, // 9: controller.api.resources.targets.v1.TcpTargetAttributes.default_port:type_name -> google.protobuf.UInt32Value + 6, // 10: controller.api.resources.targets.v1.SessionAuthorizationData.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo + 8, // 11: controller.api.resources.targets.v1.SessionAuthorizationData.created_time:type_name -> google.protobuf.Timestamp + 3, // 12: controller.api.resources.targets.v1.SessionAuthorizationData.worker_info:type_name -> controller.api.resources.targets.v1.WorkerInfo + 6, // 13: controller.api.resources.targets.v1.SessionAuthorization.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo + 8, // 14: controller.api.resources.targets.v1.SessionAuthorization.created_time:type_name -> google.protobuf.Timestamp + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_controller_api_resources_targets_v1_target_proto_init() } diff --git a/internal/gen/controller/servers/services/session_service.pb.go b/internal/gen/controller/servers/services/session_service.pb.go index 3e3276b5e..a57e8b8bf 100644 --- a/internal/gen/controller/servers/services/session_service.pb.go +++ b/internal/gen/controller/servers/services/session_service.pb.go @@ -87,12 +87,11 @@ type LookupSessionResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Authorization *targets.SessionAuthorizationData `protobuf:"bytes,10,opt,name=authorization,proto3" json:"authorization,omitempty"` - TofuToken string `protobuf:"bytes,20,opt,name=tofu_token,json=tofuToken,proto3" json:"tofu_token,omitempty"` - Version uint32 `protobuf:"varint,30,opt,name=version,proto3" json:"version,omitempty"` - Endpoint string `protobuf:"bytes,40,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - Expiration *timestamp.Timestamp `protobuf:"bytes,50,opt,name=expiration,proto3" json:"expiration,omitempty"` - ConnectionIdleTimeoutSeconds uint32 `protobuf:"varint,60,opt,name=connection_idle_timeout_seconds,json=connectionIdleTimeoutSeconds,proto3" json:"connection_idle_timeout_seconds,omitempty"` + Authorization *targets.SessionAuthorizationData `protobuf:"bytes,10,opt,name=authorization,proto3" json:"authorization,omitempty"` + TofuToken string `protobuf:"bytes,20,opt,name=tofu_token,json=tofuToken,proto3" json:"tofu_token,omitempty"` + Version uint32 `protobuf:"varint,30,opt,name=version,proto3" json:"version,omitempty"` + Endpoint string `protobuf:"bytes,40,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Expiration *timestamp.Timestamp `protobuf:"bytes,50,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *LookupSessionResponse) Reset() { @@ -162,13 +161,6 @@ func (x *LookupSessionResponse) GetExpiration() *timestamp.Timestamp { return nil } -func (x *LookupSessionResponse) GetConnectionIdleTimeoutSeconds() uint32 { - if x != nil { - return x.ConnectionIdleTimeoutSeconds - } - return 0 -} - type ActivateSessionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -297,7 +289,7 @@ var file_controller_servers_services_v1_session_service_proto_rawDesc = []byte{ 0x0a, 0x14, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd4, 0x02, 0x0a, 0x15, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x15, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, @@ -314,45 +306,41 @@ var file_controller_servers_services_v1_session_service_proto_rawDesc = []byte{ 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, 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, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x8d, 0x01, 0x0a, - 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x66, 0x75, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x66, 0x75, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x28, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x97, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x42, 0x51, 0x5a, 0x4f, 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, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x66, 0x75, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x66, 0x75, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0x97, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, + 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x51, 0x5a, 0x4f, 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, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/proto/local/controller/api/resources/targets/v1/target.proto b/internal/proto/local/controller/api/resources/targets/v1/target.proto index 622e37a9e..b390aa8b9 100644 --- a/internal/proto/local/controller/api/resources/targets/v1/target.proto +++ b/internal/proto/local/controller/api/resources/targets/v1/target.proto @@ -62,9 +62,6 @@ message Target { // Maximum number of connections in a session google.protobuf.UInt32Value session_connection_limit = 130 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"session_connection_limit" that: "SessionConnectionLimit"}]; - // Idle timeout for a connection in the session, in seconds - google.protobuf.UInt32Value connection_idle_timeout_seconds = 140 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"connection_idle_timeout_seconds" that: "ConnectionIdleTimeoutSeconds"}]; - // The attributes that are applied for the specific Target type. google.protobuf.Struct attributes = 200 [(custom_options.v1.generate_sdk_option) = true]; } diff --git a/internal/proto/local/controller/servers/services/v1/session_service.proto b/internal/proto/local/controller/servers/services/v1/session_service.proto index 0d09ffec9..bcf42971f 100644 --- a/internal/proto/local/controller/servers/services/v1/session_service.proto +++ b/internal/proto/local/controller/servers/services/v1/session_service.proto @@ -30,7 +30,6 @@ message LookupSessionResponse { uint32 version = 30; string endpoint = 40; google.protobuf.Timestamp expiration = 50; - uint32 connection_idle_timeout_seconds = 60; } message ActivateSessionRequest { diff --git a/internal/proto/local/controller/storage/target/store/v1/target.proto b/internal/proto/local/controller/storage/target/store/v1/target.proto index 9d7f66c22..0abfb2fb4 100644 --- a/internal/proto/local/controller/storage/target/store/v1/target.proto +++ b/internal/proto/local/controller/storage/target/store/v1/target.proto @@ -53,10 +53,6 @@ message TargetView { // Maximum number of connections in a session // @inject_tag: `gorm:"default:null"` uint32 session_connection_limit = 110; - - // Idle timeout for a connection in the session, in seconds - // @inject_tag: `gorm:"default:null"` - uint32 connection_idle_timeout_seconds = 120; } message TargetHostSet { @@ -128,11 +124,4 @@ message TcpTarget { this: "SessionConnectionLimit" that: "session_connection_limit" }]; - - // Idle timeout for a connection in the session, in seconds - // @inject_tag: `gorm:"default:null"` - uint32 connection_idle_timeout_seconds = 120 [(custom_options.v1.mask_mapping) = { - this: "ConnectionIdleTimeoutSeconds" - that: "connection_idle_timeout_seconds" - }]; } \ No newline at end of file diff --git a/internal/servers/controller/handlers/targets/target_service.go b/internal/servers/controller/handlers/targets/target_service.go index 83bfbf260..d278e7905 100644 --- a/internal/servers/controller/handlers/targets/target_service.go +++ b/internal/servers/controller/handlers/targets/target_service.go @@ -353,16 +353,15 @@ HOST_GATHERING_DONE: expTime := timestamppb.Now() expTime.Seconds += int64(t.GetSessionMaxSeconds()) sessionComposition := session.ComposedOf{ - UserId: authResults.UserId, - HostId: chosenId.hostId, - TargetId: t.GetPublicId(), - HostSetId: chosenId.hostSetId, - AuthTokenId: authResults.AuthTokenId, - ScopeId: authResults.Scope.Id, - Endpoint: endpointUrl.String(), - ExpirationTime: ×tamp.Timestamp{Timestamp: expTime}, - ConnectionLimit: t.GetSessionConnectionLimit(), - ConnectionIdleTimeoutSeconds: t.GetConnectionIdleTimeoutSeconds(), + UserId: authResults.UserId, + HostId: chosenId.hostId, + TargetId: t.GetPublicId(), + HostSetId: chosenId.hostSetId, + AuthTokenId: authResults.AuthTokenId, + ScopeId: authResults.Scope.Id, + Endpoint: endpointUrl.String(), + ExpirationTime: ×tamp.Timestamp{Timestamp: expTime}, + ConnectionLimit: t.GetSessionConnectionLimit(), } sess, err := session.New(sessionComposition) @@ -441,9 +440,6 @@ func (s Service) createInRepo(ctx context.Context, item *pb.Target) (*pb.Target, if item.GetSessionConnectionLimit() != nil { opts = append(opts, target.WithSessionConnectionLimit(item.GetSessionConnectionLimit().GetValue())) } - if item.GetConnectionIdleTimeoutSeconds() != nil { - opts = append(opts, target.WithConnectionIdleTimeoutSeconds(item.GetConnectionIdleTimeoutSeconds().GetValue())) - } tcpAttrs := &pb.TcpTargetAttributes{} if err := handlers.StructToProto(item.GetAttributes(), tcpAttrs); err != nil { return nil, status.Errorf(codes.InvalidArgument, "Provided attributes don't match expected format.") @@ -483,9 +479,6 @@ func (s Service) updateInRepo(ctx context.Context, scopeId, id string, mask []st if item.GetSessionConnectionLimit() != nil { opts = append(opts, target.WithSessionConnectionLimit(item.GetSessionConnectionLimit().GetValue())) } - if item.GetConnectionIdleTimeoutSeconds() != nil { - opts = append(opts, target.WithConnectionIdleTimeoutSeconds(item.GetConnectionIdleTimeoutSeconds().GetValue())) - } tcpAttrs := &pb.TcpTargetAttributes{} if err := handlers.StructToProto(item.GetAttributes(), tcpAttrs); err != nil { return nil, status.Errorf(codes.InvalidArgument, "Provided attributes don't match expected format.") @@ -652,15 +645,14 @@ func (s Service) authResult(ctx context.Context, id string, a action.Type) auth. func toProto(in target.Target, m []*target.TargetSet) (*pb.Target, error) { out := pb.Target{ - Id: in.GetPublicId(), - ScopeId: in.GetScopeId(), - CreatedTime: in.GetCreateTime().GetTimestamp(), - UpdatedTime: in.GetUpdateTime().GetTimestamp(), - Version: in.GetVersion(), - Type: target.TcpTargetType.String(), - SessionMaxSeconds: &wrapperspb.UInt32Value{Value: in.GetSessionMaxSeconds()}, - SessionConnectionLimit: &wrapperspb.UInt32Value{Value: in.GetSessionConnectionLimit()}, - ConnectionIdleTimeoutSeconds: &wrapperspb.UInt32Value{Value: in.GetConnectionIdleTimeoutSeconds()}, + Id: in.GetPublicId(), + ScopeId: in.GetScopeId(), + CreatedTime: in.GetCreateTime().GetTimestamp(), + UpdatedTime: in.GetUpdateTime().GetTimestamp(), + Version: in.GetVersion(), + Type: target.TcpTargetType.String(), + SessionMaxSeconds: &wrapperspb.UInt32Value{Value: in.GetSessionMaxSeconds()}, + SessionConnectionLimit: &wrapperspb.UInt32Value{Value: in.GetSessionConnectionLimit()}, } if in.GetDescription() != "" { out.Description = wrapperspb.String(in.GetDescription()) diff --git a/internal/servers/controller/handlers/targets/target_service_test.go b/internal/servers/controller/handlers/targets/target_service_test.go index cb2b6f5b7..a6fea808a 100644 --- a/internal/servers/controller/handlers/targets/target_service_test.go +++ b/internal/servers/controller/handlers/targets/target_service_test.go @@ -68,18 +68,17 @@ func TestGet(t *testing.T) { tar := target.TestTcpTarget(t, conn, proj.GetPublicId(), "test", target.WithHostSets([]string{hs[0].GetPublicId(), hs[1].GetPublicId()})) pTar := &pb.Target{ - Id: tar.GetPublicId(), - ScopeId: proj.GetPublicId(), - Name: wrapperspb.String("test"), - CreatedTime: tar.CreateTime.GetTimestamp(), - UpdatedTime: tar.UpdateTime.GetTimestamp(), - Scope: &scopes.ScopeInfo{Id: proj.GetPublicId(), Type: scope.Project.String()}, - Type: target.TcpTargetType.String(), - HostSetIds: []string{hs[0].GetPublicId(), hs[1].GetPublicId()}, - Attributes: new(structpb.Struct), - SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, - ConnectionIdleTimeoutSeconds: &wrapperspb.UInt32Value{Value: 3600}, - SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, + Id: tar.GetPublicId(), + ScopeId: proj.GetPublicId(), + Name: wrapperspb.String("test"), + CreatedTime: tar.CreateTime.GetTimestamp(), + UpdatedTime: tar.UpdateTime.GetTimestamp(), + Scope: &scopes.ScopeInfo{Id: proj.GetPublicId(), Type: scope.Project.String()}, + Type: target.TcpTargetType.String(), + HostSetIds: []string{hs[0].GetPublicId(), hs[1].GetPublicId()}, + Attributes: new(structpb.Struct), + SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, + SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, } for _, ihs := range hs { pTar.HostSets = append(pTar.HostSets, &pb.HostSet{Id: ihs.GetPublicId(), HostCatalogId: ihs.GetCatalogId()}) @@ -149,18 +148,17 @@ func TestList(t *testing.T) { name := fmt.Sprintf("tar%d", i) tar := target.TestTcpTarget(t, conn, proj.GetPublicId(), name, target.WithHostSets([]string{hss[0].GetPublicId(), hss[1].GetPublicId()})) wantTars = append(wantTars, &pb.Target{ - Id: tar.GetPublicId(), - ScopeId: proj.GetPublicId(), - Name: wrapperspb.String(name), - Scope: &scopes.ScopeInfo{Id: proj.GetPublicId(), Type: scope.Project.String()}, - CreatedTime: tar.GetCreateTime().GetTimestamp(), - UpdatedTime: tar.GetUpdateTime().GetTimestamp(), - Version: tar.GetVersion(), - Type: target.TcpTargetType.String(), - Attributes: new(structpb.Struct), - SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, - ConnectionIdleTimeoutSeconds: &wrapperspb.UInt32Value{Value: 3600}, - SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, + Id: tar.GetPublicId(), + ScopeId: proj.GetPublicId(), + Name: wrapperspb.String(name), + Scope: &scopes.ScopeInfo{Id: proj.GetPublicId(), Type: scope.Project.String()}, + CreatedTime: tar.GetCreateTime().GetTimestamp(), + UpdatedTime: tar.GetUpdateTime().GetTimestamp(), + Version: tar.GetVersion(), + Type: target.TcpTargetType.String(), + Attributes: new(structpb.Struct), + SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, + SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, }) } @@ -310,9 +308,8 @@ func TestCreate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, - ConnectionIdleTimeoutSeconds: &wrapperspb.UInt32Value{Value: 3600}, - SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, + SessionMaxSeconds: &wrapperspb.UInt32Value{Value: 28800}, + SessionConnectionLimit: &wrapperspb.UInt32Value{Value: 1}, }, }, errCode: codes.OK, @@ -455,14 +452,13 @@ func TestUpdate(t *testing.T) { name: "Update an Existing Target", req: &pbs.UpdateTargetRequest{ UpdateMask: &field_mask.FieldMask{ - Paths: []string{"name", "description", "session_max_seconds", "connection_idle_timeout_seconds", "session_connection_limit"}, + Paths: []string{"name", "description", "session_max_seconds", "session_connection_limit"}, }, Item: &pb.Target{ - Name: wrapperspb.String("name"), - Description: wrapperspb.String("desc"), - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + Name: wrapperspb.String("name"), + Description: wrapperspb.String("desc"), + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, res: &pbs.UpdateTargetResponse{ @@ -476,12 +472,11 @@ func TestUpdate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - CreatedTime: tar.GetCreateTime().GetTimestamp(), - HostSetIds: hsIds, - HostSets: hostSets, - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + CreatedTime: tar.GetCreateTime().GetTimestamp(), + HostSetIds: hsIds, + HostSets: hostSets, + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, errCode: codes.OK, @@ -509,11 +504,10 @@ func TestUpdate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - HostSetIds: hsIds, - HostSets: hostSets, - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + HostSetIds: hsIds, + HostSets: hostSets, + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, errCode: codes.OK, @@ -595,11 +589,10 @@ func TestUpdate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - HostSetIds: hsIds, - HostSets: hostSets, - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + HostSetIds: hsIds, + HostSets: hostSets, + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, errCode: codes.OK, @@ -627,11 +620,10 @@ func TestUpdate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - HostSetIds: hsIds, - HostSets: hostSets, - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + HostSetIds: hsIds, + HostSets: hostSets, + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, errCode: codes.OK, @@ -658,12 +650,11 @@ func TestUpdate(t *testing.T) { Attributes: &structpb.Struct{Fields: map[string]*structpb.Value{ "default_port": structpb.NewNumberValue(2), }}, - Type: target.TcpTargetType.String(), - HostSetIds: hsIds, - HostSets: hostSets, - SessionMaxSeconds: wrapperspb.UInt32(3600), - ConnectionIdleTimeoutSeconds: wrapperspb.UInt32(180), - SessionConnectionLimit: wrapperspb.UInt32(5), + Type: target.TcpTargetType.String(), + HostSetIds: hsIds, + HostSets: hostSets, + SessionMaxSeconds: wrapperspb.UInt32(3600), + SessionConnectionLimit: wrapperspb.UInt32(5), }, }, errCode: codes.OK, diff --git a/internal/servers/controller/handlers/workers/worker_service.go b/internal/servers/controller/handlers/workers/worker_service.go index d4a656304..fc860d56f 100644 --- a/internal/servers/controller/handlers/workers/worker_service.go +++ b/internal/servers/controller/handlers/workers/worker_service.go @@ -99,11 +99,10 @@ func (ws *workerServiceServer) LookupSession(ctx context.Context, req *pbs.Looku SessionId: sessionInfo.GetPublicId(), Certificate: sessionInfo.Certificate, }, - Version: sessionInfo.Version, - TofuToken: base64.StdEncoding.EncodeToString(sessionInfo.TofuToken), - Endpoint: sessionInfo.Endpoint, - Expiration: sessionInfo.ExpirationTime.Timestamp, - ConnectionIdleTimeoutSeconds: sessionInfo.ConnectionIdleTimeoutSeconds, + Version: sessionInfo.Version, + TofuToken: base64.StdEncoding.EncodeToString(sessionInfo.TofuToken), + Endpoint: sessionInfo.Endpoint, + Expiration: sessionInfo.ExpirationTime.Timestamp, } wrapper, err := ws.kms.GetWrapper(ctx, sessionInfo.ScopeId, kms.KeyPurposeSessions) diff --git a/internal/session/repository_session_test.go b/internal/session/repository_session_test.go index 72a41fbfe..7fbb153bd 100644 --- a/internal/session/repository_session_test.go +++ b/internal/session/repository_session_test.go @@ -237,16 +237,15 @@ func TestRepository_CreateSession(t *testing.T) { t.Run(tt.name, func(t *testing.T) { assert, require := assert.New(t), require.New(t) s := &Session{ - UserId: tt.args.composedOf.UserId, - HostId: tt.args.composedOf.HostId, - TargetId: tt.args.composedOf.TargetId, - HostSetId: tt.args.composedOf.HostSetId, - AuthTokenId: tt.args.composedOf.AuthTokenId, - ScopeId: tt.args.composedOf.ScopeId, - Endpoint: "tcp://127.0.0.1:22", - ExpirationTime: tt.args.composedOf.ExpirationTime, - ConnectionLimit: tt.args.composedOf.ConnectionLimit, - ConnectionIdleTimeoutSeconds: tt.args.composedOf.ConnectionIdleTimeoutSeconds, + UserId: tt.args.composedOf.UserId, + HostId: tt.args.composedOf.HostId, + TargetId: tt.args.composedOf.TargetId, + HostSetId: tt.args.composedOf.HostSetId, + AuthTokenId: tt.args.composedOf.AuthTokenId, + ScopeId: tt.args.composedOf.ScopeId, + Endpoint: "tcp://127.0.0.1:22", + ExpirationTime: tt.args.composedOf.ExpirationTime, + ConnectionLimit: tt.args.composedOf.ConnectionLimit, } ses, st, privKey, err := repo.CreateSession(context.Background(), wrapper, s) if tt.wantErr { diff --git a/internal/session/session.go b/internal/session/session.go index 100f3d2b4..99f5abb63 100644 --- a/internal/session/session.go +++ b/internal/session/session.go @@ -44,8 +44,6 @@ type ComposedOf struct { ExpirationTime *timestamp.Timestamp // Max connections for the session ConnectionLimit uint32 - // Idle timeout for each connection in the session - ConnectionIdleTimeoutSeconds uint32 } // Session contains information about a user's session with a target @@ -90,8 +88,6 @@ type Session struct { Endpoint string `json:"-" gorm:"default:null"` // Maximum number of connections in a session ConnectionLimit uint32 `json:"connection_limit,omitempty" gorm:"default:null"` - // Time after which a connection idles out - ConnectionIdleTimeoutSeconds uint32 `json:"connection_idle_timeout_seconds,omitempty" gorm:"default:null"` // key_id is the key ID that was used for the encryption operation. It can be // used to identify a specific version of the key needed to decrypt the value, @@ -112,16 +108,15 @@ var _ db.VetForWriter = (*Session)(nil) // New creates a new in memory session. func New(c ComposedOf, opt ...Option) (*Session, error) { s := Session{ - UserId: c.UserId, - HostId: c.HostId, - TargetId: c.TargetId, - HostSetId: c.HostSetId, - AuthTokenId: c.AuthTokenId, - ScopeId: c.ScopeId, - Endpoint: c.Endpoint, - ExpirationTime: c.ExpirationTime, - ConnectionLimit: c.ConnectionLimit, - ConnectionIdleTimeoutSeconds: c.ConnectionIdleTimeoutSeconds, + UserId: c.UserId, + HostId: c.HostId, + TargetId: c.TargetId, + HostSetId: c.HostSetId, + AuthTokenId: c.AuthTokenId, + ScopeId: c.ScopeId, + Endpoint: c.Endpoint, + ExpirationTime: c.ExpirationTime, + ConnectionLimit: c.ConnectionLimit, } if err := s.validateNewSession("new session:"); err != nil { return nil, err @@ -137,20 +132,19 @@ func AllocSession() Session { // Clone creates a clone of the Session func (s *Session) Clone() interface{} { clone := &Session{ - PublicId: s.PublicId, - UserId: s.UserId, - HostId: s.HostId, - ServerId: s.ServerId, - ServerType: s.ServerType, - TargetId: s.TargetId, - HostSetId: s.HostSetId, - AuthTokenId: s.AuthTokenId, - ScopeId: s.ScopeId, - TerminationReason: s.TerminationReason, - Version: s.Version, - Endpoint: s.Endpoint, - ConnectionLimit: s.ConnectionLimit, - ConnectionIdleTimeoutSeconds: s.ConnectionIdleTimeoutSeconds, + PublicId: s.PublicId, + UserId: s.UserId, + HostId: s.HostId, + ServerId: s.ServerId, + ServerType: s.ServerType, + TargetId: s.TargetId, + HostSetId: s.HostSetId, + AuthTokenId: s.AuthTokenId, + ScopeId: s.ScopeId, + TerminationReason: s.TerminationReason, + Version: s.Version, + Endpoint: s.Endpoint, + ConnectionLimit: s.ConnectionLimit, } if s.TofuToken != nil { clone.TofuToken = make([]byte, len(s.TofuToken)) @@ -232,8 +226,6 @@ func (s *Session) VetForWrite(ctx context.Context, r db.Reader, opType db.OpType return fmt.Errorf("session vet for write: expiration time is immutable: %w", db.ErrInvalidParameter) case contains(opts.WithFieldMaskPaths, "ConnectionLimit"): return fmt.Errorf("session vet for write: connection limit is immutable: %w", db.ErrInvalidParameter) - case contains(opts.WithFieldMaskPaths, "ConnectionIdleTimeoutSeconds"): - return fmt.Errorf("session vet for write: connection idle timeout seconds is immutable: %w", db.ErrInvalidParameter) case contains(opts.WithFieldMaskPaths, "TerminationReason"): if _, err := convertToReason(s.TerminationReason); err != nil { return fmt.Errorf("session vet for write: termination reason '%s' is invalid: %w", s.TerminationReason, db.ErrInvalidParameter) diff --git a/internal/session/session_test.go b/internal/session/session_test.go index 8e0575171..ddb83600a 100644 --- a/internal/session/session_test.go +++ b/internal/session/session_test.go @@ -45,16 +45,15 @@ func TestSession_Create(t *testing.T) { opt: []Option{WithExpirationTime(exp)}, }, want: &Session{ - UserId: composedOf.UserId, - HostId: composedOf.HostId, - TargetId: composedOf.TargetId, - HostSetId: composedOf.HostSetId, - AuthTokenId: composedOf.AuthTokenId, - ScopeId: composedOf.ScopeId, - Endpoint: "tcp://127.0.0.1:22", - ExpirationTime: composedOf.ExpirationTime, - ConnectionLimit: composedOf.ConnectionLimit, - ConnectionIdleTimeoutSeconds: composedOf.ConnectionIdleTimeoutSeconds, + UserId: composedOf.UserId, + HostId: composedOf.HostId, + TargetId: composedOf.TargetId, + HostSetId: composedOf.HostSetId, + AuthTokenId: composedOf.AuthTokenId, + ScopeId: composedOf.ScopeId, + Endpoint: "tcp://127.0.0.1:22", + ExpirationTime: composedOf.ExpirationTime, + ConnectionLimit: composedOf.ConnectionLimit, }, create: true, }, diff --git a/internal/session/testing.go b/internal/session/testing.go index 4855486d3..529c844a1 100644 --- a/internal/session/testing.go +++ b/internal/session/testing.go @@ -130,16 +130,15 @@ func TestSessionParams(t *testing.T, conn *gorm.DB, wrapper wrapping.Wrapper, ia expTime := timestamppb.Now() expTime.Seconds += int64(tcpTarget.GetSessionMaxSeconds()) return ComposedOf{ - UserId: user.PublicId, - HostId: hosts[0].PublicId, - TargetId: tcpTarget.PublicId, - HostSetId: sets[0].PublicId, - AuthTokenId: at.PublicId, - ScopeId: tcpTarget.ScopeId, - Endpoint: "tcp://127.0.0.1:22", - ExpirationTime: ×tamp.Timestamp{Timestamp: expTime}, - ConnectionLimit: tcpTarget.GetSessionConnectionLimit(), - ConnectionIdleTimeoutSeconds: tcpTarget.GetConnectionIdleTimeoutSeconds(), + UserId: user.PublicId, + HostId: hosts[0].PublicId, + TargetId: tcpTarget.PublicId, + HostSetId: sets[0].PublicId, + AuthTokenId: at.PublicId, + ScopeId: tcpTarget.ScopeId, + Endpoint: "tcp://127.0.0.1:22", + ExpirationTime: ×tamp.Timestamp{Timestamp: expTime}, + ConnectionLimit: tcpTarget.GetSessionConnectionLimit(), } } diff --git a/internal/target/options.go b/internal/target/options.go index 2d6fe31d0..c7e64df20 100644 --- a/internal/target/options.go +++ b/internal/target/options.go @@ -16,32 +16,30 @@ type Option func(*options) // options = how options are represented type options struct { - withName string - withDescription string - withDefaultPort uint32 - withLimit int - withScopeId string - withUserId string - withTargetType *TargetType - withHostSets []string - withSessionMaxSeconds uint32 - withSessionConnectionLimit uint32 - withConnectionIdleTimeoutSeconds uint32 + withName string + withDescription string + withDefaultPort uint32 + withLimit int + withScopeId string + withUserId string + withTargetType *TargetType + withHostSets []string + withSessionMaxSeconds uint32 + withSessionConnectionLimit uint32 } func getDefaultOptions() options { return options{ - withName: "", - withDescription: "", - withLimit: 0, - withDefaultPort: 0, - withScopeId: "", - withUserId: "", - withTargetType: nil, - withHostSets: nil, - withSessionMaxSeconds: uint32((8 * time.Hour).Seconds()), - withSessionConnectionLimit: 1, - withConnectionIdleTimeoutSeconds: uint32((1 * time.Hour).Seconds()), + withName: "", + withDescription: "", + withLimit: 0, + withDefaultPort: 0, + withScopeId: "", + withUserId: "", + withTargetType: nil, + withHostSets: nil, + withSessionMaxSeconds: uint32((8 * time.Hour).Seconds()), + withSessionConnectionLimit: 1, } } @@ -114,9 +112,3 @@ func WithSessionConnectionLimit(limit uint32) Option { o.withSessionConnectionLimit = limit } } - -func WithConnectionIdleTimeoutSeconds(dur uint32) Option { - return func(o *options) { - o.withConnectionIdleTimeoutSeconds = dur - } -} diff --git a/internal/target/repository_tcp_target.go b/internal/target/repository_tcp_target.go index 753473906..08dc7a32a 100644 --- a/internal/target/repository_tcp_target.go +++ b/internal/target/repository_tcp_target.go @@ -117,7 +117,6 @@ func (r *Repository) UpdateTcpTarget(ctx context.Context, target *TcpTarget, ver case strings.EqualFold("defaultport", f): case strings.EqualFold("sessionmaxseconds", f): case strings.EqualFold("sessionconnectionlimit", f): - case strings.EqualFold("connectionidletimeoutseconds", f): default: return nil, nil, db.NoRowsAffected, fmt.Errorf("update tcp target: field: %s: %w", f, db.ErrInvalidFieldMask) } @@ -125,15 +124,14 @@ func (r *Repository) UpdateTcpTarget(ctx context.Context, target *TcpTarget, ver var dbMask, nullFields []string dbMask, nullFields = dbcommon.BuildUpdatePaths( map[string]interface{}{ - "Name": target.Name, - "Description": target.Description, - "DefaultPort": target.DefaultPort, - "SessionMaxSeconds": target.SessionMaxSeconds, - "SessionConnectionLimit": target.SessionConnectionLimit, - "ConnectionIdleTimeoutSeconds": target.ConnectionIdleTimeoutSeconds, + "Name": target.Name, + "Description": target.Description, + "DefaultPort": target.DefaultPort, + "SessionMaxSeconds": target.SessionMaxSeconds, + "SessionConnectionLimit": target.SessionConnectionLimit, }, fieldMaskPaths, - []string{"SessionMaxSeconds", "SessionConnectionLimit", "ConnectionIdleTimeoutSeconds"}, + []string{"SessionMaxSeconds", "SessionConnectionLimit"}, ) if len(dbMask) == 0 && len(nullFields) == 0 { return nil, nil, db.NoRowsAffected, fmt.Errorf("update tcp target: %w", db.ErrEmptyFieldMask) diff --git a/internal/target/store/target.pb.go b/internal/target/store/target.pb.go index ae0f67e1a..2e96f8f15 100644 --- a/internal/target/store/target.pb.go +++ b/internal/target/store/target.pb.go @@ -68,9 +68,6 @@ type TargetView struct { // Maximum number of connections in a session // @inject_tag: `gorm:"default:null"` SessionConnectionLimit uint32 `protobuf:"varint,110,opt,name=session_connection_limit,json=sessionConnectionLimit,proto3" json:"session_connection_limit,omitempty" gorm:"default:null"` - // Idle timeout for a connection in the session, in seconds - // @inject_tag: `gorm:"default:null"` - ConnectionIdleTimeoutSeconds uint32 `protobuf:"varint,120,opt,name=connection_idle_timeout_seconds,json=connectionIdleTimeoutSeconds,proto3" json:"connection_idle_timeout_seconds,omitempty" gorm:"default:null"` } func (x *TargetView) Reset() { @@ -182,13 +179,6 @@ func (x *TargetView) GetSessionConnectionLimit() uint32 { return 0 } -func (x *TargetView) GetConnectionIdleTimeoutSeconds() uint32 { - if x != nil { - return x.ConnectionIdleTimeoutSeconds - } - return 0 -} - type TargetHostSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -295,9 +285,6 @@ type TcpTarget struct { // Maximum number of connections in a session // @inject_tag: `gorm:"default:null"` SessionConnectionLimit uint32 `protobuf:"varint,110,opt,name=session_connection_limit,json=sessionConnectionLimit,proto3" json:"session_connection_limit,omitempty" gorm:"default:null"` - // Idle timeout for a connection in the session, in seconds - // @inject_tag: `gorm:"default:null"` - ConnectionIdleTimeoutSeconds uint32 `protobuf:"varint,120,opt,name=connection_idle_timeout_seconds,json=connectionIdleTimeoutSeconds,proto3" json:"connection_idle_timeout_seconds,omitempty" gorm:"default:null"` } func (x *TcpTarget) Reset() { @@ -402,13 +389,6 @@ func (x *TcpTarget) GetSessionConnectionLimit() uint32 { return 0 } -func (x *TcpTarget) GetConnectionIdleTimeoutSeconds() uint32 { - if x != nil { - return x.ConnectionIdleTimeoutSeconds - } - return 0 -} - var File_controller_storage_target_store_v1_target_proto protoreflect.FileDescriptor var file_controller_storage_target_store_v1_target_proto_rawDesc = []byte{ @@ -423,7 +403,7 @@ var file_controller_storage_target_store_v1_target_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x96, 0x04, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x69, 0x65, + 0x74, 0x6f, 0x22, 0xcf, 0x03, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, @@ -452,74 +432,61 @@ var file_controller_storage_target_store_v1_target_proto_rawDesc = []byte{ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x45, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x0d, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8b, 0x06, 0x0a, 0x09, 0x54, 0x63, 0x70, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xc2, 0xdd, 0x29, - 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x2a, 0xc2, 0xdd, 0x29, 0x26, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x17, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, - 0x64, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x2c, 0xc2, 0xdd, 0x29, 0x28, 0x0a, 0x11, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x13, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x70, 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, 0x6e, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x36, 0xc2, 0xdd, 0x29, 0x32, 0x0a, 0x16, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 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, - 0x52, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x78, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x43, 0xc2, 0xdd, 0x29, 0x3f, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x1c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x3b, 0x5a, 0x39, 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, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3b, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x0d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0xfe, 0x04, 0x0a, 0x09, 0x54, 0x63, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xc2, 0xdd, 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1e, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x32, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x2a, 0xc2, 0xdd, 0x29, 0x26, 0x0a, 0x0b, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x2c, + 0xc2, 0xdd, 0x29, 0x28, 0x0a, 0x11, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x11, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, + 0x70, 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, 0x6e, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x36, 0xc2, 0xdd, 0x29, 0x32, 0x0a, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 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, 0x52, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x3b, 0x5a, 0x39, 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, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/target/target.go b/internal/target/target.go index 934ee62b3..f8f5da0e4 100644 --- a/internal/target/target.go +++ b/internal/target/target.go @@ -21,7 +21,6 @@ type Target interface { GetUpdateTime() *timestamp.Timestamp GetSessionMaxSeconds() uint32 GetSessionConnectionLimit() uint32 - GetConnectionIdleTimeoutSeconds() uint32 oplog(op oplog.OpType) oplog.Metadata } @@ -93,7 +92,6 @@ func (t *targetView) targetSubType() (Target, error) { tcpTarget.Version = t.Version tcpTarget.SessionMaxSeconds = t.SessionMaxSeconds tcpTarget.SessionConnectionLimit = t.SessionConnectionLimit - tcpTarget.ConnectionIdleTimeoutSeconds = t.ConnectionIdleTimeoutSeconds return &tcpTarget, nil } return nil, fmt.Errorf("%s is an unknown target subtype of %s", t.PublicId, t.Type) diff --git a/internal/target/tcp_target.go b/internal/target/tcp_target.go index 8d5a07773..8f3c47a09 100644 --- a/internal/target/tcp_target.go +++ b/internal/target/tcp_target.go @@ -32,13 +32,12 @@ func NewTcpTarget(scopeId string, opt ...Option) (*TcpTarget, error) { } t := &TcpTarget{ TcpTarget: &store.TcpTarget{ - ScopeId: scopeId, - Name: opts.withName, - Description: opts.withDescription, - DefaultPort: opts.withDefaultPort, - ConnectionIdleTimeoutSeconds: opts.withConnectionIdleTimeoutSeconds, - SessionConnectionLimit: opts.withSessionConnectionLimit, - SessionMaxSeconds: opts.withSessionMaxSeconds, + ScopeId: scopeId, + Name: opts.withName, + Description: opts.withDescription, + DefaultPort: opts.withDefaultPort, + SessionConnectionLimit: opts.withSessionConnectionLimit, + SessionMaxSeconds: opts.withSessionMaxSeconds, }, } return t, nil diff --git a/internal/target/tcp_target_test.go b/internal/target/tcp_target_test.go index f372e5c5f..7063efbad 100644 --- a/internal/target/tcp_target_test.go +++ b/internal/target/tcp_target_test.go @@ -51,7 +51,6 @@ func TestTcpTarget_Create(t *testing.T) { t.Name = "valid-proj-scope" t.SessionMaxSeconds = uint32((8 * time.Hour).Seconds()) t.SessionConnectionLimit = 1 - t.ConnectionIdleTimeoutSeconds = uint32((1 * time.Hour).Seconds()) return &t }(), create: true,