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,716 @@
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
+ # Details of the Base Cloud@Customer VM Cluster.
11
+ #
12
+ class Database::Models::BaseccVmClusterSummary
13
+ LIFECYCLE_STATE_ENUM = [
14
+ LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING'.freeze,
15
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE'.freeze,
16
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
17
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING'.freeze,
18
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED'.freeze,
19
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
20
+ LIFECYCLE_STATE_MAINTENANCE_IN_PROGRESS = 'MAINTENANCE_IN_PROGRESS'.freeze,
21
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
22
+ ].freeze
23
+
24
+ DATABASE_EDITION_ENUM = [
25
+ DATABASE_EDITION_STANDARD_EDITION = 'STANDARD_EDITION'.freeze,
26
+ DATABASE_EDITION_ENTERPRISE_EDITION = 'ENTERPRISE_EDITION'.freeze,
27
+ DATABASE_EDITION_ENTERPRISE_EDITION_HIGH_PERFORMANCE = 'ENTERPRISE_EDITION_HIGH_PERFORMANCE'.freeze,
28
+ DATABASE_EDITION_ENTERPRISE_EDITION_EXTREME_PERFORMANCE = 'ENTERPRISE_EDITION_EXTREME_PERFORMANCE'.freeze,
29
+ DATABASE_EDITION_ENTERPRISE_EDITION_DEVELOPER = 'ENTERPRISE_EDITION_DEVELOPER'.freeze,
30
+ DATABASE_EDITION_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
31
+ ].freeze
32
+
33
+ LICENSE_MODEL_ENUM = [
34
+ LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
35
+ LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze,
36
+ LICENSE_MODEL_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
37
+ ].freeze
38
+
39
+ VM_CLUSTER_TYPE_ENUM = [
40
+ VM_CLUSTER_TYPE_REGULAR = 'REGULAR'.freeze,
41
+ VM_CLUSTER_TYPE_DEVELOPER = 'DEVELOPER'.freeze,
42
+ VM_CLUSTER_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
43
+ ].freeze
44
+
45
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
46
+ # @return [String]
47
+ attr_accessor :id
48
+
49
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the last patch history. This value is updated as soon as a patch operation starts.
50
+ # @return [String]
51
+ attr_accessor :last_patch_history_entry_id
52
+
53
+ # **[Required]** The current state of the VM Cluster.
54
+ # @return [String]
55
+ attr_reader :lifecycle_state
56
+
57
+ # **[Required]** The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster was created.
58
+ # @return [DateTime]
59
+ attr_accessor :time_created
60
+
61
+ # The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster was updated.
62
+ # @return [DateTime]
63
+ attr_accessor :time_updated
64
+
65
+ # Additional information about the current lifecycle state of the the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
66
+ # @return [String]
67
+ attr_accessor :lifecycle_details
68
+
69
+ # **[Required]** The name of the availability domain in which the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster is located.
70
+ #
71
+ # @return [String]
72
+ attr_accessor :availability_domain
73
+
74
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment.
75
+ # @return [String]
76
+ attr_accessor :compartment_id
77
+
78
+ # The Oracle Database Edition that applies to all the databases on the DB system.
79
+ # Exadata DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE.
80
+ #
81
+ # @return [String]
82
+ attr_reader :database_edition
83
+
84
+ # The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
85
+ # @return [Integer]
86
+ attr_accessor :node_count
87
+
88
+ # List of Base server OCIDs.
89
+ # @return [Array<String>]
90
+ attr_accessor :db_servers
91
+
92
+ # **[Required]** Total CPU cores for the BaseDB C@C VM cluster.
93
+ # @return [Integer]
94
+ attr_accessor :cpus_enabled
95
+
96
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of Oracle Data Cloud@Customer Infrastructure.
97
+ # @return [String]
98
+ attr_accessor :base_infrastructure_id
99
+
100
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of BaseDB-C@C VM Cluster Network.
101
+ # @return [String]
102
+ attr_accessor :base_vm_cluster_network_id
103
+
104
+ # **[Required]** A valid Oracle Grid Infrastructure (GI) software version.
105
+ # @return [String]
106
+ attr_accessor :gi_version
107
+
108
+ # @return [OCI::Database::Models::DataCollectionOptions]
109
+ attr_accessor :data_collection_options
110
+
111
+ # The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
112
+ # @return [String]
113
+ attr_accessor :description
114
+
115
+ # **[Required]** The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. The name does not need to be unique.
116
+ # @return [String]
117
+ attr_accessor :display_name
118
+
119
+ # **[Required]** The public key portion of one or more key pairs used for SSH access to the VMs of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
120
+ # @return [Array<String>]
121
+ attr_accessor :ssh_public_keys
122
+
123
+ # The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. For details, see [Time Zones](https://docs.cloud.oracle.com/Content/Database/References/timezones.htm).
124
+ #
125
+ # @return [String]
126
+ attr_accessor :time_zone
127
+
128
+ # The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
129
+ #
130
+ # @return [String]
131
+ attr_accessor :cluster_name
132
+
133
+ # Total boot partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
134
+ #
135
+ # @return [Integer]
136
+ attr_accessor :boot_storage_size_in_gbs
137
+
138
+ # Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
139
+ #
140
+ # @return [Integer]
141
+ attr_accessor :additional_vm_storage_size_in_gbs
142
+
143
+ # The total storage allocated in GBs.
144
+ # @return [Integer]
145
+ attr_accessor :total_storage_size_in_gbs
146
+
147
+ # The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
148
+ #
149
+ # @return [Integer]
150
+ attr_accessor :data_storage_size_in_gbs
151
+
152
+ # The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
153
+ #
154
+ # @return [Integer]
155
+ attr_accessor :reco_storage_size_in_gbs
156
+
157
+ # The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU.
158
+ #
159
+ # @return [Integer]
160
+ attr_accessor :memory_size_in_gbs
161
+
162
+ # The Oracle license model that applies to the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED.
163
+ #
164
+ # @return [String]
165
+ attr_reader :license_model
166
+
167
+ # **[Required]** Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
168
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
169
+ #
170
+ # Example: `{\"Department\": \"Finance\"}`
171
+ #
172
+ # @return [Hash<String, String>]
173
+ attr_accessor :freeform_tags
174
+
175
+ # **[Required]** Defined tags for this resource. Each key is predefined and scoped to a namespace.
176
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
177
+ #
178
+ # @return [Hash<String, Hash<String, Object>>]
179
+ attr_accessor :defined_tags
180
+
181
+ # **[Required]** System tags for this resource. Each key is predefined and scoped to a namespace.
182
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
183
+ #
184
+ # @return [Hash<String, Hash<String, Object>>]
185
+ attr_accessor :system_tags
186
+
187
+ # Operating system version of the image.
188
+ # @return [String]
189
+ attr_accessor :system_version
190
+
191
+ # The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
192
+ # @return [String]
193
+ attr_reader :vm_cluster_type
194
+
195
+ # @return [OCI::Database::Models::CloudAutomationUpdateDetails]
196
+ attr_accessor :cloud_automation_update_details
197
+
198
+ # Attribute mapping from ruby-style variable name to JSON key.
199
+ def self.attribute_map
200
+ {
201
+ # rubocop:disable Style/SymbolLiteral
202
+ 'id': :'id',
203
+ 'last_patch_history_entry_id': :'lastPatchHistoryEntryId',
204
+ 'lifecycle_state': :'lifecycleState',
205
+ 'time_created': :'timeCreated',
206
+ 'time_updated': :'timeUpdated',
207
+ 'lifecycle_details': :'lifecycleDetails',
208
+ 'availability_domain': :'availabilityDomain',
209
+ 'compartment_id': :'compartmentId',
210
+ 'database_edition': :'databaseEdition',
211
+ 'node_count': :'nodeCount',
212
+ 'db_servers': :'dbServers',
213
+ 'cpus_enabled': :'cpusEnabled',
214
+ 'base_infrastructure_id': :'baseInfrastructureId',
215
+ 'base_vm_cluster_network_id': :'baseVmClusterNetworkId',
216
+ 'gi_version': :'giVersion',
217
+ 'data_collection_options': :'dataCollectionOptions',
218
+ 'description': :'description',
219
+ 'display_name': :'displayName',
220
+ 'ssh_public_keys': :'sshPublicKeys',
221
+ 'time_zone': :'timeZone',
222
+ 'cluster_name': :'clusterName',
223
+ 'boot_storage_size_in_gbs': :'bootStorageSizeInGBs',
224
+ 'additional_vm_storage_size_in_gbs': :'additionalVmStorageSizeInGBs',
225
+ 'total_storage_size_in_gbs': :'totalStorageSizeInGBs',
226
+ 'data_storage_size_in_gbs': :'dataStorageSizeInGBs',
227
+ 'reco_storage_size_in_gbs': :'recoStorageSizeInGBs',
228
+ 'memory_size_in_gbs': :'memorySizeInGBs',
229
+ 'license_model': :'licenseModel',
230
+ 'freeform_tags': :'freeformTags',
231
+ 'defined_tags': :'definedTags',
232
+ 'system_tags': :'systemTags',
233
+ 'system_version': :'systemVersion',
234
+ 'vm_cluster_type': :'vmClusterType',
235
+ 'cloud_automation_update_details': :'cloudAutomationUpdateDetails'
236
+ # rubocop:enable Style/SymbolLiteral
237
+ }
238
+ end
239
+
240
+ # Attribute type mapping.
241
+ def self.swagger_types
242
+ {
243
+ # rubocop:disable Style/SymbolLiteral
244
+ 'id': :'String',
245
+ 'last_patch_history_entry_id': :'String',
246
+ 'lifecycle_state': :'String',
247
+ 'time_created': :'DateTime',
248
+ 'time_updated': :'DateTime',
249
+ 'lifecycle_details': :'String',
250
+ 'availability_domain': :'String',
251
+ 'compartment_id': :'String',
252
+ 'database_edition': :'String',
253
+ 'node_count': :'Integer',
254
+ 'db_servers': :'Array<String>',
255
+ 'cpus_enabled': :'Integer',
256
+ 'base_infrastructure_id': :'String',
257
+ 'base_vm_cluster_network_id': :'String',
258
+ 'gi_version': :'String',
259
+ 'data_collection_options': :'OCI::Database::Models::DataCollectionOptions',
260
+ 'description': :'String',
261
+ 'display_name': :'String',
262
+ 'ssh_public_keys': :'Array<String>',
263
+ 'time_zone': :'String',
264
+ 'cluster_name': :'String',
265
+ 'boot_storage_size_in_gbs': :'Integer',
266
+ 'additional_vm_storage_size_in_gbs': :'Integer',
267
+ 'total_storage_size_in_gbs': :'Integer',
268
+ 'data_storage_size_in_gbs': :'Integer',
269
+ 'reco_storage_size_in_gbs': :'Integer',
270
+ 'memory_size_in_gbs': :'Integer',
271
+ 'license_model': :'String',
272
+ 'freeform_tags': :'Hash<String, String>',
273
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
274
+ 'system_tags': :'Hash<String, Hash<String, Object>>',
275
+ 'system_version': :'String',
276
+ 'vm_cluster_type': :'String',
277
+ 'cloud_automation_update_details': :'OCI::Database::Models::CloudAutomationUpdateDetails'
278
+ # rubocop:enable Style/SymbolLiteral
279
+ }
280
+ end
281
+
282
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
283
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
284
+
285
+
286
+ # Initializes the object
287
+ # @param [Hash] attributes Model attributes in the form of hash
288
+ # @option attributes [String] :id The value to assign to the {#id} property
289
+ # @option attributes [String] :last_patch_history_entry_id The value to assign to the {#last_patch_history_entry_id} property
290
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
291
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
292
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
293
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
294
+ # @option attributes [String] :availability_domain The value to assign to the {#availability_domain} property
295
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
296
+ # @option attributes [String] :database_edition The value to assign to the {#database_edition} property
297
+ # @option attributes [Integer] :node_count The value to assign to the {#node_count} property
298
+ # @option attributes [Array<String>] :db_servers The value to assign to the {#db_servers} property
299
+ # @option attributes [Integer] :cpus_enabled The value to assign to the {#cpus_enabled} property
300
+ # @option attributes [String] :base_infrastructure_id The value to assign to the {#base_infrastructure_id} property
301
+ # @option attributes [String] :base_vm_cluster_network_id The value to assign to the {#base_vm_cluster_network_id} property
302
+ # @option attributes [String] :gi_version The value to assign to the {#gi_version} property
303
+ # @option attributes [OCI::Database::Models::DataCollectionOptions] :data_collection_options The value to assign to the {#data_collection_options} property
304
+ # @option attributes [String] :description The value to assign to the {#description} property
305
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
306
+ # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
307
+ # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
308
+ # @option attributes [String] :cluster_name The value to assign to the {#cluster_name} property
309
+ # @option attributes [Integer] :boot_storage_size_in_gbs The value to assign to the {#boot_storage_size_in_gbs} property
310
+ # @option attributes [Integer] :additional_vm_storage_size_in_gbs The value to assign to the {#additional_vm_storage_size_in_gbs} property
311
+ # @option attributes [Integer] :total_storage_size_in_gbs The value to assign to the {#total_storage_size_in_gbs} property
312
+ # @option attributes [Integer] :data_storage_size_in_gbs The value to assign to the {#data_storage_size_in_gbs} property
313
+ # @option attributes [Integer] :reco_storage_size_in_gbs The value to assign to the {#reco_storage_size_in_gbs} property
314
+ # @option attributes [Integer] :memory_size_in_gbs The value to assign to the {#memory_size_in_gbs} property
315
+ # @option attributes [String] :license_model The value to assign to the {#license_model} property
316
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
317
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
318
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {#system_tags} property
319
+ # @option attributes [String] :system_version The value to assign to the {#system_version} property
320
+ # @option attributes [String] :vm_cluster_type The value to assign to the {#vm_cluster_type} property
321
+ # @option attributes [OCI::Database::Models::CloudAutomationUpdateDetails] :cloud_automation_update_details The value to assign to the {#cloud_automation_update_details} property
322
+ def initialize(attributes = {})
323
+ return unless attributes.is_a?(Hash)
324
+
325
+ # convert string to symbol for hash key
326
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
327
+
328
+ self.id = attributes[:'id'] if attributes[:'id']
329
+
330
+ self.last_patch_history_entry_id = attributes[:'lastPatchHistoryEntryId'] if attributes[:'lastPatchHistoryEntryId']
331
+
332
+ raise 'You cannot provide both :lastPatchHistoryEntryId and :last_patch_history_entry_id' if attributes.key?(:'lastPatchHistoryEntryId') && attributes.key?(:'last_patch_history_entry_id')
333
+
334
+ self.last_patch_history_entry_id = attributes[:'last_patch_history_entry_id'] if attributes[:'last_patch_history_entry_id']
335
+
336
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
337
+
338
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
339
+
340
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
341
+
342
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
343
+
344
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
345
+
346
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
347
+
348
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
349
+
350
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
351
+
352
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
353
+
354
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
355
+
356
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
357
+
358
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
359
+
360
+ self.availability_domain = attributes[:'availabilityDomain'] if attributes[:'availabilityDomain']
361
+
362
+ raise 'You cannot provide both :availabilityDomain and :availability_domain' if attributes.key?(:'availabilityDomain') && attributes.key?(:'availability_domain')
363
+
364
+ self.availability_domain = attributes[:'availability_domain'] if attributes[:'availability_domain']
365
+
366
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
367
+
368
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
369
+
370
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
371
+
372
+ self.database_edition = attributes[:'databaseEdition'] if attributes[:'databaseEdition']
373
+
374
+ raise 'You cannot provide both :databaseEdition and :database_edition' if attributes.key?(:'databaseEdition') && attributes.key?(:'database_edition')
375
+
376
+ self.database_edition = attributes[:'database_edition'] if attributes[:'database_edition']
377
+
378
+ self.node_count = attributes[:'nodeCount'] if attributes[:'nodeCount']
379
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') # rubocop:disable Style/StringLiterals
380
+
381
+ raise 'You cannot provide both :nodeCount and :node_count' if attributes.key?(:'nodeCount') && attributes.key?(:'node_count')
382
+
383
+ self.node_count = attributes[:'node_count'] if attributes[:'node_count']
384
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') && !attributes.key?(:'node_count') # rubocop:disable Style/StringLiterals
385
+
386
+ self.db_servers = attributes[:'dbServers'] if attributes[:'dbServers']
387
+
388
+ raise 'You cannot provide both :dbServers and :db_servers' if attributes.key?(:'dbServers') && attributes.key?(:'db_servers')
389
+
390
+ self.db_servers = attributes[:'db_servers'] if attributes[:'db_servers']
391
+
392
+ self.cpus_enabled = attributes[:'cpusEnabled'] if attributes[:'cpusEnabled']
393
+
394
+ raise 'You cannot provide both :cpusEnabled and :cpus_enabled' if attributes.key?(:'cpusEnabled') && attributes.key?(:'cpus_enabled')
395
+
396
+ self.cpus_enabled = attributes[:'cpus_enabled'] if attributes[:'cpus_enabled']
397
+
398
+ self.base_infrastructure_id = attributes[:'baseInfrastructureId'] if attributes[:'baseInfrastructureId']
399
+
400
+ raise 'You cannot provide both :baseInfrastructureId and :base_infrastructure_id' if attributes.key?(:'baseInfrastructureId') && attributes.key?(:'base_infrastructure_id')
401
+
402
+ self.base_infrastructure_id = attributes[:'base_infrastructure_id'] if attributes[:'base_infrastructure_id']
403
+
404
+ self.base_vm_cluster_network_id = attributes[:'baseVmClusterNetworkId'] if attributes[:'baseVmClusterNetworkId']
405
+
406
+ raise 'You cannot provide both :baseVmClusterNetworkId and :base_vm_cluster_network_id' if attributes.key?(:'baseVmClusterNetworkId') && attributes.key?(:'base_vm_cluster_network_id')
407
+
408
+ self.base_vm_cluster_network_id = attributes[:'base_vm_cluster_network_id'] if attributes[:'base_vm_cluster_network_id']
409
+
410
+ self.gi_version = attributes[:'giVersion'] if attributes[:'giVersion']
411
+
412
+ raise 'You cannot provide both :giVersion and :gi_version' if attributes.key?(:'giVersion') && attributes.key?(:'gi_version')
413
+
414
+ self.gi_version = attributes[:'gi_version'] if attributes[:'gi_version']
415
+
416
+ self.data_collection_options = attributes[:'dataCollectionOptions'] if attributes[:'dataCollectionOptions']
417
+
418
+ raise 'You cannot provide both :dataCollectionOptions and :data_collection_options' if attributes.key?(:'dataCollectionOptions') && attributes.key?(:'data_collection_options')
419
+
420
+ self.data_collection_options = attributes[:'data_collection_options'] if attributes[:'data_collection_options']
421
+
422
+ self.description = attributes[:'description'] if attributes[:'description']
423
+
424
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
425
+
426
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
427
+
428
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
429
+
430
+ self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
431
+
432
+ raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
433
+
434
+ self.ssh_public_keys = attributes[:'ssh_public_keys'] if attributes[:'ssh_public_keys']
435
+
436
+ self.time_zone = attributes[:'timeZone'] if attributes[:'timeZone']
437
+
438
+ raise 'You cannot provide both :timeZone and :time_zone' if attributes.key?(:'timeZone') && attributes.key?(:'time_zone')
439
+
440
+ self.time_zone = attributes[:'time_zone'] if attributes[:'time_zone']
441
+
442
+ self.cluster_name = attributes[:'clusterName'] if attributes[:'clusterName']
443
+
444
+ raise 'You cannot provide both :clusterName and :cluster_name' if attributes.key?(:'clusterName') && attributes.key?(:'cluster_name')
445
+
446
+ self.cluster_name = attributes[:'cluster_name'] if attributes[:'cluster_name']
447
+
448
+ self.boot_storage_size_in_gbs = attributes[:'bootStorageSizeInGBs'] if attributes[:'bootStorageSizeInGBs']
449
+
450
+ raise 'You cannot provide both :bootStorageSizeInGBs and :boot_storage_size_in_gbs' if attributes.key?(:'bootStorageSizeInGBs') && attributes.key?(:'boot_storage_size_in_gbs')
451
+
452
+ self.boot_storage_size_in_gbs = attributes[:'boot_storage_size_in_gbs'] if attributes[:'boot_storage_size_in_gbs']
453
+
454
+ self.additional_vm_storage_size_in_gbs = attributes[:'additionalVmStorageSizeInGBs'] if attributes[:'additionalVmStorageSizeInGBs']
455
+
456
+ raise 'You cannot provide both :additionalVmStorageSizeInGBs and :additional_vm_storage_size_in_gbs' if attributes.key?(:'additionalVmStorageSizeInGBs') && attributes.key?(:'additional_vm_storage_size_in_gbs')
457
+
458
+ self.additional_vm_storage_size_in_gbs = attributes[:'additional_vm_storage_size_in_gbs'] if attributes[:'additional_vm_storage_size_in_gbs']
459
+
460
+ self.total_storage_size_in_gbs = attributes[:'totalStorageSizeInGBs'] if attributes[:'totalStorageSizeInGBs']
461
+
462
+ raise 'You cannot provide both :totalStorageSizeInGBs and :total_storage_size_in_gbs' if attributes.key?(:'totalStorageSizeInGBs') && attributes.key?(:'total_storage_size_in_gbs')
463
+
464
+ self.total_storage_size_in_gbs = attributes[:'total_storage_size_in_gbs'] if attributes[:'total_storage_size_in_gbs']
465
+
466
+ self.data_storage_size_in_gbs = attributes[:'dataStorageSizeInGBs'] if attributes[:'dataStorageSizeInGBs']
467
+
468
+ raise 'You cannot provide both :dataStorageSizeInGBs and :data_storage_size_in_gbs' if attributes.key?(:'dataStorageSizeInGBs') && attributes.key?(:'data_storage_size_in_gbs')
469
+
470
+ self.data_storage_size_in_gbs = attributes[:'data_storage_size_in_gbs'] if attributes[:'data_storage_size_in_gbs']
471
+
472
+ self.reco_storage_size_in_gbs = attributes[:'recoStorageSizeInGBs'] if attributes[:'recoStorageSizeInGBs']
473
+
474
+ raise 'You cannot provide both :recoStorageSizeInGBs and :reco_storage_size_in_gbs' if attributes.key?(:'recoStorageSizeInGBs') && attributes.key?(:'reco_storage_size_in_gbs')
475
+
476
+ self.reco_storage_size_in_gbs = attributes[:'reco_storage_size_in_gbs'] if attributes[:'reco_storage_size_in_gbs']
477
+
478
+ self.memory_size_in_gbs = attributes[:'memorySizeInGBs'] if attributes[:'memorySizeInGBs']
479
+
480
+ raise 'You cannot provide both :memorySizeInGBs and :memory_size_in_gbs' if attributes.key?(:'memorySizeInGBs') && attributes.key?(:'memory_size_in_gbs')
481
+
482
+ self.memory_size_in_gbs = attributes[:'memory_size_in_gbs'] if attributes[:'memory_size_in_gbs']
483
+
484
+ self.license_model = attributes[:'licenseModel'] if attributes[:'licenseModel']
485
+
486
+ raise 'You cannot provide both :licenseModel and :license_model' if attributes.key?(:'licenseModel') && attributes.key?(:'license_model')
487
+
488
+ self.license_model = attributes[:'license_model'] if attributes[:'license_model']
489
+
490
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
491
+
492
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
493
+
494
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
495
+
496
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
497
+
498
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
499
+
500
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
501
+
502
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
503
+
504
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
505
+
506
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
507
+
508
+ self.system_version = attributes[:'systemVersion'] if attributes[:'systemVersion']
509
+
510
+ raise 'You cannot provide both :systemVersion and :system_version' if attributes.key?(:'systemVersion') && attributes.key?(:'system_version')
511
+
512
+ self.system_version = attributes[:'system_version'] if attributes[:'system_version']
513
+
514
+ self.vm_cluster_type = attributes[:'vmClusterType'] if attributes[:'vmClusterType']
515
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') # rubocop:disable Style/StringLiterals
516
+
517
+ raise 'You cannot provide both :vmClusterType and :vm_cluster_type' if attributes.key?(:'vmClusterType') && attributes.key?(:'vm_cluster_type')
518
+
519
+ self.vm_cluster_type = attributes[:'vm_cluster_type'] if attributes[:'vm_cluster_type']
520
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') && !attributes.key?(:'vm_cluster_type') # rubocop:disable Style/StringLiterals
521
+
522
+ self.cloud_automation_update_details = attributes[:'cloudAutomationUpdateDetails'] if attributes[:'cloudAutomationUpdateDetails']
523
+
524
+ raise 'You cannot provide both :cloudAutomationUpdateDetails and :cloud_automation_update_details' if attributes.key?(:'cloudAutomationUpdateDetails') && attributes.key?(:'cloud_automation_update_details')
525
+
526
+ self.cloud_automation_update_details = attributes[:'cloud_automation_update_details'] if attributes[:'cloud_automation_update_details']
527
+ end
528
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
529
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
530
+
531
+ # Custom attribute writer method checking allowed values (enum).
532
+ # @param [Object] lifecycle_state Object to be assigned
533
+ def lifecycle_state=(lifecycle_state)
534
+ # rubocop:disable Style/ConditionalAssignment
535
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
536
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
537
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
538
+ else
539
+ @lifecycle_state = lifecycle_state
540
+ end
541
+ # rubocop:enable Style/ConditionalAssignment
542
+ end
543
+
544
+ # Custom attribute writer method checking allowed values (enum).
545
+ # @param [Object] database_edition Object to be assigned
546
+ def database_edition=(database_edition)
547
+ # rubocop:disable Style/ConditionalAssignment
548
+ if database_edition && !DATABASE_EDITION_ENUM.include?(database_edition)
549
+ OCI.logger.debug("Unknown value for 'database_edition' [" + database_edition + "]. Mapping to 'DATABASE_EDITION_UNKNOWN_ENUM_VALUE'") if OCI.logger
550
+ @database_edition = DATABASE_EDITION_UNKNOWN_ENUM_VALUE
551
+ else
552
+ @database_edition = database_edition
553
+ end
554
+ # rubocop:enable Style/ConditionalAssignment
555
+ end
556
+
557
+ # Custom attribute writer method checking allowed values (enum).
558
+ # @param [Object] license_model Object to be assigned
559
+ def license_model=(license_model)
560
+ # rubocop:disable Style/ConditionalAssignment
561
+ if license_model && !LICENSE_MODEL_ENUM.include?(license_model)
562
+ OCI.logger.debug("Unknown value for 'license_model' [" + license_model + "]. Mapping to 'LICENSE_MODEL_UNKNOWN_ENUM_VALUE'") if OCI.logger
563
+ @license_model = LICENSE_MODEL_UNKNOWN_ENUM_VALUE
564
+ else
565
+ @license_model = license_model
566
+ end
567
+ # rubocop:enable Style/ConditionalAssignment
568
+ end
569
+
570
+ # Custom attribute writer method checking allowed values (enum).
571
+ # @param [Object] vm_cluster_type Object to be assigned
572
+ def vm_cluster_type=(vm_cluster_type)
573
+ # rubocop:disable Style/ConditionalAssignment
574
+ if vm_cluster_type && !VM_CLUSTER_TYPE_ENUM.include?(vm_cluster_type)
575
+ OCI.logger.debug("Unknown value for 'vm_cluster_type' [" + vm_cluster_type + "]. Mapping to 'VM_CLUSTER_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
576
+ @vm_cluster_type = VM_CLUSTER_TYPE_UNKNOWN_ENUM_VALUE
577
+ else
578
+ @vm_cluster_type = vm_cluster_type
579
+ end
580
+ # rubocop:enable Style/ConditionalAssignment
581
+ end
582
+
583
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
584
+
585
+
586
+ # Checks equality by comparing each attribute.
587
+ # @param [Object] other the other object to be compared
588
+ def ==(other)
589
+ return true if equal?(other)
590
+
591
+ self.class == other.class &&
592
+ id == other.id &&
593
+ last_patch_history_entry_id == other.last_patch_history_entry_id &&
594
+ lifecycle_state == other.lifecycle_state &&
595
+ time_created == other.time_created &&
596
+ time_updated == other.time_updated &&
597
+ lifecycle_details == other.lifecycle_details &&
598
+ availability_domain == other.availability_domain &&
599
+ compartment_id == other.compartment_id &&
600
+ database_edition == other.database_edition &&
601
+ node_count == other.node_count &&
602
+ db_servers == other.db_servers &&
603
+ cpus_enabled == other.cpus_enabled &&
604
+ base_infrastructure_id == other.base_infrastructure_id &&
605
+ base_vm_cluster_network_id == other.base_vm_cluster_network_id &&
606
+ gi_version == other.gi_version &&
607
+ data_collection_options == other.data_collection_options &&
608
+ description == other.description &&
609
+ display_name == other.display_name &&
610
+ ssh_public_keys == other.ssh_public_keys &&
611
+ time_zone == other.time_zone &&
612
+ cluster_name == other.cluster_name &&
613
+ boot_storage_size_in_gbs == other.boot_storage_size_in_gbs &&
614
+ additional_vm_storage_size_in_gbs == other.additional_vm_storage_size_in_gbs &&
615
+ total_storage_size_in_gbs == other.total_storage_size_in_gbs &&
616
+ data_storage_size_in_gbs == other.data_storage_size_in_gbs &&
617
+ reco_storage_size_in_gbs == other.reco_storage_size_in_gbs &&
618
+ memory_size_in_gbs == other.memory_size_in_gbs &&
619
+ license_model == other.license_model &&
620
+ freeform_tags == other.freeform_tags &&
621
+ defined_tags == other.defined_tags &&
622
+ system_tags == other.system_tags &&
623
+ system_version == other.system_version &&
624
+ vm_cluster_type == other.vm_cluster_type &&
625
+ cloud_automation_update_details == other.cloud_automation_update_details
626
+ end
627
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
628
+
629
+ # @see the `==` method
630
+ # @param [Object] other the other object to be compared
631
+ def eql?(other)
632
+ self == other
633
+ end
634
+
635
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
636
+
637
+
638
+ # Calculates hash code according to all attributes.
639
+ # @return [Fixnum] Hash code
640
+ def hash
641
+ [id, last_patch_history_entry_id, lifecycle_state, time_created, time_updated, lifecycle_details, availability_domain, compartment_id, database_edition, node_count, db_servers, cpus_enabled, base_infrastructure_id, base_vm_cluster_network_id, gi_version, data_collection_options, description, display_name, ssh_public_keys, time_zone, cluster_name, boot_storage_size_in_gbs, additional_vm_storage_size_in_gbs, total_storage_size_in_gbs, data_storage_size_in_gbs, reco_storage_size_in_gbs, memory_size_in_gbs, license_model, freeform_tags, defined_tags, system_tags, system_version, vm_cluster_type, cloud_automation_update_details].hash
642
+ end
643
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
644
+
645
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
646
+
647
+
648
+ # Builds the object from hash
649
+ # @param [Hash] attributes Model attributes in the form of hash
650
+ # @return [Object] Returns the model itself
651
+ def build_from_hash(attributes)
652
+ return nil unless attributes.is_a?(Hash)
653
+
654
+ self.class.swagger_types.each_pair do |key, type|
655
+ if type =~ /^Array<(.*)>/i
656
+ # check to ensure the input is an array given that the the attribute
657
+ # is documented as an array but the input is not
658
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
659
+ public_method("#{key}=").call(
660
+ attributes[self.class.attribute_map[key]]
661
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
662
+ )
663
+ end
664
+ elsif !attributes[self.class.attribute_map[key]].nil?
665
+ public_method("#{key}=").call(
666
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
667
+ )
668
+ end
669
+ # or else data not found in attributes(hash), not an issue as the data can be optional
670
+ end
671
+
672
+ self
673
+ end
674
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
675
+
676
+ # Returns the string representation of the object
677
+ # @return [String] String presentation of the object
678
+ def to_s
679
+ to_hash.to_s
680
+ end
681
+
682
+ # Returns the object in the form of hash
683
+ # @return [Hash] Returns the object in the form of hash
684
+ def to_hash
685
+ hash = {}
686
+ self.class.attribute_map.each_pair do |attr, param|
687
+ value = public_method(attr).call
688
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
689
+
690
+ hash[param] = _to_hash(value)
691
+ end
692
+ hash
693
+ end
694
+
695
+ private
696
+
697
+ # Outputs non-array value in the form of hash
698
+ # For object, use to_hash. Otherwise, just return the value
699
+ # @param [Object] value Any valid value
700
+ # @return [Hash] Returns the value in the form of hash
701
+ def _to_hash(value)
702
+ if value.is_a?(Array)
703
+ value.compact.map { |v| _to_hash(v) }
704
+ elsif value.is_a?(Hash)
705
+ {}.tap do |hash|
706
+ value.each { |k, v| hash[k] = _to_hash(v) }
707
+ end
708
+ elsif value.respond_to? :to_hash
709
+ value.to_hash
710
+ else
711
+ value
712
+ end
713
+ end
714
+ end
715
+ end
716
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength