Class: MistApi::Delivery

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/mist_api/models/delivery.rb

Overview

Delivery object to configure the alarm delivery

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(enabled = nil, additional_emails = SKIP, to_org_admins = SKIP, to_site_admins = SKIP) ⇒ Delivery

Returns a new instance of Delivery.



52
53
54
55
56
57
58
# File 'lib/mist_api/models/delivery.rb', line 52

def initialize(enabled = nil, additional_emails = SKIP,
               to_org_admins = SKIP, to_site_admins = SKIP)
  @additional_emails = additional_emails unless additional_emails == SKIP
  @enabled = enabled
  @to_org_admins = to_org_admins unless to_org_admins == SKIP
  @to_site_admins = to_site_admins unless to_site_admins == SKIP
end

Instance Attribute Details

#additional_emailsArray[String]

List of additional email string to deliver the alarms via emails

Returns:

  • (Array[String])


14
15
16
# File 'lib/mist_api/models/delivery.rb', line 14

def additional_emails
  @additional_emails
end

#enabledTrueClass | FalseClass

Whether to enable the alarm delivery via emails or not

Returns:

  • (TrueClass | FalseClass)


18
19
20
# File 'lib/mist_api/models/delivery.rb', line 18

def enabled
  @enabled
end

#to_org_adminsTrueClass | FalseClass

Whether to deliver the alarms via emails to Org admins or not

Returns:

  • (TrueClass | FalseClass)


22
23
24
# File 'lib/mist_api/models/delivery.rb', line 22

def to_org_admins
  @to_org_admins
end

#to_site_adminsTrueClass | FalseClass

Whether to deliver the alarms via emails to Site admins or not

Returns:

  • (TrueClass | FalseClass)


26
27
28
# File 'lib/mist_api/models/delivery.rb', line 26

def to_site_admins
  @to_site_admins
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/mist_api/models/delivery.rb', line 61

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  enabled = hash.key?('enabled') ? hash['enabled'] : nil
  additional_emails =
    hash.key?('additional_emails') ? hash['additional_emails'] : SKIP
  to_org_admins = hash.key?('to_org_admins') ? hash['to_org_admins'] : SKIP
  to_site_admins =
    hash.key?('to_site_admins') ? hash['to_site_admins'] : SKIP

  # Create object from extracted values.
  Delivery.new(enabled,
               additional_emails,
               to_org_admins,
               to_site_admins)
end

.namesObject

A mapping from model property names to API property names.



29
30
31
32
33
34
35
36
# File 'lib/mist_api/models/delivery.rb', line 29

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['additional_emails'] = 'additional_emails'
  @_hash['enabled'] = 'enabled'
  @_hash['to_org_admins'] = 'to_org_admins'
  @_hash['to_site_admins'] = 'to_site_admins'
  @_hash
end

.nullablesObject

An array for nullable fields



48
49
50
# File 'lib/mist_api/models/delivery.rb', line 48

def self.nullables
  []
end

.optionalsObject

An array for optional fields



39
40
41
42
43
44
45
# File 'lib/mist_api/models/delivery.rb', line 39

def self.optionals
  %w[
    additional_emails
    to_org_admins
    to_site_admins
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



87
88
89
90
91
92
# File 'lib/mist_api/models/delivery.rb', line 87

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} additional_emails: #{@additional_emails.inspect}, enabled:"\
  " #{@enabled.inspect}, to_org_admins: #{@to_org_admins.inspect}, to_site_admins:"\
  " #{@to_site_admins.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



80
81
82
83
84
# File 'lib/mist_api/models/delivery.rb', line 80

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} additional_emails: #{@additional_emails}, enabled: #{@enabled},"\
  " to_org_admins: #{@to_org_admins}, to_site_admins: #{@to_site_admins}>"
end