in PetAdoptions/payforadoption-go/config.go [44:81]
func fetchConfigFromParameterStore(region string) (payforadoption.Config, error) {
svc := ssm.New(session.New(&aws.Config{Region: aws.String(region)}))
xray.AWS(svc.Client)
ctx, seg := xray.BeginSegment(context.Background(), "payforadoption")
defer seg.Close(nil)
res, err := svc.GetParametersWithContext(ctx, &ssm.GetParametersInput{
Names: []*string{
aws.String("/petstore/updateadoptionstatusurl"),
aws.String("/petstore/rdssecretarn"),
aws.String("/petstore/s3bucketname"),
aws.String("/petstore/dynamodbtablename"),
},
})
cfg := payforadoption.Config{}
cfg.AWSRegion = region
if err != nil {
return cfg, err
}
for _, p := range res.Parameters {
switch aws.StringValue(p.Name) {
case "/petstore/rdssecretarn":
cfg.RDSSecretArn = aws.StringValue(p.Value)
case "/petstore/updateadoptionstatusurl":
cfg.UpdateAdoptionURL = aws.StringValue(p.Value)
case "/petstore/s3bucketname":
cfg.S3BucketName = aws.StringValue(p.Value)
case "/petstore/dynamodbtablename":
cfg.DynamoDBTable = aws.StringValue(p.Value)
}
}
return cfg, err
}