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,216 @@
1
+ # Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
5
+ require 'date'
6
+ require 'logger'
7
+
8
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
9
+ module OCI
10
+ # Details about the most recent live image version applied on the VM Cluster, if any. If a full OS update was applied, the fields would be blank.
11
+ #
12
+ class Database::Models::ExadataLiveImageVersionDetails
13
+ UPDATE_MODE_ENUM = [
14
+ UPDATE_MODE_ONLINE_HIGHCVSS = 'ONLINE_HIGHCVSS'.freeze,
15
+ UPDATE_MODE_ONLINE_ALLCVSS = 'ONLINE_ALLCVSS'.freeze,
16
+ UPDATE_MODE_ONLINE_ALL_UPDATES = 'ONLINE_ALL_UPDATES'.freeze,
17
+ UPDATE_MODE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ # The OS live update mode performed most recently on the VM Cluster.
21
+ # @return [String]
22
+ attr_reader :update_mode
23
+
24
+ # Live Exadata Image Version of the Guest OS Update applied.
25
+ # @return [String]
26
+ attr_accessor :version
27
+
28
+ # Indicates whether OS updates that require node reboot are pending after the previous online update was applied.
29
+ #
30
+ # @return [BOOLEAN]
31
+ attr_accessor :has_pending_updates
32
+
33
+ # The release date and time for the applied Live Exadata Image OS version.
34
+ # @return [DateTime]
35
+ attr_accessor :time_released
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+ # rubocop:disable Style/SymbolLiteral
41
+ 'update_mode': :'updateMode',
42
+ 'version': :'version',
43
+ 'has_pending_updates': :'hasPendingUpdates',
44
+ 'time_released': :'timeReleased'
45
+ # rubocop:enable Style/SymbolLiteral
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.swagger_types
51
+ {
52
+ # rubocop:disable Style/SymbolLiteral
53
+ 'update_mode': :'String',
54
+ 'version': :'String',
55
+ 'has_pending_updates': :'BOOLEAN',
56
+ 'time_released': :'DateTime'
57
+ # rubocop:enable Style/SymbolLiteral
58
+ }
59
+ end
60
+
61
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
62
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
63
+
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ # @option attributes [String] :update_mode The value to assign to the {#update_mode} property
68
+ # @option attributes [String] :version The value to assign to the {#version} property
69
+ # @option attributes [BOOLEAN] :has_pending_updates The value to assign to the {#has_pending_updates} property
70
+ # @option attributes [DateTime] :time_released The value to assign to the {#time_released} property
71
+ def initialize(attributes = {})
72
+ return unless attributes.is_a?(Hash)
73
+
74
+ # convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
76
+
77
+ self.update_mode = attributes[:'updateMode'] if attributes[:'updateMode']
78
+
79
+ raise 'You cannot provide both :updateMode and :update_mode' if attributes.key?(:'updateMode') && attributes.key?(:'update_mode')
80
+
81
+ self.update_mode = attributes[:'update_mode'] if attributes[:'update_mode']
82
+
83
+ self.version = attributes[:'version'] if attributes[:'version']
84
+
85
+ self.has_pending_updates = attributes[:'hasPendingUpdates'] unless attributes[:'hasPendingUpdates'].nil?
86
+
87
+ raise 'You cannot provide both :hasPendingUpdates and :has_pending_updates' if attributes.key?(:'hasPendingUpdates') && attributes.key?(:'has_pending_updates')
88
+
89
+ self.has_pending_updates = attributes[:'has_pending_updates'] unless attributes[:'has_pending_updates'].nil?
90
+
91
+ self.time_released = attributes[:'timeReleased'] if attributes[:'timeReleased']
92
+
93
+ raise 'You cannot provide both :timeReleased and :time_released' if attributes.key?(:'timeReleased') && attributes.key?(:'time_released')
94
+
95
+ self.time_released = attributes[:'time_released'] if attributes[:'time_released']
96
+ end
97
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
98
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
99
+
100
+ # Custom attribute writer method checking allowed values (enum).
101
+ # @param [Object] update_mode Object to be assigned
102
+ def update_mode=(update_mode)
103
+ # rubocop:disable Style/ConditionalAssignment
104
+ if update_mode && !UPDATE_MODE_ENUM.include?(update_mode)
105
+ OCI.logger.debug("Unknown value for 'update_mode' [" + update_mode + "]. Mapping to 'UPDATE_MODE_UNKNOWN_ENUM_VALUE'") if OCI.logger
106
+ @update_mode = UPDATE_MODE_UNKNOWN_ENUM_VALUE
107
+ else
108
+ @update_mode = update_mode
109
+ end
110
+ # rubocop:enable Style/ConditionalAssignment
111
+ end
112
+
113
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
114
+
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] other the other object to be compared
118
+ def ==(other)
119
+ return true if equal?(other)
120
+
121
+ self.class == other.class &&
122
+ update_mode == other.update_mode &&
123
+ version == other.version &&
124
+ has_pending_updates == other.has_pending_updates &&
125
+ time_released == other.time_released
126
+ end
127
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
128
+
129
+ # @see the `==` method
130
+ # @param [Object] other the other object to be compared
131
+ def eql?(other)
132
+ self == other
133
+ end
134
+
135
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
136
+
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Fixnum] Hash code
140
+ def hash
141
+ [update_mode, version, has_pending_updates, time_released].hash
142
+ end
143
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
144
+
145
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
146
+
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def build_from_hash(attributes)
152
+ return nil unless attributes.is_a?(Hash)
153
+
154
+ self.class.swagger_types.each_pair do |key, type|
155
+ if type =~ /^Array<(.*)>/i
156
+ # check to ensure the input is an array given that the the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
159
+ public_method("#{key}=").call(
160
+ attributes[self.class.attribute_map[key]]
161
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
162
+ )
163
+ end
164
+ elsif !attributes[self.class.attribute_map[key]].nil?
165
+ public_method("#{key}=").call(
166
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
167
+ )
168
+ end
169
+ # or else data not found in attributes(hash), not an issue as the data can be optional
170
+ end
171
+
172
+ self
173
+ end
174
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = public_method(attr).call
188
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ private
196
+
197
+ # Outputs non-array value in the form of hash
198
+ # For object, use to_hash. Otherwise, just return the value
199
+ # @param [Object] value Any valid value
200
+ # @return [Hash] Returns the value in the form of hash
201
+ def _to_hash(value)
202
+ if value.is_a?(Array)
203
+ value.compact.map { |v| _to_hash(v) }
204
+ elsif value.is_a?(Hash)
205
+ {}.tap do |hash|
206
+ value.each { |k, v| hash[k] = _to_hash(v) }
207
+ end
208
+ elsif value.respond_to? :to_hash
209
+ value.to_hash
210
+ else
211
+ value
212
+ end
213
+ end
214
+ end
215
+ end
216
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -39,6 +39,14 @@ module OCI
39
39
  SHAPE_ATTRIBUTE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
40
40
  ].freeze
41
41
 
42
+ TDE_KEY_STORE_TYPE_ENUM = [
43
+ TDE_KEY_STORE_TYPE_AZURE = 'AZURE'.freeze,
44
+ TDE_KEY_STORE_TYPE_OCI = 'OCI'.freeze,
45
+ TDE_KEY_STORE_TYPE_GCP = 'GCP'.freeze,
46
+ TDE_KEY_STORE_TYPE_AWS = 'AWS'.freeze,
47
+ TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
48
+ ].freeze
49
+
42
50
  # @return [OCI::Database::Models::ExadataIormConfig]
43
51
  attr_accessor :iorm_config_cache
44
52
 
@@ -286,6 +294,14 @@ module OCI
286
294
  # @return [String]
287
295
  attr_reader :shape_attribute
288
296
 
297
+ # Details of the multi cloud identity connectors of the VM cluster.
298
+ # @return [Array<OCI::Database::Models::IdentityConnectorDetails>]
299
+ attr_accessor :multi_cloud_identity_connector_configs
300
+
301
+ # TDE keystore type
302
+ # @return [String]
303
+ attr_reader :tde_key_store_type
304
+
289
305
  # Attribute mapping from ruby-style variable name to JSON key.
290
306
  def self.attribute_map
291
307
  {
@@ -338,7 +354,9 @@ module OCI
338
354
  'memory_size_in_gbs': :'memorySizeInGBs',
339
355
  'cluster_placement_group_id': :'clusterPlacementGroupId',
340
356
  'subscription_id': :'subscriptionId',
341
- 'shape_attribute': :'shapeAttribute'
357
+ 'shape_attribute': :'shapeAttribute',
358
+ 'multi_cloud_identity_connector_configs': :'multiCloudIdentityConnectorConfigs',
359
+ 'tde_key_store_type': :'tdeKeyStoreType'
342
360
  # rubocop:enable Style/SymbolLiteral
343
361
  }
344
362
  end
@@ -395,7 +413,9 @@ module OCI
395
413
  'memory_size_in_gbs': :'Integer',
396
414
  'cluster_placement_group_id': :'String',
397
415
  'subscription_id': :'String',
398
- 'shape_attribute': :'String'
416
+ 'shape_attribute': :'String',
417
+ 'multi_cloud_identity_connector_configs': :'Array<OCI::Database::Models::IdentityConnectorDetails>',
418
+ 'tde_key_store_type': :'String'
399
419
  # rubocop:enable Style/SymbolLiteral
400
420
  }
401
421
  end
@@ -455,6 +475,8 @@ module OCI
455
475
  # @option attributes [String] :cluster_placement_group_id The value to assign to the {#cluster_placement_group_id} property
456
476
  # @option attributes [String] :subscription_id The value to assign to the {#subscription_id} property
457
477
  # @option attributes [String] :shape_attribute The value to assign to the {#shape_attribute} property
478
+ # @option attributes [Array<OCI::Database::Models::IdentityConnectorDetails>] :multi_cloud_identity_connector_configs The value to assign to the {#multi_cloud_identity_connector_configs} property
479
+ # @option attributes [String] :tde_key_store_type The value to assign to the {#tde_key_store_type} property
458
480
  def initialize(attributes = {})
459
481
  return unless attributes.is_a?(Hash)
460
482
 
@@ -738,6 +760,18 @@ module OCI
738
760
  raise 'You cannot provide both :shapeAttribute and :shape_attribute' if attributes.key?(:'shapeAttribute') && attributes.key?(:'shape_attribute')
739
761
 
740
762
  self.shape_attribute = attributes[:'shape_attribute'] if attributes[:'shape_attribute']
763
+
764
+ self.multi_cloud_identity_connector_configs = attributes[:'multiCloudIdentityConnectorConfigs'] if attributes[:'multiCloudIdentityConnectorConfigs']
765
+
766
+ raise 'You cannot provide both :multiCloudIdentityConnectorConfigs and :multi_cloud_identity_connector_configs' if attributes.key?(:'multiCloudIdentityConnectorConfigs') && attributes.key?(:'multi_cloud_identity_connector_configs')
767
+
768
+ self.multi_cloud_identity_connector_configs = attributes[:'multi_cloud_identity_connector_configs'] if attributes[:'multi_cloud_identity_connector_configs']
769
+
770
+ self.tde_key_store_type = attributes[:'tdeKeyStoreType'] if attributes[:'tdeKeyStoreType']
771
+
772
+ raise 'You cannot provide both :tdeKeyStoreType and :tde_key_store_type' if attributes.key?(:'tdeKeyStoreType') && attributes.key?(:'tde_key_store_type')
773
+
774
+ self.tde_key_store_type = attributes[:'tde_key_store_type'] if attributes[:'tde_key_store_type']
741
775
  end
742
776
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
743
777
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -794,6 +828,19 @@ module OCI
794
828
  # rubocop:enable Style/ConditionalAssignment
795
829
  end
796
830
 
831
+ # Custom attribute writer method checking allowed values (enum).
832
+ # @param [Object] tde_key_store_type Object to be assigned
833
+ def tde_key_store_type=(tde_key_store_type)
834
+ # rubocop:disable Style/ConditionalAssignment
835
+ if tde_key_store_type && !TDE_KEY_STORE_TYPE_ENUM.include?(tde_key_store_type)
836
+ OCI.logger.debug("Unknown value for 'tde_key_store_type' [" + tde_key_store_type + "]. Mapping to 'TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
837
+ @tde_key_store_type = TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE
838
+ else
839
+ @tde_key_store_type = tde_key_store_type
840
+ end
841
+ # rubocop:enable Style/ConditionalAssignment
842
+ end
843
+
797
844
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
798
845
 
799
846
 
@@ -851,7 +898,9 @@ module OCI
851
898
  memory_size_in_gbs == other.memory_size_in_gbs &&
852
899
  cluster_placement_group_id == other.cluster_placement_group_id &&
853
900
  subscription_id == other.subscription_id &&
854
- shape_attribute == other.shape_attribute
901
+ shape_attribute == other.shape_attribute &&
902
+ multi_cloud_identity_connector_configs == other.multi_cloud_identity_connector_configs &&
903
+ tde_key_store_type == other.tde_key_store_type
855
904
  end
856
905
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
857
906
 
@@ -867,7 +916,7 @@ module OCI
867
916
  # Calculates hash code according to all attributes.
868
917
  # @return [Fixnum] Hash code
869
918
  def hash
870
- [iorm_config_cache, id, compartment_id, availability_domain, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, last_update_history_entry_id, listener_port, lifecycle_state, node_count, shape, display_name, time_created, lifecycle_details, time_zone, hostname, domain, cluster_name, gi_version, grid_image_id, grid_image_type, system_version, ssh_public_keys, license_model, scan_ip_ids, vip_ids, scan_dns_record_id, freeform_tags, defined_tags, security_attributes, system_tags, scan_dns_name, zone_id, scan_listener_port_tcp, scan_listener_port_tcp_ssl, private_zone_id, data_collection_options, total_e_cpu_count, enabled_e_cpu_count, vm_file_system_storage, snapshot_file_system_storage, total_file_system_storage, exascale_db_storage_vault_id, memory_size_in_gbs, cluster_placement_group_id, subscription_id, shape_attribute].hash
919
+ [iorm_config_cache, id, compartment_id, availability_domain, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, last_update_history_entry_id, listener_port, lifecycle_state, node_count, shape, display_name, time_created, lifecycle_details, time_zone, hostname, domain, cluster_name, gi_version, grid_image_id, grid_image_type, system_version, ssh_public_keys, license_model, scan_ip_ids, vip_ids, scan_dns_record_id, freeform_tags, defined_tags, security_attributes, system_tags, scan_dns_name, zone_id, scan_listener_port_tcp, scan_listener_port_tcp_ssl, private_zone_id, data_collection_options, total_e_cpu_count, enabled_e_cpu_count, vm_file_system_storage, snapshot_file_system_storage, total_file_system_storage, exascale_db_storage_vault_id, memory_size_in_gbs, cluster_placement_group_id, subscription_id, shape_attribute, multi_cloud_identity_connector_configs, tde_key_store_type].hash
871
920
  end
872
921
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
873
922
 
@@ -39,6 +39,14 @@ module OCI
39
39
  SHAPE_ATTRIBUTE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
40
40
  ].freeze
41
41
 
42
+ TDE_KEY_STORE_TYPE_ENUM = [
43
+ TDE_KEY_STORE_TYPE_AZURE = 'AZURE'.freeze,
44
+ TDE_KEY_STORE_TYPE_OCI = 'OCI'.freeze,
45
+ TDE_KEY_STORE_TYPE_GCP = 'GCP'.freeze,
46
+ TDE_KEY_STORE_TYPE_AWS = 'AWS'.freeze,
47
+ TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
48
+ ].freeze
49
+
42
50
  # **[Required]** The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Exadata VM cluster on Exascale Infrastructure.
43
51
  # @return [String]
44
52
  attr_accessor :id
@@ -283,6 +291,14 @@ module OCI
283
291
  # @return [String]
284
292
  attr_reader :shape_attribute
285
293
 
294
+ # Details of the multi cloud identity connectors of the VM cluster.
295
+ # @return [Array<OCI::Database::Models::IdentityConnectorDetails>]
296
+ attr_accessor :multi_cloud_identity_connector_configs
297
+
298
+ # TDE keystore type
299
+ # @return [String]
300
+ attr_reader :tde_key_store_type
301
+
286
302
  # Attribute mapping from ruby-style variable name to JSON key.
287
303
  def self.attribute_map
288
304
  {
@@ -334,7 +350,9 @@ module OCI
334
350
  'memory_size_in_gbs': :'memorySizeInGBs',
335
351
  'cluster_placement_group_id': :'clusterPlacementGroupId',
336
352
  'subscription_id': :'subscriptionId',
337
- 'shape_attribute': :'shapeAttribute'
353
+ 'shape_attribute': :'shapeAttribute',
354
+ 'multi_cloud_identity_connector_configs': :'multiCloudIdentityConnectorConfigs',
355
+ 'tde_key_store_type': :'tdeKeyStoreType'
338
356
  # rubocop:enable Style/SymbolLiteral
339
357
  }
340
358
  end
@@ -390,7 +408,9 @@ module OCI
390
408
  'memory_size_in_gbs': :'Integer',
391
409
  'cluster_placement_group_id': :'String',
392
410
  'subscription_id': :'String',
393
- 'shape_attribute': :'String'
411
+ 'shape_attribute': :'String',
412
+ 'multi_cloud_identity_connector_configs': :'Array<OCI::Database::Models::IdentityConnectorDetails>',
413
+ 'tde_key_store_type': :'String'
394
414
  # rubocop:enable Style/SymbolLiteral
395
415
  }
396
416
  end
@@ -449,6 +469,8 @@ module OCI
449
469
  # @option attributes [String] :cluster_placement_group_id The value to assign to the {#cluster_placement_group_id} property
450
470
  # @option attributes [String] :subscription_id The value to assign to the {#subscription_id} property
451
471
  # @option attributes [String] :shape_attribute The value to assign to the {#shape_attribute} property
472
+ # @option attributes [Array<OCI::Database::Models::IdentityConnectorDetails>] :multi_cloud_identity_connector_configs The value to assign to the {#multi_cloud_identity_connector_configs} property
473
+ # @option attributes [String] :tde_key_store_type The value to assign to the {#tde_key_store_type} property
452
474
  def initialize(attributes = {})
453
475
  return unless attributes.is_a?(Hash)
454
476
 
@@ -726,6 +748,18 @@ module OCI
726
748
  raise 'You cannot provide both :shapeAttribute and :shape_attribute' if attributes.key?(:'shapeAttribute') && attributes.key?(:'shape_attribute')
727
749
 
728
750
  self.shape_attribute = attributes[:'shape_attribute'] if attributes[:'shape_attribute']
751
+
752
+ self.multi_cloud_identity_connector_configs = attributes[:'multiCloudIdentityConnectorConfigs'] if attributes[:'multiCloudIdentityConnectorConfigs']
753
+
754
+ raise 'You cannot provide both :multiCloudIdentityConnectorConfigs and :multi_cloud_identity_connector_configs' if attributes.key?(:'multiCloudIdentityConnectorConfigs') && attributes.key?(:'multi_cloud_identity_connector_configs')
755
+
756
+ self.multi_cloud_identity_connector_configs = attributes[:'multi_cloud_identity_connector_configs'] if attributes[:'multi_cloud_identity_connector_configs']
757
+
758
+ self.tde_key_store_type = attributes[:'tdeKeyStoreType'] if attributes[:'tdeKeyStoreType']
759
+
760
+ raise 'You cannot provide both :tdeKeyStoreType and :tde_key_store_type' if attributes.key?(:'tdeKeyStoreType') && attributes.key?(:'tde_key_store_type')
761
+
762
+ self.tde_key_store_type = attributes[:'tde_key_store_type'] if attributes[:'tde_key_store_type']
729
763
  end
730
764
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
731
765
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -782,6 +816,19 @@ module OCI
782
816
  # rubocop:enable Style/ConditionalAssignment
783
817
  end
784
818
 
819
+ # Custom attribute writer method checking allowed values (enum).
820
+ # @param [Object] tde_key_store_type Object to be assigned
821
+ def tde_key_store_type=(tde_key_store_type)
822
+ # rubocop:disable Style/ConditionalAssignment
823
+ if tde_key_store_type && !TDE_KEY_STORE_TYPE_ENUM.include?(tde_key_store_type)
824
+ OCI.logger.debug("Unknown value for 'tde_key_store_type' [" + tde_key_store_type + "]. Mapping to 'TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
825
+ @tde_key_store_type = TDE_KEY_STORE_TYPE_UNKNOWN_ENUM_VALUE
826
+ else
827
+ @tde_key_store_type = tde_key_store_type
828
+ end
829
+ # rubocop:enable Style/ConditionalAssignment
830
+ end
831
+
785
832
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
786
833
 
787
834
 
@@ -838,7 +885,9 @@ module OCI
838
885
  memory_size_in_gbs == other.memory_size_in_gbs &&
839
886
  cluster_placement_group_id == other.cluster_placement_group_id &&
840
887
  subscription_id == other.subscription_id &&
841
- shape_attribute == other.shape_attribute
888
+ shape_attribute == other.shape_attribute &&
889
+ multi_cloud_identity_connector_configs == other.multi_cloud_identity_connector_configs &&
890
+ tde_key_store_type == other.tde_key_store_type
842
891
  end
843
892
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
844
893
 
@@ -854,7 +903,7 @@ module OCI
854
903
  # Calculates hash code according to all attributes.
855
904
  # @return [Fixnum] Hash code
856
905
  def hash
857
- [id, compartment_id, availability_domain, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, last_update_history_entry_id, listener_port, lifecycle_state, node_count, shape, display_name, time_created, lifecycle_details, time_zone, hostname, domain, cluster_name, gi_version, grid_image_id, grid_image_type, system_version, ssh_public_keys, license_model, scan_ip_ids, vip_ids, scan_dns_record_id, freeform_tags, defined_tags, security_attributes, system_tags, scan_dns_name, zone_id, scan_listener_port_tcp, scan_listener_port_tcp_ssl, private_zone_id, data_collection_options, total_e_cpu_count, enabled_e_cpu_count, vm_file_system_storage, snapshot_file_system_storage, total_file_system_storage, exascale_db_storage_vault_id, memory_size_in_gbs, cluster_placement_group_id, subscription_id, shape_attribute].hash
906
+ [id, compartment_id, availability_domain, subnet_id, backup_subnet_id, nsg_ids, backup_network_nsg_ids, last_update_history_entry_id, listener_port, lifecycle_state, node_count, shape, display_name, time_created, lifecycle_details, time_zone, hostname, domain, cluster_name, gi_version, grid_image_id, grid_image_type, system_version, ssh_public_keys, license_model, scan_ip_ids, vip_ids, scan_dns_record_id, freeform_tags, defined_tags, security_attributes, system_tags, scan_dns_name, zone_id, scan_listener_port_tcp, scan_listener_port_tcp_ssl, private_zone_id, data_collection_options, total_e_cpu_count, enabled_e_cpu_count, vm_file_system_storage, snapshot_file_system_storage, total_file_system_storage, exascale_db_storage_vault_id, memory_size_in_gbs, cluster_placement_group_id, subscription_id, shape_attribute, multi_cloud_identity_connector_configs, tde_key_store_type].hash
858
907
  end
859
908
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
860
909
 
@@ -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 registering PKCS11 driver.
10
+ #
11
+ class Database::Models::RegisterExadbVmClusterPkcsDetails
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