I heard so many things, so I wanted to give https://chat.openai.com/chat a GO.
Can it help me in programming or even replace me?
My question:
"show me the code to list all CloudFormation stack names in an AWS account in GO with SDK v2 in clean code"
Does the code work out of the box?
Short answer: No.
But it would save me google search time.
What did I have to change?
A surprisingly small amount of code:
diff --git a/main.go b/main.go
index 01d6286..2b02055 100644
--- a/main.go
+++ b/main.go
@@ -4,34 +4,33 @@ import (
"context"
"fmt"
- "github.com/aws/aws-sdk-go-v2/config"
+ "github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/cloudformation"
- "github.com/aws/aws-sdk-go-v2/service/cloudformation/types"
)
func main() {
// Initialize the AWS configuration
- cfg, err := config.LoadDefaultConfig(context.Background())
+ cfg, err := aws.NewConfig()
if err != nil {
panic("Unable to create AWS configuration: " + err.Error())
}
// Create a new CloudFormation client
- cfnSvc := cloudformation.NewFromConfig(cfg)
+ cfnSvc := cloudformation.New(cfg)
// Set up the input parameters for the ListStacks API call
input := &cloudformation.ListStacksInput{
- StackStatusFilter: []types.StackStatus{
- types.StackStatusCreateComplete,
... some more states
- types.StackStatusRollbackFailed,
- types.StackStatusUpdateComplete,
- types.StackStatusUpdateRollbackComplete,
- types.StackStatusUpdateRollbackFailed,
+ StackStatusFilter: []cloudformation.StackStatus{
+ cloudformation.StackStatusCreateComplete,
+ cloudformation.StackStatusUpdateRollbackFailed,
},
}
So with a few commands and some patches:
go mod init test1
vi main.go
go mod tidy
go run main.go
It worked!
Conclusion
Indeed something to watch in the future!
Try https://chat.openai.com/
Thanks
Photo by Thomas Park on Unsplash
And ChatGP.
Top comments (0)