oci 2.23.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/lib/oci/analytics/analytics.rb +5 -0
  4. data/lib/oci/analytics/analytics_client.rb +422 -52
  5. data/lib/oci/analytics/analytics_client_composite_operations.rb +188 -27
  6. data/lib/oci/analytics/models/analytics_instance.rb +32 -15
  7. data/lib/oci/analytics/models/analytics_instance_summary.rb +9 -8
  8. data/lib/oci/analytics/models/capacity.rb +2 -2
  9. data/lib/oci/analytics/models/change_analytics_instance_network_endpoint_details.rb +1 -1
  10. data/lib/oci/analytics/models/create_analytics_instance_details.rb +8 -6
  11. data/lib/oci/analytics/models/create_private_access_channel_details.rb +9 -9
  12. data/lib/oci/analytics/models/create_resource_group_details.rb +190 -0
  13. data/lib/oci/analytics/models/create_vanity_url_details.rb +5 -5
  14. data/lib/oci/analytics/models/feature_bundle.rb +1 -0
  15. data/lib/oci/analytics/models/instance_resource_group.rb +200 -0
  16. data/lib/oci/analytics/models/instance_resource_group_summary.rb +200 -0
  17. data/lib/oci/analytics/models/private_access_channel.rb +13 -13
  18. data/lib/oci/analytics/models/private_endpoint_details.rb +1 -1
  19. data/lib/oci/analytics/models/private_source_dns_zone.rb +3 -3
  20. data/lib/oci/analytics/models/private_source_scan_host.rb +4 -4
  21. data/lib/oci/analytics/models/public_endpoint_details.rb +1 -1
  22. data/lib/oci/analytics/models/resource_group_sort_by.rb +17 -0
  23. data/lib/oci/analytics/models/set_feature_bundle_details.rb +1 -0
  24. data/lib/oci/analytics/models/set_kms_key_details.rb +2 -2
  25. data/lib/oci/analytics/models/update_analytics_instance_details.rb +3 -3
  26. data/lib/oci/analytics/models/update_private_access_channel_details.rb +9 -9
  27. data/lib/oci/analytics/models/update_resource_group_details.rb +190 -0
  28. data/lib/oci/analytics/models/update_vanity_url_details.rb +4 -4
  29. data/lib/oci/analytics/models/vanity_url_details.rb +5 -5
  30. data/lib/oci/analytics/models/work_request.rb +4 -0
  31. data/lib/oci/analytics/models/work_request_action_result.rb +4 -1
  32. data/lib/oci/analytics/models/work_request_error.rb +2 -2
  33. data/lib/oci/analytics/models/work_request_log.rb +1 -1
  34. data/lib/oci/analytics/models/work_request_operation_type.rb +5 -1
  35. data/lib/oci/analytics/models/work_request_resource.rb +4 -1
  36. data/lib/oci/analytics/models/work_request_summary.rb +4 -0
  37. data/lib/oci/apiaccesscontrol/api_metadata_client.rb +8 -6
  38. data/lib/oci/apiaccesscontrol/apiaccesscontrol.rb +1 -0
  39. data/lib/oci/apiaccesscontrol/models/api_metadata.rb +12 -2
  40. data/lib/oci/apiaccesscontrol/models/api_metadata_by_entity_type_summary.rb +15 -1
  41. data/lib/oci/apiaccesscontrol/models/approver_detail.rb +15 -1
  42. data/lib/oci/apiaccesscontrol/models/approver_group_level.rb +169 -0
  43. data/lib/oci/apiaccesscontrol/models/create_privileged_api_control_details.rb +17 -3
  44. data/lib/oci/apiaccesscontrol/models/create_privileged_api_request_details.rb +1 -1
  45. data/lib/oci/apiaccesscontrol/models/privileged_api_control.rb +15 -2
  46. data/lib/oci/apiaccesscontrol/models/privileged_api_control_summary.rb +0 -1
  47. data/lib/oci/apiaccesscontrol/models/update_privileged_api_control_details.rb +16 -2
  48. data/lib/oci/apiaccesscontrol/privileged_api_control_client.rb +4 -3
  49. data/lib/oci/apiaccesscontrol/privileged_api_requests_client.rb +4 -3
  50. data/lib/oci/apiaccesscontrol/privileged_api_work_request_client.rb +4 -3
  51. data/lib/oci/core/core.rb +5 -0
  52. data/lib/oci/core/models/boot_volume_backup.rb +87 -4
  53. data/lib/oci/core/models/create_boot_volume_backup_details.rb +59 -4
  54. data/lib/oci/core/models/create_cross_connect_details.rb +50 -1
  55. data/lib/oci/core/models/create_cross_connect_group_details.rb +71 -4
  56. data/lib/oci/core/models/create_dedicated_vm_host_details.rb +21 -4
  57. data/lib/oci/core/models/create_virtual_circuit_details.rb +63 -4
  58. data/lib/oci/core/models/create_volume_backup_details.rb +59 -4
  59. data/lib/oci/core/models/create_volume_group_backup_details.rb +59 -4
  60. data/lib/oci/core/models/cross_connect.rb +43 -1
  61. data/lib/oci/core/models/cross_connect_group.rb +63 -4
  62. data/lib/oci/core/models/dedicated_vm_host.rb +18 -1
  63. data/lib/oci/core/models/dedicated_vm_host_instance_summary.rb +18 -1
  64. data/lib/oci/core/models/dedicated_vm_host_summary.rb +18 -1
  65. data/lib/oci/core/models/instances.rb +140 -0
  66. data/lib/oci/core/models/letter_of_authority.rb +31 -4
  67. data/lib/oci/core/models/loa_extension_data.rb +170 -0
  68. data/lib/oci/core/models/provider_remote_region_name.rb +174 -0
  69. data/lib/oci/core/models/retention_duration.rb +189 -0
  70. data/lib/oci/core/models/supported_capabilities.rb +21 -4
  71. data/lib/oci/core/models/update_boot_volume_backup_details.rb +59 -4
  72. data/lib/oci/core/models/update_cross_connect_details.rb +32 -4
  73. data/lib/oci/core/models/update_cross_connect_group_details.rb +49 -4
  74. data/lib/oci/core/models/update_cross_connect_letter_of_authority_details.rb +195 -0
  75. data/lib/oci/core/models/update_virtual_circuit_details.rb +30 -1
  76. data/lib/oci/core/models/update_volume_backup_details.rb +59 -4
  77. data/lib/oci/core/models/update_volume_group_backup_details.rb +59 -4
  78. data/lib/oci/core/models/virtual_circuit.rb +80 -1
  79. data/lib/oci/core/models/volume_backup.rb +87 -4
  80. data/lib/oci/core/models/volume_backup_schedule.rb +45 -4
  81. data/lib/oci/core/models/volume_group_backup.rb +73 -4
  82. data/lib/oci/core/virtual_network_client.rb +136 -2
  83. data/lib/oci/database/database.rb +13 -0
  84. data/lib/oci/database/database_client.rb +923 -111
  85. data/lib/oci/database/database_client_composite_operations.rb +283 -0
  86. data/lib/oci/database/models/basecc_vm_cluster.rb +713 -0
  87. data/lib/oci/database/models/basecc_vm_cluster_summary.rb +716 -0
  88. data/lib/oci/database/models/basecc_vm_cluster_update.rb +342 -0
  89. data/lib/oci/database/models/basecc_vm_cluster_update_details.rb +198 -0
  90. data/lib/oci/database/models/basecc_vm_cluster_update_history_entry.rb +318 -0
  91. data/lib/oci/database/models/basecc_vm_cluster_update_history_entry_summary.rb +321 -0
  92. data/lib/oci/database/models/basecc_vm_cluster_update_summary.rb +349 -0
  93. data/lib/oci/database/models/change_basecc_vm_cluster_compartment_details.rb +156 -0
  94. data/lib/oci/database/models/cloud_vm_cluster.rb +28 -1
  95. data/lib/oci/database/models/cloud_vm_cluster_summary.rb +28 -1
  96. data/lib/oci/database/models/create_basecc_vm_cluster_details.rb +506 -0
  97. data/lib/oci/database/models/create_database_software_image_details.rb +2 -1
  98. data/lib/oci/database/models/database_software_image.rb +1 -0
  99. data/lib/oci/database/models/database_software_image_summary.rb +1 -0
  100. data/lib/oci/database/models/exadata_live_image_version_details.rb +216 -0
  101. data/lib/oci/database/models/exadb_vm_cluster.rb +53 -4
  102. data/lib/oci/database/models/exadb_vm_cluster_summary.rb +53 -4
  103. data/lib/oci/database/models/register_exadb_vm_cluster_pkcs_details.rb +171 -0
  104. data/lib/oci/database/models/unregister_exadb_vm_cluster_pkcs_details.rb +171 -0
  105. data/lib/oci/database/models/update.rb +94 -1
  106. data/lib/oci/database/models/update_basecc_vm_cluster_details.rb +345 -0
  107. data/lib/oci/database/models/update_details.rb +33 -1
  108. data/lib/oci/database/models/update_history_entry.rb +39 -1
  109. data/lib/oci/database/models/update_history_entry_summary.rb +39 -1
  110. data/lib/oci/database/models/update_summary.rb +94 -1
  111. data/lib/oci/database/models/vm_cluster.rb +28 -1
  112. data/lib/oci/database/models/vm_cluster_summary.rb +28 -1
  113. data/lib/oci/database/models/vm_cluster_update.rb +94 -1
  114. data/lib/oci/database/models/vm_cluster_update_details.rb +33 -1
  115. data/lib/oci/database/models/vm_cluster_update_history_entry.rb +39 -1
  116. data/lib/oci/database/models/vm_cluster_update_history_entry_summary.rb +39 -1
  117. data/lib/oci/database/models/vm_cluster_update_summary.rb +94 -1
  118. data/lib/oci/file_storage/models/file_system.rb +37 -4
  119. data/lib/oci/file_storage/models/file_system_summary.rb +37 -4
  120. data/lib/oci/file_storage/models/snapshot.rb +19 -4
  121. data/lib/oci/file_storage/models/snapshot_summary.rb +19 -4
  122. data/lib/oci/generative_ai/models/create_dedicated_ai_cluster_details.rb +3 -0
  123. data/lib/oci/generative_ai/models/dedicated_ai_cluster.rb +2 -0
  124. data/lib/oci/golden_gate/golden_gate.rb +29 -0
  125. data/lib/oci/golden_gate/golden_gate_client.rb +185 -6
  126. data/lib/oci/golden_gate/models/ai_model_auth_details.rb +194 -0
  127. data/lib/oci/golden_gate/models/ai_model_auth_details_summary.rb +194 -0
  128. data/lib/oci/golden_gate/models/ai_model_auth_type.rb +13 -0
  129. data/lib/oci/golden_gate/models/ai_model_collection.rb +153 -0
  130. data/lib/oci/golden_gate/models/ai_model_connection.rb +350 -0
  131. data/lib/oci/golden_gate/models/ai_model_connection_summary.rb +333 -0
  132. data/lib/oci/golden_gate/models/ai_model_summary.rb +216 -0
  133. data/lib/oci/golden_gate/models/ai_provider_collection.rb +153 -0
  134. data/lib/oci/golden_gate/models/ai_provider_summary.rb +249 -0
  135. data/lib/oci/golden_gate/models/amazon_kinesis_connection.rb +1 -0
  136. data/lib/oci/golden_gate/models/amazon_kinesis_connection_summary.rb +1 -0
  137. data/lib/oci/golden_gate/models/amazon_s3_connection.rb +1 -1
  138. data/lib/oci/golden_gate/models/amazon_s3_connection_summary.rb +1 -1
  139. data/lib/oci/golden_gate/models/amazon_s3_iceberg_storage.rb +1 -0
  140. data/lib/oci/golden_gate/models/amazon_s3_iceberg_storage_summary.rb +1 -0
  141. data/lib/oci/golden_gate/models/api_key_ai_model_auth_details.rb +199 -0
  142. data/lib/oci/golden_gate/models/api_key_ai_model_auth_details_summary.rb +181 -0
  143. data/lib/oci/golden_gate/models/connection.rb +43 -6
  144. data/lib/oci/golden_gate/models/connection_assignment.rb +63 -1
  145. data/lib/oci/golden_gate/models/connection_assignment_summary.rb +64 -1
  146. data/lib/oci/golden_gate/models/connection_summary.rb +42 -6
  147. data/lib/oci/golden_gate/models/connection_type.rb +2 -1
  148. data/lib/oci/golden_gate/models/create_ai_model_auth_details.rb +187 -0
  149. data/lib/oci/golden_gate/models/create_ai_model_connection_details.rb +298 -0
  150. data/lib/oci/golden_gate/models/create_amazon_kinesis_connection_details.rb +4 -1
  151. data/lib/oci/golden_gate/models/create_amazon_redshift_connection_details.rb +3 -1
  152. data/lib/oci/golden_gate/models/create_amazon_s3_connection_details.rb +5 -3
  153. data/lib/oci/golden_gate/models/create_amazon_s3_iceberg_storage_details.rb +5 -2
  154. data/lib/oci/golden_gate/models/create_api_key_ai_model_auth_details.rb +199 -0
  155. data/lib/oci/golden_gate/models/create_azure_data_lake_storage_connection_details.rb +9 -3
  156. data/lib/oci/golden_gate/models/create_azure_data_lake_storage_iceberg_storage_details.rb +3 -1
  157. data/lib/oci/golden_gate/models/create_azure_synapse_connection_details.rb +3 -1
  158. data/lib/oci/golden_gate/models/create_connection_details.rb +43 -7
  159. data/lib/oci/golden_gate/models/create_database_registration_details.rb +6 -2
  160. data/lib/oci/golden_gate/models/create_databricks_connection_details.rb +6 -2
  161. data/lib/oci/golden_gate/models/create_db2_connection_details.rb +9 -3
  162. data/lib/oci/golden_gate/models/create_elasticsearch_connection_details.rb +3 -1
  163. data/lib/oci/golden_gate/models/create_golden_gate_connection_details.rb +3 -1
  164. data/lib/oci/golden_gate/models/create_google_big_query_connection_details.rb +3 -1
  165. data/lib/oci/golden_gate/models/create_google_cloud_storage_connection_details.rb +3 -1
  166. data/lib/oci/golden_gate/models/create_google_cloud_storage_iceberg_storage_details.rb +3 -1
  167. data/lib/oci/golden_gate/models/create_google_pub_sub_connection_details.rb +3 -1
  168. data/lib/oci/golden_gate/models/create_iceberg_connection_details.rb +1 -0
  169. data/lib/oci/golden_gate/models/create_iceberg_storage_details.rb +5 -1
  170. data/lib/oci/golden_gate/models/create_java_message_service_connection_details.rb +21 -7
  171. data/lib/oci/golden_gate/models/create_kafka_connection_details.rb +18 -6
  172. data/lib/oci/golden_gate/models/create_kafka_schema_registry_connection_details.rb +18 -6
  173. data/lib/oci/golden_gate/models/create_microsoft_fabric_connection_details.rb +3 -1
  174. data/lib/oci/golden_gate/models/create_microsoft_sqlserver_connection_details.rb +3 -1
  175. data/lib/oci/golden_gate/models/create_mongo_db_connection_details.rb +9 -3
  176. data/lib/oci/golden_gate/models/create_mysql_connection_details.rb +6 -2
  177. data/lib/oci/golden_gate/models/create_no_iceberg_storage_details.rb +148 -0
  178. data/lib/oci/golden_gate/models/create_oci_gen_ai_model_auth_details.rb +242 -0
  179. data/lib/oci/golden_gate/models/create_oci_object_storage_connection_details.rb +6 -2
  180. data/lib/oci/golden_gate/models/create_oci_object_storage_s3_api_iceberg_storage_details.rb +228 -0
  181. data/lib/oci/golden_gate/models/create_oracle_ai_data_platform_connection_details.rb +6 -2
  182. data/lib/oci/golden_gate/models/create_oracle_connection_details.rb +7 -3
  183. data/lib/oci/golden_gate/models/create_oracle_nosql_connection_details.rb +6 -2
  184. data/lib/oci/golden_gate/models/create_postgresql_connection_details.rb +6 -2
  185. data/lib/oci/golden_gate/models/create_redis_connection_details.rb +15 -5
  186. data/lib/oci/golden_gate/models/create_snowflake_connection_details.rb +9 -3
  187. data/lib/oci/golden_gate/models/deployment_type_summary.rb +1 -0
  188. data/lib/oci/golden_gate/models/iceberg_connection.rb +1 -0
  189. data/lib/oci/golden_gate/models/iceberg_connection_summary.rb +1 -0
  190. data/lib/oci/golden_gate/models/iceberg_storage.rb +4 -0
  191. data/lib/oci/golden_gate/models/iceberg_storage_summary.rb +4 -0
  192. data/lib/oci/golden_gate/models/iceberg_storage_type.rb +3 -1
  193. data/lib/oci/golden_gate/models/kafka_connection.rb +1 -0
  194. data/lib/oci/golden_gate/models/no_iceberg_storage.rb +148 -0
  195. data/lib/oci/golden_gate/models/no_iceberg_storage_summary.rb +148 -0
  196. data/lib/oci/golden_gate/models/oci_gen_ai_model_auth_details.rb +242 -0
  197. data/lib/oci/golden_gate/models/oci_gen_ai_model_auth_details_summary.rb +224 -0
  198. data/lib/oci/golden_gate/models/oci_object_storage_s3_api_iceberg_storage.rb +209 -0
  199. data/lib/oci/golden_gate/models/oci_object_storage_s3_api_iceberg_storage_summary.rb +209 -0
  200. data/lib/oci/golden_gate/models/oracle_connection.rb +4 -1
  201. data/lib/oci/golden_gate/models/oracle_connection_summary.rb +1 -1
  202. data/lib/oci/golden_gate/models/technology_type.rb +6 -1
  203. data/lib/oci/golden_gate/models/update_ai_model_auth_details.rb +187 -0
  204. data/lib/oci/golden_gate/models/update_ai_model_connection_details.rb +237 -0
  205. data/lib/oci/golden_gate/models/update_amazon_kinesis_connection_details.rb +4 -1
  206. data/lib/oci/golden_gate/models/update_amazon_redshift_connection_details.rb +3 -1
  207. data/lib/oci/golden_gate/models/update_amazon_s3_connection_details.rb +5 -3
  208. data/lib/oci/golden_gate/models/update_amazon_s3_iceberg_storage_details.rb +5 -2
  209. data/lib/oci/golden_gate/models/update_api_key_ai_model_auth_details.rb +199 -0
  210. data/lib/oci/golden_gate/models/update_azure_data_lake_storage_connection_details.rb +9 -3
  211. data/lib/oci/golden_gate/models/update_azure_data_lake_storage_iceberg_storage_details.rb +3 -1
  212. data/lib/oci/golden_gate/models/update_azure_synapse_connection_details.rb +3 -1
  213. data/lib/oci/golden_gate/models/update_connection_details.rb +43 -7
  214. data/lib/oci/golden_gate/models/update_database_registration_details.rb +6 -2
  215. data/lib/oci/golden_gate/models/update_databricks_connection_details.rb +6 -2
  216. data/lib/oci/golden_gate/models/update_db2_connection_details.rb +9 -3
  217. data/lib/oci/golden_gate/models/update_elasticsearch_connection_details.rb +3 -1
  218. data/lib/oci/golden_gate/models/update_golden_gate_connection_details.rb +3 -1
  219. data/lib/oci/golden_gate/models/update_google_big_query_connection_details.rb +3 -1
  220. data/lib/oci/golden_gate/models/update_google_cloud_storage_connection_details.rb +3 -1
  221. data/lib/oci/golden_gate/models/update_google_cloud_storage_iceberg_storage_details.rb +3 -1
  222. data/lib/oci/golden_gate/models/update_google_pub_sub_connection_details.rb +3 -1
  223. data/lib/oci/golden_gate/models/update_iceberg_storage_details.rb +5 -1
  224. data/lib/oci/golden_gate/models/update_java_message_service_connection_details.rb +21 -7
  225. data/lib/oci/golden_gate/models/update_kafka_connection_details.rb +18 -6
  226. data/lib/oci/golden_gate/models/update_kafka_schema_registry_connection_details.rb +18 -6
  227. data/lib/oci/golden_gate/models/update_microsoft_fabric_connection_details.rb +3 -1
  228. data/lib/oci/golden_gate/models/update_microsoft_sqlserver_connection_details.rb +3 -1
  229. data/lib/oci/golden_gate/models/update_mongo_db_connection_details.rb +9 -3
  230. data/lib/oci/golden_gate/models/update_mysql_connection_details.rb +6 -2
  231. data/lib/oci/golden_gate/models/update_no_iceberg_storage_details.rb +148 -0
  232. data/lib/oci/golden_gate/models/update_oci_gen_ai_model_auth_details.rb +242 -0
  233. data/lib/oci/golden_gate/models/update_oci_object_storage_connection_details.rb +6 -2
  234. data/lib/oci/golden_gate/models/update_oci_object_storage_s3_api_iceberg_storage_details.rb +228 -0
  235. data/lib/oci/golden_gate/models/update_oracle_ai_data_platform_connection_details.rb +6 -2
  236. data/lib/oci/golden_gate/models/update_oracle_connection_details.rb +7 -3
  237. data/lib/oci/golden_gate/models/update_oracle_nosql_connection_details.rb +6 -2
  238. data/lib/oci/golden_gate/models/update_postgresql_connection_details.rb +6 -2
  239. data/lib/oci/golden_gate/models/update_redis_connection_details.rb +15 -5
  240. data/lib/oci/golden_gate/models/update_snowflake_connection_details.rb +9 -3
  241. data/lib/oci/regions.rb +8 -1
  242. data/lib/oci/version.rb +1 -1
  243. metadata +55 -2
@@ -0,0 +1,318 @@
1
+ # Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
5
+ require 'date'
6
+ require 'logger'
7
+
8
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
9
+ module OCI
10
+ # The record of a maintenance update action on a specified BaseDB-C@C VM cluster.
11
+ #
12
+ class Database::Models::BaseccVmClusterUpdateHistoryEntry
13
+ UPDATE_ACTION_ENUM = [
14
+ UPDATE_ACTION_ROLLING_APPLY = 'ROLLING_APPLY'.freeze,
15
+ UPDATE_ACTION_PRECHECK = 'PRECHECK'.freeze,
16
+ UPDATE_ACTION_ROLLBACK = 'ROLLBACK'.freeze,
17
+ UPDATE_ACTION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ UPDATE_TYPE_ENUM = [
21
+ UPDATE_TYPE_GI_UPGRADE = 'GI_UPGRADE'.freeze,
22
+ UPDATE_TYPE_GI_PATCH = 'GI_PATCH'.freeze,
23
+ UPDATE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ LIFECYCLE_STATE_ENUM = [
27
+ LIFECYCLE_STATE_IN_PROGRESS = 'IN_PROGRESS'.freeze,
28
+ LIFECYCLE_STATE_SUCCEEDED = 'SUCCEEDED'.freeze,
29
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
30
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
31
+ ].freeze
32
+
33
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update history entry.
34
+ # @return [String]
35
+ attr_accessor :id
36
+
37
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update.
38
+ # @return [String]
39
+ attr_accessor :update_id
40
+
41
+ # The update action.
42
+ # @return [String]
43
+ attr_reader :update_action
44
+
45
+ # **[Required]** The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance update.
46
+ # @return [String]
47
+ attr_reader :update_type
48
+
49
+ # **[Required]** The current lifecycle state of the maintenance update operation.
50
+ # @return [String]
51
+ attr_reader :lifecycle_state
52
+
53
+ # Descriptive text providing additional details about the lifecycle state.
54
+ #
55
+ # @return [String]
56
+ attr_accessor :lifecycle_details
57
+
58
+ # **[Required]** The date and time when the maintenance update action started.
59
+ # @return [DateTime]
60
+ attr_accessor :time_started
61
+
62
+ # The date and time when the maintenance update action completed.
63
+ # @return [DateTime]
64
+ attr_accessor :time_completed
65
+
66
+ # The version of the maintenance update package.
67
+ # @return [String]
68
+ attr_accessor :version
69
+
70
+ # Attribute mapping from ruby-style variable name to JSON key.
71
+ def self.attribute_map
72
+ {
73
+ # rubocop:disable Style/SymbolLiteral
74
+ 'id': :'id',
75
+ 'update_id': :'updateId',
76
+ 'update_action': :'updateAction',
77
+ 'update_type': :'updateType',
78
+ 'lifecycle_state': :'lifecycleState',
79
+ 'lifecycle_details': :'lifecycleDetails',
80
+ 'time_started': :'timeStarted',
81
+ 'time_completed': :'timeCompleted',
82
+ 'version': :'version'
83
+ # rubocop:enable Style/SymbolLiteral
84
+ }
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ def self.swagger_types
89
+ {
90
+ # rubocop:disable Style/SymbolLiteral
91
+ 'id': :'String',
92
+ 'update_id': :'String',
93
+ 'update_action': :'String',
94
+ 'update_type': :'String',
95
+ 'lifecycle_state': :'String',
96
+ 'lifecycle_details': :'String',
97
+ 'time_started': :'DateTime',
98
+ 'time_completed': :'DateTime',
99
+ 'version': :'String'
100
+ # rubocop:enable Style/SymbolLiteral
101
+ }
102
+ end
103
+
104
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
105
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
106
+
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @option attributes [String] :id The value to assign to the {#id} property
111
+ # @option attributes [String] :update_id The value to assign to the {#update_id} property
112
+ # @option attributes [String] :update_action The value to assign to the {#update_action} property
113
+ # @option attributes [String] :update_type The value to assign to the {#update_type} property
114
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
115
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
116
+ # @option attributes [DateTime] :time_started The value to assign to the {#time_started} property
117
+ # @option attributes [DateTime] :time_completed The value to assign to the {#time_completed} property
118
+ # @option attributes [String] :version The value to assign to the {#version} property
119
+ def initialize(attributes = {})
120
+ return unless attributes.is_a?(Hash)
121
+
122
+ self.id = attributes[:'id'] if attributes[:'id']
123
+
124
+ self.update_id = attributes[:'updateId'] if attributes[:'updateId']
125
+
126
+ raise 'You cannot provide both :updateId and :update_id' if attributes.key?(:'updateId') && attributes.key?(:'update_id')
127
+
128
+ self.update_id = attributes[:'update_id'] if attributes[:'update_id']
129
+
130
+ self.update_action = attributes[:'updateAction'] if attributes[:'updateAction']
131
+
132
+ raise 'You cannot provide both :updateAction and :update_action' if attributes.key?(:'updateAction') && attributes.key?(:'update_action')
133
+
134
+ self.update_action = attributes[:'update_action'] if attributes[:'update_action']
135
+
136
+ self.update_type = attributes[:'updateType'] if attributes[:'updateType']
137
+
138
+ raise 'You cannot provide both :updateType and :update_type' if attributes.key?(:'updateType') && attributes.key?(:'update_type')
139
+
140
+ self.update_type = attributes[:'update_type'] if attributes[:'update_type']
141
+
142
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
143
+
144
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
145
+
146
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
147
+
148
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
149
+
150
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
151
+
152
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
153
+
154
+ self.time_started = attributes[:'timeStarted'] if attributes[:'timeStarted']
155
+
156
+ raise 'You cannot provide both :timeStarted and :time_started' if attributes.key?(:'timeStarted') && attributes.key?(:'time_started')
157
+
158
+ self.time_started = attributes[:'time_started'] if attributes[:'time_started']
159
+
160
+ self.time_completed = attributes[:'timeCompleted'] if attributes[:'timeCompleted']
161
+
162
+ raise 'You cannot provide both :timeCompleted and :time_completed' if attributes.key?(:'timeCompleted') && attributes.key?(:'time_completed')
163
+
164
+ self.time_completed = attributes[:'time_completed'] if attributes[:'time_completed']
165
+
166
+ self.version = attributes[:'version'] if attributes[:'version']
167
+ end
168
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
169
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
170
+
171
+ # Custom attribute writer method checking allowed values (enum).
172
+ # @param [Object] update_action Object to be assigned
173
+ def update_action=(update_action)
174
+ # rubocop:disable Style/ConditionalAssignment
175
+ if update_action && !UPDATE_ACTION_ENUM.include?(update_action)
176
+ OCI.logger.debug("Unknown value for 'update_action' [" + update_action + "]. Mapping to 'UPDATE_ACTION_UNKNOWN_ENUM_VALUE'") if OCI.logger
177
+ @update_action = UPDATE_ACTION_UNKNOWN_ENUM_VALUE
178
+ else
179
+ @update_action = update_action
180
+ end
181
+ # rubocop:enable Style/ConditionalAssignment
182
+ end
183
+
184
+ # Custom attribute writer method checking allowed values (enum).
185
+ # @param [Object] update_type Object to be assigned
186
+ def update_type=(update_type)
187
+ # rubocop:disable Style/ConditionalAssignment
188
+ if update_type && !UPDATE_TYPE_ENUM.include?(update_type)
189
+ OCI.logger.debug("Unknown value for 'update_type' [" + update_type + "]. Mapping to 'UPDATE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
190
+ @update_type = UPDATE_TYPE_UNKNOWN_ENUM_VALUE
191
+ else
192
+ @update_type = update_type
193
+ end
194
+ # rubocop:enable Style/ConditionalAssignment
195
+ end
196
+
197
+ # Custom attribute writer method checking allowed values (enum).
198
+ # @param [Object] lifecycle_state Object to be assigned
199
+ def lifecycle_state=(lifecycle_state)
200
+ # rubocop:disable Style/ConditionalAssignment
201
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
202
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
203
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
204
+ else
205
+ @lifecycle_state = lifecycle_state
206
+ end
207
+ # rubocop:enable Style/ConditionalAssignment
208
+ end
209
+
210
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
211
+
212
+
213
+ # Checks equality by comparing each attribute.
214
+ # @param [Object] other the other object to be compared
215
+ def ==(other)
216
+ return true if equal?(other)
217
+
218
+ self.class == other.class &&
219
+ id == other.id &&
220
+ update_id == other.update_id &&
221
+ update_action == other.update_action &&
222
+ update_type == other.update_type &&
223
+ lifecycle_state == other.lifecycle_state &&
224
+ lifecycle_details == other.lifecycle_details &&
225
+ time_started == other.time_started &&
226
+ time_completed == other.time_completed &&
227
+ version == other.version
228
+ end
229
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
230
+
231
+ # @see the `==` method
232
+ # @param [Object] other the other object to be compared
233
+ def eql?(other)
234
+ self == other
235
+ end
236
+
237
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
238
+
239
+
240
+ # Calculates hash code according to all attributes.
241
+ # @return [Fixnum] Hash code
242
+ def hash
243
+ [id, update_id, update_action, update_type, lifecycle_state, lifecycle_details, time_started, time_completed, version].hash
244
+ end
245
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
246
+
247
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
248
+
249
+
250
+ # Builds the object from hash
251
+ # @param [Hash] attributes Model attributes in the form of hash
252
+ # @return [Object] Returns the model itself
253
+ def build_from_hash(attributes)
254
+ return nil unless attributes.is_a?(Hash)
255
+
256
+ self.class.swagger_types.each_pair do |key, type|
257
+ if type =~ /^Array<(.*)>/i
258
+ # check to ensure the input is an array given that the the attribute
259
+ # is documented as an array but the input is not
260
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
261
+ public_method("#{key}=").call(
262
+ attributes[self.class.attribute_map[key]]
263
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
264
+ )
265
+ end
266
+ elsif !attributes[self.class.attribute_map[key]].nil?
267
+ public_method("#{key}=").call(
268
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
269
+ )
270
+ end
271
+ # or else data not found in attributes(hash), not an issue as the data can be optional
272
+ end
273
+
274
+ self
275
+ end
276
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
277
+
278
+ # Returns the string representation of the object
279
+ # @return [String] String presentation of the object
280
+ def to_s
281
+ to_hash.to_s
282
+ end
283
+
284
+ # Returns the object in the form of hash
285
+ # @return [Hash] Returns the object in the form of hash
286
+ def to_hash
287
+ hash = {}
288
+ self.class.attribute_map.each_pair do |attr, param|
289
+ value = public_method(attr).call
290
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
291
+
292
+ hash[param] = _to_hash(value)
293
+ end
294
+ hash
295
+ end
296
+
297
+ private
298
+
299
+ # Outputs non-array value in the form of hash
300
+ # For object, use to_hash. Otherwise, just return the value
301
+ # @param [Object] value Any valid value
302
+ # @return [Hash] Returns the value in the form of hash
303
+ def _to_hash(value)
304
+ if value.is_a?(Array)
305
+ value.compact.map { |v| _to_hash(v) }
306
+ elsif value.is_a?(Hash)
307
+ {}.tap do |hash|
308
+ value.each { |k, v| hash[k] = _to_hash(v) }
309
+ end
310
+ elsif value.respond_to? :to_hash
311
+ value.to_hash
312
+ else
313
+ value
314
+ end
315
+ end
316
+ end
317
+ end
318
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,321 @@
1
+ # Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
5
+ require 'date'
6
+ require 'logger'
7
+
8
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
9
+ module OCI
10
+ # The record of a maintenance update action on a specified BaseDB-C@C VM cluster.
11
+ #
12
+ class Database::Models::BaseccVmClusterUpdateHistoryEntrySummary
13
+ UPDATE_ACTION_ENUM = [
14
+ UPDATE_ACTION_ROLLING_APPLY = 'ROLLING_APPLY'.freeze,
15
+ UPDATE_ACTION_PRECHECK = 'PRECHECK'.freeze,
16
+ UPDATE_ACTION_ROLLBACK = 'ROLLBACK'.freeze,
17
+ UPDATE_ACTION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ UPDATE_TYPE_ENUM = [
21
+ UPDATE_TYPE_GI_UPGRADE = 'GI_UPGRADE'.freeze,
22
+ UPDATE_TYPE_GI_PATCH = 'GI_PATCH'.freeze,
23
+ UPDATE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ LIFECYCLE_STATE_ENUM = [
27
+ LIFECYCLE_STATE_IN_PROGRESS = 'IN_PROGRESS'.freeze,
28
+ LIFECYCLE_STATE_SUCCEEDED = 'SUCCEEDED'.freeze,
29
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
30
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
31
+ ].freeze
32
+
33
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update history entry.
34
+ # @return [String]
35
+ attr_accessor :id
36
+
37
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update.
38
+ # @return [String]
39
+ attr_accessor :update_id
40
+
41
+ # The update action.
42
+ # @return [String]
43
+ attr_reader :update_action
44
+
45
+ # **[Required]** The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance update.
46
+ # @return [String]
47
+ attr_reader :update_type
48
+
49
+ # **[Required]** The current lifecycle state of the maintenance update operation.
50
+ # @return [String]
51
+ attr_reader :lifecycle_state
52
+
53
+ # Descriptive text providing additional details about the lifecycle state.
54
+ #
55
+ # @return [String]
56
+ attr_accessor :lifecycle_details
57
+
58
+ # **[Required]** The date and time when the maintenance update action started.
59
+ # @return [DateTime]
60
+ attr_accessor :time_started
61
+
62
+ # The date and time when the maintenance update action completed.
63
+ # @return [DateTime]
64
+ attr_accessor :time_completed
65
+
66
+ # The version of the maintenance update package.
67
+ # @return [String]
68
+ attr_accessor :version
69
+
70
+ # Attribute mapping from ruby-style variable name to JSON key.
71
+ def self.attribute_map
72
+ {
73
+ # rubocop:disable Style/SymbolLiteral
74
+ 'id': :'id',
75
+ 'update_id': :'updateId',
76
+ 'update_action': :'updateAction',
77
+ 'update_type': :'updateType',
78
+ 'lifecycle_state': :'lifecycleState',
79
+ 'lifecycle_details': :'lifecycleDetails',
80
+ 'time_started': :'timeStarted',
81
+ 'time_completed': :'timeCompleted',
82
+ 'version': :'version'
83
+ # rubocop:enable Style/SymbolLiteral
84
+ }
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ def self.swagger_types
89
+ {
90
+ # rubocop:disable Style/SymbolLiteral
91
+ 'id': :'String',
92
+ 'update_id': :'String',
93
+ 'update_action': :'String',
94
+ 'update_type': :'String',
95
+ 'lifecycle_state': :'String',
96
+ 'lifecycle_details': :'String',
97
+ 'time_started': :'DateTime',
98
+ 'time_completed': :'DateTime',
99
+ 'version': :'String'
100
+ # rubocop:enable Style/SymbolLiteral
101
+ }
102
+ end
103
+
104
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
105
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
106
+
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @option attributes [String] :id The value to assign to the {#id} property
111
+ # @option attributes [String] :update_id The value to assign to the {#update_id} property
112
+ # @option attributes [String] :update_action The value to assign to the {#update_action} property
113
+ # @option attributes [String] :update_type The value to assign to the {#update_type} property
114
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
115
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
116
+ # @option attributes [DateTime] :time_started The value to assign to the {#time_started} property
117
+ # @option attributes [DateTime] :time_completed The value to assign to the {#time_completed} property
118
+ # @option attributes [String] :version The value to assign to the {#version} property
119
+ def initialize(attributes = {})
120
+ return unless attributes.is_a?(Hash)
121
+
122
+ # convert string to symbol for hash key
123
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
124
+
125
+ self.id = attributes[:'id'] if attributes[:'id']
126
+
127
+ self.update_id = attributes[:'updateId'] if attributes[:'updateId']
128
+
129
+ raise 'You cannot provide both :updateId and :update_id' if attributes.key?(:'updateId') && attributes.key?(:'update_id')
130
+
131
+ self.update_id = attributes[:'update_id'] if attributes[:'update_id']
132
+
133
+ self.update_action = attributes[:'updateAction'] if attributes[:'updateAction']
134
+
135
+ raise 'You cannot provide both :updateAction and :update_action' if attributes.key?(:'updateAction') && attributes.key?(:'update_action')
136
+
137
+ self.update_action = attributes[:'update_action'] if attributes[:'update_action']
138
+
139
+ self.update_type = attributes[:'updateType'] if attributes[:'updateType']
140
+
141
+ raise 'You cannot provide both :updateType and :update_type' if attributes.key?(:'updateType') && attributes.key?(:'update_type')
142
+
143
+ self.update_type = attributes[:'update_type'] if attributes[:'update_type']
144
+
145
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
146
+
147
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
148
+
149
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
150
+
151
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
152
+
153
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
154
+
155
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
156
+
157
+ self.time_started = attributes[:'timeStarted'] if attributes[:'timeStarted']
158
+
159
+ raise 'You cannot provide both :timeStarted and :time_started' if attributes.key?(:'timeStarted') && attributes.key?(:'time_started')
160
+
161
+ self.time_started = attributes[:'time_started'] if attributes[:'time_started']
162
+
163
+ self.time_completed = attributes[:'timeCompleted'] if attributes[:'timeCompleted']
164
+
165
+ raise 'You cannot provide both :timeCompleted and :time_completed' if attributes.key?(:'timeCompleted') && attributes.key?(:'time_completed')
166
+
167
+ self.time_completed = attributes[:'time_completed'] if attributes[:'time_completed']
168
+
169
+ self.version = attributes[:'version'] if attributes[:'version']
170
+ end
171
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
172
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
173
+
174
+ # Custom attribute writer method checking allowed values (enum).
175
+ # @param [Object] update_action Object to be assigned
176
+ def update_action=(update_action)
177
+ # rubocop:disable Style/ConditionalAssignment
178
+ if update_action && !UPDATE_ACTION_ENUM.include?(update_action)
179
+ OCI.logger.debug("Unknown value for 'update_action' [" + update_action + "]. Mapping to 'UPDATE_ACTION_UNKNOWN_ENUM_VALUE'") if OCI.logger
180
+ @update_action = UPDATE_ACTION_UNKNOWN_ENUM_VALUE
181
+ else
182
+ @update_action = update_action
183
+ end
184
+ # rubocop:enable Style/ConditionalAssignment
185
+ end
186
+
187
+ # Custom attribute writer method checking allowed values (enum).
188
+ # @param [Object] update_type Object to be assigned
189
+ def update_type=(update_type)
190
+ # rubocop:disable Style/ConditionalAssignment
191
+ if update_type && !UPDATE_TYPE_ENUM.include?(update_type)
192
+ OCI.logger.debug("Unknown value for 'update_type' [" + update_type + "]. Mapping to 'UPDATE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
193
+ @update_type = UPDATE_TYPE_UNKNOWN_ENUM_VALUE
194
+ else
195
+ @update_type = update_type
196
+ end
197
+ # rubocop:enable Style/ConditionalAssignment
198
+ end
199
+
200
+ # Custom attribute writer method checking allowed values (enum).
201
+ # @param [Object] lifecycle_state Object to be assigned
202
+ def lifecycle_state=(lifecycle_state)
203
+ # rubocop:disable Style/ConditionalAssignment
204
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
205
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
206
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
207
+ else
208
+ @lifecycle_state = lifecycle_state
209
+ end
210
+ # rubocop:enable Style/ConditionalAssignment
211
+ end
212
+
213
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
214
+
215
+
216
+ # Checks equality by comparing each attribute.
217
+ # @param [Object] other the other object to be compared
218
+ def ==(other)
219
+ return true if equal?(other)
220
+
221
+ self.class == other.class &&
222
+ id == other.id &&
223
+ update_id == other.update_id &&
224
+ update_action == other.update_action &&
225
+ update_type == other.update_type &&
226
+ lifecycle_state == other.lifecycle_state &&
227
+ lifecycle_details == other.lifecycle_details &&
228
+ time_started == other.time_started &&
229
+ time_completed == other.time_completed &&
230
+ version == other.version
231
+ end
232
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
233
+
234
+ # @see the `==` method
235
+ # @param [Object] other the other object to be compared
236
+ def eql?(other)
237
+ self == other
238
+ end
239
+
240
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
241
+
242
+
243
+ # Calculates hash code according to all attributes.
244
+ # @return [Fixnum] Hash code
245
+ def hash
246
+ [id, update_id, update_action, update_type, lifecycle_state, lifecycle_details, time_started, time_completed, version].hash
247
+ end
248
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
249
+
250
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
251
+
252
+
253
+ # Builds the object from hash
254
+ # @param [Hash] attributes Model attributes in the form of hash
255
+ # @return [Object] Returns the model itself
256
+ def build_from_hash(attributes)
257
+ return nil unless attributes.is_a?(Hash)
258
+
259
+ self.class.swagger_types.each_pair do |key, type|
260
+ if type =~ /^Array<(.*)>/i
261
+ # check to ensure the input is an array given that the the attribute
262
+ # is documented as an array but the input is not
263
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
264
+ public_method("#{key}=").call(
265
+ attributes[self.class.attribute_map[key]]
266
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
267
+ )
268
+ end
269
+ elsif !attributes[self.class.attribute_map[key]].nil?
270
+ public_method("#{key}=").call(
271
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
272
+ )
273
+ end
274
+ # or else data not found in attributes(hash), not an issue as the data can be optional
275
+ end
276
+
277
+ self
278
+ end
279
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
280
+
281
+ # Returns the string representation of the object
282
+ # @return [String] String presentation of the object
283
+ def to_s
284
+ to_hash.to_s
285
+ end
286
+
287
+ # Returns the object in the form of hash
288
+ # @return [Hash] Returns the object in the form of hash
289
+ def to_hash
290
+ hash = {}
291
+ self.class.attribute_map.each_pair do |attr, param|
292
+ value = public_method(attr).call
293
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
294
+
295
+ hash[param] = _to_hash(value)
296
+ end
297
+ hash
298
+ end
299
+
300
+ private
301
+
302
+ # Outputs non-array value in the form of hash
303
+ # For object, use to_hash. Otherwise, just return the value
304
+ # @param [Object] value Any valid value
305
+ # @return [Hash] Returns the value in the form of hash
306
+ def _to_hash(value)
307
+ if value.is_a?(Array)
308
+ value.compact.map { |v| _to_hash(v) }
309
+ elsif value.is_a?(Hash)
310
+ {}.tap do |hash|
311
+ value.each { |k, v| hash[k] = _to_hash(v) }
312
+ end
313
+ elsif value.respond_to? :to_hash
314
+ value.to_hash
315
+ else
316
+ value
317
+ end
318
+ end
319
+ end
320
+ end
321
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength