class OpsManagerUiDrivers::Version17::Api
Public Instance Methods
deployed_product_guid_from_name(name)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 44 def deployed_product_guid_from_name(name) get_deployed_products.find { |product| product['type'] == name }.try(:[], 'guid') end
director_vm_credentials()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 34 def director_vm_credentials response = JSON.parse(http.request(get("v0/deployed/director/credentials/vm_credentials", uaa_token.auth_header)).read_body) response['credential']['value'] end
export_installation()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 17 def export_installation Tempfile.new('installation.zip').tap do |tmpfile| http.request(get('v0/installation_asset_collection', uaa_token.auth_header)) do |response| response.read_body do |chunk| tmpfile.write(chunk) end end tmpfile.close end end
get_deployed_products()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 40 def get_deployed_products JSON.parse(http.request(get('v0/deployed/products', uaa_token.auth_header)).read_body) end
get_products()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 13 def get_products http.request(get('v0/available_products'), uaa_token.auth_header) end
most_recent_installation_log()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 64 def most_recent_installation_log return if most_recent_installation_id.empty? installation_log_path = "v0/installations/#{most_recent_installation_id}/logs" most_recent_installation_log = JSON.parse(http.request(get(installation_log_path, uaa_token.auth_header)).read_body)['logs'] most_recent_installation_log end
set_director_second_network(network_name)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 48 def set_director_second_network(network_name) http.request(put('v0/staged/director/second_network', {second_network: {name: network_name}}.to_json, uaa_token.auth_header)) end
set_feature_flag(flag_name, value)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 7 def set_feature_flag(flag_name, value) feature_flag_path = File.join('feature_flags', flag_name) http.request(put(feature_flag_path, enabled: value)) end
state_change_success?()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 52 def state_change_success? if most_recent_installation_id.empty? return false end state = JSON.parse( http.request(get("v0/installations/#{most_recent_installation_id}", uaa_token.auth_header)).read_body )['status'] state == 'succeeded' end
vm_credentials(product_name, job_name)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 28 def vm_credentials(product_name, job_name) product_guid = deployed_product_guid_from_name(product_name) response = JSON.parse(http.request(get("v0/deployed/products/#{product_guid}/vm_credentials", uaa_token.auth_header)).read_body) response.find { |credential| credential['name'].starts_with?(job_name) } end
Private Instance Methods
add_auth_to_request(request, token)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 111 def add_auth_to_request(request, token) if token.present? request['Authorization'] = token else request.basic_auth(@username, @password) end end
get(endpoint, token=nil)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 97 def get(endpoint, token=nil) Net::HTTP::Get.new(api_uri(endpoint).request_uri).tap do |get| add_auth_to_request(get, token) end end
most_recent_installation_id()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 75 def most_recent_installation_id all_installations = JSON.parse( http.request(get('v0/installations', uaa_token.auth_header)).read_body )['installations'] all_installations.empty? ? '' : "#{all_installations.first['id']}" end
put(endpoint, json_body, token=nil)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 103 def put(endpoint, json_body, token=nil) Net::HTTP::Put.new(api_uri(endpoint).request_uri).tap do |put_request| add_auth_to_request(put_request, token) put_request.body= json_body put_request.content_type = 'application/json' end end
uaa_token()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 91 def uaa_token target_url = uaa_uri.to_s + '/uaa' token_issuer = CF::UAA::TokenIssuer.new(target_url, 'opsman', nil, {skip_ssl_validation: true}) token_issuer.owner_password_grant(@username, @password) end
uaa_uri()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/api.rb, line 83 def uaa_uri if @host_uri.host == 'localhost' && @host_uri.port == 3000 URI.parse('http://localhost:8080') else @host_uri end end