oraclebmc 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +2 -2
  3. data/README.md +2 -2
  4. data/lib/oraclebmc/api_client.rb +1 -50
  5. data/lib/oraclebmc/core/compute_client.rb +33 -0
  6. data/lib/oraclebmc/core/core.rb +2 -0
  7. data/lib/oraclebmc/core/models/attach_i_scsi_volume_details.rb +2 -43
  8. data/lib/oraclebmc/core/models/attach_volume_details.rb +2 -43
  9. data/lib/oraclebmc/core/models/capture_console_history_details.rb +2 -43
  10. data/lib/oraclebmc/core/models/console_history.rb +2 -43
  11. data/lib/oraclebmc/core/models/cpe.rb +2 -43
  12. data/lib/oraclebmc/core/models/create_cpe_details.rb +2 -43
  13. data/lib/oraclebmc/core/models/create_dhcp_details.rb +2 -43
  14. data/lib/oraclebmc/core/models/create_drg_attachment_details.rb +2 -43
  15. data/lib/oraclebmc/core/models/create_drg_details.rb +2 -43
  16. data/lib/oraclebmc/core/models/create_image_details.rb +2 -43
  17. data/lib/oraclebmc/core/models/create_internet_gateway_details.rb +2 -43
  18. data/lib/oraclebmc/core/models/create_ip_sec_connection_details.rb +2 -43
  19. data/lib/oraclebmc/core/models/create_route_table_details.rb +2 -43
  20. data/lib/oraclebmc/core/models/create_security_list_details.rb +2 -43
  21. data/lib/oraclebmc/core/models/create_subnet_details.rb +28 -44
  22. data/lib/oraclebmc/core/models/create_vcn_details.rb +33 -47
  23. data/lib/oraclebmc/core/models/create_volume_backup_details.rb +2 -43
  24. data/lib/oraclebmc/core/models/create_volume_details.rb +2 -43
  25. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +16 -49
  26. data/lib/oraclebmc/core/models/dhcp_option.rb +7 -43
  27. data/lib/oraclebmc/core/models/dhcp_options.rb +2 -43
  28. data/lib/oraclebmc/core/models/dhcp_search_domain_option.rb +143 -0
  29. data/lib/oraclebmc/core/models/drg.rb +2 -43
  30. data/lib/oraclebmc/core/models/drg_attachment.rb +2 -43
  31. data/lib/oraclebmc/core/models/egress_security_rule.rb +2 -43
  32. data/lib/oraclebmc/core/models/i_scsi_volume_attachment.rb +2 -43
  33. data/lib/oraclebmc/core/models/icmp_options.rb +2 -43
  34. data/lib/oraclebmc/core/models/image.rb +2 -43
  35. data/lib/oraclebmc/core/models/ingress_security_rule.rb +2 -43
  36. data/lib/oraclebmc/core/models/instance.rb +7 -43
  37. data/lib/oraclebmc/core/models/instance_credentials.rb +132 -0
  38. data/lib/oraclebmc/core/models/internet_gateway.rb +2 -43
  39. data/lib/oraclebmc/core/models/ip_sec_connection.rb +2 -43
  40. data/lib/oraclebmc/core/models/ip_sec_connection_device_config.rb +2 -43
  41. data/lib/oraclebmc/core/models/ip_sec_connection_device_status.rb +2 -43
  42. data/lib/oraclebmc/core/models/launch_instance_details.rb +32 -44
  43. data/lib/oraclebmc/core/models/port_range.rb +2 -43
  44. data/lib/oraclebmc/core/models/route_rule.rb +2 -43
  45. data/lib/oraclebmc/core/models/route_table.rb +2 -43
  46. data/lib/oraclebmc/core/models/security_list.rb +2 -43
  47. data/lib/oraclebmc/core/models/shape.rb +2 -43
  48. data/lib/oraclebmc/core/models/subnet.rb +45 -44
  49. data/lib/oraclebmc/core/models/tcp_options.rb +2 -43
  50. data/lib/oraclebmc/core/models/tunnel_config.rb +2 -43
  51. data/lib/oraclebmc/core/models/tunnel_status.rb +2 -43
  52. data/lib/oraclebmc/core/models/udp_options.rb +2 -43
  53. data/lib/oraclebmc/core/models/update_cpe_details.rb +2 -43
  54. data/lib/oraclebmc/core/models/update_dhcp_details.rb +2 -43
  55. data/lib/oraclebmc/core/models/update_drg_attachment_details.rb +2 -43
  56. data/lib/oraclebmc/core/models/update_drg_details.rb +2 -43
  57. data/lib/oraclebmc/core/models/update_image_details.rb +2 -43
  58. data/lib/oraclebmc/core/models/update_instance_details.rb +2 -43
  59. data/lib/oraclebmc/core/models/update_internet_gateway_details.rb +2 -43
  60. data/lib/oraclebmc/core/models/update_ip_sec_connection_details.rb +2 -43
  61. data/lib/oraclebmc/core/models/update_route_table_details.rb +2 -43
  62. data/lib/oraclebmc/core/models/update_security_list_details.rb +2 -43
  63. data/lib/oraclebmc/core/models/update_subnet_details.rb +2 -43
  64. data/lib/oraclebmc/core/models/update_vcn_details.rb +2 -43
  65. data/lib/oraclebmc/core/models/update_volume_backup_details.rb +2 -43
  66. data/lib/oraclebmc/core/models/update_volume_details.rb +2 -43
  67. data/lib/oraclebmc/core/models/vcn.rb +48 -47
  68. data/lib/oraclebmc/core/models/vnic.rb +30 -47
  69. data/lib/oraclebmc/core/models/vnic_attachment.rb +2 -43
  70. data/lib/oraclebmc/core/models/volume.rb +2 -43
  71. data/lib/oraclebmc/core/models/volume_attachment.rb +2 -43
  72. data/lib/oraclebmc/core/models/volume_backup.rb +2 -43
  73. data/lib/oraclebmc/core/virtual_network_client.rb +10 -4
  74. data/lib/oraclebmc/identity/models/add_user_to_group_details.rb +2 -43
  75. data/lib/oraclebmc/identity/models/api_key.rb +2 -43
  76. data/lib/oraclebmc/identity/models/availability_domain.rb +2 -43
  77. data/lib/oraclebmc/identity/models/compartment.rb +2 -43
  78. data/lib/oraclebmc/identity/models/create_api_key_details.rb +2 -43
  79. data/lib/oraclebmc/identity/models/create_compartment_details.rb +2 -43
  80. data/lib/oraclebmc/identity/models/create_group_details.rb +2 -43
  81. data/lib/oraclebmc/identity/models/create_policy_details.rb +2 -43
  82. data/lib/oraclebmc/identity/models/create_swift_password_details.rb +2 -43
  83. data/lib/oraclebmc/identity/models/create_user_details.rb +2 -43
  84. data/lib/oraclebmc/identity/models/group.rb +2 -43
  85. data/lib/oraclebmc/identity/models/policy.rb +2 -43
  86. data/lib/oraclebmc/identity/models/swift_password.rb +2 -43
  87. data/lib/oraclebmc/identity/models/ui_password.rb +2 -43
  88. data/lib/oraclebmc/identity/models/update_compartment_details.rb +2 -43
  89. data/lib/oraclebmc/identity/models/update_group_details.rb +2 -43
  90. data/lib/oraclebmc/identity/models/update_policy_details.rb +2 -43
  91. data/lib/oraclebmc/identity/models/update_state_details.rb +2 -43
  92. data/lib/oraclebmc/identity/models/update_swift_password_details.rb +2 -43
  93. data/lib/oraclebmc/identity/models/update_user_details.rb +2 -43
  94. data/lib/oraclebmc/identity/models/user.rb +2 -43
  95. data/lib/oraclebmc/identity/models/user_group_membership.rb +2 -43
  96. data/lib/oraclebmc/internal/internal.rb +11 -0
  97. data/lib/oraclebmc/internal/util.rb +69 -0
  98. data/lib/oraclebmc/load_balancer/models/backend.rb +2 -43
  99. data/lib/oraclebmc/load_balancer/models/backend_details.rb +2 -43
  100. data/lib/oraclebmc/load_balancer/models/backend_set.rb +2 -43
  101. data/lib/oraclebmc/load_balancer/models/backend_set_details.rb +2 -43
  102. data/lib/oraclebmc/load_balancer/models/certificate.rb +2 -43
  103. data/lib/oraclebmc/load_balancer/models/certificate_details.rb +2 -43
  104. data/lib/oraclebmc/load_balancer/models/create_backend_details.rb +2 -43
  105. data/lib/oraclebmc/load_balancer/models/create_backend_set_details.rb +2 -43
  106. data/lib/oraclebmc/load_balancer/models/create_certificate_details.rb +2 -43
  107. data/lib/oraclebmc/load_balancer/models/create_listener_details.rb +2 -43
  108. data/lib/oraclebmc/load_balancer/models/create_load_balancer_details.rb +2 -43
  109. data/lib/oraclebmc/load_balancer/models/health_checker.rb +2 -43
  110. data/lib/oraclebmc/load_balancer/models/health_checker_details.rb +2 -43
  111. data/lib/oraclebmc/load_balancer/models/ip_address.rb +2 -43
  112. data/lib/oraclebmc/load_balancer/models/listener.rb +2 -43
  113. data/lib/oraclebmc/load_balancer/models/listener_details.rb +2 -43
  114. data/lib/oraclebmc/load_balancer/models/load_balancer.rb +2 -43
  115. data/lib/oraclebmc/load_balancer/models/load_balancer_policy.rb +2 -43
  116. data/lib/oraclebmc/load_balancer/models/load_balancer_protocol.rb +2 -43
  117. data/lib/oraclebmc/load_balancer/models/load_balancer_shape.rb +2 -43
  118. data/lib/oraclebmc/load_balancer/models/ssl_configuration.rb +2 -43
  119. data/lib/oraclebmc/load_balancer/models/ssl_configuration_details.rb +2 -43
  120. data/lib/oraclebmc/load_balancer/models/update_backend_details.rb +2 -43
  121. data/lib/oraclebmc/load_balancer/models/update_backend_set_details.rb +2 -43
  122. data/lib/oraclebmc/load_balancer/models/update_health_checker_details.rb +2 -43
  123. data/lib/oraclebmc/load_balancer/models/update_listener_details.rb +2 -43
  124. data/lib/oraclebmc/load_balancer/models/update_load_balancer_details.rb +2 -43
  125. data/lib/oraclebmc/load_balancer/models/work_request.rb +2 -43
  126. data/lib/oraclebmc/load_balancer/models/work_request_error.rb +2 -43
  127. data/lib/oraclebmc/version.rb +1 -1
  128. data/lib/oraclebmc.rb +1 -0
  129. metadata +6 -2
@@ -55,10 +55,10 @@ module OracleBMC
55
55
  # check to ensure the input is an array given that the the attribute
56
56
  # is documented as an array but the input is not
57
57
  if attributes[self.class.attribute_map[key]].is_a?(Array)
58
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
58
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
59
59
  end
60
60
  elsif !attributes[self.class.attribute_map[key]].nil?
61
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
61
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
62
62
  end # or else data not found in attributes(hash), not an issue as the data can be optional
63
63
  end
64
64
 
@@ -103,47 +103,6 @@ module OracleBMC
103
103
  end
104
104
  end
105
105
 
106
- # Deserializes the data based on type
107
- # @param [String] type Data type
108
- # @param [String] value Value to be deserialized
109
- # @return [Object] Deserialized data
110
- def _deserialize(type, value)
111
- case type.to_sym
112
- when :DateTime
113
- DateTime.parse(value)
114
- when :Date
115
- Date.parse(value)
116
- when :String
117
- value.to_s
118
- when :Integer
119
- value.to_i
120
- when :Float
121
- value.to_f
122
- when :BOOLEAN
123
- if value.to_s =~ /^(true|t|yes|y|1)$/i
124
- true
125
- else
126
- false
127
- end
128
- when :Object
129
- # generic object (usually a Hash), return directly
130
- value
131
- when /\AArray<(?<inner_type>.+)>\z/
132
- inner_type = Regexp.last_match[:inner_type]
133
- value.map { |v| _deserialize(inner_type, v) }
134
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
135
- k_type = Regexp.last_match[:k_type]
136
- v_type = Regexp.last_match[:v_type]
137
- {}.tap do |hash|
138
- value.each do |k, v|
139
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
140
- end
141
- end
142
- else # model
143
- temp_model = OracleBMC.const_get(type.to_s).new
144
- temp_model.build_from_hash(value)
145
- end
146
- end
147
106
 
148
107
 
149
108
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -54,10 +54,10 @@ module OracleBMC
54
54
  # check to ensure the input is an array given that the the attribute
55
55
  # is documented as an array but the input is not
56
56
  if attributes[self.class.attribute_map[key]].is_a?(Array)
57
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
57
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
58
58
  end
59
59
  elsif !attributes[self.class.attribute_map[key]].nil?
60
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
60
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
61
61
  end # or else data not found in attributes(hash), not an issue as the data can be optional
62
62
  end
63
63
 
@@ -102,47 +102,6 @@ module OracleBMC
102
102
  end
103
103
  end
104
104
 
105
- # Deserializes the data based on type
106
- # @param [String] type Data type
107
- # @param [String] value Value to be deserialized
108
- # @return [Object] Deserialized data
109
- def _deserialize(type, value)
110
- case type.to_sym
111
- when :DateTime
112
- DateTime.parse(value)
113
- when :Date
114
- Date.parse(value)
115
- when :String
116
- value.to_s
117
- when :Integer
118
- value.to_i
119
- when :Float
120
- value.to_f
121
- when :BOOLEAN
122
- if value.to_s =~ /^(true|t|yes|y|1)$/i
123
- true
124
- else
125
- false
126
- end
127
- when :Object
128
- # generic object (usually a Hash), return directly
129
- value
130
- when /\AArray<(?<inner_type>.+)>\z/
131
- inner_type = Regexp.last_match[:inner_type]
132
- value.map { |v| _deserialize(inner_type, v) }
133
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
134
- k_type = Regexp.last_match[:k_type]
135
- v_type = Regexp.last_match[:v_type]
136
- {}.tap do |hash|
137
- value.each do |k, v|
138
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
139
- end
140
- end
141
- else # model
142
- temp_model = OracleBMC.const_get(type.to_s).new
143
- temp_model.build_from_hash(value)
144
- end
145
- end
146
105
 
147
106
 
148
107
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -54,10 +54,10 @@ module OracleBMC
54
54
  # check to ensure the input is an array given that the the attribute
55
55
  # is documented as an array but the input is not
56
56
  if attributes[self.class.attribute_map[key]].is_a?(Array)
57
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
57
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
58
58
  end
59
59
  elsif !attributes[self.class.attribute_map[key]].nil?
60
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
60
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
61
61
  end # or else data not found in attributes(hash), not an issue as the data can be optional
62
62
  end
63
63
 
@@ -102,47 +102,6 @@ module OracleBMC
102
102
  end
103
103
  end
104
104
 
105
- # Deserializes the data based on type
106
- # @param [String] type Data type
107
- # @param [String] value Value to be deserialized
108
- # @return [Object] Deserialized data
109
- def _deserialize(type, value)
110
- case type.to_sym
111
- when :DateTime
112
- DateTime.parse(value)
113
- when :Date
114
- Date.parse(value)
115
- when :String
116
- value.to_s
117
- when :Integer
118
- value.to_i
119
- when :Float
120
- value.to_f
121
- when :BOOLEAN
122
- if value.to_s =~ /^(true|t|yes|y|1)$/i
123
- true
124
- else
125
- false
126
- end
127
- when :Object
128
- # generic object (usually a Hash), return directly
129
- value
130
- when /\AArray<(?<inner_type>.+)>\z/
131
- inner_type = Regexp.last_match[:inner_type]
132
- value.map { |v| _deserialize(inner_type, v) }
133
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
134
- k_type = Regexp.last_match[:k_type]
135
- v_type = Regexp.last_match[:v_type]
136
- {}.tap do |hash|
137
- value.each do |k, v|
138
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
139
- end
140
- end
141
- else # model
142
- temp_model = OracleBMC.const_get(type.to_s).new
143
- temp_model.build_from_hash(value)
144
- end
145
- end
146
105
 
147
106
 
148
107
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -137,10 +137,10 @@ module OracleBMC
137
137
  # check to ensure the input is an array given that the the attribute
138
138
  # is documented as an array but the input is not
139
139
  if attributes[self.class.attribute_map[key]].is_a?(Array)
140
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
140
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
141
141
  end
142
142
  elsif !attributes[self.class.attribute_map[key]].nil?
143
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
144
144
  end # or else data not found in attributes(hash), not an issue as the data can be optional
145
145
  end
146
146
 
@@ -185,47 +185,6 @@ module OracleBMC
185
185
  end
186
186
  end
187
187
 
188
- # Deserializes the data based on type
189
- # @param [String] type Data type
190
- # @param [String] value Value to be deserialized
191
- # @return [Object] Deserialized data
192
- def _deserialize(type, value)
193
- case type.to_sym
194
- when :DateTime
195
- DateTime.parse(value)
196
- when :Date
197
- Date.parse(value)
198
- when :String
199
- value.to_s
200
- when :Integer
201
- value.to_i
202
- when :Float
203
- value.to_f
204
- when :BOOLEAN
205
- if value.to_s =~ /^(true|t|yes|y|1)$/i
206
- true
207
- else
208
- false
209
- end
210
- when :Object
211
- # generic object (usually a Hash), return directly
212
- value
213
- when /\AArray<(?<inner_type>.+)>\z/
214
- inner_type = Regexp.last_match[:inner_type]
215
- value.map { |v| _deserialize(inner_type, v) }
216
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
217
- k_type = Regexp.last_match[:k_type]
218
- v_type = Regexp.last_match[:v_type]
219
- {}.tap do |hash|
220
- value.each do |k, v|
221
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
222
- end
223
- end
224
- else # model
225
- temp_model = OracleBMC.const_get(type.to_s).new
226
- temp_model.build_from_hash(value)
227
- end
228
- end
229
188
 
230
189
 
231
190
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -129,10 +129,10 @@ module OracleBMC
129
129
  # check to ensure the input is an array given that the the attribute
130
130
  # is documented as an array but the input is not
131
131
  if attributes[self.class.attribute_map[key]].is_a?(Array)
132
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
132
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
133
133
  end
134
134
  elsif !attributes[self.class.attribute_map[key]].nil?
135
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
135
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
136
136
  end # or else data not found in attributes(hash), not an issue as the data can be optional
137
137
  end
138
138
 
@@ -177,47 +177,6 @@ module OracleBMC
177
177
  end
178
178
  end
179
179
 
180
- # Deserializes the data based on type
181
- # @param [String] type Data type
182
- # @param [String] value Value to be deserialized
183
- # @return [Object] Deserialized data
184
- def _deserialize(type, value)
185
- case type.to_sym
186
- when :DateTime
187
- DateTime.parse(value)
188
- when :Date
189
- Date.parse(value)
190
- when :String
191
- value.to_s
192
- when :Integer
193
- value.to_i
194
- when :Float
195
- value.to_f
196
- when :BOOLEAN
197
- if value.to_s =~ /^(true|t|yes|y|1)$/i
198
- true
199
- else
200
- false
201
- end
202
- when :Object
203
- # generic object (usually a Hash), return directly
204
- value
205
- when /\AArray<(?<inner_type>.+)>\z/
206
- inner_type = Regexp.last_match[:inner_type]
207
- value.map { |v| _deserialize(inner_type, v) }
208
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
209
- k_type = Regexp.last_match[:k_type]
210
- v_type = Regexp.last_match[:v_type]
211
- {}.tap do |hash|
212
- value.each do |k, v|
213
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
214
- end
215
- end
216
- else # model
217
- temp_model = OracleBMC.const_get(type.to_s).new
218
- temp_model.build_from_hash(value)
219
- end
220
- end
221
180
 
222
181
 
223
182
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -0,0 +1,11 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OracleBMC
4
+
5
+ # Contains internal modules and class that are not meant for public use.
6
+ module Internal
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oraclebmc/internal/util'
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OracleBMC::Internal
4
+
5
+ # Utility methods for internal use only.
6
+ module Util
7
+
8
+ # Convert data to the given type. This is part of the conversion from strings representing
9
+ # json, where the data that is passed in should already have been converted using JSON.parse.
10
+ # That will give us arrays and hashes, but will not set the correct data types.
11
+ #
12
+ # @param [String] type Type that the data should be converted to
13
+ # @param [String] data Data in string, array or hash of strings, or raw object format.
14
+ # @return [Mixed] Data in the specified type
15
+ def self.convert_to_type(type, data)
16
+ return nil if data.nil?
17
+
18
+ case type.downcase.to_sym
19
+ when :datetime
20
+ DateTime.parse(data)
21
+ when :date
22
+ Date.parse(data)
23
+ when :string
24
+ data.to_s
25
+ when :integer
26
+ data.to_i
27
+ when :float
28
+ data.to_f
29
+ when :boolean
30
+ if data.to_s =~ /^(true|yes|1)$/i
31
+ true
32
+ else
33
+ false
34
+ end
35
+ when :object
36
+ # generic object, return directly
37
+ data
38
+ else
39
+ # The remaining cases might need to match a specific model class, so don't ignore case.
40
+ case type.to_sym
41
+ when /\AArray<(?<inner_type>.+)>\z/
42
+ inner_type = Regexp.last_match[:inner_type]
43
+ data.map { |v| convert_to_type(inner_type, v) }
44
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
45
+ k_type = Regexp.last_match[:k_type]
46
+ v_type = Regexp.last_match[:v_type]
47
+ {}.tap do |hash|
48
+ data.each do |k, v|
49
+ hash[convert_to_type(k_type, k)] = convert_to_type(v_type, v)
50
+ end
51
+ end
52
+ else
53
+ # Type must be a model.
54
+ type = OracleBMC.const_get(type.to_s)
55
+
56
+ if defined? type.get_subtype
57
+ # The return type may be an abstract type, in which case
58
+ # we need to use the discriminator value to get the correct subtype.
59
+ type = OracleBMC.const_get(type.get_subtype(data))
60
+ end
61
+
62
+ type.new.tap do |model|
63
+ model.build_from_hash data
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -142,10 +142,10 @@ module OracleBMC
142
142
  # check to ensure the input is an array given that the the attribute
143
143
  # is documented as an array but the input is not
144
144
  if attributes[self.class.attribute_map[key]].is_a?(Array)
145
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
145
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
146
146
  end
147
147
  elsif !attributes[self.class.attribute_map[key]].nil?
148
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
148
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
149
149
  end # or else data not found in attributes(hash), not an issue as the data can be optional
150
150
  end
151
151
 
@@ -190,47 +190,6 @@ module OracleBMC
190
190
  end
191
191
  end
192
192
 
193
- # Deserializes the data based on type
194
- # @param [String] type Data type
195
- # @param [String] value Value to be deserialized
196
- # @return [Object] Deserialized data
197
- def _deserialize(type, value)
198
- case type.to_sym
199
- when :DateTime
200
- DateTime.parse(value)
201
- when :Date
202
- Date.parse(value)
203
- when :String
204
- value.to_s
205
- when :Integer
206
- value.to_i
207
- when :Float
208
- value.to_f
209
- when :BOOLEAN
210
- if value.to_s =~ /^(true|t|yes|y|1)$/i
211
- true
212
- else
213
- false
214
- end
215
- when :Object
216
- # generic object (usually a Hash), return directly
217
- value
218
- when /\AArray<(?<inner_type>.+)>\z/
219
- inner_type = Regexp.last_match[:inner_type]
220
- value.map { |v| _deserialize(inner_type, v) }
221
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
222
- k_type = Regexp.last_match[:k_type]
223
- v_type = Regexp.last_match[:v_type]
224
- {}.tap do |hash|
225
- value.each do |k, v|
226
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
227
- end
228
- end
229
- else # model
230
- temp_model = OracleBMC.const_get(type.to_s).new
231
- temp_model.build_from_hash(value)
232
- end
233
- end
234
193
 
235
194
 
236
195
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -130,10 +130,10 @@ module OracleBMC
130
130
  # check to ensure the input is an array given that the the attribute
131
131
  # is documented as an array but the input is not
132
132
  if attributes[self.class.attribute_map[key]].is_a?(Array)
133
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
133
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
134
134
  end
135
135
  elsif !attributes[self.class.attribute_map[key]].nil?
136
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
136
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
137
137
  end # or else data not found in attributes(hash), not an issue as the data can be optional
138
138
  end
139
139
 
@@ -178,47 +178,6 @@ module OracleBMC
178
178
  end
179
179
  end
180
180
 
181
- # Deserializes the data based on type
182
- # @param [String] type Data type
183
- # @param [String] value Value to be deserialized
184
- # @return [Object] Deserialized data
185
- def _deserialize(type, value)
186
- case type.to_sym
187
- when :DateTime
188
- DateTime.parse(value)
189
- when :Date
190
- Date.parse(value)
191
- when :String
192
- value.to_s
193
- when :Integer
194
- value.to_i
195
- when :Float
196
- value.to_f
197
- when :BOOLEAN
198
- if value.to_s =~ /^(true|t|yes|y|1)$/i
199
- true
200
- else
201
- false
202
- end
203
- when :Object
204
- # generic object (usually a Hash), return directly
205
- value
206
- when /\AArray<(?<inner_type>.+)>\z/
207
- inner_type = Regexp.last_match[:inner_type]
208
- value.map { |v| _deserialize(inner_type, v) }
209
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
210
- k_type = Regexp.last_match[:k_type]
211
- v_type = Regexp.last_match[:v_type]
212
- {}.tap do |hash|
213
- value.each do |k, v|
214
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
215
- end
216
- end
217
- else # model
218
- temp_model = OracleBMC.const_get(type.to_s).new
219
- temp_model.build_from_hash(value)
220
- end
221
- end
222
181
 
223
182
 
224
183
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -95,10 +95,10 @@ module OracleBMC
95
95
  # check to ensure the input is an array given that the the attribute
96
96
  # is documented as an array but the input is not
97
97
  if attributes[self.class.attribute_map[key]].is_a?(Array)
98
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
98
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
99
99
  end
100
100
  elsif !attributes[self.class.attribute_map[key]].nil?
101
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
101
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
102
102
  end # or else data not found in attributes(hash), not an issue as the data can be optional
103
103
  end
104
104
 
@@ -143,47 +143,6 @@ module OracleBMC
143
143
  end
144
144
  end
145
145
 
146
- # Deserializes the data based on type
147
- # @param [String] type Data type
148
- # @param [String] value Value to be deserialized
149
- # @return [Object] Deserialized data
150
- def _deserialize(type, value)
151
- case type.to_sym
152
- when :DateTime
153
- DateTime.parse(value)
154
- when :Date
155
- Date.parse(value)
156
- when :String
157
- value.to_s
158
- when :Integer
159
- value.to_i
160
- when :Float
161
- value.to_f
162
- when :BOOLEAN
163
- if value.to_s =~ /^(true|t|yes|y|1)$/i
164
- true
165
- else
166
- false
167
- end
168
- when :Object
169
- # generic object (usually a Hash), return directly
170
- value
171
- when /\AArray<(?<inner_type>.+)>\z/
172
- inner_type = Regexp.last_match[:inner_type]
173
- value.map { |v| _deserialize(inner_type, v) }
174
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
175
- k_type = Regexp.last_match[:k_type]
176
- v_type = Regexp.last_match[:v_type]
177
- {}.tap do |hash|
178
- value.each do |k, v|
179
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
180
- end
181
- end
182
- else # model
183
- temp_model = OracleBMC.const_get(type.to_s).new
184
- temp_model.build_from_hash(value)
185
- end
186
- end
187
146
 
188
147
 
189
148
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -83,10 +83,10 @@ module OracleBMC
83
83
  # check to ensure the input is an array given that the the attribute
84
84
  # is documented as an array but the input is not
85
85
  if attributes[self.class.attribute_map[key]].is_a?(Array)
86
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
86
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
87
87
  end
88
88
  elsif !attributes[self.class.attribute_map[key]].nil?
89
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
89
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
90
90
  end # or else data not found in attributes(hash), not an issue as the data can be optional
91
91
  end
92
92
 
@@ -131,47 +131,6 @@ module OracleBMC
131
131
  end
132
132
  end
133
133
 
134
- # Deserializes the data based on type
135
- # @param [String] type Data type
136
- # @param [String] value Value to be deserialized
137
- # @return [Object] Deserialized data
138
- def _deserialize(type, value)
139
- case type.to_sym
140
- when :DateTime
141
- DateTime.parse(value)
142
- when :Date
143
- Date.parse(value)
144
- when :String
145
- value.to_s
146
- when :Integer
147
- value.to_i
148
- when :Float
149
- value.to_f
150
- when :BOOLEAN
151
- if value.to_s =~ /^(true|t|yes|y|1)$/i
152
- true
153
- else
154
- false
155
- end
156
- when :Object
157
- # generic object (usually a Hash), return directly
158
- value
159
- when /\AArray<(?<inner_type>.+)>\z/
160
- inner_type = Regexp.last_match[:inner_type]
161
- value.map { |v| _deserialize(inner_type, v) }
162
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
163
- k_type = Regexp.last_match[:k_type]
164
- v_type = Regexp.last_match[:v_type]
165
- {}.tap do |hash|
166
- value.each do |k, v|
167
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
168
- end
169
- end
170
- else # model
171
- temp_model = OracleBMC.const_get(type.to_s).new
172
- temp_model.build_from_hash(value)
173
- end
174
- end
175
134
 
176
135
 
177
136
  # Attribute mapping from ruby-style variable name to JSON key.