class Docker::Swarm::Task

This class represents a Docker Swarm Node.

Attributes

hash[R]

include Docker::Base

Public Class Methods

new(swarm, hash) click to toggle source
# File lib/docker/swarm/task.rb, line 6
def initialize(swarm, hash)
  @hash = hash
  @swarm = swarm
end

Public Instance Methods

created_at() click to toggle source
# File lib/docker/swarm/task.rb, line 37
def created_at
  return DateTime.parse(@hash.first['CreatedAt'])
end
id() click to toggle source
# File lib/docker/swarm/task.rb, line 11
def id 
  return @hash['ID']
end
image() click to toggle source
# File lib/docker/swarm/task.rb, line 15
def image
  return @hash['Spec']['ContainerSpec']['Image']
end
networks() click to toggle source
# File lib/docker/swarm/task.rb, line 45
def networks
  all_networks = @swarm.networks
  nets = []
  self.hash['NetworksAttachments'].each do |net_hash|
    hash = net_hash['Network']
    network_id = hash['ID']
    nets << all_networks.find {|net| net.id == network_id}
  end
  return nets
end
node() click to toggle source
# File lib/docker/swarm/task.rb, line 33
def node
  return @swarm.nodes.find {|n| n.id == self.node_id}
end
node_id() click to toggle source
# File lib/docker/swarm/task.rb, line 29
def node_id
  @hash['NodeID']
end
service() click to toggle source
# File lib/docker/swarm/task.rb, line 23
def service
  return @swarm.services.find { |service|
    self.service_id == service.id
  }
end
service_id() click to toggle source
# File lib/docker/swarm/task.rb, line 19
def service_id
  @hash['ServiceID']
end
status() click to toggle source
# File lib/docker/swarm/task.rb, line 41
def status
  @hash['Status']['State'].to_sym
end