99 "fmt"
1010 "os"
1111
12- "github.com/aws/aws-sdk-go-v2/aws"
13- "github.com/aws/aws-sdk-go-v2/service/cloudformation"
14- awsinternal "github.com/orien/stackaroo/internal/aws"
12+ "github.com/orien/stackaroo/internal/aws"
1513 "github.com/orien/stackaroo/internal/diff"
1614 "github.com/orien/stackaroo/internal/model"
1715 "github.com/orien/stackaroo/internal/prompt"
@@ -25,19 +23,19 @@ type Deployer interface {
2523
2624// AWSDeployer implements Deployer using AWS CloudFormation
2725type AWSDeployer struct {
28- awsClient awsinternal .Client
26+ awsClient aws .Client
2927}
3028
3129// NewAWSDeployer creates a new AWSDeployer
32- func NewAWSDeployer (awsClient awsinternal .Client ) * AWSDeployer {
30+ func NewAWSDeployer (awsClient aws .Client ) * AWSDeployer {
3331 return & AWSDeployer {
3432 awsClient : awsClient ,
3533 }
3634}
3735
3836// NewDefaultDeployer creates a deployer with default AWS configuration
3937func NewDefaultDeployer (ctx context.Context ) (* AWSDeployer , error ) {
40- client , err := awsinternal .NewDefaultClient (ctx , awsinternal .Config {})
38+ client , err := aws .NewDefaultClient (ctx , aws .Config {})
4139 if err != nil {
4240 return nil , fmt .Errorf ("failed to create AWS client: %w" , err )
4341 }
@@ -70,9 +68,9 @@ func (d *AWSDeployer) deployNewStack(ctx context.Context, stack *model.Stack) er
7068 fmt .Printf ("=== Creating new stack %s ===\n " , stack .Name )
7169
7270 // Convert parameters to AWS format
73- awsParams := make ([]awsinternal .Parameter , 0 , len (stack .Parameters ))
71+ awsParams := make ([]aws .Parameter , 0 , len (stack .Parameters ))
7472 for key , value := range stack .Parameters {
75- awsParams = append (awsParams , awsinternal .Parameter {
73+ awsParams = append (awsParams , aws .Parameter {
7674 Key : key ,
7775 Value : value ,
7876 })
@@ -85,7 +83,7 @@ func (d *AWSDeployer) deployNewStack(ctx context.Context, stack *model.Stack) er
8583 }
8684
8785 // Set up event callback for user feedback
88- eventCallback := func (event awsinternal .StackEvent ) {
86+ eventCallback := func (event aws .StackEvent ) {
8987 timestamp := event .Timestamp .Format ("2006-01-02 15:04:05" )
9088 fmt .Printf ("[%s] %-20s %-40s %s %s\n " ,
9189 timestamp ,
@@ -96,7 +94,7 @@ func (d *AWSDeployer) deployNewStack(ctx context.Context, stack *model.Stack) er
9694 )
9795 }
9896
99- deployInput := awsinternal .DeployStackInput {
97+ deployInput := aws .DeployStackInput {
10098 StackName : stack .Name ,
10199 TemplateBody : stack .TemplateBody ,
102100 Parameters : awsParams ,
@@ -174,18 +172,15 @@ func (d *AWSDeployer) deployWithChangeSet(ctx context.Context, stack *model.Stac
174172 // Execute the changeset
175173 fmt .Printf ("=== Deploying stack %s ===\n " , stack .Name )
176174
177- executeInput := & cloudformation.ExecuteChangeSetInput {
178- ChangeSetName : aws .String (changeSetInfo .ChangeSetID ),
179- }
180- _ , err = cfnOps .ExecuteChangeSet (ctx , executeInput )
175+ err = cfnOps .ExecuteChangeSetByID (ctx , changeSetInfo .ChangeSetID )
181176 if err != nil {
182177 // Clean up changeset on failure
183178 _ = changeSetMgr .DeleteChangeSet (ctx , changeSetInfo .ChangeSetID )
184179 return fmt .Errorf ("failed to execute changeset: %w" , err )
185180 }
186181
187182 // Wait for deployment to complete with progress updates
188- eventCallback := func (event awsinternal .StackEvent ) {
183+ eventCallback := func (event aws .StackEvent ) {
189184 timestamp := event .Timestamp .Format ("2006-01-02 15:04:05" )
190185 fmt .Printf ("[%s] %-20s %-40s %s %s\n " ,
191186 timestamp ,
0 commit comments