class Awful::Firehose
Constants
- COLORS
Public Instance Methods
color(string)
click to toggle source
# File lib/awful/firehose.rb, line 21 def color(string) set_color(string, COLORS.fetch(string.to_sym, :yellow)) end
dump(name)
click to toggle source
# File lib/awful/firehose.rb, line 60 def dump(name) firehose.describe_delivery_stream(delivery_stream_name: name).delivery_stream_description.output do |stream| puts YAML.dump(stringify_keys(stream.to_hash)) end end
firehose()
click to toggle source
# File lib/awful/firehose.rb, line 17 def firehose @_firehose ||= Aws::Firehose::Client.new end
ls()
click to toggle source
# File lib/awful/firehose.rb, line 42 def ls paginate_delivery_streams(:delivery_stream_names) do |start| firehose.list_delivery_streams(exclusive_start_delivery_stream_name: start) end.output do |streams| if options[:long] print_table streams.map { |name| s = firehose.describe_delivery_stream(delivery_stream_name: name).delivery_stream_description op = s.has_more_destinations ? '>' : '' [s.delivery_stream_name, op + s.destinations.count.to_s, color(s.delivery_stream_status), s.delivery_stream_type, 'v' + s.version_id.to_s, s.create_timestamp] } else puts streams end end end
paginate_delivery_streams(thing) { |token| ... }
click to toggle source
special-case paginator for delivery streams
# File lib/awful/firehose.rb, line 26 def paginate_delivery_streams(thing) token = nil things = [] loop do resp = yield(token) items = resp.send(thing) things += items token = items.last break unless resp.has_more_delivery_streams end things end