oci 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/audit/models/audit_event.rb +3 -3
  4. data/lib/oci/audit/models/configuration.rb +3 -3
  5. data/lib/oci/audit/models/update_configuration_details.rb +3 -3
  6. data/lib/oci/core/blockstorage_client.rb +155 -0
  7. data/lib/oci/core/compute_client.rb +176 -12
  8. data/lib/oci/core/core.rb +11 -0
  9. data/lib/oci/core/models/attach_boot_volume_details.rb +143 -0
  10. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +3 -3
  11. data/lib/oci/core/models/attach_vnic_details.rb +23 -7
  12. data/lib/oci/core/models/attach_volume_details.rb +3 -3
  13. data/lib/oci/core/models/boot_volume.rb +234 -0
  14. data/lib/oci/core/models/boot_volume_attachment.rb +224 -0
  15. data/lib/oci/core/models/capture_console_history_details.rb +3 -3
  16. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +120 -0
  17. data/lib/oci/core/models/console_history.rb +3 -3
  18. data/lib/oci/core/models/cpe.rb +3 -3
  19. data/lib/oci/core/models/create_cpe_details.rb +3 -3
  20. data/lib/oci/core/models/create_cross_connect_details.rb +3 -3
  21. data/lib/oci/core/models/create_cross_connect_group_details.rb +3 -3
  22. data/lib/oci/core/models/create_dhcp_details.rb +3 -3
  23. data/lib/oci/core/models/create_drg_attachment_details.rb +3 -3
  24. data/lib/oci/core/models/create_drg_details.rb +3 -3
  25. data/lib/oci/core/models/create_image_details.rb +3 -3
  26. data/lib/oci/core/models/create_instance_console_connection_details.rb +5 -5
  27. data/lib/oci/core/models/create_internet_gateway_details.rb +3 -3
  28. data/lib/oci/core/models/create_ip_sec_connection_details.rb +3 -3
  29. data/lib/oci/core/models/create_local_peering_gateway_details.rb +144 -0
  30. data/lib/oci/core/models/create_private_ip_details.rb +3 -3
  31. data/lib/oci/core/models/create_route_table_details.rb +3 -3
  32. data/lib/oci/core/models/create_security_list_details.rb +3 -3
  33. data/lib/oci/core/models/create_subnet_details.rb +3 -3
  34. data/lib/oci/core/models/create_vcn_details.rb +3 -3
  35. data/lib/oci/core/models/create_virtual_circuit_details.rb +3 -3
  36. data/lib/oci/core/models/create_vnic_details.rb +3 -3
  37. data/lib/oci/core/models/create_volume_backup_details.rb +3 -3
  38. data/lib/oci/core/models/create_volume_details.rb +3 -3
  39. data/lib/oci/core/models/cross_connect.rb +3 -3
  40. data/lib/oci/core/models/cross_connect_group.rb +3 -3
  41. data/lib/oci/core/models/cross_connect_location.rb +3 -3
  42. data/lib/oci/core/models/cross_connect_mapping.rb +3 -3
  43. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +3 -3
  44. data/lib/oci/core/models/cross_connect_status.rb +3 -3
  45. data/lib/oci/core/models/dhcp_dns_option.rb +3 -3
  46. data/lib/oci/core/models/dhcp_option.rb +3 -3
  47. data/lib/oci/core/models/dhcp_options.rb +3 -3
  48. data/lib/oci/core/models/dhcp_search_domain_option.rb +3 -3
  49. data/lib/oci/core/models/drg.rb +3 -3
  50. data/lib/oci/core/models/drg_attachment.rb +3 -3
  51. data/lib/oci/core/models/egress_security_rule.rb +3 -3
  52. data/lib/oci/core/models/export_image_details.rb +3 -3
  53. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +3 -3
  54. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +3 -3
  55. data/lib/oci/core/models/fast_connect_provider_service.rb +3 -3
  56. data/lib/oci/core/models/i_scsi_volume_attachment.rb +3 -3
  57. data/lib/oci/core/models/icmp_options.rb +3 -3
  58. data/lib/oci/core/models/image.rb +3 -3
  59. data/lib/oci/core/models/image_source_details.rb +3 -3
  60. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +3 -3
  61. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +3 -3
  62. data/lib/oci/core/models/ingress_security_rule.rb +3 -3
  63. data/lib/oci/core/models/instance.rb +16 -6
  64. data/lib/oci/core/models/instance_console_connection.rb +9 -9
  65. data/lib/oci/core/models/instance_credentials.rb +3 -3
  66. data/lib/oci/core/models/instance_source_details.rb +135 -0
  67. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +128 -0
  68. data/lib/oci/core/models/instance_source_via_image_details.rb +128 -0
  69. data/lib/oci/core/models/internet_gateway.rb +3 -3
  70. data/lib/oci/core/models/ip_sec_connection.rb +3 -3
  71. data/lib/oci/core/models/ip_sec_connection_device_config.rb +3 -3
  72. data/lib/oci/core/models/ip_sec_connection_device_status.rb +3 -3
  73. data/lib/oci/core/models/launch_instance_details.rb +19 -6
  74. data/lib/oci/core/models/letter_of_authority.rb +3 -3
  75. data/lib/oci/core/models/local_peering_gateway.rb +271 -0
  76. data/lib/oci/core/models/port_range.rb +3 -3
  77. data/lib/oci/core/models/private_ip.rb +3 -3
  78. data/lib/oci/core/models/route_rule.rb +3 -3
  79. data/lib/oci/core/models/route_table.rb +3 -3
  80. data/lib/oci/core/models/security_list.rb +3 -3
  81. data/lib/oci/core/models/shape.rb +3 -3
  82. data/lib/oci/core/models/subnet.rb +3 -3
  83. data/lib/oci/core/models/tcp_options.rb +3 -3
  84. data/lib/oci/core/models/tunnel_config.rb +3 -3
  85. data/lib/oci/core/models/tunnel_status.rb +3 -3
  86. data/lib/oci/core/models/udp_options.rb +3 -3
  87. data/lib/oci/core/models/update_boot_volume_details.rb +122 -0
  88. data/lib/oci/core/models/update_console_history_details.rb +3 -3
  89. data/lib/oci/core/models/update_cpe_details.rb +3 -3
  90. data/lib/oci/core/models/update_cross_connect_details.rb +3 -3
  91. data/lib/oci/core/models/update_cross_connect_group_details.rb +3 -3
  92. data/lib/oci/core/models/update_dhcp_details.rb +3 -3
  93. data/lib/oci/core/models/update_drg_attachment_details.rb +3 -3
  94. data/lib/oci/core/models/update_drg_details.rb +3 -3
  95. data/lib/oci/core/models/update_image_details.rb +3 -3
  96. data/lib/oci/core/models/update_instance_details.rb +3 -3
  97. data/lib/oci/core/models/update_internet_gateway_details.rb +3 -3
  98. data/lib/oci/core/models/update_ip_sec_connection_details.rb +3 -3
  99. data/lib/oci/core/models/update_local_peering_gateway_details.rb +122 -0
  100. data/lib/oci/core/models/update_private_ip_details.rb +3 -3
  101. data/lib/oci/core/models/update_route_table_details.rb +3 -3
  102. data/lib/oci/core/models/update_security_list_details.rb +3 -3
  103. data/lib/oci/core/models/update_subnet_details.rb +3 -3
  104. data/lib/oci/core/models/update_vcn_details.rb +3 -3
  105. data/lib/oci/core/models/update_virtual_circuit_details.rb +3 -3
  106. data/lib/oci/core/models/update_vnic_details.rb +3 -3
  107. data/lib/oci/core/models/update_volume_backup_details.rb +3 -3
  108. data/lib/oci/core/models/update_volume_details.rb +3 -3
  109. data/lib/oci/core/models/vcn.rb +3 -3
  110. data/lib/oci/core/models/virtual_circuit.rb +3 -3
  111. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +3 -3
  112. data/lib/oci/core/models/vnic.rb +3 -3
  113. data/lib/oci/core/models/vnic_attachment.rb +20 -4
  114. data/lib/oci/core/models/volume.rb +3 -3
  115. data/lib/oci/core/models/volume_attachment.rb +3 -3
  116. data/lib/oci/core/models/volume_backup.rb +3 -3
  117. data/lib/oci/core/models/volume_source_details.rb +3 -3
  118. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +3 -3
  119. data/lib/oci/core/models/volume_source_from_volume_details.rb +3 -3
  120. data/lib/oci/core/virtual_network_client.rb +233 -0
  121. data/lib/oci/database/database.rb +3 -0
  122. data/lib/oci/database/database_client.rb +1 -1
  123. data/lib/oci/database/models/backup.rb +3 -3
  124. data/lib/oci/database/models/backup_summary.rb +3 -3
  125. data/lib/oci/database/models/create_backup_details.rb +3 -3
  126. data/lib/oci/database/models/create_data_guard_association_details.rb +3 -3
  127. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +3 -3
  128. data/lib/oci/database/models/create_database_details.rb +3 -3
  129. data/lib/oci/database/models/create_database_from_backup_details.rb +142 -0
  130. data/lib/oci/database/models/create_db_home_details.rb +3 -3
  131. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +173 -0
  132. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +22 -30
  133. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +133 -0
  134. data/lib/oci/database/models/data_guard_association.rb +3 -3
  135. data/lib/oci/database/models/data_guard_association_summary.rb +3 -3
  136. data/lib/oci/database/models/database.rb +3 -3
  137. data/lib/oci/database/models/database_summary.rb +3 -3
  138. data/lib/oci/database/models/db_backup_config.rb +3 -3
  139. data/lib/oci/database/models/db_home.rb +3 -3
  140. data/lib/oci/database/models/db_home_summary.rb +3 -3
  141. data/lib/oci/database/models/db_node.rb +3 -3
  142. data/lib/oci/database/models/db_node_summary.rb +3 -3
  143. data/lib/oci/database/models/db_system.rb +3 -3
  144. data/lib/oci/database/models/db_system_shape_summary.rb +3 -3
  145. data/lib/oci/database/models/db_system_summary.rb +3 -3
  146. data/lib/oci/database/models/db_version_summary.rb +3 -3
  147. data/lib/oci/database/models/failover_data_guard_association_details.rb +3 -3
  148. data/lib/oci/database/models/launch_db_system_details.rb +3 -3
  149. data/lib/oci/database/models/patch.rb +3 -3
  150. data/lib/oci/database/models/patch_details.rb +3 -3
  151. data/lib/oci/database/models/patch_history_entry.rb +3 -3
  152. data/lib/oci/database/models/patch_history_entry_summary.rb +3 -3
  153. data/lib/oci/database/models/patch_summary.rb +3 -3
  154. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +3 -3
  155. data/lib/oci/database/models/restore_database_details.rb +3 -3
  156. data/lib/oci/database/models/switchover_data_guard_association_details.rb +3 -3
  157. data/lib/oci/database/models/update_database_details.rb +3 -3
  158. data/lib/oci/database/models/update_db_home_details.rb +3 -3
  159. data/lib/oci/database/models/update_db_system_details.rb +3 -3
  160. data/lib/oci/identity/models/add_user_to_group_details.rb +3 -3
  161. data/lib/oci/identity/models/api_key.rb +3 -3
  162. data/lib/oci/identity/models/availability_domain.rb +3 -3
  163. data/lib/oci/identity/models/compartment.rb +3 -3
  164. data/lib/oci/identity/models/create_api_key_details.rb +3 -3
  165. data/lib/oci/identity/models/create_compartment_details.rb +3 -3
  166. data/lib/oci/identity/models/create_customer_secret_key_details.rb +3 -3
  167. data/lib/oci/identity/models/create_group_details.rb +3 -3
  168. data/lib/oci/identity/models/create_identity_provider_details.rb +3 -3
  169. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +3 -3
  170. data/lib/oci/identity/models/create_policy_details.rb +3 -3
  171. data/lib/oci/identity/models/create_region_subscription_details.rb +3 -3
  172. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +3 -3
  173. data/lib/oci/identity/models/create_swift_password_details.rb +3 -3
  174. data/lib/oci/identity/models/create_user_details.rb +3 -3
  175. data/lib/oci/identity/models/customer_secret_key.rb +3 -3
  176. data/lib/oci/identity/models/customer_secret_key_summary.rb +3 -3
  177. data/lib/oci/identity/models/group.rb +3 -3
  178. data/lib/oci/identity/models/identity_provider.rb +3 -3
  179. data/lib/oci/identity/models/idp_group_mapping.rb +3 -3
  180. data/lib/oci/identity/models/policy.rb +3 -3
  181. data/lib/oci/identity/models/region.rb +3 -3
  182. data/lib/oci/identity/models/region_subscription.rb +3 -3
  183. data/lib/oci/identity/models/saml2_identity_provider.rb +3 -3
  184. data/lib/oci/identity/models/swift_password.rb +3 -3
  185. data/lib/oci/identity/models/tenancy.rb +3 -3
  186. data/lib/oci/identity/models/ui_password.rb +3 -3
  187. data/lib/oci/identity/models/update_compartment_details.rb +3 -3
  188. data/lib/oci/identity/models/update_customer_secret_key_details.rb +3 -3
  189. data/lib/oci/identity/models/update_group_details.rb +3 -3
  190. data/lib/oci/identity/models/update_identity_provider_details.rb +3 -3
  191. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +3 -3
  192. data/lib/oci/identity/models/update_policy_details.rb +3 -3
  193. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +3 -3
  194. data/lib/oci/identity/models/update_state_details.rb +3 -3
  195. data/lib/oci/identity/models/update_swift_password_details.rb +3 -3
  196. data/lib/oci/identity/models/update_user_details.rb +3 -3
  197. data/lib/oci/identity/models/user.rb +3 -3
  198. data/lib/oci/identity/models/user_group_membership.rb +3 -3
  199. data/lib/oci/load_balancer/load_balancer_client.rb +27 -1
  200. data/lib/oci/load_balancer/models/backend.rb +3 -3
  201. data/lib/oci/load_balancer/models/backend_details.rb +3 -3
  202. data/lib/oci/load_balancer/models/backend_health.rb +4 -4
  203. data/lib/oci/load_balancer/models/backend_set.rb +5 -6
  204. data/lib/oci/load_balancer/models/backend_set_details.rb +5 -6
  205. data/lib/oci/load_balancer/models/backend_set_health.rb +3 -3
  206. data/lib/oci/load_balancer/models/certificate.rb +3 -3
  207. data/lib/oci/load_balancer/models/certificate_details.rb +3 -3
  208. data/lib/oci/load_balancer/models/create_backend_details.rb +3 -3
  209. data/lib/oci/load_balancer/models/create_backend_set_details.rb +5 -5
  210. data/lib/oci/load_balancer/models/create_certificate_details.rb +3 -3
  211. data/lib/oci/load_balancer/models/create_listener_details.rb +3 -3
  212. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +4 -4
  213. data/lib/oci/load_balancer/models/health_check_result.rb +3 -3
  214. data/lib/oci/load_balancer/models/health_checker.rb +3 -3
  215. data/lib/oci/load_balancer/models/health_checker_details.rb +3 -3
  216. data/lib/oci/load_balancer/models/ip_address.rb +3 -3
  217. data/lib/oci/load_balancer/models/listener.rb +3 -3
  218. data/lib/oci/load_balancer/models/listener_details.rb +3 -3
  219. data/lib/oci/load_balancer/models/load_balancer.rb +6 -4
  220. data/lib/oci/load_balancer/models/load_balancer_health.rb +5 -5
  221. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +3 -3
  222. data/lib/oci/load_balancer/models/load_balancer_policy.rb +3 -3
  223. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +3 -3
  224. data/lib/oci/load_balancer/models/load_balancer_shape.rb +3 -3
  225. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +3 -3
  226. data/lib/oci/load_balancer/models/ssl_configuration.rb +3 -3
  227. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +3 -3
  228. data/lib/oci/load_balancer/models/update_backend_details.rb +3 -3
  229. data/lib/oci/load_balancer/models/update_backend_set_details.rb +5 -6
  230. data/lib/oci/load_balancer/models/update_health_checker_details.rb +3 -3
  231. data/lib/oci/load_balancer/models/update_listener_details.rb +3 -3
  232. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +3 -3
  233. data/lib/oci/load_balancer/models/work_request.rb +5 -3
  234. data/lib/oci/load_balancer/models/work_request_error.rb +3 -3
  235. data/lib/oci/object_storage/models/bucket.rb +3 -3
  236. data/lib/oci/object_storage/models/bucket_summary.rb +3 -3
  237. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +3 -3
  238. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +3 -3
  239. data/lib/oci/object_storage/models/create_bucket_details.rb +3 -3
  240. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +3 -3
  241. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +3 -3
  242. data/lib/oci/object_storage/models/list_objects.rb +3 -3
  243. data/lib/oci/object_storage/models/multipart_upload.rb +3 -3
  244. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +3 -3
  245. data/lib/oci/object_storage/models/namespace_metadata.rb +3 -3
  246. data/lib/oci/object_storage/models/object_summary.rb +3 -3
  247. data/lib/oci/object_storage/models/preauthenticated_request.rb +3 -3
  248. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +3 -3
  249. data/lib/oci/object_storage/models/rename_object_details.rb +3 -3
  250. data/lib/oci/object_storage/models/restore_objects_details.rb +3 -3
  251. data/lib/oci/object_storage/models/update_bucket_details.rb +3 -3
  252. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +3 -3
  253. data/lib/oci/version.rb +1 -1
  254. metadata +16 -2
@@ -0,0 +1,128 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'instance_source_details'
5
+
6
+ module OCI
7
+ class Core::Models::InstanceSourceViaImageDetails < Core::Models::InstanceSourceDetails
8
+ # The OCID of the image used to boot the instance.
9
+ # @return [String]
10
+ attr_accessor :image_id
11
+
12
+
13
+ # Initializes the object
14
+ # @param [Hash] attributes Model attributes in the form of hash
15
+ def initialize(attributes = {})
16
+ return unless attributes.is_a?(Hash)
17
+
18
+ attributes['sourceType'] = 'image'
19
+
20
+ super(attributes)
21
+
22
+ # convert string to symbol for hash key
23
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
24
+
25
+ if attributes[:'imageId']
26
+ self.image_id = attributes[:'imageId']
27
+ end
28
+
29
+ end
30
+
31
+ # Checks equality by comparing each attribute.
32
+ # @param [Object] other_object to be compared
33
+ def ==(other_object)
34
+ return true if self.equal?(other_object)
35
+ self.class == other_object.class &&
36
+ source_type == other_object.source_type &&
37
+ image_id == other_object.image_id
38
+ end
39
+
40
+ # @see the `==` method
41
+ # @param [Object] other_object to be compared
42
+ def eql?(other_object)
43
+ self == other_object
44
+ end
45
+
46
+ # Calculates hash code according to all attributes.
47
+ # @return [Fixnum] Hash code
48
+ def hash
49
+ [source_type, image_id].hash
50
+ end
51
+
52
+ # Builds the object from hash
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ # @return [Object] Returns the model itself
55
+ def build_from_hash(attributes)
56
+ return nil unless attributes.is_a?(Hash)
57
+ self.class.swagger_types.each_pair do |key, type|
58
+ if type =~ /^Array<(.*)>/i
59
+ # check to ensure the input is an array given that the the attribute
60
+ # is documented as an array but the input is not
61
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
62
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
63
+ end
64
+ elsif !attributes[self.class.attribute_map[key]].nil?
65
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
66
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
67
+ end
68
+
69
+ self
70
+ end
71
+
72
+ # Returns the string representation of the object
73
+ # @return [String] String presentation of the object
74
+ def to_s
75
+ to_hash.to_s
76
+ end
77
+
78
+ # Returns the object in the form of hash
79
+ # @return [Hash] Returns the object in the form of hash
80
+ def to_hash
81
+ hash = {}
82
+ self.class.attribute_map.each_pair do |attr, param|
83
+ value = public_send(attr)
84
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
85
+ hash[param] = _to_hash(value)
86
+ end
87
+ hash
88
+ end
89
+
90
+ private
91
+
92
+ # Outputs non-array value in the form of hash
93
+ # For object, use to_hash. Otherwise, just return the value
94
+ # @param [Object] value Any valid value
95
+ # @return [Hash] Returns the value in the form of hash
96
+ def _to_hash(value)
97
+ if value.is_a?(Array)
98
+ value.compact.map{ |v| _to_hash(v) }
99
+ elsif value.is_a?(Hash)
100
+ {}.tap do |hash|
101
+ value.each { |k, v| hash[k] = _to_hash(v) }
102
+ end
103
+ elsif value.respond_to? :to_hash
104
+ value.to_hash
105
+ else
106
+ value
107
+ end
108
+ end
109
+
110
+
111
+
112
+ # Attribute mapping from ruby-style variable name to JSON key.
113
+ def self.attribute_map
114
+ {
115
+ :'source_type' => :'sourceType',
116
+ :'image_id' => :'imageId'
117
+ }
118
+ end
119
+
120
+ # Attribute type mapping.
121
+ def self.swagger_types
122
+ {
123
+ :'source_type' => :'String',
124
+ :'image_id' => :'String'
125
+ }
126
+ end
127
+ end
128
+ end
@@ -131,10 +131,10 @@ module OCI
131
131
  # check to ensure the input is an array given that the the attribute
132
132
  # is documented as an array but the input is not
133
133
  if attributes[self.class.attribute_map[key]].is_a?(Array)
134
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
134
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
135
135
  end
136
136
  elsif !attributes[self.class.attribute_map[key]].nil?
137
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
137
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
138
138
  end # or else data not found in attributes(hash), not an issue as the data can be optional
139
139
  end
140
140
 
@@ -152,7 +152,7 @@ module OCI
152
152
  def to_hash
153
153
  hash = {}
154
154
  self.class.attribute_map.each_pair do |attr, param|
155
- value = send(attr)
155
+ value = public_send(attr)
156
156
  next if value.nil? && !instance_variable_defined?("@#{attr}")
157
157
  hash[param] = _to_hash(value)
158
158
  end
@@ -142,10 +142,10 @@ module OCI
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| OCI::Internal::Util.convert_to_type($1, v) } )
145
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
146
146
  end
147
147
  elsif !attributes[self.class.attribute_map[key]].nil?
148
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
148
+ self.public_send("#{key}=", OCI::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
 
@@ -163,7 +163,7 @@ module OCI
163
163
  def to_hash
164
164
  hash = {}
165
165
  self.class.attribute_map.each_pair do |attr, param|
166
- value = send(attr)
166
+ value = public_send(attr)
167
167
  next if value.nil? && !instance_variable_defined?("@#{attr}")
168
168
  hash[param] = _to_hash(value)
169
169
  end
@@ -80,10 +80,10 @@ module OCI
80
80
  # check to ensure the input is an array given that the the attribute
81
81
  # is documented as an array but the input is not
82
82
  if attributes[self.class.attribute_map[key]].is_a?(Array)
83
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
83
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
84
84
  end
85
85
  elsif !attributes[self.class.attribute_map[key]].nil?
86
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
86
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
87
87
  end # or else data not found in attributes(hash), not an issue as the data can be optional
88
88
  end
89
89
 
@@ -101,7 +101,7 @@ module OCI
101
101
  def to_hash
102
102
  hash = {}
103
103
  self.class.attribute_map.each_pair do |attr, param|
104
- value = send(attr)
104
+ value = public_send(attr)
105
105
  next if value.nil? && !instance_variable_defined?("@#{attr}")
106
106
  hash[param] = _to_hash(value)
107
107
  end
@@ -83,10 +83,10 @@ module OCI
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| OCI::Internal::Util.convert_to_type($1, v) } )
86
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
87
87
  end
88
88
  elsif !attributes[self.class.attribute_map[key]].nil?
89
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
89
+ self.public_send("#{key}=", OCI::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
 
@@ -104,7 +104,7 @@ module OCI
104
104
  def to_hash
105
105
  hash = {}
106
106
  self.class.attribute_map.each_pair do |attr, param|
107
- value = send(attr)
107
+ value = public_send(attr)
108
108
  next if value.nil? && !instance_variable_defined?("@#{attr}")
109
109
  hash[param] = _to_hash(value)
110
110
  end
@@ -38,14 +38,16 @@ module OCI
38
38
  # @return [Hash<String, Object>]
39
39
  attr_accessor :extended_metadata
40
40
 
41
- # Deprecated. Instead use `hostnameLabel` in
41
+ # Deprecated. Instead Use `hostnameLabel` in
42
42
  # {CreateVnicDetails}.
43
43
  # If you provide both, the values must match.
44
44
  #
45
45
  # @return [String]
46
46
  attr_accessor :hostname_label
47
47
 
48
- # The OCID of the image used to boot the instance.
48
+ # Deprecated. Use `sourceDetails` with {#instance_source_via_image_details instance_source_via_image_details}
49
+ # source type instead. If you specify values for both, the values must match.
50
+ #
49
51
  # @return [String]
50
52
  attr_accessor :image_id
51
53
 
@@ -147,6 +149,10 @@ module OCI
147
149
  # @return [String]
148
150
  attr_accessor :shape
149
151
 
152
+ # Details for creating an instance.
153
+ # @return [OCI::Core::Models::InstanceSourceDetails]
154
+ attr_accessor :source_details
155
+
150
156
  # Deprecated. Instead use `subnetId` in
151
157
  # {CreateVnicDetails}.
152
158
  # At least one of them is required; if you provide both, the values must match.
@@ -203,6 +209,10 @@ module OCI
203
209
  self.shape = attributes[:'shape']
204
210
  end
205
211
 
212
+ if attributes[:'sourceDetails']
213
+ self.source_details = attributes[:'sourceDetails']
214
+ end
215
+
206
216
  if attributes[:'subnetId']
207
217
  self.subnet_id = attributes[:'subnetId']
208
218
  end
@@ -224,6 +234,7 @@ module OCI
224
234
  ipxe_script == other_object.ipxe_script &&
225
235
  metadata == other_object.metadata &&
226
236
  shape == other_object.shape &&
237
+ source_details == other_object.source_details &&
227
238
  subnet_id == other_object.subnet_id
228
239
  end
229
240
 
@@ -236,7 +247,7 @@ module OCI
236
247
  # Calculates hash code according to all attributes.
237
248
  # @return [Fixnum] Hash code
238
249
  def hash
239
- [availability_domain, compartment_id, create_vnic_details, display_name, extended_metadata, hostname_label, image_id, ipxe_script, metadata, shape, subnet_id].hash
250
+ [availability_domain, compartment_id, create_vnic_details, display_name, extended_metadata, hostname_label, image_id, ipxe_script, metadata, shape, source_details, subnet_id].hash
240
251
  end
241
252
 
242
253
  # Builds the object from hash
@@ -249,10 +260,10 @@ module OCI
249
260
  # check to ensure the input is an array given that the the attribute
250
261
  # is documented as an array but the input is not
251
262
  if attributes[self.class.attribute_map[key]].is_a?(Array)
252
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
263
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
253
264
  end
254
265
  elsif !attributes[self.class.attribute_map[key]].nil?
255
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
266
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
256
267
  end # or else data not found in attributes(hash), not an issue as the data can be optional
257
268
  end
258
269
 
@@ -270,7 +281,7 @@ module OCI
270
281
  def to_hash
271
282
  hash = {}
272
283
  self.class.attribute_map.each_pair do |attr, param|
273
- value = send(attr)
284
+ value = public_send(attr)
274
285
  next if value.nil? && !instance_variable_defined?("@#{attr}")
275
286
  hash[param] = _to_hash(value)
276
287
  end
@@ -312,6 +323,7 @@ module OCI
312
323
  :'ipxe_script' => :'ipxeScript',
313
324
  :'metadata' => :'metadata',
314
325
  :'shape' => :'shape',
326
+ :'source_details' => :'sourceDetails',
315
327
  :'subnet_id' => :'subnetId'
316
328
  }
317
329
  end
@@ -329,6 +341,7 @@ module OCI
329
341
  :'ipxe_script' => :'String',
330
342
  :'metadata' => :'Hash<String, String>',
331
343
  :'shape' => :'String',
344
+ :'source_details' => :'OCI::Core::Models::InstanceSourceDetails',
332
345
  :'subnet_id' => :'String'
333
346
  }
334
347
  end
@@ -117,10 +117,10 @@ module OCI
117
117
  # check to ensure the input is an array given that the the attribute
118
118
  # is documented as an array but the input is not
119
119
  if attributes[self.class.attribute_map[key]].is_a?(Array)
120
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
120
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
121
121
  end
122
122
  elsif !attributes[self.class.attribute_map[key]].nil?
123
- self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
123
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
124
124
  end # or else data not found in attributes(hash), not an issue as the data can be optional
125
125
  end
126
126
 
@@ -138,7 +138,7 @@ module OCI
138
138
  def to_hash
139
139
  hash = {}
140
140
  self.class.attribute_map.each_pair do |attr, param|
141
- value = send(attr)
141
+ value = public_send(attr)
142
142
  next if value.nil? && !instance_variable_defined?("@#{attr}")
143
143
  hash[param] = _to_hash(value)
144
144
  end
@@ -0,0 +1,271 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::LocalPeeringGateway
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
11
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
12
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
+
14
+
15
+ PEERING_STATUS_ENUM = [PEERING_STATUS_INVALID = 'INVALID',
16
+ PEERING_STATUS_NEW = 'NEW',
17
+ PEERING_STATUS_PEERED = 'PEERED',
18
+ PEERING_STATUS_PENDING = 'PENDING',
19
+ PEERING_STATUS_REVOKED = 'REVOKED',
20
+ PEERING_STATUS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
21
+
22
+ # The OCID of the compartment containing the LPG.
23
+ # @return [String]
24
+ attr_accessor :compartment_id
25
+
26
+ # A user-friendly name. Does not have to be unique, and it's changeable. Avoid
27
+ # entering confidential information.
28
+ #
29
+ # @return [String]
30
+ attr_accessor :display_name
31
+
32
+ # The LPG's Oracle ID (OCID).
33
+ # @return [String]
34
+ attr_accessor :id
35
+
36
+ # Whether the VCN at the other end of the peering is in a different tenancy.
37
+ #
38
+ # Example: `false`
39
+ #
40
+ # @return [BOOLEAN]
41
+ attr_accessor :is_cross_tenancy_peering
42
+
43
+ # The LPG's current lifecycle state.
44
+ # @return [String]
45
+ attr_accessor :lifecycle_state
46
+
47
+ # The range of IP addresses available on the VCN at the other
48
+ # end of the peering from this LPG. The value is `null` if the LPG is not peered.
49
+ # You can use this as the destination CIDR for a route rule to route a subnet's
50
+ # traffic to this LPG.
51
+ #
52
+ # Example: `192.168.0.0/16`
53
+ #
54
+ # @return [String]
55
+ attr_accessor :peer_advertised_cidr
56
+
57
+ # Whether the LPG is peered with another LPG. `NEW` means the LPG has not yet been
58
+ # peered. `PENDING` means the peering is being established. `REVOKED` means the
59
+ # LPG at the other end of the peering has been deleted.
60
+ #
61
+ # @return [String]
62
+ attr_accessor :peering_status
63
+
64
+ # Additional information regarding the peering status, if applicable.
65
+ # @return [String]
66
+ attr_accessor :peering_status_details
67
+
68
+ # The date and time the LPG was created, in the format defined by RFC3339.
69
+ #
70
+ # Example: `2016-08-25T21:10:29.600Z`
71
+ #
72
+ # @return [DateTime]
73
+ attr_accessor :time_created
74
+
75
+ # The OCID of the VCN the LPG belongs to.
76
+ # @return [String]
77
+ attr_accessor :vcn_id
78
+
79
+
80
+ # Initializes the object
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ def initialize(attributes = {})
83
+ return unless attributes.is_a?(Hash)
84
+
85
+ # convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
87
+
88
+ if attributes[:'compartmentId']
89
+ self.compartment_id = attributes[:'compartmentId']
90
+ end
91
+
92
+ if attributes[:'displayName']
93
+ self.display_name = attributes[:'displayName']
94
+ end
95
+
96
+ if attributes[:'id']
97
+ self.id = attributes[:'id']
98
+ end
99
+
100
+ if attributes[:'isCrossTenancyPeering']
101
+ self.is_cross_tenancy_peering = attributes[:'isCrossTenancyPeering']
102
+ end
103
+
104
+ if attributes[:'lifecycleState']
105
+ self.lifecycle_state = attributes[:'lifecycleState']
106
+ end
107
+
108
+ if attributes[:'peerAdvertisedCidr']
109
+ self.peer_advertised_cidr = attributes[:'peerAdvertisedCidr']
110
+ end
111
+
112
+ if attributes[:'peeringStatus']
113
+ self.peering_status = attributes[:'peeringStatus']
114
+ end
115
+
116
+ if attributes[:'peeringStatusDetails']
117
+ self.peering_status_details = attributes[:'peeringStatusDetails']
118
+ end
119
+
120
+ if attributes[:'timeCreated']
121
+ self.time_created = attributes[:'timeCreated']
122
+ end
123
+
124
+ if attributes[:'vcnId']
125
+ self.vcn_id = attributes[:'vcnId']
126
+ end
127
+
128
+ end
129
+
130
+ # Custom attribute writer method checking allowed values (enum).
131
+ # @param [Object] lifecycle_state Object to be assigned
132
+ def lifecycle_state=(lifecycle_state)
133
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
134
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
135
+ else
136
+ @lifecycle_state = lifecycle_state
137
+ end
138
+ end
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] peering_status Object to be assigned
142
+ def peering_status=(peering_status)
143
+ if peering_status && !PEERING_STATUS_ENUM.include?(peering_status)
144
+ @peering_status = PEERING_STATUS_UNKNOWN_ENUM_VALUE
145
+ else
146
+ @peering_status = peering_status
147
+ end
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] other_object to be compared
152
+ def ==(other_object)
153
+ return true if self.equal?(other_object)
154
+ self.class == other_object.class &&
155
+ compartment_id == other_object.compartment_id &&
156
+ display_name == other_object.display_name &&
157
+ id == other_object.id &&
158
+ is_cross_tenancy_peering == other_object.is_cross_tenancy_peering &&
159
+ lifecycle_state == other_object.lifecycle_state &&
160
+ peer_advertised_cidr == other_object.peer_advertised_cidr &&
161
+ peering_status == other_object.peering_status &&
162
+ peering_status_details == other_object.peering_status_details &&
163
+ time_created == other_object.time_created &&
164
+ vcn_id == other_object.vcn_id
165
+ end
166
+
167
+ # @see the `==` method
168
+ # @param [Object] other_object to be compared
169
+ def eql?(other_object)
170
+ self == other_object
171
+ end
172
+
173
+ # Calculates hash code according to all attributes.
174
+ # @return [Fixnum] Hash code
175
+ def hash
176
+ [compartment_id, display_name, id, is_cross_tenancy_peering, lifecycle_state, peer_advertised_cidr, peering_status, peering_status_details, time_created, vcn_id].hash
177
+ end
178
+
179
+ # Builds the object from hash
180
+ # @param [Hash] attributes Model attributes in the form of hash
181
+ # @return [Object] Returns the model itself
182
+ def build_from_hash(attributes)
183
+ return nil unless attributes.is_a?(Hash)
184
+ self.class.swagger_types.each_pair do |key, type|
185
+ if type =~ /^Array<(.*)>/i
186
+ # check to ensure the input is an array given that the the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
189
+ self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
190
+ end
191
+ elsif !attributes[self.class.attribute_map[key]].nil?
192
+ self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
193
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
194
+ end
195
+
196
+ self
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # Returns the object in the form of hash
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_hash
208
+ hash = {}
209
+ self.class.attribute_map.each_pair do |attr, param|
210
+ value = public_send(attr)
211
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
212
+ hash[param] = _to_hash(value)
213
+ end
214
+ hash
215
+ end
216
+
217
+ private
218
+
219
+ # Outputs non-array value in the form of hash
220
+ # For object, use to_hash. Otherwise, just return the value
221
+ # @param [Object] value Any valid value
222
+ # @return [Hash] Returns the value in the form of hash
223
+ def _to_hash(value)
224
+ if value.is_a?(Array)
225
+ value.compact.map{ |v| _to_hash(v) }
226
+ elsif value.is_a?(Hash)
227
+ {}.tap do |hash|
228
+ value.each { |k, v| hash[k] = _to_hash(v) }
229
+ end
230
+ elsif value.respond_to? :to_hash
231
+ value.to_hash
232
+ else
233
+ value
234
+ end
235
+ end
236
+
237
+
238
+
239
+ # Attribute mapping from ruby-style variable name to JSON key.
240
+ def self.attribute_map
241
+ {
242
+ :'compartment_id' => :'compartmentId',
243
+ :'display_name' => :'displayName',
244
+ :'id' => :'id',
245
+ :'is_cross_tenancy_peering' => :'isCrossTenancyPeering',
246
+ :'lifecycle_state' => :'lifecycleState',
247
+ :'peer_advertised_cidr' => :'peerAdvertisedCidr',
248
+ :'peering_status' => :'peeringStatus',
249
+ :'peering_status_details' => :'peeringStatusDetails',
250
+ :'time_created' => :'timeCreated',
251
+ :'vcn_id' => :'vcnId'
252
+ }
253
+ end
254
+
255
+ # Attribute type mapping.
256
+ def self.swagger_types
257
+ {
258
+ :'compartment_id' => :'String',
259
+ :'display_name' => :'String',
260
+ :'id' => :'String',
261
+ :'is_cross_tenancy_peering' => :'BOOLEAN',
262
+ :'lifecycle_state' => :'String',
263
+ :'peer_advertised_cidr' => :'String',
264
+ :'peering_status' => :'String',
265
+ :'peering_status_details' => :'String',
266
+ :'time_created' => :'DateTime',
267
+ :'vcn_id' => :'String'
268
+ }
269
+ end
270
+ end
271
+ end