Class: MMS::Agent
- Inherits:
-
Object
- Object
- MMS::Agent
- Defined in:
- lib/mms/agent.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
Returns the value of attribute client.
Instance Method Summary collapse
- #alert_ack(alert_id, timestamp, group_id) ⇒ TrueClass, FalseClass
- #alerts ⇒ Array<MMS::Resource::Alert>
- #clusters ⇒ Array<MMS::Resource::Cluster>
- #find_group(id) ⇒ MMS::Resource::Group
- #groups ⇒ Array<MMS::Resource::Group>
- #hosts ⇒ Array<MMS::Resource::Host>
-
#initialize(client) ⇒ Agent
constructor
A new instance of Agent.
- #restorejob_create(type_value, group_id, cluster_id) ⇒ Array<MMS::Resource::RestoreJob>
- #restorejobs ⇒ Array<MMS::Resource::RestoreJob>
- #set_apiurl(apiurl) ⇒ Object
- #snapshots ⇒ Array<MMS::Resource::Snapshot>
Constructor Details
#initialize(client) ⇒ Agent
Returns a new instance of Agent.
8 9 10 |
# File 'lib/mms/agent.rb', line 8 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
5 6 7 |
# File 'lib/mms/agent.rb', line 5 def client @client end |
Instance Method Details
#alert_ack(alert_id, timestamp, group_id) ⇒ TrueClass, FalseClass
93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/mms/agent.rb', line 93 def alert_ack(alert_id, , group_id) = DateTime.now if == 'now' = DateTime.new(4000, 1, 1, 1, 1, 1, 1, 1) if == 'forever' group = find_group(group_id) if alert_id == 'all' group.alerts.each do |alert| alert.ack(, 'Triggered by CLI for all alerts.') end else group.alert(alert_id).ack(, 'Triggered by CLI.') end end |
#alerts ⇒ Array<MMS::Resource::Alert>
58 59 60 61 62 63 64 |
# File 'lib/mms/agent.rb', line 58 def alerts alert_list = [] groups.each do |group| alert_list.concat group.alerts end alert_list.sort_by { |alert| alert.created }.reverse end |
#clusters ⇒ Array<MMS::Resource::Cluster>
40 41 42 43 44 45 46 |
# File 'lib/mms/agent.rb', line 40 def clusters cluster_list = [] groups.each do |group| cluster_list.concat group.clusters end cluster_list end |
#find_group(id) ⇒ MMS::Resource::Group
110 111 112 |
# File 'lib/mms/agent.rb', line 110 def find_group(id) MMS::Resource::Group.find(@client, id) end |
#groups ⇒ Array<MMS::Resource::Group>
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/mms/agent.rb', line 18 def groups group_list = [] client.get('/groups').each do |group| g = MMS::Resource::Group.new g.set_client(client) g.set_data(group) group_list.push g end group_list end |
#hosts ⇒ Array<MMS::Resource::Host>
31 32 33 34 35 36 37 |
# File 'lib/mms/agent.rb', line 31 def hosts host_list = [] groups.each do |group| host_list.concat group.hosts end host_list end |
#restorejob_create(type_value, group_id, cluster_id) ⇒ Array<MMS::Resource::RestoreJob>
79 80 81 82 83 84 85 86 87 |
# File 'lib/mms/agent.rb', line 79 def restorejob_create(type_value, group_id, cluster_id) if type_value.length == 24 find_group(group_id).cluster(cluster_id).snapshot(type_value).create_restorejob elsif datetime = (type_value == 'now' ? DateTime.now : DateTime.parse(type_value)) raise('Invalid datetime. Correct `YYYY-MM-RRTH:m:s`') if datetime.nil? datetime_string = [[datetime.year, datetime.day, datetime.month].join('-'), 'T', [datetime.hour, datetime.minute, datetime.second].join(':'), 'Z'].join find_group(group_id).cluster(cluster_id).create_restorejob(datetime_string) end end |
#restorejobs ⇒ Array<MMS::Resource::RestoreJob>
67 68 69 70 71 72 73 |
# File 'lib/mms/agent.rb', line 67 def restorejobs restorejob_list = [] clusters.each do |cluster| restorejob_list.concat cluster.restorejobs end restorejob_list.sort_by { |job| job.created }.reverse end |
#set_apiurl(apiurl) ⇒ Object
13 14 15 |
# File 'lib/mms/agent.rb', line 13 def set_apiurl(apiurl) @client.url = apiurl end |
#snapshots ⇒ Array<MMS::Resource::Snapshot>
49 50 51 52 53 54 55 |
# File 'lib/mms/agent.rb', line 49 def snapshots snapshot_list = [] clusters.each do |cluster| snapshot_list.concat cluster.snapshots end snapshot_list.sort_by { |snapshot| snapshot.created_date }.reverse end |