Class: Morpheus::HealthInterface
Constant Summary
Constants inherited
from APIClient
APIClient::CLIENT_ID
Instance Method Summary
collapse
Methods inherited from APIClient
#account_groups, #account_users, #accounts, #activity, #appliance_settings, #approvals, #apps, #archive_buckets, #archive_files, #audit, #auth, #authorization_required?, #backup_jobs, #backup_restores, #backup_results, #backup_service_types, #backup_services, #backup_settings, #backup_types, #backups, #billing, #blueprints, #budgets, #catalog, #catalog_item_types, #certificate_types, #certificates, #client_id, #client_id=, #clients, #cloud_datastores, #cloud_folders, #cloud_policies, #cloud_resource_pools, #clouds, #clusters, #common_interface_options, #containers, #credential_types, #credentials, #cypher, #dashboard, #datastores, #default_content_type, #default_timeout, #deploy, #deployments, #dry, #dry_run, #email_templates, #environments, #execute, #execute_schedules, #execution_request, #file_copy_request, #forgot, #group_policies, #groups, #guidance, #guidance_settings, #health, #hub, #image_builder, #initialize, #inspect, #instance_types, #instances, #integration_types, #integrations, #interface, #invoice_line_items, #invoices, #jobs, #key_pairs, #library_cluster_layouts, #library_cluster_packages, #library_container_scripts, #library_container_templates, #library_container_types, #library_container_upgrades, #library_instance_types, #library_layouts, #library_operating_systems, #library_spec_template_types, #library_spec_templates, #license, #load_balancer_monitors, #load_balancer_pool_nodes, #load_balancer_pools, #load_balancer_pools_secondary, #load_balancer_profiles, #load_balancer_types, #load_balancer_virtual_servers, #load_balancers, #log_settings, #logged_in?, #login, #logout, #monitoring, #monitoring_settings, #network_dhcp_relays, #network_dhcp_servers, #network_domain_records, #network_domains, #network_edge_clusters, #network_floating_ips, #network_groups, #network_pool_ips, #network_pool_server_types, #network_pool_servers, #network_pools, #network_proxies, #network_resource_types, #network_routers, #network_security_server_types, #network_security_servers, #network_server_groups, #network_server_services, #network_server_types, #network_servers, #network_services, #network_static_routes, #network_types, #networks, #old_cypher, #option_type_forms, #option_type_lists, #option_types, #options, #packages, #ping, #plugins, #policies, #power_schedules, #price_sets, #prices, #processes, #projects, #provision_types, #provisioning_license_types, #provisioning_licenses, #provisioning_settings, #reports, #resource_pool_groups, #rest, #roles, #scale_thresholds, #search, #security_group_rules, #security_groups, #security_package_types, #security_packages, #security_scans, #server_types, #servers, #service_plans, #set_ssl_verification_enabled, #setopts, #setup, #snapshots, #ssl_verification_enabled?, #storage_providers, #storage_server_types, #storage_servers, #storage_volume_types, #storage_volumes, #subnet_types, #subnets, #task_sets, #tasks, #to_s, #url, #usage, #use_refresh_token, #user_groups, #user_settings, #user_sources, #users, #vdi, #vdi_allocations, #vdi_apps, #vdi_gateways, #vdi_pools, #virtual_images, #whitelabel_settings, #whoami, #wiki, #withopts
Instance Method Details
#acknowledge_alarm(id, params = {}, payload = {}) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/morpheus/api/health_interface.rb', line 38
def acknowledge_alarm(id, params={}, payload={})
url = "#{@base_url}/api/health/alarms/#{id}/acknowledge"
= { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
opts = {method: :put, url: url, headers: , payload: payload.to_json}
execute(opts)
end
|
#acknowledge_alarms(params, payload = {}) ⇒ Object
45
46
47
48
49
50
|
# File 'lib/morpheus/api/health_interface.rb', line 45
def acknowledge_alarms(params, payload={})
url = "#{@base_url}/api/health/alarms/acknowledge"
= { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
opts = {method: :put, url: url, headers: , payload: payload.to_json}
execute(opts)
end
|
#alarms(params = {}) ⇒ Object
19
20
21
|
# File 'lib/morpheus/api/health_interface.rb', line 19
def alarms(params={})
list_alarms(params)
end
|
#export_logs(outfile, params = {}) ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/morpheus/api/health_interface.rb', line 66
def export_logs(outfile, params={})
url = "#{@base_url}/api/health/logs/export"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
if Dir.exist?(outfile)
raise "outfile is invalid. It is the name of an existing directory: #{outfile}"
end
if @dry_run
return opts
end
http_response = nil
bad_body = nil
File.open(outfile, 'w') {|f|
block = proc { |response|
if response.code.to_i == 200
response.read_body do |chunk|
f.write chunk
end
else
bad_body = response.body.to_s
end
}
opts[:block_response] = block
http_response = Morpheus::RestClient.execute(opts)
}
return http_response, bad_body
end
|
#get(params = {}) ⇒ Object
5
6
7
8
9
10
|
# File 'lib/morpheus/api/health_interface.rb', line 5
def get(params={})
url = "#{@base_url}/api/health"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|
#get_alarm(id, params = {}) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/morpheus/api/health_interface.rb', line 30
def get_alarm(id, params={})
raise "#{self.class}.get() passed a blank name!" if id.to_s == ''
url = "#{@base_url}/api/health/alarms/#{id}"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|
#list_alarms(params = {}) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/morpheus/api/health_interface.rb', line 23
def list_alarms(params={})
url = "#{@base_url}/api/health/alarms"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|
#live(params = {}) ⇒ Object
12
13
14
15
16
17
|
# File 'lib/morpheus/api/health_interface.rb', line 12
def live(params={})
url = "#{@base_url}/api/health/live"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|
#logs(params = {}) ⇒ Object
59
60
61
62
63
64
|
# File 'lib/morpheus/api/health_interface.rb', line 59
def logs(params={})
url = "#{@base_url}/api/health/logs"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|
#notifications(params = {}) ⇒ Object
52
53
54
55
56
57
|
# File 'lib/morpheus/api/health_interface.rb', line 52
def notifications(params={})
url = "#{@base_url}/api/health/notifications"
= { params: params, authorization: "Bearer #{@access_token}" }
opts = {method: :get, url: url, headers: }
execute(opts)
end
|