oci 2.0.1 → 2.0.2

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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/lib/oci.rb +2 -1
  4. data/lib/oci/audit/audit.rb +19 -0
  5. data/lib/oci/audit/audit_client.rb +176 -0
  6. data/lib/oci/audit/models/audit_event.rb +307 -0
  7. data/lib/oci/audit/models/configuration.rb +120 -0
  8. data/lib/oci/audit/models/update_configuration_details.rb +120 -0
  9. data/lib/oci/audit/util.rb +1 -0
  10. data/lib/oci/core/blockstorage_client.rb +69 -1
  11. data/lib/oci/core/compute_client.rb +106 -16
  12. data/lib/oci/core/core.rb +3 -0
  13. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +2 -2
  14. data/lib/oci/core/models/attach_vnic_details.rb +2 -2
  15. data/lib/oci/core/models/attach_volume_details.rb +2 -2
  16. data/lib/oci/core/models/capture_console_history_details.rb +2 -2
  17. data/lib/oci/core/models/console_history.rb +2 -2
  18. data/lib/oci/core/models/cpe.rb +2 -2
  19. data/lib/oci/core/models/create_cpe_details.rb +2 -2
  20. data/lib/oci/core/models/create_cross_connect_details.rb +2 -2
  21. data/lib/oci/core/models/create_cross_connect_group_details.rb +2 -2
  22. data/lib/oci/core/models/create_dhcp_details.rb +2 -2
  23. data/lib/oci/core/models/create_drg_attachment_details.rb +2 -2
  24. data/lib/oci/core/models/create_drg_details.rb +2 -2
  25. data/lib/oci/core/models/create_image_details.rb +2 -2
  26. data/lib/oci/core/models/create_instance_console_connection_details.rb +2 -2
  27. data/lib/oci/core/models/create_internet_gateway_details.rb +2 -2
  28. data/lib/oci/core/models/create_ip_sec_connection_details.rb +2 -2
  29. data/lib/oci/core/models/create_private_ip_details.rb +2 -2
  30. data/lib/oci/core/models/create_route_table_details.rb +2 -2
  31. data/lib/oci/core/models/create_security_list_details.rb +2 -2
  32. data/lib/oci/core/models/create_subnet_details.rb +2 -2
  33. data/lib/oci/core/models/create_vcn_details.rb +2 -2
  34. data/lib/oci/core/models/create_virtual_circuit_details.rb +5 -6
  35. data/lib/oci/core/models/create_vnic_details.rb +2 -2
  36. data/lib/oci/core/models/create_volume_backup_details.rb +2 -2
  37. data/lib/oci/core/models/create_volume_details.rb +20 -4
  38. data/lib/oci/core/models/cross_connect.rb +2 -2
  39. data/lib/oci/core/models/cross_connect_group.rb +2 -2
  40. data/lib/oci/core/models/cross_connect_location.rb +2 -2
  41. data/lib/oci/core/models/cross_connect_mapping.rb +2 -2
  42. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +2 -2
  43. data/lib/oci/core/models/cross_connect_status.rb +2 -2
  44. data/lib/oci/core/models/dhcp_dns_option.rb +2 -2
  45. data/lib/oci/core/models/dhcp_option.rb +2 -2
  46. data/lib/oci/core/models/dhcp_options.rb +2 -2
  47. data/lib/oci/core/models/dhcp_search_domain_option.rb +2 -2
  48. data/lib/oci/core/models/drg.rb +2 -2
  49. data/lib/oci/core/models/drg_attachment.rb +2 -2
  50. data/lib/oci/core/models/egress_security_rule.rb +2 -2
  51. data/lib/oci/core/models/export_image_details.rb +3 -3
  52. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +5 -5
  53. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +3 -3
  54. data/lib/oci/core/models/fast_connect_provider_service.rb +2 -2
  55. data/lib/oci/core/models/i_scsi_volume_attachment.rb +2 -2
  56. data/lib/oci/core/models/icmp_options.rb +2 -2
  57. data/lib/oci/core/models/image.rb +2 -2
  58. data/lib/oci/core/models/image_source_details.rb +3 -3
  59. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +5 -5
  60. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +3 -3
  61. data/lib/oci/core/models/ingress_security_rule.rb +2 -2
  62. data/lib/oci/core/models/instance.rb +4 -4
  63. data/lib/oci/core/models/instance_console_connection.rb +2 -2
  64. data/lib/oci/core/models/instance_credentials.rb +2 -2
  65. data/lib/oci/core/models/internet_gateway.rb +2 -2
  66. data/lib/oci/core/models/ip_sec_connection.rb +2 -2
  67. data/lib/oci/core/models/ip_sec_connection_device_config.rb +2 -2
  68. data/lib/oci/core/models/ip_sec_connection_device_status.rb +2 -2
  69. data/lib/oci/core/models/launch_instance_details.rb +4 -4
  70. data/lib/oci/core/models/letter_of_authority.rb +2 -2
  71. data/lib/oci/core/models/port_range.rb +2 -2
  72. data/lib/oci/core/models/private_ip.rb +2 -2
  73. data/lib/oci/core/models/route_rule.rb +2 -2
  74. data/lib/oci/core/models/route_table.rb +2 -2
  75. data/lib/oci/core/models/security_list.rb +2 -2
  76. data/lib/oci/core/models/shape.rb +2 -2
  77. data/lib/oci/core/models/subnet.rb +2 -2
  78. data/lib/oci/core/models/tcp_options.rb +2 -2
  79. data/lib/oci/core/models/tunnel_config.rb +2 -2
  80. data/lib/oci/core/models/tunnel_status.rb +2 -2
  81. data/lib/oci/core/models/udp_options.rb +2 -2
  82. data/lib/oci/core/models/update_console_history_details.rb +2 -2
  83. data/lib/oci/core/models/update_cpe_details.rb +2 -2
  84. data/lib/oci/core/models/update_cross_connect_details.rb +2 -2
  85. data/lib/oci/core/models/update_cross_connect_group_details.rb +2 -2
  86. data/lib/oci/core/models/update_dhcp_details.rb +2 -2
  87. data/lib/oci/core/models/update_drg_attachment_details.rb +2 -2
  88. data/lib/oci/core/models/update_drg_details.rb +2 -2
  89. data/lib/oci/core/models/update_image_details.rb +2 -2
  90. data/lib/oci/core/models/update_instance_details.rb +2 -2
  91. data/lib/oci/core/models/update_internet_gateway_details.rb +2 -2
  92. data/lib/oci/core/models/update_ip_sec_connection_details.rb +2 -2
  93. data/lib/oci/core/models/update_private_ip_details.rb +2 -2
  94. data/lib/oci/core/models/update_route_table_details.rb +2 -2
  95. data/lib/oci/core/models/update_security_list_details.rb +2 -2
  96. data/lib/oci/core/models/update_subnet_details.rb +2 -2
  97. data/lib/oci/core/models/update_vcn_details.rb +2 -2
  98. data/lib/oci/core/models/update_virtual_circuit_details.rb +2 -3
  99. data/lib/oci/core/models/update_vnic_details.rb +2 -2
  100. data/lib/oci/core/models/update_volume_backup_details.rb +2 -2
  101. data/lib/oci/core/models/update_volume_details.rb +2 -2
  102. data/lib/oci/core/models/vcn.rb +2 -2
  103. data/lib/oci/core/models/virtual_circuit.rb +5 -5
  104. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +2 -2
  105. data/lib/oci/core/models/vnic.rb +2 -2
  106. data/lib/oci/core/models/vnic_attachment.rb +2 -2
  107. data/lib/oci/core/models/volume.rb +29 -5
  108. data/lib/oci/core/models/volume_attachment.rb +2 -2
  109. data/lib/oci/core/models/volume_backup.rb +2 -2
  110. data/lib/oci/core/models/volume_source_details.rb +131 -0
  111. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +128 -0
  112. data/lib/oci/core/models/volume_source_from_volume_details.rb +128 -0
  113. data/lib/oci/core/virtual_network_client.rb +312 -10
  114. data/lib/oci/database/database.rb +7 -0
  115. data/lib/oci/database/database_client.rb +228 -4
  116. data/lib/oci/database/models/backup.rb +253 -0
  117. data/lib/oci/database/models/backup_summary.rb +253 -0
  118. data/lib/oci/database/models/create_backup_details.rb +131 -0
  119. data/lib/oci/database/models/create_data_guard_association_details.rb +2 -2
  120. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +2 -2
  121. data/lib/oci/database/models/create_database_details.rb +13 -3
  122. data/lib/oci/database/models/create_db_home_details.rb +2 -2
  123. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +2 -2
  124. data/lib/oci/database/models/data_guard_association.rb +2 -2
  125. data/lib/oci/database/models/data_guard_association_summary.rb +374 -0
  126. data/lib/oci/database/models/database.rb +15 -3
  127. data/lib/oci/database/models/database_summary.rb +15 -3
  128. data/lib/oci/database/models/db_backup_config.rb +120 -0
  129. data/lib/oci/database/models/db_home.rb +2 -2
  130. data/lib/oci/database/models/db_home_summary.rb +2 -2
  131. data/lib/oci/database/models/db_node.rb +2 -2
  132. data/lib/oci/database/models/db_node_summary.rb +2 -2
  133. data/lib/oci/database/models/db_system.rb +9 -9
  134. data/lib/oci/database/models/db_system_shape_summary.rb +2 -2
  135. data/lib/oci/database/models/db_system_summary.rb +9 -9
  136. data/lib/oci/database/models/db_version_summary.rb +2 -2
  137. data/lib/oci/database/models/failover_data_guard_association_details.rb +2 -2
  138. data/lib/oci/database/models/launch_db_system_details.rb +2 -2
  139. data/lib/oci/database/models/patch.rb +4 -2
  140. data/lib/oci/database/models/patch_details.rb +4 -3
  141. data/lib/oci/database/models/patch_history_entry.rb +3 -2
  142. data/lib/oci/database/models/patch_history_entry_summary.rb +3 -2
  143. data/lib/oci/database/models/patch_summary.rb +4 -2
  144. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +2 -2
  145. data/lib/oci/database/models/restore_database_details.rb +145 -0
  146. data/lib/oci/database/models/switchover_data_guard_association_details.rb +2 -2
  147. data/lib/oci/database/models/update_database_details.rb +119 -0
  148. data/lib/oci/database/models/update_db_home_details.rb +2 -2
  149. data/lib/oci/database/models/update_db_system_details.rb +9 -9
  150. data/lib/oci/identity/identity_client.rb +6 -5
  151. data/lib/oci/identity/models/add_user_to_group_details.rb +2 -2
  152. data/lib/oci/identity/models/api_key.rb +2 -2
  153. data/lib/oci/identity/models/availability_domain.rb +2 -2
  154. data/lib/oci/identity/models/compartment.rb +3 -3
  155. data/lib/oci/identity/models/create_api_key_details.rb +2 -2
  156. data/lib/oci/identity/models/create_compartment_details.rb +2 -2
  157. data/lib/oci/identity/models/create_customer_secret_key_details.rb +2 -2
  158. data/lib/oci/identity/models/create_group_details.rb +2 -2
  159. data/lib/oci/identity/models/create_identity_provider_details.rb +2 -2
  160. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +2 -2
  161. data/lib/oci/identity/models/create_policy_details.rb +2 -2
  162. data/lib/oci/identity/models/create_region_subscription_details.rb +2 -2
  163. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +2 -2
  164. data/lib/oci/identity/models/create_swift_password_details.rb +2 -2
  165. data/lib/oci/identity/models/create_user_details.rb +2 -2
  166. data/lib/oci/identity/models/customer_secret_key.rb +2 -2
  167. data/lib/oci/identity/models/customer_secret_key_summary.rb +2 -2
  168. data/lib/oci/identity/models/group.rb +2 -2
  169. data/lib/oci/identity/models/identity_provider.rb +4 -4
  170. data/lib/oci/identity/models/idp_group_mapping.rb +2 -2
  171. data/lib/oci/identity/models/policy.rb +2 -2
  172. data/lib/oci/identity/models/region.rb +4 -4
  173. data/lib/oci/identity/models/region_subscription.rb +4 -4
  174. data/lib/oci/identity/models/saml2_identity_provider.rb +2 -2
  175. data/lib/oci/identity/models/swift_password.rb +2 -2
  176. data/lib/oci/identity/models/tenancy.rb +2 -2
  177. data/lib/oci/identity/models/ui_password.rb +2 -2
  178. data/lib/oci/identity/models/update_compartment_details.rb +2 -2
  179. data/lib/oci/identity/models/update_customer_secret_key_details.rb +2 -2
  180. data/lib/oci/identity/models/update_group_details.rb +2 -2
  181. data/lib/oci/identity/models/update_identity_provider_details.rb +2 -2
  182. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +2 -2
  183. data/lib/oci/identity/models/update_policy_details.rb +2 -2
  184. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +2 -2
  185. data/lib/oci/identity/models/update_state_details.rb +2 -2
  186. data/lib/oci/identity/models/update_swift_password_details.rb +2 -2
  187. data/lib/oci/identity/models/update_user_details.rb +2 -2
  188. data/lib/oci/identity/models/user.rb +2 -2
  189. data/lib/oci/identity/models/user_group_membership.rb +2 -2
  190. data/lib/oci/load_balancer/load_balancer_client.rb +1 -1
  191. data/lib/oci/load_balancer/models/backend.rb +2 -2
  192. data/lib/oci/load_balancer/models/backend_details.rb +2 -2
  193. data/lib/oci/load_balancer/models/backend_health.rb +2 -2
  194. data/lib/oci/load_balancer/models/backend_set.rb +2 -2
  195. data/lib/oci/load_balancer/models/backend_set_details.rb +2 -2
  196. data/lib/oci/load_balancer/models/backend_set_health.rb +2 -2
  197. data/lib/oci/load_balancer/models/certificate.rb +2 -2
  198. data/lib/oci/load_balancer/models/certificate_details.rb +2 -2
  199. data/lib/oci/load_balancer/models/create_backend_details.rb +2 -2
  200. data/lib/oci/load_balancer/models/create_backend_set_details.rb +2 -2
  201. data/lib/oci/load_balancer/models/create_certificate_details.rb +2 -2
  202. data/lib/oci/load_balancer/models/create_listener_details.rb +2 -2
  203. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +2 -2
  204. data/lib/oci/load_balancer/models/health_check_result.rb +2 -2
  205. data/lib/oci/load_balancer/models/health_checker.rb +2 -2
  206. data/lib/oci/load_balancer/models/health_checker_details.rb +2 -2
  207. data/lib/oci/load_balancer/models/ip_address.rb +2 -2
  208. data/lib/oci/load_balancer/models/listener.rb +2 -2
  209. data/lib/oci/load_balancer/models/listener_details.rb +2 -2
  210. data/lib/oci/load_balancer/models/load_balancer.rb +2 -2
  211. data/lib/oci/load_balancer/models/load_balancer_health.rb +2 -2
  212. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +2 -2
  213. data/lib/oci/load_balancer/models/load_balancer_policy.rb +2 -2
  214. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +2 -2
  215. data/lib/oci/load_balancer/models/load_balancer_shape.rb +2 -2
  216. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +2 -2
  217. data/lib/oci/load_balancer/models/ssl_configuration.rb +2 -2
  218. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +2 -2
  219. data/lib/oci/load_balancer/models/update_backend_details.rb +2 -2
  220. data/lib/oci/load_balancer/models/update_backend_set_details.rb +2 -2
  221. data/lib/oci/load_balancer/models/update_health_checker_details.rb +2 -2
  222. data/lib/oci/load_balancer/models/update_listener_details.rb +2 -2
  223. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +2 -2
  224. data/lib/oci/load_balancer/models/work_request.rb +2 -2
  225. data/lib/oci/load_balancer/models/work_request_error.rb +2 -2
  226. data/lib/oci/object_storage/models/bucket.rb +44 -12
  227. data/lib/oci/object_storage/models/bucket_summary.rb +6 -4
  228. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +2 -2
  229. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +2 -2
  230. data/lib/oci/object_storage/models/create_bucket_details.rb +41 -11
  231. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +9 -7
  232. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +6 -7
  233. data/lib/oci/object_storage/models/list_objects.rb +4 -3
  234. data/lib/oci/object_storage/models/multipart_upload.rb +3 -3
  235. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +6 -6
  236. data/lib/oci/object_storage/models/namespace_metadata.rb +142 -0
  237. data/lib/oci/object_storage/models/object_summary.rb +6 -4
  238. data/lib/oci/object_storage/models/preauthenticated_request.rb +13 -11
  239. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +8 -10
  240. data/lib/oci/object_storage/models/rename_object_details.rb +164 -0
  241. data/lib/oci/object_storage/models/restore_objects_details.rb +120 -0
  242. data/lib/oci/object_storage/models/update_bucket_details.rb +20 -8
  243. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +131 -0
  244. data/lib/oci/object_storage/object_storage.rb +4 -0
  245. data/lib/oci/object_storage/object_storage_client.rb +206 -94
  246. data/lib/oci/regions.rb +2 -1
  247. data/lib/oci/version.rb +1 -1
  248. metadata +22 -2
@@ -91,8 +91,8 @@ module OCI
91
91
  def to_hash
92
92
  hash = {}
93
93
  self.class.attribute_map.each_pair do |attr, param|
94
- value = self.send(attr)
95
- next if value.nil?
94
+ value = send(attr)
95
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
96
96
  hash[param] = _to_hash(value)
97
97
  end
98
98
  hash
@@ -100,8 +100,8 @@ module OCI
100
100
  def to_hash
101
101
  hash = {}
102
102
  self.class.attribute_map.each_pair do |attr, param|
103
- value = self.send(attr)
104
- next if value.nil?
103
+ value = send(attr)
104
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
105
105
  hash[param] = _to_hash(value)
106
106
  end
107
107
  hash
@@ -300,8 +300,8 @@ module OCI
300
300
  def to_hash
301
301
  hash = {}
302
302
  self.class.attribute_map.each_pair do |attr, param|
303
- value = self.send(attr)
304
- next if value.nil?
303
+ value = send(attr)
304
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
305
305
  hash[param] = _to_hash(value)
306
306
  end
307
307
  hash
@@ -0,0 +1,374 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Database::Models::DataGuardAssociationSummary
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
+ LIFECYCLE_STATE_UPDATING = 'UPDATING',
11
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
12
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
13
+ LIFECYCLE_STATE_FAILED = 'FAILED',
14
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
15
+
16
+
17
+ PEER_ROLE_ENUM = [PEER_ROLE_PRIMARY = 'PRIMARY',
18
+ PEER_ROLE_STANDBY = 'STANDBY',
19
+ PEER_ROLE_DISABLED_STANDBY = 'DISABLED_STANDBY',
20
+ PEER_ROLE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
21
+
22
+
23
+ PROTECTION_MODE_ENUM = [PROTECTION_MODE_MAXIMUM_AVAILABILITY = 'MAXIMUM_AVAILABILITY',
24
+ PROTECTION_MODE_MAXIMUM_PERFORMANCE = 'MAXIMUM_PERFORMANCE',
25
+ PROTECTION_MODE_MAXIMUM_PROTECTION = 'MAXIMUM_PROTECTION',
26
+ PROTECTION_MODE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
27
+
28
+
29
+ ROLE_ENUM = [ROLE_PRIMARY = 'PRIMARY',
30
+ ROLE_STANDBY = 'STANDBY',
31
+ ROLE_DISABLED_STANDBY = 'DISABLED_STANDBY',
32
+ ROLE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
33
+
34
+
35
+ TRANSPORT_TYPE_ENUM = [TRANSPORT_TYPE_SYNC = 'SYNC',
36
+ TRANSPORT_TYPE_ASYNC = 'ASYNC',
37
+ TRANSPORT_TYPE_FASTSYNC = 'FASTSYNC',
38
+ TRANSPORT_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
39
+
40
+ # The lag time between updates to the primary database and application of the redo data on the standby database,
41
+ # as computed by the reporting database.
42
+ #
43
+ # Example: `9 seconds`
44
+ #
45
+ # @return [String]
46
+ attr_accessor :apply_lag
47
+
48
+ # The rate at which redo logs are synced between the associated databases.
49
+ #
50
+ # Example: `180 Mb per second`
51
+ #
52
+ # @return [String]
53
+ attr_accessor :apply_rate
54
+
55
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the reporting database.
56
+ # @return [String]
57
+ attr_accessor :database_id
58
+
59
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the Data Guard association.
60
+ # @return [String]
61
+ attr_accessor :id
62
+
63
+ # Additional information about the current lifecycleState, if available.
64
+ #
65
+ # @return [String]
66
+ attr_accessor :lifecycle_details
67
+
68
+ # The current state of the Data Guard association.
69
+ # @return [String]
70
+ attr_accessor :lifecycle_state
71
+
72
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the peer database's Data Guard association.
73
+ # @return [String]
74
+ attr_accessor :peer_data_guard_association_id
75
+
76
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the associated peer database.
77
+ # @return [String]
78
+ attr_accessor :peer_database_id
79
+
80
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the database home containing the associated peer database.
81
+ #
82
+ # @return [String]
83
+ attr_accessor :peer_db_home_id
84
+
85
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the DB System containing the associated
86
+ # peer database.
87
+ #
88
+ # @return [String]
89
+ attr_accessor :peer_db_system_id
90
+
91
+ # The role of the peer database in this Data Guard association.
92
+ # @return [String]
93
+ attr_accessor :peer_role
94
+
95
+ # The protection mode of this Data Guard association. For more information, see
96
+ # [Oracle Data Guard Protection Modes](http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-protection-modes.htm#SBYDB02000)
97
+ # in the Oracle Data Guard documentation.
98
+ #
99
+ # @return [String]
100
+ attr_accessor :protection_mode
101
+
102
+ # The role of the reporting database in this Data Guard association.
103
+ # @return [String]
104
+ attr_accessor :role
105
+
106
+ # The date and time the Data Guard Association was created.
107
+ # @return [DateTime]
108
+ attr_accessor :time_created
109
+
110
+ # The redo transport type used by this Data Guard association. For more information, see
111
+ # [Redo Transport Services](http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-redo-transport-services.htm#SBYDB00400)
112
+ # in the Oracle Data Guard documentation.
113
+ #
114
+ # @return [String]
115
+ attr_accessor :transport_type
116
+
117
+
118
+ # Initializes the object
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ def initialize(attributes = {})
121
+ return unless attributes.is_a?(Hash)
122
+
123
+ # convert string to symbol for hash key
124
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
125
+
126
+ if attributes[:'applyLag']
127
+ self.apply_lag = attributes[:'applyLag']
128
+ end
129
+
130
+ if attributes[:'applyRate']
131
+ self.apply_rate = attributes[:'applyRate']
132
+ end
133
+
134
+ if attributes[:'databaseId']
135
+ self.database_id = attributes[:'databaseId']
136
+ end
137
+
138
+ if attributes[:'id']
139
+ self.id = attributes[:'id']
140
+ end
141
+
142
+ if attributes[:'lifecycleDetails']
143
+ self.lifecycle_details = attributes[:'lifecycleDetails']
144
+ end
145
+
146
+ if attributes[:'lifecycleState']
147
+ self.lifecycle_state = attributes[:'lifecycleState']
148
+ end
149
+
150
+ if attributes[:'peerDataGuardAssociationId']
151
+ self.peer_data_guard_association_id = attributes[:'peerDataGuardAssociationId']
152
+ end
153
+
154
+ if attributes[:'peerDatabaseId']
155
+ self.peer_database_id = attributes[:'peerDatabaseId']
156
+ end
157
+
158
+ if attributes[:'peerDbHomeId']
159
+ self.peer_db_home_id = attributes[:'peerDbHomeId']
160
+ end
161
+
162
+ if attributes[:'peerDbSystemId']
163
+ self.peer_db_system_id = attributes[:'peerDbSystemId']
164
+ end
165
+
166
+ if attributes[:'peerRole']
167
+ self.peer_role = attributes[:'peerRole']
168
+ end
169
+
170
+ if attributes[:'protectionMode']
171
+ self.protection_mode = attributes[:'protectionMode']
172
+ end
173
+
174
+ if attributes[:'role']
175
+ self.role = attributes[:'role']
176
+ end
177
+
178
+ if attributes[:'timeCreated']
179
+ self.time_created = attributes[:'timeCreated']
180
+ end
181
+
182
+ if attributes[:'transportType']
183
+ self.transport_type = attributes[:'transportType']
184
+ end
185
+
186
+ end
187
+
188
+ # Custom attribute writer method checking allowed values (enum).
189
+ # @param [Object] lifecycle_state Object to be assigned
190
+ def lifecycle_state=(lifecycle_state)
191
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
192
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
193
+ else
194
+ @lifecycle_state = lifecycle_state
195
+ end
196
+ end
197
+
198
+ # Custom attribute writer method checking allowed values (enum).
199
+ # @param [Object] peer_role Object to be assigned
200
+ def peer_role=(peer_role)
201
+ if peer_role && !PEER_ROLE_ENUM.include?(peer_role)
202
+ @peer_role = PEER_ROLE_UNKNOWN_ENUM_VALUE
203
+ else
204
+ @peer_role = peer_role
205
+ end
206
+ end
207
+
208
+ # Custom attribute writer method checking allowed values (enum).
209
+ # @param [Object] protection_mode Object to be assigned
210
+ def protection_mode=(protection_mode)
211
+ if protection_mode && !PROTECTION_MODE_ENUM.include?(protection_mode)
212
+ @protection_mode = PROTECTION_MODE_UNKNOWN_ENUM_VALUE
213
+ else
214
+ @protection_mode = protection_mode
215
+ end
216
+ end
217
+
218
+ # Custom attribute writer method checking allowed values (enum).
219
+ # @param [Object] role Object to be assigned
220
+ def role=(role)
221
+ if role && !ROLE_ENUM.include?(role)
222
+ @role = ROLE_UNKNOWN_ENUM_VALUE
223
+ else
224
+ @role = role
225
+ end
226
+ end
227
+
228
+ # Custom attribute writer method checking allowed values (enum).
229
+ # @param [Object] transport_type Object to be assigned
230
+ def transport_type=(transport_type)
231
+ if transport_type && !TRANSPORT_TYPE_ENUM.include?(transport_type)
232
+ @transport_type = TRANSPORT_TYPE_UNKNOWN_ENUM_VALUE
233
+ else
234
+ @transport_type = transport_type
235
+ end
236
+ end
237
+
238
+ # Checks equality by comparing each attribute.
239
+ # @param [Object] other_object to be compared
240
+ def ==(other_object)
241
+ return true if self.equal?(other_object)
242
+ self.class == other_object.class &&
243
+ apply_lag == other_object.apply_lag &&
244
+ apply_rate == other_object.apply_rate &&
245
+ database_id == other_object.database_id &&
246
+ id == other_object.id &&
247
+ lifecycle_details == other_object.lifecycle_details &&
248
+ lifecycle_state == other_object.lifecycle_state &&
249
+ peer_data_guard_association_id == other_object.peer_data_guard_association_id &&
250
+ peer_database_id == other_object.peer_database_id &&
251
+ peer_db_home_id == other_object.peer_db_home_id &&
252
+ peer_db_system_id == other_object.peer_db_system_id &&
253
+ peer_role == other_object.peer_role &&
254
+ protection_mode == other_object.protection_mode &&
255
+ role == other_object.role &&
256
+ time_created == other_object.time_created &&
257
+ transport_type == other_object.transport_type
258
+ end
259
+
260
+ # @see the `==` method
261
+ # @param [Object] other_object to be compared
262
+ def eql?(other_object)
263
+ self == other_object
264
+ end
265
+
266
+ # Calculates hash code according to all attributes.
267
+ # @return [Fixnum] Hash code
268
+ def hash
269
+ [apply_lag, apply_rate, database_id, id, lifecycle_details, lifecycle_state, peer_data_guard_association_id, peer_database_id, peer_db_home_id, peer_db_system_id, peer_role, protection_mode, role, time_created, transport_type].hash
270
+ end
271
+
272
+ # Builds the object from hash
273
+ # @param [Hash] attributes Model attributes in the form of hash
274
+ # @return [Object] Returns the model itself
275
+ def build_from_hash(attributes)
276
+ return nil unless attributes.is_a?(Hash)
277
+ self.class.swagger_types.each_pair do |key, type|
278
+ if type =~ /^Array<(.*)>/i
279
+ # check to ensure the input is an array given that the the attribute
280
+ # is documented as an array but the input is not
281
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
282
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
283
+ end
284
+ elsif !attributes[self.class.attribute_map[key]].nil?
285
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
286
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
287
+ end
288
+
289
+ self
290
+ end
291
+
292
+ # Returns the string representation of the object
293
+ # @return [String] String presentation of the object
294
+ def to_s
295
+ to_hash.to_s
296
+ end
297
+
298
+ # Returns the object in the form of hash
299
+ # @return [Hash] Returns the object in the form of hash
300
+ def to_hash
301
+ hash = {}
302
+ self.class.attribute_map.each_pair do |attr, param|
303
+ value = send(attr)
304
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
305
+ hash[param] = _to_hash(value)
306
+ end
307
+ hash
308
+ end
309
+
310
+ private
311
+
312
+ # Outputs non-array value in the form of hash
313
+ # For object, use to_hash. Otherwise, just return the value
314
+ # @param [Object] value Any valid value
315
+ # @return [Hash] Returns the value in the form of hash
316
+ def _to_hash(value)
317
+ if value.is_a?(Array)
318
+ value.compact.map{ |v| _to_hash(v) }
319
+ elsif value.is_a?(Hash)
320
+ {}.tap do |hash|
321
+ value.each { |k, v| hash[k] = _to_hash(v) }
322
+ end
323
+ elsif value.respond_to? :to_hash
324
+ value.to_hash
325
+ else
326
+ value
327
+ end
328
+ end
329
+
330
+
331
+
332
+ # Attribute mapping from ruby-style variable name to JSON key.
333
+ def self.attribute_map
334
+ {
335
+ :'apply_lag' => :'applyLag',
336
+ :'apply_rate' => :'applyRate',
337
+ :'database_id' => :'databaseId',
338
+ :'id' => :'id',
339
+ :'lifecycle_details' => :'lifecycleDetails',
340
+ :'lifecycle_state' => :'lifecycleState',
341
+ :'peer_data_guard_association_id' => :'peerDataGuardAssociationId',
342
+ :'peer_database_id' => :'peerDatabaseId',
343
+ :'peer_db_home_id' => :'peerDbHomeId',
344
+ :'peer_db_system_id' => :'peerDbSystemId',
345
+ :'peer_role' => :'peerRole',
346
+ :'protection_mode' => :'protectionMode',
347
+ :'role' => :'role',
348
+ :'time_created' => :'timeCreated',
349
+ :'transport_type' => :'transportType'
350
+ }
351
+ end
352
+
353
+ # Attribute type mapping.
354
+ def self.swagger_types
355
+ {
356
+ :'apply_lag' => :'String',
357
+ :'apply_rate' => :'String',
358
+ :'database_id' => :'String',
359
+ :'id' => :'String',
360
+ :'lifecycle_details' => :'String',
361
+ :'lifecycle_state' => :'String',
362
+ :'peer_data_guard_association_id' => :'String',
363
+ :'peer_database_id' => :'String',
364
+ :'peer_db_home_id' => :'String',
365
+ :'peer_db_system_id' => :'String',
366
+ :'peer_role' => :'String',
367
+ :'protection_mode' => :'String',
368
+ :'role' => :'String',
369
+ :'time_created' => :'DateTime',
370
+ :'transport_type' => :'String'
371
+ }
372
+ end
373
+ end
374
+ end
@@ -8,8 +8,10 @@ module OCI
8
8
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
9
  LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
10
  LIFECYCLE_STATE_UPDATING = 'UPDATING',
11
+ LIFECYCLE_STATE_BACKUP_IN_PROGRESS = 'BACKUP_IN_PROGRESS',
11
12
  LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
12
13
  LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
14
+ LIFECYCLE_STATE_RESTORE_FAILED = 'RESTORE_FAILED',
13
15
  LIFECYCLE_STATE_FAILED = 'FAILED',
14
16
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
15
17
 
@@ -21,6 +23,9 @@ module OCI
21
23
  # @return [String]
22
24
  attr_accessor :compartment_id
23
25
 
26
+ # @return [OCI::Database::Models::DbBackupConfig]
27
+ attr_accessor :db_backup_config
28
+
24
29
  # The OCID of the database home.
25
30
  # @return [String]
26
31
  attr_accessor :db_home_id
@@ -79,6 +84,10 @@ module OCI
79
84
  self.compartment_id = attributes[:'compartmentId']
80
85
  end
81
86
 
87
+ if attributes[:'dbBackupConfig']
88
+ self.db_backup_config = attributes[:'dbBackupConfig']
89
+ end
90
+
82
91
  if attributes[:'dbHomeId']
83
92
  self.db_home_id = attributes[:'dbHomeId']
84
93
  end
@@ -138,6 +147,7 @@ module OCI
138
147
  self.class == other_object.class &&
139
148
  character_set == other_object.character_set &&
140
149
  compartment_id == other_object.compartment_id &&
150
+ db_backup_config == other_object.db_backup_config &&
141
151
  db_home_id == other_object.db_home_id &&
142
152
  db_name == other_object.db_name &&
143
153
  db_unique_name == other_object.db_unique_name &&
@@ -159,7 +169,7 @@ module OCI
159
169
  # Calculates hash code according to all attributes.
160
170
  # @return [Fixnum] Hash code
161
171
  def hash
162
- [character_set, compartment_id, db_home_id, db_name, db_unique_name, db_workload, id, lifecycle_details, lifecycle_state, ncharacter_set, pdb_name, time_created].hash
172
+ [character_set, compartment_id, db_backup_config, db_home_id, db_name, db_unique_name, db_workload, id, lifecycle_details, lifecycle_state, ncharacter_set, pdb_name, time_created].hash
163
173
  end
164
174
 
165
175
  # Builds the object from hash
@@ -193,8 +203,8 @@ module OCI
193
203
  def to_hash
194
204
  hash = {}
195
205
  self.class.attribute_map.each_pair do |attr, param|
196
- value = self.send(attr)
197
- next if value.nil?
206
+ value = send(attr)
207
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
198
208
  hash[param] = _to_hash(value)
199
209
  end
200
210
  hash
@@ -227,6 +237,7 @@ module OCI
227
237
  {
228
238
  :'character_set' => :'characterSet',
229
239
  :'compartment_id' => :'compartmentId',
240
+ :'db_backup_config' => :'dbBackupConfig',
230
241
  :'db_home_id' => :'dbHomeId',
231
242
  :'db_name' => :'dbName',
232
243
  :'db_unique_name' => :'dbUniqueName',
@@ -245,6 +256,7 @@ module OCI
245
256
  {
246
257
  :'character_set' => :'String',
247
258
  :'compartment_id' => :'String',
259
+ :'db_backup_config' => :'OCI::Database::Models::DbBackupConfig',
248
260
  :'db_home_id' => :'String',
249
261
  :'db_name' => :'String',
250
262
  :'db_unique_name' => :'String',