Class: Awful::CloudFront
- Inherits:
-
Cli
show all
- Defined in:
- lib/awful/cloudfront.rb
Constant Summary
collapse
- COLORS =
{
enabled: :green,
disabled: :red,
deployed: :green,
inprogress: :yellow,
}
Instance Method Summary
collapse
Methods inherited from Cli
#initialize
Constructor Details
This class inherits a constructor from Awful::Cli
Instance Method Details
#aliases(id, *list) ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/awful/cloudfront.rb', line 69
def aliases(id, *list)
if list.empty?
cloudfront.get_distribution(id: id).distribution.distribution_config.aliases.items.output(&method(:puts))
else
response = cloudfront.get_distribution(id: id) config = response.distribution.distribution_config
new = config[:aliases][:items]
if options[:add]
new += list elsif options[:delete]
new -= list else
new = list end
config[:aliases] = {quantity: new.count, items: new}
cloudfront.update_distribution(id: id, distribution_config: config, if_match: response.etag)
end
end
|
53
54
55
56
57
|
# File 'lib/awful/cloudfront.rb', line 53
def get(id)
cloudfront.get_distribution(id: id).distribution.output do |dist|
puts YAML.dump(stringify_keys(dist.to_hash))
end
end
|
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/awful/cloudfront.rb', line 29
def ls
marker = nil
items = []
loop do
response = cloudfront.list_distributions(marker: marker).distribution_list
items += response.items
marker = response.next_marker
break unless marker
end
items.output do |list|
if options[:long]
print_table list.map { |i|
origins = i.origins.items.map(&:domain_name).join(',').slice(0..40)
state = i.enabled ? :Enabled : :Disabled
[ i.id, i.domain_name, i., origins, color(i.status), color(state), i.last_modified_time ]
}
else
puts list.map(&:id).sort
end
end
end
|
#origins(id) ⇒ Object
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/awful/cloudfront.rb', line 90
def origins(id)
cloudfront.get_distribution(id: id).distribution.distribution_config.origins.items.output do |list|
if options[:long]
print_table list.map { |o|
c = o.custom_origin_config
config = o.s3_origin_config ? [ 's3' ] : [ 'custom', c.origin_protocol_policy, c.http_port, c.https_port ]
[ o.id, o.domain_name, o.origin_path ] + config
}
else
puts list.map(&:id).sort
end
end
end
|
#status(id) ⇒ Object
60
61
62
63
64
|
# File 'lib/awful/cloudfront.rb', line 60
def status(id)
cloudfront.get_distribution(id: id).distribution.status.output do |status|
puts color(status)
end
end
|