Class: MistApi::SiteRogue

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

Overview

Rogue site settings

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(allowed_vlan_ids = SKIP, enabled = false, honeypot_enabled = false, min_duration = 10, min_rogue_duration = 10, min_rogue_rssi = -80,, min_rssi = -80,, whitelisted_bssids = SKIP, whitelisted_ssids = SKIP) ⇒ SiteRogue

Returns a new instance of SiteRogue.



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/mist_api/models/site_rogue.rb', line 85

def initialize(allowed_vlan_ids = SKIP, enabled = false,
               honeypot_enabled = false, min_duration = 10,
               min_rogue_duration = 10, min_rogue_rssi = -80,
               min_rssi = -80, whitelisted_bssids = SKIP,
               whitelisted_ssids = SKIP)
  @allowed_vlan_ids = allowed_vlan_ids unless allowed_vlan_ids == SKIP
  @enabled = enabled unless enabled == SKIP
  @honeypot_enabled = honeypot_enabled unless honeypot_enabled == SKIP
  @min_duration = min_duration unless min_duration == SKIP
  @min_rogue_duration = min_rogue_duration unless min_rogue_duration == SKIP
  @min_rogue_rssi = min_rogue_rssi unless min_rogue_rssi == SKIP
  @min_rssi = min_rssi unless min_rssi == SKIP
  @whitelisted_bssids = whitelisted_bssids unless whitelisted_bssids == SKIP
  @whitelisted_ssids = whitelisted_ssids unless whitelisted_ssids == SKIP
end

Instance Attribute Details

#allowed_vlan_idsArray[Integer]

list of VLAN IDs on which rogue APs are ignored

Returns:

  • (Array[Integer])


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

def allowed_vlan_ids
  @allowed_vlan_ids
end

#enabledTrueClass | FalseClass

Whether rogue detection is enabled

Returns:

  • (TrueClass | FalseClass)


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

def enabled
  @enabled
end

#honeypot_enabledTrueClass | FalseClass

Whether honeypot detection is enabled

Returns:

  • (TrueClass | FalseClass)


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

def honeypot_enabled
  @honeypot_enabled
end

#min_durationInteger

Minimum duration for a bssid to be considered neighbor

Returns:

  • (Integer)


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

def min_duration
  @min_duration
end

#min_rogue_durationInteger

Minimum duration for a bssid to be considered rogue

Returns:

  • (Integer)


30
31
32
# File 'lib/mist_api/models/site_rogue.rb', line 30

def min_rogue_duration
  @min_rogue_duration
end

#min_rogue_rssiInteger

Minimum RSSI for an AP to be considered rogue

Returns:

  • (Integer)


34
35
36
# File 'lib/mist_api/models/site_rogue.rb', line 34

def min_rogue_rssi
  @min_rogue_rssi
end

#min_rssiInteger

Minimum RSSI for an AP to be considered neighbor (ignoring APs that’s far away)

Returns:

  • (Integer)


39
40
41
# File 'lib/mist_api/models/site_rogue.rb', line 39

def min_rssi
  @min_rssi
end

#whitelisted_bssidsArray[String]

list of BSSIDs to whitelist. Ex: “cc-:8e-:6f-:d4-:bf-:16”, “cc-8e-6f-d4-bf-16”, “cc-73-*”, “cc:82:*”

Returns:

  • (Array[String])


44
45
46
# File 'lib/mist_api/models/site_rogue.rb', line 44

def whitelisted_bssids
  @whitelisted_bssids
end

#whitelisted_ssidsArray[String]

List of SSIDs to whitelist

Returns:

  • (Array[String])


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

def whitelisted_ssids
  @whitelisted_ssids
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/mist_api/models/site_rogue.rb', line 102

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  allowed_vlan_ids =
    hash.key?('allowed_vlan_ids') ? hash['allowed_vlan_ids'] : SKIP
  enabled = hash['enabled'] ||= false
  honeypot_enabled = hash['honeypot_enabled'] ||= false
  min_duration = hash['min_duration'] ||= 10
  min_rogue_duration = hash['min_rogue_duration'] ||= 10
  min_rogue_rssi = hash['min_rogue_rssi'] ||= -80
  min_rssi = hash['min_rssi'] ||= -80
  whitelisted_bssids =
    hash.key?('whitelisted_bssids') ? hash['whitelisted_bssids'] : SKIP
  whitelisted_ssids =
    hash.key?('whitelisted_ssids') ? hash['whitelisted_ssids'] : SKIP

  # Create object from extracted values.
  SiteRogue.new(allowed_vlan_ids,
                enabled,
                honeypot_enabled,
                min_duration,
                min_rogue_duration,
                min_rogue_rssi,
                min_rssi,
                whitelisted_bssids,
                whitelisted_ssids)
end

.namesObject

A mapping from model property names to API property names.



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/mist_api/models/site_rogue.rb', line 51

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['allowed_vlan_ids'] = 'allowed_vlan_ids'
  @_hash['enabled'] = 'enabled'
  @_hash['honeypot_enabled'] = 'honeypot_enabled'
  @_hash['min_duration'] = 'min_duration'
  @_hash['min_rogue_duration'] = 'min_rogue_duration'
  @_hash['min_rogue_rssi'] = 'min_rogue_rssi'
  @_hash['min_rssi'] = 'min_rssi'
  @_hash['whitelisted_bssids'] = 'whitelisted_bssids'
  @_hash['whitelisted_ssids'] = 'whitelisted_ssids'
  @_hash
end

.nullablesObject

An array for nullable fields



81
82
83
# File 'lib/mist_api/models/site_rogue.rb', line 81

def self.nullables
  []
end

.optionalsObject

An array for optional fields



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/mist_api/models/site_rogue.rb', line 66

def self.optionals
  %w[
    allowed_vlan_ids
    enabled
    honeypot_enabled
    min_duration
    min_rogue_duration
    min_rogue_rssi
    min_rssi
    whitelisted_bssids
    whitelisted_ssids
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



142
143
144
145
146
147
148
149
150
# File 'lib/mist_api/models/site_rogue.rb', line 142

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} allowed_vlan_ids: #{@allowed_vlan_ids.inspect}, enabled:"\
  " #{@enabled.inspect}, honeypot_enabled: #{@honeypot_enabled.inspect}, min_duration:"\
  " #{@min_duration.inspect}, min_rogue_duration: #{@min_rogue_duration.inspect},"\
  " min_rogue_rssi: #{@min_rogue_rssi.inspect}, min_rssi: #{@min_rssi.inspect},"\
  " whitelisted_bssids: #{@whitelisted_bssids.inspect}, whitelisted_ssids:"\
  " #{@whitelisted_ssids.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



132
133
134
135
136
137
138
139
# File 'lib/mist_api/models/site_rogue.rb', line 132

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} allowed_vlan_ids: #{@allowed_vlan_ids}, enabled: #{@enabled},"\
  " honeypot_enabled: #{@honeypot_enabled}, min_duration: #{@min_duration},"\
  " min_rogue_duration: #{@min_rogue_duration}, min_rogue_rssi: #{@min_rogue_rssi}, min_rssi:"\
  " #{@min_rssi}, whitelisted_bssids: #{@whitelisted_bssids}, whitelisted_ssids:"\
  " #{@whitelisted_ssids}>"
end