Documentation ¶
Overview ¶
Package template renders the static files under the "/templates/" directory.
Index ¶
- Constants
- func AvailableEnvFeatures() []string
- func DashReplacedLogicalIDToOriginal(safeLogicalID string) string
- func EnvVarNameFunc(s string) string
- func EnvVarSecretFunc(s string) string
- func FmtSliceFunc(elems []string) string
- func FriendlyEnvFeatureName(feature string) string
- func IncFunc(i int) int
- func IsARNFunc(value string) bool
- func LeastVersionForFeature(feature string) string
- func QuoteSliceFunc(elems []string) []string
- func ReplaceDashesFunc(logicalID string) string
- func SecretFromImportedSSMOrARN(value string) importedSSMorSecretARN
- func SecretFromPlainSSMOrARN(value string) plainSSMOrSecretARN
- func SecretFromSecretsManager(value string) secretsManagerName
- func StrconvUint16(val uint16) string
- func StripNonAlphaNumFunc(s string) string
- func ToSnakeCaseFunc(s string) string
- func TrimSlashPrefix(value string) string
- func URLSafeVersion(version string) string
- type ALBListener
- type ALBListenerRule
- type Addons
- type AdvancedCount
- type AliasesForHostedZone
- type AutoscalingOpts
- type AutoscalingQueueDelayOpts
- type CDKImport
- type CDNConfig
- type CDNStaticAssetConfig
- type CFNResource
- type CFNType
- type CapacityProviderStrategy
- type ContainerHealthCheck
- type Content
- type Cooldown
- type DeadLetterQueue
- type DeploymentConfigurationOpts
- type EFSPermission
- type EFSVolumeConfiguration
- type ELBAccessLogs
- type EnvOpts
- type ExecuteCommandOpts
- type FIFOQueueConfig
- type FIFOTopicConfig
- type FileSystemID
- type HTTPConfig
- type HTTPHealthCheckOpts
- type ImportVPC
- type ImportedALB
- type LBListener
- type LBSecurityGroup
- type LogConfigOpts
- type ManagedVPC
- type ManagedVolumeCreationInfo
- type MountPoint
- type NLBHealthCheck
- type NetworkLoadBalancer
- type NetworkLoadBalancerListener
- type NetworkOpts
- type ObservabilityOpts
- type ParseOption
- type Parser
- type PortMapping
- type PrivateHTTPConfig
- type PublicHTTPConfig
- type PublishOpts
- type ReadParser
- type Reader
- type RollingUpdateRollbackConfig
- type RuntimePlatformOpts
- type S3ObjectLocation
- type SQSQueue
- type Secret
- type SecurityGroup
- type SecurityGroupConfig
- type SecurityGroupRule
- type ServiceConnectOpts
- type ServiceConnectServer
- type SidecarOpts
- type SidecarStorageOpts
- type StateMachineOpts
- type StorageOpts
- type SubscribeOpts
- type Telemetry
- type Template
- func (t *Template) Parse(path string, data interface{}, options ...ParseOption) (*Content, error)
- func (t *Template) ParseBackendService(data WorkloadOpts) (*Content, error)
- func (t *Template) ParseEnv(data *EnvOpts) (*Content, error)
- func (t *Template) ParseEnvBootstrap(data *EnvOpts, options ...ParseOption) (*Content, error)
- func (t *Template) ParseLoadBalancedWebService(data WorkloadOpts) (*Content, error)
- func (t *Template) ParsePipeline(data interface{}) (*Content, error)
- func (t *Template) ParseRequestDrivenWebService(data WorkloadOpts) (*Content, error)
- func (t *Template) ParseScheduledJob(data WorkloadOpts) (*Content, error)
- func (t *Template) ParseStaticSite(data WorkloadOpts) (*Content, error)
- func (t *Template) ParseWorkerService(data WorkloadOpts) (*Content, error)
- func (t *Template) Read(path string) (*Content, error)
- func (t *Template) UploadEnvironmentCustomResources(upload s3.CompressAndUploadFunc) (map[string]string, error)
- func (t *Template) WalkOverridesCDKDir(resources []CFNResource, fn WalkDirFunc, requiresEnv bool) error
- func (t *Template) WalkOverridesPatchDir(fn WalkDirFunc) error
- type Topic
- type TopicSubscription
- type Uploadable
- type VPCConfig
- type VPCFlowLogs
- type Variable
- type Volume
- type WalkDirFunc
- type WorkloadNestedStackOpts
- type WorkloadOpts
Constants ¶
const ( SecretInitMinEnvVersion = "v1.4.0" JobRunMinEnvVersion = "v1.12.0" RunLocalProxyMinEnvVersion = "v1.32.0" )
The minimum required environment template version for various features.
const ( ALBFeatureName = "ALBWorkloads" EFSFeatureName = "EFSWorkloads" NATFeatureName = "NATWorkloads" InternalALBFeatureName = "InternalALBWorkloads" AliasesFeatureName = "Aliases" AppRunnerPrivateServiceFeatureName = "AppRunnerPrivateWorkloads" )
Available env-controller managed feature names.
const ( DNSCertValidatorFileName = "dns-cert-validator" CertReplicatorFileName = "cert-replicator" DNSDelegationFileName = "dns-delegation" CustomDomainFileName = "custom-domain" AppRunnerCustomDomainLambdaFileName = "custom-domain-app-runner" )
File names under "templates/".
const ( // AWS VPC networking configuration. EnablePublicIP = "ENABLED" DisablePublicIP = "DISABLED" PublicSubnetsPlacement = "PublicSubnets" PrivateSubnetsPlacement = "PrivateSubnets" // RuntimePlatform configuration. OSLinux = "LINUX" OSWindowsServerFull = OSWindowsServer2019Full // Alias 2019 as Default WindowsSever Full platform. OSWindowsServerCore = OSWindowsServer2019Core // Alias 2019 as Default WindowsSever Core platform. OSWindowsServer2019Full = "WINDOWS_SERVER_2019_FULL" OSWindowsServer2019Core = "WINDOWS_SERVER_2019_CORE" OSWindowsServer2022Full = "WINDOWS_SERVER_2022_FULL" OSWindowsServer2022Core = "WINDOWS_SERVER_2022_CORE" ArchX86 = "X86_64" ArchARM64 = "ARM64" )
Constants for workload options.
const AddonsStackLogicalID = "AddonsStack"
AddonsStackLogicalID is the logical ID for the addon stack resource in the main template.
const LastForceDeployIDOutputName = "LastForceDeployID"
LastForceDeployIDOutputName is the logical ID of the deployment controller output.
const (
LogicalIDHTTPListenerRuleWithDomain = "HTTPListenerRuleWithDomain"
)
Constants for stack resource logical IDs
const (
// NoExposedContainerPort indicates no port should be exposed for the service container.
NoExposedContainerPort = "-1"
)
Variables ¶
This section is empty.
Functions ¶
func AvailableEnvFeatures ¶ added in v1.19.0
func AvailableEnvFeatures() []string
AvailableEnvFeatures returns a list of the latest available feature, named after their corresponding parameter names.
func DashReplacedLogicalIDToOriginal ¶
DashReplacedLogicalIDToOriginal takes a "sanitized" logical ID and converts it back to its original form, with dashes.
func EnvVarNameFunc ¶
EnvVarNameFunc converts an input resource name to LogicalIDSafe, then appends "Name" to the end.
func EnvVarSecretFunc ¶ added in v1.5.0
EnvVarSecretFunc converts an input resource name to LogicalIDSafe, then appends "Secret" to the end.
func FmtSliceFunc ¶
FmtSliceFunc renders a string representation of a go string slice, surrounded by brackets and joined by commas.
func FriendlyEnvFeatureName ¶ added in v1.19.0
FriendlyEnvFeatureName returns a user-friendly feature name given a env-controller managed parameter name. If there isn't one, it returns the parameter name that it is given.
func IsARNFunc ¶ added in v1.16.0
IsARNFunc takes a string value and determines if it's an ARN or not.
func LeastVersionForFeature ¶ added in v1.19.0
LeastVersionForFeature maps each feature to the least environment template version it requires.
func QuoteSliceFunc ¶
QuoteSliceFunc places quotation marks around all elements of a go string slice.
func ReplaceDashesFunc ¶
ReplaceDashesFunc takes a CloudFormation logical ID, and sanitizes it by removing "-" characters (not allowed) and replacing them with "DASH" (allowed by CloudFormation but not permitted in ecs-cli generated resource names).
func SecretFromImportedSSMOrARN ¶ added in v1.25.0
func SecretFromImportedSSMOrARN(value string) importedSSMorSecretARN
SecretFromImportedSSMOrARN returns a Secret that refers to imported name of SSM parameter or a secret ARN.
func SecretFromPlainSSMOrARN ¶ added in v1.25.0
func SecretFromPlainSSMOrARN(value string) plainSSMOrSecretARN
SecretFromPlainSSMOrARN returns a Secret that refers to an SSM parameter or a secret ARN.
func SecretFromSecretsManager ¶ added in v1.15.0
func SecretFromSecretsManager(value string) secretsManagerName
SecretFromSecretsManager returns a Secret that refers to SecretsManager secret name.
func StrconvUint16 ¶ added in v1.26.0
StrconvUint16 returns string converted from uint16.
func StripNonAlphaNumFunc ¶
StripNonAlphaNumFunc strips non-alphanumeric characters from an input string.
func ToSnakeCaseFunc ¶
ToSnakeCaseFunc transforms a CamelCase input string s into an upper SNAKE_CASE string and returns it. For example, "usersDdbTableName" becomes "USERS_DDB_TABLE_NAME".
func TrimSlashPrefix ¶ added in v1.16.0
TrimSlashPrefix takes a string value and removes slash prefix from the string if present.
func URLSafeVersion ¶ added in v1.29.1
URLSafeVersion takes a Copilot version and replaces the '+' character with the URL-safe '%2B'.
Types ¶
type ALBListener ¶ added in v1.27.0
type ALBListener struct { Rules []ALBListenerRule HostedZoneAliases AliasesForHostedZone IsHTTPS bool // True if the listener listening on port 443. MainContainerPort string }
ALBListener holds configuration that's needed for an Application Load Balancer Listener.
func (*ALBListener) Aliases ¶ added in v1.27.0
func (cfg *ALBListener) Aliases() []string
Aliases return all the unique aliases specified across all the routing rules in ALB.
func (*ALBListener) RulePaths ¶ added in v1.27.0
func (cfg *ALBListener) RulePaths() []string
RulePaths returns a slice consisting of all the routing paths mentioned across multiple listener rules.
type ALBListenerRule ¶ added in v1.27.0
type ALBListenerRule struct { // The path that the Application Load Balancer listens to. Path string // The target container and port to which the traffic is routed to from the Application Load Balancer. TargetContainer string TargetPort string Aliases []string AllowedSourceIps []string Stickiness string HTTPHealthCheck HTTPHealthCheckOpts HTTPVersion string RedirectToHTTPS bool // Only relevant if HTTPSListener is true. DeregistrationDelay *int64 }
ALBListenerRule holds configuration that's needed for an Application Load Balancer listener rule.
func (ALBListenerRule) HealthCheckProtocol ¶ added in v1.27.0
func (lr ALBListenerRule) HealthCheckProtocol() string
HealthCheckProtocol returns the protocol for the Load Balancer health check, or an empty string if it shouldn't be configured, defaulting to the target protocol. (which is what happens, even if it isn't documented as such :)) https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckprotocol
type AdvancedCount ¶ added in v1.6.0
type AdvancedCount struct { Spot *int Autoscaling *AutoscalingOpts Cps []*CapacityProviderStrategy }
AdvancedCount holds configuration for autoscaling and capacity provider parameters.
type AliasesForHostedZone ¶ added in v1.19.0
AliasesForHostedZone maps hosted zone IDs to aliases that belong to it.
type AutoscalingOpts ¶ added in v0.4.0
type AutoscalingOpts struct { MinCapacity *int MaxCapacity *int CPU *float64 Memory *float64 Requests *float64 ResponseTime *float64 CPUCooldown Cooldown MemCooldown Cooldown ReqCooldown Cooldown RespTimeCooldown Cooldown QueueDelayCooldown Cooldown QueueDelay *AutoscalingQueueDelayOpts }
AutoscalingOpts holds configuration that's needed for Auto Scaling.
type AutoscalingQueueDelayOpts ¶ added in v1.11.0
type AutoscalingQueueDelayOpts struct {
AcceptableBacklogPerTask int
}
AutoscalingQueueDelayOpts holds configuration to scale SQS queues.
type CDNConfig ¶ added in v1.20.0
type CDNConfig struct { ImportedCertificate *string TerminateTLS bool Static *CDNStaticAssetConfig }
CDNConfig represents a Content Delivery Network deployed by CloudFront.
type CDNStaticAssetConfig ¶ added in v1.25.0
CDNStaticAssetConfig represents static assets config for a Content Delivery Network.
type CFNResource ¶ added in v1.25.0
CFNResource represents a resource rendered in a CloudFormation template.
type CFNType ¶ added in v1.25.0
type CFNType string
CFNType is a CloudFormation resource type such as "AWS::ECS::Service".
func (CFNType) ImportName ¶ added in v1.25.0
ImportName returns the name of the CDK package for the given CloudFormation type.
func (CFNType) ImportShortRename ¶ added in v1.25.0
ImportShortRename returns a human-friendly shortened rename of the CDK package for the given CloudFormation type.
func (CFNType) L1ConstructName ¶ added in v1.25.0
L1ConstructName returns the name of the L1 construct representing the CloudFormation type.
type CapacityProviderStrategy ¶ added in v1.6.0
CapacityProviderStrategy holds the configuration needed for a CapacityProviderStrategyItem on a Service
type ContainerHealthCheck ¶ added in v1.11.0
type ContainerHealthCheck struct { Command []string Interval *int64 Retries *int64 StartPeriod *int64 Timeout *int64 }
ContainerHealthCheck holds configuration for container health check.
type Content ¶
Content represents the parsed template.
func (*Content) MarshalBinary ¶
MarshalBinary returns the contents as binary and implements the encoding.BinaryMarshaler interface.
type Cooldown ¶ added in v1.20.0
Cooldown holds configuration needed for autoscaling cooldown fields.
type DeadLetterQueue ¶ added in v1.9.0
type DeadLetterQueue struct {
Tries *uint16
}
DeadLetterQueue holds information needed to render a dead-letter SQS Queue in a container definition.
type DeploymentConfigurationOpts ¶ added in v1.18.0
type DeploymentConfigurationOpts struct { // The lower limit on the number of tasks that should be running during a service deployment or when a container instance is draining. MinHealthyPercent int // The upper limit on the number of tasks that should be running during a service deployment or when a container instance is draining. MaxPercent int Rollback RollingUpdateRollbackConfig }
DeploymentConfigurationOpts holds configuration for rolling deployments.
type EFSPermission ¶ added in v1.3.0
type EFSPermission struct { FilesystemID FileSystemID Write bool AccessPointID *string }
EFSPermission holds information needed to render an IAM policy statement.
type EFSVolumeConfiguration ¶ added in v1.5.0
type EFSVolumeConfiguration struct { // EFSVolumeConfiguration Filesystem FileSystemID RootDirectory *string // "/" or empty are equivalent // Authorization Config AccessPointID *string IAM *string // ENABLED or DISABLED }
EFSVolumeConfiguration contains information about how to specify externally managed file systems.
type ELBAccessLogs ¶ added in v1.21.0
ELBAccessLogs represents configuration for ELB access logs S3 bucket.
func (*ELBAccessLogs) ShouldCreateBucket ¶ added in v1.21.0
func (elb *ELBAccessLogs) ShouldCreateBucket() bool
ShouldCreateBucket returns true if copilot should create bucket on behalf of customer.
type EnvOpts ¶ added in v0.3.0
type EnvOpts struct { AppName string // The application name. Needed to create default value for svc discovery endpoint for upgraded environments. EnvName string LatestVersion string // Custom Resources backed by Lambda functions. CustomResources map[string]S3ObjectLocation DNSDelegationLambda string DNSCertValidatorLambda string EnableLongARNFormatLambda string CustomDomainLambda string Addons *Addons ScriptBucketName string PermissionsBoundary string ArtifactBucketARN string ArtifactBucketKeyARN string VPCConfig VPCConfig PublicHTTPConfig PublicHTTPConfig PrivateHTTPConfig PrivateHTTPConfig Telemetry *Telemetry CDNConfig *CDNConfig SerializedManifest string // Serialized manifest used to render the environment template. ForceUpdateID string DelegateDNS bool }
EnvOpts holds data that can be provided to enable features in an environment stack template.
func (*EnvOpts) HasImportedCerts ¶ added in v1.22.1
HasImportedCerts returns true if any https certificates have been imported to the environment.
type ExecuteCommandOpts ¶ added in v1.4.0
type ExecuteCommandOpts struct{}
ExecuteCommandOpts holds configuration that's needed for ECS Execute Command.
type FIFOQueueConfig ¶ added in v1.22.0
type FIFOQueueConfig struct { FIFOThroughputLimit *string ContentBasedDeduplication *bool DeduplicationScope *string }
FIFOQueueConfig holds information needed to render a FIFO SQS Queue in a container definition.
type FIFOTopicConfig ¶ added in v1.22.0
type FIFOTopicConfig struct {
ContentBasedDeduplication *bool
}
FIFOTopicConfig holds configuration needed if the topic is FIFO.
type FileSystemID ¶ added in v1.30.0
type FileSystemID importableValue
FileSystemID represnts the EFS FilesystemID.
func ImportedFileSystemID ¶ added in v1.30.0
func ImportedFileSystemID(value string) FileSystemID
ImportedFileSystemID returns a EFS FilesystemID that is imported from a stack.
func PlainFileSystemID ¶ added in v1.30.0
func PlainFileSystemID(value string) FileSystemID
PlainFileSystemID returns a EFS FilesystemID that is a plain string value.
type HTTPConfig ¶ added in v1.21.0
HTTPConfig represents configuration for a Load Balancer.
type HTTPHealthCheckOpts ¶ added in v0.6.0
type HTTPHealthCheckOpts struct { // Fields with defaults always set. HealthCheckPath string GracePeriod int64 // Optional. Port string SuccessCodes string HealthyThreshold *int64 UnhealthyThreshold *int64 Interval *int64 Timeout *int64 DeregistrationDelay *int64 }
HTTPHealthCheckOpts holds configuration that's needed for HTTP Health Check.
type ImportedALB ¶ added in v1.32.0
type ImportedALB struct { Name string ARN string DNSName string HostedZoneID string Listeners []LBListener SecurityGroups []LBSecurityGroup }
ImportedALB holds the fields to import an existing ALB.
func (*ImportedALB) HTTPListenerARN ¶ added in v1.32.0
func (alb *ImportedALB) HTTPListenerARN() string
HTTPListenerARN returns the listener ARN if the protocol is HTTP.
func (*ImportedALB) HTTPSListenerARN ¶ added in v1.32.0
func (alb *ImportedALB) HTTPSListenerARN() string
HTTPSListenerARN returns the listener ARN if the protocol is HTTPS.
type LBListener ¶ added in v1.32.0
LBListener struct represents the listener of a load balancer. // TODO(jwh): instead, reuse ALBListener
type LBSecurityGroup ¶ added in v1.32.0
type LBSecurityGroup struct {
ID string
}
LBSecurityGroup struct represents the security group of a load balancer.
type LogConfigOpts ¶
type LogConfigOpts struct { Image *string Destination map[string]string EnableMetadata *string SecretOptions map[string]Secret ConfigFile *string Variables map[string]Variable Secrets map[string]Secret }
LogConfigOpts holds configuration that's needed if the service is configured with Firelens to route its logs.
type ManagedVPC ¶ added in v1.18.0
type ManagedVPC struct { CIDR string AZs []string PublicSubnetCIDRs []string PrivateSubnetCIDRs []string }
ManagedVPC holds the fields to configure a managed VPC.
type ManagedVolumeCreationInfo ¶ added in v1.5.0
ManagedVolumeCreationInfo holds information about how to create Copilot-managed access points.
type MountPoint ¶ added in v1.3.0
MountPoint holds information needed to render a MountPoint in a containerdefinition.
type NLBHealthCheck ¶ added in v1.14.0
type NLBHealthCheck struct { Port string // The port to which health check requests made from Network Load Balancer are routed to. HealthyThreshold *int64 UnhealthyThreshold *int64 Timeout *int64 Interval *int64 GracePeriod *int64 }
NLBHealthCheck holds configuration for Network Load Balancer health check.
type NetworkLoadBalancer ¶ added in v1.13.0
type NetworkLoadBalancer struct { Listener []NetworkLoadBalancerListener MainContainerPort string CertificateRequired bool Aliases []string }
NetworkLoadBalancer holds configuration that's needed for a Network Load Balancer.
type NetworkLoadBalancerListener ¶ added in v1.13.0
type NetworkLoadBalancerListener struct { // The port and protocol that the Network Load Balancer listens to. Port string Protocol string // The target container and port to which the traffic is routed to from the Network Load Balancer. TargetContainer string TargetPort string SSLPolicy *string // The SSL policy applied when using TLS protocol. Stickiness *bool HealthCheck NLBHealthCheck DeregistrationDelay *int64 }
NetworkLoadBalancerListener holds configuration that's need for a Network Load Balancer listener.
type NetworkOpts ¶ added in v1.3.0
type NetworkOpts struct { SecurityGroups []SecurityGroup AssignPublicIP string // SubnetsType and SubnetIDs are mutually exclusive. They won't be set together. SubnetsType string SubnetIDs []string DenyDefaultSecurityGroup bool }
NetworkOpts holds AWS networking configuration for the workloads.
type ObservabilityOpts ¶ added in v1.16.0
type ObservabilityOpts struct {
Tracing string // The name of the vendor used for tracing.
}
ObservabilityOpts holds configurations for observability.
type ParseOption ¶
ParseOption represents a functional option for the Parse method.
func WithFuncs ¶
func WithFuncs(fns map[string]interface{}) ParseOption
WithFuncs returns a template that can parse additional custom functions.
type Parser ¶
type Parser interface {
Parse(path string, data interface{}, options ...ParseOption) (*Content, error)
}
Parser is the interface that wraps the Parse method.
type PortMapping ¶ added in v1.26.0
PortMapping holds container port mapping configuration.
type PrivateHTTPConfig ¶ added in v1.23.0
type PrivateHTTPConfig struct { HTTPConfig CustomALBSubnets []string }
PrivateHTTPConfig represents configuration for an internal Load Balancer.
type PublicHTTPConfig ¶ added in v1.23.0
type PublicHTTPConfig struct { HTTPConfig PublicALBSourceIPs []string CIDRPrefixListIDs []string ELBAccessLogs *ELBAccessLogs }
PublicHTTPConfig represents configuration for a public facing Load Balancer.
func (*PublicHTTPConfig) HasCustomIngress ¶ added in v1.23.0
func (cfg *PublicHTTPConfig) HasCustomIngress() bool
HasCustomIngress returns true if there is any ingress specified by the customer.
type PublishOpts ¶ added in v1.8.3
type PublishOpts struct {
Topics []*Topic
}
PublishOpts holds configuration needed if the service has publishers.
type ReadParser ¶
ReadParser is the interface that wraps the Read and Parse methods.
type RollingUpdateRollbackConfig ¶ added in v1.25.0
type RollingUpdateRollbackConfig struct { AlarmNames []string // Names of existing alarms. // Custom alarms to create. CPUUtilization *float64 MemoryUtilization *float64 MessagesDelayed *int }
RollingUpdateRollbackConfig holds config for rollback alarms.
func (RollingUpdateRollbackConfig) HasCustomAlarms ¶ added in v1.25.0
func (cfg RollingUpdateRollbackConfig) HasCustomAlarms() bool
HasCustomAlarms returns true if the client is using Copilot-generated alarms for alarm-based rollbacks.
func (RollingUpdateRollbackConfig) HasRollbackAlarms ¶ added in v1.25.0
func (cfg RollingUpdateRollbackConfig) HasRollbackAlarms() bool
HasRollbackAlarms returns true if the client is using ABR.
func (RollingUpdateRollbackConfig) TruncateAlarmName ¶ added in v1.25.0
func (cfg RollingUpdateRollbackConfig) TruncateAlarmName(app, env, svc, alarmType string) string
TruncateAlarmName ensures that alarm names don't exceed the 255 character limit.
type RuntimePlatformOpts ¶ added in v1.12.0
RuntimePlatformOpts holds configuration needed for Platform configuration.
func (RuntimePlatformOpts) IsDefault ¶ added in v1.12.0
func (p RuntimePlatformOpts) IsDefault() bool
IsDefault returns true if the platform matches the default docker image platform of "linux/amd64".
func (RuntimePlatformOpts) Version ¶ added in v1.12.0
func (p RuntimePlatformOpts) Version() string
Version returns the Fargate platform version based on the selected os family.
type S3ObjectLocation ¶ added in v1.20.0
type S3ObjectLocation struct { Bucket string // Name of the bucket. Key string // Key of the object. }
S3ObjectLocation represents an object stored in an S3 bucket.
type SQSQueue ¶ added in v1.9.0
type SQSQueue struct { Retention *int64 Delay *int64 Timeout *int64 DeadLetter *DeadLetterQueue FIFOQueueConfig *FIFOQueueConfig }
SQSQueue holds information needed to render a SQS Queue in a container definition.
type Secret ¶ added in v1.15.0
type Secret importableSubValueFrom
A Secret represents an SSM or SecretsManager secret that can be rendered in CloudFormation.
type SecurityGroup ¶ added in v1.25.0
type SecurityGroup importableValue
SecurityGroup represents the ID of an additional security group associated with the tasks.
func ImportedSecurityGroup ¶ added in v1.25.0
func ImportedSecurityGroup(name string) SecurityGroup
ImportedSecurityGroup returns a SecurityGroup that should be imported from a stack.
func PlainSecurityGroup ¶ added in v1.25.0
func PlainSecurityGroup(value string) SecurityGroup
PlainSecurityGroup returns a SecurityGroup that is a plain string value.
type SecurityGroupConfig ¶ added in v1.21.0
type SecurityGroupConfig struct { Ingress []SecurityGroupRule Egress []SecurityGroupRule }
SecurityGroupConfig holds the fields to import security group config
type SecurityGroupRule ¶ added in v1.21.0
SecurityGroupRule holds the fields to import security group rule
type ServiceConnectOpts ¶ added in v1.31.0
type ServiceConnectOpts struct { Server *ServiceConnectServer Client bool }
ServiceConnectOpts defines the options for service connect. If Client is false, logically Server must be nil.
type ServiceConnectServer ¶ added in v1.31.0
ServiceConnectServer defines the container name and port which a service routes Service Connect through.
type SidecarOpts ¶
type SidecarOpts struct { Name string Image *string Essential *bool CredsParam *string Variables map[string]Variable Secrets map[string]Secret Storage SidecarStorageOpts DockerLabels map[string]string DependsOn map[string]string EntryPoint []string Command []string HealthCheck *ContainerHealthCheck PortMappings []*PortMapping }
SidecarOpts holds configuration that's needed if the service has sidecar containers.
type SidecarStorageOpts ¶ added in v1.12.0
type SidecarStorageOpts struct {
MountPoints []*MountPoint
}
SidecarStorageOpts holds data structures for rendering Mount Points inside of a sidecar.
type StateMachineOpts ¶ added in v0.5.0
StateMachineOpts holds configuration needed for State Machine retries and timeout.
type StorageOpts ¶ added in v1.3.0
type StorageOpts struct { Ephemeral *int ReadonlyRootFS *bool Volumes []*Volume MountPoints []*MountPoint EFSPerms []*EFSPermission ManagedVolumeInfo *ManagedVolumeCreationInfo // Used for delegating CreationInfo for Copilot-managed EFS. }
StorageOpts holds data structures for rendering Volumes and Mount Points
type SubscribeOpts ¶ added in v1.9.0
type SubscribeOpts struct { Topics []*TopicSubscription Queue *SQSQueue }
SubscribeOpts holds configuration needed if the service has subscriptions.
func (*SubscribeOpts) HasTopicQueues ¶ added in v1.10.0
func (s *SubscribeOpts) HasTopicQueues() bool
HasTopicQueues returns true if any individual subscription has a dedicated queue.
type Telemetry ¶ added in v1.18.0
type Telemetry struct {
EnableContainerInsights bool
}
Telemetry represents optional observability and monitoring configuration.
type Template ¶
type Template struct {
// contains filtered or unexported fields
}
Template represents the "/templates/" directory that holds static files to be embedded in the binary.
func New ¶
func New() *Template
New returns a Template object that can be used to parse files under the "/templates/" directory.
func (*Template) Parse ¶
func (t *Template) Parse(path string, data interface{}, options ...ParseOption) (*Content, error)
Parse parses the template under "/templates/{path}" with the specified data object and returns its content.
func (*Template) ParseBackendService ¶
func (t *Template) ParseBackendService(data WorkloadOpts) (*Content, error)
ParseBackendService parses a backend service's CloudFormation template with the specified data object and returns its content.
func (*Template) ParseEnv ¶ added in v0.3.0
ParseEnv parses an environment's CloudFormation template with the specified data object and returns its content.
func (*Template) ParseEnvBootstrap ¶ added in v1.20.0
func (t *Template) ParseEnvBootstrap(data *EnvOpts, options ...ParseOption) (*Content, error)
ParseEnvBootstrap parses the CloudFormation template that bootstrap IAM resources with the specified data object and returns its content.
func (*Template) ParseLoadBalancedWebService ¶
func (t *Template) ParseLoadBalancedWebService(data WorkloadOpts) (*Content, error)
ParseLoadBalancedWebService parses a load balanced web service's CloudFormation template with the specified data object and returns its content.
func (*Template) ParsePipeline ¶ added in v1.29.1
ParsePipeline parses a pipeline's CloudFormation template with the specified data object and returns its content.
func (*Template) ParseRequestDrivenWebService ¶ added in v1.7.0
func (t *Template) ParseRequestDrivenWebService(data WorkloadOpts) (*Content, error)
ParseRequestDrivenWebService parses a request-driven web service's CloudFormation template with the specified data object and returns its content.
func (*Template) ParseScheduledJob ¶ added in v0.5.0
func (t *Template) ParseScheduledJob(data WorkloadOpts) (*Content, error)
ParseScheduledJob parses a scheduled job's Cloudformation Template
func (*Template) ParseStaticSite ¶ added in v1.27.0
func (t *Template) ParseStaticSite(data WorkloadOpts) (*Content, error)
ParseStaticSite parses a static site service's CloudFormation template with the specified data object and returns its content.
func (*Template) ParseWorkerService ¶ added in v1.9.0
func (t *Template) ParseWorkerService(data WorkloadOpts) (*Content, error)
ParseWorkerService parses a worker service's CloudFormation template with the specified data object and returns its content.
func (*Template) UploadEnvironmentCustomResources ¶ added in v1.4.0
func (t *Template) UploadEnvironmentCustomResources(upload s3.CompressAndUploadFunc) (map[string]string, error)
UploadEnvironmentCustomResources uploads the environment custom resource scripts.
func (*Template) WalkOverridesCDKDir ¶ added in v1.25.0
func (t *Template) WalkOverridesCDKDir(resources []CFNResource, fn WalkDirFunc, requiresEnv bool) error
WalkOverridesCDKDir walks through the overrides/cdk templates and calls fn for each parsed template file.
func (*Template) WalkOverridesPatchDir ¶ added in v1.27.0
func (t *Template) WalkOverridesPatchDir(fn WalkDirFunc) error
WalkOverridesPatchDir walks through the overrides/yamlpatch templates and calls fn for each parsed template file.
type Topic ¶ added in v1.9.0
type Topic struct { Name *string FIFOTopicConfig *FIFOTopicConfig Region string Partition string AccountID string App string Env string Svc string }
Topic holds information needed to render a SNSTopic in a container definition.
type TopicSubscription ¶ added in v1.9.0
TopicSubscription holds information needed to render a SNS Topic Subscription in a container definition.
type Uploadable ¶ added in v1.4.0
type Uploadable struct {
// contains filtered or unexported fields
}
Uploadable is an uploadable file.
func (Uploadable) Content ¶ added in v1.4.0
func (e Uploadable) Content() []byte
Content returns the content of the custom resource script.
func (Uploadable) Name ¶ added in v1.4.0
func (e Uploadable) Name() string
Name returns the name of the custom resource script.
type VPCConfig ¶ added in v1.18.0
type VPCConfig struct { Imported *ImportVPC // If not-nil, use the imported VPC resources instead of the Managed VPC. Managed ManagedVPC AllowVPCIngress bool SecurityGroupConfig *SecurityGroupConfig FlowLogs *VPCFlowLogs }
VPCConfig represents the VPC configuration.
type VPCFlowLogs ¶ added in v1.24.0
type VPCFlowLogs struct {
Retention *int
}
VPCFlowLogs holds the fields to configure logging IP traffic using VPC flow logs.
type Variable ¶ added in v1.25.0
type Variable importableValue
Variable represents the value of an environment variable.
func ImportedVariable ¶ added in v1.25.0
ImportedVariable returns a Variable that should be imported from a stack.
func PlainVariable ¶ added in v1.25.0
PlainVariable returns a Variable that is a plain string value.
type Volume ¶ added in v1.3.0
type Volume struct { Name *string EFS *EFSVolumeConfiguration }
Volume contains fields that render a volume, its name, and EFSVolumeConfiguration
type WalkDirFunc ¶ added in v1.25.0
WalkDirFunc is the type of the function called by any Walk functions while visiting each file under a directory.
type WorkloadNestedStackOpts ¶ added in v0.5.0
type WorkloadNestedStackOpts struct { StackName string VariableOutputs []string SecretOutputs []string PolicyOutputs []string SecurityGroupOutputs []string }
WorkloadNestedStackOpts holds configuration that's needed if the workload stack has a nested stack.
type WorkloadOpts ¶ added in v0.5.0
type WorkloadOpts struct { AppName string EnvName string WorkloadName string SerializedManifest string // Raw manifest file used to deploy the workload. EnvVersion string Version string // Configuration for the main container. PortMappings []*PortMapping Variables map[string]Variable Secrets map[string]Secret EntryPoint []string Command []string ImportedALB *ImportedALB // Additional options that are common between **all** workload templates. Tags map[string]string // Used by App Runner workloads to tag App Runner service resources NestedStack *WorkloadNestedStackOpts // Outputs from nested stacks such as the addons stack. AddonsExtraParams string // Additional user defined Parameters for the addons stack. Sidecars []*SidecarOpts LogConfig *LogConfigOpts Autoscaling *AutoscalingOpts CapacityProviders []*CapacityProviderStrategy DesiredCountOnSpot *int Storage *StorageOpts Network NetworkOpts ExecuteCommand *ExecuteCommandOpts Platform RuntimePlatformOpts DockerLabels map[string]string DependsOn map[string]string Publish *PublishOpts ServiceDiscoveryEndpoint string ALBEnabled bool CredentialsParameter string PermissionsBoundary string // Additional options for service templates. WorkloadType string HealthCheck *ContainerHealthCheck GracePeriod *int64 NLB *NetworkLoadBalancer ALBListener *ALBListener DeploymentConfiguration DeploymentConfigurationOpts ServiceConnectOpts ServiceConnectOpts // Custom Resources backed by Lambda functions. CustomResources map[string]S3ObjectLocation // Additional options for job templates. ScheduleExpression string StateMachine *StateMachineOpts // Additional options for request driven web service templates. StartCommand *string EnableHealthCheck bool Observability ObservabilityOpts Private bool AppRunnerVPCEndpoint *string Count *string // Input needed for the custom resource that adds a custom domain to the service. Alias *string AWSSDKLayer *string AppDNSDelegationRole *string AppDNSName *string // Additional options for worker service templates. Subscribe *SubscribeOpts // Additional options for static site template. AssetMappingFileBucket string AssetMappingFilePath string StaticSiteAlias string StaticSiteCert string }
WorkloadOpts holds optional data that can be provided to enable features in a workload stack template.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package artifactpath holds functions to generate the S3 object path for artifacts.
|
Package artifactpath holds functions to generate the S3 object path for artifacts. |
Package diff provides functionalities to compare two YAML documents.
|
Package diff provides functionalities to compare two YAML documents. |
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
Package override provides functionality to replace content from vended templates.
|
Package override provides functionality to replace content from vended templates. |
Package templatetest provides test doubles for embedded templates.
|
Package templatetest provides test doubles for embedded templates. |