Skip to content

Commit

Permalink
Merge pull request #16 from rapid7/add-support-for-service-specific-s…
Browse files Browse the repository at this point in the history
…sm-properties

Add support for service specific ssm properties
  • Loading branch information
asebastian-r7 authored Feb 8, 2019
2 parents 49d2cd3 + 2ce75a6 commit 2ea17bb
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions pkg/secret/ssm.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,36 @@ func GetSSMSecret(k string, v []byte) (string, error) {
}

var region string
var service string
if _, ok := j["$ssm"].(map[string]interface{})["service"]; ok {
data := j["$ssm"].(map[string]interface{})
service = data["service"].(string)
region = data["region"].(string)
k = "/" + service + "/" + k

sess := session.Must(session.NewSessionWithOptions(session.Options{
Config: aws.Config{
Region: aws.String(region),
},
}))

svc := ssm.New(sess)

decrypt := true
params := &ssm.GetParameterInput{
Name: &k,
WithDecryption: &decrypt,
}

p, err := svc.GetParameter(params)
if err != nil {
log.Errorf("Error getting SSM parameter %v: %v", k, err)
return "", err
}

return *p.Parameter.Value, nil
}

if _, ok := j["$ssm"]; ok {
data := j["$ssm"].(map[string]interface{})
region = data["region"].(string)
Expand Down

0 comments on commit 2ea17bb

Please sign in to comment.