Class: KumoDockerCloud::Service
- Inherits:
-
Object
- Object
- KumoDockerCloud::Service
- Defined in:
- lib/kumo_dockercloud/service.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #containers ⇒ Object
- #deploy(version) ⇒ Object
-
#initialize(stack_name, service_name, docker_cloud_api = DockerCloudApi.new) ⇒ Service
constructor
A new instance of Service.
- #linked_services ⇒ Object
- #links ⇒ Object
- #resource_uri ⇒ Object
- #set_link(service_to_link, link_internal_name) ⇒ Object
- #state ⇒ Object
- #stop ⇒ Object
- #uuid ⇒ Object
Constructor Details
#initialize(stack_name, service_name, docker_cloud_api = DockerCloudApi.new) ⇒ Service
Returns a new instance of Service.
5 6 7 8 9 |
# File 'lib/kumo_dockercloud/service.rb', line 5 def initialize(stack_name, service_name, docker_cloud_api = DockerCloudApi.new) @stack_name = stack_name @name = service_name @docker_cloud_api = docker_cloud_api end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
3 4 5 |
# File 'lib/kumo_dockercloud/service.rb', line 3 def name @name end |
Class Method Details
.service_by_resource_uri(resource_uri) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/kumo_dockercloud/service.rb', line 11 def self.service_by_resource_uri(resource_uri) api = KumoDockerCloud::DockerCloudApi.new service = api.service_by_resource_uri(resource_uri) stack = api.stacks.get_from_uri(service.info[:stack]) self.new(stack.name, service.name) end |
Instance Method Details
#containers ⇒ Object
54 55 56 |
# File 'lib/kumo_dockercloud/service.rb', line 54 def containers get_service.containers end |
#deploy(version) ⇒ Object
19 20 21 22 |
# File 'lib/kumo_dockercloud/service.rb', line 19 def deploy(version) update_image(version) redeploy end |
#linked_services ⇒ Object
24 25 26 |
# File 'lib/kumo_dockercloud/service.rb', line 24 def linked_services get_service.linked_to_service.map { |link| KumoDockerCloud::Service.service_by_resource_uri(link[:to_service]) } end |
#links ⇒ Object
28 29 30 |
# File 'lib/kumo_dockercloud/service.rb', line 28 def links get_service.linked_to_service end |
#resource_uri ⇒ Object
50 51 52 |
# File 'lib/kumo_dockercloud/service.rb', line 50 def resource_uri get_service.resource_uri end |
#set_link(service_to_link, link_internal_name) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/kumo_dockercloud/service.rb', line 36 def set_link(service_to_link, link_internal_name) linked_service = { to_service: service_to_link.resource_uri, name: link_internal_name, from_service: resource_uri } docker_cloud_api.services.update(uuid, linked_to_service: [linked_service]) end |
#state ⇒ Object
32 33 34 |
# File 'lib/kumo_dockercloud/service.rb', line 32 def state get_service.state end |
#stop ⇒ Object
46 47 48 |
# File 'lib/kumo_dockercloud/service.rb', line 46 def stop docker_cloud_api.services.stop(uuid) end |
#uuid ⇒ Object
58 59 60 |
# File 'lib/kumo_dockercloud/service.rb', line 58 def uuid get_service.uuid end |