class Seiso::Connector::UriFactoryV1

Seiso API v1 URI factory.

URI templating (embodied here) is a temporary strategy for obtaining URIs. The plan is to adopt something like a Traverson-style strategy.

Author

Willie Wheeler (wwheeler@expedia.com)

Copyright

Copyright © 2014-2015 Expedia, Inc.

License

Apache 2.0

Public Class Methods

new(base_uri) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 16
def initialize(base_uri)
  @base_uri = base_uri
end

Public Instance Methods

machine_uri(name) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 60
def machine_uri(name)
  uri "/machines/#{name}"
end
machines_uri(batch) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 52
def machines_uri(batch)
  if batch
    uri "/machines?mode=batch"
  else
    uri "/machines"
  end
end
node_ip_address_uri(node_name, ip_address) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 32
def node_ip_address_uri(node_name, ip_address)
  uri "/nodes/#{node_name}/ip-addresses/#{ip_address}"
end
node_uri(name) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 28
def node_uri(name)
  uri "/nodes/#{name}"
end
nodes_uri(batch) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 20
def nodes_uri(batch)
  if batch
    uri "/nodes?mode=batch"
  else
    uri "/nodes"
  end
end
service_instances_uri(batch) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 44
def service_instances_uri(batch)
  if batch
    uri "/service-instances?mode=batch"
  else
    uri "/service-instances"
  end
end
services_uri(batch) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 36
def services_uri(batch)
  if batch
    uri "/services?mode=batch"
  else
    uri "/services"
  end
end

Private Instance Methods

uri(path) click to toggle source
# File lib/seiso/connector/uri_factory_v1.rb, line 66
def uri(path)
  URI.parse "#{@base_uri}#{path}"
end