# README
AWS Resolver
awsresolver is package to resolve AWS service.
This has docker image as http server. See
Installing
go get -u github.com/atsushi-ishibashi/go-aws-resolver
Getting Started
// main.go
package main
import (
awsresolver "github.com/atsushi-ishibashi/go-aws-resolver"
)
func main() {
resolver := awsresolver.NewResolver("ap-northeast-1")
resp, err := resolver.GetRdsCluster("rds-cluster")
// do something
}
API
GetSsmParameter(name string) (*GetSsmParameterOutput, error)
required policy:
"Action": "ssm:GetParameter",
"Resource": "arn:aws:ssm:<region>:<account>:parameter/<name>"
GetRdsCluster(cluster string) (*GetRdsClusterOutput, error)
required policy:
"Action": "rds:DescribeDBClusters",
"Resource": "arn:aws:rds:<region>:<account>:cluster:<cluster>"
GetSqsQueueURL(queue string) (*GetSqsQueueURLOutput, error)
required policy:
"Action": "sqs:GetQueueUrl",
"Resource": "arn:aws:sqs:<region>:<account>:<queue>"
GetElastiCacheReplicationGroup(replicationGroupID string) (*GetElastiCacheReplicationGroupOutput, error)
required policy:
"Action": "elasticache:DescribeReplicationGroups",
"Resource": "*"
GetSecretsManagerSecret(name string) (*GetSecretsManagerSecretOutput, error)
required policy:
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:<region>:<account>:secret:<name>"
(only if you encrypt value with KMS)
"Action": "kms:Decrypt",
"Resource": "arn:aws:kms:<region>:<account>:key/<key_id>"
GetKMSKeyID(alias string) (*GetKMSKeyIDOutput, error)
required policy:
"Action": "kms:DescribeKey",
"Resource": "arn:aws:kms:<region>:<account>:key/<key_id>"