create_container(options)
click to toggle source
def create_container(options)
request(
:body => Fog::JSON.encode(options),
:expects => [201],
:method => 'POST',
:path => 'containers'
)
end
create_secret(options)
click to toggle source
def create_secret(options)
request(
:body => Fog::JSON.encode(options),
:expects => [201],
:method => 'POST',
:path => 'secrets'
)
end
delete_container(id)
click to toggle source
def delete_container(id)
request(
:expects => [204],
:method => 'DELETE',
:path => "containers/#{id}"
)
end
delete_container_acl(uuid)
click to toggle source
def delete_container_acl(uuid)
request(
:expects => [200],
:method => 'DELETE',
:path => "containers/#{uuid}/acl"
)
end
delete_secret(id)
click to toggle source
def delete_secret(id)
request(
:expects => [204],
:method => 'DELETE',
:path => "secrets/#{id}"
)
end
delete_secret_acl(uuid)
click to toggle source
def delete_secret_acl(uuid)
request(
:expects => [200],
:method => 'DELETE',
:path => "secrets/#{uuid}/acl"
)
end
get_container(uuid)
click to toggle source
def get_container(uuid)
request(
:expects => [200],
:method => 'GET',
:path => "containers/#{uuid}",
)
end
get_container_acl(uuid)
click to toggle source
def get_container_acl(uuid)
request(
:expects => [200],
:method => 'GET',
:path => "containers/#{uuid}/acl"
)
end
get_secret(uuid)
click to toggle source
def get_secret(uuid)
request(
:expects => [200],
:method => 'GET',
:path => "secrets/#{uuid}",
)
end
get_secret_acl(uuid)
click to toggle source
def get_secret_acl(uuid)
request(
:expects => [200],
:method => 'GET',
:path => "secrets/#{uuid}/acl"
)
end
get_secret_payload(uuid)
click to toggle source
def get_secret_payload(uuid)
request(
:expects => [200],
:method => 'GET',
:path => "secrets/#{uuid}/payload",
:headers => {
'Accept' => '*/*'
}
)
end
list_containers(options = {})
click to toggle source
def list_containers(options = {})
request(
:expects => [200],
:method => 'GET',
:path => 'containers',
:query => options
)
end
list_secrets(options = {})
click to toggle source
def list_secrets(options = {})
request(
:expects => [200],
:method => 'GET',
:path => 'secrets',
:query => options
)
end
replace_container_acl(uuid, options)
click to toggle source
def replace_container_acl(uuid, options)
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'PUT',
:path => "containers/#{uuid}/acl"
)
end
replace_secret_acl(uuid, options)
click to toggle source
def replace_secret_acl(uuid, options)
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'PUT',
:path => "secrets/#{uuid}/acl"
)
end
set_api_path()
click to toggle source
def set_api_path
@path.sub!(%r{/$}, '')
unless @path.match(SUPPORTED_VERSIONS)
@path = supported_version(SUPPORTED_VERSIONS, @openstack_management_uri, @auth_token, @connection_options)
end
end
supported_version(supported_versions, uri, auth_token, connection_options = {})
click to toggle source
def supported_version(supported_versions, uri, auth_token, connection_options = {})
connection = Fog::Core::Connection.new("#{uri.scheme}://#{uri.host}:#{uri.port}", false, connection_options)
response = connection.request({ :expects => [200, 204, 300],
:headers => {'Content-Type' => 'application/json',
'Accept' => 'application/json',
'X-Auth-Token' => auth_token},
:method => 'GET'
})
body = Fog::JSON.decode(response.body)
version = nil
versions = body.fetch('versions',{}).fetch('values',[])
versions.each do |v|
if v.fetch('id', "").match(supported_versions) &&
['current', 'supported', 'stable'].include?(v.fetch('status','').downcase)
version = v['id']
end
end
if !version || version.empty?
raise Fog::OpenStack::Errors::ServiceUnavailable.new(
"OpenStack service only supports API versions #{supported_versions.inspect}")
end
version
end
update_container_acl(uuid, options)
click to toggle source
def update_container_acl(uuid, options)
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'PATCH',
:path => "containers/#{uuid}/acl"
)
end
update_secret_acl(uuid, options)
click to toggle source
def update_secret_acl(uuid, options)
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'PATCH',
:path => "secrets/#{uuid}/acl"
)
end