ssm-browse: new utility to browse SSM parameters
This is more of an exercise to work out how best to use controllers
This commit is contained in:
parent
46be54b5fb
commit
0b745a6dfa
14 changed files with 348 additions and 5 deletions
7
internal/ssm-browse/controllers/events.go
Normal file
7
internal/ssm-browse/controllers/events.go
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
package controllers
|
||||
|
||||
import "github.com/lmika/awstools/internal/ssm-browse/models"
|
||||
|
||||
type NewParameterListMsg struct {
|
||||
Parameters *models.SSMParameters
|
||||
}
|
||||
31
internal/ssm-browse/controllers/ssmcontroller.go
Normal file
31
internal/ssm-browse/controllers/ssmcontroller.go
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"context"
|
||||
tea "github.com/charmbracelet/bubbletea"
|
||||
"github.com/lmika/awstools/internal/common/ui/events"
|
||||
"github.com/lmika/awstools/internal/ssm-browse/services/ssmparameters"
|
||||
)
|
||||
|
||||
type SSMController struct {
|
||||
service *ssmparameters.Service
|
||||
}
|
||||
|
||||
func New(service *ssmparameters.Service) *SSMController {
|
||||
return &SSMController{
|
||||
service: service,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *SSMController) Fetch() tea.Cmd {
|
||||
return func() tea.Msg {
|
||||
res, err := c.service.List(context.Background())
|
||||
if err != nil {
|
||||
return events.Error(err)
|
||||
}
|
||||
|
||||
return NewParameterListMsg{
|
||||
Parameters: res,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue