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,342 @@
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
+ # Maintenance update details for a BaseDB-C@C VM cluster.
11
+ #
12
+ class Database::Models::BaseccVmClusterUpdate
13
+ LAST_ACTION_ENUM = [
14
+ LAST_ACTION_ROLLING_APPLY = 'ROLLING_APPLY'.freeze,
15
+ LAST_ACTION_PRECHECK = 'PRECHECK'.freeze,
16
+ LAST_ACTION_ROLLBACK = 'ROLLBACK'.freeze,
17
+ LAST_ACTION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ AVAILABLE_ACTIONS_ENUM = [
21
+ AVAILABLE_ACTIONS_ROLLING_APPLY = 'ROLLING_APPLY'.freeze,
22
+ AVAILABLE_ACTIONS_PRECHECK = 'PRECHECK'.freeze,
23
+ AVAILABLE_ACTIONS_ROLLBACK = 'ROLLBACK'.freeze,
24
+ AVAILABLE_ACTIONS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
25
+ ].freeze
26
+
27
+ UPDATE_TYPE_ENUM = [
28
+ UPDATE_TYPE_GI_UPGRADE = 'GI_UPGRADE'.freeze,
29
+ UPDATE_TYPE_GI_PATCH = 'GI_PATCH'.freeze,
30
+ UPDATE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
31
+ ].freeze
32
+
33
+ LIFECYCLE_STATE_ENUM = [
34
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE'.freeze,
35
+ LIFECYCLE_STATE_SUCCESS = 'SUCCESS'.freeze,
36
+ LIFECYCLE_STATE_IN_PROGRESS = 'IN_PROGRESS'.freeze,
37
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
38
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
39
+ ].freeze
40
+
41
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update.
42
+ # @return [String]
43
+ attr_accessor :id
44
+
45
+ # **[Required]** Details of the maintenance update package.
46
+ # @return [String]
47
+ attr_accessor :description
48
+
49
+ # The previous update action performed.
50
+ # @return [String]
51
+ attr_reader :last_action
52
+
53
+ # The possible actions performed by the update operation on the infrastructure components.
54
+ # @return [Array<String>]
55
+ attr_reader :available_actions
56
+
57
+ # **[Required]** The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance update.
58
+ # @return [String]
59
+ attr_reader :update_type
60
+
61
+ # Descriptive text providing additional details about the lifecycle state.
62
+ #
63
+ # @return [String]
64
+ attr_accessor :lifecycle_details
65
+
66
+ # The current state of the maintenance update. Dependent on value of `lastAction`.
67
+ # @return [String]
68
+ attr_reader :lifecycle_state
69
+
70
+ # **[Required]** The date and time the maintenance update was released.
71
+ # @return [DateTime]
72
+ attr_accessor :time_released
73
+
74
+ # **[Required]** The version of the maintenance update package.
75
+ # @return [String]
76
+ attr_accessor :version
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ # rubocop:disable Style/SymbolLiteral
82
+ 'id': :'id',
83
+ 'description': :'description',
84
+ 'last_action': :'lastAction',
85
+ 'available_actions': :'availableActions',
86
+ 'update_type': :'updateType',
87
+ 'lifecycle_details': :'lifecycleDetails',
88
+ 'lifecycle_state': :'lifecycleState',
89
+ 'time_released': :'timeReleased',
90
+ 'version': :'version'
91
+ # rubocop:enable Style/SymbolLiteral
92
+ }
93
+ end
94
+
95
+ # Attribute type mapping.
96
+ def self.swagger_types
97
+ {
98
+ # rubocop:disable Style/SymbolLiteral
99
+ 'id': :'String',
100
+ 'description': :'String',
101
+ 'last_action': :'String',
102
+ 'available_actions': :'Array<String>',
103
+ 'update_type': :'String',
104
+ 'lifecycle_details': :'String',
105
+ 'lifecycle_state': :'String',
106
+ 'time_released': :'DateTime',
107
+ 'version': :'String'
108
+ # rubocop:enable Style/SymbolLiteral
109
+ }
110
+ end
111
+
112
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
113
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
114
+
115
+
116
+ # Initializes the object
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @option attributes [String] :id The value to assign to the {#id} property
119
+ # @option attributes [String] :description The value to assign to the {#description} property
120
+ # @option attributes [String] :last_action The value to assign to the {#last_action} property
121
+ # @option attributes [Array<String>] :available_actions The value to assign to the {#available_actions} property
122
+ # @option attributes [String] :update_type The value to assign to the {#update_type} property
123
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
124
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
125
+ # @option attributes [DateTime] :time_released The value to assign to the {#time_released} property
126
+ # @option attributes [String] :version The value to assign to the {#version} property
127
+ def initialize(attributes = {})
128
+ return unless attributes.is_a?(Hash)
129
+
130
+ self.id = attributes[:'id'] if attributes[:'id']
131
+
132
+ self.description = attributes[:'description'] if attributes[:'description']
133
+
134
+ self.last_action = attributes[:'lastAction'] if attributes[:'lastAction']
135
+
136
+ raise 'You cannot provide both :lastAction and :last_action' if attributes.key?(:'lastAction') && attributes.key?(:'last_action')
137
+
138
+ self.last_action = attributes[:'last_action'] if attributes[:'last_action']
139
+
140
+ self.available_actions = attributes[:'availableActions'] if attributes[:'availableActions']
141
+
142
+ raise 'You cannot provide both :availableActions and :available_actions' if attributes.key?(:'availableActions') && attributes.key?(:'available_actions')
143
+
144
+ self.available_actions = attributes[:'available_actions'] if attributes[:'available_actions']
145
+
146
+ self.update_type = attributes[:'updateType'] if attributes[:'updateType']
147
+
148
+ raise 'You cannot provide both :updateType and :update_type' if attributes.key?(:'updateType') && attributes.key?(:'update_type')
149
+
150
+ self.update_type = attributes[:'update_type'] if attributes[:'update_type']
151
+
152
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
153
+
154
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
155
+
156
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
157
+
158
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
159
+
160
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
161
+
162
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
163
+
164
+ self.time_released = attributes[:'timeReleased'] if attributes[:'timeReleased']
165
+
166
+ raise 'You cannot provide both :timeReleased and :time_released' if attributes.key?(:'timeReleased') && attributes.key?(:'time_released')
167
+
168
+ self.time_released = attributes[:'time_released'] if attributes[:'time_released']
169
+
170
+ self.version = attributes[:'version'] if attributes[:'version']
171
+ end
172
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
173
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
174
+
175
+ # Custom attribute writer method checking allowed values (enum).
176
+ # @param [Object] last_action Object to be assigned
177
+ def last_action=(last_action)
178
+ # rubocop:disable Style/ConditionalAssignment
179
+ if last_action && !LAST_ACTION_ENUM.include?(last_action)
180
+ OCI.logger.debug("Unknown value for 'last_action' [" + last_action + "]. Mapping to 'LAST_ACTION_UNKNOWN_ENUM_VALUE'") if OCI.logger
181
+ @last_action = LAST_ACTION_UNKNOWN_ENUM_VALUE
182
+ else
183
+ @last_action = last_action
184
+ end
185
+ # rubocop:enable Style/ConditionalAssignment
186
+ end
187
+
188
+ # Custom attribute writer method checking allowed values (enum).
189
+ # @param [Object] available_actions Object to be assigned
190
+ def available_actions=(available_actions)
191
+ # rubocop:disable Style/ConditionalAssignment
192
+ if available_actions.nil?
193
+ @available_actions = nil
194
+ else
195
+ @available_actions =
196
+ available_actions.collect do |item|
197
+ if AVAILABLE_ACTIONS_ENUM.include?(item)
198
+ item
199
+ else
200
+ OCI.logger.debug("Unknown value for 'available_actions' [#{item}]. Mapping to 'AVAILABLE_ACTIONS_UNKNOWN_ENUM_VALUE'") if OCI.logger
201
+ AVAILABLE_ACTIONS_UNKNOWN_ENUM_VALUE
202
+ end
203
+ end
204
+ end
205
+ # rubocop:enable Style/ConditionalAssignment
206
+ end
207
+
208
+ # Custom attribute writer method checking allowed values (enum).
209
+ # @param [Object] update_type Object to be assigned
210
+ def update_type=(update_type)
211
+ # rubocop:disable Style/ConditionalAssignment
212
+ if update_type && !UPDATE_TYPE_ENUM.include?(update_type)
213
+ OCI.logger.debug("Unknown value for 'update_type' [" + update_type + "]. Mapping to 'UPDATE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
214
+ @update_type = UPDATE_TYPE_UNKNOWN_ENUM_VALUE
215
+ else
216
+ @update_type = update_type
217
+ end
218
+ # rubocop:enable Style/ConditionalAssignment
219
+ end
220
+
221
+ # Custom attribute writer method checking allowed values (enum).
222
+ # @param [Object] lifecycle_state Object to be assigned
223
+ def lifecycle_state=(lifecycle_state)
224
+ # rubocop:disable Style/ConditionalAssignment
225
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
226
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
227
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
228
+ else
229
+ @lifecycle_state = lifecycle_state
230
+ end
231
+ # rubocop:enable Style/ConditionalAssignment
232
+ end
233
+
234
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
235
+
236
+
237
+ # Checks equality by comparing each attribute.
238
+ # @param [Object] other the other object to be compared
239
+ def ==(other)
240
+ return true if equal?(other)
241
+
242
+ self.class == other.class &&
243
+ id == other.id &&
244
+ description == other.description &&
245
+ last_action == other.last_action &&
246
+ available_actions == other.available_actions &&
247
+ update_type == other.update_type &&
248
+ lifecycle_details == other.lifecycle_details &&
249
+ lifecycle_state == other.lifecycle_state &&
250
+ time_released == other.time_released &&
251
+ version == other.version
252
+ end
253
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
254
+
255
+ # @see the `==` method
256
+ # @param [Object] other the other object to be compared
257
+ def eql?(other)
258
+ self == other
259
+ end
260
+
261
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
262
+
263
+
264
+ # Calculates hash code according to all attributes.
265
+ # @return [Fixnum] Hash code
266
+ def hash
267
+ [id, description, last_action, available_actions, update_type, lifecycle_details, lifecycle_state, time_released, version].hash
268
+ end
269
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
270
+
271
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
272
+
273
+
274
+ # Builds the object from hash
275
+ # @param [Hash] attributes Model attributes in the form of hash
276
+ # @return [Object] Returns the model itself
277
+ def build_from_hash(attributes)
278
+ return nil unless attributes.is_a?(Hash)
279
+
280
+ self.class.swagger_types.each_pair do |key, type|
281
+ if type =~ /^Array<(.*)>/i
282
+ # check to ensure the input is an array given that the the attribute
283
+ # is documented as an array but the input is not
284
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
285
+ public_method("#{key}=").call(
286
+ attributes[self.class.attribute_map[key]]
287
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
288
+ )
289
+ end
290
+ elsif !attributes[self.class.attribute_map[key]].nil?
291
+ public_method("#{key}=").call(
292
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
293
+ )
294
+ end
295
+ # or else data not found in attributes(hash), not an issue as the data can be optional
296
+ end
297
+
298
+ self
299
+ end
300
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
301
+
302
+ # Returns the string representation of the object
303
+ # @return [String] String presentation of the object
304
+ def to_s
305
+ to_hash.to_s
306
+ end
307
+
308
+ # Returns the object in the form of hash
309
+ # @return [Hash] Returns the object in the form of hash
310
+ def to_hash
311
+ hash = {}
312
+ self.class.attribute_map.each_pair do |attr, param|
313
+ value = public_method(attr).call
314
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
315
+
316
+ hash[param] = _to_hash(value)
317
+ end
318
+ hash
319
+ end
320
+
321
+ private
322
+
323
+ # Outputs non-array value in the form of hash
324
+ # For object, use to_hash. Otherwise, just return the value
325
+ # @param [Object] value Any valid value
326
+ # @return [Hash] Returns the value in the form of hash
327
+ def _to_hash(value)
328
+ if value.is_a?(Array)
329
+ value.compact.map { |v| _to_hash(v) }
330
+ elsif value.is_a?(Hash)
331
+ {}.tap do |hash|
332
+ value.each { |k, v| hash[k] = _to_hash(v) }
333
+ end
334
+ elsif value.respond_to? :to_hash
335
+ value.to_hash
336
+ else
337
+ value
338
+ end
339
+ end
340
+ end
341
+ end
342
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,198 @@
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
+
7
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
8
+ module OCI
9
+ # Details specifying which maintenance update to apply to the BaseDB-C@C VM cluster and which action is to be performed by the maintenance update. Applies to Base Database Service on Cloud@Customer instances only.
10
+ #
11
+ class Database::Models::BaseccVmClusterUpdateDetails
12
+ UPDATE_ACTION_ENUM = [
13
+ UPDATE_ACTION_ROLLING_APPLY = 'ROLLING_APPLY'.freeze,
14
+ UPDATE_ACTION_PRECHECK = 'PRECHECK'.freeze,
15
+ UPDATE_ACTION_ROLLBACK = 'ROLLBACK'.freeze
16
+ ].freeze
17
+
18
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the maintenance update.
19
+ # @return [String]
20
+ attr_accessor :update_id
21
+
22
+ # The update action to perform.
23
+ # @return [String]
24
+ attr_reader :update_action
25
+
26
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of a grid infrastructure software image. This is a database software image of the type `GRID_IMAGE`.
27
+ # @return [String]
28
+ attr_accessor :gi_software_image_id
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ # rubocop:disable Style/SymbolLiteral
34
+ 'update_id': :'updateId',
35
+ 'update_action': :'updateAction',
36
+ 'gi_software_image_id': :'giSoftwareImageId'
37
+ # rubocop:enable Style/SymbolLiteral
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.swagger_types
43
+ {
44
+ # rubocop:disable Style/SymbolLiteral
45
+ 'update_id': :'String',
46
+ 'update_action': :'String',
47
+ 'gi_software_image_id': :'String'
48
+ # rubocop:enable Style/SymbolLiteral
49
+ }
50
+ end
51
+
52
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
53
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
54
+
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ # @option attributes [String] :update_id The value to assign to the {#update_id} property
59
+ # @option attributes [String] :update_action The value to assign to the {#update_action} property
60
+ # @option attributes [String] :gi_software_image_id The value to assign to the {#gi_software_image_id} property
61
+ def initialize(attributes = {})
62
+ return unless attributes.is_a?(Hash)
63
+
64
+ # convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
66
+
67
+ self.update_id = attributes[:'updateId'] if attributes[:'updateId']
68
+
69
+ raise 'You cannot provide both :updateId and :update_id' if attributes.key?(:'updateId') && attributes.key?(:'update_id')
70
+
71
+ self.update_id = attributes[:'update_id'] if attributes[:'update_id']
72
+
73
+ self.update_action = attributes[:'updateAction'] if attributes[:'updateAction']
74
+
75
+ raise 'You cannot provide both :updateAction and :update_action' if attributes.key?(:'updateAction') && attributes.key?(:'update_action')
76
+
77
+ self.update_action = attributes[:'update_action'] if attributes[:'update_action']
78
+
79
+ self.gi_software_image_id = attributes[:'giSoftwareImageId'] if attributes[:'giSoftwareImageId']
80
+
81
+ raise 'You cannot provide both :giSoftwareImageId and :gi_software_image_id' if attributes.key?(:'giSoftwareImageId') && attributes.key?(:'gi_software_image_id')
82
+
83
+ self.gi_software_image_id = attributes[:'gi_software_image_id'] if attributes[:'gi_software_image_id']
84
+ end
85
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
86
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
87
+
88
+ # Custom attribute writer method checking allowed values (enum).
89
+ # @param [Object] update_action Object to be assigned
90
+ def update_action=(update_action)
91
+ raise "Invalid value for 'update_action': this must be one of the values in UPDATE_ACTION_ENUM." if update_action && !UPDATE_ACTION_ENUM.include?(update_action)
92
+
93
+ @update_action = update_action
94
+ end
95
+
96
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
97
+
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] other the other object to be compared
101
+ def ==(other)
102
+ return true if equal?(other)
103
+
104
+ self.class == other.class &&
105
+ update_id == other.update_id &&
106
+ update_action == other.update_action &&
107
+ gi_software_image_id == other.gi_software_image_id
108
+ end
109
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
110
+
111
+ # @see the `==` method
112
+ # @param [Object] other the other object to be compared
113
+ def eql?(other)
114
+ self == other
115
+ end
116
+
117
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
118
+
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Fixnum] Hash code
122
+ def hash
123
+ [update_id, update_action, gi_software_image_id].hash
124
+ end
125
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
126
+
127
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
128
+
129
+
130
+ # Builds the object from hash
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ # @return [Object] Returns the model itself
133
+ def build_from_hash(attributes)
134
+ return nil unless attributes.is_a?(Hash)
135
+
136
+ self.class.swagger_types.each_pair do |key, type|
137
+ if type =~ /^Array<(.*)>/i
138
+ # check to ensure the input is an array given that the the attribute
139
+ # is documented as an array but the input is not
140
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
141
+ public_method("#{key}=").call(
142
+ attributes[self.class.attribute_map[key]]
143
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
144
+ )
145
+ end
146
+ elsif !attributes[self.class.attribute_map[key]].nil?
147
+ public_method("#{key}=").call(
148
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
149
+ )
150
+ end
151
+ # or else data not found in attributes(hash), not an issue as the data can be optional
152
+ end
153
+
154
+ self
155
+ end
156
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
157
+
158
+ # Returns the string representation of the object
159
+ # @return [String] String presentation of the object
160
+ def to_s
161
+ to_hash.to_s
162
+ end
163
+
164
+ # Returns the object in the form of hash
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_hash
167
+ hash = {}
168
+ self.class.attribute_map.each_pair do |attr, param|
169
+ value = public_method(attr).call
170
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
171
+
172
+ hash[param] = _to_hash(value)
173
+ end
174
+ hash
175
+ end
176
+
177
+ private
178
+
179
+ # Outputs non-array value in the form of hash
180
+ # For object, use to_hash. Otherwise, just return the value
181
+ # @param [Object] value Any valid value
182
+ # @return [Hash] Returns the value in the form of hash
183
+ def _to_hash(value)
184
+ if value.is_a?(Array)
185
+ value.compact.map { |v| _to_hash(v) }
186
+ elsif value.is_a?(Hash)
187
+ {}.tap do |hash|
188
+ value.each { |k, v| hash[k] = _to_hash(v) }
189
+ end
190
+ elsif value.respond_to? :to_hash
191
+ value.to_hash
192
+ else
193
+ value
194
+ end
195
+ end
196
+ end
197
+ end
198
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength