github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/creds/secretsmanager/secretsmanager_factory.go (about) 1 package secretsmanager 2 3 import ( 4 "code.cloudfoundry.org/lager" 5 "github.com/aws/aws-sdk-go/aws/session" 6 "github.com/aws/aws-sdk-go/service/secretsmanager" 7 "github.com/pf-qiu/concourse/v6/atc/creds" 8 ) 9 10 type secretsManagerFactory struct { 11 log lager.Logger 12 api *secretsmanager.SecretsManager 13 secretTemplates []*creds.SecretTemplate 14 } 15 16 func NewSecretsManagerFactory(log lager.Logger, session *session.Session, secretTemplates []*creds.SecretTemplate) *secretsManagerFactory { 17 return &secretsManagerFactory{ 18 log: log, 19 api: secretsmanager.New(session), 20 secretTemplates: secretTemplates, 21 } 22 } 23 24 func (factory *secretsManagerFactory) NewSecrets() creds.Secrets { 25 return NewSecretsManager(factory.log, factory.api, factory.secretTemplates) 26 }