Module: CloudFormationTool::CloudFormation::CloudFrontDistribution

Includes:
CloudFormationTool
Defined in:
lib/cloud_formation_tool/cloud_formation/cloud_front_distribution.rb

Constant Summary

Constants included from CloudFormationTool

VERSION

Instance Method Summary collapse

Methods included from CloudFormationTool

#aws_config, #awsas, #awscdn, #awscf, #awscreds, #awsec2, #awss3, #cf_bucket_name, #find_profile, #profile, #region, #s3_bucket_name

Instance Method Details

#distributionObject



7
8
9
# File 'lib/cloud_formation_tool/cloud_formation/cloud_front_distribution.rb', line 7

def distribution
  @__dist ||= awscdn.get_distribution(id: self.physical_resource_id).distribution
end

#domain_namesObject



11
12
13
# File 'lib/cloud_formation_tool/cloud_formation/cloud_front_distribution.rb', line 11

def domain_names
  distribution.distribution_config.aliases.items.join(",")
end

#invalidate(path_expression) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/cloud_formation_tool/cloud_formation/cloud_front_distribution.rb', line 15

def invalidate(path_expression)
  callerref = Time.now.strftime("%Y%m%d%H%M%S")
  awscdn.create_invalidation(
    distribution_id: self.physical_resource_id,
    invalidation_batch: {
      paths: { quantity: 1, items: [ path_expression ] },
      caller_reference: callerref
    }
  ).invalidation.tap do |i|
    i.extend(CloudFrontInvalidation)
    i.distribution_id = self.physical_resource_id
  end
end