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,506 @@
1
+ # Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
5
+ require 'date'
6
+
7
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
8
+ module OCI
9
+ # Details for creating a BaseDB-C@C VM cluster. Applies to Base Database Service on Cloud@Customer instances only.
10
+ #
11
+ class Database::Models::CreateBaseccVmClusterDetails
12
+ DATABASE_EDITION_ENUM = [
13
+ DATABASE_EDITION_STANDARD_EDITION = 'STANDARD_EDITION'.freeze,
14
+ DATABASE_EDITION_ENTERPRISE_EDITION = 'ENTERPRISE_EDITION'.freeze,
15
+ DATABASE_EDITION_ENTERPRISE_EDITION_HIGH_PERFORMANCE = 'ENTERPRISE_EDITION_HIGH_PERFORMANCE'.freeze,
16
+ DATABASE_EDITION_ENTERPRISE_EDITION_EXTREME_PERFORMANCE = 'ENTERPRISE_EDITION_EXTREME_PERFORMANCE'.freeze,
17
+ DATABASE_EDITION_ENTERPRISE_EDITION_DEVELOPER = 'ENTERPRISE_EDITION_DEVELOPER'.freeze
18
+ ].freeze
19
+
20
+ LICENSE_MODEL_ENUM = [
21
+ LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
22
+ LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze
23
+ ].freeze
24
+
25
+ VM_CLUSTER_TYPE_ENUM = [
26
+ VM_CLUSTER_TYPE_REGULAR = 'REGULAR'.freeze,
27
+ VM_CLUSTER_TYPE_DEVELOPER = 'DEVELOPER'.freeze
28
+ ].freeze
29
+
30
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment.
31
+ # @return [String]
32
+ attr_accessor :compartment_id
33
+
34
+ # The Oracle Database Edition that applies to all the databases on the DB system.
35
+ # Exadata DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE.
36
+ #
37
+ # @return [String]
38
+ attr_reader :database_edition
39
+
40
+ # The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
41
+ # @return [Integer]
42
+ attr_accessor :node_count
43
+
44
+ # The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compute node of the Oracle Data Cloud@Customer Infrastructure, on which the VM should be launched.
45
+ # Note: Applies to single node Base Database Service on Cloud@Customer (BaseDB-C@C) VM clusters only
46
+ #
47
+ # @return [String]
48
+ attr_accessor :db_server_id
49
+
50
+ # **[Required]** Total CPU cores for the BaseDB C@C VM cluster.
51
+ # @return [Integer]
52
+ attr_accessor :cpu_core_count
53
+
54
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of Oracle Data Cloud@Customer Infrastructure.
55
+ # @return [String]
56
+ attr_accessor :base_infrastructure_id
57
+
58
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of BaseDB-C@C VM Cluster Network.
59
+ # @return [String]
60
+ attr_accessor :base_vm_cluster_network_id
61
+
62
+ # **[Required]** A valid Oracle Grid Infrastructure (GI) software version.
63
+ # @return [String]
64
+ attr_accessor :gi_version
65
+
66
+ # @return [OCI::Database::Models::DataCollectionOptions]
67
+ attr_accessor :data_collection_options
68
+
69
+ # The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
70
+ # @return [String]
71
+ attr_accessor :description
72
+
73
+ # **[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.
74
+ # @return [String]
75
+ attr_accessor :display_name
76
+
77
+ # **[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.
78
+ # @return [Array<String>]
79
+ attr_accessor :ssh_public_keys
80
+
81
+ # 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).
82
+ #
83
+ # @return [String]
84
+ attr_accessor :time_zone
85
+
86
+ # Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
87
+ #
88
+ # @return [Integer]
89
+ attr_accessor :additional_vm_storage_size_in_gbs
90
+
91
+ # The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
92
+ #
93
+ # @return [Integer]
94
+ attr_accessor :data_storage_size_in_gbs
95
+
96
+ # The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
97
+ #
98
+ # @return [Integer]
99
+ attr_accessor :reco_storage_size_in_gbs
100
+
101
+ # 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.
102
+ #
103
+ # @return [Integer]
104
+ attr_accessor :memory_size_in_gbs
105
+
106
+ # The Oracle license model that applies to the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED.
107
+ #
108
+ # @return [String]
109
+ attr_reader :license_model
110
+
111
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
112
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
113
+ #
114
+ # Example: `{\"Department\": \"Finance\"}`
115
+ #
116
+ # @return [Hash<String, String>]
117
+ attr_accessor :freeform_tags
118
+
119
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
120
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
121
+ #
122
+ # @return [Hash<String, Hash<String, Object>>]
123
+ attr_accessor :defined_tags
124
+
125
+ # The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
126
+ # @return [String]
127
+ attr_reader :vm_cluster_type
128
+
129
+ # @return [OCI::Database::Models::CloudAutomationUpdateDetails]
130
+ attr_accessor :cloud_automation_update_details
131
+
132
+ # Attribute mapping from ruby-style variable name to JSON key.
133
+ def self.attribute_map
134
+ {
135
+ # rubocop:disable Style/SymbolLiteral
136
+ 'compartment_id': :'compartmentId',
137
+ 'database_edition': :'databaseEdition',
138
+ 'node_count': :'nodeCount',
139
+ 'db_server_id': :'dbServerId',
140
+ 'cpu_core_count': :'cpuCoreCount',
141
+ 'base_infrastructure_id': :'baseInfrastructureId',
142
+ 'base_vm_cluster_network_id': :'baseVmClusterNetworkId',
143
+ 'gi_version': :'giVersion',
144
+ 'data_collection_options': :'dataCollectionOptions',
145
+ 'description': :'description',
146
+ 'display_name': :'displayName',
147
+ 'ssh_public_keys': :'sshPublicKeys',
148
+ 'time_zone': :'timeZone',
149
+ 'additional_vm_storage_size_in_gbs': :'additionalVmStorageSizeInGBs',
150
+ 'data_storage_size_in_gbs': :'dataStorageSizeInGBs',
151
+ 'reco_storage_size_in_gbs': :'recoStorageSizeInGBs',
152
+ 'memory_size_in_gbs': :'memorySizeInGBs',
153
+ 'license_model': :'licenseModel',
154
+ 'freeform_tags': :'freeformTags',
155
+ 'defined_tags': :'definedTags',
156
+ 'vm_cluster_type': :'vmClusterType',
157
+ 'cloud_automation_update_details': :'cloudAutomationUpdateDetails'
158
+ # rubocop:enable Style/SymbolLiteral
159
+ }
160
+ end
161
+
162
+ # Attribute type mapping.
163
+ def self.swagger_types
164
+ {
165
+ # rubocop:disable Style/SymbolLiteral
166
+ 'compartment_id': :'String',
167
+ 'database_edition': :'String',
168
+ 'node_count': :'Integer',
169
+ 'db_server_id': :'String',
170
+ 'cpu_core_count': :'Integer',
171
+ 'base_infrastructure_id': :'String',
172
+ 'base_vm_cluster_network_id': :'String',
173
+ 'gi_version': :'String',
174
+ 'data_collection_options': :'OCI::Database::Models::DataCollectionOptions',
175
+ 'description': :'String',
176
+ 'display_name': :'String',
177
+ 'ssh_public_keys': :'Array<String>',
178
+ 'time_zone': :'String',
179
+ 'additional_vm_storage_size_in_gbs': :'Integer',
180
+ 'data_storage_size_in_gbs': :'Integer',
181
+ 'reco_storage_size_in_gbs': :'Integer',
182
+ 'memory_size_in_gbs': :'Integer',
183
+ 'license_model': :'String',
184
+ 'freeform_tags': :'Hash<String, String>',
185
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
186
+ 'vm_cluster_type': :'String',
187
+ 'cloud_automation_update_details': :'OCI::Database::Models::CloudAutomationUpdateDetails'
188
+ # rubocop:enable Style/SymbolLiteral
189
+ }
190
+ end
191
+
192
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
193
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
194
+
195
+
196
+ # Initializes the object
197
+ # @param [Hash] attributes Model attributes in the form of hash
198
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
199
+ # @option attributes [String] :database_edition The value to assign to the {#database_edition} property
200
+ # @option attributes [Integer] :node_count The value to assign to the {#node_count} property
201
+ # @option attributes [String] :db_server_id The value to assign to the {#db_server_id} property
202
+ # @option attributes [Integer] :cpu_core_count The value to assign to the {#cpu_core_count} property
203
+ # @option attributes [String] :base_infrastructure_id The value to assign to the {#base_infrastructure_id} property
204
+ # @option attributes [String] :base_vm_cluster_network_id The value to assign to the {#base_vm_cluster_network_id} property
205
+ # @option attributes [String] :gi_version The value to assign to the {#gi_version} property
206
+ # @option attributes [OCI::Database::Models::DataCollectionOptions] :data_collection_options The value to assign to the {#data_collection_options} property
207
+ # @option attributes [String] :description The value to assign to the {#description} property
208
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
209
+ # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
210
+ # @option attributes [String] :time_zone The value to assign to the {#time_zone} property
211
+ # @option attributes [Integer] :additional_vm_storage_size_in_gbs The value to assign to the {#additional_vm_storage_size_in_gbs} property
212
+ # @option attributes [Integer] :data_storage_size_in_gbs The value to assign to the {#data_storage_size_in_gbs} property
213
+ # @option attributes [Integer] :reco_storage_size_in_gbs The value to assign to the {#reco_storage_size_in_gbs} property
214
+ # @option attributes [Integer] :memory_size_in_gbs The value to assign to the {#memory_size_in_gbs} property
215
+ # @option attributes [String] :license_model The value to assign to the {#license_model} property
216
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
217
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
218
+ # @option attributes [String] :vm_cluster_type The value to assign to the {#vm_cluster_type} property
219
+ # @option attributes [OCI::Database::Models::CloudAutomationUpdateDetails] :cloud_automation_update_details The value to assign to the {#cloud_automation_update_details} property
220
+ def initialize(attributes = {})
221
+ return unless attributes.is_a?(Hash)
222
+
223
+ # convert string to symbol for hash key
224
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
225
+
226
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
227
+
228
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
229
+
230
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
231
+
232
+ self.database_edition = attributes[:'databaseEdition'] if attributes[:'databaseEdition']
233
+
234
+ raise 'You cannot provide both :databaseEdition and :database_edition' if attributes.key?(:'databaseEdition') && attributes.key?(:'database_edition')
235
+
236
+ self.database_edition = attributes[:'database_edition'] if attributes[:'database_edition']
237
+
238
+ self.node_count = attributes[:'nodeCount'] if attributes[:'nodeCount']
239
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') # rubocop:disable Style/StringLiterals
240
+
241
+ raise 'You cannot provide both :nodeCount and :node_count' if attributes.key?(:'nodeCount') && attributes.key?(:'node_count')
242
+
243
+ self.node_count = attributes[:'node_count'] if attributes[:'node_count']
244
+ self.node_count = 2 if node_count.nil? && !attributes.key?(:'nodeCount') && !attributes.key?(:'node_count') # rubocop:disable Style/StringLiterals
245
+
246
+ self.db_server_id = attributes[:'dbServerId'] if attributes[:'dbServerId']
247
+
248
+ raise 'You cannot provide both :dbServerId and :db_server_id' if attributes.key?(:'dbServerId') && attributes.key?(:'db_server_id')
249
+
250
+ self.db_server_id = attributes[:'db_server_id'] if attributes[:'db_server_id']
251
+
252
+ self.cpu_core_count = attributes[:'cpuCoreCount'] if attributes[:'cpuCoreCount']
253
+
254
+ raise 'You cannot provide both :cpuCoreCount and :cpu_core_count' if attributes.key?(:'cpuCoreCount') && attributes.key?(:'cpu_core_count')
255
+
256
+ self.cpu_core_count = attributes[:'cpu_core_count'] if attributes[:'cpu_core_count']
257
+
258
+ self.base_infrastructure_id = attributes[:'baseInfrastructureId'] if attributes[:'baseInfrastructureId']
259
+
260
+ raise 'You cannot provide both :baseInfrastructureId and :base_infrastructure_id' if attributes.key?(:'baseInfrastructureId') && attributes.key?(:'base_infrastructure_id')
261
+
262
+ self.base_infrastructure_id = attributes[:'base_infrastructure_id'] if attributes[:'base_infrastructure_id']
263
+
264
+ self.base_vm_cluster_network_id = attributes[:'baseVmClusterNetworkId'] if attributes[:'baseVmClusterNetworkId']
265
+
266
+ raise 'You cannot provide both :baseVmClusterNetworkId and :base_vm_cluster_network_id' if attributes.key?(:'baseVmClusterNetworkId') && attributes.key?(:'base_vm_cluster_network_id')
267
+
268
+ self.base_vm_cluster_network_id = attributes[:'base_vm_cluster_network_id'] if attributes[:'base_vm_cluster_network_id']
269
+
270
+ self.gi_version = attributes[:'giVersion'] if attributes[:'giVersion']
271
+
272
+ raise 'You cannot provide both :giVersion and :gi_version' if attributes.key?(:'giVersion') && attributes.key?(:'gi_version')
273
+
274
+ self.gi_version = attributes[:'gi_version'] if attributes[:'gi_version']
275
+
276
+ self.data_collection_options = attributes[:'dataCollectionOptions'] if attributes[:'dataCollectionOptions']
277
+
278
+ raise 'You cannot provide both :dataCollectionOptions and :data_collection_options' if attributes.key?(:'dataCollectionOptions') && attributes.key?(:'data_collection_options')
279
+
280
+ self.data_collection_options = attributes[:'data_collection_options'] if attributes[:'data_collection_options']
281
+
282
+ self.description = attributes[:'description'] if attributes[:'description']
283
+
284
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
285
+
286
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
287
+
288
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
289
+
290
+ self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
291
+
292
+ raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
293
+
294
+ self.ssh_public_keys = attributes[:'ssh_public_keys'] if attributes[:'ssh_public_keys']
295
+
296
+ self.time_zone = attributes[:'timeZone'] if attributes[:'timeZone']
297
+
298
+ raise 'You cannot provide both :timeZone and :time_zone' if attributes.key?(:'timeZone') && attributes.key?(:'time_zone')
299
+
300
+ self.time_zone = attributes[:'time_zone'] if attributes[:'time_zone']
301
+
302
+ self.additional_vm_storage_size_in_gbs = attributes[:'additionalVmStorageSizeInGBs'] if attributes[:'additionalVmStorageSizeInGBs']
303
+
304
+ 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')
305
+
306
+ self.additional_vm_storage_size_in_gbs = attributes[:'additional_vm_storage_size_in_gbs'] if attributes[:'additional_vm_storage_size_in_gbs']
307
+
308
+ self.data_storage_size_in_gbs = attributes[:'dataStorageSizeInGBs'] if attributes[:'dataStorageSizeInGBs']
309
+
310
+ raise 'You cannot provide both :dataStorageSizeInGBs and :data_storage_size_in_gbs' if attributes.key?(:'dataStorageSizeInGBs') && attributes.key?(:'data_storage_size_in_gbs')
311
+
312
+ self.data_storage_size_in_gbs = attributes[:'data_storage_size_in_gbs'] if attributes[:'data_storage_size_in_gbs']
313
+
314
+ self.reco_storage_size_in_gbs = attributes[:'recoStorageSizeInGBs'] if attributes[:'recoStorageSizeInGBs']
315
+
316
+ raise 'You cannot provide both :recoStorageSizeInGBs and :reco_storage_size_in_gbs' if attributes.key?(:'recoStorageSizeInGBs') && attributes.key?(:'reco_storage_size_in_gbs')
317
+
318
+ self.reco_storage_size_in_gbs = attributes[:'reco_storage_size_in_gbs'] if attributes[:'reco_storage_size_in_gbs']
319
+
320
+ self.memory_size_in_gbs = attributes[:'memorySizeInGBs'] if attributes[:'memorySizeInGBs']
321
+
322
+ raise 'You cannot provide both :memorySizeInGBs and :memory_size_in_gbs' if attributes.key?(:'memorySizeInGBs') && attributes.key?(:'memory_size_in_gbs')
323
+
324
+ self.memory_size_in_gbs = attributes[:'memory_size_in_gbs'] if attributes[:'memory_size_in_gbs']
325
+
326
+ self.license_model = attributes[:'licenseModel'] if attributes[:'licenseModel']
327
+
328
+ raise 'You cannot provide both :licenseModel and :license_model' if attributes.key?(:'licenseModel') && attributes.key?(:'license_model')
329
+
330
+ self.license_model = attributes[:'license_model'] if attributes[:'license_model']
331
+
332
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
333
+
334
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
335
+
336
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
337
+
338
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
339
+
340
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
341
+
342
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
343
+
344
+ self.vm_cluster_type = attributes[:'vmClusterType'] if attributes[:'vmClusterType']
345
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') # rubocop:disable Style/StringLiterals
346
+
347
+ raise 'You cannot provide both :vmClusterType and :vm_cluster_type' if attributes.key?(:'vmClusterType') && attributes.key?(:'vm_cluster_type')
348
+
349
+ self.vm_cluster_type = attributes[:'vm_cluster_type'] if attributes[:'vm_cluster_type']
350
+ self.vm_cluster_type = "" if vm_cluster_type.nil? && !attributes.key?(:'vmClusterType') && !attributes.key?(:'vm_cluster_type') # rubocop:disable Style/StringLiterals
351
+
352
+ self.cloud_automation_update_details = attributes[:'cloudAutomationUpdateDetails'] if attributes[:'cloudAutomationUpdateDetails']
353
+
354
+ raise 'You cannot provide both :cloudAutomationUpdateDetails and :cloud_automation_update_details' if attributes.key?(:'cloudAutomationUpdateDetails') && attributes.key?(:'cloud_automation_update_details')
355
+
356
+ self.cloud_automation_update_details = attributes[:'cloud_automation_update_details'] if attributes[:'cloud_automation_update_details']
357
+ end
358
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
359
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
360
+
361
+ # Custom attribute writer method checking allowed values (enum).
362
+ # @param [Object] database_edition Object to be assigned
363
+ def database_edition=(database_edition)
364
+ raise "Invalid value for 'database_edition': this must be one of the values in DATABASE_EDITION_ENUM." if database_edition && !DATABASE_EDITION_ENUM.include?(database_edition)
365
+
366
+ @database_edition = database_edition
367
+ end
368
+
369
+ # Custom attribute writer method checking allowed values (enum).
370
+ # @param [Object] license_model Object to be assigned
371
+ def license_model=(license_model)
372
+ raise "Invalid value for 'license_model': this must be one of the values in LICENSE_MODEL_ENUM." if license_model && !LICENSE_MODEL_ENUM.include?(license_model)
373
+
374
+ @license_model = license_model
375
+ end
376
+
377
+ # Custom attribute writer method checking allowed values (enum).
378
+ # @param [Object] vm_cluster_type Object to be assigned
379
+ def vm_cluster_type=(vm_cluster_type)
380
+ raise "Invalid value for 'vm_cluster_type': this must be one of the values in VM_CLUSTER_TYPE_ENUM." if vm_cluster_type && !VM_CLUSTER_TYPE_ENUM.include?(vm_cluster_type)
381
+
382
+ @vm_cluster_type = vm_cluster_type
383
+ end
384
+
385
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
386
+
387
+
388
+ # Checks equality by comparing each attribute.
389
+ # @param [Object] other the other object to be compared
390
+ def ==(other)
391
+ return true if equal?(other)
392
+
393
+ self.class == other.class &&
394
+ compartment_id == other.compartment_id &&
395
+ database_edition == other.database_edition &&
396
+ node_count == other.node_count &&
397
+ db_server_id == other.db_server_id &&
398
+ cpu_core_count == other.cpu_core_count &&
399
+ base_infrastructure_id == other.base_infrastructure_id &&
400
+ base_vm_cluster_network_id == other.base_vm_cluster_network_id &&
401
+ gi_version == other.gi_version &&
402
+ data_collection_options == other.data_collection_options &&
403
+ description == other.description &&
404
+ display_name == other.display_name &&
405
+ ssh_public_keys == other.ssh_public_keys &&
406
+ time_zone == other.time_zone &&
407
+ additional_vm_storage_size_in_gbs == other.additional_vm_storage_size_in_gbs &&
408
+ data_storage_size_in_gbs == other.data_storage_size_in_gbs &&
409
+ reco_storage_size_in_gbs == other.reco_storage_size_in_gbs &&
410
+ memory_size_in_gbs == other.memory_size_in_gbs &&
411
+ license_model == other.license_model &&
412
+ freeform_tags == other.freeform_tags &&
413
+ defined_tags == other.defined_tags &&
414
+ vm_cluster_type == other.vm_cluster_type &&
415
+ cloud_automation_update_details == other.cloud_automation_update_details
416
+ end
417
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
418
+
419
+ # @see the `==` method
420
+ # @param [Object] other the other object to be compared
421
+ def eql?(other)
422
+ self == other
423
+ end
424
+
425
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
426
+
427
+
428
+ # Calculates hash code according to all attributes.
429
+ # @return [Fixnum] Hash code
430
+ def hash
431
+ [compartment_id, database_edition, node_count, db_server_id, cpu_core_count, base_infrastructure_id, base_vm_cluster_network_id, gi_version, data_collection_options, description, display_name, ssh_public_keys, time_zone, additional_vm_storage_size_in_gbs, data_storage_size_in_gbs, reco_storage_size_in_gbs, memory_size_in_gbs, license_model, freeform_tags, defined_tags, vm_cluster_type, cloud_automation_update_details].hash
432
+ end
433
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
434
+
435
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
436
+
437
+
438
+ # Builds the object from hash
439
+ # @param [Hash] attributes Model attributes in the form of hash
440
+ # @return [Object] Returns the model itself
441
+ def build_from_hash(attributes)
442
+ return nil unless attributes.is_a?(Hash)
443
+
444
+ self.class.swagger_types.each_pair do |key, type|
445
+ if type =~ /^Array<(.*)>/i
446
+ # check to ensure the input is an array given that the the attribute
447
+ # is documented as an array but the input is not
448
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
449
+ public_method("#{key}=").call(
450
+ attributes[self.class.attribute_map[key]]
451
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
452
+ )
453
+ end
454
+ elsif !attributes[self.class.attribute_map[key]].nil?
455
+ public_method("#{key}=").call(
456
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
457
+ )
458
+ end
459
+ # or else data not found in attributes(hash), not an issue as the data can be optional
460
+ end
461
+
462
+ self
463
+ end
464
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
465
+
466
+ # Returns the string representation of the object
467
+ # @return [String] String presentation of the object
468
+ def to_s
469
+ to_hash.to_s
470
+ end
471
+
472
+ # Returns the object in the form of hash
473
+ # @return [Hash] Returns the object in the form of hash
474
+ def to_hash
475
+ hash = {}
476
+ self.class.attribute_map.each_pair do |attr, param|
477
+ value = public_method(attr).call
478
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
479
+
480
+ hash[param] = _to_hash(value)
481
+ end
482
+ hash
483
+ end
484
+
485
+ private
486
+
487
+ # Outputs non-array value in the form of hash
488
+ # For object, use to_hash. Otherwise, just return the value
489
+ # @param [Object] value Any valid value
490
+ # @return [Hash] Returns the value in the form of hash
491
+ def _to_hash(value)
492
+ if value.is_a?(Array)
493
+ value.compact.map { |v| _to_hash(v) }
494
+ elsif value.is_a?(Hash)
495
+ {}.tap do |hash|
496
+ value.each { |k, v| hash[k] = _to_hash(v) }
497
+ end
498
+ elsif value.respond_to? :to_hash
499
+ value.to_hash
500
+ else
501
+ value
502
+ end
503
+ end
504
+ end
505
+ end
506
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -15,7 +15,8 @@ module OCI
15
15
  IMAGE_SHAPE_FAMILY_VM_BM_SHAPE = 'VM_BM_SHAPE'.freeze,
16
16
  IMAGE_SHAPE_FAMILY_EXADATA_SHAPE = 'EXADATA_SHAPE'.freeze,
17
17
  IMAGE_SHAPE_FAMILY_EXACC_SHAPE = 'EXACC_SHAPE'.freeze,
18
- IMAGE_SHAPE_FAMILY_EXADBXS_SHAPE = 'EXADBXS_SHAPE'.freeze
18
+ IMAGE_SHAPE_FAMILY_EXADBXS_SHAPE = 'EXADBXS_SHAPE'.freeze,
19
+ IMAGE_SHAPE_FAMILY_BDBCC_SHAPE = 'BDBCC_SHAPE'.freeze
19
20
  ].freeze
20
21
 
21
22
  IMAGE_TYPE_ENUM = [
@@ -33,6 +33,7 @@ module OCI
33
33
  IMAGE_SHAPE_FAMILY_EXADATA_SHAPE = 'EXADATA_SHAPE'.freeze,
34
34
  IMAGE_SHAPE_FAMILY_EXACC_SHAPE = 'EXACC_SHAPE'.freeze,
35
35
  IMAGE_SHAPE_FAMILY_EXADBXS_SHAPE = 'EXADBXS_SHAPE'.freeze,
36
+ IMAGE_SHAPE_FAMILY_BDBCC_SHAPE = 'BDBCC_SHAPE'.freeze,
36
37
  IMAGE_SHAPE_FAMILY_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
37
38
  ].freeze
38
39
 
@@ -39,6 +39,7 @@ module OCI
39
39
  IMAGE_SHAPE_FAMILY_EXADATA_SHAPE = 'EXADATA_SHAPE'.freeze,
40
40
  IMAGE_SHAPE_FAMILY_EXACC_SHAPE = 'EXACC_SHAPE'.freeze,
41
41
  IMAGE_SHAPE_FAMILY_EXADBXS_SHAPE = 'EXADBXS_SHAPE'.freeze,
42
+ IMAGE_SHAPE_FAMILY_BDBCC_SHAPE = 'BDBCC_SHAPE'.freeze,
42
43
  IMAGE_SHAPE_FAMILY_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
43
44
  ].freeze
44
45