Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/rds"
- "fmt"
- )
- func getTags(svc *rds.RDS, arn *string, c chan *rds.ListTagsForResourceOutput) {
- params := &rds.ListTagsForResourceInput{
- ResourceName: arn,
- }
- tags, err := svc.ListTagsForResource(params)
- if err != nil {
- fmt.Println(err.Error())
- }
- c <- tags
- }
- func main() {
- sess, err := session.NewSessionWithOptions(session.Options{
- Profile: "aws-account-name",
- Config: aws.Config{Region: aws.String("us-west-2")},
- })
- svc := rds.New(sess)
- resp, err := svc.DescribeDBInstances(&rds.DescribeDBInstancesInput{})
- if err != nil {
- fmt.Println(err.Error())
- return
- }
- c := make(chan *rds.ListTagsForResourceOutput)
- for _, dbInstance := range(resp.DBInstances) {
- go getTags(svc, dbInstance.DBInstanceArn, c)
- }
- for elem := range(c) {
- fmt.Println(elem)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement