Documentation
¶
Index ¶
- type Behavior
- type CallerRefFn
- type Distribution
- type DistributionBuilder
- func (b DistributionBuilder) Build() (Distribution, error)
- func (b DistributionBuilder) WithAlternateDomains(domains []string) DistributionBuilder
- func (b DistributionBuilder) WithIPv6() DistributionBuilder
- func (b DistributionBuilder) WithInfo(id string, arn string, address string) DistributionBuilder
- func (b DistributionBuilder) WithLogging(bucketAddress, prefix string) DistributionBuilder
- func (b DistributionBuilder) WithOrigin(o Origin) DistributionBuilder
- func (b DistributionBuilder) WithTLS(certARN, securityPolicyID string) DistributionBuilder
- func (b DistributionBuilder) WithTags(tags map[string]string) DistributionBuilder
- func (b DistributionBuilder) WithWebACL(id string) DistributionBuilder
- type DistributionRepository
- type Origin
- type OriginBuilder
- func (b OriginBuilder) Build() Origin
- func (b OriginBuilder) WithBehavior(pathPattern string) OriginBuilder
- func (b OriginBuilder) WithCachePolicy(policy string) OriginBuilder
- func (b OriginBuilder) WithRequestPolicy(policy string) OriginBuilder
- func (b OriginBuilder) WithResponseTimeout(rpTimeout int64) OriginBuilder
- func (b OriginBuilder) WithViewerFunction(fnARN string) OriginBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Behavior ¶
type Behavior struct {
// PathPattern is the path pattern used when configuring the Behavior
PathPattern string
// RequestPolicy is the ID of the origin request policy to be associated with this Behavior
RequestPolicy string
// CachePolicy is the ID of the cache policy to be associated with this Behavior
CachePolicy string
// ViewerFnARN is the ARN of the function to be associated with the Behavior's viewer requests
ViewerFnARN string
}
Behavior represents a CloudFront Cache Behavior
type CallerRefFn ¶ added in v0.0.8
type CallerRefFn func() string
CallerRefFn is the function that should be called when setting the request's caller reference. It should be a unique identifier to prevent the request from being replayed. https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html
type Distribution ¶ added in v0.0.7
type Distribution struct {
ID string
ARN string
Address string
AlternateDomains []string
CustomOrigins []Origin
DefaultOrigin Origin
Description string
IPv6Enabled bool
Logging loggingConfig
PriceClass string
Tags map[string]string
TLS tlsConfig
WebACLID string
}
Distribution represents a CloudFront distribution
type DistributionBuilder ¶ added in v0.0.7
type DistributionBuilder struct {
// contains filtered or unexported fields
}
DistributionBuilder allows the construction of a Distribution
func NewDistributionBuilder ¶ added in v0.0.7
func NewDistributionBuilder(defaultOriginDomain, description, priceClass, group string) DistributionBuilder
NewDistributionBuilder takes required arguments for a distribution and returns a DistributionBuilder
func (DistributionBuilder) Build ¶ added in v0.0.7
func (b DistributionBuilder) Build() (Distribution, error)
Build constructs a Distribution taking into account all configuration set by previous "With*" method calls
func (DistributionBuilder) WithAlternateDomains ¶ added in v0.0.7
func (b DistributionBuilder) WithAlternateDomains(domains []string) DistributionBuilder
WithAlternateDomains takes a slice of domains to be added to the Distribution's alternate domains
func (DistributionBuilder) WithIPv6 ¶ added in v0.0.7
func (b DistributionBuilder) WithIPv6() DistributionBuilder
WithIPv6 enables IPv6
func (DistributionBuilder) WithInfo ¶ added in v0.0.8
func (b DistributionBuilder) WithInfo(id string, arn string, address string) DistributionBuilder
WithInfo takes in identifying information from an existing CloudFront to populate the resulting Distribution
func (DistributionBuilder) WithLogging ¶ added in v0.0.7
func (b DistributionBuilder) WithLogging(bucketAddress, prefix string) DistributionBuilder
WithLogging takes in bucket address and file prefix to enable sending CF logs to S3
func (DistributionBuilder) WithOrigin ¶ added in v0.0.8
func (b DistributionBuilder) WithOrigin(o Origin) DistributionBuilder
WithOrigin takes in an Origin that should be part of the Distribution
func (DistributionBuilder) WithTLS ¶ added in v0.0.7
func (b DistributionBuilder) WithTLS(certARN, securityPolicyID string) DistributionBuilder
WithTLS takes in an ACM certificate ARN and a Security Policy ID to enable TLS termination
func (DistributionBuilder) WithTags ¶ added in v0.0.7
func (b DistributionBuilder) WithTags(tags map[string]string) DistributionBuilder
WithTags takes in custom tags which should be present at the Distribution
func (DistributionBuilder) WithWebACL ¶ added in v0.0.7
func (b DistributionBuilder) WithWebACL(id string) DistributionBuilder
WithWebACL takes the ID of the Web ACL that should be associated with the Distribution
type DistributionRepository ¶ added in v0.0.8
type DistributionRepository interface {
// Create creates the given Distribution on CloudFront
Create(Distribution) (Distribution, error)
// Sync ensures the given Distribution is correctly configured on CloudFront
Sync(Distribution) error
// Delete deletes the Distribution at AWS
Delete(distribution Distribution) error
}
DistributionRepository provides a repository for manipulating CloudFront distributions to match desired configuration
func NewDistributionRepository ¶ added in v0.0.8
func NewDistributionRepository(awsClient cloudfrontiface.CloudFrontAPI, callerRefFn CallerRefFn, waitTimeout time.Duration) DistributionRepository
NewDistributionRepository creates a new AWS CloudFront DistributionRepository
type Origin ¶
type Origin struct {
// Host is the origin's hostname
Host string
// Behaviors is the collection of Behaviors associated with this Origin
Behaviors []Behavior
// ResponseTimeout is how long CloudFront will wait for a response from the Origin in seconds
ResponseTimeout int64
}
Origin represents a CloudFront Origin and aggregates Behaviors associated with it
func (Origin) HasEqualParameters ¶ added in v0.0.8
HasEqualParameters returns whether both Origins have the same parameters. It ignores differences in Behaviors
type OriginBuilder ¶
type OriginBuilder struct {
// contains filtered or unexported fields
}
OriginBuilder allows the construction of a Origin
func NewOriginBuilder ¶
func NewOriginBuilder(host string) OriginBuilder
NewOriginBuilder returns an OriginBuilder for a given host
func (OriginBuilder) Build ¶
func (b OriginBuilder) Build() Origin
Build creates an Origin based on configuration made so far
func (OriginBuilder) WithBehavior ¶
func (b OriginBuilder) WithBehavior(pathPattern string) OriginBuilder
WithBehavior adds a Behavior to the Origin being built given a path pattern the Behavior should respond for
func (OriginBuilder) WithCachePolicy ¶ added in v0.0.10
func (b OriginBuilder) WithCachePolicy(policy string) OriginBuilder
WithCachePolicy associates a given cache policy ID with all Behaviors in the Origin being built
func (OriginBuilder) WithRequestPolicy ¶ added in v0.0.8
func (b OriginBuilder) WithRequestPolicy(policy string) OriginBuilder
WithRequestPolicy associates a given origin request policy ID with all Behaviors in the Origin being built
func (OriginBuilder) WithResponseTimeout ¶ added in v0.0.6
func (b OriginBuilder) WithResponseTimeout(rpTimeout int64) OriginBuilder
WithResponseTimeout associates a custom response timeout to custom origin
func (OriginBuilder) WithViewerFunction ¶ added in v0.0.5
func (b OriginBuilder) WithViewerFunction(fnARN string) OriginBuilder
WithViewerFunction associates a function with all viewer requests of all Behaviors in the Origin being built