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,171 @@
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 of unregistering PKCS11 driver.
10
+ #
11
+ class Database::Models::UnregisterExadbVmClusterPkcsDetails
12
+ TDE_KEY_STORE_TYPE_ENUM = [
13
+ TDE_KEY_STORE_TYPE_AZURE = 'AZURE'.freeze,
14
+ TDE_KEY_STORE_TYPE_OCI = 'OCI'.freeze,
15
+ TDE_KEY_STORE_TYPE_GCP = 'GCP'.freeze,
16
+ TDE_KEY_STORE_TYPE_AWS = 'AWS'.freeze
17
+ ].freeze
18
+
19
+ # **[Required]** TDE keystore type
20
+ # @return [String]
21
+ attr_reader :tde_key_store_type
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ # rubocop:disable Style/SymbolLiteral
27
+ 'tde_key_store_type': :'tdeKeyStoreType'
28
+ # rubocop:enable Style/SymbolLiteral
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ # rubocop:disable Style/SymbolLiteral
36
+ 'tde_key_store_type': :'String'
37
+ # rubocop:enable Style/SymbolLiteral
38
+ }
39
+ end
40
+
41
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
42
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
43
+
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ # @option attributes [String] :tde_key_store_type The value to assign to the {#tde_key_store_type} property
48
+ def initialize(attributes = {})
49
+ return unless attributes.is_a?(Hash)
50
+
51
+ # convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
53
+
54
+ self.tde_key_store_type = attributes[:'tdeKeyStoreType'] if attributes[:'tdeKeyStoreType']
55
+
56
+ raise 'You cannot provide both :tdeKeyStoreType and :tde_key_store_type' if attributes.key?(:'tdeKeyStoreType') && attributes.key?(:'tde_key_store_type')
57
+
58
+ self.tde_key_store_type = attributes[:'tde_key_store_type'] if attributes[:'tde_key_store_type']
59
+ end
60
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
61
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
62
+
63
+ # Custom attribute writer method checking allowed values (enum).
64
+ # @param [Object] tde_key_store_type Object to be assigned
65
+ def tde_key_store_type=(tde_key_store_type)
66
+ raise "Invalid value for 'tde_key_store_type': this must be one of the values in TDE_KEY_STORE_TYPE_ENUM." if tde_key_store_type && !TDE_KEY_STORE_TYPE_ENUM.include?(tde_key_store_type)
67
+
68
+ @tde_key_store_type = tde_key_store_type
69
+ end
70
+
71
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
72
+
73
+
74
+ # Checks equality by comparing each attribute.
75
+ # @param [Object] other the other object to be compared
76
+ def ==(other)
77
+ return true if equal?(other)
78
+
79
+ self.class == other.class &&
80
+ tde_key_store_type == other.tde_key_store_type
81
+ end
82
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
83
+
84
+ # @see the `==` method
85
+ # @param [Object] other the other object to be compared
86
+ def eql?(other)
87
+ self == other
88
+ end
89
+
90
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
91
+
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Fixnum] Hash code
95
+ def hash
96
+ [tde_key_store_type].hash
97
+ end
98
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
99
+
100
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
101
+
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+
109
+ self.class.swagger_types.each_pair do |key, type|
110
+ if type =~ /^Array<(.*)>/i
111
+ # check to ensure the input is an array given that the the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ public_method("#{key}=").call(
115
+ attributes[self.class.attribute_map[key]]
116
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
117
+ )
118
+ end
119
+ elsif !attributes[self.class.attribute_map[key]].nil?
120
+ public_method("#{key}=").call(
121
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
122
+ )
123
+ end
124
+ # or else data not found in attributes(hash), not an issue as the data can be optional
125
+ end
126
+
127
+ self
128
+ end
129
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
130
+
131
+ # Returns the string representation of the object
132
+ # @return [String] String presentation of the object
133
+ def to_s
134
+ to_hash.to_s
135
+ end
136
+
137
+ # Returns the object in the form of hash
138
+ # @return [Hash] Returns the object in the form of hash
139
+ def to_hash
140
+ hash = {}
141
+ self.class.attribute_map.each_pair do |attr, param|
142
+ value = public_method(attr).call
143
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
144
+
145
+ hash[param] = _to_hash(value)
146
+ end
147
+ hash
148
+ end
149
+
150
+ private
151
+
152
+ # Outputs non-array value in the form of hash
153
+ # For object, use to_hash. Otherwise, just return the value
154
+ # @param [Object] value Any valid value
155
+ # @return [Hash] Returns the value in the form of hash
156
+ def _to_hash(value)
157
+ if value.is_a?(Array)
158
+ value.compact.map { |v| _to_hash(v) }
159
+ elsif value.is_a?(Hash)
160
+ {}.tap do |hash|
161
+ value.each { |k, v| hash[k] = _to_hash(v) }
162
+ end
163
+ elsif value.respond_to? :to_hash
164
+ value.to_hash
165
+ else
166
+ value
167
+ end
168
+ end
169
+ end
170
+ end
171
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -25,6 +25,24 @@ module OCI
25
25
  AVAILABLE_ACTIONS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
26
26
  ].freeze
27
27
 
28
+ LAST_UPDATE_MODE_ENUM = [
29
+ LAST_UPDATE_MODE_ONLINE_HIGHCVSS = 'ONLINE_HIGHCVSS'.freeze,
30
+ LAST_UPDATE_MODE_ONLINE_ALLCVSS = 'ONLINE_ALLCVSS'.freeze,
31
+ LAST_UPDATE_MODE_ONLINE_ALL_UPDATES = 'ONLINE_ALL_UPDATES'.freeze,
32
+ LAST_UPDATE_MODE_PENDING_UPDATES = 'PENDING_UPDATES'.freeze,
33
+ LAST_UPDATE_MODE_FULL_UPDATE = 'FULL_UPDATE'.freeze,
34
+ LAST_UPDATE_MODE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
35
+ ].freeze
36
+
37
+ AVAILABLE_UPDATE_MODES_ENUM = [
38
+ AVAILABLE_UPDATE_MODES_ONLINE_HIGHCVSS = 'ONLINE_HIGHCVSS'.freeze,
39
+ AVAILABLE_UPDATE_MODES_ONLINE_ALLCVSS = 'ONLINE_ALLCVSS'.freeze,
40
+ AVAILABLE_UPDATE_MODES_ONLINE_ALL_UPDATES = 'ONLINE_ALL_UPDATES'.freeze,
41
+ AVAILABLE_UPDATE_MODES_PENDING_UPDATES = 'PENDING_UPDATES'.freeze,
42
+ AVAILABLE_UPDATE_MODES_FULL_UPDATE = 'FULL_UPDATE'.freeze,
43
+ AVAILABLE_UPDATE_MODES_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
44
+ ].freeze
45
+
28
46
  UPDATE_TYPE_ENUM = [
29
47
  UPDATE_TYPE_GI_UPGRADE = 'GI_UPGRADE'.freeze,
30
48
  UPDATE_TYPE_GI_PATCH = 'GI_PATCH'.freeze,
@@ -56,6 +74,18 @@ module OCI
56
74
  # @return [Array<String>]
57
75
  attr_reader :available_actions
58
76
 
77
+ # The previous update mode performed (only valid for OS Updates).
78
+ # @return [String]
79
+ attr_reader :last_update_mode
80
+
81
+ # The possible update options available (only valid for OS Update).
82
+ # @return [Array<String>]
83
+ attr_reader :available_update_modes
84
+
85
+ # Oracle Linux version for the respective Exadata Image.
86
+ # @return [String]
87
+ attr_accessor :oracle_linux_version
88
+
59
89
  # **[Required]** The type of cloud VM cluster maintenance update.
60
90
  # @return [String]
61
91
  attr_reader :update_type
@@ -85,6 +115,9 @@ module OCI
85
115
  'description': :'description',
86
116
  'last_action': :'lastAction',
87
117
  'available_actions': :'availableActions',
118
+ 'last_update_mode': :'lastUpdateMode',
119
+ 'available_update_modes': :'availableUpdateModes',
120
+ 'oracle_linux_version': :'oracleLinuxVersion',
88
121
  'update_type': :'updateType',
89
122
  'lifecycle_details': :'lifecycleDetails',
90
123
  'lifecycle_state': :'lifecycleState',
@@ -102,6 +135,9 @@ module OCI
102
135
  'description': :'String',
103
136
  'last_action': :'String',
104
137
  'available_actions': :'Array<String>',
138
+ 'last_update_mode': :'String',
139
+ 'available_update_modes': :'Array<String>',
140
+ 'oracle_linux_version': :'String',
105
141
  'update_type': :'String',
106
142
  'lifecycle_details': :'String',
107
143
  'lifecycle_state': :'String',
@@ -121,6 +157,9 @@ module OCI
121
157
  # @option attributes [String] :description The value to assign to the {#description} property
122
158
  # @option attributes [String] :last_action The value to assign to the {#last_action} property
123
159
  # @option attributes [Array<String>] :available_actions The value to assign to the {#available_actions} property
160
+ # @option attributes [String] :last_update_mode The value to assign to the {#last_update_mode} property
161
+ # @option attributes [Array<String>] :available_update_modes The value to assign to the {#available_update_modes} property
162
+ # @option attributes [String] :oracle_linux_version The value to assign to the {#oracle_linux_version} property
124
163
  # @option attributes [String] :update_type The value to assign to the {#update_type} property
125
164
  # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
126
165
  # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
@@ -145,6 +184,24 @@ module OCI
145
184
 
146
185
  self.available_actions = attributes[:'available_actions'] if attributes[:'available_actions']
147
186
 
187
+ self.last_update_mode = attributes[:'lastUpdateMode'] if attributes[:'lastUpdateMode']
188
+
189
+ raise 'You cannot provide both :lastUpdateMode and :last_update_mode' if attributes.key?(:'lastUpdateMode') && attributes.key?(:'last_update_mode')
190
+
191
+ self.last_update_mode = attributes[:'last_update_mode'] if attributes[:'last_update_mode']
192
+
193
+ self.available_update_modes = attributes[:'availableUpdateModes'] if attributes[:'availableUpdateModes']
194
+
195
+ raise 'You cannot provide both :availableUpdateModes and :available_update_modes' if attributes.key?(:'availableUpdateModes') && attributes.key?(:'available_update_modes')
196
+
197
+ self.available_update_modes = attributes[:'available_update_modes'] if attributes[:'available_update_modes']
198
+
199
+ self.oracle_linux_version = attributes[:'oracleLinuxVersion'] if attributes[:'oracleLinuxVersion']
200
+
201
+ raise 'You cannot provide both :oracleLinuxVersion and :oracle_linux_version' if attributes.key?(:'oracleLinuxVersion') && attributes.key?(:'oracle_linux_version')
202
+
203
+ self.oracle_linux_version = attributes[:'oracle_linux_version'] if attributes[:'oracle_linux_version']
204
+
148
205
  self.update_type = attributes[:'updateType'] if attributes[:'updateType']
149
206
 
150
207
  raise 'You cannot provide both :updateType and :update_type' if attributes.key?(:'updateType') && attributes.key?(:'update_type')
@@ -207,6 +264,39 @@ module OCI
207
264
  # rubocop:enable Style/ConditionalAssignment
208
265
  end
209
266
 
267
+ # Custom attribute writer method checking allowed values (enum).
268
+ # @param [Object] last_update_mode Object to be assigned
269
+ def last_update_mode=(last_update_mode)
270
+ # rubocop:disable Style/ConditionalAssignment
271
+ if last_update_mode && !LAST_UPDATE_MODE_ENUM.include?(last_update_mode)
272
+ OCI.logger.debug("Unknown value for 'last_update_mode' [" + last_update_mode + "]. Mapping to 'LAST_UPDATE_MODE_UNKNOWN_ENUM_VALUE'") if OCI.logger
273
+ @last_update_mode = LAST_UPDATE_MODE_UNKNOWN_ENUM_VALUE
274
+ else
275
+ @last_update_mode = last_update_mode
276
+ end
277
+ # rubocop:enable Style/ConditionalAssignment
278
+ end
279
+
280
+ # Custom attribute writer method checking allowed values (enum).
281
+ # @param [Object] available_update_modes Object to be assigned
282
+ def available_update_modes=(available_update_modes)
283
+ # rubocop:disable Style/ConditionalAssignment
284
+ if available_update_modes.nil?
285
+ @available_update_modes = nil
286
+ else
287
+ @available_update_modes =
288
+ available_update_modes.collect do |item|
289
+ if AVAILABLE_UPDATE_MODES_ENUM.include?(item)
290
+ item
291
+ else
292
+ OCI.logger.debug("Unknown value for 'available_update_modes' [#{item}]. Mapping to 'AVAILABLE_UPDATE_MODES_UNKNOWN_ENUM_VALUE'") if OCI.logger
293
+ AVAILABLE_UPDATE_MODES_UNKNOWN_ENUM_VALUE
294
+ end
295
+ end
296
+ end
297
+ # rubocop:enable Style/ConditionalAssignment
298
+ end
299
+
210
300
  # Custom attribute writer method checking allowed values (enum).
211
301
  # @param [Object] update_type Object to be assigned
212
302
  def update_type=(update_type)
@@ -246,6 +336,9 @@ module OCI
246
336
  description == other.description &&
247
337
  last_action == other.last_action &&
248
338
  available_actions == other.available_actions &&
339
+ last_update_mode == other.last_update_mode &&
340
+ available_update_modes == other.available_update_modes &&
341
+ oracle_linux_version == other.oracle_linux_version &&
249
342
  update_type == other.update_type &&
250
343
  lifecycle_details == other.lifecycle_details &&
251
344
  lifecycle_state == other.lifecycle_state &&
@@ -266,7 +359,7 @@ module OCI
266
359
  # Calculates hash code according to all attributes.
267
360
  # @return [Fixnum] Hash code
268
361
  def hash
269
- [id, description, last_action, available_actions, update_type, lifecycle_details, lifecycle_state, time_released, version].hash
362
+ [id, description, last_action, available_actions, last_update_mode, available_update_modes, oracle_linux_version, update_type, lifecycle_details, lifecycle_state, time_released, version].hash
270
363
  end
271
364
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
272
365
 
@@ -0,0 +1,345 @@
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 updating the BaseDB-C@C VM cluster. Applies to Base Database Service on Cloud@Customer instances only.
10
+ #
11
+ class Database::Models::UpdateBaseccVmClusterDetails
12
+ LICENSE_MODEL_ENUM = [
13
+ LICENSE_MODEL_LICENSE_INCLUDED = 'LICENSE_INCLUDED'.freeze,
14
+ LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = 'BRING_YOUR_OWN_LICENSE'.freeze
15
+ ].freeze
16
+
17
+ # Total CPU cores for the BaseDB C@C VM cluster.
18
+ # @return [Integer]
19
+ attr_accessor :cpu_core_count
20
+
21
+ # 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.
22
+ #
23
+ # @return [Integer]
24
+ attr_accessor :memory_size_in_gbs
25
+
26
+ # The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
27
+ #
28
+ # @return [Integer]
29
+ attr_accessor :data_storage_size_in_gbs
30
+
31
+ # The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
32
+ #
33
+ # @return [Integer]
34
+ attr_accessor :reco_storage_size_in_gbs
35
+
36
+ # The Oracle license model that applies to the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED.
37
+ #
38
+ # @return [String]
39
+ attr_reader :license_model
40
+
41
+ # 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.
42
+ # @return [Array<String>]
43
+ attr_accessor :ssh_public_keys
44
+
45
+ # 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.
46
+ # @return [String]
47
+ attr_accessor :display_name
48
+
49
+ # Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster.
50
+ #
51
+ # @return [Integer]
52
+ attr_accessor :additional_vm_storage_size_in_gbs
53
+
54
+ # @return [OCI::Database::Models::BaseccVmClusterUpdateDetails]
55
+ attr_accessor :update_details
56
+
57
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
58
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
59
+ #
60
+ # Example: `{\"Department\": \"Finance\"}`
61
+ #
62
+ # @return [Hash<String, String>]
63
+ attr_accessor :freeform_tags
64
+
65
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
66
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
67
+ #
68
+ # @return [Hash<String, Hash<String, Object>>]
69
+ attr_accessor :defined_tags
70
+
71
+ # @return [OCI::Database::Models::DataCollectionOptions]
72
+ attr_accessor :data_collection_options
73
+
74
+ # @return [OCI::Database::Models::CloudAutomationUpdateDetails]
75
+ attr_accessor :cloud_automation_update_details
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ {
80
+ # rubocop:disable Style/SymbolLiteral
81
+ 'cpu_core_count': :'cpuCoreCount',
82
+ 'memory_size_in_gbs': :'memorySizeInGBs',
83
+ 'data_storage_size_in_gbs': :'dataStorageSizeInGBs',
84
+ 'reco_storage_size_in_gbs': :'recoStorageSizeInGBs',
85
+ 'license_model': :'licenseModel',
86
+ 'ssh_public_keys': :'sshPublicKeys',
87
+ 'display_name': :'displayName',
88
+ 'additional_vm_storage_size_in_gbs': :'additionalVmStorageSizeInGBs',
89
+ 'update_details': :'updateDetails',
90
+ 'freeform_tags': :'freeformTags',
91
+ 'defined_tags': :'definedTags',
92
+ 'data_collection_options': :'dataCollectionOptions',
93
+ 'cloud_automation_update_details': :'cloudAutomationUpdateDetails'
94
+ # rubocop:enable Style/SymbolLiteral
95
+ }
96
+ end
97
+
98
+ # Attribute type mapping.
99
+ def self.swagger_types
100
+ {
101
+ # rubocop:disable Style/SymbolLiteral
102
+ 'cpu_core_count': :'Integer',
103
+ 'memory_size_in_gbs': :'Integer',
104
+ 'data_storage_size_in_gbs': :'Integer',
105
+ 'reco_storage_size_in_gbs': :'Integer',
106
+ 'license_model': :'String',
107
+ 'ssh_public_keys': :'Array<String>',
108
+ 'display_name': :'String',
109
+ 'additional_vm_storage_size_in_gbs': :'Integer',
110
+ 'update_details': :'OCI::Database::Models::BaseccVmClusterUpdateDetails',
111
+ 'freeform_tags': :'Hash<String, String>',
112
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
113
+ 'data_collection_options': :'OCI::Database::Models::DataCollectionOptions',
114
+ 'cloud_automation_update_details': :'OCI::Database::Models::CloudAutomationUpdateDetails'
115
+ # rubocop:enable Style/SymbolLiteral
116
+ }
117
+ end
118
+
119
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
120
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
121
+
122
+
123
+ # Initializes the object
124
+ # @param [Hash] attributes Model attributes in the form of hash
125
+ # @option attributes [Integer] :cpu_core_count The value to assign to the {#cpu_core_count} property
126
+ # @option attributes [Integer] :memory_size_in_gbs The value to assign to the {#memory_size_in_gbs} property
127
+ # @option attributes [Integer] :data_storage_size_in_gbs The value to assign to the {#data_storage_size_in_gbs} property
128
+ # @option attributes [Integer] :reco_storage_size_in_gbs The value to assign to the {#reco_storage_size_in_gbs} property
129
+ # @option attributes [String] :license_model The value to assign to the {#license_model} property
130
+ # @option attributes [Array<String>] :ssh_public_keys The value to assign to the {#ssh_public_keys} property
131
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
132
+ # @option attributes [Integer] :additional_vm_storage_size_in_gbs The value to assign to the {#additional_vm_storage_size_in_gbs} property
133
+ # @option attributes [OCI::Database::Models::BaseccVmClusterUpdateDetails] :update_details The value to assign to the {#update_details} property
134
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
135
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
136
+ # @option attributes [OCI::Database::Models::DataCollectionOptions] :data_collection_options The value to assign to the {#data_collection_options} property
137
+ # @option attributes [OCI::Database::Models::CloudAutomationUpdateDetails] :cloud_automation_update_details The value to assign to the {#cloud_automation_update_details} property
138
+ def initialize(attributes = {})
139
+ return unless attributes.is_a?(Hash)
140
+
141
+ # convert string to symbol for hash key
142
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
143
+
144
+ self.cpu_core_count = attributes[:'cpuCoreCount'] if attributes[:'cpuCoreCount']
145
+
146
+ raise 'You cannot provide both :cpuCoreCount and :cpu_core_count' if attributes.key?(:'cpuCoreCount') && attributes.key?(:'cpu_core_count')
147
+
148
+ self.cpu_core_count = attributes[:'cpu_core_count'] if attributes[:'cpu_core_count']
149
+
150
+ self.memory_size_in_gbs = attributes[:'memorySizeInGBs'] if attributes[:'memorySizeInGBs']
151
+
152
+ raise 'You cannot provide both :memorySizeInGBs and :memory_size_in_gbs' if attributes.key?(:'memorySizeInGBs') && attributes.key?(:'memory_size_in_gbs')
153
+
154
+ self.memory_size_in_gbs = attributes[:'memory_size_in_gbs'] if attributes[:'memory_size_in_gbs']
155
+
156
+ self.data_storage_size_in_gbs = attributes[:'dataStorageSizeInGBs'] if attributes[:'dataStorageSizeInGBs']
157
+
158
+ raise 'You cannot provide both :dataStorageSizeInGBs and :data_storage_size_in_gbs' if attributes.key?(:'dataStorageSizeInGBs') && attributes.key?(:'data_storage_size_in_gbs')
159
+
160
+ self.data_storage_size_in_gbs = attributes[:'data_storage_size_in_gbs'] if attributes[:'data_storage_size_in_gbs']
161
+
162
+ self.reco_storage_size_in_gbs = attributes[:'recoStorageSizeInGBs'] if attributes[:'recoStorageSizeInGBs']
163
+
164
+ raise 'You cannot provide both :recoStorageSizeInGBs and :reco_storage_size_in_gbs' if attributes.key?(:'recoStorageSizeInGBs') && attributes.key?(:'reco_storage_size_in_gbs')
165
+
166
+ self.reco_storage_size_in_gbs = attributes[:'reco_storage_size_in_gbs'] if attributes[:'reco_storage_size_in_gbs']
167
+
168
+ self.license_model = attributes[:'licenseModel'] if attributes[:'licenseModel']
169
+
170
+ raise 'You cannot provide both :licenseModel and :license_model' if attributes.key?(:'licenseModel') && attributes.key?(:'license_model')
171
+
172
+ self.license_model = attributes[:'license_model'] if attributes[:'license_model']
173
+
174
+ self.ssh_public_keys = attributes[:'sshPublicKeys'] if attributes[:'sshPublicKeys']
175
+
176
+ raise 'You cannot provide both :sshPublicKeys and :ssh_public_keys' if attributes.key?(:'sshPublicKeys') && attributes.key?(:'ssh_public_keys')
177
+
178
+ self.ssh_public_keys = attributes[:'ssh_public_keys'] if attributes[:'ssh_public_keys']
179
+
180
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
181
+
182
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
183
+
184
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
185
+
186
+ self.additional_vm_storage_size_in_gbs = attributes[:'additionalVmStorageSizeInGBs'] if attributes[:'additionalVmStorageSizeInGBs']
187
+
188
+ 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')
189
+
190
+ self.additional_vm_storage_size_in_gbs = attributes[:'additional_vm_storage_size_in_gbs'] if attributes[:'additional_vm_storage_size_in_gbs']
191
+
192
+ self.update_details = attributes[:'updateDetails'] if attributes[:'updateDetails']
193
+
194
+ raise 'You cannot provide both :updateDetails and :update_details' if attributes.key?(:'updateDetails') && attributes.key?(:'update_details')
195
+
196
+ self.update_details = attributes[:'update_details'] if attributes[:'update_details']
197
+
198
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
199
+
200
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
201
+
202
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
203
+
204
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
205
+
206
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
207
+
208
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
209
+
210
+ self.data_collection_options = attributes[:'dataCollectionOptions'] if attributes[:'dataCollectionOptions']
211
+
212
+ raise 'You cannot provide both :dataCollectionOptions and :data_collection_options' if attributes.key?(:'dataCollectionOptions') && attributes.key?(:'data_collection_options')
213
+
214
+ self.data_collection_options = attributes[:'data_collection_options'] if attributes[:'data_collection_options']
215
+
216
+ self.cloud_automation_update_details = attributes[:'cloudAutomationUpdateDetails'] if attributes[:'cloudAutomationUpdateDetails']
217
+
218
+ raise 'You cannot provide both :cloudAutomationUpdateDetails and :cloud_automation_update_details' if attributes.key?(:'cloudAutomationUpdateDetails') && attributes.key?(:'cloud_automation_update_details')
219
+
220
+ self.cloud_automation_update_details = attributes[:'cloud_automation_update_details'] if attributes[:'cloud_automation_update_details']
221
+ end
222
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
223
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
224
+
225
+ # Custom attribute writer method checking allowed values (enum).
226
+ # @param [Object] license_model Object to be assigned
227
+ def license_model=(license_model)
228
+ 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)
229
+
230
+ @license_model = license_model
231
+ end
232
+
233
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
234
+
235
+
236
+ # Checks equality by comparing each attribute.
237
+ # @param [Object] other the other object to be compared
238
+ def ==(other)
239
+ return true if equal?(other)
240
+
241
+ self.class == other.class &&
242
+ cpu_core_count == other.cpu_core_count &&
243
+ memory_size_in_gbs == other.memory_size_in_gbs &&
244
+ data_storage_size_in_gbs == other.data_storage_size_in_gbs &&
245
+ reco_storage_size_in_gbs == other.reco_storage_size_in_gbs &&
246
+ license_model == other.license_model &&
247
+ ssh_public_keys == other.ssh_public_keys &&
248
+ display_name == other.display_name &&
249
+ additional_vm_storage_size_in_gbs == other.additional_vm_storage_size_in_gbs &&
250
+ update_details == other.update_details &&
251
+ freeform_tags == other.freeform_tags &&
252
+ defined_tags == other.defined_tags &&
253
+ data_collection_options == other.data_collection_options &&
254
+ cloud_automation_update_details == other.cloud_automation_update_details
255
+ end
256
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
257
+
258
+ # @see the `==` method
259
+ # @param [Object] other the other object to be compared
260
+ def eql?(other)
261
+ self == other
262
+ end
263
+
264
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
265
+
266
+
267
+ # Calculates hash code according to all attributes.
268
+ # @return [Fixnum] Hash code
269
+ def hash
270
+ [cpu_core_count, memory_size_in_gbs, data_storage_size_in_gbs, reco_storage_size_in_gbs, license_model, ssh_public_keys, display_name, additional_vm_storage_size_in_gbs, update_details, freeform_tags, defined_tags, data_collection_options, cloud_automation_update_details].hash
271
+ end
272
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
273
+
274
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
275
+
276
+
277
+ # Builds the object from hash
278
+ # @param [Hash] attributes Model attributes in the form of hash
279
+ # @return [Object] Returns the model itself
280
+ def build_from_hash(attributes)
281
+ return nil unless attributes.is_a?(Hash)
282
+
283
+ self.class.swagger_types.each_pair do |key, type|
284
+ if type =~ /^Array<(.*)>/i
285
+ # check to ensure the input is an array given that the the attribute
286
+ # is documented as an array but the input is not
287
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
288
+ public_method("#{key}=").call(
289
+ attributes[self.class.attribute_map[key]]
290
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
291
+ )
292
+ end
293
+ elsif !attributes[self.class.attribute_map[key]].nil?
294
+ public_method("#{key}=").call(
295
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
296
+ )
297
+ end
298
+ # or else data not found in attributes(hash), not an issue as the data can be optional
299
+ end
300
+
301
+ self
302
+ end
303
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
304
+
305
+ # Returns the string representation of the object
306
+ # @return [String] String presentation of the object
307
+ def to_s
308
+ to_hash.to_s
309
+ end
310
+
311
+ # Returns the object in the form of hash
312
+ # @return [Hash] Returns the object in the form of hash
313
+ def to_hash
314
+ hash = {}
315
+ self.class.attribute_map.each_pair do |attr, param|
316
+ value = public_method(attr).call
317
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
318
+
319
+ hash[param] = _to_hash(value)
320
+ end
321
+ hash
322
+ end
323
+
324
+ private
325
+
326
+ # Outputs non-array value in the form of hash
327
+ # For object, use to_hash. Otherwise, just return the value
328
+ # @param [Object] value Any valid value
329
+ # @return [Hash] Returns the value in the form of hash
330
+ def _to_hash(value)
331
+ if value.is_a?(Array)
332
+ value.compact.map { |v| _to_hash(v) }
333
+ elsif value.is_a?(Hash)
334
+ {}.tap do |hash|
335
+ value.each { |k, v| hash[k] = _to_hash(v) }
336
+ end
337
+ elsif value.respond_to? :to_hash
338
+ value.to_hash
339
+ else
340
+ value
341
+ end
342
+ end
343
+ end
344
+ end
345
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength