oci 2.11.0 → 2.12.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/analytics/analytics_client.rb +15 -0
  5. data/lib/oci/announcements_service/announcement_client.rb +4 -0
  6. data/lib/oci/apigateway/api_gateway_client.rb +15 -0
  7. data/lib/oci/apigateway/deployment_client.rb +6 -0
  8. data/lib/oci/apigateway/gateway_client.rb +6 -0
  9. data/lib/oci/apigateway/work_requests_client.rb +5 -0
  10. data/lib/oci/application_migration/application_migration_client.rb +19 -0
  11. data/lib/oci/audit/audit_client.rb +4 -1
  12. data/lib/oci/audit/models/audit_event.rb +8 -7
  13. data/lib/oci/audit/models/data.rb +0 -107
  14. data/lib/oci/audit/models/identity.rb +0 -17
  15. data/lib/oci/audit/models/request.rb +0 -46
  16. data/lib/oci/audit/models/response.rb +0 -34
  17. data/lib/oci/audit/models/state_change.rb +0 -9
  18. data/lib/oci/auth/signers/ephemeral_resource_principals_signer.rb +0 -1
  19. data/lib/oci/auth/signers/resource_principals_signer.rb +1 -1
  20. data/lib/oci/autoscaling/auto_scaling_client.rb +11 -0
  21. data/lib/oci/bds/bds_client.rb +16 -0
  22. data/lib/oci/blockchain/blockchain.rb +1 -0
  23. data/lib/oci/blockchain/blockchain_platform_client.rb +57 -0
  24. data/lib/oci/blockchain/models/blockchain_platform.rb +36 -3
  25. data/lib/oci/blockchain/models/blockchain_platform_by_hostname.rb +1 -1
  26. data/lib/oci/blockchain/models/blockchain_platform_summary.rb +1 -1
  27. data/lib/oci/blockchain/models/create_blockchain_platform_details.rb +2 -2
  28. data/lib/oci/blockchain/models/scaled_blockchain_platform_preview.rb +1 -1
  29. data/lib/oci/blockchain/models/work_request.rb +1 -0
  30. data/lib/oci/blockchain/models/work_request_resource.rb +18 -4
  31. data/lib/oci/blockchain/models/work_request_resource_sub_type_detail.rb +206 -0
  32. data/lib/oci/blockchain/models/work_request_summary.rb +1 -0
  33. data/lib/oci/budget/budget_client.rb +10 -0
  34. data/lib/oci/cims/incident_client.rb +7 -0
  35. data/lib/oci/cims/user_client.rb +1 -0
  36. data/lib/oci/cloud_guard/cloud_guard_client.rb +82 -0
  37. data/lib/oci/cloud_guard/models/rule_summary.rb +1 -0
  38. data/lib/oci/compute_instance_agent/compute_instance_agent_client.rb +6 -0
  39. data/lib/oci/container_engine/container_engine_client.rb +18 -0
  40. data/lib/oci/core/blockstorage_client.rb +53 -0
  41. data/lib/oci/core/compute_client.rb +71 -0
  42. data/lib/oci/core/compute_management_client.rb +28 -0
  43. data/lib/oci/core/virtual_network_client.rb +194 -0
  44. data/lib/oci/data_catalog/data_catalog.rb +5 -0
  45. data/lib/oci/data_catalog/data_catalog_client.rb +307 -4
  46. data/lib/oci/data_catalog/models/attribute.rb +45 -4
  47. data/lib/oci/data_catalog/models/attribute_summary.rb +45 -4
  48. data/lib/oci/data_catalog/models/faceted_search_aggregation.rb +55 -4
  49. data/lib/oci/{database/models/create_autonomous_data_warehouse_backup_details.rb → data_catalog/models/rule_attribute.rb} +25 -18
  50. data/lib/oci/data_catalog/models/rule_collection.rb +161 -0
  51. data/lib/oci/data_catalog/models/rule_origin_type.rb +12 -0
  52. data/lib/oci/data_catalog/models/rule_summary.rb +439 -0
  53. data/lib/oci/data_catalog/models/rule_type.rb +12 -0
  54. data/lib/oci/data_catalog/models/search_result_collection.rb +18 -4
  55. data/lib/oci/data_flow/data_flow_client.rb +24 -0
  56. data/lib/oci/data_integration/data_integration_client.rb +92 -0
  57. data/lib/oci/data_safe/data_safe.rb +8 -0
  58. data/lib/oci/data_safe/data_safe_client.rb +606 -13
  59. data/lib/oci/data_safe/data_safe_client_composite_operations.rb +198 -0
  60. data/lib/oci/data_safe/models/change_on_prem_connector_compartment_details.rb +154 -0
  61. data/lib/oci/data_safe/models/create_data_safe_private_endpoint_details.rb +1 -1
  62. data/lib/oci/{database/models/update_autonomous_data_warehouse_details.rb → data_safe/models/create_on_prem_connector_details.rb} +27 -49
  63. data/lib/oci/data_safe/models/data_safe_configuration.rb +5 -5
  64. data/lib/oci/data_safe/models/data_safe_private_endpoint.rb +2 -2
  65. data/lib/oci/data_safe/models/data_safe_private_endpoint_summary.rb +1 -1
  66. data/lib/oci/data_safe/models/enable_data_safe_configuration_details.rb +6 -40
  67. data/lib/oci/{database/models/generate_autonomous_data_warehouse_wallet_details.rb → data_safe/models/generate_on_prem_connector_configuration_details.rb} +3 -4
  68. data/lib/oci/{database/models/autonomous_data_warehouse_backup_summary.rb → data_safe/models/on_prem_connector.rb} +98 -98
  69. data/lib/oci/data_safe/models/on_prem_connector_lifecycle_state.rb +16 -0
  70. data/lib/oci/{database/models/autonomous_data_warehouse_backup.rb → data_safe/models/on_prem_connector_summary.rb} +90 -99
  71. data/lib/oci/data_safe/models/service_list.rb +1 -0
  72. data/lib/oci/data_safe/models/update_data_safe_private_endpoint_details.rb +1 -1
  73. data/lib/oci/data_safe/models/update_on_prem_connector_details.rb +198 -0
  74. data/lib/oci/data_safe/models/update_on_prem_connector_wallet_details.rb +156 -0
  75. data/lib/oci/data_safe/models/work_request.rb +11 -6
  76. data/lib/oci/data_safe/models/work_request_error.rb +3 -4
  77. data/lib/oci/data_safe/models/work_request_log_entry.rb +3 -3
  78. data/lib/oci/data_safe/models/work_request_summary.rb +13 -8
  79. data/lib/oci/data_science/data_science_client.rb +34 -0
  80. data/lib/oci/database/database.rb +4 -8
  81. data/lib/oci/database/database_client.rb +523 -766
  82. data/lib/oci/database/database_client_composite_operations.rb +1299 -330
  83. data/lib/oci/database/models/activate_exadata_infrastructure_details.rb +2 -1
  84. data/lib/oci/database/models/autonomous_container_database.rb +3 -3
  85. data/lib/oci/database/models/autonomous_container_database_dataguard_association.rb +2 -2
  86. data/lib/oci/database/models/autonomous_container_database_summary.rb +3 -3
  87. data/lib/oci/database/models/autonomous_data_warehouse.rb +8 -21
  88. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +8 -21
  89. data/lib/oci/database/models/autonomous_database.rb +35 -3
  90. data/lib/oci/database/models/autonomous_database_apex.rb +169 -0
  91. data/lib/oci/database/models/autonomous_database_dataguard_association.rb +2 -2
  92. data/lib/oci/database/models/autonomous_database_summary.rb +35 -3
  93. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +2 -0
  94. data/lib/oci/database/models/autonomous_db_version_summary.rb +2 -0
  95. data/lib/oci/database/models/backup.rb +19 -5
  96. data/lib/oci/database/models/backup_summary.rb +19 -5
  97. data/lib/oci/database/models/change_cloud_exadata_infrastructure_compartment_details.rb +1 -1
  98. data/lib/oci/database/models/change_cloud_vm_cluster_compartment_details.rb +1 -1
  99. data/lib/oci/database/models/cloud_exadata_infrastructure.rb +2 -1
  100. data/lib/oci/database/models/cloud_exadata_infrastructure_summary.rb +2 -1
  101. data/lib/oci/database/models/cloud_vm_cluster.rb +1 -1
  102. data/lib/oci/database/models/cloud_vm_cluster_summary.rb +1 -1
  103. data/lib/oci/database/models/create_autonomous_container_database_details.rb +1 -1
  104. data/lib/oci/database/models/create_autonomous_database_base.rb +7 -3
  105. data/lib/oci/database/models/create_cloud_exadata_infrastructure_details.rb +1 -1
  106. data/lib/oci/database/models/create_cloud_vm_cluster_details.rb +2 -1
  107. data/lib/oci/database/models/create_database_base.rb +33 -4
  108. data/lib/oci/database/models/create_database_from_backup.rb +9 -1
  109. data/lib/oci/database/models/create_db_home_base.rb +30 -1
  110. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +9 -1
  111. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +9 -1
  112. data/lib/oci/database/models/create_db_home_with_db_system_id_from_database_details.rb +9 -1
  113. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_details.rb +9 -1
  114. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_from_backup_details.rb +9 -1
  115. data/lib/oci/database/models/create_exadata_infrastructure_details.rb +16 -2
  116. data/lib/oci/database/models/create_new_database_details.rb +9 -1
  117. data/lib/oci/database/models/create_vm_cluster_details.rb +2 -1
  118. data/lib/oci/database/models/database.rb +16 -2
  119. data/lib/oci/database/models/database_summary.rb +16 -2
  120. data/lib/oci/database/models/db_home.rb +16 -2
  121. data/lib/oci/database/models/db_home_summary.rb +16 -2
  122. data/lib/oci/database/models/db_system.rb +16 -2
  123. data/lib/oci/database/models/db_system_summary.rb +16 -2
  124. data/lib/oci/database/models/exadata_db_system_migration.rb +1 -1
  125. data/lib/oci/database/models/exadata_db_system_migration_summary.rb +1 -1
  126. data/lib/oci/database/models/exadata_infrastructure.rb +15 -1
  127. data/lib/oci/database/models/exadata_infrastructure_summary.rb +18 -2
  128. data/lib/oci/database/models/flex_component_collection.rb +150 -0
  129. data/lib/oci/database/models/flex_component_summary.rb +197 -0
  130. data/lib/oci/database/models/generate_recommended_network_details.rb +1 -1
  131. data/lib/oci/database/models/launch_db_system_base.rb +30 -1
  132. data/lib/oci/database/models/launch_db_system_details.rb +9 -1
  133. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +9 -1
  134. data/lib/oci/database/models/launch_db_system_from_database_details.rb +9 -1
  135. data/lib/oci/database/models/launch_db_system_from_db_system_details.rb +9 -1
  136. data/lib/oci/database/models/maintenance_run.rb +2 -1
  137. data/lib/oci/database/models/maintenance_run_summary.rb +2 -1
  138. data/lib/oci/database/models/migrate_vault_key_details.rb +170 -0
  139. data/lib/oci/database/models/update_autonomous_container_database_details.rb +1 -1
  140. data/lib/oci/database/models/update_autonomous_database_details.rb +6 -2
  141. data/lib/oci/database/models/update_cloud_exadata_infrastructure_details.rb +1 -1
  142. data/lib/oci/database/models/update_cloud_vm_cluster_details.rb +3 -2
  143. data/lib/oci/database/models/update_database_details.rb +1 -1
  144. data/lib/oci/database/models/update_details.rb +1 -1
  145. data/lib/oci/database/models/update_exadata_infrastructure_details.rb +16 -2
  146. data/lib/oci/database/models/update_history_entry_summary.rb +2 -1
  147. data/lib/oci/database/models/update_summary.rb +1 -1
  148. data/lib/oci/database/models/update_vm_cluster_details.rb +3 -1
  149. data/lib/oci/database/models/update_vm_cluster_network_details.rb +1 -1
  150. data/lib/oci/database/models/vm_cluster.rb +2 -1
  151. data/lib/oci/database/models/vm_cluster_network_details.rb +1 -1
  152. data/lib/oci/database/models/vm_cluster_network_summary.rb +2 -1
  153. data/lib/oci/database/models/vm_cluster_summary.rb +1 -0
  154. data/lib/oci/database/models/vm_network_details.rb +2 -1
  155. data/lib/oci/dns/dns_client.rb +49 -0
  156. data/lib/oci/dts/appliance_export_job_client.rb +6 -0
  157. data/lib/oci/dts/shipping_vendors_client.rb +1 -0
  158. data/lib/oci/dts/transfer_appliance_client.rb +8 -0
  159. data/lib/oci/dts/transfer_appliance_entitlement_client.rb +3 -0
  160. data/lib/oci/dts/transfer_device_client.rb +5 -0
  161. data/lib/oci/dts/transfer_job_client.rb +6 -0
  162. data/lib/oci/dts/transfer_package_client.rb +7 -0
  163. data/lib/oci/email/email_client.rb +10 -0
  164. data/lib/oci/events/events_client.rb +6 -0
  165. data/lib/oci/file_storage/file_storage_client.rb +25 -0
  166. data/lib/oci/functions/functions_invoke_client.rb +1 -0
  167. data/lib/oci/functions/functions_management_client.rb +11 -0
  168. data/lib/oci/healthchecks/health_checks_client.rb +17 -0
  169. data/lib/oci/identity/identity_client.rb +120 -0
  170. data/lib/oci/identity/models/saml2_identity_provider.rb +12 -1
  171. data/lib/oci/integration/integration.rb +3 -0
  172. data/lib/oci/integration/integration_instance_client.rb +12 -0
  173. data/lib/oci/integration/models/create_custom_endpoint_details.rb +167 -0
  174. data/lib/oci/integration/models/create_integration_instance_details.rb +44 -1
  175. data/lib/oci/integration/models/custom_endpoint_details.rb +180 -0
  176. data/lib/oci/integration/models/integration_instance.rb +43 -1
  177. data/lib/oci/integration/models/integration_instance_summary.rb +43 -1
  178. data/lib/oci/integration/models/update_custom_endpoint_details.rb +167 -0
  179. data/lib/oci/integration/models/update_integration_instance_details.rb +47 -4
  180. data/lib/oci/key_management/kms_crypto_client.rb +4 -0
  181. data/lib/oci/key_management/kms_management_client.rb +31 -0
  182. data/lib/oci/key_management/kms_vault_client.rb +11 -0
  183. data/lib/oci/limits/limits_client.rb +4 -0
  184. data/lib/oci/limits/quotas_client.rb +5 -0
  185. data/lib/oci/load_balancer/load_balancer.rb +1 -0
  186. data/lib/oci/load_balancer/load_balancer_client.rb +56 -0
  187. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +16 -1
  188. data/lib/oci/load_balancer/models/load_balancer.rb +14 -1
  189. data/lib/oci/load_balancer/models/shape_details.rb +180 -0
  190. data/lib/oci/load_balancer/models/ssl_configuration.rb +1 -1
  191. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +1 -1
  192. data/lib/oci/load_balancer/models/update_load_balancer_shape_details.rb +22 -4
  193. data/lib/oci/log_analytics/log_analytics_client.rb +126 -0
  194. data/lib/oci/logging/logging_management_client.rb +32 -0
  195. data/lib/oci/loggingingestion/logging_client.rb +1 -0
  196. data/lib/oci/loggingsearch/log_search_client.rb +1 -0
  197. data/lib/oci/management_agent/management_agent.rb +2 -0
  198. data/lib/oci/management_agent/management_agent_client.rb +101 -0
  199. data/lib/oci/management_agent/models/availability_history_summary.rb +217 -0
  200. data/lib/oci/management_agent/models/availability_status.rb +12 -0
  201. data/lib/oci/management_agent/models/management_agent.rb +35 -1
  202. data/lib/oci/management_agent/models/management_agent_summary.rb +49 -1
  203. data/lib/oci/management_dashboard/dashx_apis_client.rb +14 -0
  204. data/lib/oci/marketplace/marketplace_client.rb +16 -0
  205. data/lib/oci/monitoring/monitoring_client.rb +12 -0
  206. data/lib/oci/mysql/channels_client.rb +625 -0
  207. data/lib/oci/mysql/channels_client_composite_operations.rb +271 -0
  208. data/lib/oci/mysql/db_backups_client.rb +11 -0
  209. data/lib/oci/mysql/db_system_client.rb +17 -0
  210. data/lib/oci/mysql/models/backup.rb +16 -3
  211. data/lib/oci/mysql/models/backup_summary.rb +17 -3
  212. data/lib/oci/mysql/models/ca_certificate.rb +189 -0
  213. data/lib/oci/mysql/models/channel.rb +340 -0
  214. data/lib/oci/mysql/models/channel_source.rb +189 -0
  215. data/lib/oci/mysql/models/channel_source_mysql.rb +230 -0
  216. data/lib/oci/mysql/models/channel_summary.rb +304 -0
  217. data/lib/oci/mysql/models/channel_target.rb +189 -0
  218. data/lib/oci/mysql/models/channel_target_db_system.rb +193 -0
  219. data/lib/oci/mysql/models/configuration.rb +2 -2
  220. data/lib/oci/mysql/models/configuration_summary.rb +2 -2
  221. data/lib/oci/mysql/models/configuration_variables.rb +30 -15
  222. data/lib/oci/mysql/models/create_backup_details.rb +2 -2
  223. data/lib/oci/mysql/models/create_backup_policy_details.rb +3 -0
  224. data/lib/oci/mysql/models/create_channel_details.rb +248 -0
  225. data/lib/oci/mysql/models/create_channel_source_details.rb +170 -0
  226. data/lib/oci/mysql/models/create_channel_source_from_mysql_details.rb +224 -0
  227. data/lib/oci/mysql/models/create_channel_target_details.rb +170 -0
  228. data/lib/oci/mysql/models/create_channel_target_from_db_system_details.rb +193 -0
  229. data/lib/oci/mysql/models/create_configuration_details.rb +2 -3
  230. data/lib/oci/mysql/models/create_db_system_details.rb +1 -1
  231. data/lib/oci/mysql/models/create_db_system_source_details.rb +1 -0
  232. data/lib/oci/mysql/models/create_db_system_source_from_none_details.rb +146 -0
  233. data/lib/oci/mysql/models/db_system.rb +15 -3
  234. data/lib/oci/mysql/models/db_system_snapshot.rb +437 -0
  235. data/lib/oci/mysql/models/db_system_source.rb +1 -0
  236. data/lib/oci/mysql/models/db_system_source_from_none.rb +146 -0
  237. data/lib/oci/mysql/models/db_system_summary.rb +2 -2
  238. data/lib/oci/mysql/models/pem_ca_certificate.rb +158 -0
  239. data/lib/oci/mysql/models/update_backup_details.rb +2 -2
  240. data/lib/oci/mysql/models/update_backup_policy_details.rb +3 -0
  241. data/lib/oci/mysql/models/update_channel_details.rb +234 -0
  242. data/lib/oci/mysql/models/update_channel_source_details.rb +171 -0
  243. data/lib/oci/mysql/models/update_channel_source_from_mysql_details.rb +224 -0
  244. data/lib/oci/mysql/models/update_channel_target_details.rb +170 -0
  245. data/lib/oci/mysql/models/update_channel_target_from_db_system_details.rb +179 -0
  246. data/lib/oci/mysql/models/update_configuration_details.rb +2 -2
  247. data/lib/oci/mysql/mysql.rb +23 -0
  248. data/lib/oci/mysql/mysqlaas_client.rb +7 -0
  249. data/lib/oci/mysql/work_requests_client.rb +4 -0
  250. data/lib/oci/nosql/nosql_client.rb +22 -0
  251. data/lib/oci/object_storage/models/object_lifecycle_rule.rb +11 -9
  252. data/lib/oci/object_storage/object_storage_client.rb +55 -6
  253. data/lib/oci/oce/oce_instance_client.rb +10 -0
  254. data/lib/oci/ocvp/esxi_host_client.rb +5 -0
  255. data/lib/oci/ocvp/sddc_client.rb +7 -0
  256. data/lib/oci/ocvp/work_request_client.rb +4 -0
  257. data/lib/oci/oda/oda_client.rb +12 -0
  258. data/lib/oci/ons/notification_control_plane_client.rb +6 -0
  259. data/lib/oci/ons/notification_data_plane_client.rb +10 -0
  260. data/lib/oci/opsi/models/sql_insight_aggregation.rb +2 -1
  261. data/lib/oci/opsi/models/sql_insight_thresholds.rb +21 -4
  262. data/lib/oci/opsi/operations_insights_client.rb +22 -3
  263. data/lib/oci/optimizer/optimizer_client.rb +22 -0
  264. data/lib/oci/os_management/os_management_client.rb +53 -0
  265. data/lib/oci/regions.rb +3 -0
  266. data/lib/oci/resource_manager/models/configuration_source_provider.rb +5 -1
  267. data/lib/oci/resource_manager/models/configuration_source_provider_summary.rb +3 -1
  268. data/lib/oci/resource_manager/models/create_configuration_source_provider_details.rb +4 -1
  269. data/lib/oci/resource_manager/models/create_github_access_token_configuration_source_provider_details.rb +200 -0
  270. data/lib/oci/resource_manager/models/create_gitlab_access_token_configuration_source_provider_details.rb +3 -3
  271. data/lib/oci/resource_manager/models/github_access_token_configuration_source_provider.rb +198 -0
  272. data/lib/oci/resource_manager/models/github_access_token_configuration_source_provider_summary.rb +198 -0
  273. data/lib/oci/resource_manager/models/gitlab_access_token_configuration_source_provider.rb +2 -2
  274. data/lib/oci/resource_manager/models/gitlab_access_token_configuration_source_provider_summary.rb +2 -2
  275. data/lib/oci/resource_manager/models/update_configuration_source_provider_details.rb +4 -1
  276. data/lib/oci/resource_manager/models/update_github_access_token_configuration_source_provider_details.rb +196 -0
  277. data/lib/oci/resource_manager/models/update_gitlab_access_token_configuration_source_provider_details.rb +3 -3
  278. data/lib/oci/resource_manager/resource_manager.rb +4 -0
  279. data/lib/oci/resource_manager/resource_manager_client.rb +36 -2
  280. data/lib/oci/resource_search/resource_search_client.rb +3 -0
  281. data/lib/oci/rover/models/change_rover_cluster_compartment_details.rb +155 -0
  282. data/lib/oci/{database/models/autonomous_data_warehouse_console_token_details.rb → rover/models/change_rover_entitlement_compartment_details.rb} +13 -23
  283. data/lib/oci/rover/models/change_rover_node_compartment_details.rb +155 -0
  284. data/lib/oci/rover/models/create_rover_cluster_details.rb +459 -0
  285. data/lib/oci/rover/models/create_rover_entitlement_details.rb +320 -0
  286. data/lib/oci/rover/models/create_rover_node_details.rb +501 -0
  287. data/lib/oci/rover/models/enclosure_type.rb +11 -0
  288. data/lib/oci/rover/models/lifecycle_state.rb +15 -0
  289. data/lib/oci/rover/models/node_type.rb +11 -0
  290. data/lib/oci/rover/models/rover_cluster.rb +610 -0
  291. data/lib/oci/rover/models/rover_cluster_certificate.rb +150 -0
  292. data/lib/oci/{database/models/restore_autonomous_data_warehouse_details.rb → rover/models/rover_cluster_collection.rb} +11 -12
  293. data/lib/oci/{database/models/create_autonomous_data_warehouse_details.rb → rover/models/rover_cluster_summary.rb} +99 -84
  294. data/lib/oci/rover/models/rover_entitlement.rb +363 -0
  295. data/lib/oci/rover/models/rover_entitlement_collection.rb +150 -0
  296. data/lib/oci/rover/models/rover_entitlement_summary.rb +285 -0
  297. data/lib/oci/rover/models/rover_node.rb +661 -0
  298. data/lib/oci/rover/models/rover_node_action_set_key_details.rb +154 -0
  299. data/lib/oci/rover/models/rover_node_certificate.rb +150 -0
  300. data/lib/oci/rover/models/rover_node_collection.rb +150 -0
  301. data/lib/oci/rover/models/rover_node_encryption_key.rb +154 -0
  302. data/lib/oci/rover/models/rover_node_get_rpt.rb +168 -0
  303. data/lib/oci/rover/models/rover_node_set_key.rb +154 -0
  304. data/lib/oci/rover/models/rover_node_summary.rb +323 -0
  305. data/lib/oci/rover/models/rover_workload.rb +264 -0
  306. data/lib/oci/rover/models/shipping_address.rb +276 -0
  307. data/lib/oci/rover/models/sort_orders.rb +11 -0
  308. data/lib/oci/rover/models/update_rover_cluster_details.rb +445 -0
  309. data/lib/oci/rover/models/update_rover_entitlement_details.rb +306 -0
  310. data/lib/oci/rover/models/update_rover_node_details.rb +487 -0
  311. data/lib/oci/rover/rover.rb +54 -0
  312. data/lib/oci/rover/rover_cluster_client.rb +549 -0
  313. data/lib/oci/rover/rover_cluster_client_composite_operations.rb +144 -0
  314. data/lib/oci/rover/rover_entitlement_client.rb +514 -0
  315. data/lib/oci/rover/rover_entitlement_client_composite_operations.rb +144 -0
  316. data/lib/oci/rover/rover_node_client.rb +738 -0
  317. data/lib/oci/rover/rover_node_client_composite_operations.rb +144 -0
  318. data/lib/oci/rover/util.rb +3 -0
  319. data/lib/oci/sch/service_connector_client.rb +12 -0
  320. data/lib/oci/secrets/secrets_client.rb +2 -0
  321. data/lib/oci/streaming/stream_admin_client.rb +18 -0
  322. data/lib/oci/streaming/stream_client.rb +8 -0
  323. data/lib/oci/tenant_manager_control_plane/link_client.rb +3 -0
  324. data/lib/oci/tenant_manager_control_plane/recipient_invitation_client.rb +5 -0
  325. data/lib/oci/tenant_manager_control_plane/sender_invitation_client.rb +5 -0
  326. data/lib/oci/tenant_manager_control_plane/work_request_client.rb +4 -0
  327. data/lib/oci/usage_api/usageapi_client.rb +2 -0
  328. data/lib/oci/vault/vaults_client.rb +11 -0
  329. data/lib/oci/version.rb +1 -1
  330. data/lib/oci/waas/redirect_client.rb +6 -0
  331. data/lib/oci/waas/waas_client.rb +66 -0
  332. data/lib/oci/work_requests/work_request_client.rb +4 -0
  333. metadata +91 -10
@@ -105,31 +105,544 @@ module OCI
105
105
  # rubocop:disable Layout/EmptyLines
106
106
 
107
107
 
108
- # Calls {OCI::Database::DatabaseClient#create_autonomous_container_database} and then waits for the {OCI::Database::Models::AutonomousContainerDatabase} acted upon
108
+ # Calls {OCI::Database::DatabaseClient#change_autonomous_container_database_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
109
+ # to enter the given state(s).
110
+ #
111
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move Autonomous Container Database to a different compartment
112
+ # @param [String] autonomous_container_database_id The Autonomous Container Database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
113
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
114
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_autonomous_container_database_compartment}
115
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
116
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
117
+ # * max_wait_seconds The maximum time to wait, in seconds
118
+ #
119
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
120
+ def change_autonomous_container_database_compartment_and_wait_for_state(change_compartment_details, autonomous_container_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
121
+ operation_result = @service_client.change_autonomous_container_database_compartment(change_compartment_details, autonomous_container_database_id, base_operation_opts)
122
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
123
+
124
+ return operation_result if wait_for_states.empty? && !use_util
125
+
126
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
127
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
128
+
129
+ begin
130
+ if use_util
131
+ waiter_result = OCI::Database::Util.wait_on_work_request(
132
+ @service_client,
133
+ wait_for_resource_id,
134
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
135
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
136
+ )
137
+ else
138
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
139
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
140
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
141
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
142
+ )
143
+ end
144
+ result_to_return = waiter_result
145
+
146
+ return result_to_return
147
+ rescue StandardError
148
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
149
+ end
150
+ end
151
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
152
+ # rubocop:enable Layout/EmptyLines
153
+
154
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
155
+ # rubocop:disable Layout/EmptyLines
156
+
157
+
158
+ # Calls {OCI::Database::DatabaseClient#change_autonomous_database_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
159
+ # to enter the given state(s).
160
+ #
161
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move Autonomous Database to a different compartment
162
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
163
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
164
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_autonomous_database_compartment}
165
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
166
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
167
+ # * max_wait_seconds The maximum time to wait, in seconds
168
+ #
169
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
170
+ def change_autonomous_database_compartment_and_wait_for_state(change_compartment_details, autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
171
+ operation_result = @service_client.change_autonomous_database_compartment(change_compartment_details, autonomous_database_id, base_operation_opts)
172
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
173
+
174
+ return operation_result if wait_for_states.empty? && !use_util
175
+
176
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
177
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
178
+
179
+ begin
180
+ if use_util
181
+ waiter_result = OCI::Database::Util.wait_on_work_request(
182
+ @service_client,
183
+ wait_for_resource_id,
184
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
185
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
186
+ )
187
+ else
188
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
189
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
190
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
191
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
192
+ )
193
+ end
194
+ result_to_return = waiter_result
195
+
196
+ return result_to_return
197
+ rescue StandardError
198
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
199
+ end
200
+ end
201
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
202
+ # rubocop:enable Layout/EmptyLines
203
+
204
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
205
+ # rubocop:disable Layout/EmptyLines
206
+
207
+
208
+ # Calls {OCI::Database::DatabaseClient#change_autonomous_exadata_infrastructure_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
209
+ # to enter the given state(s).
210
+ #
211
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move an Autonomous Exadata Infrastructure resource to a different compartment.
212
+ # @param [String] autonomous_exadata_infrastructure_id The Autonomous Exadata Infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
213
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
214
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_autonomous_exadata_infrastructure_compartment}
215
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
216
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
217
+ # * max_wait_seconds The maximum time to wait, in seconds
218
+ #
219
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
220
+ def change_autonomous_exadata_infrastructure_compartment_and_wait_for_state(change_compartment_details, autonomous_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
221
+ operation_result = @service_client.change_autonomous_exadata_infrastructure_compartment(change_compartment_details, autonomous_exadata_infrastructure_id, base_operation_opts)
222
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
223
+
224
+ return operation_result if wait_for_states.empty? && !use_util
225
+
226
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
227
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
228
+
229
+ begin
230
+ if use_util
231
+ waiter_result = OCI::Database::Util.wait_on_work_request(
232
+ @service_client,
233
+ wait_for_resource_id,
234
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
235
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
236
+ )
237
+ else
238
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
239
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
240
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
241
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
242
+ )
243
+ end
244
+ result_to_return = waiter_result
245
+
246
+ return result_to_return
247
+ rescue StandardError
248
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
249
+ end
250
+ end
251
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
252
+ # rubocop:enable Layout/EmptyLines
253
+
254
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
255
+ # rubocop:disable Layout/EmptyLines
256
+
257
+
258
+ # Calls {OCI::Database::DatabaseClient#change_autonomous_vm_cluster_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
259
+ # to enter the given state(s).
260
+ #
261
+ # @param [OCI::Database::Models::ChangeAutonomousVmClusterCompartmentDetails] change_autonomous_vm_cluster_compartment_details Request to move Autonomous VM cluster to a different compartment
262
+ # @param [String] autonomous_vm_cluster_id The autonomous VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
263
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
264
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_autonomous_vm_cluster_compartment}
265
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
266
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
267
+ # * max_wait_seconds The maximum time to wait, in seconds
268
+ #
269
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
270
+ def change_autonomous_vm_cluster_compartment_and_wait_for_state(change_autonomous_vm_cluster_compartment_details, autonomous_vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
271
+ operation_result = @service_client.change_autonomous_vm_cluster_compartment(change_autonomous_vm_cluster_compartment_details, autonomous_vm_cluster_id, base_operation_opts)
272
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
273
+
274
+ return operation_result if wait_for_states.empty? && !use_util
275
+
276
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
277
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
278
+
279
+ begin
280
+ if use_util
281
+ waiter_result = OCI::Database::Util.wait_on_work_request(
282
+ @service_client,
283
+ wait_for_resource_id,
284
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
285
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
286
+ )
287
+ else
288
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
289
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
290
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
291
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
292
+ )
293
+ end
294
+ result_to_return = waiter_result
295
+
296
+ return result_to_return
297
+ rescue StandardError
298
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
299
+ end
300
+ end
301
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
302
+ # rubocop:enable Layout/EmptyLines
303
+
304
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
305
+ # rubocop:disable Layout/EmptyLines
306
+
307
+
308
+ # Calls {OCI::Database::DatabaseClient#change_backup_destination_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
309
+ # to enter the given state(s).
310
+ #
311
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move backup destination to a different compartment.
312
+ #
313
+ # @param [String] backup_destination_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the backup destination.
314
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
315
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_backup_destination_compartment}
316
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
317
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
318
+ # * max_wait_seconds The maximum time to wait, in seconds
319
+ #
320
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
321
+ def change_backup_destination_compartment_and_wait_for_state(change_compartment_details, backup_destination_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
322
+ operation_result = @service_client.change_backup_destination_compartment(change_compartment_details, backup_destination_id, base_operation_opts)
323
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
324
+
325
+ return operation_result if wait_for_states.empty? && !use_util
326
+
327
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
328
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
329
+
330
+ begin
331
+ if use_util
332
+ waiter_result = OCI::Database::Util.wait_on_work_request(
333
+ @service_client,
334
+ wait_for_resource_id,
335
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
336
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
337
+ )
338
+ else
339
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
340
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
341
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
342
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
343
+ )
344
+ end
345
+ result_to_return = waiter_result
346
+
347
+ return result_to_return
348
+ rescue StandardError
349
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
350
+ end
351
+ end
352
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
353
+ # rubocop:enable Layout/EmptyLines
354
+
355
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
356
+ # rubocop:disable Layout/EmptyLines
357
+
358
+
359
+ # Calls {OCI::Database::DatabaseClient#change_cloud_exadata_infrastructure_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
360
+ # to enter the given state(s).
361
+ #
362
+ # @param [OCI::Database::Models::ChangeCloudExadataInfrastructureCompartmentDetails] change_cloud_exadata_infrastructure_compartment_details Request to move cloud Exadata infrastructure resource to a different compartment.
363
+ # @param [String] cloud_exadata_infrastructure_id The cloud Exadata infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
364
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
365
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_cloud_exadata_infrastructure_compartment}
366
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
367
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
368
+ # * max_wait_seconds The maximum time to wait, in seconds
369
+ #
370
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
371
+ def change_cloud_exadata_infrastructure_compartment_and_wait_for_state(change_cloud_exadata_infrastructure_compartment_details, cloud_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
372
+ operation_result = @service_client.change_cloud_exadata_infrastructure_compartment(change_cloud_exadata_infrastructure_compartment_details, cloud_exadata_infrastructure_id, base_operation_opts)
373
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
374
+
375
+ return operation_result if wait_for_states.empty? && !use_util
376
+
377
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
378
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
379
+
380
+ begin
381
+ if use_util
382
+ waiter_result = OCI::Database::Util.wait_on_work_request(
383
+ @service_client,
384
+ wait_for_resource_id,
385
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
386
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
387
+ )
388
+ else
389
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
390
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
391
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
392
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
393
+ )
394
+ end
395
+ result_to_return = waiter_result
396
+
397
+ return result_to_return
398
+ rescue StandardError
399
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
400
+ end
401
+ end
402
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
403
+ # rubocop:enable Layout/EmptyLines
404
+
405
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
406
+ # rubocop:disable Layout/EmptyLines
407
+
408
+
409
+ # Calls {OCI::Database::DatabaseClient#change_cloud_vm_cluster_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
410
+ # to enter the given state(s).
411
+ #
412
+ # @param [OCI::Database::Models::ChangeCloudVmClusterCompartmentDetails] change_cloud_vm_cluster_compartment_details Request to move cloud VM cluster to a different compartment
413
+ # @param [String] cloud_vm_cluster_id The cloud VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
414
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
415
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_cloud_vm_cluster_compartment}
416
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
417
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
418
+ # * max_wait_seconds The maximum time to wait, in seconds
419
+ #
420
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
421
+ def change_cloud_vm_cluster_compartment_and_wait_for_state(change_cloud_vm_cluster_compartment_details, cloud_vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
422
+ operation_result = @service_client.change_cloud_vm_cluster_compartment(change_cloud_vm_cluster_compartment_details, cloud_vm_cluster_id, base_operation_opts)
423
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
424
+
425
+ return operation_result if wait_for_states.empty? && !use_util
426
+
427
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
428
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
429
+
430
+ begin
431
+ if use_util
432
+ waiter_result = OCI::Database::Util.wait_on_work_request(
433
+ @service_client,
434
+ wait_for_resource_id,
435
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
436
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
437
+ )
438
+ else
439
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
440
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
441
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
442
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
443
+ )
444
+ end
445
+ result_to_return = waiter_result
446
+
447
+ return result_to_return
448
+ rescue StandardError
449
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
450
+ end
451
+ end
452
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
453
+ # rubocop:enable Layout/EmptyLines
454
+
455
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
456
+ # rubocop:disable Layout/EmptyLines
457
+
458
+
459
+ # Calls {OCI::Database::DatabaseClient#change_database_software_image_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
460
+ # to enter the given state(s).
461
+ #
462
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move Database Software Image to a different compartment
463
+ # @param [String] database_software_image_id The DB system [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
464
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
465
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_database_software_image_compartment}
466
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
467
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
468
+ # * max_wait_seconds The maximum time to wait, in seconds
469
+ #
470
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
471
+ def change_database_software_image_compartment_and_wait_for_state(change_compartment_details, database_software_image_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
472
+ operation_result = @service_client.change_database_software_image_compartment(change_compartment_details, database_software_image_id, base_operation_opts)
473
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
474
+
475
+ return operation_result if wait_for_states.empty? && !use_util
476
+
477
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
478
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
479
+
480
+ begin
481
+ if use_util
482
+ waiter_result = OCI::Database::Util.wait_on_work_request(
483
+ @service_client,
484
+ wait_for_resource_id,
485
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
486
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
487
+ )
488
+ else
489
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
490
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
491
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
492
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
493
+ )
494
+ end
495
+ result_to_return = waiter_result
496
+
497
+ return result_to_return
498
+ rescue StandardError
499
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
500
+ end
501
+ end
502
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
503
+ # rubocop:enable Layout/EmptyLines
504
+
505
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
506
+ # rubocop:disable Layout/EmptyLines
507
+
508
+
509
+ # Calls {OCI::Database::DatabaseClient#change_db_system_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
510
+ # to enter the given state(s).
511
+ #
512
+ # @param [OCI::Database::Models::ChangeCompartmentDetails] change_compartment_details Request to move the DB system to a different compartment.
513
+ # @param [String] db_system_id The DB system [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
514
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
515
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_db_system_compartment}
516
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
517
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
518
+ # * max_wait_seconds The maximum time to wait, in seconds
519
+ #
520
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
521
+ def change_db_system_compartment_and_wait_for_state(change_compartment_details, db_system_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
522
+ operation_result = @service_client.change_db_system_compartment(change_compartment_details, db_system_id, base_operation_opts)
523
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
524
+
525
+ return operation_result if wait_for_states.empty? && !use_util
526
+
527
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
528
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
529
+
530
+ begin
531
+ if use_util
532
+ waiter_result = OCI::Database::Util.wait_on_work_request(
533
+ @service_client,
534
+ wait_for_resource_id,
535
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
536
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
537
+ )
538
+ else
539
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
540
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
541
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
542
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
543
+ )
544
+ end
545
+ result_to_return = waiter_result
546
+
547
+ return result_to_return
548
+ rescue StandardError
549
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
550
+ end
551
+ end
552
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
553
+ # rubocop:enable Layout/EmptyLines
554
+
555
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
556
+ # rubocop:disable Layout/EmptyLines
557
+
558
+
559
+ # Calls {OCI::Database::DatabaseClient#change_exadata_infrastructure_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
560
+ # to enter the given state(s).
561
+ #
562
+ # @param [OCI::Database::Models::ChangeExadataInfrastructureCompartmentDetails] change_exadata_infrastructure_compartment_details Request to move Exadata infrastructure to a different compartment
563
+ # @param [String] exadata_infrastructure_id The Exadata infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
564
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
565
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_exadata_infrastructure_compartment}
566
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
567
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
568
+ # * max_wait_seconds The maximum time to wait, in seconds
569
+ #
570
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
571
+ def change_exadata_infrastructure_compartment_and_wait_for_state(change_exadata_infrastructure_compartment_details, exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
572
+ operation_result = @service_client.change_exadata_infrastructure_compartment(change_exadata_infrastructure_compartment_details, exadata_infrastructure_id, base_operation_opts)
573
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
574
+
575
+ return operation_result if wait_for_states.empty? && !use_util
576
+
577
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
578
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
579
+
580
+ begin
581
+ if use_util
582
+ waiter_result = OCI::Database::Util.wait_on_work_request(
583
+ @service_client,
584
+ wait_for_resource_id,
585
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
586
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
587
+ )
588
+ else
589
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
590
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
591
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
592
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
593
+ )
594
+ end
595
+ result_to_return = waiter_result
596
+
597
+ return result_to_return
598
+ rescue StandardError
599
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
600
+ end
601
+ end
602
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
603
+ # rubocop:enable Layout/EmptyLines
604
+
605
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
606
+ # rubocop:disable Layout/EmptyLines
607
+
608
+
609
+ # Calls {OCI::Database::DatabaseClient#change_key_store_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
109
610
  # to enter the given state(s).
110
611
  #
111
- # @param [OCI::Database::Models::CreateAutonomousContainerDatabaseDetails] create_autonomous_container_database_details Request to create an Autonomous Container Database in a specified Autonomous Exadata Infrastructure.
112
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousContainerDatabase#lifecycle_state}
113
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_autonomous_container_database}
612
+ # @param [OCI::Database::Models::ChangeKeyStoreCompartmentDetails] change_key_store_compartment_details Request to move key store to a different compartment
613
+ #
614
+ # @param [String] key_store_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the key store.
615
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
616
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_key_store_compartment}
114
617
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
115
618
  # * max_interval_seconds: The maximum interval between queries, in seconds.
116
619
  # * max_wait_seconds The maximum time to wait, in seconds
117
620
  #
118
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousContainerDatabase}
119
- def create_autonomous_container_database_and_wait_for_state(create_autonomous_container_database_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
120
- operation_result = @service_client.create_autonomous_container_database(create_autonomous_container_database_details, base_operation_opts)
621
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
622
+ def change_key_store_compartment_and_wait_for_state(change_key_store_compartment_details, key_store_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
623
+ operation_result = @service_client.change_key_store_compartment(change_key_store_compartment_details, key_store_id, base_operation_opts)
624
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
121
625
 
122
- return operation_result if wait_for_states.empty?
626
+ return operation_result if wait_for_states.empty? && !use_util
123
627
 
124
628
  lowered_wait_for_states = wait_for_states.map(&:downcase)
125
- wait_for_resource_id = operation_result.data.id
629
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
126
630
 
127
631
  begin
128
- waiter_result = @service_client.get_autonomous_container_database(wait_for_resource_id).wait_until(
129
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
130
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
131
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
132
- )
632
+ if use_util
633
+ waiter_result = OCI::Database::Util.wait_on_work_request(
634
+ @service_client,
635
+ wait_for_resource_id,
636
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
637
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
638
+ )
639
+ else
640
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
641
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
642
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
643
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
644
+ )
645
+ end
133
646
  result_to_return = waiter_result
134
647
 
135
648
  return result_to_return
@@ -144,31 +657,42 @@ module OCI
144
657
  # rubocop:disable Layout/EmptyLines
145
658
 
146
659
 
147
- # Calls {OCI::Database::DatabaseClient#create_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
660
+ # Calls {OCI::Database::DatabaseClient#change_vm_cluster_compartment} and then waits for the {OCI::Database::Models::WorkRequest}
148
661
  # to enter the given state(s).
149
662
  #
150
- # @param [OCI::Database::Models::CreateAutonomousDataWarehouseDetails] create_autonomous_data_warehouse_details Request to create a new Autonomous Data Warehouse.
151
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
152
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_autonomous_data_warehouse}
663
+ # @param [OCI::Database::Models::ChangeVmClusterCompartmentDetails] change_vm_cluster_compartment_details Request to move the Exadata Cloud@Customer VM cluster to a different compartment.
664
+ # @param [String] vm_cluster_id The VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
665
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
666
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#change_vm_cluster_compartment}
153
667
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
154
668
  # * max_interval_seconds: The maximum interval between queries, in seconds.
155
669
  # * max_wait_seconds The maximum time to wait, in seconds
156
670
  #
157
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouse}
158
- def create_autonomous_data_warehouse_and_wait_for_state(create_autonomous_data_warehouse_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
159
- operation_result = @service_client.create_autonomous_data_warehouse(create_autonomous_data_warehouse_details, base_operation_opts)
671
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
672
+ def change_vm_cluster_compartment_and_wait_for_state(change_vm_cluster_compartment_details, vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
673
+ operation_result = @service_client.change_vm_cluster_compartment(change_vm_cluster_compartment_details, vm_cluster_id, base_operation_opts)
674
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
160
675
 
161
- return operation_result if wait_for_states.empty?
676
+ return operation_result if wait_for_states.empty? && !use_util
162
677
 
163
678
  lowered_wait_for_states = wait_for_states.map(&:downcase)
164
- wait_for_resource_id = operation_result.data.id
679
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
165
680
 
166
681
  begin
167
- waiter_result = @service_client.get_autonomous_data_warehouse(wait_for_resource_id).wait_until(
168
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
169
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
170
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
171
- )
682
+ if use_util
683
+ waiter_result = OCI::Database::Util.wait_on_work_request(
684
+ @service_client,
685
+ wait_for_resource_id,
686
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
687
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
688
+ )
689
+ else
690
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
691
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
692
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
693
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
694
+ )
695
+ end
172
696
  result_to_return = waiter_result
173
697
 
174
698
  return result_to_return
@@ -183,19 +707,19 @@ module OCI
183
707
  # rubocop:disable Layout/EmptyLines
184
708
 
185
709
 
186
- # Calls {OCI::Database::DatabaseClient#create_autonomous_data_warehouse_backup} and then waits for the {OCI::Database::Models::AutonomousDataWarehouseBackup} acted upon
710
+ # Calls {OCI::Database::DatabaseClient#create_autonomous_container_database} and then waits for the {OCI::Database::Models::AutonomousContainerDatabase} acted upon
187
711
  # to enter the given state(s).
188
712
  #
189
- # @param [OCI::Database::Models::CreateAutonomousDataWarehouseBackupDetails] create_autonomous_data_warehouse_backup_details Request to create a new Autonomous Data Warehouse backup.
190
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouseBackup#lifecycle_state}
191
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_autonomous_data_warehouse_backup}
713
+ # @param [OCI::Database::Models::CreateAutonomousContainerDatabaseDetails] create_autonomous_container_database_details Request to create an Autonomous Container Database in a specified Autonomous Exadata Infrastructure.
714
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousContainerDatabase#lifecycle_state}
715
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_autonomous_container_database}
192
716
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
193
717
  # * max_interval_seconds: The maximum interval between queries, in seconds.
194
718
  # * max_wait_seconds The maximum time to wait, in seconds
195
719
  #
196
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouseBackup}
197
- def create_autonomous_data_warehouse_backup_and_wait_for_state(create_autonomous_data_warehouse_backup_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
198
- operation_result = @service_client.create_autonomous_data_warehouse_backup(create_autonomous_data_warehouse_backup_details, base_operation_opts)
720
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousContainerDatabase}
721
+ def create_autonomous_container_database_and_wait_for_state(create_autonomous_container_database_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
722
+ operation_result = @service_client.create_autonomous_container_database(create_autonomous_container_database_details, base_operation_opts)
199
723
 
200
724
  return operation_result if wait_for_states.empty?
201
725
 
@@ -203,7 +727,7 @@ module OCI
203
727
  wait_for_resource_id = operation_result.data.id
204
728
 
205
729
  begin
206
- waiter_result = @service_client.get_autonomous_data_warehouse_backup(wait_for_resource_id).wait_until(
730
+ waiter_result = @service_client.get_autonomous_container_database(wait_for_resource_id).wait_until(
207
731
  eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
208
732
  max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
209
733
  max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
@@ -421,7 +945,8 @@ module OCI
421
945
  # Calls {OCI::Database::DatabaseClient#create_cloud_exadata_infrastructure} and then waits for the {OCI::Database::Models::CloudExadataInfrastructure} acted upon
422
946
  # to enter the given state(s).
423
947
  #
424
- # @param [OCI::Database::Models::CreateCloudExadataInfrastructureDetails] create_cloud_exadata_infrastructure_details Request to create cloud Exadata infrastructure.
948
+ # @param [OCI::Database::Models::CreateCloudExadataInfrastructureDetails] create_cloud_exadata_infrastructure_details Request to create a cloud Exadata infrastructure resource in an [Exadata Cloud Service](https://docs.cloud.oracle.com/Content/Database/Concepts/exaoverview.htm) instance.
949
+ #
425
950
  # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::CloudExadataInfrastructure#lifecycle_state}
426
951
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_cloud_exadata_infrastructure}
427
952
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
@@ -460,7 +985,8 @@ module OCI
460
985
  # Calls {OCI::Database::DatabaseClient#create_cloud_vm_cluster} and then waits for the {OCI::Database::Models::CloudVmCluster} acted upon
461
986
  # to enter the given state(s).
462
987
  #
463
- # @param [OCI::Database::Models::CreateCloudVmClusterDetails] create_cloud_vm_cluster_details Request to create a cloud VM cluster.
988
+ # @param [OCI::Database::Models::CreateCloudVmClusterDetails] create_cloud_vm_cluster_details Request to create a cloud VM cluster. Applies to Exadata Cloud Service instances only. See [The New Exadata Cloud Service Resource Model](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model) for information on this resource type.
989
+ #
464
990
  # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::CloudVmCluster#lifecycle_state}
465
991
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_cloud_vm_cluster}
466
992
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
@@ -775,7 +1301,9 @@ module OCI
775
1301
  # Calls {OCI::Database::DatabaseClient#create_vm_cluster} and then waits for the {OCI::Database::Models::VmCluster} acted upon
776
1302
  # to enter the given state(s).
777
1303
  #
778
- # @param [OCI::Database::Models::CreateVmClusterDetails] create_vm_cluster_details Request to create an Exadata Cloud@Customer VM cluster.
1304
+ # @param [OCI::Database::Models::CreateVmClusterDetails] create_vm_cluster_details Request to create a VM cluster. Applies to Exadata Cloud@Customer instances only.
1305
+ # See {#create_cloud_vm_cluster_details create_cloud_vm_cluster_details} for details on creating a cloud VM cluster in an Exadata Cloud Service instance.
1306
+ #
779
1307
  # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::VmCluster#lifecycle_state}
780
1308
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#create_vm_cluster}
781
1309
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
@@ -892,72 +1420,41 @@ module OCI
892
1420
  # rubocop:disable Layout/EmptyLines
893
1421
 
894
1422
 
895
- # Calls {OCI::Database::DatabaseClient#delete_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
896
- # to enter the given state(s).
897
- #
898
- # @param [String] autonomous_data_warehouse_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
899
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
900
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_autonomous_data_warehouse}
901
- # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
902
- # * max_interval_seconds: The maximum interval between queries, in seconds.
903
- # * max_wait_seconds The maximum time to wait, in seconds
904
- #
905
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
906
- def delete_autonomous_data_warehouse_and_wait_for_state(autonomous_data_warehouse_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
907
- initial_get_result = @service_client.get_autonomous_data_warehouse(autonomous_data_warehouse_id)
908
- operation_result = @service_client.delete_autonomous_data_warehouse(autonomous_data_warehouse_id, base_operation_opts)
909
-
910
- return operation_result if wait_for_states.empty?
911
-
912
- lowered_wait_for_states = wait_for_states.map(&:downcase)
913
-
914
- begin
915
- waiter_result = initial_get_result.wait_until(
916
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
917
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
918
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
919
- succeed_on_not_found: true
920
- )
921
- result_to_return = waiter_result
922
-
923
- return result_to_return
924
- rescue StandardError
925
- raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
926
- end
927
- end
928
- # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
929
- # rubocop:enable Layout/EmptyLines
930
-
931
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
932
- # rubocop:disable Layout/EmptyLines
933
-
934
-
935
- # Calls {OCI::Database::DatabaseClient#delete_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
1423
+ # Calls {OCI::Database::DatabaseClient#delete_autonomous_database} and then waits for the {OCI::Database::Models::WorkRequest}
936
1424
  # to enter the given state(s).
937
1425
  #
938
1426
  # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
939
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDatabase#lifecycle_state}
1427
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
940
1428
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_autonomous_database}
941
1429
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
942
1430
  # * max_interval_seconds: The maximum interval between queries, in seconds.
943
1431
  # * max_wait_seconds The maximum time to wait, in seconds
944
1432
  #
945
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1433
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
946
1434
  def delete_autonomous_database_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
947
- initial_get_result = @service_client.get_autonomous_database(autonomous_database_id)
948
1435
  operation_result = @service_client.delete_autonomous_database(autonomous_database_id, base_operation_opts)
1436
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
949
1437
 
950
- return operation_result if wait_for_states.empty?
1438
+ return operation_result if wait_for_states.empty? && !use_util
951
1439
 
952
1440
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1441
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
953
1442
 
954
1443
  begin
955
- waiter_result = initial_get_result.wait_until(
956
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
957
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
958
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
959
- succeed_on_not_found: true
960
- )
1444
+ if use_util
1445
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1446
+ @service_client,
1447
+ wait_for_resource_id,
1448
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1449
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1450
+ )
1451
+ else
1452
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1453
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1454
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1455
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1456
+ )
1457
+ end
961
1458
  result_to_return = waiter_result
962
1459
 
963
1460
  return result_to_return
@@ -972,32 +1469,41 @@ module OCI
972
1469
  # rubocop:disable Layout/EmptyLines
973
1470
 
974
1471
 
975
- # Calls {OCI::Database::DatabaseClient#delete_autonomous_vm_cluster} and then waits for the {OCI::Database::Models::AutonomousVmCluster} acted upon
1472
+ # Calls {OCI::Database::DatabaseClient#delete_autonomous_vm_cluster} and then waits for the {OCI::Database::Models::WorkRequest}
976
1473
  # to enter the given state(s).
977
1474
  #
978
1475
  # @param [String] autonomous_vm_cluster_id The autonomous VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
979
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousVmCluster#lifecycle_state}
1476
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
980
1477
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_autonomous_vm_cluster}
981
1478
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
982
1479
  # * max_interval_seconds: The maximum interval between queries, in seconds.
983
1480
  # * max_wait_seconds The maximum time to wait, in seconds
984
1481
  #
985
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1482
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
986
1483
  def delete_autonomous_vm_cluster_and_wait_for_state(autonomous_vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
987
- initial_get_result = @service_client.get_autonomous_vm_cluster(autonomous_vm_cluster_id)
988
1484
  operation_result = @service_client.delete_autonomous_vm_cluster(autonomous_vm_cluster_id, base_operation_opts)
1485
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
989
1486
 
990
- return operation_result if wait_for_states.empty?
1487
+ return operation_result if wait_for_states.empty? && !use_util
991
1488
 
992
1489
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1490
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
993
1491
 
994
1492
  begin
995
- waiter_result = initial_get_result.wait_until(
996
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
997
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
998
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
999
- succeed_on_not_found: true
1000
- )
1493
+ if use_util
1494
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1495
+ @service_client,
1496
+ wait_for_resource_id,
1497
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1498
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1499
+ )
1500
+ else
1501
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1502
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1503
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1504
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1505
+ )
1506
+ end
1001
1507
  result_to_return = waiter_result
1002
1508
 
1003
1509
  return result_to_return
@@ -1012,32 +1518,41 @@ module OCI
1012
1518
  # rubocop:disable Layout/EmptyLines
1013
1519
 
1014
1520
 
1015
- # Calls {OCI::Database::DatabaseClient#delete_backup} and then waits for the {OCI::Database::Models::Backup} acted upon
1521
+ # Calls {OCI::Database::DatabaseClient#delete_backup} and then waits for the {OCI::Database::Models::WorkRequest}
1016
1522
  # to enter the given state(s).
1017
1523
  #
1018
1524
  # @param [String] backup_id The backup [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1019
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Backup#lifecycle_state}
1525
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1020
1526
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_backup}
1021
1527
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1022
1528
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1023
1529
  # * max_wait_seconds The maximum time to wait, in seconds
1024
1530
  #
1025
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1531
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1026
1532
  def delete_backup_and_wait_for_state(backup_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1027
- initial_get_result = @service_client.get_backup(backup_id)
1028
1533
  operation_result = @service_client.delete_backup(backup_id, base_operation_opts)
1534
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1029
1535
 
1030
- return operation_result if wait_for_states.empty?
1536
+ return operation_result if wait_for_states.empty? && !use_util
1031
1537
 
1032
1538
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1539
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1033
1540
 
1034
1541
  begin
1035
- waiter_result = initial_get_result.wait_until(
1036
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1037
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1038
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1039
- succeed_on_not_found: true
1040
- )
1542
+ if use_util
1543
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1544
+ @service_client,
1545
+ wait_for_resource_id,
1546
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1547
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1548
+ )
1549
+ else
1550
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1551
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1552
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1553
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1554
+ )
1555
+ end
1041
1556
  result_to_return = waiter_result
1042
1557
 
1043
1558
  return result_to_return
@@ -1092,32 +1607,41 @@ module OCI
1092
1607
  # rubocop:disable Layout/EmptyLines
1093
1608
 
1094
1609
 
1095
- # Calls {OCI::Database::DatabaseClient#delete_cloud_exadata_infrastructure} and then waits for the {OCI::Database::Models::CloudExadataInfrastructure} acted upon
1610
+ # Calls {OCI::Database::DatabaseClient#delete_cloud_exadata_infrastructure} and then waits for the {OCI::Database::Models::WorkRequest}
1096
1611
  # to enter the given state(s).
1097
1612
  #
1098
1613
  # @param [String] cloud_exadata_infrastructure_id The cloud Exadata infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1099
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::CloudExadataInfrastructure#lifecycle_state}
1614
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1100
1615
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_cloud_exadata_infrastructure}
1101
1616
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1102
1617
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1103
1618
  # * max_wait_seconds The maximum time to wait, in seconds
1104
1619
  #
1105
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1620
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1106
1621
  def delete_cloud_exadata_infrastructure_and_wait_for_state(cloud_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1107
- initial_get_result = @service_client.get_cloud_exadata_infrastructure(cloud_exadata_infrastructure_id)
1108
1622
  operation_result = @service_client.delete_cloud_exadata_infrastructure(cloud_exadata_infrastructure_id, base_operation_opts)
1623
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1109
1624
 
1110
- return operation_result if wait_for_states.empty?
1625
+ return operation_result if wait_for_states.empty? && !use_util
1111
1626
 
1112
1627
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1628
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1113
1629
 
1114
1630
  begin
1115
- waiter_result = initial_get_result.wait_until(
1116
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1117
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1118
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1119
- succeed_on_not_found: true
1120
- )
1631
+ if use_util
1632
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1633
+ @service_client,
1634
+ wait_for_resource_id,
1635
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1636
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1637
+ )
1638
+ else
1639
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1640
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1641
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1642
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1643
+ )
1644
+ end
1121
1645
  result_to_return = waiter_result
1122
1646
 
1123
1647
  return result_to_return
@@ -1132,32 +1656,41 @@ module OCI
1132
1656
  # rubocop:disable Layout/EmptyLines
1133
1657
 
1134
1658
 
1135
- # Calls {OCI::Database::DatabaseClient#delete_cloud_vm_cluster} and then waits for the {OCI::Database::Models::CloudVmCluster} acted upon
1659
+ # Calls {OCI::Database::DatabaseClient#delete_cloud_vm_cluster} and then waits for the {OCI::Database::Models::WorkRequest}
1136
1660
  # to enter the given state(s).
1137
1661
  #
1138
1662
  # @param [String] cloud_vm_cluster_id The cloud VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1139
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::CloudVmCluster#lifecycle_state}
1663
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1140
1664
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_cloud_vm_cluster}
1141
1665
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1142
1666
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1143
1667
  # * max_wait_seconds The maximum time to wait, in seconds
1144
1668
  #
1145
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1669
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1146
1670
  def delete_cloud_vm_cluster_and_wait_for_state(cloud_vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1147
- initial_get_result = @service_client.get_cloud_vm_cluster(cloud_vm_cluster_id)
1148
1671
  operation_result = @service_client.delete_cloud_vm_cluster(cloud_vm_cluster_id, base_operation_opts)
1672
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1149
1673
 
1150
- return operation_result if wait_for_states.empty?
1674
+ return operation_result if wait_for_states.empty? && !use_util
1151
1675
 
1152
1676
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1677
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1153
1678
 
1154
1679
  begin
1155
- waiter_result = initial_get_result.wait_until(
1156
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1157
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1158
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1159
- succeed_on_not_found: true
1160
- )
1680
+ if use_util
1681
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1682
+ @service_client,
1683
+ wait_for_resource_id,
1684
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1685
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1686
+ )
1687
+ else
1688
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1689
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1690
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1691
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1692
+ )
1693
+ end
1161
1694
  result_to_return = waiter_result
1162
1695
 
1163
1696
  return result_to_return
@@ -1172,32 +1705,41 @@ module OCI
1172
1705
  # rubocop:disable Layout/EmptyLines
1173
1706
 
1174
1707
 
1175
- # Calls {OCI::Database::DatabaseClient#delete_database} and then waits for the {OCI::Database::Models::Database} acted upon
1708
+ # Calls {OCI::Database::DatabaseClient#delete_database} and then waits for the {OCI::Database::Models::WorkRequest}
1176
1709
  # to enter the given state(s).
1177
1710
  #
1178
1711
  # @param [String] database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1179
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Database#lifecycle_state}
1712
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1180
1713
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_database}
1181
1714
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1182
1715
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1183
1716
  # * max_wait_seconds The maximum time to wait, in seconds
1184
1717
  #
1185
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1718
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1186
1719
  def delete_database_and_wait_for_state(database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1187
- initial_get_result = @service_client.get_database(database_id)
1188
1720
  operation_result = @service_client.delete_database(database_id, base_operation_opts)
1721
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1189
1722
 
1190
- return operation_result if wait_for_states.empty?
1723
+ return operation_result if wait_for_states.empty? && !use_util
1191
1724
 
1192
1725
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1726
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1193
1727
 
1194
1728
  begin
1195
- waiter_result = initial_get_result.wait_until(
1196
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1197
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1198
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1199
- succeed_on_not_found: true
1200
- )
1729
+ if use_util
1730
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1731
+ @service_client,
1732
+ wait_for_resource_id,
1733
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1734
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1735
+ )
1736
+ else
1737
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1738
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1739
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1740
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1741
+ )
1742
+ end
1201
1743
  result_to_return = waiter_result
1202
1744
 
1203
1745
  return result_to_return
@@ -1212,32 +1754,41 @@ module OCI
1212
1754
  # rubocop:disable Layout/EmptyLines
1213
1755
 
1214
1756
 
1215
- # Calls {OCI::Database::DatabaseClient#delete_database_software_image} and then waits for the {OCI::Database::Models::DatabaseSoftwareImage} acted upon
1757
+ # Calls {OCI::Database::DatabaseClient#delete_database_software_image} and then waits for the {OCI::Database::Models::WorkRequest}
1216
1758
  # to enter the given state(s).
1217
1759
  #
1218
1760
  # @param [String] database_software_image_id The DB system [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1219
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DatabaseSoftwareImage#lifecycle_state}
1761
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1220
1762
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_database_software_image}
1221
1763
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1222
1764
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1223
1765
  # * max_wait_seconds The maximum time to wait, in seconds
1224
1766
  #
1225
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1767
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1226
1768
  def delete_database_software_image_and_wait_for_state(database_software_image_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1227
- initial_get_result = @service_client.get_database_software_image(database_software_image_id)
1228
1769
  operation_result = @service_client.delete_database_software_image(database_software_image_id, base_operation_opts)
1770
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1229
1771
 
1230
- return operation_result if wait_for_states.empty?
1772
+ return operation_result if wait_for_states.empty? && !use_util
1231
1773
 
1232
1774
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1775
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1233
1776
 
1234
1777
  begin
1235
- waiter_result = initial_get_result.wait_until(
1236
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1237
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1238
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1239
- succeed_on_not_found: true
1240
- )
1778
+ if use_util
1779
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1780
+ @service_client,
1781
+ wait_for_resource_id,
1782
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1783
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1784
+ )
1785
+ else
1786
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1787
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1788
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1789
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1790
+ )
1791
+ end
1241
1792
  result_to_return = waiter_result
1242
1793
 
1243
1794
  return result_to_return
@@ -1252,20 +1803,118 @@ module OCI
1252
1803
  # rubocop:disable Layout/EmptyLines
1253
1804
 
1254
1805
 
1255
- # Calls {OCI::Database::DatabaseClient#delete_db_home} and then waits for the {OCI::Database::Models::DbHome} acted upon
1806
+ # Calls {OCI::Database::DatabaseClient#delete_db_home} and then waits for the {OCI::Database::Models::WorkRequest}
1256
1807
  # to enter the given state(s).
1257
1808
  #
1258
1809
  # @param [String] db_home_id The Database Home [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1259
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbHome#lifecycle_state}
1810
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1260
1811
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_db_home}
1261
1812
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1262
1813
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1263
1814
  # * max_wait_seconds The maximum time to wait, in seconds
1264
1815
  #
1265
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1816
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1266
1817
  def delete_db_home_and_wait_for_state(db_home_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1267
- initial_get_result = @service_client.get_db_home(db_home_id)
1268
1818
  operation_result = @service_client.delete_db_home(db_home_id, base_operation_opts)
1819
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1820
+
1821
+ return operation_result if wait_for_states.empty? && !use_util
1822
+
1823
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1824
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1825
+
1826
+ begin
1827
+ if use_util
1828
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1829
+ @service_client,
1830
+ wait_for_resource_id,
1831
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1832
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1833
+ )
1834
+ else
1835
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1836
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1837
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1838
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1839
+ )
1840
+ end
1841
+ result_to_return = waiter_result
1842
+
1843
+ return result_to_return
1844
+ rescue StandardError
1845
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1846
+ end
1847
+ end
1848
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1849
+ # rubocop:enable Layout/EmptyLines
1850
+
1851
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1852
+ # rubocop:disable Layout/EmptyLines
1853
+
1854
+
1855
+ # Calls {OCI::Database::DatabaseClient#delete_exadata_infrastructure} and then waits for the {OCI::Database::Models::WorkRequest}
1856
+ # to enter the given state(s).
1857
+ #
1858
+ # @param [String] exadata_infrastructure_id The Exadata infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1859
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1860
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_exadata_infrastructure}
1861
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1862
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1863
+ # * max_wait_seconds The maximum time to wait, in seconds
1864
+ #
1865
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1866
+ def delete_exadata_infrastructure_and_wait_for_state(exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1867
+ operation_result = @service_client.delete_exadata_infrastructure(exadata_infrastructure_id, base_operation_opts)
1868
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1869
+
1870
+ return operation_result if wait_for_states.empty? && !use_util
1871
+
1872
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1873
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1874
+
1875
+ begin
1876
+ if use_util
1877
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1878
+ @service_client,
1879
+ wait_for_resource_id,
1880
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1881
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1882
+ )
1883
+ else
1884
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1885
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1886
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1887
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1888
+ )
1889
+ end
1890
+ result_to_return = waiter_result
1891
+
1892
+ return result_to_return
1893
+ rescue StandardError
1894
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1895
+ end
1896
+ end
1897
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1898
+ # rubocop:enable Layout/EmptyLines
1899
+
1900
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1901
+ # rubocop:disable Layout/EmptyLines
1902
+
1903
+
1904
+ # Calls {OCI::Database::DatabaseClient#delete_key_store} and then waits for the {OCI::Database::Models::KeyStore} acted upon
1905
+ # to enter the given state(s).
1906
+ #
1907
+ # @param [String] key_store_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the key store.
1908
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::KeyStore#lifecycle_state}
1909
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_key_store}
1910
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1911
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1912
+ # * max_wait_seconds The maximum time to wait, in seconds
1913
+ #
1914
+ # @return [OCI::Response] A {OCI::Response} object with data of type nil
1915
+ def delete_key_store_and_wait_for_state(key_store_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1916
+ initial_get_result = @service_client.get_key_store(key_store_id)
1917
+ operation_result = @service_client.delete_key_store(key_store_id, base_operation_opts)
1269
1918
 
1270
1919
  return operation_result if wait_for_states.empty?
1271
1920
 
@@ -1292,32 +1941,140 @@ module OCI
1292
1941
  # rubocop:disable Layout/EmptyLines
1293
1942
 
1294
1943
 
1295
- # Calls {OCI::Database::DatabaseClient#delete_exadata_infrastructure} and then waits for the {OCI::Database::Models::ExadataInfrastructure} acted upon
1944
+ # Calls {OCI::Database::DatabaseClient#delete_vm_cluster} and then waits for the {OCI::Database::Models::WorkRequest}
1945
+ # to enter the given state(s).
1946
+ #
1947
+ # @param [String] vm_cluster_id The VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1948
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1949
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_vm_cluster}
1950
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1951
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
1952
+ # * max_wait_seconds The maximum time to wait, in seconds
1953
+ #
1954
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
1955
+ def delete_vm_cluster_and_wait_for_state(vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1956
+ operation_result = @service_client.delete_vm_cluster(vm_cluster_id, base_operation_opts)
1957
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1958
+
1959
+ return operation_result if wait_for_states.empty? && !use_util
1960
+
1961
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
1962
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1963
+
1964
+ begin
1965
+ if use_util
1966
+ waiter_result = OCI::Database::Util.wait_on_work_request(
1967
+ @service_client,
1968
+ wait_for_resource_id,
1969
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1970
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1971
+ )
1972
+ else
1973
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
1974
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
1975
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1976
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1977
+ )
1978
+ end
1979
+ result_to_return = waiter_result
1980
+
1981
+ return result_to_return
1982
+ rescue StandardError
1983
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1984
+ end
1985
+ end
1986
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1987
+ # rubocop:enable Layout/EmptyLines
1988
+
1989
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1990
+ # rubocop:disable Layout/EmptyLines
1991
+
1992
+
1993
+ # Calls {OCI::Database::DatabaseClient#delete_vm_cluster_network} and then waits for the {OCI::Database::Models::WorkRequest}
1296
1994
  # to enter the given state(s).
1297
1995
  #
1298
1996
  # @param [String] exadata_infrastructure_id The Exadata infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1299
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::ExadataInfrastructure#lifecycle_state}
1300
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_exadata_infrastructure}
1997
+ # @param [String] vm_cluster_network_id The VM cluster network [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1998
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
1999
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_vm_cluster_network}
1301
2000
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1302
2001
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1303
2002
  # * max_wait_seconds The maximum time to wait, in seconds
1304
2003
  #
1305
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1306
- def delete_exadata_infrastructure_and_wait_for_state(exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1307
- initial_get_result = @service_client.get_exadata_infrastructure(exadata_infrastructure_id)
1308
- operation_result = @service_client.delete_exadata_infrastructure(exadata_infrastructure_id, base_operation_opts)
2004
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2005
+ def delete_vm_cluster_network_and_wait_for_state(exadata_infrastructure_id, vm_cluster_network_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2006
+ operation_result = @service_client.delete_vm_cluster_network(exadata_infrastructure_id, vm_cluster_network_id, base_operation_opts)
2007
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1309
2008
 
1310
- return operation_result if wait_for_states.empty?
2009
+ return operation_result if wait_for_states.empty? && !use_util
2010
+
2011
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
2012
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2013
+
2014
+ begin
2015
+ if use_util
2016
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2017
+ @service_client,
2018
+ wait_for_resource_id,
2019
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2020
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2021
+ )
2022
+ else
2023
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2024
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2025
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2026
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2027
+ )
2028
+ end
2029
+ result_to_return = waiter_result
2030
+
2031
+ return result_to_return
2032
+ rescue StandardError
2033
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
2034
+ end
2035
+ end
2036
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2037
+ # rubocop:enable Layout/EmptyLines
2038
+
2039
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2040
+ # rubocop:disable Layout/EmptyLines
2041
+
2042
+
2043
+ # Calls {OCI::Database::DatabaseClient#deregister_autonomous_database_data_safe} and then waits for the {OCI::Database::Models::WorkRequest}
2044
+ # to enter the given state(s).
2045
+ #
2046
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2047
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2048
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#deregister_autonomous_database_data_safe}
2049
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2050
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
2051
+ # * max_wait_seconds The maximum time to wait, in seconds
2052
+ #
2053
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2054
+ def deregister_autonomous_database_data_safe_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2055
+ operation_result = @service_client.deregister_autonomous_database_data_safe(autonomous_database_id, base_operation_opts)
2056
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2057
+
2058
+ return operation_result if wait_for_states.empty? && !use_util
1311
2059
 
1312
2060
  lowered_wait_for_states = wait_for_states.map(&:downcase)
2061
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1313
2062
 
1314
2063
  begin
1315
- waiter_result = initial_get_result.wait_until(
1316
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1317
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1318
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1319
- succeed_on_not_found: true
1320
- )
2064
+ if use_util
2065
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2066
+ @service_client,
2067
+ wait_for_resource_id,
2068
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2069
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2070
+ )
2071
+ else
2072
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2073
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2074
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2075
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2076
+ )
2077
+ end
1321
2078
  result_to_return = waiter_result
1322
2079
 
1323
2080
  return result_to_return
@@ -1332,32 +2089,41 @@ module OCI
1332
2089
  # rubocop:disable Layout/EmptyLines
1333
2090
 
1334
2091
 
1335
- # Calls {OCI::Database::DatabaseClient#delete_key_store} and then waits for the {OCI::Database::Models::KeyStore} acted upon
2092
+ # Calls {OCI::Database::DatabaseClient#disable_autonomous_database_operations_insights} and then waits for the {OCI::Database::Models::WorkRequest}
1336
2093
  # to enter the given state(s).
1337
2094
  #
1338
- # @param [String] key_store_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the key store.
1339
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::KeyStore#lifecycle_state}
1340
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_key_store}
2095
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2096
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2097
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#disable_autonomous_database_operations_insights}
1341
2098
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1342
2099
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1343
2100
  # * max_wait_seconds The maximum time to wait, in seconds
1344
2101
  #
1345
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1346
- def delete_key_store_and_wait_for_state(key_store_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1347
- initial_get_result = @service_client.get_key_store(key_store_id)
1348
- operation_result = @service_client.delete_key_store(key_store_id, base_operation_opts)
2102
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2103
+ def disable_autonomous_database_operations_insights_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2104
+ operation_result = @service_client.disable_autonomous_database_operations_insights(autonomous_database_id, base_operation_opts)
2105
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1349
2106
 
1350
- return operation_result if wait_for_states.empty?
2107
+ return operation_result if wait_for_states.empty? && !use_util
1351
2108
 
1352
2109
  lowered_wait_for_states = wait_for_states.map(&:downcase)
2110
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1353
2111
 
1354
2112
  begin
1355
- waiter_result = initial_get_result.wait_until(
1356
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1357
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1358
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1359
- succeed_on_not_found: true
1360
- )
2113
+ if use_util
2114
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2115
+ @service_client,
2116
+ wait_for_resource_id,
2117
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2118
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2119
+ )
2120
+ else
2121
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2122
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2123
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2124
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2125
+ )
2126
+ end
1361
2127
  result_to_return = waiter_result
1362
2128
 
1363
2129
  return result_to_return
@@ -1372,32 +2138,41 @@ module OCI
1372
2138
  # rubocop:disable Layout/EmptyLines
1373
2139
 
1374
2140
 
1375
- # Calls {OCI::Database::DatabaseClient#delete_vm_cluster} and then waits for the {OCI::Database::Models::VmCluster} acted upon
2141
+ # Calls {OCI::Database::DatabaseClient#enable_autonomous_database_operations_insights} and then waits for the {OCI::Database::Models::WorkRequest}
1376
2142
  # to enter the given state(s).
1377
2143
  #
1378
- # @param [String] vm_cluster_id The VM cluster [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1379
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::VmCluster#lifecycle_state}
1380
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#delete_vm_cluster}
2144
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2145
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2146
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#enable_autonomous_database_operations_insights}
1381
2147
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1382
2148
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1383
2149
  # * max_wait_seconds The maximum time to wait, in seconds
1384
2150
  #
1385
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
1386
- def delete_vm_cluster_and_wait_for_state(vm_cluster_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1387
- initial_get_result = @service_client.get_vm_cluster(vm_cluster_id)
1388
- operation_result = @service_client.delete_vm_cluster(vm_cluster_id, base_operation_opts)
2151
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2152
+ def enable_autonomous_database_operations_insights_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2153
+ operation_result = @service_client.enable_autonomous_database_operations_insights(autonomous_database_id, base_operation_opts)
2154
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1389
2155
 
1390
- return operation_result if wait_for_states.empty?
2156
+ return operation_result if wait_for_states.empty? && !use_util
1391
2157
 
1392
2158
  lowered_wait_for_states = wait_for_states.map(&:downcase)
2159
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1393
2160
 
1394
2161
  begin
1395
- waiter_result = initial_get_result.wait_until(
1396
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1397
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1398
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
1399
- succeed_on_not_found: true
1400
- )
2162
+ if use_util
2163
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2164
+ @service_client,
2165
+ wait_for_resource_id,
2166
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2167
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2168
+ )
2169
+ else
2170
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2171
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2172
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2173
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2174
+ )
2175
+ end
1401
2176
  result_to_return = waiter_result
1402
2177
 
1403
2178
  return result_to_return
@@ -1610,6 +2385,95 @@ module OCI
1610
2385
  # rubocop:disable Layout/EmptyLines
1611
2386
 
1612
2387
 
2388
+ # Calls {OCI::Database::DatabaseClient#migrate_vault_key} and then waits for the {OCI::Database::Models::Database} acted upon
2389
+ # to enter the given state(s).
2390
+ #
2391
+ # @param [String] database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2392
+ # @param [OCI::Database::Models::MigrateVaultKeyDetails] migrate_vault_key_details Request to change the source of the encryption key for the database.
2393
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Database#lifecycle_state}
2394
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#migrate_vault_key}
2395
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2396
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
2397
+ # * max_wait_seconds The maximum time to wait, in seconds
2398
+ #
2399
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::Database}
2400
+ def migrate_vault_key_and_wait_for_state(database_id, migrate_vault_key_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2401
+ operation_result = @service_client.migrate_vault_key(database_id, migrate_vault_key_details, base_operation_opts)
2402
+
2403
+ return operation_result if wait_for_states.empty?
2404
+
2405
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
2406
+ wait_for_resource_id = operation_result.data.id
2407
+
2408
+ begin
2409
+ waiter_result = @service_client.get_database(wait_for_resource_id).wait_until(
2410
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2411
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2412
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2413
+ )
2414
+ result_to_return = waiter_result
2415
+
2416
+ return result_to_return
2417
+ rescue StandardError
2418
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
2419
+ end
2420
+ end
2421
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2422
+ # rubocop:enable Layout/EmptyLines
2423
+
2424
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2425
+ # rubocop:disable Layout/EmptyLines
2426
+
2427
+
2428
+ # Calls {OCI::Database::DatabaseClient#register_autonomous_database_data_safe} and then waits for the {OCI::Database::Models::WorkRequest}
2429
+ # to enter the given state(s).
2430
+ #
2431
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2432
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2433
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#register_autonomous_database_data_safe}
2434
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2435
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
2436
+ # * max_wait_seconds The maximum time to wait, in seconds
2437
+ #
2438
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2439
+ def register_autonomous_database_data_safe_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2440
+ operation_result = @service_client.register_autonomous_database_data_safe(autonomous_database_id, base_operation_opts)
2441
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2442
+
2443
+ return operation_result if wait_for_states.empty? && !use_util
2444
+
2445
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
2446
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2447
+
2448
+ begin
2449
+ if use_util
2450
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2451
+ @service_client,
2452
+ wait_for_resource_id,
2453
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2454
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2455
+ )
2456
+ else
2457
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2458
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2459
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2460
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2461
+ )
2462
+ end
2463
+ result_to_return = waiter_result
2464
+
2465
+ return result_to_return
2466
+ rescue StandardError
2467
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
2468
+ end
2469
+ end
2470
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2471
+ # rubocop:enable Layout/EmptyLines
2472
+
2473
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2474
+ # rubocop:disable Layout/EmptyLines
2475
+
2476
+
1613
2477
  # Calls {OCI::Database::DatabaseClient#reinstate_autonomous_container_database_dataguard_association} and then waits for the {OCI::Database::Models::AutonomousContainerDatabaseDataguardAssociation} acted upon
1614
2478
  # to enter the given state(s).
1615
2479
  #
@@ -1769,46 +2633,6 @@ module OCI
1769
2633
  # rubocop:disable Layout/EmptyLines
1770
2634
 
1771
2635
 
1772
- # Calls {OCI::Database::DatabaseClient#restore_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
1773
- # to enter the given state(s).
1774
- #
1775
- # @param [String] autonomous_data_warehouse_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1776
- # @param [OCI::Database::Models::RestoreAutonomousDataWarehouseDetails] restore_autonomous_data_warehouse_details Request to perform an Autonomous Data Warehouse restore.
1777
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
1778
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#restore_autonomous_data_warehouse}
1779
- # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1780
- # * max_interval_seconds: The maximum interval between queries, in seconds.
1781
- # * max_wait_seconds The maximum time to wait, in seconds
1782
- #
1783
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouse}
1784
- def restore_autonomous_data_warehouse_and_wait_for_state(autonomous_data_warehouse_id, restore_autonomous_data_warehouse_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1785
- operation_result = @service_client.restore_autonomous_data_warehouse(autonomous_data_warehouse_id, restore_autonomous_data_warehouse_details, base_operation_opts)
1786
-
1787
- return operation_result if wait_for_states.empty?
1788
-
1789
- lowered_wait_for_states = wait_for_states.map(&:downcase)
1790
- wait_for_resource_id = operation_result.data.id
1791
-
1792
- begin
1793
- waiter_result = @service_client.get_autonomous_data_warehouse(wait_for_resource_id).wait_until(
1794
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1795
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1796
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1797
- )
1798
- result_to_return = waiter_result
1799
-
1800
- return result_to_return
1801
- rescue StandardError
1802
- raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
1803
- end
1804
- end
1805
- # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1806
- # rubocop:enable Layout/EmptyLines
1807
-
1808
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
1809
- # rubocop:disable Layout/EmptyLines
1810
-
1811
-
1812
2636
  # Calls {OCI::Database::DatabaseClient#restore_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
1813
2637
  # to enter the given state(s).
1814
2638
  #
@@ -1967,31 +2791,41 @@ module OCI
1967
2791
  # rubocop:disable Layout/EmptyLines
1968
2792
 
1969
2793
 
1970
- # Calls {OCI::Database::DatabaseClient#start_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
2794
+ # Calls {OCI::Database::DatabaseClient#rotate_ords_certs} and then waits for the {OCI::Database::Models::WorkRequest}
1971
2795
  # to enter the given state(s).
1972
2796
  #
1973
- # @param [String] autonomous_data_warehouse_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
1974
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
1975
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#start_autonomous_data_warehouse}
2797
+ # @param [String] autonomous_exadata_infrastructure_id The Autonomous Exadata Infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2798
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2799
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#rotate_ords_certs}
1976
2800
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
1977
2801
  # * max_interval_seconds: The maximum interval between queries, in seconds.
1978
2802
  # * max_wait_seconds The maximum time to wait, in seconds
1979
2803
  #
1980
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouse}
1981
- def start_autonomous_data_warehouse_and_wait_for_state(autonomous_data_warehouse_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
1982
- operation_result = @service_client.start_autonomous_data_warehouse(autonomous_data_warehouse_id, base_operation_opts)
2804
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2805
+ def rotate_ords_certs_and_wait_for_state(autonomous_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2806
+ operation_result = @service_client.rotate_ords_certs(autonomous_exadata_infrastructure_id, base_operation_opts)
2807
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
1983
2808
 
1984
- return operation_result if wait_for_states.empty?
2809
+ return operation_result if wait_for_states.empty? && !use_util
1985
2810
 
1986
2811
  lowered_wait_for_states = wait_for_states.map(&:downcase)
1987
- wait_for_resource_id = operation_result.data.id
2812
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
1988
2813
 
1989
2814
  begin
1990
- waiter_result = @service_client.get_autonomous_data_warehouse(wait_for_resource_id).wait_until(
1991
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
1992
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
1993
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
1994
- )
2815
+ if use_util
2816
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2817
+ @service_client,
2818
+ wait_for_resource_id,
2819
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2820
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2821
+ )
2822
+ else
2823
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2824
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2825
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2826
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2827
+ )
2828
+ end
1995
2829
  result_to_return = waiter_result
1996
2830
 
1997
2831
  return result_to_return
@@ -2006,19 +2840,68 @@ module OCI
2006
2840
  # rubocop:disable Layout/EmptyLines
2007
2841
 
2008
2842
 
2009
- # Calls {OCI::Database::DatabaseClient#start_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
2843
+ # Calls {OCI::Database::DatabaseClient#rotate_ssl_certs} and then waits for the {OCI::Database::Models::WorkRequest}
2010
2844
  # to enter the given state(s).
2011
2845
  #
2012
- # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2013
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDatabase#lifecycle_state}
2014
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#start_autonomous_database}
2846
+ # @param [String] autonomous_exadata_infrastructure_id The Autonomous Exadata Infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2847
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2848
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#rotate_ssl_certs}
2015
2849
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2016
2850
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2017
2851
  # * max_wait_seconds The maximum time to wait, in seconds
2018
2852
  #
2019
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDatabase}
2020
- def start_autonomous_database_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2021
- operation_result = @service_client.start_autonomous_database(autonomous_database_id, base_operation_opts)
2853
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2854
+ def rotate_ssl_certs_and_wait_for_state(autonomous_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2855
+ operation_result = @service_client.rotate_ssl_certs(autonomous_exadata_infrastructure_id, base_operation_opts)
2856
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2857
+
2858
+ return operation_result if wait_for_states.empty? && !use_util
2859
+
2860
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
2861
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2862
+
2863
+ begin
2864
+ if use_util
2865
+ waiter_result = OCI::Database::Util.wait_on_work_request(
2866
+ @service_client,
2867
+ wait_for_resource_id,
2868
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2869
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2870
+ )
2871
+ else
2872
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
2873
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
2874
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2875
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2876
+ )
2877
+ end
2878
+ result_to_return = waiter_result
2879
+
2880
+ return result_to_return
2881
+ rescue StandardError
2882
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
2883
+ end
2884
+ end
2885
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2886
+ # rubocop:enable Layout/EmptyLines
2887
+
2888
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
2889
+ # rubocop:disable Layout/EmptyLines
2890
+
2891
+
2892
+ # Calls {OCI::Database::DatabaseClient#rotate_vault_key} and then waits for the {OCI::Database::Models::Database} acted upon
2893
+ # to enter the given state(s).
2894
+ #
2895
+ # @param [String] database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2896
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::Database#lifecycle_state}
2897
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#rotate_vault_key}
2898
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2899
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
2900
+ # * max_wait_seconds The maximum time to wait, in seconds
2901
+ #
2902
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::Database}
2903
+ def rotate_vault_key_and_wait_for_state(database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2904
+ operation_result = @service_client.rotate_vault_key(database_id, base_operation_opts)
2022
2905
 
2023
2906
  return operation_result if wait_for_states.empty?
2024
2907
 
@@ -2026,7 +2909,7 @@ module OCI
2026
2909
  wait_for_resource_id = operation_result.data.id
2027
2910
 
2028
2911
  begin
2029
- waiter_result = @service_client.get_autonomous_database(wait_for_resource_id).wait_until(
2912
+ waiter_result = @service_client.get_database(wait_for_resource_id).wait_until(
2030
2913
  eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2031
2914
  max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2032
2915
  max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
@@ -2045,19 +2928,19 @@ module OCI
2045
2928
  # rubocop:disable Layout/EmptyLines
2046
2929
 
2047
2930
 
2048
- # Calls {OCI::Database::DatabaseClient#stop_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
2931
+ # Calls {OCI::Database::DatabaseClient#start_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
2049
2932
  # to enter the given state(s).
2050
2933
  #
2051
- # @param [String] autonomous_data_warehouse_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2052
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
2053
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#stop_autonomous_data_warehouse}
2934
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2935
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDatabase#lifecycle_state}
2936
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#start_autonomous_database}
2054
2937
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2055
2938
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2056
2939
  # * max_wait_seconds The maximum time to wait, in seconds
2057
2940
  #
2058
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouse}
2059
- def stop_autonomous_data_warehouse_and_wait_for_state(autonomous_data_warehouse_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2060
- operation_result = @service_client.stop_autonomous_data_warehouse(autonomous_data_warehouse_id, base_operation_opts)
2941
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDatabase}
2942
+ def start_autonomous_database_and_wait_for_state(autonomous_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2943
+ operation_result = @service_client.start_autonomous_database(autonomous_database_id, base_operation_opts)
2061
2944
 
2062
2945
  return operation_result if wait_for_states.empty?
2063
2946
 
@@ -2065,7 +2948,7 @@ module OCI
2065
2948
  wait_for_resource_id = operation_result.data.id
2066
2949
 
2067
2950
  begin
2068
- waiter_result = @service_client.get_autonomous_data_warehouse(wait_for_resource_id).wait_until(
2951
+ waiter_result = @service_client.get_autonomous_database(wait_for_resource_id).wait_until(
2069
2952
  eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2070
2953
  max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2071
2954
  max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
@@ -2243,32 +3126,41 @@ module OCI
2243
3126
  # rubocop:disable Layout/EmptyLines
2244
3127
 
2245
3128
 
2246
- # Calls {OCI::Database::DatabaseClient#terminate_autonomous_container_database} and then waits for the {OCI::Database::Models::AutonomousContainerDatabase} acted upon
3129
+ # Calls {OCI::Database::DatabaseClient#terminate_autonomous_container_database} and then waits for the {OCI::Database::Models::WorkRequest}
2247
3130
  # to enter the given state(s).
2248
3131
  #
2249
3132
  # @param [String] autonomous_container_database_id The Autonomous Container Database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2250
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousContainerDatabase#lifecycle_state}
3133
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2251
3134
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#terminate_autonomous_container_database}
2252
3135
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2253
3136
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2254
3137
  # * max_wait_seconds The maximum time to wait, in seconds
2255
3138
  #
2256
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
3139
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2257
3140
  def terminate_autonomous_container_database_and_wait_for_state(autonomous_container_database_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2258
- initial_get_result = @service_client.get_autonomous_container_database(autonomous_container_database_id)
2259
3141
  operation_result = @service_client.terminate_autonomous_container_database(autonomous_container_database_id, base_operation_opts)
3142
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2260
3143
 
2261
- return operation_result if wait_for_states.empty?
3144
+ return operation_result if wait_for_states.empty? && !use_util
2262
3145
 
2263
3146
  lowered_wait_for_states = wait_for_states.map(&:downcase)
3147
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2264
3148
 
2265
3149
  begin
2266
- waiter_result = initial_get_result.wait_until(
2267
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2268
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2269
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
2270
- succeed_on_not_found: true
2271
- )
3150
+ if use_util
3151
+ waiter_result = OCI::Database::Util.wait_on_work_request(
3152
+ @service_client,
3153
+ wait_for_resource_id,
3154
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3155
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3156
+ )
3157
+ else
3158
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
3159
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
3160
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3161
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3162
+ )
3163
+ end
2272
3164
  result_to_return = waiter_result
2273
3165
 
2274
3166
  return result_to_return
@@ -2283,32 +3175,41 @@ module OCI
2283
3175
  # rubocop:disable Layout/EmptyLines
2284
3176
 
2285
3177
 
2286
- # Calls {OCI::Database::DatabaseClient#terminate_autonomous_exadata_infrastructure} and then waits for the {OCI::Database::Models::AutonomousExadataInfrastructure} acted upon
3178
+ # Calls {OCI::Database::DatabaseClient#terminate_autonomous_exadata_infrastructure} and then waits for the {OCI::Database::Models::WorkRequest}
2287
3179
  # to enter the given state(s).
2288
3180
  #
2289
3181
  # @param [String] autonomous_exadata_infrastructure_id The Autonomous Exadata Infrastructure [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2290
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousExadataInfrastructure#lifecycle_state}
3182
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2291
3183
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#terminate_autonomous_exadata_infrastructure}
2292
3184
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2293
3185
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2294
3186
  # * max_wait_seconds The maximum time to wait, in seconds
2295
3187
  #
2296
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
3188
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2297
3189
  def terminate_autonomous_exadata_infrastructure_and_wait_for_state(autonomous_exadata_infrastructure_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2298
- initial_get_result = @service_client.get_autonomous_exadata_infrastructure(autonomous_exadata_infrastructure_id)
2299
3190
  operation_result = @service_client.terminate_autonomous_exadata_infrastructure(autonomous_exadata_infrastructure_id, base_operation_opts)
3191
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2300
3192
 
2301
- return operation_result if wait_for_states.empty?
3193
+ return operation_result if wait_for_states.empty? && !use_util
2302
3194
 
2303
3195
  lowered_wait_for_states = wait_for_states.map(&:downcase)
3196
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2304
3197
 
2305
3198
  begin
2306
- waiter_result = initial_get_result.wait_until(
2307
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2308
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2309
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
2310
- succeed_on_not_found: true
2311
- )
3199
+ if use_util
3200
+ waiter_result = OCI::Database::Util.wait_on_work_request(
3201
+ @service_client,
3202
+ wait_for_resource_id,
3203
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3204
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3205
+ )
3206
+ else
3207
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
3208
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
3209
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3210
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3211
+ )
3212
+ end
2312
3213
  result_to_return = waiter_result
2313
3214
 
2314
3215
  return result_to_return
@@ -2323,32 +3224,41 @@ module OCI
2323
3224
  # rubocop:disable Layout/EmptyLines
2324
3225
 
2325
3226
 
2326
- # Calls {OCI::Database::DatabaseClient#terminate_db_system} and then waits for the {OCI::Database::Models::DbSystem} acted upon
3227
+ # Calls {OCI::Database::DatabaseClient#terminate_db_system} and then waits for the {OCI::Database::Models::WorkRequest}
2327
3228
  # to enter the given state(s).
2328
3229
  #
2329
3230
  # @param [String] db_system_id The DB system [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2330
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::DbSystem#lifecycle_state}
3231
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
2331
3232
  # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#terminate_db_system}
2332
3233
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2333
3234
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2334
3235
  # * max_wait_seconds The maximum time to wait, in seconds
2335
3236
  #
2336
- # @return [OCI::Response] A {OCI::Response} object with data of type nil
3237
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
2337
3238
  def terminate_db_system_and_wait_for_state(db_system_id, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2338
- initial_get_result = @service_client.get_db_system(db_system_id)
2339
3239
  operation_result = @service_client.terminate_db_system(db_system_id, base_operation_opts)
3240
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2340
3241
 
2341
- return operation_result if wait_for_states.empty?
3242
+ return operation_result if wait_for_states.empty? && !use_util
2342
3243
 
2343
3244
  lowered_wait_for_states = wait_for_states.map(&:downcase)
3245
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2344
3246
 
2345
3247
  begin
2346
- waiter_result = initial_get_result.wait_until(
2347
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2348
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2349
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200,
2350
- succeed_on_not_found: true
2351
- )
3248
+ if use_util
3249
+ waiter_result = OCI::Database::Util.wait_on_work_request(
3250
+ @service_client,
3251
+ wait_for_resource_id,
3252
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3253
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3254
+ )
3255
+ else
3256
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
3257
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
3258
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3259
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3260
+ )
3261
+ end
2352
3262
  result_to_return = waiter_result
2353
3263
 
2354
3264
  return result_to_return
@@ -2403,20 +3313,20 @@ module OCI
2403
3313
  # rubocop:disable Layout/EmptyLines
2404
3314
 
2405
3315
 
2406
- # Calls {OCI::Database::DatabaseClient#update_autonomous_data_warehouse} and then waits for the {OCI::Database::Models::AutonomousDataWarehouse} acted upon
3316
+ # Calls {OCI::Database::DatabaseClient#update_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
2407
3317
  # to enter the given state(s).
2408
3318
  #
2409
- # @param [String] autonomous_data_warehouse_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2410
- # @param [OCI::Database::Models::UpdateAutonomousDataWarehouseDetails] update_autonomous_data_warehouse_details Request to update the properties of an Autonomous Data Warehouse.
2411
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDataWarehouse#lifecycle_state}
2412
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_autonomous_data_warehouse}
3319
+ # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
3320
+ # @param [OCI::Database::Models::UpdateAutonomousDatabaseDetails] update_autonomous_database_details Request to update the properties of an Autonomous Database.
3321
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDatabase#lifecycle_state}
3322
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_autonomous_database}
2413
3323
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2414
3324
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2415
3325
  # * max_wait_seconds The maximum time to wait, in seconds
2416
3326
  #
2417
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDataWarehouse}
2418
- def update_autonomous_data_warehouse_and_wait_for_state(autonomous_data_warehouse_id, update_autonomous_data_warehouse_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2419
- operation_result = @service_client.update_autonomous_data_warehouse(autonomous_data_warehouse_id, update_autonomous_data_warehouse_details, base_operation_opts)
3327
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDatabase}
3328
+ def update_autonomous_database_and_wait_for_state(autonomous_database_id, update_autonomous_database_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
3329
+ operation_result = @service_client.update_autonomous_database(autonomous_database_id, update_autonomous_database_details, base_operation_opts)
2420
3330
 
2421
3331
  return operation_result if wait_for_states.empty?
2422
3332
 
@@ -2424,7 +3334,7 @@ module OCI
2424
3334
  wait_for_resource_id = operation_result.data.id
2425
3335
 
2426
3336
  begin
2427
- waiter_result = @service_client.get_autonomous_data_warehouse(wait_for_resource_id).wait_until(
3337
+ waiter_result = @service_client.get_autonomous_database(wait_for_resource_id).wait_until(
2428
3338
  eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2429
3339
  max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2430
3340
  max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
@@ -2443,32 +3353,91 @@ module OCI
2443
3353
  # rubocop:disable Layout/EmptyLines
2444
3354
 
2445
3355
 
2446
- # Calls {OCI::Database::DatabaseClient#update_autonomous_database} and then waits for the {OCI::Database::Models::AutonomousDatabase} acted upon
3356
+ # Calls {OCI::Database::DatabaseClient#update_autonomous_database_regional_wallet} and then waits for the {OCI::Database::Models::WorkRequest}
3357
+ # to enter the given state(s).
3358
+ #
3359
+ # @param [OCI::Database::Models::UpdateAutonomousDatabaseWalletDetails] update_autonomous_database_wallet_details Request to update the properties of Autonomous Database regional wallet.
3360
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
3361
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_autonomous_database_regional_wallet}
3362
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
3363
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
3364
+ # * max_wait_seconds The maximum time to wait, in seconds
3365
+ #
3366
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
3367
+ def update_autonomous_database_regional_wallet_and_wait_for_state(update_autonomous_database_wallet_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
3368
+ operation_result = @service_client.update_autonomous_database_regional_wallet(update_autonomous_database_wallet_details, base_operation_opts)
3369
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
3370
+
3371
+ return operation_result if wait_for_states.empty? && !use_util
3372
+
3373
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
3374
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
3375
+
3376
+ begin
3377
+ if use_util
3378
+ waiter_result = OCI::Database::Util.wait_on_work_request(
3379
+ @service_client,
3380
+ wait_for_resource_id,
3381
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3382
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3383
+ )
3384
+ else
3385
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
3386
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
3387
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3388
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3389
+ )
3390
+ end
3391
+ result_to_return = waiter_result
3392
+
3393
+ return result_to_return
3394
+ rescue StandardError
3395
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
3396
+ end
3397
+ end
3398
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
3399
+ # rubocop:enable Layout/EmptyLines
3400
+
3401
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
3402
+ # rubocop:disable Layout/EmptyLines
3403
+
3404
+
3405
+ # Calls {OCI::Database::DatabaseClient#update_autonomous_database_wallet} and then waits for the {OCI::Database::Models::WorkRequest}
2447
3406
  # to enter the given state(s).
2448
3407
  #
2449
3408
  # @param [String] autonomous_database_id The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
2450
- # @param [OCI::Database::Models::UpdateAutonomousDatabaseDetails] update_autonomous_database_details Request to update the properties of an Autonomous Database.
2451
- # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::AutonomousDatabase#lifecycle_state}
2452
- # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_autonomous_database}
3409
+ # @param [OCI::Database::Models::UpdateAutonomousDatabaseWalletDetails] update_autonomous_database_wallet_details Request to update the properties of an Autonomous Database wallet.
3410
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Database::Models::WorkRequest#status}
3411
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Database::DatabaseClient#update_autonomous_database_wallet}
2453
3412
  # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
2454
3413
  # * max_interval_seconds: The maximum interval between queries, in seconds.
2455
3414
  # * max_wait_seconds The maximum time to wait, in seconds
2456
3415
  #
2457
- # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Database::Models::AutonomousDatabase}
2458
- def update_autonomous_database_and_wait_for_state(autonomous_database_id, update_autonomous_database_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
2459
- operation_result = @service_client.update_autonomous_database(autonomous_database_id, update_autonomous_database_details, base_operation_opts)
3416
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::Database::Models::WorkRequest}
3417
+ def update_autonomous_database_wallet_and_wait_for_state(autonomous_database_id, update_autonomous_database_wallet_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
3418
+ operation_result = @service_client.update_autonomous_database_wallet(autonomous_database_id, update_autonomous_database_wallet_details, base_operation_opts)
3419
+ use_util = OCI::Database::Util.respond_to?(:wait_on_work_request)
2460
3420
 
2461
- return operation_result if wait_for_states.empty?
3421
+ return operation_result if wait_for_states.empty? && !use_util
2462
3422
 
2463
3423
  lowered_wait_for_states = wait_for_states.map(&:downcase)
2464
- wait_for_resource_id = operation_result.data.id
3424
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
2465
3425
 
2466
3426
  begin
2467
- waiter_result = @service_client.get_autonomous_database(wait_for_resource_id).wait_until(
2468
- eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
2469
- max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
2470
- max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
2471
- )
3427
+ if use_util
3428
+ waiter_result = OCI::Database::Util.wait_on_work_request(
3429
+ @service_client,
3430
+ wait_for_resource_id,
3431
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3432
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3433
+ )
3434
+ else
3435
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
3436
+ eval_proc: ->(response) { response.data.respond_to?(:status) && lowered_wait_for_states.include?(response.data.status.downcase) },
3437
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
3438
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
3439
+ )
3440
+ end
2472
3441
  result_to_return = waiter_result
2473
3442
 
2474
3443
  return result_to_return