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  }