internal/pkg/deploy/cloudformation/stack/embed.go (47 lines of code) (raw):
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
package stack
import "github.com/aws/copilot-cli/internal/pkg/template"
type loadBalancedWebSvcReadParser interface {
template.ReadParser
ParseLoadBalancedWebService(template.WorkloadOpts) (*template.Content, error)
}
type backendSvcReadParser interface {
template.ReadParser
ParseBackendService(template.WorkloadOpts) (*template.Content, error)
}
type requestDrivenWebSvcReadParser interface {
template.ReadParser
ParseRequestDrivenWebService(template.WorkloadOpts) (*template.Content, error)
}
type workerSvcReadParser interface {
template.ReadParser
ParseWorkerService(template.WorkloadOpts) (*template.Content, error)
}
type staticSiteReadParser interface {
template.ReadParser
ParseStaticSite(template.WorkloadOpts) (*template.Content, error)
}
type scheduledJobReadParser interface {
template.ReadParser
ParseScheduledJob(template.WorkloadOpts) (*template.Content, error)
}
type envReadParser interface {
template.ReadParser
ParseEnv(data *template.EnvOpts) (*template.Content, error)
ParseEnvBootstrap(data *template.EnvOpts, options ...template.ParseOption) (*template.Content, error)
}
type pipelineParser interface {
ParsePipeline(data interface{}) (*template.Content, error)
}
// embedFS is the interface to parse any embedded templates.
type embedFS interface {
backendSvcReadParser
loadBalancedWebSvcReadParser
requestDrivenWebSvcReadParser
staticSiteReadParser
scheduledJobReadParser
workerSvcReadParser
envReadParser
}
var (
realEmbedFS embedFS = template.New()
fs = realEmbedFS
)