Documentation ¶
Index ¶
- func ErrCode(msg string, err error) error
- type CloudFront
- func (c *CloudFront) CreateDistribution(ctx context.Context, distribution *cloudfront.DistributionConfig, ...) (*cloudfront.Distribution, error)
- func (c *CloudFront) DefaultWebsiteDistributionConfig(name string) (*cloudfront.DistributionConfig, error)
- func (c *CloudFront) DeleteDistribution(ctx context.Context, id string) error
- func (c *CloudFront) DisableDistribution(ctx context.Context, id string) (*cloudfront.Distribution, error)
- func (c *CloudFront) GetDistributionByName(ctx context.Context, name string) (*cloudfront.DistributionSummary, error)
- func (c *CloudFront) InvalidateCache(ctx context.Context, id string, paths []string) (*cloudfront.CreateInvalidationOutput, error)
- func (c *CloudFront) ListDistributions(ctx context.Context) ([]*cloudfront.DistributionSummary, error)
- func (c *CloudFront) ListDistributionsWithFilter(ctx context.Context, filter func(*cloudfront.DistributionSummary) bool) ([]*cloudfront.DistributionSummary, error)
- func (c *CloudFront) ListTags(ctx context.Context, arn string) ([]*cloudfront.Tag, error)
- func (c *CloudFront) TagDistribution(ctx context.Context, arn string, tags *cloudfront.Tags) error
- func (c *CloudFront) WebsiteDomain(name string) (*common.Domain, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CloudFront ¶
type CloudFront struct { Service cloudfrontiface.CloudFrontAPI Domains map[string]*common.Domain WebsiteEndpoint string }
CloudFront is a wrapper around the aws cloudfront service with some default config info
func NewSession ¶
func NewSession(account common.Account) CloudFront
NewSession creates a new cloudfront session
func (*CloudFront) CreateDistribution ¶
func (c *CloudFront) CreateDistribution(ctx context.Context, distribution *cloudfront.DistributionConfig, tags *cloudfront.Tags) (*cloudfront.Distribution, error)
CreateDistribution creates a cloudfront distribution with tags
func (*CloudFront) DefaultWebsiteDistributionConfig ¶
func (c *CloudFront) DefaultWebsiteDistributionConfig(name string) (*cloudfront.DistributionConfig, error)
DefaultWebsiteDistributionConfig generates the cloudfront distribution configuration for an s3 website https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfront/#DistributionConfig
func (*CloudFront) DeleteDistribution ¶ added in v0.9.0
func (c *CloudFront) DeleteDistribution(ctx context.Context, id string) error
DeleteDistribution deletes a cloudfront distribution
func (*CloudFront) DisableDistribution ¶ added in v0.8.0
func (c *CloudFront) DisableDistribution(ctx context.Context, id string) (*cloudfront.Distribution, error)
DisableDistribution disables a cloudfront distribution
func (*CloudFront) GetDistributionByName ¶ added in v0.7.0
func (c *CloudFront) GetDistributionByName(ctx context.Context, name string) (*cloudfront.DistributionSummary, error)
GetDistributionByName gets a cloudfront distribution by the name (by searching until it finds the matching alias)
func (*CloudFront) InvalidateCache ¶ added in v0.9.0
func (c *CloudFront) InvalidateCache(ctx context.Context, id string, paths []string) (*cloudfront.CreateInvalidationOutput, error)
InvalidateCache submits a cache invalidation request to cloudfront
func (*CloudFront) ListDistributions ¶ added in v0.7.0
func (c *CloudFront) ListDistributions(ctx context.Context) ([]*cloudfront.DistributionSummary, error)
ListDistributions lists all cloudfront distributions.
func (*CloudFront) ListDistributionsWithFilter ¶ added in v0.9.0
func (c *CloudFront) ListDistributionsWithFilter(ctx context.Context, filter func(*cloudfront.DistributionSummary) bool) ([]*cloudfront.DistributionSummary, error)
ListDistributionsWithFilter lists all cloudfront distributions and passes each DistributionSummary into the filter func to decide if it should be added or discarded
func (*CloudFront) ListTags ¶ added in v0.12.0
func (c *CloudFront) ListTags(ctx context.Context, arn string) ([]*cloudfront.Tag, error)
ListTags lists the tags for an ARN
func (*CloudFront) TagDistribution ¶ added in v0.11.0
func (c *CloudFront) TagDistribution(ctx context.Context, arn string, tags *cloudfront.Tags) error
TagDistribution updates the tags for a cloudfront distribution
func (*CloudFront) WebsiteDomain ¶
func (c *CloudFront) WebsiteDomain(name string) (*common.Domain, error)
WebsiteDomain validates the name of the website, ensuring we have a cert for the domain and returning the domain. It splits the website name in 2 pieces since we are using a wildcard. This would need to change if we supported certificates per website.