Class: KumoDockerCloud::DockerCloudApi

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/kumo_dockercloud/docker_cloud_api.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ DockerCloudApi

Returns a new instance of DockerCloudApi.



9
10
11
12
13
14
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 9

def initialize(options = {})
  options[:username] ||= ENV['DOCKERCLOUD_USER']
  options[:api_key] ||= ENV['DOCKERCLOUD_APIKEY']

  @client = options[:client] || ::DockerCloud::Client.new(options.fetch(:username), options.fetch(:api_key))
end

Instance Method Details

#containers_by_stack_name(stack_name) ⇒ Object



31
32
33
34
35
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 31

def containers_by_stack_name(stack_name)
  services_by_stack_name(stack_name).collect do |service|
    service.containers
  end.flatten
end

#service_by_resource_uri(resource_uri) ⇒ Object



37
38
39
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 37

def service_by_resource_uri(resource_uri)
  @client.services.get_from_uri(resource_uri)
end

#service_by_stack_and_service_name(stack_name, service_name) ⇒ Object



26
27
28
29
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 26

def service_by_stack_and_service_name(stack_name, service_name)
  services = services_by_stack_name(stack_name)
  services.find { |s| s.name == service_name }
end

#services_by_stack_name(stack_name) ⇒ Object



20
21
22
23
24
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 20

def services_by_stack_name(stack_name)
  stack = stack_by_name(stack_name)
  return [] unless stack
  stack.services
end

#stack_by_name(name) ⇒ Object



16
17
18
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 16

def stack_by_name(name)
  @client.stacks.all.find { |s| s.name == name }
end

#stack_by_resource_uri(resource_uri) ⇒ Object



41
42
43
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 41

def stack_by_resource_uri(resource_uri)
  @client.stacks.get_from_uri(resource_uri)
end