@@ -143,26 +143,6 @@ type Model struct {
143143 sgAddInput string // current field text input
144144 sgAddSelectIdx int // index for select-type fields (direction, protocol)
145145
146- // ECS browser state
147- ecsClusters []awsservice.ECSCluster
148- filteredECSClusters []awsservice.ECSCluster
149- ecsClusterIdx int
150- selectedECSCluster * awsservice.ECSCluster
151-
152- ecsServices []awsservice.ECSService
153- filteredECSServices []awsservice.ECSService
154- ecsServiceIdx int
155- selectedECSService * awsservice.ECSService
156- selectedECSDetail * awsservice.ECSServiceDetail
157- ecsDetailScroll int
158-
159- ecsTasks []awsservice.ECSTask
160- ecsTaskIdx int
161- selectedECSTask * awsservice.ECSTask
162-
163- ecsContainers []awsservice.ECSContainer
164- ecsContainerIdx int
165-
166146 // EKS browser state
167147 eksClusters []awsservice.EKSCluster
168148 filteredEKSClusters []awsservice.EKSCluster
@@ -194,6 +174,7 @@ type Model struct {
194174
195175 // Feature submodels
196176 ec2Browser ec2InstanceBrowserModel
177+ ecs ecsModel
197178 vpc vpcModel
198179 reachability reachabilityModel
199180 cwMetrics cloudWatchMetricsModel
@@ -304,6 +285,7 @@ func New(cfg *config.Config, configPath string, version string, checklistPath ..
304285 contextTable : newContextTable (),
305286 }
306287 model .ec2Browser = newEC2InstanceBrowserModel ()
288+ model .ecs = newECSModel ()
307289 model .vpc = newVPCModel ()
308290 model .reachability = newReachabilityModel ()
309291 model .cwMetrics = newCloudWatchMetricsModel ()
@@ -412,7 +394,6 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
412394 for _ , h := range []func (tea.Msg ) (tea.Model , tea.Cmd , bool ){
413395 m .handleEC2VPCMsg ,
414396 m .handleSecurityGroupMsg ,
415- m .handleECSMsg ,
416397 m .handleEKSMsg ,
417398 m .handleECRMsg ,
418399 m .handleInspectorMsg ,
@@ -504,16 +485,6 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
504485 return m .updateSecurityGroupAddRule (msg )
505486 case screenSecurityGroupDeleteConfirm :
506487 return m .updateSecurityGroupDeleteConfirm (msg )
507- case screenECSClusterList :
508- return m .updateECSClusterList (msg )
509- case screenECSServiceList :
510- return m .updateECSServiceList (msg )
511- case screenECSServiceDetail :
512- return m .updateECSServiceDetail (msg )
513- case screenECSTaskList :
514- return m .updateECSTaskList (msg )
515- case screenECSContainerList :
516- return m .updateECSContainerList (msg )
517488 case screenEKSClusterList :
518489 return m .updateEKSClusterList (msg )
519490 case screenEKSNodeGroupList :
@@ -635,7 +606,7 @@ func (m Model) updateFeatureList(msg tea.KeyMsg) (tea.Model, tea.Cmd) {
635606 case domain .FeatureRotateAccessKey :
636607 return m .iam .StartKeys (& m , true )
637608 case domain .FeatureECSExec :
638- return m .startLoading ( m . loadECSClusters () )
609+ return m .ecs . Start ( & m )
639610 case domain .FeatureECRRepositoryBrowser :
640611 return m .startLoading (m .loadECRRepositories ())
641612 case domain .FeatureEKSBrowser :
@@ -708,16 +679,6 @@ func (m Model) View() string {
708679 v = m .viewSecurityGroupAddRule ()
709680 case screenSecurityGroupDeleteConfirm :
710681 v = m .viewSecurityGroupDeleteConfirm ()
711- case screenECSClusterList :
712- v = m .viewECSClusterList ()
713- case screenECSServiceList :
714- v = m .viewECSServiceList ()
715- case screenECSServiceDetail :
716- v = m .viewECSServiceDetail ()
717- case screenECSTaskList :
718- v = m .viewECSTaskList ()
719- case screenECSContainerList :
720- v = m .viewECSContainerList ()
721682 case screenEKSClusterList :
722683 v = m .viewEKSClusterList ()
723684 case screenEKSNodeGroupList :
0 commit comments