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,13 @@
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: 20200407
5
+
6
+ module OCI
7
+ module GoldenGate::Models
8
+ AI_MODEL_AUTH_TYPE_ENUM = [
9
+ AI_MODEL_AUTH_TYPE_OCI_GEN_AI = 'OCI_GEN_AI'.freeze,
10
+ AI_MODEL_AUTH_TYPE_API_KEY = 'API_KEY'.freeze
11
+ ].freeze
12
+ end
13
+ end
@@ -0,0 +1,153 @@
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: 20200407
5
+ require 'date'
6
+
7
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
8
+ module OCI
9
+ # Collection of AI models currently known by GoldenGate for the specified provider.
10
+ #
11
+ class GoldenGate::Models::AiModelCollection
12
+ # **[Required]** An array of AI models.
13
+ #
14
+ # @return [Array<OCI::GoldenGate::Models::AiModelSummary>]
15
+ attr_accessor :items
16
+
17
+ # Attribute mapping from ruby-style variable name to JSON key.
18
+ def self.attribute_map
19
+ {
20
+ # rubocop:disable Style/SymbolLiteral
21
+ 'items': :'items'
22
+ # rubocop:enable Style/SymbolLiteral
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.swagger_types
28
+ {
29
+ # rubocop:disable Style/SymbolLiteral
30
+ 'items': :'Array<OCI::GoldenGate::Models::AiModelSummary>'
31
+ # rubocop:enable Style/SymbolLiteral
32
+ }
33
+ end
34
+
35
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
36
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
37
+
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ # @option attributes [Array<OCI::GoldenGate::Models::AiModelSummary>] :items The value to assign to the {#items} property
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
+
48
+ self.items = attributes[:'items'] if attributes[:'items']
49
+ end
50
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
51
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
52
+
53
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
54
+
55
+
56
+ # Checks equality by comparing each attribute.
57
+ # @param [Object] other the other object to be compared
58
+ def ==(other)
59
+ return true if equal?(other)
60
+
61
+ self.class == other.class &&
62
+ items == other.items
63
+ end
64
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
65
+
66
+ # @see the `==` method
67
+ # @param [Object] other the other object to be compared
68
+ def eql?(other)
69
+ self == other
70
+ end
71
+
72
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
73
+
74
+
75
+ # Calculates hash code according to all attributes.
76
+ # @return [Fixnum] Hash code
77
+ def hash
78
+ [items].hash
79
+ end
80
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
81
+
82
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
83
+
84
+
85
+ # Builds the object from hash
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ # @return [Object] Returns the model itself
88
+ def build_from_hash(attributes)
89
+ return nil unless attributes.is_a?(Hash)
90
+
91
+ self.class.swagger_types.each_pair do |key, type|
92
+ if type =~ /^Array<(.*)>/i
93
+ # check to ensure the input is an array given that the the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
96
+ public_method("#{key}=").call(
97
+ attributes[self.class.attribute_map[key]]
98
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
99
+ )
100
+ end
101
+ elsif !attributes[self.class.attribute_map[key]].nil?
102
+ public_method("#{key}=").call(
103
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
104
+ )
105
+ end
106
+ # or else data not found in attributes(hash), not an issue as the data can be optional
107
+ end
108
+
109
+ self
110
+ end
111
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
112
+
113
+ # Returns the string representation of the object
114
+ # @return [String] String presentation of the object
115
+ def to_s
116
+ to_hash.to_s
117
+ end
118
+
119
+ # Returns the object in the form of hash
120
+ # @return [Hash] Returns the object in the form of hash
121
+ def to_hash
122
+ hash = {}
123
+ self.class.attribute_map.each_pair do |attr, param|
124
+ value = public_method(attr).call
125
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
126
+
127
+ hash[param] = _to_hash(value)
128
+ end
129
+ hash
130
+ end
131
+
132
+ private
133
+
134
+ # Outputs non-array value in the form of hash
135
+ # For object, use to_hash. Otherwise, just return the value
136
+ # @param [Object] value Any valid value
137
+ # @return [Hash] Returns the value in the form of hash
138
+ def _to_hash(value)
139
+ if value.is_a?(Array)
140
+ value.compact.map { |v| _to_hash(v) }
141
+ elsif value.is_a?(Hash)
142
+ {}.tap do |hash|
143
+ value.each { |k, v| hash[k] = _to_hash(v) }
144
+ end
145
+ elsif value.respond_to? :to_hash
146
+ value.to_hash
147
+ else
148
+ value
149
+ end
150
+ end
151
+ end
152
+ end
153
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,350 @@
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: 20200407
5
+ require 'date'
6
+ require 'logger'
7
+ require_relative 'connection'
8
+
9
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
10
+ module OCI
11
+ # Represents the metadata of an AI Model Connection.
12
+ #
13
+ class GoldenGate::Models::AiModelConnection < GoldenGate::Models::Connection
14
+ TECHNOLOGY_TYPE_ENUM = [
15
+ TECHNOLOGY_TYPE_AI_MODEL = 'AI_MODEL'.freeze,
16
+ TECHNOLOGY_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
17
+ ].freeze
18
+
19
+ PROVIDER_TYPE_ENUM = [
20
+ PROVIDER_TYPE_OCI_GENERATIVE_AI = 'OCI_GENERATIVE_AI'.freeze,
21
+ PROVIDER_TYPE_GEMINI = 'GEMINI'.freeze,
22
+ PROVIDER_TYPE_OPEN_AI = 'OPEN_AI'.freeze,
23
+ PROVIDER_TYPE_VOYAGE_AI = 'VOYAGE_AI'.freeze,
24
+ PROVIDER_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
25
+ ].freeze
26
+
27
+ # **[Required]** The AI Model technology type.
28
+ # @return [String]
29
+ attr_reader :technology_type
30
+
31
+ # AI Provider type used by the AI Model Connection.
32
+ #
33
+ # @return [String]
34
+ attr_reader :provider_type
35
+
36
+ # **[Required]** AI model identifier.
37
+ #
38
+ # @return [String]
39
+ attr_accessor :model_key
40
+
41
+ # Maximum number of input characters supported by this AI model connection.
42
+ #
43
+ # @return [Integer]
44
+ attr_accessor :max_input_chars
45
+
46
+ # @return [OCI::GoldenGate::Models::AiModelAuthDetails]
47
+ attr_accessor :auth_details
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ # rubocop:disable Style/SymbolLiteral
53
+ 'connection_type': :'connectionType',
54
+ 'id': :'id',
55
+ 'display_name': :'displayName',
56
+ 'description': :'description',
57
+ 'compartment_id': :'compartmentId',
58
+ 'freeform_tags': :'freeformTags',
59
+ 'defined_tags': :'definedTags',
60
+ 'system_tags': :'systemTags',
61
+ 'lifecycle_state': :'lifecycleState',
62
+ 'lifecycle_details': :'lifecycleDetails',
63
+ 'time_created': :'timeCreated',
64
+ 'time_updated': :'timeUpdated',
65
+ 'locks': :'locks',
66
+ 'vault_id': :'vaultId',
67
+ 'key_id': :'keyId',
68
+ 'ingress_ips': :'ingressIps',
69
+ 'nsg_ids': :'nsgIds',
70
+ 'subnet_id': :'subnetId',
71
+ 'routing_method': :'routingMethod',
72
+ 'does_use_secret_ids': :'doesUseSecretIds',
73
+ 'subscription_id': :'subscriptionId',
74
+ 'cluster_placement_group_id': :'clusterPlacementGroupId',
75
+ 'security_attributes': :'securityAttributes',
76
+ 'technology_type': :'technologyType',
77
+ 'provider_type': :'providerType',
78
+ 'model_key': :'modelKey',
79
+ 'max_input_chars': :'maxInputChars',
80
+ 'auth_details': :'authDetails'
81
+ # rubocop:enable Style/SymbolLiteral
82
+ }
83
+ end
84
+
85
+ # Attribute type mapping.
86
+ def self.swagger_types
87
+ {
88
+ # rubocop:disable Style/SymbolLiteral
89
+ 'connection_type': :'String',
90
+ 'id': :'String',
91
+ 'display_name': :'String',
92
+ 'description': :'String',
93
+ 'compartment_id': :'String',
94
+ 'freeform_tags': :'Hash<String, String>',
95
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
96
+ 'system_tags': :'Hash<String, Hash<String, Object>>',
97
+ 'lifecycle_state': :'String',
98
+ 'lifecycle_details': :'String',
99
+ 'time_created': :'DateTime',
100
+ 'time_updated': :'DateTime',
101
+ 'locks': :'Array<OCI::GoldenGate::Models::ResourceLock>',
102
+ 'vault_id': :'String',
103
+ 'key_id': :'String',
104
+ 'ingress_ips': :'Array<OCI::GoldenGate::Models::IngressIpDetails>',
105
+ 'nsg_ids': :'Array<String>',
106
+ 'subnet_id': :'String',
107
+ 'routing_method': :'String',
108
+ 'does_use_secret_ids': :'BOOLEAN',
109
+ 'subscription_id': :'String',
110
+ 'cluster_placement_group_id': :'String',
111
+ 'security_attributes': :'Hash<String, Hash<String, Object>>',
112
+ 'technology_type': :'String',
113
+ 'provider_type': :'String',
114
+ 'model_key': :'String',
115
+ 'max_input_chars': :'Integer',
116
+ 'auth_details': :'OCI::GoldenGate::Models::AiModelAuthDetails'
117
+ # rubocop:enable Style/SymbolLiteral
118
+ }
119
+ end
120
+
121
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
122
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
123
+
124
+
125
+ # Initializes the object
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @option attributes [String] :id The value to assign to the {OCI::GoldenGate::Models::Connection#id #id} proprety
128
+ # @option attributes [String] :display_name The value to assign to the {OCI::GoldenGate::Models::Connection#display_name #display_name} proprety
129
+ # @option attributes [String] :description The value to assign to the {OCI::GoldenGate::Models::Connection#description #description} proprety
130
+ # @option attributes [String] :compartment_id The value to assign to the {OCI::GoldenGate::Models::Connection#compartment_id #compartment_id} proprety
131
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {OCI::GoldenGate::Models::Connection#freeform_tags #freeform_tags} proprety
132
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {OCI::GoldenGate::Models::Connection#defined_tags #defined_tags} proprety
133
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {OCI::GoldenGate::Models::Connection#system_tags #system_tags} proprety
134
+ # @option attributes [String] :lifecycle_state The value to assign to the {OCI::GoldenGate::Models::Connection#lifecycle_state #lifecycle_state} proprety
135
+ # @option attributes [String] :lifecycle_details The value to assign to the {OCI::GoldenGate::Models::Connection#lifecycle_details #lifecycle_details} proprety
136
+ # @option attributes [DateTime] :time_created The value to assign to the {OCI::GoldenGate::Models::Connection#time_created #time_created} proprety
137
+ # @option attributes [DateTime] :time_updated The value to assign to the {OCI::GoldenGate::Models::Connection#time_updated #time_updated} proprety
138
+ # @option attributes [Array<OCI::GoldenGate::Models::ResourceLock>] :locks The value to assign to the {OCI::GoldenGate::Models::Connection#locks #locks} proprety
139
+ # @option attributes [String] :vault_id The value to assign to the {OCI::GoldenGate::Models::Connection#vault_id #vault_id} proprety
140
+ # @option attributes [String] :key_id The value to assign to the {OCI::GoldenGate::Models::Connection#key_id #key_id} proprety
141
+ # @option attributes [Array<OCI::GoldenGate::Models::IngressIpDetails>] :ingress_ips The value to assign to the {OCI::GoldenGate::Models::Connection#ingress_ips #ingress_ips} proprety
142
+ # @option attributes [Array<String>] :nsg_ids The value to assign to the {OCI::GoldenGate::Models::Connection#nsg_ids #nsg_ids} proprety
143
+ # @option attributes [String] :subnet_id The value to assign to the {OCI::GoldenGate::Models::Connection#subnet_id #subnet_id} proprety
144
+ # @option attributes [String] :routing_method The value to assign to the {OCI::GoldenGate::Models::Connection#routing_method #routing_method} proprety
145
+ # @option attributes [BOOLEAN] :does_use_secret_ids The value to assign to the {OCI::GoldenGate::Models::Connection#does_use_secret_ids #does_use_secret_ids} proprety
146
+ # @option attributes [String] :subscription_id The value to assign to the {OCI::GoldenGate::Models::Connection#subscription_id #subscription_id} proprety
147
+ # @option attributes [String] :cluster_placement_group_id The value to assign to the {OCI::GoldenGate::Models::Connection#cluster_placement_group_id #cluster_placement_group_id} proprety
148
+ # @option attributes [Hash<String, Hash<String, Object>>] :security_attributes The value to assign to the {OCI::GoldenGate::Models::Connection#security_attributes #security_attributes} proprety
149
+ # @option attributes [String] :technology_type The value to assign to the {#technology_type} property
150
+ # @option attributes [String] :provider_type The value to assign to the {#provider_type} property
151
+ # @option attributes [String] :model_key The value to assign to the {#model_key} property
152
+ # @option attributes [Integer] :max_input_chars The value to assign to the {#max_input_chars} property
153
+ # @option attributes [OCI::GoldenGate::Models::AiModelAuthDetails] :auth_details The value to assign to the {#auth_details} property
154
+ def initialize(attributes = {})
155
+ return unless attributes.is_a?(Hash)
156
+
157
+ attributes['connectionType'] = 'AI_MODEL'
158
+
159
+ super(attributes)
160
+
161
+ # convert string to symbol for hash key
162
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
163
+
164
+ self.technology_type = attributes[:'technologyType'] if attributes[:'technologyType']
165
+
166
+ raise 'You cannot provide both :technologyType and :technology_type' if attributes.key?(:'technologyType') && attributes.key?(:'technology_type')
167
+
168
+ self.technology_type = attributes[:'technology_type'] if attributes[:'technology_type']
169
+
170
+ self.provider_type = attributes[:'providerType'] if attributes[:'providerType']
171
+
172
+ raise 'You cannot provide both :providerType and :provider_type' if attributes.key?(:'providerType') && attributes.key?(:'provider_type')
173
+
174
+ self.provider_type = attributes[:'provider_type'] if attributes[:'provider_type']
175
+
176
+ self.model_key = attributes[:'modelKey'] if attributes[:'modelKey']
177
+
178
+ raise 'You cannot provide both :modelKey and :model_key' if attributes.key?(:'modelKey') && attributes.key?(:'model_key')
179
+
180
+ self.model_key = attributes[:'model_key'] if attributes[:'model_key']
181
+
182
+ self.max_input_chars = attributes[:'maxInputChars'] if attributes[:'maxInputChars']
183
+
184
+ raise 'You cannot provide both :maxInputChars and :max_input_chars' if attributes.key?(:'maxInputChars') && attributes.key?(:'max_input_chars')
185
+
186
+ self.max_input_chars = attributes[:'max_input_chars'] if attributes[:'max_input_chars']
187
+
188
+ self.auth_details = attributes[:'authDetails'] if attributes[:'authDetails']
189
+
190
+ raise 'You cannot provide both :authDetails and :auth_details' if attributes.key?(:'authDetails') && attributes.key?(:'auth_details')
191
+
192
+ self.auth_details = attributes[:'auth_details'] if attributes[:'auth_details']
193
+ end
194
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
195
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
196
+
197
+ # Custom attribute writer method checking allowed values (enum).
198
+ # @param [Object] technology_type Object to be assigned
199
+ def technology_type=(technology_type)
200
+ # rubocop:disable Style/ConditionalAssignment
201
+ if technology_type && !TECHNOLOGY_TYPE_ENUM.include?(technology_type)
202
+ OCI.logger.debug("Unknown value for 'technology_type' [" + technology_type + "]. Mapping to 'TECHNOLOGY_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
203
+ @technology_type = TECHNOLOGY_TYPE_UNKNOWN_ENUM_VALUE
204
+ else
205
+ @technology_type = technology_type
206
+ end
207
+ # rubocop:enable Style/ConditionalAssignment
208
+ end
209
+
210
+ # Custom attribute writer method checking allowed values (enum).
211
+ # @param [Object] provider_type Object to be assigned
212
+ def provider_type=(provider_type)
213
+ # rubocop:disable Style/ConditionalAssignment
214
+ if provider_type && !PROVIDER_TYPE_ENUM.include?(provider_type)
215
+ OCI.logger.debug("Unknown value for 'provider_type' [" + provider_type + "]. Mapping to 'PROVIDER_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
216
+ @provider_type = PROVIDER_TYPE_UNKNOWN_ENUM_VALUE
217
+ else
218
+ @provider_type = provider_type
219
+ end
220
+ # rubocop:enable Style/ConditionalAssignment
221
+ end
222
+
223
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
224
+
225
+
226
+ # Checks equality by comparing each attribute.
227
+ # @param [Object] other the other object to be compared
228
+ def ==(other)
229
+ return true if equal?(other)
230
+
231
+ self.class == other.class &&
232
+ connection_type == other.connection_type &&
233
+ id == other.id &&
234
+ display_name == other.display_name &&
235
+ description == other.description &&
236
+ compartment_id == other.compartment_id &&
237
+ freeform_tags == other.freeform_tags &&
238
+ defined_tags == other.defined_tags &&
239
+ system_tags == other.system_tags &&
240
+ lifecycle_state == other.lifecycle_state &&
241
+ lifecycle_details == other.lifecycle_details &&
242
+ time_created == other.time_created &&
243
+ time_updated == other.time_updated &&
244
+ locks == other.locks &&
245
+ vault_id == other.vault_id &&
246
+ key_id == other.key_id &&
247
+ ingress_ips == other.ingress_ips &&
248
+ nsg_ids == other.nsg_ids &&
249
+ subnet_id == other.subnet_id &&
250
+ routing_method == other.routing_method &&
251
+ does_use_secret_ids == other.does_use_secret_ids &&
252
+ subscription_id == other.subscription_id &&
253
+ cluster_placement_group_id == other.cluster_placement_group_id &&
254
+ security_attributes == other.security_attributes &&
255
+ technology_type == other.technology_type &&
256
+ provider_type == other.provider_type &&
257
+ model_key == other.model_key &&
258
+ max_input_chars == other.max_input_chars &&
259
+ auth_details == other.auth_details
260
+ end
261
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
262
+
263
+ # @see the `==` method
264
+ # @param [Object] other the other object to be compared
265
+ def eql?(other)
266
+ self == other
267
+ end
268
+
269
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
270
+
271
+
272
+ # Calculates hash code according to all attributes.
273
+ # @return [Fixnum] Hash code
274
+ def hash
275
+ [connection_type, id, display_name, description, compartment_id, freeform_tags, defined_tags, system_tags, lifecycle_state, lifecycle_details, time_created, time_updated, locks, vault_id, key_id, ingress_ips, nsg_ids, subnet_id, routing_method, does_use_secret_ids, subscription_id, cluster_placement_group_id, security_attributes, technology_type, provider_type, model_key, max_input_chars, auth_details].hash
276
+ end
277
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
278
+
279
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
280
+
281
+
282
+ # Builds the object from hash
283
+ # @param [Hash] attributes Model attributes in the form of hash
284
+ # @return [Object] Returns the model itself
285
+ def build_from_hash(attributes)
286
+ return nil unless attributes.is_a?(Hash)
287
+
288
+ self.class.swagger_types.each_pair do |key, type|
289
+ if type =~ /^Array<(.*)>/i
290
+ # check to ensure the input is an array given that the the attribute
291
+ # is documented as an array but the input is not
292
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
293
+ public_method("#{key}=").call(
294
+ attributes[self.class.attribute_map[key]]
295
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
296
+ )
297
+ end
298
+ elsif !attributes[self.class.attribute_map[key]].nil?
299
+ public_method("#{key}=").call(
300
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
301
+ )
302
+ end
303
+ # or else data not found in attributes(hash), not an issue as the data can be optional
304
+ end
305
+
306
+ self
307
+ end
308
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
309
+
310
+ # Returns the string representation of the object
311
+ # @return [String] String presentation of the object
312
+ def to_s
313
+ to_hash.to_s
314
+ end
315
+
316
+ # Returns the object in the form of hash
317
+ # @return [Hash] Returns the object in the form of hash
318
+ def to_hash
319
+ hash = {}
320
+ self.class.attribute_map.each_pair do |attr, param|
321
+ value = public_method(attr).call
322
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
323
+
324
+ hash[param] = _to_hash(value)
325
+ end
326
+ hash
327
+ end
328
+
329
+ private
330
+
331
+ # Outputs non-array value in the form of hash
332
+ # For object, use to_hash. Otherwise, just return the value
333
+ # @param [Object] value Any valid value
334
+ # @return [Hash] Returns the value in the form of hash
335
+ def _to_hash(value)
336
+ if value.is_a?(Array)
337
+ value.compact.map { |v| _to_hash(v) }
338
+ elsif value.is_a?(Hash)
339
+ {}.tap do |hash|
340
+ value.each { |k, v| hash[k] = _to_hash(v) }
341
+ end
342
+ elsif value.respond_to? :to_hash
343
+ value.to_hash
344
+ else
345
+ value
346
+ end
347
+ end
348
+ end
349
+ end
350
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength