Categorygithub.com/atsushi-ishibashi/go-aws-resolver
repositorypackage
1.0.1
Repository: https://github.com/atsushi-ishibashi/go-aws-resolver.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

AWS Resolver

GoDoc GoCard Build Status codecov

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>"