Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "github.com/aws/aws-sdk-go/aws"
  5. "github.com/aws/aws-sdk-go/aws/session"
  6. "github.com/aws/aws-sdk-go/service/rds"
  7. "fmt"
  8. )
  9.  
  10.  
  11. func getTags(svc *rds.RDS, arn *string, c chan *rds.ListTagsForResourceOutput) {
  12. params := &rds.ListTagsForResourceInput{
  13. ResourceName: arn,
  14. }
  15. tags, err := svc.ListTagsForResource(params)
  16.  
  17. if err != nil {
  18. fmt.Println(err.Error())
  19. }
  20. c <- tags
  21. }
  22.  
  23. func main() {
  24.  
  25. sess, err := session.NewSessionWithOptions(session.Options{
  26. Profile: "aws-account-name",
  27. Config: aws.Config{Region: aws.String("us-west-2")},
  28. })
  29. svc := rds.New(sess)
  30.  
  31. resp, err := svc.DescribeDBInstances(&rds.DescribeDBInstancesInput{})
  32.  
  33. if err != nil {
  34. fmt.Println(err.Error())
  35. return
  36. }
  37.  
  38. c := make(chan *rds.ListTagsForResourceOutput)
  39. for _, dbInstance := range(resp.DBInstances) {
  40. go getTags(svc, dbInstance.DBInstanceArn, c)
  41. }
  42.  
  43. for elem := range(c) {
  44. fmt.Println(elem)
  45. }
  46.  
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement