oraclebmc 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/oraclebmc/core/blockstorage_client.rb +16 -11
  4. data/lib/oraclebmc/core/compute_client.rb +227 -37
  5. data/lib/oraclebmc/core/core.rb +11 -0
  6. data/lib/oraclebmc/core/models/attach_i_scsi_volume_details.rb +1 -2
  7. data/lib/oraclebmc/core/models/attach_vnic_details.rb +144 -0
  8. data/lib/oraclebmc/core/models/attach_volume_details.rb +5 -6
  9. data/lib/oraclebmc/core/models/capture_console_history_details.rb +1 -2
  10. data/lib/oraclebmc/core/models/console_history.rb +8 -8
  11. data/lib/oraclebmc/core/models/cpe.rb +7 -6
  12. data/lib/oraclebmc/core/models/create_cpe_details.rb +4 -5
  13. data/lib/oraclebmc/core/models/create_cross_connect_details.rb +9 -8
  14. data/lib/oraclebmc/core/models/create_cross_connect_group_details.rb +4 -3
  15. data/lib/oraclebmc/core/models/create_dhcp_details.rb +5 -6
  16. data/lib/oraclebmc/core/models/create_drg_attachment_details.rb +4 -5
  17. data/lib/oraclebmc/core/models/create_drg_details.rb +3 -4
  18. data/lib/oraclebmc/core/models/create_image_details.rb +19 -7
  19. data/lib/oraclebmc/core/models/create_internet_gateway_details.rb +5 -6
  20. data/lib/oraclebmc/core/models/create_ip_sec_connection_details.rb +6 -7
  21. data/lib/oraclebmc/core/models/create_private_ip_details.rb +173 -0
  22. data/lib/oraclebmc/core/models/create_route_table_details.rb +5 -6
  23. data/lib/oraclebmc/core/models/create_security_list_details.rb +6 -7
  24. data/lib/oraclebmc/core/models/create_subnet_details.rb +14 -15
  25. data/lib/oraclebmc/core/models/create_vcn_details.rb +6 -8
  26. data/lib/oraclebmc/core/models/create_virtual_circuit_details.rb +11 -12
  27. data/lib/oraclebmc/core/models/create_vnic_details.rb +39 -27
  28. data/lib/oraclebmc/core/models/create_volume_backup_details.rb +4 -3
  29. data/lib/oraclebmc/core/models/create_volume_details.rb +6 -6
  30. data/lib/oraclebmc/core/models/cross_connect.rb +11 -10
  31. data/lib/oraclebmc/core/models/cross_connect_group.rb +6 -6
  32. data/lib/oraclebmc/core/models/cross_connect_location.rb +2 -3
  33. data/lib/oraclebmc/core/models/cross_connect_mapping.rb +5 -6
  34. data/lib/oraclebmc/core/models/cross_connect_port_speed_shape.rb +2 -3
  35. data/lib/oraclebmc/core/models/cross_connect_status.rb +4 -5
  36. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +2 -3
  37. data/lib/oraclebmc/core/models/dhcp_option.rb +1 -2
  38. data/lib/oraclebmc/core/models/dhcp_options.rb +9 -8
  39. data/lib/oraclebmc/core/models/dhcp_search_domain_option.rb +1 -2
  40. data/lib/oraclebmc/core/models/drg.rb +7 -6
  41. data/lib/oraclebmc/core/models/drg_attachment.rb +9 -8
  42. data/lib/oraclebmc/core/models/egress_security_rule.rb +6 -7
  43. data/lib/oraclebmc/core/models/export_image_details.rb +134 -0
  44. data/lib/oraclebmc/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
  45. data/lib/oraclebmc/core/models/export_image_via_object_storage_uri_details.rb +130 -0
  46. data/lib/oraclebmc/core/models/fast_connect_provider_service.rb +3 -4
  47. data/lib/oraclebmc/core/models/i_scsi_volume_attachment.rb +5 -6
  48. data/lib/oraclebmc/core/models/icmp_options.rb +2 -3
  49. data/lib/oraclebmc/core/models/image.rb +12 -10
  50. data/lib/oraclebmc/core/models/image_source_details.rb +134 -0
  51. data/lib/oraclebmc/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
  52. data/lib/oraclebmc/core/models/image_source_via_object_storage_uri_details.rb +128 -0
  53. data/lib/oraclebmc/core/models/ingress_security_rule.rb +6 -7
  54. data/lib/oraclebmc/core/models/instance.rb +13 -13
  55. data/lib/oraclebmc/core/models/instance_credentials.rb +2 -3
  56. data/lib/oraclebmc/core/models/internet_gateway.rb +9 -8
  57. data/lib/oraclebmc/core/models/ip_sec_connection.rb +10 -9
  58. data/lib/oraclebmc/core/models/ip_sec_connection_device_config.rb +4 -5
  59. data/lib/oraclebmc/core/models/ip_sec_connection_device_status.rb +4 -5
  60. data/lib/oraclebmc/core/models/launch_instance_details.rb +17 -15
  61. data/lib/oraclebmc/core/models/letter_of_authority.rb +6 -7
  62. data/lib/oraclebmc/core/models/port_range.rb +2 -3
  63. data/lib/oraclebmc/core/models/private_ip.rb +248 -0
  64. data/lib/oraclebmc/core/models/route_rule.rb +2 -3
  65. data/lib/oraclebmc/core/models/route_table.rb +9 -8
  66. data/lib/oraclebmc/core/models/security_list.rb +10 -9
  67. data/lib/oraclebmc/core/models/shape.rb +1 -2
  68. data/lib/oraclebmc/core/models/subnet.rb +21 -19
  69. data/lib/oraclebmc/core/models/tcp_options.rb +2 -3
  70. data/lib/oraclebmc/core/models/tunnel_config.rb +3 -4
  71. data/lib/oraclebmc/core/models/tunnel_status.rb +4 -5
  72. data/lib/oraclebmc/core/models/udp_options.rb +2 -3
  73. data/lib/oraclebmc/core/models/update_cpe_details.rb +3 -2
  74. data/lib/oraclebmc/core/models/update_cross_connect_details.rb +4 -3
  75. data/lib/oraclebmc/core/models/update_cross_connect_group_details.rb +3 -2
  76. data/lib/oraclebmc/core/models/update_dhcp_details.rb +4 -3
  77. data/lib/oraclebmc/core/models/update_drg_attachment_details.rb +3 -2
  78. data/lib/oraclebmc/core/models/update_drg_details.rb +3 -2
  79. data/lib/oraclebmc/core/models/update_image_details.rb +3 -3
  80. data/lib/oraclebmc/core/models/update_instance_details.rb +2 -2
  81. data/lib/oraclebmc/core/models/update_internet_gateway_details.rb +4 -3
  82. data/lib/oraclebmc/core/models/update_ip_sec_connection_details.rb +3 -2
  83. data/lib/oraclebmc/core/models/update_private_ip_details.rb +157 -0
  84. data/lib/oraclebmc/core/models/update_route_table_details.rb +4 -3
  85. data/lib/oraclebmc/core/models/update_security_list_details.rb +5 -4
  86. data/lib/oraclebmc/core/models/update_subnet_details.rb +3 -2
  87. data/lib/oraclebmc/core/models/update_vcn_details.rb +3 -2
  88. data/lib/oraclebmc/core/models/update_virtual_circuit_details.rb +8 -8
  89. data/lib/oraclebmc/core/models/update_vnic_details.rb +144 -0
  90. data/lib/oraclebmc/core/models/update_volume_backup_details.rb +3 -2
  91. data/lib/oraclebmc/core/models/update_volume_details.rb +2 -2
  92. data/lib/oraclebmc/core/models/vcn.rb +13 -12
  93. data/lib/oraclebmc/core/models/virtual_circuit.rb +18 -18
  94. data/lib/oraclebmc/core/models/virtual_circuit_bandwidth_shape.rb +2 -3
  95. data/lib/oraclebmc/core/models/vnic.rb +47 -19
  96. data/lib/oraclebmc/core/models/vnic_attachment.rb +33 -15
  97. data/lib/oraclebmc/core/models/volume.rb +8 -8
  98. data/lib/oraclebmc/core/models/volume_attachment.rb +10 -10
  99. data/lib/oraclebmc/core/models/volume_backup.rb +11 -10
  100. data/lib/oraclebmc/core/virtual_network_client.rb +364 -87
  101. data/lib/oraclebmc/errors.rb +19 -1
  102. data/lib/oraclebmc/identity/identity_client.rb +31 -31
  103. data/lib/oraclebmc/identity/models/add_user_to_group_details.rb +2 -3
  104. data/lib/oraclebmc/identity/models/api_key.rb +7 -8
  105. data/lib/oraclebmc/identity/models/availability_domain.rb +2 -3
  106. data/lib/oraclebmc/identity/models/compartment.rb +7 -8
  107. data/lib/oraclebmc/identity/models/create_api_key_details.rb +1 -2
  108. data/lib/oraclebmc/identity/models/create_compartment_details.rb +3 -4
  109. data/lib/oraclebmc/identity/models/create_group_details.rb +3 -4
  110. data/lib/oraclebmc/identity/models/create_identity_provider_details.rb +5 -6
  111. data/lib/oraclebmc/identity/models/create_idp_group_mapping_details.rb +2 -3
  112. data/lib/oraclebmc/identity/models/create_policy_details.rb +5 -6
  113. data/lib/oraclebmc/identity/models/create_region_subscription_details.rb +1 -2
  114. data/lib/oraclebmc/identity/models/create_saml2_identity_provider_details.rb +2 -3
  115. data/lib/oraclebmc/identity/models/create_swift_password_details.rb +1 -2
  116. data/lib/oraclebmc/identity/models/create_user_details.rb +3 -4
  117. data/lib/oraclebmc/identity/models/group.rb +7 -8
  118. data/lib/oraclebmc/identity/models/identity_provider.rb +9 -10
  119. data/lib/oraclebmc/identity/models/idp_group_mapping.rb +8 -9
  120. data/lib/oraclebmc/identity/models/policy.rb +9 -10
  121. data/lib/oraclebmc/identity/models/region.rb +2 -3
  122. data/lib/oraclebmc/identity/models/region_subscription.rb +4 -5
  123. data/lib/oraclebmc/identity/models/saml2_identity_provider.rb +3 -4
  124. data/lib/oraclebmc/identity/models/swift_password.rb +8 -9
  125. data/lib/oraclebmc/identity/models/tenancy.rb +4 -5
  126. data/lib/oraclebmc/identity/models/ui_password.rb +5 -6
  127. data/lib/oraclebmc/identity/models/update_compartment_details.rb +1 -2
  128. data/lib/oraclebmc/identity/models/update_group_details.rb +1 -2
  129. data/lib/oraclebmc/identity/models/update_identity_provider_details.rb +2 -3
  130. data/lib/oraclebmc/identity/models/update_idp_group_mapping_details.rb +2 -3
  131. data/lib/oraclebmc/identity/models/update_policy_details.rb +3 -4
  132. data/lib/oraclebmc/identity/models/update_saml2_identity_provider_details.rb +2 -3
  133. data/lib/oraclebmc/identity/models/update_state_details.rb +1 -2
  134. data/lib/oraclebmc/identity/models/update_swift_password_details.rb +1 -2
  135. data/lib/oraclebmc/identity/models/update_user_details.rb +1 -2
  136. data/lib/oraclebmc/identity/models/user.rb +7 -8
  137. data/lib/oraclebmc/identity/models/user_group_membership.rb +7 -8
  138. data/lib/oraclebmc/load_balancer/load_balancer_client.rb +11 -11
  139. data/lib/oraclebmc/load_balancer/models/backend.rb +7 -8
  140. data/lib/oraclebmc/load_balancer/models/backend_details.rb +6 -7
  141. data/lib/oraclebmc/load_balancer/models/backend_set.rb +6 -7
  142. data/lib/oraclebmc/load_balancer/models/backend_set_details.rb +5 -6
  143. data/lib/oraclebmc/load_balancer/models/certificate.rb +3 -4
  144. data/lib/oraclebmc/load_balancer/models/certificate_details.rb +5 -6
  145. data/lib/oraclebmc/load_balancer/models/create_backend_details.rb +6 -7
  146. data/lib/oraclebmc/load_balancer/models/create_backend_set_details.rb +6 -7
  147. data/lib/oraclebmc/load_balancer/models/create_certificate_details.rb +5 -6
  148. data/lib/oraclebmc/load_balancer/models/create_listener_details.rb +5 -6
  149. data/lib/oraclebmc/load_balancer/models/create_load_balancer_details.rb +8 -9
  150. data/lib/oraclebmc/load_balancer/models/health_checker.rb +8 -9
  151. data/lib/oraclebmc/load_balancer/models/health_checker_details.rb +8 -9
  152. data/lib/oraclebmc/load_balancer/models/ip_address.rb +2 -3
  153. data/lib/oraclebmc/load_balancer/models/listener.rb +5 -6
  154. data/lib/oraclebmc/load_balancer/models/listener_details.rb +4 -5
  155. data/lib/oraclebmc/load_balancer/models/load_balancer.rb +12 -13
  156. data/lib/oraclebmc/load_balancer/models/load_balancer_policy.rb +1 -2
  157. data/lib/oraclebmc/load_balancer/models/load_balancer_protocol.rb +1 -2
  158. data/lib/oraclebmc/load_balancer/models/load_balancer_shape.rb +1 -2
  159. data/lib/oraclebmc/load_balancer/models/session_persistence_configuration_details.rb +2 -3
  160. data/lib/oraclebmc/load_balancer/models/ssl_configuration.rb +3 -4
  161. data/lib/oraclebmc/load_balancer/models/ssl_configuration_details.rb +3 -4
  162. data/lib/oraclebmc/load_balancer/models/update_backend_details.rb +4 -5
  163. data/lib/oraclebmc/load_balancer/models/update_backend_set_details.rb +5 -6
  164. data/lib/oraclebmc/load_balancer/models/update_health_checker_details.rb +8 -9
  165. data/lib/oraclebmc/load_balancer/models/update_listener_details.rb +4 -5
  166. data/lib/oraclebmc/load_balancer/models/update_load_balancer_details.rb +1 -2
  167. data/lib/oraclebmc/load_balancer/models/work_request.rb +8 -9
  168. data/lib/oraclebmc/load_balancer/models/work_request_error.rb +2 -3
  169. data/lib/oraclebmc/version.rb +1 -1
  170. metadata +13 -2
@@ -20,6 +20,8 @@ module OracleBMC
20
20
  attr_accessor :cpe_id
21
21
 
22
22
  # A user-friendly name. Does not have to be unique, and it's changeable.
23
+ # Avoid entering confidential information.
24
+ #
23
25
  # @return [String]
24
26
  attr_accessor :display_name
25
27
 
@@ -59,39 +61,38 @@ module OracleBMC
59
61
  # convert string to symbol for hash key
60
62
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
61
63
 
62
-
63
64
  if attributes[:'compartmentId']
64
65
  self.compartment_id = attributes[:'compartmentId']
65
66
  end
66
-
67
+
67
68
  if attributes[:'cpeId']
68
69
  self.cpe_id = attributes[:'cpeId']
69
70
  end
70
-
71
+
71
72
  if attributes[:'displayName']
72
73
  self.display_name = attributes[:'displayName']
73
74
  end
74
-
75
+
75
76
  if attributes[:'drgId']
76
77
  self.drg_id = attributes[:'drgId']
77
78
  end
78
-
79
+
79
80
  if attributes[:'id']
80
81
  self.id = attributes[:'id']
81
82
  end
82
-
83
+
83
84
  if attributes[:'lifecycleState']
84
85
  self.lifecycle_state = attributes[:'lifecycleState']
85
86
  end
86
-
87
+
87
88
  if attributes[:'staticRoutes']
88
89
  self.static_routes = attributes[:'staticRoutes']
89
90
  end
90
-
91
+
91
92
  if attributes[:'timeCreated']
92
93
  self.time_created = attributes[:'timeCreated']
93
94
  end
94
-
95
+
95
96
  end
96
97
 
97
98
  # Custom attribute writer method checking allowed values (enum).
@@ -29,23 +29,22 @@ module OracleBMC
29
29
  # convert string to symbol for hash key
30
30
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
31
31
 
32
-
33
32
  if attributes[:'compartmentId']
34
33
  self.compartment_id = attributes[:'compartmentId']
35
34
  end
36
-
35
+
37
36
  if attributes[:'id']
38
37
  self.id = attributes[:'id']
39
38
  end
40
-
39
+
41
40
  if attributes[:'timeCreated']
42
41
  self.time_created = attributes[:'timeCreated']
43
42
  end
44
-
43
+
45
44
  if attributes[:'tunnels']
46
45
  self.tunnels = attributes[:'tunnels']
47
46
  end
48
-
47
+
49
48
  end
50
49
 
51
50
  # Checks equality by comparing each attribute.
@@ -32,23 +32,22 @@ module OracleBMC
32
32
  # convert string to symbol for hash key
33
33
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
34
34
 
35
-
36
35
  if attributes[:'compartmentId']
37
36
  self.compartment_id = attributes[:'compartmentId']
38
37
  end
39
-
38
+
40
39
  if attributes[:'id']
41
40
  self.id = attributes[:'id']
42
41
  end
43
-
42
+
44
43
  if attributes[:'timeCreated']
45
44
  self.time_created = attributes[:'timeCreated']
46
45
  end
47
-
46
+
48
47
  if attributes[:'tunnels']
49
48
  self.tunnels = attributes[:'tunnels']
50
49
  end
51
-
50
+
52
51
  end
53
52
 
54
53
  # Checks equality by comparing each attribute.
@@ -15,11 +15,14 @@ module OracleBMC
15
15
  # @return [String]
16
16
  attr_accessor :compartment_id
17
17
 
18
- # Details for the VNIC that is automatically created when an instance is launched.
18
+ # Details for the primary VNIC, which is automatically created and attached when
19
+ # the instance is launched.
20
+ #
19
21
  # @return [OracleBMC::Core::Models::CreateVnicDetails]
20
22
  attr_accessor :create_vnic_details
21
23
 
22
24
  # A user-friendly name. Does not have to be unique, and it's changeable.
25
+ # Avoid entering confidential information.
23
26
  #
24
27
  # Example: `My bare metal instance`
25
28
  #
@@ -35,7 +38,7 @@ module OracleBMC
35
38
  # @return [Hash<String, Object>]
36
39
  attr_accessor :extended_metadata
37
40
 
38
- # Deprecated. Instead use `hostnameLabel` in
41
+ # Deprecated. Instead use `hostnameLabel` in
39
42
  # {CreateVnicDetails}.
40
43
  # If you provide both, the values must match.
41
44
  #
@@ -145,7 +148,7 @@ module OracleBMC
145
148
  attr_accessor :shape
146
149
 
147
150
  # Deprecated. Instead use `subnetId` in
148
- # {CreateVnicDetails}.
151
+ # {CreateVnicDetails}.
149
152
  # At least one of them is required; if you provide both, the values must match.
150
153
  #
151
154
  # @return [String]
@@ -160,51 +163,50 @@ module OracleBMC
160
163
  # convert string to symbol for hash key
161
164
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
162
165
 
163
-
164
166
  if attributes[:'availabilityDomain']
165
167
  self.availability_domain = attributes[:'availabilityDomain']
166
168
  end
167
-
169
+
168
170
  if attributes[:'compartmentId']
169
171
  self.compartment_id = attributes[:'compartmentId']
170
172
  end
171
-
173
+
172
174
  if attributes[:'createVnicDetails']
173
175
  self.create_vnic_details = attributes[:'createVnicDetails']
174
176
  end
175
-
177
+
176
178
  if attributes[:'displayName']
177
179
  self.display_name = attributes[:'displayName']
178
180
  end
179
-
181
+
180
182
  if attributes[:'extendedMetadata']
181
183
  self.extended_metadata = attributes[:'extendedMetadata']
182
184
  end
183
-
185
+
184
186
  if attributes[:'hostnameLabel']
185
187
  self.hostname_label = attributes[:'hostnameLabel']
186
188
  end
187
-
189
+
188
190
  if attributes[:'imageId']
189
191
  self.image_id = attributes[:'imageId']
190
192
  end
191
-
193
+
192
194
  if attributes[:'ipxeScript']
193
195
  self.ipxe_script = attributes[:'ipxeScript']
194
196
  end
195
-
197
+
196
198
  if attributes[:'metadata']
197
199
  self.metadata = attributes[:'metadata']
198
200
  end
199
-
201
+
200
202
  if attributes[:'shape']
201
203
  self.shape = attributes[:'shape']
202
204
  end
203
-
205
+
204
206
  if attributes[:'subnetId']
205
207
  self.subnet_id = attributes[:'subnetId']
206
208
  end
207
-
209
+
208
210
  end
209
211
 
210
212
  # Checks equality by comparing each attribute.
@@ -46,31 +46,30 @@ module OracleBMC
46
46
  # convert string to symbol for hash key
47
47
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
48
48
 
49
-
50
49
  if attributes[:'circuitType']
51
50
  self.circuit_type = attributes[:'circuitType']
52
51
  end
53
-
52
+
54
53
  if attributes[:'crossConnectId']
55
54
  self.cross_connect_id = attributes[:'crossConnectId']
56
55
  end
57
-
56
+
58
57
  if attributes[:'facilityLocation']
59
58
  self.facility_location = attributes[:'facilityLocation']
60
59
  end
61
-
60
+
62
61
  if attributes[:'portName']
63
62
  self.port_name = attributes[:'portName']
64
63
  end
65
-
64
+
66
65
  if attributes[:'timeExpires']
67
66
  self.time_expires = attributes[:'timeExpires']
68
67
  end
69
-
68
+
70
69
  if attributes[:'timeIssued']
71
70
  self.time_issued = attributes[:'timeIssued']
72
71
  end
73
-
72
+
74
73
  end
75
74
 
76
75
  # Custom attribute writer method checking allowed values (enum).
@@ -23,15 +23,14 @@ module OracleBMC
23
23
  # convert string to symbol for hash key
24
24
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
25
25
 
26
-
27
26
  if attributes[:'max']
28
27
  self.max = attributes[:'max']
29
28
  end
30
-
29
+
31
30
  if attributes[:'min']
32
31
  self.min = attributes[:'min']
33
32
  end
34
-
33
+
35
34
  end
36
35
 
37
36
  # Checks equality by comparing each attribute.
@@ -0,0 +1,248 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OracleBMC
6
+ class Core::Models::PrivateIp
7
+ # The private IP's Availability Domain.
8
+ #
9
+ # Example: `Uocm:PHX-AD-1`
10
+ #
11
+ # @return [String]
12
+ attr_accessor :availability_domain
13
+
14
+ # The OCID of the compartment containing the private IP.
15
+ # @return [String]
16
+ attr_accessor :compartment_id
17
+
18
+ # A user-friendly name. Does not have to be unique, and it's changeable. Avoid
19
+ # entering confidential information.
20
+ #
21
+ # @return [String]
22
+ attr_accessor :display_name
23
+
24
+ # The hostname for the private IP. Used for DNS. The value is the hostname
25
+ # portion of the private IP's fully qualified domain name (FQDN)
26
+ # (for example, `bminstance-1` in FQDN `bminstance-1.subnet123.vcn1.oraclevcn.com`).
27
+ # Must be unique across all VNICs in the subnet and comply with
28
+ # [RFC 952](https://tools.ietf.org/html/rfc952) and
29
+ # [RFC 1123](https://tools.ietf.org/html/rfc1123).
30
+ #
31
+ # For more information, see
32
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
33
+ #
34
+ # Example: `bminstance-1`
35
+ #
36
+ # @return [String]
37
+ attr_accessor :hostname_label
38
+
39
+ # The private IP's Oracle ID (OCID).
40
+ # @return [String]
41
+ attr_accessor :id
42
+
43
+ # The private IP address of the `privateIp` object. The address is within the CIDR
44
+ # of the VNIC's subnet.
45
+ #
46
+ # Example: `10.0.3.3`
47
+ #
48
+ # @return [String]
49
+ attr_accessor :ip_address
50
+
51
+ # Whether this private IP is the primary one on the VNIC. Primary private IPs
52
+ # are unassigned and deleted automatically when the VNIC is terminated.
53
+ #
54
+ # Example: `true`
55
+ #
56
+ # @return [BOOLEAN]
57
+ attr_accessor :is_primary
58
+
59
+ # The OCID of the subnet the VNIC is in.
60
+ # @return [String]
61
+ attr_accessor :subnet_id
62
+
63
+ # The date and time the private IP was created, in the format defined by RFC3339.
64
+ #
65
+ # Example: `2016-08-25T21:10:29.600Z`
66
+ #
67
+ # @return [DateTime]
68
+ attr_accessor :time_created
69
+
70
+ # The OCID of the VNIC the private IP is assigned to. The VNIC and private IP
71
+ # must be in the same subnet.
72
+ #
73
+ # @return [String]
74
+ attr_accessor :vnic_id
75
+
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ return unless attributes.is_a?(Hash)
81
+
82
+ # convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
84
+
85
+ if attributes[:'availabilityDomain']
86
+ self.availability_domain = attributes[:'availabilityDomain']
87
+ end
88
+
89
+ if attributes[:'compartmentId']
90
+ self.compartment_id = attributes[:'compartmentId']
91
+ end
92
+
93
+ if attributes[:'displayName']
94
+ self.display_name = attributes[:'displayName']
95
+ end
96
+
97
+ if attributes[:'hostnameLabel']
98
+ self.hostname_label = attributes[:'hostnameLabel']
99
+ end
100
+
101
+ if attributes[:'id']
102
+ self.id = attributes[:'id']
103
+ end
104
+
105
+ if attributes[:'ipAddress']
106
+ self.ip_address = attributes[:'ipAddress']
107
+ end
108
+
109
+ if attributes[:'isPrimary']
110
+ self.is_primary = attributes[:'isPrimary']
111
+ end
112
+
113
+ if attributes[:'subnetId']
114
+ self.subnet_id = attributes[:'subnetId']
115
+ end
116
+
117
+ if attributes[:'timeCreated']
118
+ self.time_created = attributes[:'timeCreated']
119
+ end
120
+
121
+ if attributes[:'vnicId']
122
+ self.vnic_id = attributes[:'vnicId']
123
+ end
124
+
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] other_object to be compared
129
+ def ==(other_object)
130
+ return true if self.equal?(other_object)
131
+ self.class == other_object.class &&
132
+ availability_domain == other_object.availability_domain &&
133
+ compartment_id == other_object.compartment_id &&
134
+ display_name == other_object.display_name &&
135
+ hostname_label == other_object.hostname_label &&
136
+ id == other_object.id &&
137
+ ip_address == other_object.ip_address &&
138
+ is_primary == other_object.is_primary &&
139
+ subnet_id == other_object.subnet_id &&
140
+ time_created == other_object.time_created &&
141
+ vnic_id == other_object.vnic_id
142
+ end
143
+
144
+ # @see the `==` method
145
+ # @param [Object] other_object to be compared
146
+ def eql?(other_object)
147
+ self == other_object
148
+ end
149
+
150
+ # Calculates hash code according to all attributes.
151
+ # @return [Fixnum] Hash code
152
+ def hash
153
+ [availability_domain, compartment_id, display_name, hostname_label, id, ip_address, is_primary, subnet_id, time_created, vnic_id].hash
154
+ end
155
+
156
+ # Builds the object from hash
157
+ # @param [Hash] attributes Model attributes in the form of hash
158
+ # @return [Object] Returns the model itself
159
+ def build_from_hash(attributes)
160
+ return nil unless attributes.is_a?(Hash)
161
+ self.class.swagger_types.each_pair do |key, type|
162
+ if type =~ /^Array<(.*)>/i
163
+ # check to ensure the input is an array given that the the attribute
164
+ # is documented as an array but the input is not
165
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
166
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OracleBMC::Internal::Util.convert_to_type($1, v) } )
167
+ end
168
+ elsif !attributes[self.class.attribute_map[key]].nil?
169
+ self.send("#{key}=", OracleBMC::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
170
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
171
+ end
172
+
173
+ self
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ next if value.nil?
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ private
195
+
196
+ # Outputs non-array value in the form of hash
197
+ # For object, use to_hash. Otherwise, just return the value
198
+ # @param [Object] value Any valid value
199
+ # @return [Hash] Returns the value in the form of hash
200
+ def _to_hash(value)
201
+ if value.is_a?(Array)
202
+ value.compact.map{ |v| _to_hash(v) }
203
+ elsif value.is_a?(Hash)
204
+ {}.tap do |hash|
205
+ value.each { |k, v| hash[k] = _to_hash(v) }
206
+ end
207
+ elsif value.respond_to? :to_hash
208
+ value.to_hash
209
+ else
210
+ value
211
+ end
212
+ end
213
+
214
+
215
+
216
+ # Attribute mapping from ruby-style variable name to JSON key.
217
+ def self.attribute_map
218
+ {
219
+ :'availability_domain' => :'availabilityDomain',
220
+ :'compartment_id' => :'compartmentId',
221
+ :'display_name' => :'displayName',
222
+ :'hostname_label' => :'hostnameLabel',
223
+ :'id' => :'id',
224
+ :'ip_address' => :'ipAddress',
225
+ :'is_primary' => :'isPrimary',
226
+ :'subnet_id' => :'subnetId',
227
+ :'time_created' => :'timeCreated',
228
+ :'vnic_id' => :'vnicId'
229
+ }
230
+ end
231
+
232
+ # Attribute type mapping.
233
+ def self.swagger_types
234
+ {
235
+ :'availability_domain' => :'String',
236
+ :'compartment_id' => :'String',
237
+ :'display_name' => :'String',
238
+ :'hostname_label' => :'String',
239
+ :'id' => :'String',
240
+ :'ip_address' => :'String',
241
+ :'is_primary' => :'BOOLEAN',
242
+ :'subnet_id' => :'String',
243
+ :'time_created' => :'DateTime',
244
+ :'vnic_id' => :'String'
245
+ }
246
+ end
247
+ end
248
+ end