class TwistlockControl::ProvisionerAPI
The provisioner api provides a direct synchronous interface to a provisioner at the url it is initialized with.
Attributes
url[R]
Public Class Methods
new(url)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 10 def initialize(url) @url = url end
Public Instance Methods
add_container(name, url)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 24 def add_container(name, url) JSON.parse post('templates', name: name, url: url) end
container_description(name)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 20 def container_description(name) JSON.parse get("templates/#{name}") end
provision_container(container_configuration)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 14 def provision_container(container_configuration) container = container_configuration.container add_container(container.name, container.url) JSON.parse post('containers', name: container.name) end
Private Instance Methods
get(path)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 34 def get(path) Net::HTTP.get uri(path) end
post(path, params)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 38 def post(path, params) result = Net::HTTP.post_form uri(path), params result.body end
uri(path)
click to toggle source
# File lib/twistlock_control/provisioner_api.rb, line 30 def uri(path) URI(url + '/' + path) end