Documentation ¶
Index ¶
- Constants
- func DNSDelegatedAccountsForStack(stack *cloudformation.Stack) []string
- func NameForEnv(app, env string) string
- func NameForService(app, env, svc string) string
- func NewPipelineStackConfig(in *deploy.CreatePipelineInput) *pipelineStackConfig
- func NewTaskStackConfig(taskOpts *deploy.CreateTaskResourcesInput) *taskStackConfig
- type AppRegionalResources
- type AppResourcesConfig
- type AppStackConfig
- func (c *AppStackConfig) Parameters() ([]*cloudformation.Parameter, error)
- func (c *AppStackConfig) ResourceTemplate(config *AppResourcesConfig) (string, error)
- func (c *AppStackConfig) StackName() string
- func (c *AppStackConfig) StackSetAdminRoleARN() string
- func (c *AppStackConfig) StackSetDescription() string
- func (c *AppStackConfig) StackSetExecutionRoleName() string
- func (c *AppStackConfig) StackSetName() string
- func (c *AppStackConfig) Tags() []*cloudformation.Tag
- func (c *AppStackConfig) Template() (string, error)
- type BackendService
- type DeployedAppMetadata
- type ECRImage
- type EnvStackConfig
- func (e *EnvStackConfig) Parameters() ([]*cloudformation.Parameter, error)
- func (e *EnvStackConfig) StackName() string
- func (e *EnvStackConfig) Tags() []*cloudformation.Tag
- func (e *EnvStackConfig) Template() (string, error)
- func (e *EnvStackConfig) ToEnv(stack *cloudformation.Stack) (*config.Environment, error)
- type LoadBalancedWebService
- func (s *LoadBalancedWebService) Parameters() ([]*cloudformation.Parameter, error)
- func (s *LoadBalancedWebService) SerializedParameters() (string, error)
- func (w LoadBalancedWebService) StackName() string
- func (w LoadBalancedWebService) Tags() []*cloudformation.Tag
- func (s *LoadBalancedWebService) Template() (string, error)
- type RuntimeConfig
- type ScheduledJob
- type TaskStackName
Constants ¶
const ( // Output keys. EnvOutputVPCID = "VpcId" EnvOutputPublicSubnets = "PublicSubnets" EnvOutputPrivateSubnets = "PrivateSubnets" // Default parameter values DefaultVPCCIDR = "10.0.0.0/16" DefaultPublicSubnetCIDRs = "10.0.0.0/24,10.0.1.0/24" DefaultPrivateSubnetCIDRs = "10.0.2.0/24,10.0.3.0/24" )
const ( LBWebServiceHTTPSParamKey = "HTTPSEnabled" LBWebServiceContainerPortParamKey = "ContainerPort" LBWebServiceRulePathParamKey = "RulePath" LBWebServiceTargetContainerParamKey = "TargetContainer" LBWebServiceTargetPortParamKey = "TargetPort" LBWebServiceStickinessParamKey = "Stickiness" )
Parameter logical IDs for a load balanced web service.
const ( WorkloadAppNameParamKey = "AppName" WorkloadEnvNameParamKey = "EnvName" WorkloadNameParamKey = "WorkloadName" WorkloadContainerImageParamKey = "ContainerImage" WorkloadTaskCPUParamKey = "TaskCPU" WorkloadTaskMemoryParamKey = "TaskMemory" WorkloadTaskCountParamKey = "TaskCount" WorkloadLogRetentionParamKey = "LogRetention" WorkloadAddonsTemplateURLParamKey = "AddonsTemplateURL" )
Parameter logical IDs common across workloads.
const (
BackendServiceContainerPortParamKey = "ContainerPort"
)
Parameter logical IDs for a backend service.
const (
// NoExposedContainerPort indicates no port should be exposed for the service container.
NoExposedContainerPort = "-1"
)
const (
ScheduledJobScheduleParamKey = "Schedule"
)
Parameter logical IDs for a scheduled job
Variables ¶
This section is empty.
Functions ¶
func DNSDelegatedAccountsForStack ¶
func DNSDelegatedAccountsForStack(stack *cloudformation.Stack) []string
DNSDelegatedAccountsForStack looks through a stack's parameters for the parameter which stores the comma seperated list of account IDs which are permitted for DNS delegation.
func NameForEnv ¶
NameForEnv returns the stack name for an environment.
func NameForService ¶
NameForService returns the stack name for a service.
func NewPipelineStackConfig ¶
func NewPipelineStackConfig(in *deploy.CreatePipelineInput) *pipelineStackConfig
func NewTaskStackConfig ¶
func NewTaskStackConfig(taskOpts *deploy.CreateTaskResourcesInput) *taskStackConfig
NewTaskStackConfig sets up a struct that provides stack configurations for CloudFormation to deploy the task resources stack.
Types ¶
type AppRegionalResources ¶
type AppRegionalResources struct { Region string // The region these resources are in. KMSKeyARN string // A KMS Key ARN for encrypting Pipeline artifacts. S3Bucket string // S3 bucket for Pipeline artifacts. RepositoryURLs map[string]string // The image repository URLs by service name. }
AppRegionalResources represent application resources that are regional.
func ToAppRegionalResources ¶
func ToAppRegionalResources(stack *cloudformation.Stack) (*AppRegionalResources, error)
ToAppRegionalResources takes an Application Resource Stack Instance stack, reads the output resources and returns a modeled ProjectRegionalResources.
type AppResourcesConfig ¶
type AppResourcesConfig struct { Accounts []string `yaml:"Accounts,flow"` Services []string `yaml:"Services,flow"` App string `yaml:"App"` Version int `yaml:"Version"` }
AppResourcesConfig is a configuration for a deployed Application StackSet.
func AppConfigFrom ¶
func AppConfigFrom(template *string) (*AppResourcesConfig, error)
AppConfigFrom takes a template file and extracts the metadata block, and parses it into an AppStackConfig
type AppStackConfig ¶
type AppStackConfig struct { *deploy.CreateAppInput // contains filtered or unexported fields }
AppStackConfig is for providing all the values to set up an environment stack and to interpret the outputs from it.
func NewAppStackConfig ¶
func NewAppStackConfig(in *deploy.CreateAppInput) *AppStackConfig
NewAppStackConfig sets up a struct which can provide values to CloudFormation for spinning up an environment.
func (*AppStackConfig) Parameters ¶
func (c *AppStackConfig) Parameters() ([]*cloudformation.Parameter, error)
Parameters returns a list of parameters which accompany the app CloudFormation template.
func (*AppStackConfig) ResourceTemplate ¶
func (c *AppStackConfig) ResourceTemplate(config *AppResourcesConfig) (string, error)
ResourceTemplate generates a StackSet template with all the Application-wide resources (ECR Repos, KMS keys, S3 buckets)
func (*AppStackConfig) StackName ¶
func (c *AppStackConfig) StackName() string
StackName returns the name of the CloudFormation stack (based on the application name).
func (*AppStackConfig) StackSetAdminRoleARN ¶
func (c *AppStackConfig) StackSetAdminRoleARN() string
StackSetAdminRoleARN returns the role ARN of the role used to administer the Application StackSet.
func (*AppStackConfig) StackSetDescription ¶
func (c *AppStackConfig) StackSetDescription() string
StackSetDescription returns the description of the StackSet for application resources.
func (*AppStackConfig) StackSetExecutionRoleName ¶
func (c *AppStackConfig) StackSetExecutionRoleName() string
StackSetExecutionRoleName returns the role name of the role used to actually create Application resources.
func (*AppStackConfig) StackSetName ¶
func (c *AppStackConfig) StackSetName() string
StackSetName returns the name of the CloudFormation StackSet (based on the application name).
func (*AppStackConfig) Tags ¶
func (c *AppStackConfig) Tags() []*cloudformation.Tag
Tags returns the tags that should be applied to the Application CloudFormation stack.
func (*AppStackConfig) Template ¶
func (c *AppStackConfig) Template() (string, error)
Template returns the environment CloudFormation template.
type BackendService ¶
type BackendService struct {
// contains filtered or unexported fields
}
BackendService represents the configuration needed to create a CloudFormation stack from a backend service manifest.
func NewBackendService ¶
func NewBackendService(mft *manifest.BackendService, env, app string, rc RuntimeConfig) (*BackendService, error)
NewBackendService creates a new BackendService stack from a manifest file.
func (*BackendService) Parameters ¶
func (s *BackendService) Parameters() ([]*cloudformation.Parameter, error)
Parameters returns the list of CloudFormation parameters used by the template.
func (*BackendService) SerializedParameters ¶
func (s *BackendService) SerializedParameters() (string, error)
SerializedParameters returns the CloudFormation stack's parameters serialized to a YAML document annotated with comments for readability to users.
func (BackendService) StackName ¶
func (w BackendService) StackName() string
StackName returns the name of the stack.
func (BackendService) Tags ¶
func (w BackendService) Tags() []*cloudformation.Tag
Tags returns the list of tags to apply to the CloudFormation stack.
func (*BackendService) Template ¶
func (s *BackendService) Template() (string, error)
Template returns the CloudFormation template for the backend service.
type DeployedAppMetadata ¶
type DeployedAppMetadata struct {
Metadata AppResourcesConfig `yaml:"Metadata"`
}
DeployedAppMetadata wraps the Metadata field of a deployed application StackSet.
type ECRImage ¶ added in v0.5.0
type ECRImage struct { RepoURL string // RepoURL is the ECR repository URL the container image should be pushed to. ImageTag string // Tag is the container image's unique tag. }
ECRImage represents configuration about the pushed ECR image that is needed to create a CloudFormation stack.
func (ECRImage) GetLocation ¶ added in v0.5.0
GetLocation returns the location of the ECR image.
type EnvStackConfig ¶
type EnvStackConfig struct {
// contains filtered or unexported fields
}
EnvStackConfig is for providing all the values to set up an environment stack and to interpret the outputs from it.
func NewEnvStackConfig ¶
func NewEnvStackConfig(input *deploy.CreateEnvironmentInput) *EnvStackConfig
NewEnvStackConfig sets up a struct which can provide values to CloudFormation for spinning up an environment.
func (*EnvStackConfig) Parameters ¶
func (e *EnvStackConfig) Parameters() ([]*cloudformation.Parameter, error)
Parameters returns the parameters to be passed into a environment CloudFormation template.
func (*EnvStackConfig) StackName ¶
func (e *EnvStackConfig) StackName() string
StackName returns the name of the CloudFormation stack (based on the app and env names).
func (*EnvStackConfig) Tags ¶
func (e *EnvStackConfig) Tags() []*cloudformation.Tag
Tags returns the tags that should be applied to the environment CloudFormation stack.
func (*EnvStackConfig) Template ¶
func (e *EnvStackConfig) Template() (string, error)
Template returns the environment CloudFormation template.
func (*EnvStackConfig) ToEnv ¶
func (e *EnvStackConfig) ToEnv(stack *cloudformation.Stack) (*config.Environment, error)
ToEnv inspects an environment cloudformation stack and constructs an environment struct out of it (including resources like ECR Repo)
type LoadBalancedWebService ¶
type LoadBalancedWebService struct {
// contains filtered or unexported fields
}
LoadBalancedWebService represents the configuration needed to create a CloudFormation stack from a load balanced web service manifest.
func NewHTTPSLoadBalancedWebService ¶
func NewHTTPSLoadBalancedWebService(mft *manifest.LoadBalancedWebService, env, app string, rc RuntimeConfig) (*LoadBalancedWebService, error)
NewHTTPSLoadBalancedWebService creates a new LoadBalancedWebService stack from its manifest that needs to be deployed to a environment within an application. It creates an HTTPS listener and assumes that the environment it's being deployed into has an HTTPS configured listener.
func NewLoadBalancedWebService ¶
func NewLoadBalancedWebService(mft *manifest.LoadBalancedWebService, env, app string, rc RuntimeConfig) (*LoadBalancedWebService, error)
NewLoadBalancedWebService creates a new LoadBalancedWebService stack from a manifest file.
func (*LoadBalancedWebService) Parameters ¶
func (s *LoadBalancedWebService) Parameters() ([]*cloudformation.Parameter, error)
Parameters returns the list of CloudFormation parameters used by the template.
func (*LoadBalancedWebService) SerializedParameters ¶
func (s *LoadBalancedWebService) SerializedParameters() (string, error)
SerializedParameters returns the CloudFormation stack's parameters serialized to a YAML document annotated with comments for readability to users.
func (LoadBalancedWebService) StackName ¶
func (w LoadBalancedWebService) StackName() string
StackName returns the name of the stack.
func (LoadBalancedWebService) Tags ¶
func (w LoadBalancedWebService) Tags() []*cloudformation.Tag
Tags returns the list of tags to apply to the CloudFormation stack.
func (*LoadBalancedWebService) Template ¶
func (s *LoadBalancedWebService) Template() (string, error)
Template returns the CloudFormation template for the service parametrized for the environment.
type RuntimeConfig ¶
type RuntimeConfig struct { Image *ECRImage // Optional. Image location in an ECR repository. AddonsTemplateURL string // Optional. S3 object URL for the addons template. AdditionalTags map[string]string // AdditionalTags are labels applied to resources in the workload stack. }
RuntimeConfig represents configuration that's defined outside of the manifest file that is needed to create a CloudFormation stack.
type ScheduledJob ¶ added in v0.5.0
type ScheduledJob struct {
// contains filtered or unexported fields
}
ScheduledJob represents the configuration needed to create a Cloudformation stack from a scheduled job manfiest.
func NewScheduledJob ¶ added in v0.5.0
func NewScheduledJob(mft *manifest.ScheduledJob, env, app string, rc RuntimeConfig) (*ScheduledJob, error)
NewScheduledJob creates a new ScheduledJob stack from a manifest file.
func (*ScheduledJob) Parameters ¶ added in v0.5.0
func (j *ScheduledJob) Parameters() ([]*cloudformation.Parameter, error)
Parameters returns the list of CloudFormation parameters used by the template.
func (*ScheduledJob) SerializedParameters ¶ added in v0.5.0
func (j *ScheduledJob) SerializedParameters() (string, error)
SerializedParameters returns the CloudFormation stack's parameters serialized to a YAML document annotated with comments for readability.
func (ScheduledJob) StackName ¶ added in v0.5.0
func (w ScheduledJob) StackName() string
StackName returns the name of the stack.
func (ScheduledJob) Tags ¶ added in v0.5.0
func (w ScheduledJob) Tags() []*cloudformation.Tag
Tags returns the list of tags to apply to the CloudFormation stack.
func (*ScheduledJob) Template ¶ added in v0.5.0
func (j *ScheduledJob) Template() (string, error)
Template returns the CloudFormation template for the scheduled job.
type TaskStackName ¶ added in v1.1.0
type TaskStackName string
TaskStackName holds the name of a Copilot one-off task stack.
func NameForTask ¶
func NameForTask(task string) TaskStackName
NameForTask returns the stack name for a task.
func (TaskStackName) TaskName ¶ added in v1.1.0
func (t TaskStackName) TaskName() string
TaskName returns the name of the task family, generated from the stack name