@@ -137,26 +137,6 @@ type Model struct {
137137 sgAddInput string // current field text input
138138 sgAddSelectIdx int // index for select-type fields (direction, protocol)
139139
140- // ECS browser state
141- ecsClusters []awsservice.ECSCluster
142- filteredECSClusters []awsservice.ECSCluster
143- ecsClusterIdx int
144- selectedECSCluster * awsservice.ECSCluster
145-
146- ecsServices []awsservice.ECSService
147- filteredECSServices []awsservice.ECSService
148- ecsServiceIdx int
149- selectedECSService * awsservice.ECSService
150- selectedECSDetail * awsservice.ECSServiceDetail
151- ecsDetailScroll int
152-
153- ecsTasks []awsservice.ECSTask
154- ecsTaskIdx int
155- selectedECSTask * awsservice.ECSTask
156-
157- ecsContainers []awsservice.ECSContainer
158- ecsContainerIdx int
159-
160140 // EKS browser state
161141 eksClusters []awsservice.EKSCluster
162142 filteredEKSClusters []awsservice.EKSCluster
@@ -171,6 +151,7 @@ type Model struct {
171151
172152 // Feature submodels
173153 ec2Browser ec2InstanceBrowserModel
154+ ecs ecsModel
174155 vpc vpcModel
175156 reachability reachabilityModel
176157 cwMetrics cloudWatchMetricsModel
@@ -281,6 +262,7 @@ func New(cfg *config.Config, configPath string, version string, checklistPath ..
281262 contextTable : newContextTable (),
282263 }
283264 model .ec2Browser = newEC2InstanceBrowserModel ()
265+ model .ecs = newECSModel ()
284266 model .vpc = newVPCModel ()
285267 model .reachability = newReachabilityModel ()
286268 model .cwMetrics = newCloudWatchMetricsModel ()
@@ -389,7 +371,6 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
389371 for _ , h := range []func (tea.Msg ) (tea.Model , tea.Cmd , bool ){
390372 m .handleEC2VPCMsg ,
391373 m .handleSecurityGroupMsg ,
392- m .handleECSMsg ,
393374 m .handleEKSMsg ,
394375 m .handleInspectorMsg ,
395376 m .handleContextMsg ,
@@ -480,16 +461,6 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
480461 return m .updateSecurityGroupAddRule (msg )
481462 case screenSecurityGroupDeleteConfirm :
482463 return m .updateSecurityGroupDeleteConfirm (msg )
483- case screenECSClusterList :
484- return m .updateECSClusterList (msg )
485- case screenECSServiceList :
486- return m .updateECSServiceList (msg )
487- case screenECSServiceDetail :
488- return m .updateECSServiceDetail (msg )
489- case screenECSTaskList :
490- return m .updateECSTaskList (msg )
491- case screenECSContainerList :
492- return m .updateECSContainerList (msg )
493464 case screenEKSClusterList :
494465 return m .updateEKSClusterList (msg )
495466 case screenEKSNodeGroupList :
@@ -599,7 +570,7 @@ func (m Model) updateFeatureList(msg tea.KeyMsg) (tea.Model, tea.Cmd) {
599570 case domain .FeatureRotateAccessKey :
600571 return m .iam .StartKeys (& m , true )
601572 case domain .FeatureECSExec :
602- return m .startLoading ( m . loadECSClusters () )
573+ return m .ecs . Start ( & m )
603574 case domain .FeatureEKSBrowser :
604575 return m .startLoading (m .loadEKSClusters ())
605576 case domain .FeatureLambdaBrowser :
@@ -670,16 +641,6 @@ func (m Model) View() string {
670641 v = m .viewSecurityGroupAddRule ()
671642 case screenSecurityGroupDeleteConfirm :
672643 v = m .viewSecurityGroupDeleteConfirm ()
673- case screenECSClusterList :
674- v = m .viewECSClusterList ()
675- case screenECSServiceList :
676- v = m .viewECSServiceList ()
677- case screenECSServiceDetail :
678- v = m .viewECSServiceDetail ()
679- case screenECSTaskList :
680- v = m .viewECSTaskList ()
681- case screenECSContainerList :
682- v = m .viewECSContainerList ()
683644 case screenEKSClusterList :
684645 v = m .viewEKSClusterList ()
685646 case screenEKSNodeGroupList :
0 commit comments