func NewResolver()

in ecr/resolver.go [115:140]


func NewResolver(options ...ResolverOption) (remotes.Resolver, error) {
	resolverOptions := &ResolverOptions{}
	for _, option := range options {
		err := option(resolverOptions)
		if err != nil {
			return nil, err
		}
	}
	if resolverOptions.Session == nil {
		awsSession, err := session.NewSession()
		if err != nil {
			return nil, err
		}
		resolverOptions.Session = awsSession
	}
	if resolverOptions.Tracker == nil {
		resolverOptions.Tracker = docker.NewInMemoryTracker()
	}
	return &ecrResolver{
		session:                  resolverOptions.Session,
		clients:                  map[string]ecrAPI{},
		tracker:                  resolverOptions.Tracker,
		layerDownloadParallelism: resolverOptions.LayerDownloadParallelism,
		httpClient:               http.DefaultClient,
	}, nil
}