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