Class: AWS::CloudFront::Distribution
- Inherits:
-
Object
- Object
- AWS::CloudFront::Distribution
- Defined in:
- lib/stacco.rb
Instance Method Summary collapse
- #aliases ⇒ Object
- #certificate ⇒ Object
- #certificate=(cert_id) ⇒ Object
- #config ⇒ Object
- #id ⇒ Object
-
#initialize(client, data) ⇒ Distribution
constructor
A new instance of Distribution.
- #make_exportable(o) ⇒ Object
- #price_class ⇒ Object
- #price_class=(new_class) ⇒ Object
- #update ⇒ Object
Constructor Details
#initialize(client, data) ⇒ Distribution
Returns a new instance of Distribution.
58 59 60 61 |
# File 'lib/stacco.rb', line 58 def initialize(client, data) @client = client @data = data end |
Instance Method Details
#aliases ⇒ Object
63 64 65 |
# File 'lib/stacco.rb', line 63 def aliases @data[:distribution_config][:aliases][:items] end |
#certificate ⇒ Object
110 111 112 |
# File 'lib/stacco.rb', line 110 def certificate @data[:distribution_config][:viewer_certificate][:iam_certificate_id] end |
#certificate=(cert_id) ⇒ Object
114 115 116 117 118 119 |
# File 'lib/stacco.rb', line 114 def certificate=(cert_id) @data[:distribution_config][:viewer_certificate] = { iam_certificate_id: cert_id, ssl_support_method: "sni-only" } end |
#config ⇒ Object
71 72 73 |
# File 'lib/stacco.rb', line 71 def config self.make_exportable(@data[:distribution_config]) end |
#id ⇒ Object
67 68 69 |
# File 'lib/stacco.rb', line 67 def id @data[:id] end |
#make_exportable(o) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/stacco.rb', line 75 def make_exportable(o) case o when nil "" when Hash h = {} o.each{ |k, v| h[k] = make_exportable(v) } h when Array o.map{ |e| make_exportable(e) } else o end end |
#price_class ⇒ Object
102 103 104 |
# File 'lib/stacco.rb', line 102 def price_class @data[:distribution_config][:price_class].split('_').last.downcase.intern end |
#price_class=(new_class) ⇒ Object
106 107 108 |
# File 'lib/stacco.rb', line 106 def price_class=(new_class) @data[:distribution_config][:price_class] = "PriceClass_#{new_class.to_s.capitalize}" end |
#update ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/stacco.rb', line 90 def update begin yield @client.update_distribution( id: self.id, distribution_config: self.config, if_match: @data[:etag] ) end end |