Added the clone command in SSM
This commit is contained in:
parent
ee6011bc3e
commit
306640abdb
9 changed files with 102 additions and 10 deletions
|
|
@ -4,6 +4,7 @@ import (
|
|||
"context"
|
||||
tea "github.com/charmbracelet/bubbletea"
|
||||
"github.com/lmika/awstools/internal/common/ui/events"
|
||||
"github.com/lmika/awstools/internal/ssm-browse/models"
|
||||
"github.com/lmika/awstools/internal/ssm-browse/services/ssmparameters"
|
||||
"sync"
|
||||
)
|
||||
|
|
@ -12,15 +13,15 @@ type SSMController struct {
|
|||
service *ssmparameters.Service
|
||||
|
||||
// state
|
||||
mutex *sync.Mutex
|
||||
mutex *sync.Mutex
|
||||
prefix string
|
||||
}
|
||||
|
||||
func New(service *ssmparameters.Service) *SSMController {
|
||||
return &SSMController{
|
||||
service: service,
|
||||
prefix: "/",
|
||||
mutex: new(sync.Mutex),
|
||||
prefix: "/",
|
||||
mutex: new(sync.Mutex),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ func (c *SSMController) Fetch() tea.Cmd {
|
|||
}
|
||||
|
||||
return NewParameterListMsg{
|
||||
Prefix: c.prefix,
|
||||
Prefix: c.prefix,
|
||||
Parameters: res,
|
||||
}
|
||||
}
|
||||
|
|
@ -50,8 +51,29 @@ func (c *SSMController) ChangePrefix(newPrefix string) tea.Cmd {
|
|||
c.prefix = newPrefix
|
||||
|
||||
return NewParameterListMsg{
|
||||
Prefix: c.prefix,
|
||||
Prefix: c.prefix,
|
||||
Parameters: res,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *SSMController) Clone(param models.SSMParameter) tea.Cmd {
|
||||
return events.PromptForInput("New key: ", func(value string) tea.Cmd {
|
||||
return func() tea.Msg {
|
||||
ctx := context.Background()
|
||||
if err := c.service.Clone(ctx, param, value); err != nil {
|
||||
return events.Error(err)
|
||||
}
|
||||
|
||||
res, err := c.service.List(context.Background(), c.prefix)
|
||||
if err != nil {
|
||||
return events.Error(err)
|
||||
}
|
||||
|
||||
return NewParameterListMsg{
|
||||
Prefix: c.prefix,
|
||||
Parameters: res,
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue