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,713 @@
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 BaseDB-C@C VM cluster resource. Applies to Base Database Service on Cloud@Customer instances only.
11
+ #
12
+ class Database::Models::BaseccVmCluster
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
+ self.id = attributes[:'id'] if attributes[:'id']
326
+
327
+ self.last_patch_history_entry_id = attributes[:'lastPatchHistoryEntryId'] if attributes[:'lastPatchHistoryEntryId']
328
+
329
+ raise 'You cannot provide both :lastPatchHistoryEntryId and :last_patch_history_entry_id' if attributes.key?(:'lastPatchHistoryEntryId') && attributes.key?(:'last_patch_history_entry_id')
330
+
331
+ self.last_patch_history_entry_id = attributes[:'last_patch_history_entry_id'] if attributes[:'last_patch_history_entry_id']
332
+
333
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
334
+
335
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
336
+
337
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
338
+
339
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
340
+
341
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
342
+
343
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
344
+
345
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
346
+
347
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
348
+
349
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
350
+
351
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
352
+
353
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
354
+
355
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
356
+
357
+ self.availability_domain = attributes[:'availabilityDomain'] if attributes[:'availabilityDomain']
358
+
359
+ raise 'You cannot provide both :availabilityDomain and :availability_domain' if attributes.key?(:'availabilityDomain') && attributes.key?(:'availability_domain')
360
+
361
+ self.availability_domain = attributes[:'availability_domain'] if attributes[:'availability_domain']
362
+
363
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
364
+
365
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
366
+
367
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
368
+
369
+ self.database_edition = attributes[:'databaseEdition'] if attributes[:'databaseEdition']
370
+
371
+ raise 'You cannot provide both :databaseEdition and :database_edition' if attributes.key?(:'databaseEdition') && attributes.key?(:'database_edition')
372
+
373
+ self.database_edition = attributes[:'database_edition'] if attributes[:'database_edition']
374
+
375
+ self.node_count = attributes[:'nodeCount'] if attributes[:'nodeCount']
376
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') # rubocop:disable Style/StringLiterals
377
+
378
+ raise 'You cannot provide both :nodeCount and :node_count' if attributes.key?(:'nodeCount') && attributes.key?(:'node_count')
379
+
380
+ self.node_count = attributes[:'node_count'] if attributes[:'node_count']
381
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') && !attributes.key?(:'node_count') # rubocop:disable Style/StringLiterals
382
+
383
+ self.db_servers = attributes[:'dbServers'] if attributes[:'dbServers']
384
+
385
+ raise 'You cannot provide both :dbServers and :db_servers' if attributes.key?(:'dbServers') && attributes.key?(:'db_servers')
386
+
387
+ self.db_servers = attributes[:'db_servers'] if attributes[:'db_servers']
388
+
389
+ self.cpus_enabled = attributes[:'cpusEnabled'] if attributes[:'cpusEnabled']
390
+
391
+ raise 'You cannot provide both :cpusEnabled and :cpus_enabled' if attributes.key?(:'cpusEnabled') && attributes.key?(:'cpus_enabled')
392
+
393
+ self.cpus_enabled = attributes[:'cpus_enabled'] if attributes[:'cpus_enabled']
394
+
395
+ self.base_infrastructure_id = attributes[:'baseInfrastructureId'] if attributes[:'baseInfrastructureId']
396
+
397
+ raise 'You cannot provide both :baseInfrastructureId and :base_infrastructure_id' if attributes.key?(:'baseInfrastructureId') && attributes.key?(:'base_infrastructure_id')
398
+
399
+ self.base_infrastructure_id = attributes[:'base_infrastructure_id'] if attributes[:'base_infrastructure_id']
400
+
401
+ self.base_vm_cluster_network_id = attributes[:'baseVmClusterNetworkId'] if attributes[:'baseVmClusterNetworkId']
402
+
403
+ raise 'You cannot provide both :baseVmClusterNetworkId and :base_vm_cluster_network_id' if attributes.key?(:'baseVmClusterNetworkId') && attributes.key?(:'base_vm_cluster_network_id')
404
+
405
+ self.base_vm_cluster_network_id = attributes[:'base_vm_cluster_network_id'] if attributes[:'base_vm_cluster_network_id']
406
+
407
+ self.gi_version = attributes[:'giVersion'] if attributes[:'giVersion']
408
+
409
+ raise 'You cannot provide both :giVersion and :gi_version' if attributes.key?(:'giVersion') && attributes.key?(:'gi_version')
410
+
411
+ self.gi_version = attributes[:'gi_version'] if attributes[:'gi_version']
412
+
413
+ self.data_collection_options = attributes[:'dataCollectionOptions'] if attributes[:'dataCollectionOptions']
414
+
415
+ raise 'You cannot provide both :dataCollectionOptions and :data_collection_options' if attributes.key?(:'dataCollectionOptions') && attributes.key?(:'data_collection_options')
416
+
417
+ self.data_collection_options = attributes[:'data_collection_options'] if attributes[:'data_collection_options']
418
+
419
+ self.description = attributes[:'description'] if attributes[:'description']
420
+
421
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
422
+
423
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
424
+
425
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
426
+
427
+ self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
428
+
429
+ raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
430
+
431
+ self.ssh_public_keys = attributes[:'ssh_public_keys'] if attributes[:'ssh_public_keys']
432
+
433
+ self.time_zone = attributes[:'timeZone'] if attributes[:'timeZone']
434
+
435
+ raise 'You cannot provide both :timeZone and :time_zone' if attributes.key?(:'timeZone') && attributes.key?(:'time_zone')
436
+
437
+ self.time_zone = attributes[:'time_zone'] if attributes[:'time_zone']
438
+
439
+ self.cluster_name = attributes[:'clusterName'] if attributes[:'clusterName']
440
+
441
+ raise 'You cannot provide both :clusterName and :cluster_name' if attributes.key?(:'clusterName') && attributes.key?(:'cluster_name')
442
+
443
+ self.cluster_name = attributes[:'cluster_name'] if attributes[:'cluster_name']
444
+
445
+ self.boot_storage_size_in_gbs = attributes[:'bootStorageSizeInGBs'] if attributes[:'bootStorageSizeInGBs']
446
+
447
+ raise 'You cannot provide both :bootStorageSizeInGBs and :boot_storage_size_in_gbs' if attributes.key?(:'bootStorageSizeInGBs') && attributes.key?(:'boot_storage_size_in_gbs')
448
+
449
+ self.boot_storage_size_in_gbs = attributes[:'boot_storage_size_in_gbs'] if attributes[:'boot_storage_size_in_gbs']
450
+
451
+ self.additional_vm_storage_size_in_gbs = attributes[:'additionalVmStorageSizeInGBs'] if attributes[:'additionalVmStorageSizeInGBs']
452
+
453
+ 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')
454
+
455
+ self.additional_vm_storage_size_in_gbs = attributes[:'additional_vm_storage_size_in_gbs'] if attributes[:'additional_vm_storage_size_in_gbs']
456
+
457
+ self.total_storage_size_in_gbs = attributes[:'totalStorageSizeInGBs'] if attributes[:'totalStorageSizeInGBs']
458
+
459
+ raise 'You cannot provide both :totalStorageSizeInGBs and :total_storage_size_in_gbs' if attributes.key?(:'totalStorageSizeInGBs') && attributes.key?(:'total_storage_size_in_gbs')
460
+
461
+ self.total_storage_size_in_gbs = attributes[:'total_storage_size_in_gbs'] if attributes[:'total_storage_size_in_gbs']
462
+
463
+ self.data_storage_size_in_gbs = attributes[:'dataStorageSizeInGBs'] if attributes[:'dataStorageSizeInGBs']
464
+
465
+ raise 'You cannot provide both :dataStorageSizeInGBs and :data_storage_size_in_gbs' if attributes.key?(:'dataStorageSizeInGBs') && attributes.key?(:'data_storage_size_in_gbs')
466
+
467
+ self.data_storage_size_in_gbs = attributes[:'data_storage_size_in_gbs'] if attributes[:'data_storage_size_in_gbs']
468
+
469
+ self.reco_storage_size_in_gbs = attributes[:'recoStorageSizeInGBs'] if attributes[:'recoStorageSizeInGBs']
470
+
471
+ raise 'You cannot provide both :recoStorageSizeInGBs and :reco_storage_size_in_gbs' if attributes.key?(:'recoStorageSizeInGBs') && attributes.key?(:'reco_storage_size_in_gbs')
472
+
473
+ self.reco_storage_size_in_gbs = attributes[:'reco_storage_size_in_gbs'] if attributes[:'reco_storage_size_in_gbs']
474
+
475
+ self.memory_size_in_gbs = attributes[:'memorySizeInGBs'] if attributes[:'memorySizeInGBs']
476
+
477
+ raise 'You cannot provide both :memorySizeInGBs and :memory_size_in_gbs' if attributes.key?(:'memorySizeInGBs') && attributes.key?(:'memory_size_in_gbs')
478
+
479
+ self.memory_size_in_gbs = attributes[:'memory_size_in_gbs'] if attributes[:'memory_size_in_gbs']
480
+
481
+ self.license_model = attributes[:'licenseModel'] if attributes[:'licenseModel']
482
+
483
+ raise 'You cannot provide both :licenseModel and :license_model' if attributes.key?(:'licenseModel') && attributes.key?(:'license_model')
484
+
485
+ self.license_model = attributes[:'license_model'] if attributes[:'license_model']
486
+
487
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
488
+
489
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
490
+
491
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
492
+
493
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
494
+
495
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
496
+
497
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
498
+
499
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
500
+
501
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
502
+
503
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
504
+
505
+ self.system_version = attributes[:'systemVersion'] if attributes[:'systemVersion']
506
+
507
+ raise 'You cannot provide both :systemVersion and :system_version' if attributes.key?(:'systemVersion') && attributes.key?(:'system_version')
508
+
509
+ self.system_version = attributes[:'system_version'] if attributes[:'system_version']
510
+
511
+ self.vm_cluster_type = attributes[:'vmClusterType'] if attributes[:'vmClusterType']
512
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') # rubocop:disable Style/StringLiterals
513
+
514
+ raise 'You cannot provide both :vmClusterType and :vm_cluster_type' if attributes.key?(:'vmClusterType') && attributes.key?(:'vm_cluster_type')
515
+
516
+ self.vm_cluster_type = attributes[:'vm_cluster_type'] if attributes[:'vm_cluster_type']
517
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') && !attributes.key?(:'vm_cluster_type') # rubocop:disable Style/StringLiterals
518
+
519
+ self.cloud_automation_update_details = attributes[:'cloudAutomationUpdateDetails'] if attributes[:'cloudAutomationUpdateDetails']
520
+
521
+ raise 'You cannot provide both :cloudAutomationUpdateDetails and :cloud_automation_update_details' if attributes.key?(:'cloudAutomationUpdateDetails') && attributes.key?(:'cloud_automation_update_details')
522
+
523
+ self.cloud_automation_update_details = attributes[:'cloud_automation_update_details'] if attributes[:'cloud_automation_update_details']
524
+ end
525
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
526
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
527
+
528
+ # Custom attribute writer method checking allowed values (enum).
529
+ # @param [Object] lifecycle_state Object to be assigned
530
+ def lifecycle_state=(lifecycle_state)
531
+ # rubocop:disable Style/ConditionalAssignment
532
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
533
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
534
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
535
+ else
536
+ @lifecycle_state = lifecycle_state
537
+ end
538
+ # rubocop:enable Style/ConditionalAssignment
539
+ end
540
+
541
+ # Custom attribute writer method checking allowed values (enum).
542
+ # @param [Object] database_edition Object to be assigned
543
+ def database_edition=(database_edition)
544
+ # rubocop:disable Style/ConditionalAssignment
545
+ if database_edition && !DATABASE_EDITION_ENUM.include?(database_edition)
546
+ OCI.logger.debug("Unknown value for 'database_edition' [" + database_edition + "]. Mapping to 'DATABASE_EDITION_UNKNOWN_ENUM_VALUE'") if OCI.logger
547
+ @database_edition = DATABASE_EDITION_UNKNOWN_ENUM_VALUE
548
+ else
549
+ @database_edition = database_edition
550
+ end
551
+ # rubocop:enable Style/ConditionalAssignment
552
+ end
553
+
554
+ # Custom attribute writer method checking allowed values (enum).
555
+ # @param [Object] license_model Object to be assigned
556
+ def license_model=(license_model)
557
+ # rubocop:disable Style/ConditionalAssignment
558
+ if license_model && !LICENSE_MODEL_ENUM.include?(license_model)
559
+ OCI.logger.debug("Unknown value for 'license_model' [" + license_model + "]. Mapping to 'LICENSE_MODEL_UNKNOWN_ENUM_VALUE'") if OCI.logger
560
+ @license_model = LICENSE_MODEL_UNKNOWN_ENUM_VALUE
561
+ else
562
+ @license_model = license_model
563
+ end
564
+ # rubocop:enable Style/ConditionalAssignment
565
+ end
566
+
567
+ # Custom attribute writer method checking allowed values (enum).
568
+ # @param [Object] vm_cluster_type Object to be assigned
569
+ def vm_cluster_type=(vm_cluster_type)
570
+ # rubocop:disable Style/ConditionalAssignment
571
+ if vm_cluster_type && !VM_CLUSTER_TYPE_ENUM.include?(vm_cluster_type)
572
+ OCI.logger.debug("Unknown value for 'vm_cluster_type' [" + vm_cluster_type + "]. Mapping to 'VM_CLUSTER_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
573
+ @vm_cluster_type = VM_CLUSTER_TYPE_UNKNOWN_ENUM_VALUE
574
+ else
575
+ @vm_cluster_type = vm_cluster_type
576
+ end
577
+ # rubocop:enable Style/ConditionalAssignment
578
+ end
579
+
580
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
581
+
582
+
583
+ # Checks equality by comparing each attribute.
584
+ # @param [Object] other the other object to be compared
585
+ def ==(other)
586
+ return true if equal?(other)
587
+
588
+ self.class == other.class &&
589
+ id == other.id &&
590
+ last_patch_history_entry_id == other.last_patch_history_entry_id &&
591
+ lifecycle_state == other.lifecycle_state &&
592
+ time_created == other.time_created &&
593
+ time_updated == other.time_updated &&
594
+ lifecycle_details == other.lifecycle_details &&
595
+ availability_domain == other.availability_domain &&
596
+ compartment_id == other.compartment_id &&
597
+ database_edition == other.database_edition &&
598
+ node_count == other.node_count &&
599
+ db_servers == other.db_servers &&
600
+ cpus_enabled == other.cpus_enabled &&
601
+ base_infrastructure_id == other.base_infrastructure_id &&
602
+ base_vm_cluster_network_id == other.base_vm_cluster_network_id &&
603
+ gi_version == other.gi_version &&
604
+ data_collection_options == other.data_collection_options &&
605
+ description == other.description &&
606
+ display_name == other.display_name &&
607
+ ssh_public_keys == other.ssh_public_keys &&
608
+ time_zone == other.time_zone &&
609
+ cluster_name == other.cluster_name &&
610
+ boot_storage_size_in_gbs == other.boot_storage_size_in_gbs &&
611
+ additional_vm_storage_size_in_gbs == other.additional_vm_storage_size_in_gbs &&
612
+ total_storage_size_in_gbs == other.total_storage_size_in_gbs &&
613
+ data_storage_size_in_gbs == other.data_storage_size_in_gbs &&
614
+ reco_storage_size_in_gbs == other.reco_storage_size_in_gbs &&
615
+ memory_size_in_gbs == other.memory_size_in_gbs &&
616
+ license_model == other.license_model &&
617
+ freeform_tags == other.freeform_tags &&
618
+ defined_tags == other.defined_tags &&
619
+ system_tags == other.system_tags &&
620
+ system_version == other.system_version &&
621
+ vm_cluster_type == other.vm_cluster_type &&
622
+ cloud_automation_update_details == other.cloud_automation_update_details
623
+ end
624
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
625
+
626
+ # @see the `==` method
627
+ # @param [Object] other the other object to be compared
628
+ def eql?(other)
629
+ self == other
630
+ end
631
+
632
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
633
+
634
+
635
+ # Calculates hash code according to all attributes.
636
+ # @return [Fixnum] Hash code
637
+ def hash
638
+ [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
639
+ end
640
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
641
+
642
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
643
+
644
+
645
+ # Builds the object from hash
646
+ # @param [Hash] attributes Model attributes in the form of hash
647
+ # @return [Object] Returns the model itself
648
+ def build_from_hash(attributes)
649
+ return nil unless attributes.is_a?(Hash)
650
+
651
+ self.class.swagger_types.each_pair do |key, type|
652
+ if type =~ /^Array<(.*)>/i
653
+ # check to ensure the input is an array given that the the attribute
654
+ # is documented as an array but the input is not
655
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
656
+ public_method("#{key}=").call(
657
+ attributes[self.class.attribute_map[key]]
658
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
659
+ )
660
+ end
661
+ elsif !attributes[self.class.attribute_map[key]].nil?
662
+ public_method("#{key}=").call(
663
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
664
+ )
665
+ end
666
+ # or else data not found in attributes(hash), not an issue as the data can be optional
667
+ end
668
+
669
+ self
670
+ end
671
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
672
+
673
+ # Returns the string representation of the object
674
+ # @return [String] String presentation of the object
675
+ def to_s
676
+ to_hash.to_s
677
+ end
678
+
679
+ # Returns the object in the form of hash
680
+ # @return [Hash] Returns the object in the form of hash
681
+ def to_hash
682
+ hash = {}
683
+ self.class.attribute_map.each_pair do |attr, param|
684
+ value = public_method(attr).call
685
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
686
+
687
+ hash[param] = _to_hash(value)
688
+ end
689
+ hash
690
+ end
691
+
692
+ private
693
+
694
+ # Outputs non-array value in the form of hash
695
+ # For object, use to_hash. Otherwise, just return the value
696
+ # @param [Object] value Any valid value
697
+ # @return [Hash] Returns the value in the form of hash
698
+ def _to_hash(value)
699
+ if value.is_a?(Array)
700
+ value.compact.map { |v| _to_hash(v) }
701
+ elsif value.is_a?(Hash)
702
+ {}.tap do |hash|
703
+ value.each { |k, v| hash[k] = _to_hash(v) }
704
+ end
705
+ elsif value.respond_to? :to_hash
706
+ value.to_hash
707
+ else
708
+ value
709
+ end
710
+ end
711
+ end
712
+ end
713
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength