class OpsviewRest::Contact
Attributes
opsview[RW]
options[RW]
resource_type[RW]
Public Class Methods
new(opsview, options = {})
click to toggle source
# File lib/opsview_rest/contact.rb, line 9 def initialize(opsview, options = {}) @options = { name: 'foobar', fullname: '', description: '', encrypted_password: '$apr1$HTQogYE7$09TNcZWa/WzoBXdUF6Iyr1', realm: 'local', language: '', role: 'View all, change none', variables: [ { value: '', name: 'EMAIL' }, { value: 1, name: 'RSS_COLLAPSED' }, { value: 1440, name: 'RSS_MAXIMUM_AGE' }, { value: 30, name: 'RSS_MAXIMUM_ITEMS' } ], notificationprofiles: [ { name: '24x7', host_notification_options: 'u,d,r,f', notificationmethods: [ { name: 'Email' } ], servicegroups: [], all_servicegroups: 1, all_hostgroups: 0, keywords: [], service_notification_options: 'w,c,r,u,f', hostgroups: [], notification_level: 1, notification_period: { name: '24x7' } }, { name: '8x5', host_notification_options: 'u,d,r,f', notificationmethods: [ { name: 'Email' } ], servicegroups: [], all_servicegroups: 1, all_hostgroups: 0, keywords: [], service_notification_options: 'w,c,r,u,f', hostgroups: [], notification_level: 1, notification_period: { name: 'workhours' } } ], save: true, replace: false }.update options @opsview = opsview @resource_type = @options[:type] @options[:all_servicegroups] = (@options[:all_servicegroups] ? 1 : 0) @options[:all_hostgroups] = (@options[:all_hostgroups] ? 1 : 0) @options[:servicegroups] = @options[:servicegroups].map { |x| { 'name' => x } } unless @options[:servicegroups].nil? @options[:keywords] = @options[:keywords].map { |x| { 'name' => x } } unless @options[:keywords].nil? @options[:hostgroups] = @options[:hostgroups].map { |x| { 'name' => x } } unless @options[:hostgroups].nil? @options[:role] = { 'name' => @options[:role] } save(@options[:replace]) if @options[:save] end