class Marathon::DeploymentInfo

This class represents a Marathon Deployment information. It is returned by asynchronious deployment calls.

Constants

RECHECK_INTERVAL

Public Class Methods

new(hash, marathon_instance = Marathon.singleton) click to toggle source

Create a new deployment info object. hash: Hash returned by API, including 'deploymentId' and 'version' marathon_instance: MarathonInstance holding a connection to marathon

Calls superclass method Marathon::Base::new
# File lib/marathon/deployment_info.rb, line 10
def initialize(hash, marathon_instance = Marathon.singleton)
  super(hash, %w[deploymentId version])
  raise Marathon::Error::ArgumentError, 'version must not be nil' unless version
  @marathon_instance = marathon_instance
end

Public Instance Methods

to_s() click to toggle source
# File lib/marathon/deployment_info.rb, line 28
def to_s
  if deploymentId
    "Marathon::DeploymentInfo { :version => #{version} :deploymentId => #{deploymentId} }"
  else
    "Marathon::DeploymentInfo { :version => #{version} }"
  end
end
wait(timeout = 60) click to toggle source

Wait for a deployment to finish. timeout: Timeout in seconds.

# File lib/marathon/deployment_info.rb, line 18
def wait(timeout = 60)
  Timeout::timeout(timeout) do
    deployments = nil
    while deployments.nil? or deployments.any? { |e| e.id == deploymentId } do
      sleep(RECHECK_INTERVAL)
      deployments = @marathon_instance.deployments.list
    end
  end
end