Class: MistApi::VirtualChassisUpdate

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

Overview

Virtual Chassis

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(member = SKIP, members = SKIP, new_member = SKIP, op = SKIP, remove_inventory = false, additional_properties = nil) ⇒ VirtualChassisUpdate

Returns a new instance of VirtualChassisUpdate.



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 61

def initialize(member = SKIP, members = SKIP, new_member = SKIP, op = SKIP,
               remove_inventory = false, additional_properties = nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @member = member unless member == SKIP
  @members = members unless members == SKIP
  @new_member = new_member unless new_member == SKIP
  @op = op unless op == SKIP
  @remove_inventory = remove_inventory unless remove_inventory == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#memberInteger

Only if ‘op`==`renumber`

Returns:

  • (Integer)


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

def member
  @member
end

#membersArray[VirtualChassisMemberUpdate]

Only if ‘op`==`renumber`

Returns:



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

def members
  @members
end

#new_memberInteger

Only if ‘op`==`renumber`

Returns:

  • (Integer)


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

def new_member
  @new_member
end

#opVirtualChassisUpdateOpEnum

enum: ‘add`, `preprovision`, `remove`, `renumber`



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

def op
  @op
end

#remove_inventoryTrueClass | FalseClass

Only if ‘op`==`preprovision`. When removing members from a pre-provisioned VC, set to `true` to delete the inventory records for removed members (e.g. for RMA). Members being removed must be in “not-present” state.

Returns:

  • (TrueClass | FalseClass)


32
33
34
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 32

def remove_inventory
  @remove_inventory
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 75

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  member = hash.key?('member') ? hash['member'] : SKIP
  # Parameter is an array, so we need to iterate through it
  members = nil
  unless hash['members'].nil?
    members = []
    hash['members'].each do |structure|
      members << (VirtualChassisMemberUpdate.from_hash(structure) if structure)
    end
  end

  members = SKIP unless hash.key?('members')
  new_member = hash.key?('new-member') ? hash['new-member'] : SKIP
  op = hash.key?('op') ? hash['op'] : SKIP
  remove_inventory = hash['remove_inventory'] ||= false

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  VirtualChassisUpdate.new(member,
                           members,
                           new_member,
                           op,
                           remove_inventory,
                           additional_properties)
end

.namesObject

A mapping from model property names to API property names.



35
36
37
38
39
40
41
42
43
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 35

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['member'] = 'member'
  @_hash['members'] = 'members'
  @_hash['new_member'] = 'new-member'
  @_hash['op'] = 'op'
  @_hash['remove_inventory'] = 'remove_inventory'
  @_hash
end

.nullablesObject

An array for nullable fields



57
58
59
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 57

def self.nullables
  []
end

.optionalsObject

An array for optional fields



46
47
48
49
50
51
52
53
54
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 46

def self.optionals
  %w[
    member
    members
    new_member
    op
    remove_inventory
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



119
120
121
122
123
124
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 119

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} member: #{@member.inspect}, members: #{@members.inspect}, new_member:"\
  " #{@new_member.inspect}, op: #{@op.inspect}, remove_inventory:"\
  " #{@remove_inventory.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



111
112
113
114
115
116
# File 'lib/mist_api/models/virtual_chassis_update.rb', line 111

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} member: #{@member}, members: #{@members}, new_member: #{@new_member}, op:"\
  " #{@op}, remove_inventory: #{@remove_inventory}, additional_properties:"\
  " #{@additional_properties}>"
end