Class: VagrantSubutai::Rest::Bazaar
- Inherits:
-
Object
- Object
- VagrantSubutai::Rest::Bazaar
- Defined in:
- lib/vagrant-subutai/rest/bazaar.rb
Class Method Summary collapse
- .blueprint(blueprint, variables, peer_id, cookies) ⇒ Object
- .domains(cookies) ⇒ Object
-
.environment(cookies, params) ⇒ Object
Creates Environment.
-
.list(cookies) ⇒ Object
List of environments.
-
.log(cookies, subutai_id) ⇒ Object
Tracks environment create state logs.
- .login(email, password) ⇒ Object
-
.registered(fingerprint) ⇒ Object
Check is Peer Os registered to Bazaar.
-
.reserve(cookies, domain) ⇒ Object
Reserve domain.
- .template_id(name, owner) ⇒ Object
- .url ⇒ Object
- .variables(subutai_json, peers_id, cookies) ⇒ Object
Class Method Details
.blueprint(blueprint, variables, peer_id, cookies) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 23 def self.blueprint(blueprint, variables, peer_id, ) uri = URI.parse(url + Configs::Bazaar::V1::BLUEPRINT) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Post.new(uri.request_uri, {'Cookie' => , 'Content-Type' => 'application/x-www-form-urlencoded'}) request.set_form_data({'blueprint' => blueprint.to_json, 'variables'=> variables.to_json, 'peers' => peer_id}) https.request(request) end |
.domains(cookies) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 90 def self.domains() uri = URI.parse(url + Configs::Bazaar::V1::DOMAIN_LIST) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Get.new(uri.request_uri, {'Cookie' => , 'Content-Type' => 'application/json'}) https.request(request) end |
.environment(cookies, params) ⇒ Object
Creates Environment
62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 62 def self.environment(, params) uri = URI.parse(url + Configs::Bazaar::V1::ENVIRONMENTS) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 21600 # 6 hours request = Net::HTTP::Post.new(uri.request_uri, {'Cookie' => , 'Content-Type' => 'application/json'}) request.body = params.to_json https.request(request) end |
.list(cookies) ⇒ Object
List of environments
104 105 106 107 108 109 110 111 112 113 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 104 def self.list() uri = URI.parse(url + Configs::Bazaar::V1::ENVIRONMENTS) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Get.new(uri.request_uri, {'Cookie' => }) https.request(request) end |
.log(cookies, subutai_id) ⇒ Object
Tracks environment create state logs
77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 77 def self.log(, subutai_id) uri = URI.parse(url + Configs::Bazaar::V1::LOG.gsub('{SUBUTAI_ID}', subutai_id)) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Get.new(uri.request_uri, {'Cookie' => , 'Content-Type' => 'application/json'}) https.request(request) end |
.login(email, password) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 36 def self.login(email, password) uri = URI.parse(url + Configs::Bazaar::V1::LOGIN) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Post.new(uri.request_uri) request.set_form_data({'email' => email, 'password' => password}) https.request(request) end |
.registered(fingerprint) ⇒ Object
Check is Peer Os registered to Bazaar
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 50 def self.registered(fingerprint) uri = URI.parse(url + Configs::Bazaar::V1::PEER.gsub('{FINGERPRINT}', fingerprint)) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Get.new(uri.request_uri) https.request(request) end |
.reserve(cookies, domain) ⇒ Object
Reserve domain
116 117 118 119 120 121 122 123 124 125 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 116 def self.reserve(, domain) uri = URI.parse(url + Configs::Bazaar::V1::DOMAIN_RESERVE.gsub('{DOMAIN}', domain)) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Put.new(uri.request_uri, {'Cookie' => }) https.request(request) end |
.template_id(name, owner) ⇒ Object
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 140 def self.template_id(name, owner) uri = URI.parse(url + Configs::Bazaar::V1::TEMPLATE.gsub('{TEMPLATE_NAME}', name)) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Get.new(uri.request_uri) response = https.request(request) case response when Net::HTTPOK response = JSON.parse(response.body) response['id'] when Net::HTTPNotFound Put.error "#{response.body} template name #{name}, owner #{owner}" end end |
.url ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 127 def self.url env = SubutaiConfig.get(:SUBUTAI_ENV) env = env.to_s if env == VagrantSubutai::Configs::Environment::PROD return VagrantSubutai::Configs::Bazaar::BASE_PROD elsif env == VagrantSubutai::Configs::Environment::MASTER return VagrantSubutai::Configs::Bazaar::BASE_MASTER elsif env == VagrantSubutai::Configs::Environment::DEV return VagrantSubutai::Configs::Bazaar::BASE_DEV end end |
.variables(subutai_json, peers_id, cookies) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/vagrant-subutai/rest/bazaar.rb', line 10 def self.variables(subutai_json, peers_id, ) uri = URI.parse(url + Configs::Bazaar::V1::VARIABLES) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.read_timeout = 3600 # an hour request = Net::HTTP::Post.new(uri.request_uri, {'Cookie' => , 'Content-Type' => 'application/x-www-form-urlencoded'}) request.set_form_data({'blueprint' => subutai_json.to_json, 'peers' => [peers_id]}) https.request(request) end |