Module: CloudImagesRunDeck::Do
- Extended by:
- Do
- Included in:
- Do
- Defined in:
- lib/cloudimages-rundeck/do.rb
Overview
> This is the Do Module. It interacts with DigitalOcean resources.
Instance Method Summary
collapse
Instance Method Details
#do_client ⇒ Object
20
21
22
23
|
# File 'lib/cloudimages-rundeck/do.rb', line 20
def do_client
DropletKit::Client.new(access_token: Util.filestring(Config.do_api_key))
end
|
#images ⇒ Object
> Grab the Private Images from DigitalOcean
28
29
30
31
32
33
34
|
# File 'lib/cloudimages-rundeck/do.rb', line 28
def images
do_client.images.all.select do |image|
image.public == false && image.type.casecmp('snapshot').zero?
end.sort_by(&:id).reverse
rescue DropletKit::Error => e
e
end
|
#list_images ⇒ Object
> Custom-Tailor for Resource-JSON & Optionally Filter by Image Name
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/cloudimages-rundeck/do.rb', line 39
def list_images list = images
return list.message if list.is_a?(DropletKit::Error)
list = list.collect do |image|
{
'name' => image['name'] || image['message'],
'value' => image['id'].to_s
}
end
filter = Util.serialize_csv(Config.query_params['filter'])
return list.select { |i| filter.any? { |f| i['name'] =~ /#{f}/i } } if filter
list
end
|