oci 2.151.0__py3-none-any.whl → 2.152.1__py3-none-any.whl

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 (430) hide show
  1. oci/__init__.py +2 -2
  2. oci/access_governance_cp/access_governance_cp_client.py +8 -8
  3. oci/addons/__init__.py +20 -0
  4. oci/addons/adk/__init__.py +13 -0
  5. oci/addons/adk/agent.py +852 -0
  6. oci/addons/adk/agent_client.py +682 -0
  7. oci/addons/adk/agent_error.py +36 -0
  8. oci/addons/adk/auth/__init__.py +5 -0
  9. oci/addons/adk/auth/auth_provider.py +28 -0
  10. oci/addons/adk/auth/factory.py +78 -0
  11. oci/addons/adk/auth/oci/__init__.py +5 -0
  12. oci/addons/adk/auth/oci/instance_principal.py +53 -0
  13. oci/addons/adk/auth/oci/resource_principal.py +53 -0
  14. oci/addons/adk/auth/oci/session.py +91 -0
  15. oci/addons/adk/auth/oci/user_principal.py +64 -0
  16. oci/addons/adk/constants.py +17 -0
  17. oci/addons/adk/logger.py +163 -0
  18. oci/addons/adk/run/__init__.py +5 -0
  19. oci/addons/adk/run/response.py +56 -0
  20. oci/addons/adk/run/types.py +32 -0
  21. oci/addons/adk/tool/__init__.py +13 -0
  22. oci/addons/adk/tool/function_tool.py +334 -0
  23. oci/addons/adk/tool/prebuilt/__init__.py +8 -0
  24. oci/addons/adk/tool/prebuilt/agentic_rag_tool.py +49 -0
  25. oci/addons/adk/tool/prebuilt/calculator_toolkit.py +104 -0
  26. oci/addons/adk/tool/tool.py +37 -0
  27. oci/addons/adk/tool/toolkit.py +189 -0
  28. oci/addons/adk/tool/utils.py +120 -0
  29. oci/addons/adk/util.py +325 -0
  30. oci/adm/application_dependency_management_client.py +36 -36
  31. oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
  32. oci/ai_document/ai_service_document_client.py +26 -26
  33. oci/ai_language/ai_service_language_client.py +44 -44
  34. oci/ai_speech/ai_service_speech_client.py +19 -19
  35. oci/ai_vision/ai_service_vision_client.py +28 -28
  36. oci/analytics/analytics_client.py +24 -24
  37. oci/announcements_service/announcement_client.py +5 -5
  38. oci/announcements_service/announcement_subscription_client.py +9 -9
  39. oci/announcements_service/announcements_preferences_client.py +4 -4
  40. oci/announcements_service/service_client.py +1 -1
  41. oci/apigateway/api_gateway_client.py +21 -21
  42. oci/apigateway/deployment_client.py +6 -6
  43. oci/apigateway/gateway_client.py +6 -6
  44. oci/apigateway/subscribers_client.py +6 -6
  45. oci/apigateway/usage_plans_client.py +6 -6
  46. oci/apigateway/work_requests_client.py +5 -5
  47. oci/apm_config/config_client.py +12 -12
  48. oci/apm_control_plane/apm_domain_client.py +14 -14
  49. oci/apm_synthetics/apm_synthetic_client.py +28 -28
  50. oci/apm_traces/attributes_client.py +8 -8
  51. oci/apm_traces/query_client.py +2 -2
  52. oci/apm_traces/trace_client.py +4 -4
  53. oci/appmgmt_control/appmgmt_control_client.py +8 -8
  54. oci/artifacts/artifacts_client.py +32 -32
  55. oci/audit/audit_client.py +3 -3
  56. oci/autoscaling/auto_scaling_client.py +11 -11
  57. oci/bastion/bastion_client.py +15 -15
  58. oci/bds/bds_client.py +84 -84
  59. oci/blockchain/blockchain_platform_client.py +27 -27
  60. oci/budget/budget_client.py +10 -10
  61. oci/capacity_management/capacity_management_client.py +32 -32
  62. oci/certificates/certificates_client.py +5 -5
  63. oci/certificates_management/certificates_management_client.py +32 -32
  64. oci/cims/incident_client.py +6 -6
  65. oci/cloud_bridge/common_client.py +5 -5
  66. oci/cloud_bridge/discovery_client.py +15 -15
  67. oci/cloud_bridge/inventory_client.py +16 -16
  68. oci/cloud_bridge/ocb_agent_svc_client.py +23 -23
  69. oci/cloud_guard/cloud_guard_client.py +155 -155
  70. oci/cloud_migrations/migration_client.py +43 -43
  71. oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
  72. oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
  73. oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
  74. oci/compute_instance_agent/plugin_client.py +2 -2
  75. oci/compute_instance_agent/pluginconfig_client.py +1 -1
  76. oci/container_engine/container_engine_client.py +46 -46
  77. oci/container_instances/container_instance_client.py +18 -18
  78. oci/core/blockstorage_client.py +60 -60
  79. oci/core/compute_client.py +117 -117
  80. oci/core/compute_management_client.py +32 -32
  81. oci/core/virtual_network_client.py +258 -258
  82. oci/dashboard_service/dashboard_client.py +6 -6
  83. oci/dashboard_service/dashboard_group_client.py +6 -6
  84. oci/data_catalog/data_catalog_client.py +149 -149
  85. oci/data_flow/data_flow_client.py +45 -45
  86. oci/data_integration/data_integration_client.py +163 -163
  87. oci/data_labeling_service/data_labeling_management_client.py +17 -17
  88. oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
  89. oci/data_safe/data_safe_client.py +317 -317
  90. oci/data_science/data_science_client.py +145 -145
  91. oci/database/database_client.py +745 -469
  92. oci/database/models/__init__.py +2 -0
  93. oci/database/models/autonomous_db_version_summary.py +31 -0
  94. oci/database/models/backup.py +4 -2
  95. oci/database/models/backup_summary.py +4 -2
  96. oci/database/models/create_external_backup_job_details.py +4 -4
  97. oci/database/models/db_system.py +4 -2
  98. oci/database/models/db_system_summary.py +4 -2
  99. oci/database/models/db_system_upgrade_summary.py +152 -0
  100. oci/database/models/external_container_database.py +4 -2
  101. oci/database/models/external_container_database_summary.py +4 -2
  102. oci/database/models/external_database_base.py +4 -2
  103. oci/database/models/external_non_container_database.py +4 -2
  104. oci/database/models/external_non_container_database_summary.py +4 -2
  105. oci/database/models/external_pluggable_database.py +4 -2
  106. oci/database/models/external_pluggable_database_summary.py +4 -2
  107. oci/database_management/db_management_client.py +356 -230
  108. oci/database_management/db_management_client_composite_operations.py +44 -0
  109. oci/database_management/diagnosability_client.py +4 -4
  110. oci/database_management/managed_my_sql_databases_client.py +7 -247
  111. oci/database_management/models/__init__.py +0 -4
  112. oci/database_management/models/database_diagnostics_and_management_feature_details.py +35 -4
  113. oci/database_management/models/disable_database_management_feature_details.py +33 -2
  114. oci/database_management/models/disable_external_container_database_management_feature_details.py +33 -2
  115. oci/database_management/models/discovered_external_database.py +64 -2
  116. oci/database_management/models/exadata_infrastructure_lifecycle_state_values.py +40 -36
  117. oci/database_management/models/external_database_diagnostics_and_management_feature_details.py +64 -2
  118. oci/database_management/models/managed_database.py +2 -4
  119. oci/database_management/models/managed_database_summary.py +2 -4
  120. oci/database_management/models/modify_database_management_feature_details.py +1 -1
  121. oci/database_management/perfhub_client.py +1 -1
  122. oci/database_management/sql_tuning_client.py +17 -17
  123. oci/database_migration/database_migration_client.py +42 -42
  124. oci/database_tools/database_tools_client.py +23 -23
  125. oci/dblm/db_life_cycle_management_client.py +14 -14
  126. oci/delegate_access_control/delegate_access_control_client.py +26 -26
  127. oci/delegate_access_control/work_request_client.py +4 -4
  128. oci/demand_signal/occ_demand_signal_client.py +7 -7
  129. oci/desktops/desktop_service_client.py +21 -21
  130. oci/devops/devops_client.py +141 -141
  131. oci/disaster_recovery/disaster_recovery_client.py +31 -31
  132. oci/distributed_database/__init__.py +20 -0
  133. oci/distributed_database/distributed_autonomous_db_service_client.py +2315 -0
  134. oci/distributed_database/distributed_autonomous_db_service_client_composite_operations.py +605 -0
  135. oci/distributed_database/distributed_db_private_endpoint_service_client.py +944 -0
  136. oci/distributed_database/distributed_db_private_endpoint_service_client_composite_operations.py +238 -0
  137. oci/distributed_database/distributed_db_service_client.py +2435 -0
  138. oci/distributed_database/distributed_db_service_client_composite_operations.py +647 -0
  139. oci/distributed_database/distributed_db_work_request_service_client.py +654 -0
  140. oci/distributed_database/distributed_db_work_request_service_client_composite_operations.py +26 -0
  141. oci/distributed_database/models/__init__.py +158 -0
  142. oci/distributed_database/models/add_distributed_autonomous_database_gds_control_node_details.py +105 -0
  143. oci/distributed_database/models/add_distributed_database_gds_control_node_details.py +105 -0
  144. oci/distributed_database/models/catalog_peer_with_dedicated_infra.py +331 -0
  145. oci/distributed_database/models/catalog_peer_with_exadb_xs.py +331 -0
  146. oci/distributed_database/models/change_distributed_autonomous_database_compartment_details.py +74 -0
  147. oci/distributed_database/models/change_distributed_database_compartment_details.py +74 -0
  148. oci/distributed_database/models/change_distributed_database_private_endpoint_compartment_details.py +74 -0
  149. oci/distributed_database/models/change_distributed_db_backup_config_details.py +66 -0
  150. oci/distributed_database/models/configure_distributed_autonomous_database_gsms_details.py +103 -0
  151. oci/distributed_database/models/configure_distributed_database_gsms_details.py +103 -0
  152. oci/distributed_database/models/create_distributed_autonomous_database_catalog_details.py +101 -0
  153. oci/distributed_database/models/create_distributed_autonomous_database_catalog_with_dedicated_infra_details.py +342 -0
  154. oci/distributed_database/models/create_distributed_autonomous_database_details.py +799 -0
  155. oci/distributed_database/models/create_distributed_autonomous_database_shard_details.py +101 -0
  156. oci/distributed_database/models/create_distributed_autonomous_database_shard_with_dedicated_infra_details.py +377 -0
  157. oci/distributed_database/models/create_distributed_database_catalog_details.py +99 -0
  158. oci/distributed_database/models/create_distributed_database_catalog_with_exadb_xs_details.py +282 -0
  159. oci/distributed_database/models/create_distributed_database_details.py +810 -0
  160. oci/distributed_database/models/create_distributed_database_private_endpoint_details.py +260 -0
  161. oci/distributed_database/models/create_distributed_database_shard_details.py +99 -0
  162. oci/distributed_database/models/create_distributed_database_shard_with_exadb_xs_details.py +282 -0
  163. oci/distributed_database/models/distributed_autonomous_database.py +1143 -0
  164. oci/distributed_database/models/distributed_autonomous_database_associated_with_private_endpoint.py +105 -0
  165. oci/distributed_database/models/distributed_autonomous_database_catalog.py +194 -0
  166. oci/distributed_database/models/distributed_autonomous_database_catalog_with_dedicated_infra.py +559 -0
  167. oci/distributed_database/models/distributed_autonomous_database_collection.py +70 -0
  168. oci/distributed_database/models/distributed_autonomous_database_connection_string.py +70 -0
  169. oci/distributed_database/models/distributed_autonomous_database_gsm.py +385 -0
  170. oci/distributed_database/models/distributed_autonomous_database_gsm_image.py +105 -0
  171. oci/distributed_database/models/distributed_autonomous_database_shard.py +194 -0
  172. oci/distributed_database/models/distributed_autonomous_database_shard_with_dedicated_infra.py +592 -0
  173. oci/distributed_database/models/distributed_autonomous_database_summary.py +935 -0
  174. oci/distributed_database/models/distributed_autonomous_db_metadata.py +70 -0
  175. oci/distributed_database/models/distributed_database.py +1154 -0
  176. oci/distributed_database/models/distributed_database_associated_with_private_endpoint.py +105 -0
  177. oci/distributed_database/models/distributed_database_catalog.py +192 -0
  178. oci/distributed_database/models/distributed_database_catalog_with_exadb_xs.py +466 -0
  179. oci/distributed_database/models/distributed_database_collection.py +70 -0
  180. oci/distributed_database/models/distributed_database_gsm.py +385 -0
  181. oci/distributed_database/models/distributed_database_private_endpoint.py +639 -0
  182. oci/distributed_database/models/distributed_database_private_endpoint_collection.py +70 -0
  183. oci/distributed_database/models/distributed_database_private_endpoint_summary.py +479 -0
  184. oci/distributed_database/models/distributed_database_shard.py +192 -0
  185. oci/distributed_database/models/distributed_database_shard_with_exadb_xs.py +499 -0
  186. oci/distributed_database/models/distributed_database_summary.py +904 -0
  187. oci/distributed_database/models/distributed_db_backup_config.py +536 -0
  188. oci/distributed_database/models/distributed_db_backup_destination.py +362 -0
  189. oci/distributed_database/models/distributed_db_connection_string.py +70 -0
  190. oci/distributed_database/models/distributed_db_gsm_image.py +105 -0
  191. oci/distributed_database/models/distributed_db_metadata.py +70 -0
  192. oci/distributed_database/models/generate_distributed_autonomous_database_wallet_details.py +70 -0
  193. oci/distributed_database/models/generate_distributed_database_wallet_details.py +70 -0
  194. oci/distributed_database/models/patch_distributed_autonomous_database_details.py +73 -0
  195. oci/distributed_database/models/patch_distributed_database_details.py +73 -0
  196. oci/distributed_database/models/patch_insert_instruction.py +87 -0
  197. oci/distributed_database/models/patch_instruction.py +154 -0
  198. oci/distributed_database/models/patch_merge_instruction.py +95 -0
  199. oci/distributed_database/models/patch_remove_instruction.py +57 -0
  200. oci/distributed_database/models/shard_peer_with_dedicated_infra.py +331 -0
  201. oci/distributed_database/models/shard_peer_with_exadb_xs.py +331 -0
  202. oci/distributed_database/models/update_distributed_autonomous_database_details.py +136 -0
  203. oci/distributed_database/models/update_distributed_database_details.py +136 -0
  204. oci/distributed_database/models/update_distributed_database_private_endpoint_details.py +198 -0
  205. oci/distributed_database/models/upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details.py +71 -0
  206. oci/distributed_database/models/upload_distributed_database_signed_certificate_and_generate_wallet_details.py +71 -0
  207. oci/distributed_database/models/work_request.py +516 -0
  208. oci/distributed_database/models/work_request_error.py +134 -0
  209. oci/distributed_database/models/work_request_error_collection.py +70 -0
  210. oci/distributed_database/models/work_request_log_entry.py +101 -0
  211. oci/distributed_database/models/work_request_log_entry_collection.py +70 -0
  212. oci/distributed_database/models/work_request_resource.py +232 -0
  213. oci/distributed_database/models/work_request_summary.py +516 -0
  214. oci/distributed_database/models/work_request_summary_collection.py +70 -0
  215. oci/dns/dns_client.py +54 -54
  216. oci/dts/appliance_export_job_client.py +6 -6
  217. oci/dts/shipping_vendors_client.py +1 -1
  218. oci/dts/transfer_appliance_client.py +8 -8
  219. oci/dts/transfer_appliance_entitlement_client.py +3 -3
  220. oci/dts/transfer_device_client.py +5 -5
  221. oci/dts/transfer_job_client.py +6 -6
  222. oci/dts/transfer_package_client.py +7 -7
  223. oci/em_warehouse/em_warehouse_client.py +13 -13
  224. oci/email/email_client.py +31 -31
  225. oci/email_data_plane/email_dp_client.py +1 -1
  226. oci/events/events_client.py +6 -6
  227. oci/file_storage/file_storage_client.py +74 -74
  228. oci/fleet_apps_management/fleet_apps_management_admin_client.py +27 -27
  229. oci/fleet_apps_management/fleet_apps_management_catalog_client.py +7 -7
  230. oci/fleet_apps_management/fleet_apps_management_client.py +32 -32
  231. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +5 -5
  232. oci/fleet_apps_management/fleet_apps_management_operations_client.py +29 -29
  233. oci/fleet_apps_management/fleet_apps_management_provision_client.py +6 -6
  234. oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +19 -19
  235. oci/fleet_apps_management/fleet_apps_management_work_request_client.py +4 -4
  236. oci/fleet_software_update/fleet_software_update_client.py +46 -46
  237. oci/functions/functions_invoke_client.py +1 -1
  238. oci/functions/functions_management_client.py +16 -16
  239. oci/fusion_apps/fusion_applications_client.py +41 -41
  240. oci/generative_ai/generative_ai_client.py +22 -22
  241. oci/generative_ai/models/create_dedicated_ai_cluster_details.py +4 -0
  242. oci/generative_ai/models/dedicated_ai_cluster.py +11 -3
  243. oci/generative_ai_agent/generative_ai_agent_client.py +38 -38
  244. oci/generative_ai_agent_runtime/generative_ai_agent_runtime_client.py +6 -6
  245. oci/generative_ai_inference/generative_ai_inference_client.py +6 -6
  246. oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
  247. oci/globally_distributed_database/sharded_database_service_client.py +58 -58
  248. oci/golden_gate/golden_gate_client.py +89 -89
  249. oci/governance_rules_control_plane/governance_rule_client.py +15 -15
  250. oci/governance_rules_control_plane/work_request_client.py +5 -5
  251. oci/healthchecks/health_checks_client.py +17 -17
  252. oci/identity/identity_client.py +145 -145
  253. oci/identity_data_plane/dataplane_client.py +2 -2
  254. oci/identity_domains/identity_domains_client.py +311 -311
  255. oci/integration/integration_instance_client.py +19 -19
  256. oci/jms/java_management_service_client.py +79 -79
  257. oci/jms_java_downloads/java_download_client.py +25 -25
  258. oci/key_management/ekm_client.py +5 -5
  259. oci/key_management/kms_crypto_client.py +6 -6
  260. oci/key_management/kms_hsm_cluster_client.py +12 -12
  261. oci/key_management/kms_management_client.py +21 -21
  262. oci/key_management/kms_vault_client.py +14 -14
  263. oci/license_manager/license_manager_client.py +18 -18
  264. oci/limits/limits_client.py +4 -4
  265. oci/limits/quotas_client.py +7 -7
  266. oci/load_balancer/load_balancer_client.py +61 -61
  267. oci/lockbox/lockbox_client.py +24 -24
  268. oci/log_analytics/log_analytics_client.py +200 -200
  269. oci/logging/logging_management_client.py +30 -30
  270. oci/loggingingestion/logging_client.py +1 -1
  271. oci/loggingsearch/log_search_client.py +1 -1
  272. oci/lustre_file_storage/lustre_file_storage_client.py +11 -11
  273. oci/management_agent/management_agent_client.py +28 -28
  274. oci/management_dashboard/dashx_apis_client.py +14 -14
  275. oci/marketplace/account_client.py +2 -2
  276. oci/marketplace/marketplace_client.py +30 -30
  277. oci/marketplace_private_offer/attachment_client.py +5 -5
  278. oci/marketplace_private_offer/offer_client.py +6 -6
  279. oci/marketplace_publisher/attachment_client.py +5 -5
  280. oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
  281. oci/marketplace_publisher/offer_client.py +6 -6
  282. oci/media_services/media_services_client.py +60 -60
  283. oci/media_services/media_stream_client.py +2 -2
  284. oci/mngdmac/mac_device_client.py +3 -3
  285. oci/mngdmac/mac_order_client.py +11 -11
  286. oci/model_deployment/__init__.py +14 -0
  287. oci/model_deployment/model_deployment_client.py +331 -0
  288. oci/model_deployment/model_deployment_client_composite_operations.py +26 -0
  289. oci/model_deployment/models/__init__.py +14 -0
  290. oci/model_deployment/models/inference_result.py +70 -0
  291. oci/monitoring/monitoring_client.py +18 -18
  292. oci/mysql/channels_client.py +7 -7
  293. oci/mysql/db_backups_client.py +7 -7
  294. oci/mysql/db_system_client.py +17 -17
  295. oci/mysql/models/create_db_system_details.py +31 -0
  296. oci/mysql/models/db_system.py +31 -0
  297. oci/mysql/models/db_system_snapshot.py +31 -0
  298. oci/mysql/models/replica.py +31 -0
  299. oci/mysql/models/replica_overrides.py +33 -2
  300. oci/mysql/models/replica_summary.py +31 -0
  301. oci/mysql/models/update_db_system_details.py +31 -0
  302. oci/mysql/mysqlaas_client.py +7 -7
  303. oci/mysql/replicas_client.py +5 -5
  304. oci/mysql/work_requests_client.py +4 -4
  305. oci/network_firewall/network_firewall_client.py +86 -86
  306. oci/network_load_balancer/network_load_balancer_client.py +35 -35
  307. oci/nosql/nosql_client.py +24 -24
  308. oci/object_storage/object_storage_client.py +55 -55
  309. oci/oce/oce_instance_client.py +10 -10
  310. oci/oci_control_center/occ_metrics_client.py +3 -3
  311. oci/ocvp/cluster_client.py +5 -5
  312. oci/ocvp/esxi_host_client.py +8 -8
  313. oci/ocvp/sddc_client.py +14 -14
  314. oci/ocvp/work_request_client.py +4 -4
  315. oci/oda/management_client.py +59 -59
  316. oci/oda/oda_client.py +17 -17
  317. oci/oda/odapackage_client.py +7 -7
  318. oci/onesubscription/billing_schedule_client.py +1 -1
  319. oci/onesubscription/commitment_client.py +2 -2
  320. oci/onesubscription/computed_usage_client.py +3 -3
  321. oci/onesubscription/invoice_summary_client.py +2 -2
  322. oci/onesubscription/organization_subscription_client.py +1 -1
  323. oci/onesubscription/ratecard_client.py +1 -1
  324. oci/onesubscription/subscribed_service_client.py +2 -2
  325. oci/onesubscription/subscription_client.py +1 -1
  326. oci/ons/notification_control_plane_client.py +6 -6
  327. oci/ons/notification_data_plane_client.py +10 -10
  328. oci/opa/opa_instance_client.py +13 -13
  329. oci/opensearch/models/__init__.py +2 -0
  330. oci/opensearch/models/create_opensearch_cluster_details.py +291 -0
  331. oci/opensearch/models/create_opensearch_cluster_pipeline_details.py +31 -0
  332. oci/opensearch/models/opensearch_cluster.py +291 -0
  333. oci/opensearch/models/opensearch_cluster_pipeline.py +31 -0
  334. oci/opensearch/models/opensearch_cluster_pipeline_summary.py +31 -0
  335. oci/opensearch/models/resize_opensearch_cluster_horizontal_details.py +31 -0
  336. oci/opensearch/models/resize_opensearch_cluster_vertical_details.py +217 -0
  337. oci/opensearch/models/shapes_details.py +70 -0
  338. oci/opensearch/models/update_cluster_specs_details.py +186 -0
  339. oci/opensearch/models/update_opensearch_cluster_pipeline_details.py +31 -0
  340. oci/opensearch/opensearch_cluster_backup_client.py +4 -4
  341. oci/opensearch/opensearch_cluster_client.py +87 -16
  342. oci/opensearch/opensearch_cluster_pipeline_client.py +5 -5
  343. oci/operator_access_control/access_requests_client.py +10 -10
  344. oci/operator_access_control/operator_actions_client.py +2 -2
  345. oci/operator_access_control/operator_control_assignment_client.py +8 -8
  346. oci/operator_access_control/operator_control_client.py +6 -6
  347. oci/opsi/operations_insights_client.py +181 -181
  348. oci/optimizer/optimizer_client.py +26 -26
  349. oci/os_management/event_client.py +8 -8
  350. oci/os_management/os_management_client.py +69 -69
  351. oci/os_management_hub/event_client.py +8 -8
  352. oci/os_management_hub/lifecycle_environment_client.py +13 -13
  353. oci/os_management_hub/managed_instance_client.py +33 -33
  354. oci/os_management_hub/managed_instance_group_client.py +26 -26
  355. oci/os_management_hub/management_station_client.py +10 -10
  356. oci/os_management_hub/onboarding_client.py +13 -13
  357. oci/os_management_hub/reporting_managed_instance_client.py +3 -3
  358. oci/os_management_hub/scheduled_job_client.py +7 -7
  359. oci/os_management_hub/software_source_client.py +33 -33
  360. oci/os_management_hub/work_request_client.py +5 -5
  361. oci/osp_gateway/address_rule_service_client.py +1 -1
  362. oci/osp_gateway/address_service_client.py +2 -2
  363. oci/osp_gateway/invoice_service_client.py +5 -5
  364. oci/osp_gateway/subscription_service_client.py +5 -5
  365. oci/osub_billing_schedule/billing_schedule_client.py +1 -1
  366. oci/osub_organization_subscription/organization_subscription_client.py +1 -1
  367. oci/osub_subscription/commitment_client.py +2 -2
  368. oci/osub_subscription/ratecard_client.py +1 -1
  369. oci/osub_subscription/subscription_client.py +1 -1
  370. oci/osub_usage/computed_usage_client.py +3 -3
  371. oci/psql/postgresql_client.py +34 -34
  372. oci/queue/queue_admin_client.py +11 -11
  373. oci/queue/queue_client.py +8 -8
  374. oci/recovery/database_recovery_client.py +26 -26
  375. oci/redis/redis_cluster_client.py +12 -12
  376. oci/resource_manager/resource_manager_client.py +52 -52
  377. oci/resource_scheduler/schedule_client.py +14 -14
  378. oci/resource_search/resource_search_client.py +3 -3
  379. oci/rover/rover_bundle_client.py +8 -8
  380. oci/rover/rover_cluster_client.py +8 -8
  381. oci/rover/rover_entitlement_client.py +6 -6
  382. oci/rover/rover_node_client.py +15 -15
  383. oci/rover/shape_client.py +1 -1
  384. oci/rover/work_requests_client.py +5 -5
  385. oci/sch/connector_plugins_client.py +2 -2
  386. oci/sch/service_connector_client.py +12 -12
  387. oci/secrets/secrets_client.py +3 -3
  388. oci/security_attribute/security_attribute_client.py +18 -18
  389. oci/service_catalog/service_catalog_client.py +26 -26
  390. oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
  391. oci/service_mesh/service_mesh_client.py +48 -48
  392. oci/stack_monitoring/stack_monitoring_client.py +87 -87
  393. oci/streaming/stream_admin_client.py +18 -18
  394. oci/streaming/stream_client.py +8 -8
  395. oci/tenant_manager_control_plane/domain_client.py +5 -5
  396. oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
  397. oci/tenant_manager_control_plane/governance_client.py +2 -2
  398. oci/tenant_manager_control_plane/link_client.py +3 -3
  399. oci/tenant_manager_control_plane/orders_client.py +2 -2
  400. oci/tenant_manager_control_plane/organization_client.py +10 -10
  401. oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
  402. oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
  403. oci/tenant_manager_control_plane/subscription_client.py +11 -11
  404. oci/tenant_manager_control_plane/work_request_client.py +4 -4
  405. oci/threat_intelligence/threatintel_client.py +5 -5
  406. oci/usage/resources_client.py +2 -2
  407. oci/usage/rewards_client.py +6 -6
  408. oci/usage/usagelimits_client.py +1 -1
  409. oci/usage_api/usageapi_client.py +33 -33
  410. oci/vault/vaults_client.py +13 -13
  411. oci/vbs_inst/vbs_instance_client.py +10 -10
  412. oci/version.py +1 -1
  413. oci/visual_builder/vb_instance_client.py +14 -14
  414. oci/vn_monitoring/vn_monitoring_client.py +12 -12
  415. oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
  416. oci/waa/waa_client.py +13 -13
  417. oci/waa/work_request_client.py +4 -4
  418. oci/waas/redirect_client.py +6 -6
  419. oci/waas/waas_client.py +66 -66
  420. oci/waf/waf_client.py +24 -24
  421. oci/work_requests/work_request_client.py +4 -4
  422. oci/zpr/zpr_client.py +15 -15
  423. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/METADATA +6 -1
  424. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/RECORD +428 -313
  425. oci/database_management/models/disable_external_mysql_associated_service_details.py +0 -144
  426. oci/database_management/models/enable_external_mysql_associated_service_details.py +0 -144
  427. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/LICENSE.txt +0 -0
  428. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  429. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/WHEEL +0 -0
  430. {oci-2.151.0.dist-info → oci-2.152.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2315 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20250101
6
+
7
+ from __future__ import absolute_import
8
+
9
+ from oci._vendor import requests # noqa: F401
10
+ from oci._vendor import six
11
+
12
+ from oci import retry, circuit_breaker # noqa: F401
13
+ from oci.base_client import BaseClient
14
+ from oci.config import get_config_value_or_default, validate_config
15
+ from oci.signer import Signer
16
+ from oci.util import Sentinel, get_signer_from_authentication_type, AUTHENTICATION_TYPE_FIELD_NAME
17
+ from oci.exceptions import InvalidAlloyConfig
18
+ from oci.alloy import OCI_SDK_ENABLED_SERVICES_SET
19
+ from .models import distributed_database_type_mapping
20
+ missing = Sentinel("Missing")
21
+
22
+
23
+ class DistributedAutonomousDbServiceClient(object):
24
+ """
25
+ Use the Globally Distributed Database service APIs to create and manage the Globally distributed databases.
26
+ """
27
+
28
+ def __init__(self, config, **kwargs):
29
+ """
30
+ Creates a new service client
31
+
32
+ :param dict config:
33
+ Configuration keys and values as per `SDK and Tool Configuration <https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm>`__.
34
+ The :py:meth:`~oci.config.from_file` method can be used to load configuration from a file. Alternatively, a ``dict`` can be passed. You can validate_config
35
+ the dict using :py:meth:`~oci.config.validate_config`
36
+
37
+ :param str service_endpoint: (optional)
38
+ The endpoint of the service to call using this client. For example ``https://iaas.us-ashburn-1.oraclecloud.com``. If this keyword argument is
39
+ not provided then it will be derived using the region in the config parameter. You should only provide this keyword argument if you have an explicit
40
+ need to specify a service endpoint.
41
+
42
+ :param timeout: (optional)
43
+ The connection and read timeouts for the client. The default values are connection timeout 10 seconds and read timeout 60 seconds. This keyword argument can be provided
44
+ as a single float, in which case the value provided is used for both the read and connection timeouts, or as a tuple of two floats. If
45
+ a tuple is provided then the first value is used as the connection timeout and the second value as the read timeout.
46
+ :type timeout: float or tuple(float, float)
47
+
48
+ :param signer: (optional)
49
+ The signer to use when signing requests made by the service client. The default is to use a :py:class:`~oci.signer.Signer` based on the values
50
+ provided in the config parameter.
51
+
52
+ One use case for this parameter is for `Instance Principals authentication <https://docs.cloud.oracle.com/Content/Identity/Tasks/callingservicesfrominstances.htm>`__
53
+ by passing an instance of :py:class:`~oci.auth.signers.InstancePrincipalsSecurityTokenSigner` as the value for this keyword argument
54
+ :type signer: :py:class:`~oci.signer.AbstractBaseSigner`
55
+
56
+ :param obj retry_strategy: (optional)
57
+ A retry strategy to apply to all calls made by this service client (i.e. at the client level). There is no retry strategy applied by default.
58
+ Retry strategies can also be applied at the operation level by passing a ``retry_strategy`` keyword argument as part of calling the operation.
59
+ Any value provided at the operation level will override whatever is specified at the client level.
60
+
61
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
62
+ is also available. The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
63
+
64
+ :param obj circuit_breaker_strategy: (optional)
65
+ A circuit breaker strategy to apply to all calls made by this service client (i.e. at the client level).
66
+ This client uses :py:data:`~oci.circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY` as default if no circuit breaker strategy is provided.
67
+ The specifics of circuit breaker strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/circuit_breakers.html>`__.
68
+
69
+ :param function circuit_breaker_callback: (optional)
70
+ Callback function to receive any exceptions triggerred by the circuit breaker.
71
+
72
+ :param bool client_level_realm_specific_endpoint_template_enabled: (optional)
73
+ A boolean flag to indicate whether or not this client should be created with realm specific endpoint template enabled or disable. By default, this will be set as None.
74
+
75
+ :param allow_control_chars: (optional)
76
+ allow_control_chars is a boolean to indicate whether or not this client should allow control characters in the response object. By default, the client will not
77
+ allow control characters to be in the response object.
78
+ """
79
+ if not OCI_SDK_ENABLED_SERVICES_SET.is_service_enabled("distributed_database"):
80
+ raise InvalidAlloyConfig("The Alloy configuration has disabled this service, this behavior is controlled by OCI_SDK_ENABLED_SERVICES_SET variable. Please check if your local alloy-config file configured the service you're targeting or contact the cloud provider on the availability of this service")
81
+
82
+ validate_config(config, signer=kwargs.get('signer'))
83
+ if 'signer' in kwargs:
84
+ signer = kwargs['signer']
85
+
86
+ elif AUTHENTICATION_TYPE_FIELD_NAME in config:
87
+ signer = get_signer_from_authentication_type(config)
88
+
89
+ else:
90
+ signer = Signer(
91
+ tenancy=config["tenancy"],
92
+ user=config["user"],
93
+ fingerprint=config["fingerprint"],
94
+ private_key_file_location=config.get("key_file"),
95
+ pass_phrase=get_config_value_or_default(config, "pass_phrase"),
96
+ private_key_content=config.get("key_content")
97
+ )
98
+
99
+ base_client_init_kwargs = {
100
+ 'regional_client': True,
101
+ 'service_endpoint': kwargs.get('service_endpoint'),
102
+ 'base_path': '/20250101',
103
+ 'service_endpoint_template': 'https://globaldb.{region}.oci.{secondLevelDomain}',
104
+ 'service_endpoint_template_per_realm': { }, # noqa: E201 E202
105
+ 'skip_deserialization': kwargs.get('skip_deserialization', False),
106
+ 'circuit_breaker_strategy': kwargs.get('circuit_breaker_strategy', circuit_breaker.GLOBAL_CIRCUIT_BREAKER_STRATEGY),
107
+ 'client_level_realm_specific_endpoint_template_enabled': kwargs.get('client_level_realm_specific_endpoint_template_enabled')
108
+ }
109
+ if 'timeout' in kwargs:
110
+ base_client_init_kwargs['timeout'] = kwargs.get('timeout')
111
+ if base_client_init_kwargs.get('circuit_breaker_strategy') is None:
112
+ base_client_init_kwargs['circuit_breaker_strategy'] = circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY
113
+ if 'allow_control_chars' in kwargs:
114
+ base_client_init_kwargs['allow_control_chars'] = kwargs.get('allow_control_chars')
115
+ self.base_client = BaseClient("distributed_autonomous_db_service", config, signer, distributed_database_type_mapping, **base_client_init_kwargs)
116
+ self.retry_strategy = kwargs.get('retry_strategy')
117
+ self.circuit_breaker_callback = kwargs.get('circuit_breaker_callback')
118
+
119
+ def add_distributed_autonomous_database_gds_control_node(self, distributed_autonomous_database_id, add_distributed_autonomous_database_gds_control_node_details, **kwargs):
120
+ """
121
+ Add new Global database services control(GDS CTL) node for the Globally distributed autonomous database.
122
+
123
+
124
+ :param str distributed_autonomous_database_id: (required)
125
+ Globally distributed autonomous database identifier
126
+
127
+ :param oci.distributed_database.models.AddDistributedAutonomousDatabaseGdsControlNodeDetails add_distributed_autonomous_database_gds_control_node_details: (required)
128
+ Details required to provision the new Global database services control(GDS CTL) node for the Distributed autonomous database.
129
+
130
+ :param str opc_request_id: (optional)
131
+ The client request ID for tracing.
132
+
133
+ :param str if_match: (optional)
134
+ For optimistic concurrency control. In the PUT or DELETE call
135
+ for a resource, set the `if-match` parameter to the value of the
136
+ etag from a previous GET or POST response for that resource.
137
+ The resource will be updated or deleted only if the etag you
138
+ provide matches the resource's current etag value.
139
+
140
+ :param str opc_retry_token: (optional)
141
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
142
+ server error without risk of executing that same action again. Retry tokens expire after 24
143
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
144
+ has been deleted and purged from the system, then a retry of the original creation request
145
+ might be rejected.
146
+
147
+ :param obj retry_strategy: (optional)
148
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
149
+
150
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
151
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
152
+
153
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
154
+
155
+ :param bool allow_control_chars: (optional)
156
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
157
+ By default, the response will not allow control characters in strings
158
+
159
+ :return: A :class:`~oci.response.Response` object with data of type None
160
+ :rtype: :class:`~oci.response.Response`
161
+
162
+ :example:
163
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/add_distributed_autonomous_database_gds_control_node.py.html>`__ to see an example of how to use add_distributed_autonomous_database_gds_control_node API.
164
+ """
165
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
166
+ required_arguments = ['distributedAutonomousDatabaseId']
167
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/addGdsControlNode"
168
+ method = "POST"
169
+ operation_name = "add_distributed_autonomous_database_gds_control_node"
170
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/AddDistributedAutonomousDatabaseGdsControlNode"
171
+
172
+ # Don't accept unknown kwargs
173
+ expected_kwargs = [
174
+ "allow_control_chars",
175
+ "retry_strategy",
176
+ "opc_request_id",
177
+ "if_match",
178
+ "opc_retry_token"
179
+ ]
180
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
181
+ if extra_kwargs:
182
+ raise ValueError(
183
+ f"add_distributed_autonomous_database_gds_control_node got unknown kwargs: {extra_kwargs!r}")
184
+
185
+ path_params = {
186
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
187
+ }
188
+
189
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
190
+
191
+ for (k, v) in six.iteritems(path_params):
192
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
193
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
194
+
195
+ header_params = {
196
+ "accept": "application/json",
197
+ "content-type": "application/json",
198
+ "opc-request-id": kwargs.get("opc_request_id", missing),
199
+ "if-match": kwargs.get("if_match", missing),
200
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
201
+ }
202
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
203
+
204
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
205
+ operation_retry_strategy=kwargs.get('retry_strategy'),
206
+ client_retry_strategy=self.retry_strategy
207
+ )
208
+ if retry_strategy is None:
209
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
210
+
211
+ if retry_strategy:
212
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
213
+ self.base_client.add_opc_retry_token_if_needed(header_params)
214
+ self.base_client.add_opc_client_retries_header(header_params)
215
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
216
+ return retry_strategy.make_retrying_call(
217
+ self.base_client.call_api,
218
+ resource_path=resource_path,
219
+ method=method,
220
+ path_params=path_params,
221
+ header_params=header_params,
222
+ body=add_distributed_autonomous_database_gds_control_node_details,
223
+ allow_control_chars=kwargs.get('allow_control_chars'),
224
+ operation_name=operation_name,
225
+ api_reference_link=api_reference_link,
226
+ required_arguments=required_arguments)
227
+ else:
228
+ return self.base_client.call_api(
229
+ resource_path=resource_path,
230
+ method=method,
231
+ path_params=path_params,
232
+ header_params=header_params,
233
+ body=add_distributed_autonomous_database_gds_control_node_details,
234
+ allow_control_chars=kwargs.get('allow_control_chars'),
235
+ operation_name=operation_name,
236
+ api_reference_link=api_reference_link,
237
+ required_arguments=required_arguments)
238
+
239
+ def change_distributed_autonomous_database_compartment(self, change_distributed_autonomous_database_compartment_details, distributed_autonomous_database_id, **kwargs):
240
+ """
241
+ Move the Globally distributed autonomous database and its dependent resources to the specified compartment.
242
+
243
+
244
+ :param oci.distributed_database.models.ChangeDistributedAutonomousDatabaseCompartmentDetails change_distributed_autonomous_database_compartment_details: (required)
245
+ Request to move the Globally distributed autonomous database to a different compartment.
246
+
247
+ :param str distributed_autonomous_database_id: (required)
248
+ Globally distributed autonomous database identifier
249
+
250
+ :param str opc_request_id: (optional)
251
+ The client request ID for tracing.
252
+
253
+ :param str if_match: (optional)
254
+ For optimistic concurrency control. In the PUT or DELETE call
255
+ for a resource, set the `if-match` parameter to the value of the
256
+ etag from a previous GET or POST response for that resource.
257
+ The resource will be updated or deleted only if the etag you
258
+ provide matches the resource's current etag value.
259
+
260
+ :param str opc_retry_token: (optional)
261
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
262
+ server error without risk of executing that same action again. Retry tokens expire after 24
263
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
264
+ has been deleted and purged from the system, then a retry of the original creation request
265
+ might be rejected.
266
+
267
+ :param obj retry_strategy: (optional)
268
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
269
+
270
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
271
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
272
+
273
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
274
+
275
+ :param bool allow_control_chars: (optional)
276
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
277
+ By default, the response will not allow control characters in strings
278
+
279
+ :return: A :class:`~oci.response.Response` object with data of type None
280
+ :rtype: :class:`~oci.response.Response`
281
+
282
+ :example:
283
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/change_distributed_autonomous_database_compartment.py.html>`__ to see an example of how to use change_distributed_autonomous_database_compartment API.
284
+ """
285
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
286
+ required_arguments = ['distributedAutonomousDatabaseId']
287
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/changeCompartment"
288
+ method = "POST"
289
+ operation_name = "change_distributed_autonomous_database_compartment"
290
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/ChangeDistributedAutonomousDatabaseCompartment"
291
+
292
+ # Don't accept unknown kwargs
293
+ expected_kwargs = [
294
+ "allow_control_chars",
295
+ "retry_strategy",
296
+ "opc_request_id",
297
+ "if_match",
298
+ "opc_retry_token"
299
+ ]
300
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
301
+ if extra_kwargs:
302
+ raise ValueError(
303
+ f"change_distributed_autonomous_database_compartment got unknown kwargs: {extra_kwargs!r}")
304
+
305
+ path_params = {
306
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
307
+ }
308
+
309
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
310
+
311
+ for (k, v) in six.iteritems(path_params):
312
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
313
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
314
+
315
+ header_params = {
316
+ "accept": "application/json",
317
+ "content-type": "application/json",
318
+ "opc-request-id": kwargs.get("opc_request_id", missing),
319
+ "if-match": kwargs.get("if_match", missing),
320
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
321
+ }
322
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
323
+
324
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
325
+ operation_retry_strategy=kwargs.get('retry_strategy'),
326
+ client_retry_strategy=self.retry_strategy
327
+ )
328
+ if retry_strategy is None:
329
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
330
+
331
+ if retry_strategy:
332
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
333
+ self.base_client.add_opc_retry_token_if_needed(header_params)
334
+ self.base_client.add_opc_client_retries_header(header_params)
335
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
336
+ return retry_strategy.make_retrying_call(
337
+ self.base_client.call_api,
338
+ resource_path=resource_path,
339
+ method=method,
340
+ path_params=path_params,
341
+ header_params=header_params,
342
+ body=change_distributed_autonomous_database_compartment_details,
343
+ allow_control_chars=kwargs.get('allow_control_chars'),
344
+ operation_name=operation_name,
345
+ api_reference_link=api_reference_link,
346
+ required_arguments=required_arguments)
347
+ else:
348
+ return self.base_client.call_api(
349
+ resource_path=resource_path,
350
+ method=method,
351
+ path_params=path_params,
352
+ header_params=header_params,
353
+ body=change_distributed_autonomous_database_compartment_details,
354
+ allow_control_chars=kwargs.get('allow_control_chars'),
355
+ operation_name=operation_name,
356
+ api_reference_link=api_reference_link,
357
+ required_arguments=required_arguments)
358
+
359
+ def configure_distributed_autonomous_database_gsms(self, configure_distributed_autonomous_database_gsms_details, distributed_autonomous_database_id, **kwargs):
360
+ """
361
+ Configure new Global Service Manager(GSM aka shard manager) instances for the Globally distributed autonomous database.
362
+
363
+
364
+ :param oci.distributed_database.models.ConfigureDistributedAutonomousDatabaseGsmsDetails configure_distributed_autonomous_database_gsms_details: (required)
365
+ Details to configure the new GSM instances for the distributed autonomous database.
366
+
367
+ :param str distributed_autonomous_database_id: (required)
368
+ Globally distributed autonomous database identifier
369
+
370
+ :param str opc_retry_token: (optional)
371
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
372
+ server error without risk of executing that same action again. Retry tokens expire after 24
373
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
374
+ has been deleted and purged from the system, then a retry of the original creation request
375
+ might be rejected.
376
+
377
+ :param str opc_request_id: (optional)
378
+ The client request ID for tracing.
379
+
380
+ :param str if_match: (optional)
381
+ For optimistic concurrency control. In the PUT or DELETE call
382
+ for a resource, set the `if-match` parameter to the value of the
383
+ etag from a previous GET or POST response for that resource.
384
+ The resource will be updated or deleted only if the etag you
385
+ provide matches the resource's current etag value.
386
+
387
+ :param obj retry_strategy: (optional)
388
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
389
+
390
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
391
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
392
+
393
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
394
+
395
+ :param bool allow_control_chars: (optional)
396
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
397
+ By default, the response will not allow control characters in strings
398
+
399
+ :return: A :class:`~oci.response.Response` object with data of type None
400
+ :rtype: :class:`~oci.response.Response`
401
+
402
+ :example:
403
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/configure_distributed_autonomous_database_gsms.py.html>`__ to see an example of how to use configure_distributed_autonomous_database_gsms API.
404
+ """
405
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
406
+ required_arguments = ['distributedAutonomousDatabaseId']
407
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/configureGsms"
408
+ method = "POST"
409
+ operation_name = "configure_distributed_autonomous_database_gsms"
410
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/ConfigureDistributedAutonomousDatabaseGsms"
411
+
412
+ # Don't accept unknown kwargs
413
+ expected_kwargs = [
414
+ "allow_control_chars",
415
+ "retry_strategy",
416
+ "opc_retry_token",
417
+ "opc_request_id",
418
+ "if_match"
419
+ ]
420
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
421
+ if extra_kwargs:
422
+ raise ValueError(
423
+ f"configure_distributed_autonomous_database_gsms got unknown kwargs: {extra_kwargs!r}")
424
+
425
+ path_params = {
426
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
427
+ }
428
+
429
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
430
+
431
+ for (k, v) in six.iteritems(path_params):
432
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
433
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
434
+
435
+ header_params = {
436
+ "accept": "application/json",
437
+ "content-type": "application/json",
438
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
439
+ "opc-request-id": kwargs.get("opc_request_id", missing),
440
+ "if-match": kwargs.get("if_match", missing)
441
+ }
442
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
443
+
444
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
445
+ operation_retry_strategy=kwargs.get('retry_strategy'),
446
+ client_retry_strategy=self.retry_strategy
447
+ )
448
+ if retry_strategy is None:
449
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
450
+
451
+ if retry_strategy:
452
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
453
+ self.base_client.add_opc_retry_token_if_needed(header_params)
454
+ self.base_client.add_opc_client_retries_header(header_params)
455
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
456
+ return retry_strategy.make_retrying_call(
457
+ self.base_client.call_api,
458
+ resource_path=resource_path,
459
+ method=method,
460
+ path_params=path_params,
461
+ header_params=header_params,
462
+ body=configure_distributed_autonomous_database_gsms_details,
463
+ allow_control_chars=kwargs.get('allow_control_chars'),
464
+ operation_name=operation_name,
465
+ api_reference_link=api_reference_link,
466
+ required_arguments=required_arguments)
467
+ else:
468
+ return self.base_client.call_api(
469
+ resource_path=resource_path,
470
+ method=method,
471
+ path_params=path_params,
472
+ header_params=header_params,
473
+ body=configure_distributed_autonomous_database_gsms_details,
474
+ allow_control_chars=kwargs.get('allow_control_chars'),
475
+ operation_name=operation_name,
476
+ api_reference_link=api_reference_link,
477
+ required_arguments=required_arguments)
478
+
479
+ def configure_distributed_autonomous_database_sharding(self, distributed_autonomous_database_id, **kwargs):
480
+ """
481
+ Once all components of Globally distributed autonomous database are provisioned, and signed GSM certificates are successfully uploaded, this
482
+ api shall be invoked to configure sharding on the Globally distributed autonomous database. Note that this 'ConfigureSharding' API also needs to be
483
+ invoked after successfully adding a new shard to the Globally distributed autonomous database using PATCH api. If this API is not
484
+ invoked after successfully adding a new shard, then that new shard will not be a participant in sharding topology of
485
+ the Globally distributed autonomous database.
486
+
487
+
488
+ :param str distributed_autonomous_database_id: (required)
489
+ Globally distributed autonomous database identifier
490
+
491
+ :param bool is_rebalance_required: (optional)
492
+ The flag to indicate whether chunks need to be re-balanced. This flag is not applicable for USER-defined
493
+ sharding type.
494
+
495
+ :param str opc_retry_token: (optional)
496
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
497
+ server error without risk of executing that same action again. Retry tokens expire after 24
498
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
499
+ has been deleted and purged from the system, then a retry of the original creation request
500
+ might be rejected.
501
+
502
+ :param str opc_request_id: (optional)
503
+ The client request ID for tracing.
504
+
505
+ :param str if_match: (optional)
506
+ For optimistic concurrency control. In the PUT or DELETE call
507
+ for a resource, set the `if-match` parameter to the value of the
508
+ etag from a previous GET or POST response for that resource.
509
+ The resource will be updated or deleted only if the etag you
510
+ provide matches the resource's current etag value.
511
+
512
+ :param obj retry_strategy: (optional)
513
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
514
+
515
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
516
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
517
+
518
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
519
+
520
+ :param bool allow_control_chars: (optional)
521
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
522
+ By default, the response will not allow control characters in strings
523
+
524
+ :return: A :class:`~oci.response.Response` object with data of type None
525
+ :rtype: :class:`~oci.response.Response`
526
+
527
+ :example:
528
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/configure_distributed_autonomous_database_sharding.py.html>`__ to see an example of how to use configure_distributed_autonomous_database_sharding API.
529
+ """
530
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
531
+ required_arguments = ['distributedAutonomousDatabaseId']
532
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/configureSharding"
533
+ method = "POST"
534
+ operation_name = "configure_distributed_autonomous_database_sharding"
535
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/ConfigureDistributedAutonomousDatabaseSharding"
536
+
537
+ # Don't accept unknown kwargs
538
+ expected_kwargs = [
539
+ "allow_control_chars",
540
+ "retry_strategy",
541
+ "is_rebalance_required",
542
+ "opc_retry_token",
543
+ "opc_request_id",
544
+ "if_match"
545
+ ]
546
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
547
+ if extra_kwargs:
548
+ raise ValueError(
549
+ f"configure_distributed_autonomous_database_sharding got unknown kwargs: {extra_kwargs!r}")
550
+
551
+ path_params = {
552
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
553
+ }
554
+
555
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
556
+
557
+ for (k, v) in six.iteritems(path_params):
558
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
559
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
560
+
561
+ query_params = {
562
+ "isRebalanceRequired": kwargs.get("is_rebalance_required", missing)
563
+ }
564
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
565
+
566
+ header_params = {
567
+ "accept": "application/json",
568
+ "content-type": "application/json",
569
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
570
+ "opc-request-id": kwargs.get("opc_request_id", missing),
571
+ "if-match": kwargs.get("if_match", missing)
572
+ }
573
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
574
+
575
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
576
+ operation_retry_strategy=kwargs.get('retry_strategy'),
577
+ client_retry_strategy=self.retry_strategy
578
+ )
579
+ if retry_strategy is None:
580
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
581
+
582
+ if retry_strategy:
583
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
584
+ self.base_client.add_opc_retry_token_if_needed(header_params)
585
+ self.base_client.add_opc_client_retries_header(header_params)
586
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
587
+ return retry_strategy.make_retrying_call(
588
+ self.base_client.call_api,
589
+ resource_path=resource_path,
590
+ method=method,
591
+ path_params=path_params,
592
+ query_params=query_params,
593
+ header_params=header_params,
594
+ allow_control_chars=kwargs.get('allow_control_chars'),
595
+ operation_name=operation_name,
596
+ api_reference_link=api_reference_link,
597
+ required_arguments=required_arguments)
598
+ else:
599
+ return self.base_client.call_api(
600
+ resource_path=resource_path,
601
+ method=method,
602
+ path_params=path_params,
603
+ query_params=query_params,
604
+ header_params=header_params,
605
+ allow_control_chars=kwargs.get('allow_control_chars'),
606
+ operation_name=operation_name,
607
+ api_reference_link=api_reference_link,
608
+ required_arguments=required_arguments)
609
+
610
+ def create_distributed_autonomous_database(self, create_distributed_autonomous_database_details, **kwargs):
611
+ """
612
+ Creates a Globally distributed autonomous database.
613
+
614
+
615
+ :param oci.distributed_database.models.CreateDistributedAutonomousDatabaseDetails create_distributed_autonomous_database_details: (required)
616
+ Details of the Globally distributed autonomous database to be created.
617
+
618
+ :param str opc_retry_token: (optional)
619
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
620
+ server error without risk of executing that same action again. Retry tokens expire after 24
621
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
622
+ has been deleted and purged from the system, then a retry of the original creation request
623
+ might be rejected.
624
+
625
+ :param str opc_request_id: (optional)
626
+ The client request ID for tracing.
627
+
628
+ :param obj retry_strategy: (optional)
629
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
630
+
631
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
632
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
633
+
634
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
635
+
636
+ :param bool allow_control_chars: (optional)
637
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
638
+ By default, the response will not allow control characters in strings
639
+
640
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.distributed_database.models.DistributedAutonomousDatabase`
641
+ :rtype: :class:`~oci.response.Response`
642
+
643
+ :example:
644
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/create_distributed_autonomous_database.py.html>`__ to see an example of how to use create_distributed_autonomous_database API.
645
+ """
646
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
647
+ required_arguments = []
648
+ resource_path = "/distributedAutonomousDatabases"
649
+ method = "POST"
650
+ operation_name = "create_distributed_autonomous_database"
651
+ api_reference_link = ""
652
+
653
+ # Don't accept unknown kwargs
654
+ expected_kwargs = [
655
+ "allow_control_chars",
656
+ "retry_strategy",
657
+ "opc_retry_token",
658
+ "opc_request_id"
659
+ ]
660
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
661
+ if extra_kwargs:
662
+ raise ValueError(
663
+ f"create_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
664
+
665
+ header_params = {
666
+ "accept": "application/json",
667
+ "content-type": "application/json",
668
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
669
+ "opc-request-id": kwargs.get("opc_request_id", missing)
670
+ }
671
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
672
+
673
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
674
+ operation_retry_strategy=kwargs.get('retry_strategy'),
675
+ client_retry_strategy=self.retry_strategy
676
+ )
677
+ if retry_strategy is None:
678
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
679
+
680
+ if retry_strategy:
681
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
682
+ self.base_client.add_opc_retry_token_if_needed(header_params)
683
+ self.base_client.add_opc_client_retries_header(header_params)
684
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
685
+ return retry_strategy.make_retrying_call(
686
+ self.base_client.call_api,
687
+ resource_path=resource_path,
688
+ method=method,
689
+ header_params=header_params,
690
+ body=create_distributed_autonomous_database_details,
691
+ response_type="DistributedAutonomousDatabase",
692
+ allow_control_chars=kwargs.get('allow_control_chars'),
693
+ operation_name=operation_name,
694
+ api_reference_link=api_reference_link,
695
+ required_arguments=required_arguments)
696
+ else:
697
+ return self.base_client.call_api(
698
+ resource_path=resource_path,
699
+ method=method,
700
+ header_params=header_params,
701
+ body=create_distributed_autonomous_database_details,
702
+ response_type="DistributedAutonomousDatabase",
703
+ allow_control_chars=kwargs.get('allow_control_chars'),
704
+ operation_name=operation_name,
705
+ api_reference_link=api_reference_link,
706
+ required_arguments=required_arguments)
707
+
708
+ def delete_distributed_autonomous_database(self, distributed_autonomous_database_id, **kwargs):
709
+ """
710
+ Terminate the given Globally distributed autonomous databases.
711
+
712
+
713
+ :param str distributed_autonomous_database_id: (required)
714
+ Globally distributed autonomous database identifier
715
+
716
+ :param str opc_request_id: (optional)
717
+ The client request ID for tracing.
718
+
719
+ :param str opc_retry_token: (optional)
720
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
721
+ server error without risk of executing that same action again. Retry tokens expire after 24
722
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
723
+ has been deleted and purged from the system, then a retry of the original creation request
724
+ might be rejected.
725
+
726
+ :param str if_match: (optional)
727
+ For optimistic concurrency control. In the PUT or DELETE call
728
+ for a resource, set the `if-match` parameter to the value of the
729
+ etag from a previous GET or POST response for that resource.
730
+ The resource will be updated or deleted only if the etag you
731
+ provide matches the resource's current etag value.
732
+
733
+ :param obj retry_strategy: (optional)
734
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
735
+
736
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
737
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
738
+
739
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
740
+
741
+ :param bool allow_control_chars: (optional)
742
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
743
+ By default, the response will not allow control characters in strings
744
+
745
+ :return: A :class:`~oci.response.Response` object with data of type None
746
+ :rtype: :class:`~oci.response.Response`
747
+
748
+ :example:
749
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/delete_distributed_autonomous_database.py.html>`__ to see an example of how to use delete_distributed_autonomous_database API.
750
+ """
751
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
752
+ required_arguments = ['distributedAutonomousDatabaseId']
753
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}"
754
+ method = "DELETE"
755
+ operation_name = "delete_distributed_autonomous_database"
756
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/DeleteDistributedAutonomousDatabase"
757
+
758
+ # Don't accept unknown kwargs
759
+ expected_kwargs = [
760
+ "allow_control_chars",
761
+ "retry_strategy",
762
+ "opc_request_id",
763
+ "opc_retry_token",
764
+ "if_match"
765
+ ]
766
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
767
+ if extra_kwargs:
768
+ raise ValueError(
769
+ f"delete_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
770
+
771
+ path_params = {
772
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
773
+ }
774
+
775
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
776
+
777
+ for (k, v) in six.iteritems(path_params):
778
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
779
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
780
+
781
+ header_params = {
782
+ "accept": "application/json",
783
+ "content-type": "application/json",
784
+ "opc-request-id": kwargs.get("opc_request_id", missing),
785
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
786
+ "if-match": kwargs.get("if_match", missing)
787
+ }
788
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
789
+
790
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
791
+ operation_retry_strategy=kwargs.get('retry_strategy'),
792
+ client_retry_strategy=self.retry_strategy
793
+ )
794
+ if retry_strategy is None:
795
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
796
+
797
+ if retry_strategy:
798
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
799
+ self.base_client.add_opc_retry_token_if_needed(header_params)
800
+ self.base_client.add_opc_client_retries_header(header_params)
801
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
802
+ return retry_strategy.make_retrying_call(
803
+ self.base_client.call_api,
804
+ resource_path=resource_path,
805
+ method=method,
806
+ path_params=path_params,
807
+ header_params=header_params,
808
+ allow_control_chars=kwargs.get('allow_control_chars'),
809
+ operation_name=operation_name,
810
+ api_reference_link=api_reference_link,
811
+ required_arguments=required_arguments)
812
+ else:
813
+ return self.base_client.call_api(
814
+ resource_path=resource_path,
815
+ method=method,
816
+ path_params=path_params,
817
+ header_params=header_params,
818
+ allow_control_chars=kwargs.get('allow_control_chars'),
819
+ operation_name=operation_name,
820
+ api_reference_link=api_reference_link,
821
+ required_arguments=required_arguments)
822
+
823
+ def download_distributed_autonomous_database_gsm_certificate_signing_request(self, distributed_autonomous_database_id, **kwargs):
824
+ """
825
+ Generate the common certificate signing request for GSMs. Download the <globalautonomousdb-prefix>.csr file from
826
+ API response. Users can use this .csr file to generate the CA signed certificate, and as a next step
827
+ use 'uploadSignedCertificateAndGenerateWallet' API to upload the CA signed certificate to GSM, and
828
+ generate wallets for the GSM instances of the Globally distributed autonomous database.
829
+
830
+
831
+ :param str distributed_autonomous_database_id: (required)
832
+ Globally distributed autonomous database identifier
833
+
834
+ :param str opc_request_id: (optional)
835
+ The client request ID for tracing.
836
+
837
+ :param str if_match: (optional)
838
+ For optimistic concurrency control. In the PUT or DELETE call
839
+ for a resource, set the `if-match` parameter to the value of the
840
+ etag from a previous GET or POST response for that resource.
841
+ The resource will be updated or deleted only if the etag you
842
+ provide matches the resource's current etag value.
843
+
844
+ :param str opc_retry_token: (optional)
845
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
846
+ server error without risk of executing that same action again. Retry tokens expire after 24
847
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
848
+ has been deleted and purged from the system, then a retry of the original creation request
849
+ might be rejected.
850
+
851
+ :param obj retry_strategy: (optional)
852
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
853
+
854
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
855
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
856
+
857
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
858
+
859
+ :param bool allow_control_chars: (optional)
860
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
861
+ By default, the response will not allow control characters in strings
862
+
863
+ :return: A :class:`~oci.response.Response` object with data of type stream
864
+ :rtype: :class:`~oci.response.Response`
865
+
866
+ :example:
867
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/download_distributed_autonomous_database_gsm_certificate_signing_request.py.html>`__ to see an example of how to use download_distributed_autonomous_database_gsm_certificate_signing_request API.
868
+ """
869
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
870
+ required_arguments = ['distributedAutonomousDatabaseId']
871
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/downloadGsmCertificateSigningRequest"
872
+ method = "POST"
873
+ operation_name = "download_distributed_autonomous_database_gsm_certificate_signing_request"
874
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/DownloadDistributedAutonomousDatabaseGsmCertificateSigningRequest"
875
+
876
+ # Don't accept unknown kwargs
877
+ expected_kwargs = [
878
+ "allow_control_chars",
879
+ "retry_strategy",
880
+ "opc_request_id",
881
+ "if_match",
882
+ "opc_retry_token"
883
+ ]
884
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
885
+ if extra_kwargs:
886
+ raise ValueError(
887
+ f"download_distributed_autonomous_database_gsm_certificate_signing_request got unknown kwargs: {extra_kwargs!r}")
888
+
889
+ path_params = {
890
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
891
+ }
892
+
893
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
894
+
895
+ for (k, v) in six.iteritems(path_params):
896
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
897
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
898
+
899
+ header_params = {
900
+ "accept": "application/octet-stream",
901
+ "content-type": "application/json",
902
+ "opc-request-id": kwargs.get("opc_request_id", missing),
903
+ "if-match": kwargs.get("if_match", missing),
904
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
905
+ }
906
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
907
+
908
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
909
+ operation_retry_strategy=kwargs.get('retry_strategy'),
910
+ client_retry_strategy=self.retry_strategy
911
+ )
912
+ if retry_strategy is None:
913
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
914
+
915
+ if retry_strategy:
916
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
917
+ self.base_client.add_opc_retry_token_if_needed(header_params)
918
+ self.base_client.add_opc_client_retries_header(header_params)
919
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
920
+ return retry_strategy.make_retrying_call(
921
+ self.base_client.call_api,
922
+ resource_path=resource_path,
923
+ method=method,
924
+ path_params=path_params,
925
+ header_params=header_params,
926
+ response_type="stream",
927
+ allow_control_chars=kwargs.get('allow_control_chars'),
928
+ operation_name=operation_name,
929
+ api_reference_link=api_reference_link,
930
+ required_arguments=required_arguments)
931
+ else:
932
+ return self.base_client.call_api(
933
+ resource_path=resource_path,
934
+ method=method,
935
+ path_params=path_params,
936
+ header_params=header_params,
937
+ response_type="stream",
938
+ allow_control_chars=kwargs.get('allow_control_chars'),
939
+ operation_name=operation_name,
940
+ api_reference_link=api_reference_link,
941
+ required_arguments=required_arguments)
942
+
943
+ def generate_distributed_autonomous_database_gsm_certificate_signing_request(self, distributed_autonomous_database_id, ca_bundle_id, **kwargs):
944
+ """
945
+ Generate the certificate signing request for GSM instances of the Globally distributed autonomous database. Once certificate signing
946
+ request is generated, then customers can download the certificate signing request using
947
+ 'downloadGsmCertificateSigningRequest' api call.
948
+
949
+
950
+ :param str distributed_autonomous_database_id: (required)
951
+ Globally distributed autonomous database identifier
952
+
953
+ :param str ca_bundle_id: (required)
954
+ The ID of the Ca Bundle.
955
+
956
+ :param str opc_request_id: (optional)
957
+ The client request ID for tracing.
958
+
959
+ :param str if_match: (optional)
960
+ For optimistic concurrency control. In the PUT or DELETE call
961
+ for a resource, set the `if-match` parameter to the value of the
962
+ etag from a previous GET or POST response for that resource.
963
+ The resource will be updated or deleted only if the etag you
964
+ provide matches the resource's current etag value.
965
+
966
+ :param str opc_retry_token: (optional)
967
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
968
+ server error without risk of executing that same action again. Retry tokens expire after 24
969
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
970
+ has been deleted and purged from the system, then a retry of the original creation request
971
+ might be rejected.
972
+
973
+ :param obj retry_strategy: (optional)
974
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
975
+
976
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
977
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
978
+
979
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
980
+
981
+ :param bool allow_control_chars: (optional)
982
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
983
+ By default, the response will not allow control characters in strings
984
+
985
+ :return: A :class:`~oci.response.Response` object with data of type None
986
+ :rtype: :class:`~oci.response.Response`
987
+
988
+ :example:
989
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/generate_distributed_autonomous_database_gsm_certificate_signing_request.py.html>`__ to see an example of how to use generate_distributed_autonomous_database_gsm_certificate_signing_request API.
990
+ """
991
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
992
+ required_arguments = ['distributedAutonomousDatabaseId', 'caBundleId']
993
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/generateGsmCertificateSigningRequest"
994
+ method = "POST"
995
+ operation_name = "generate_distributed_autonomous_database_gsm_certificate_signing_request"
996
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/GenerateDistributedAutonomousDatabaseGsmCertificateSigningRequest"
997
+
998
+ # Don't accept unknown kwargs
999
+ expected_kwargs = [
1000
+ "allow_control_chars",
1001
+ "retry_strategy",
1002
+ "opc_request_id",
1003
+ "if_match",
1004
+ "opc_retry_token"
1005
+ ]
1006
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1007
+ if extra_kwargs:
1008
+ raise ValueError(
1009
+ f"generate_distributed_autonomous_database_gsm_certificate_signing_request got unknown kwargs: {extra_kwargs!r}")
1010
+
1011
+ path_params = {
1012
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1013
+ }
1014
+
1015
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1016
+
1017
+ for (k, v) in six.iteritems(path_params):
1018
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1019
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1020
+
1021
+ query_params = {
1022
+ "caBundleId": ca_bundle_id
1023
+ }
1024
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1025
+
1026
+ header_params = {
1027
+ "accept": "application/json",
1028
+ "content-type": "application/json",
1029
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1030
+ "if-match": kwargs.get("if_match", missing),
1031
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
1032
+ }
1033
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1034
+
1035
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1036
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1037
+ client_retry_strategy=self.retry_strategy
1038
+ )
1039
+ if retry_strategy is None:
1040
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1041
+
1042
+ if retry_strategy:
1043
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1044
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1045
+ self.base_client.add_opc_client_retries_header(header_params)
1046
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1047
+ return retry_strategy.make_retrying_call(
1048
+ self.base_client.call_api,
1049
+ resource_path=resource_path,
1050
+ method=method,
1051
+ path_params=path_params,
1052
+ query_params=query_params,
1053
+ header_params=header_params,
1054
+ allow_control_chars=kwargs.get('allow_control_chars'),
1055
+ operation_name=operation_name,
1056
+ api_reference_link=api_reference_link,
1057
+ required_arguments=required_arguments)
1058
+ else:
1059
+ return self.base_client.call_api(
1060
+ resource_path=resource_path,
1061
+ method=method,
1062
+ path_params=path_params,
1063
+ query_params=query_params,
1064
+ header_params=header_params,
1065
+ allow_control_chars=kwargs.get('allow_control_chars'),
1066
+ operation_name=operation_name,
1067
+ api_reference_link=api_reference_link,
1068
+ required_arguments=required_arguments)
1069
+
1070
+ def generate_distributed_autonomous_database_wallet(self, distributed_autonomous_database_id, generate_distributed_autonomous_database_wallet_details, **kwargs):
1071
+ """
1072
+ Generate the wallet associated with Globally distributed autonomous database.
1073
+
1074
+
1075
+ :param str distributed_autonomous_database_id: (required)
1076
+ Globally distributed autonomous database identifier
1077
+
1078
+ :param oci.distributed_database.models.GenerateDistributedAutonomousDatabaseWalletDetails generate_distributed_autonomous_database_wallet_details: (required)
1079
+ Details for generating Globally distributed autonomous database wallet.
1080
+
1081
+ :param str opc_request_id: (optional)
1082
+ The client request ID for tracing.
1083
+
1084
+ :param str if_match: (optional)
1085
+ For optimistic concurrency control. In the PUT or DELETE call
1086
+ for a resource, set the `if-match` parameter to the value of the
1087
+ etag from a previous GET or POST response for that resource.
1088
+ The resource will be updated or deleted only if the etag you
1089
+ provide matches the resource's current etag value.
1090
+
1091
+ :param str opc_retry_token: (optional)
1092
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1093
+ server error without risk of executing that same action again. Retry tokens expire after 24
1094
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1095
+ has been deleted and purged from the system, then a retry of the original creation request
1096
+ might be rejected.
1097
+
1098
+ :param obj retry_strategy: (optional)
1099
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1100
+
1101
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1102
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1103
+
1104
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1105
+
1106
+ :param bool allow_control_chars: (optional)
1107
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1108
+ By default, the response will not allow control characters in strings
1109
+
1110
+ :return: A :class:`~oci.response.Response` object with data of type stream
1111
+ :rtype: :class:`~oci.response.Response`
1112
+
1113
+ :example:
1114
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/generate_distributed_autonomous_database_wallet.py.html>`__ to see an example of how to use generate_distributed_autonomous_database_wallet API.
1115
+ """
1116
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1117
+ required_arguments = ['distributedAutonomousDatabaseId']
1118
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/generateWallet"
1119
+ method = "POST"
1120
+ operation_name = "generate_distributed_autonomous_database_wallet"
1121
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/GenerateDistributedAutonomousDatabaseWallet"
1122
+
1123
+ # Don't accept unknown kwargs
1124
+ expected_kwargs = [
1125
+ "allow_control_chars",
1126
+ "retry_strategy",
1127
+ "opc_request_id",
1128
+ "if_match",
1129
+ "opc_retry_token"
1130
+ ]
1131
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1132
+ if extra_kwargs:
1133
+ raise ValueError(
1134
+ f"generate_distributed_autonomous_database_wallet got unknown kwargs: {extra_kwargs!r}")
1135
+
1136
+ path_params = {
1137
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1138
+ }
1139
+
1140
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1141
+
1142
+ for (k, v) in six.iteritems(path_params):
1143
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1144
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1145
+
1146
+ header_params = {
1147
+ "accept": "application/octet-stream",
1148
+ "content-type": "application/json",
1149
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1150
+ "if-match": kwargs.get("if_match", missing),
1151
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
1152
+ }
1153
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1154
+
1155
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1156
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1157
+ client_retry_strategy=self.retry_strategy
1158
+ )
1159
+ if retry_strategy is None:
1160
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1161
+
1162
+ if retry_strategy:
1163
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1164
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1165
+ self.base_client.add_opc_client_retries_header(header_params)
1166
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1167
+ return retry_strategy.make_retrying_call(
1168
+ self.base_client.call_api,
1169
+ resource_path=resource_path,
1170
+ method=method,
1171
+ path_params=path_params,
1172
+ header_params=header_params,
1173
+ body=generate_distributed_autonomous_database_wallet_details,
1174
+ response_type="stream",
1175
+ allow_control_chars=kwargs.get('allow_control_chars'),
1176
+ operation_name=operation_name,
1177
+ api_reference_link=api_reference_link,
1178
+ required_arguments=required_arguments)
1179
+ else:
1180
+ return self.base_client.call_api(
1181
+ resource_path=resource_path,
1182
+ method=method,
1183
+ path_params=path_params,
1184
+ header_params=header_params,
1185
+ body=generate_distributed_autonomous_database_wallet_details,
1186
+ response_type="stream",
1187
+ allow_control_chars=kwargs.get('allow_control_chars'),
1188
+ operation_name=operation_name,
1189
+ api_reference_link=api_reference_link,
1190
+ required_arguments=required_arguments)
1191
+
1192
+ def get_distributed_autonomous_database(self, distributed_autonomous_database_id, **kwargs):
1193
+ """
1194
+ Gets the details of the Globally distributed autonomous database identified by given id.
1195
+
1196
+
1197
+ :param str distributed_autonomous_database_id: (required)
1198
+ Globally distributed autonomous database identifier
1199
+
1200
+ :param str metadata: (optional)
1201
+ Comma separated names of argument corresponding to which metadata need to be retrived.
1202
+
1203
+ :param str if_none_match: (optional)
1204
+ For conditional requests. In the GET call for a resource, set the
1205
+ `If-None-Match` header to the value of the ETag from a previous GET (or
1206
+ POST or PUT) response for that resource. The server will return with
1207
+ either a 304 Not Modified response if the resource has not changed, or a
1208
+ 200 OK response with the updated representation.
1209
+
1210
+ :param str opc_request_id: (optional)
1211
+ The client request ID for tracing.
1212
+
1213
+ :param obj retry_strategy: (optional)
1214
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1215
+
1216
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1217
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1218
+
1219
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1220
+
1221
+ :param bool allow_control_chars: (optional)
1222
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1223
+ By default, the response will not allow control characters in strings
1224
+
1225
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.distributed_database.models.DistributedAutonomousDatabase`
1226
+ :rtype: :class:`~oci.response.Response`
1227
+
1228
+ :example:
1229
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/get_distributed_autonomous_database.py.html>`__ to see an example of how to use get_distributed_autonomous_database API.
1230
+ """
1231
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1232
+ required_arguments = ['distributedAutonomousDatabaseId']
1233
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}"
1234
+ method = "GET"
1235
+ operation_name = "get_distributed_autonomous_database"
1236
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/GetDistributedAutonomousDatabase"
1237
+
1238
+ # Don't accept unknown kwargs
1239
+ expected_kwargs = [
1240
+ "allow_control_chars",
1241
+ "retry_strategy",
1242
+ "metadata",
1243
+ "if_none_match",
1244
+ "opc_request_id"
1245
+ ]
1246
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1247
+ if extra_kwargs:
1248
+ raise ValueError(
1249
+ f"get_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
1250
+
1251
+ path_params = {
1252
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1253
+ }
1254
+
1255
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1256
+
1257
+ for (k, v) in six.iteritems(path_params):
1258
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1259
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1260
+
1261
+ query_params = {
1262
+ "metadata": kwargs.get("metadata", missing)
1263
+ }
1264
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1265
+
1266
+ header_params = {
1267
+ "accept": "application/json",
1268
+ "content-type": "application/json",
1269
+ "if-none-match": kwargs.get("if_none_match", missing),
1270
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1271
+ }
1272
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1273
+
1274
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1275
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1276
+ client_retry_strategy=self.retry_strategy
1277
+ )
1278
+ if retry_strategy is None:
1279
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1280
+
1281
+ if retry_strategy:
1282
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1283
+ self.base_client.add_opc_client_retries_header(header_params)
1284
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1285
+ return retry_strategy.make_retrying_call(
1286
+ self.base_client.call_api,
1287
+ resource_path=resource_path,
1288
+ method=method,
1289
+ path_params=path_params,
1290
+ query_params=query_params,
1291
+ header_params=header_params,
1292
+ response_type="DistributedAutonomousDatabase",
1293
+ allow_control_chars=kwargs.get('allow_control_chars'),
1294
+ operation_name=operation_name,
1295
+ api_reference_link=api_reference_link,
1296
+ required_arguments=required_arguments)
1297
+ else:
1298
+ return self.base_client.call_api(
1299
+ resource_path=resource_path,
1300
+ method=method,
1301
+ path_params=path_params,
1302
+ query_params=query_params,
1303
+ header_params=header_params,
1304
+ response_type="DistributedAutonomousDatabase",
1305
+ allow_control_chars=kwargs.get('allow_control_chars'),
1306
+ operation_name=operation_name,
1307
+ api_reference_link=api_reference_link,
1308
+ required_arguments=required_arguments)
1309
+
1310
+ def list_distributed_autonomous_databases(self, compartment_id, **kwargs):
1311
+ """
1312
+ List of Globally distributed autonomous databases.
1313
+
1314
+
1315
+ :param str compartment_id: (required)
1316
+ The ID of the compartment in which to list resources.
1317
+
1318
+ :param str lifecycle_state: (optional)
1319
+ A filter to return only resources their lifecycleState matches the given lifecycleState.
1320
+
1321
+ Allowed values are: "ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"
1322
+
1323
+ :param int limit: (optional)
1324
+ The maximum number of items to return.
1325
+
1326
+ :param str page: (optional)
1327
+ A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.
1328
+
1329
+ :param str sort_order: (optional)
1330
+ The sort order to use, either 'ASC' or 'DESC'.
1331
+
1332
+ Allowed values are: "ASC", "DESC"
1333
+
1334
+ :param str sort_by: (optional)
1335
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending.
1336
+
1337
+ Allowed values are: "timeCreated", "timeUpdated"
1338
+
1339
+ :param str opc_request_id: (optional)
1340
+ The client request ID for tracing.
1341
+
1342
+ :param str display_name: (optional)
1343
+ A filter to return only Globally distributed autonomous databases that match the entire name given. The match is not case sensitive.
1344
+
1345
+ :param str db_deployment_type: (optional)
1346
+ A filter to return only resources their dbDeploymentType matches the given dbDeploymentType.
1347
+
1348
+ Allowed values are: "ADB_D"
1349
+
1350
+ :param str metadata: (optional)
1351
+ Comma separated names of argument corresponding to which metadata need to be retrived.
1352
+
1353
+ :param obj retry_strategy: (optional)
1354
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1355
+
1356
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1357
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1358
+
1359
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1360
+
1361
+ :param bool allow_control_chars: (optional)
1362
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1363
+ By default, the response will not allow control characters in strings
1364
+
1365
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.distributed_database.models.DistributedAutonomousDatabaseCollection`
1366
+ :rtype: :class:`~oci.response.Response`
1367
+
1368
+ :example:
1369
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/list_distributed_autonomous_databases.py.html>`__ to see an example of how to use list_distributed_autonomous_databases API.
1370
+ """
1371
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1372
+ required_arguments = ['compartmentId']
1373
+ resource_path = "/distributedAutonomousDatabases"
1374
+ method = "GET"
1375
+ operation_name = "list_distributed_autonomous_databases"
1376
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabaseCollection/ListDistributedAutonomousDatabases"
1377
+
1378
+ # Don't accept unknown kwargs
1379
+ expected_kwargs = [
1380
+ "allow_control_chars",
1381
+ "retry_strategy",
1382
+ "lifecycle_state",
1383
+ "limit",
1384
+ "page",
1385
+ "sort_order",
1386
+ "sort_by",
1387
+ "opc_request_id",
1388
+ "display_name",
1389
+ "db_deployment_type",
1390
+ "metadata"
1391
+ ]
1392
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1393
+ if extra_kwargs:
1394
+ raise ValueError(
1395
+ f"list_distributed_autonomous_databases got unknown kwargs: {extra_kwargs!r}")
1396
+
1397
+ if 'lifecycle_state' in kwargs:
1398
+ lifecycle_state_allowed_values = ["ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"]
1399
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
1400
+ raise ValueError(
1401
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
1402
+ )
1403
+
1404
+ if 'sort_order' in kwargs:
1405
+ sort_order_allowed_values = ["ASC", "DESC"]
1406
+ if kwargs['sort_order'] not in sort_order_allowed_values:
1407
+ raise ValueError(
1408
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
1409
+ )
1410
+
1411
+ if 'sort_by' in kwargs:
1412
+ sort_by_allowed_values = ["timeCreated", "timeUpdated"]
1413
+ if kwargs['sort_by'] not in sort_by_allowed_values:
1414
+ raise ValueError(
1415
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
1416
+ )
1417
+
1418
+ if 'db_deployment_type' in kwargs:
1419
+ db_deployment_type_allowed_values = ["ADB_D"]
1420
+ if kwargs['db_deployment_type'] not in db_deployment_type_allowed_values:
1421
+ raise ValueError(
1422
+ f"Invalid value for `db_deployment_type`, must be one of { db_deployment_type_allowed_values }"
1423
+ )
1424
+
1425
+ query_params = {
1426
+ "compartmentId": compartment_id,
1427
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
1428
+ "limit": kwargs.get("limit", missing),
1429
+ "page": kwargs.get("page", missing),
1430
+ "sortOrder": kwargs.get("sort_order", missing),
1431
+ "sortBy": kwargs.get("sort_by", missing),
1432
+ "displayName": kwargs.get("display_name", missing),
1433
+ "dbDeploymentType": kwargs.get("db_deployment_type", missing),
1434
+ "metadata": kwargs.get("metadata", missing)
1435
+ }
1436
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1437
+
1438
+ header_params = {
1439
+ "accept": "application/json",
1440
+ "content-type": "application/json",
1441
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1442
+ }
1443
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1444
+
1445
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1446
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1447
+ client_retry_strategy=self.retry_strategy
1448
+ )
1449
+ if retry_strategy is None:
1450
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1451
+
1452
+ if retry_strategy:
1453
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1454
+ self.base_client.add_opc_client_retries_header(header_params)
1455
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1456
+ return retry_strategy.make_retrying_call(
1457
+ self.base_client.call_api,
1458
+ resource_path=resource_path,
1459
+ method=method,
1460
+ query_params=query_params,
1461
+ header_params=header_params,
1462
+ response_type="DistributedAutonomousDatabaseCollection",
1463
+ allow_control_chars=kwargs.get('allow_control_chars'),
1464
+ operation_name=operation_name,
1465
+ api_reference_link=api_reference_link,
1466
+ required_arguments=required_arguments)
1467
+ else:
1468
+ return self.base_client.call_api(
1469
+ resource_path=resource_path,
1470
+ method=method,
1471
+ query_params=query_params,
1472
+ header_params=header_params,
1473
+ response_type="DistributedAutonomousDatabaseCollection",
1474
+ allow_control_chars=kwargs.get('allow_control_chars'),
1475
+ operation_name=operation_name,
1476
+ api_reference_link=api_reference_link,
1477
+ required_arguments=required_arguments)
1478
+
1479
+ def patch_distributed_autonomous_database(self, distributed_autonomous_database_id, patch_distributed_autonomous_database_details, **kwargs):
1480
+ """
1481
+ Patch operation to add, remove or update shards to the Globally distributed autonomous database topology. In single patch
1482
+ operation, multiple shards can be either added, or removed or updated. Combination of inserts, update
1483
+ and remove in single operation is not allowed.
1484
+
1485
+
1486
+ :param str distributed_autonomous_database_id: (required)
1487
+ Globally distributed autonomous database identifier
1488
+
1489
+ :param oci.distributed_database.models.PatchDistributedAutonomousDatabaseDetails patch_distributed_autonomous_database_details: (required)
1490
+ The payload containing instructions to patch the Globally distributed autonomous database.
1491
+
1492
+ :param str if_match: (optional)
1493
+ For optimistic concurrency control. In the PUT or DELETE call
1494
+ for a resource, set the `if-match` parameter to the value of the
1495
+ etag from a previous GET or POST response for that resource.
1496
+ The resource will be updated or deleted only if the etag you
1497
+ provide matches the resource's current etag value.
1498
+
1499
+ :param str opc_retry_token: (optional)
1500
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1501
+ server error without risk of executing that same action again. Retry tokens expire after 24
1502
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1503
+ has been deleted and purged from the system, then a retry of the original creation request
1504
+ might be rejected.
1505
+
1506
+ :param str opc_request_id: (optional)
1507
+ The client request ID for tracing.
1508
+
1509
+ :param obj retry_strategy: (optional)
1510
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1511
+
1512
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1513
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1514
+
1515
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1516
+
1517
+ :param bool allow_control_chars: (optional)
1518
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1519
+ By default, the response will not allow control characters in strings
1520
+
1521
+ :return: A :class:`~oci.response.Response` object with data of type None
1522
+ :rtype: :class:`~oci.response.Response`
1523
+
1524
+ :example:
1525
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/patch_distributed_autonomous_database.py.html>`__ to see an example of how to use patch_distributed_autonomous_database API.
1526
+ """
1527
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1528
+ required_arguments = ['distributedAutonomousDatabaseId']
1529
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}"
1530
+ method = "PATCH"
1531
+ operation_name = "patch_distributed_autonomous_database"
1532
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/PatchDistributedAutonomousDatabase"
1533
+
1534
+ # Don't accept unknown kwargs
1535
+ expected_kwargs = [
1536
+ "allow_control_chars",
1537
+ "retry_strategy",
1538
+ "if_match",
1539
+ "opc_retry_token",
1540
+ "opc_request_id"
1541
+ ]
1542
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1543
+ if extra_kwargs:
1544
+ raise ValueError(
1545
+ f"patch_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
1546
+
1547
+ path_params = {
1548
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1549
+ }
1550
+
1551
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1552
+
1553
+ for (k, v) in six.iteritems(path_params):
1554
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1555
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1556
+
1557
+ header_params = {
1558
+ "accept": "application/json",
1559
+ "content-type": "application/json",
1560
+ "if-match": kwargs.get("if_match", missing),
1561
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
1562
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1563
+ }
1564
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1565
+
1566
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1567
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1568
+ client_retry_strategy=self.retry_strategy
1569
+ )
1570
+ if retry_strategy is None:
1571
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1572
+
1573
+ if retry_strategy:
1574
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1575
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1576
+ self.base_client.add_opc_client_retries_header(header_params)
1577
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1578
+ return retry_strategy.make_retrying_call(
1579
+ self.base_client.call_api,
1580
+ resource_path=resource_path,
1581
+ method=method,
1582
+ path_params=path_params,
1583
+ header_params=header_params,
1584
+ body=patch_distributed_autonomous_database_details,
1585
+ allow_control_chars=kwargs.get('allow_control_chars'),
1586
+ operation_name=operation_name,
1587
+ api_reference_link=api_reference_link,
1588
+ required_arguments=required_arguments)
1589
+ else:
1590
+ return self.base_client.call_api(
1591
+ resource_path=resource_path,
1592
+ method=method,
1593
+ path_params=path_params,
1594
+ header_params=header_params,
1595
+ body=patch_distributed_autonomous_database_details,
1596
+ allow_control_chars=kwargs.get('allow_control_chars'),
1597
+ operation_name=operation_name,
1598
+ api_reference_link=api_reference_link,
1599
+ required_arguments=required_arguments)
1600
+
1601
+ def rotate_distributed_autonomous_database_passwords(self, distributed_autonomous_database_id, **kwargs):
1602
+ """
1603
+ Rotate passwords for different components of the Globally distributed autonomous database.
1604
+
1605
+
1606
+ :param str distributed_autonomous_database_id: (required)
1607
+ Globally distributed autonomous database identifier
1608
+
1609
+ :param str opc_request_id: (optional)
1610
+ The client request ID for tracing.
1611
+
1612
+ :param str if_match: (optional)
1613
+ For optimistic concurrency control. In the PUT or DELETE call
1614
+ for a resource, set the `if-match` parameter to the value of the
1615
+ etag from a previous GET or POST response for that resource.
1616
+ The resource will be updated or deleted only if the etag you
1617
+ provide matches the resource's current etag value.
1618
+
1619
+ :param str opc_retry_token: (optional)
1620
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1621
+ server error without risk of executing that same action again. Retry tokens expire after 24
1622
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1623
+ has been deleted and purged from the system, then a retry of the original creation request
1624
+ might be rejected.
1625
+
1626
+ :param obj retry_strategy: (optional)
1627
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1628
+
1629
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1630
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1631
+
1632
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1633
+
1634
+ :param bool allow_control_chars: (optional)
1635
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1636
+ By default, the response will not allow control characters in strings
1637
+
1638
+ :return: A :class:`~oci.response.Response` object with data of type None
1639
+ :rtype: :class:`~oci.response.Response`
1640
+
1641
+ :example:
1642
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/rotate_distributed_autonomous_database_passwords.py.html>`__ to see an example of how to use rotate_distributed_autonomous_database_passwords API.
1643
+ """
1644
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1645
+ required_arguments = ['distributedAutonomousDatabaseId']
1646
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/rotateDbPasswords"
1647
+ method = "POST"
1648
+ operation_name = "rotate_distributed_autonomous_database_passwords"
1649
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/RotateDistributedAutonomousDatabasePasswords"
1650
+
1651
+ # Don't accept unknown kwargs
1652
+ expected_kwargs = [
1653
+ "allow_control_chars",
1654
+ "retry_strategy",
1655
+ "opc_request_id",
1656
+ "if_match",
1657
+ "opc_retry_token"
1658
+ ]
1659
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1660
+ if extra_kwargs:
1661
+ raise ValueError(
1662
+ f"rotate_distributed_autonomous_database_passwords got unknown kwargs: {extra_kwargs!r}")
1663
+
1664
+ path_params = {
1665
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1666
+ }
1667
+
1668
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1669
+
1670
+ for (k, v) in six.iteritems(path_params):
1671
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1672
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1673
+
1674
+ header_params = {
1675
+ "accept": "application/json",
1676
+ "content-type": "application/json",
1677
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1678
+ "if-match": kwargs.get("if_match", missing),
1679
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
1680
+ }
1681
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1682
+
1683
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1684
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1685
+ client_retry_strategy=self.retry_strategy
1686
+ )
1687
+ if retry_strategy is None:
1688
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1689
+
1690
+ if retry_strategy:
1691
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1692
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1693
+ self.base_client.add_opc_client_retries_header(header_params)
1694
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1695
+ return retry_strategy.make_retrying_call(
1696
+ self.base_client.call_api,
1697
+ resource_path=resource_path,
1698
+ method=method,
1699
+ path_params=path_params,
1700
+ header_params=header_params,
1701
+ allow_control_chars=kwargs.get('allow_control_chars'),
1702
+ operation_name=operation_name,
1703
+ api_reference_link=api_reference_link,
1704
+ required_arguments=required_arguments)
1705
+ else:
1706
+ return self.base_client.call_api(
1707
+ resource_path=resource_path,
1708
+ method=method,
1709
+ path_params=path_params,
1710
+ header_params=header_params,
1711
+ allow_control_chars=kwargs.get('allow_control_chars'),
1712
+ operation_name=operation_name,
1713
+ api_reference_link=api_reference_link,
1714
+ required_arguments=required_arguments)
1715
+
1716
+ def start_distributed_autonomous_database(self, distributed_autonomous_database_id, **kwargs):
1717
+ """
1718
+ Start the shards, catalog and GSMs of Globally distributed autonomous database.
1719
+
1720
+
1721
+ :param str distributed_autonomous_database_id: (required)
1722
+ Globally distributed autonomous database identifier
1723
+
1724
+ :param str opc_retry_token: (optional)
1725
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1726
+ server error without risk of executing that same action again. Retry tokens expire after 24
1727
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1728
+ has been deleted and purged from the system, then a retry of the original creation request
1729
+ might be rejected.
1730
+
1731
+ :param str opc_request_id: (optional)
1732
+ The client request ID for tracing.
1733
+
1734
+ :param str if_match: (optional)
1735
+ For optimistic concurrency control. In the PUT or DELETE call
1736
+ for a resource, set the `if-match` parameter to the value of the
1737
+ etag from a previous GET or POST response for that resource.
1738
+ The resource will be updated or deleted only if the etag you
1739
+ provide matches the resource's current etag value.
1740
+
1741
+ :param obj retry_strategy: (optional)
1742
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1743
+
1744
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1745
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1746
+
1747
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1748
+
1749
+ :param bool allow_control_chars: (optional)
1750
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1751
+ By default, the response will not allow control characters in strings
1752
+
1753
+ :return: A :class:`~oci.response.Response` object with data of type None
1754
+ :rtype: :class:`~oci.response.Response`
1755
+
1756
+ :example:
1757
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/start_distributed_autonomous_database.py.html>`__ to see an example of how to use start_distributed_autonomous_database API.
1758
+ """
1759
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1760
+ required_arguments = ['distributedAutonomousDatabaseId']
1761
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/startDatabase"
1762
+ method = "POST"
1763
+ operation_name = "start_distributed_autonomous_database"
1764
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/StartDistributedAutonomousDatabase"
1765
+
1766
+ # Don't accept unknown kwargs
1767
+ expected_kwargs = [
1768
+ "allow_control_chars",
1769
+ "retry_strategy",
1770
+ "opc_retry_token",
1771
+ "opc_request_id",
1772
+ "if_match"
1773
+ ]
1774
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1775
+ if extra_kwargs:
1776
+ raise ValueError(
1777
+ f"start_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
1778
+
1779
+ path_params = {
1780
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1781
+ }
1782
+
1783
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1784
+
1785
+ for (k, v) in six.iteritems(path_params):
1786
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1787
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1788
+
1789
+ header_params = {
1790
+ "accept": "application/json",
1791
+ "content-type": "application/json",
1792
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
1793
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1794
+ "if-match": kwargs.get("if_match", missing)
1795
+ }
1796
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1797
+
1798
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1799
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1800
+ client_retry_strategy=self.retry_strategy
1801
+ )
1802
+ if retry_strategy is None:
1803
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1804
+
1805
+ if retry_strategy:
1806
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1807
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1808
+ self.base_client.add_opc_client_retries_header(header_params)
1809
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1810
+ return retry_strategy.make_retrying_call(
1811
+ self.base_client.call_api,
1812
+ resource_path=resource_path,
1813
+ method=method,
1814
+ path_params=path_params,
1815
+ header_params=header_params,
1816
+ allow_control_chars=kwargs.get('allow_control_chars'),
1817
+ operation_name=operation_name,
1818
+ api_reference_link=api_reference_link,
1819
+ required_arguments=required_arguments)
1820
+ else:
1821
+ return self.base_client.call_api(
1822
+ resource_path=resource_path,
1823
+ method=method,
1824
+ path_params=path_params,
1825
+ header_params=header_params,
1826
+ allow_control_chars=kwargs.get('allow_control_chars'),
1827
+ operation_name=operation_name,
1828
+ api_reference_link=api_reference_link,
1829
+ required_arguments=required_arguments)
1830
+
1831
+ def stop_distributed_autonomous_database(self, distributed_autonomous_database_id, **kwargs):
1832
+ """
1833
+ Stop the shards, catalog and GSM instances for the Globally distributed autonomous database.
1834
+
1835
+
1836
+ :param str distributed_autonomous_database_id: (required)
1837
+ Globally distributed autonomous database identifier
1838
+
1839
+ :param str opc_retry_token: (optional)
1840
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1841
+ server error without risk of executing that same action again. Retry tokens expire after 24
1842
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1843
+ has been deleted and purged from the system, then a retry of the original creation request
1844
+ might be rejected.
1845
+
1846
+ :param str opc_request_id: (optional)
1847
+ The client request ID for tracing.
1848
+
1849
+ :param str if_match: (optional)
1850
+ For optimistic concurrency control. In the PUT or DELETE call
1851
+ for a resource, set the `if-match` parameter to the value of the
1852
+ etag from a previous GET or POST response for that resource.
1853
+ The resource will be updated or deleted only if the etag you
1854
+ provide matches the resource's current etag value.
1855
+
1856
+ :param obj retry_strategy: (optional)
1857
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1858
+
1859
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1860
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1861
+
1862
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1863
+
1864
+ :param bool allow_control_chars: (optional)
1865
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1866
+ By default, the response will not allow control characters in strings
1867
+
1868
+ :return: A :class:`~oci.response.Response` object with data of type None
1869
+ :rtype: :class:`~oci.response.Response`
1870
+
1871
+ :example:
1872
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/stop_distributed_autonomous_database.py.html>`__ to see an example of how to use stop_distributed_autonomous_database API.
1873
+ """
1874
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1875
+ required_arguments = ['distributedAutonomousDatabaseId']
1876
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/stopDatabase"
1877
+ method = "POST"
1878
+ operation_name = "stop_distributed_autonomous_database"
1879
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/StopDistributedAutonomousDatabase"
1880
+
1881
+ # Don't accept unknown kwargs
1882
+ expected_kwargs = [
1883
+ "allow_control_chars",
1884
+ "retry_strategy",
1885
+ "opc_retry_token",
1886
+ "opc_request_id",
1887
+ "if_match"
1888
+ ]
1889
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1890
+ if extra_kwargs:
1891
+ raise ValueError(
1892
+ f"stop_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
1893
+
1894
+ path_params = {
1895
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
1896
+ }
1897
+
1898
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1899
+
1900
+ for (k, v) in six.iteritems(path_params):
1901
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1902
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1903
+
1904
+ header_params = {
1905
+ "accept": "application/json",
1906
+ "content-type": "application/json",
1907
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
1908
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1909
+ "if-match": kwargs.get("if_match", missing)
1910
+ }
1911
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1912
+
1913
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1914
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1915
+ client_retry_strategy=self.retry_strategy
1916
+ )
1917
+ if retry_strategy is None:
1918
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1919
+
1920
+ if retry_strategy:
1921
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1922
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1923
+ self.base_client.add_opc_client_retries_header(header_params)
1924
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1925
+ return retry_strategy.make_retrying_call(
1926
+ self.base_client.call_api,
1927
+ resource_path=resource_path,
1928
+ method=method,
1929
+ path_params=path_params,
1930
+ header_params=header_params,
1931
+ allow_control_chars=kwargs.get('allow_control_chars'),
1932
+ operation_name=operation_name,
1933
+ api_reference_link=api_reference_link,
1934
+ required_arguments=required_arguments)
1935
+ else:
1936
+ return self.base_client.call_api(
1937
+ resource_path=resource_path,
1938
+ method=method,
1939
+ path_params=path_params,
1940
+ header_params=header_params,
1941
+ allow_control_chars=kwargs.get('allow_control_chars'),
1942
+ operation_name=operation_name,
1943
+ api_reference_link=api_reference_link,
1944
+ required_arguments=required_arguments)
1945
+
1946
+ def update_distributed_autonomous_database(self, distributed_autonomous_database_id, update_distributed_autonomous_database_details, **kwargs):
1947
+ """
1948
+ Updates the configuration of the Globally distributed autonomous database.
1949
+
1950
+
1951
+ :param str distributed_autonomous_database_id: (required)
1952
+ Globally distributed autonomous database identifier
1953
+
1954
+ :param oci.distributed_database.models.UpdateDistributedAutonomousDatabaseDetails update_distributed_autonomous_database_details: (required)
1955
+ The configuration of the Globally distributed autonomous database to be updated.
1956
+
1957
+ :param str opc_request_id: (optional)
1958
+ The client request ID for tracing.
1959
+
1960
+ :param str if_match: (optional)
1961
+ For optimistic concurrency control. In the PUT or DELETE call
1962
+ for a resource, set the `if-match` parameter to the value of the
1963
+ etag from a previous GET or POST response for that resource.
1964
+ The resource will be updated or deleted only if the etag you
1965
+ provide matches the resource's current etag value.
1966
+
1967
+ :param obj retry_strategy: (optional)
1968
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1969
+
1970
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
1971
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1972
+
1973
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1974
+
1975
+ :param bool allow_control_chars: (optional)
1976
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1977
+ By default, the response will not allow control characters in strings
1978
+
1979
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.distributed_database.models.DistributedAutonomousDatabase`
1980
+ :rtype: :class:`~oci.response.Response`
1981
+
1982
+ :example:
1983
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/update_distributed_autonomous_database.py.html>`__ to see an example of how to use update_distributed_autonomous_database API.
1984
+ """
1985
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1986
+ required_arguments = ['distributedAutonomousDatabaseId']
1987
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}"
1988
+ method = "PUT"
1989
+ operation_name = "update_distributed_autonomous_database"
1990
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/UpdateDistributedAutonomousDatabase"
1991
+
1992
+ # Don't accept unknown kwargs
1993
+ expected_kwargs = [
1994
+ "allow_control_chars",
1995
+ "retry_strategy",
1996
+ "opc_request_id",
1997
+ "if_match"
1998
+ ]
1999
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2000
+ if extra_kwargs:
2001
+ raise ValueError(
2002
+ f"update_distributed_autonomous_database got unknown kwargs: {extra_kwargs!r}")
2003
+
2004
+ path_params = {
2005
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
2006
+ }
2007
+
2008
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2009
+
2010
+ for (k, v) in six.iteritems(path_params):
2011
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2012
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2013
+
2014
+ header_params = {
2015
+ "accept": "application/json",
2016
+ "content-type": "application/json",
2017
+ "opc-request-id": kwargs.get("opc_request_id", missing),
2018
+ "if-match": kwargs.get("if_match", missing)
2019
+ }
2020
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2021
+
2022
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2023
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2024
+ client_retry_strategy=self.retry_strategy
2025
+ )
2026
+ if retry_strategy is None:
2027
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2028
+
2029
+ if retry_strategy:
2030
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2031
+ self.base_client.add_opc_client_retries_header(header_params)
2032
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2033
+ return retry_strategy.make_retrying_call(
2034
+ self.base_client.call_api,
2035
+ resource_path=resource_path,
2036
+ method=method,
2037
+ path_params=path_params,
2038
+ header_params=header_params,
2039
+ body=update_distributed_autonomous_database_details,
2040
+ response_type="DistributedAutonomousDatabase",
2041
+ allow_control_chars=kwargs.get('allow_control_chars'),
2042
+ operation_name=operation_name,
2043
+ api_reference_link=api_reference_link,
2044
+ required_arguments=required_arguments)
2045
+ else:
2046
+ return self.base_client.call_api(
2047
+ resource_path=resource_path,
2048
+ method=method,
2049
+ path_params=path_params,
2050
+ header_params=header_params,
2051
+ body=update_distributed_autonomous_database_details,
2052
+ response_type="DistributedAutonomousDatabase",
2053
+ allow_control_chars=kwargs.get('allow_control_chars'),
2054
+ operation_name=operation_name,
2055
+ api_reference_link=api_reference_link,
2056
+ required_arguments=required_arguments)
2057
+
2058
+ def upload_distributed_autonomous_database_signed_certificate_and_generate_wallet(self, distributed_autonomous_database_id, upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details, **kwargs):
2059
+ """
2060
+ Upload the CA signed certificate to the GSM instances and generate wallets for GSM instances of the
2061
+ Globally distributed autonomous database. Customer shall provide the CA signed certificate key details by adding the certificate
2062
+ in request body.
2063
+
2064
+
2065
+ :param str distributed_autonomous_database_id: (required)
2066
+ Globally distributed autonomous database identifier
2067
+
2068
+ :param oci.distributed_database.models.UploadDistributedAutonomousDatabaseSignedCertificateAndGenerateWalletDetails upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details: (required)
2069
+ Details required to upload the CA signed certificates to GSM instances of Globally distributed autonomous database and generate
2070
+ the wallets.
2071
+
2072
+ :param str opc_request_id: (optional)
2073
+ The client request ID for tracing.
2074
+
2075
+ :param str if_match: (optional)
2076
+ For optimistic concurrency control. In the PUT or DELETE call
2077
+ for a resource, set the `if-match` parameter to the value of the
2078
+ etag from a previous GET or POST response for that resource.
2079
+ The resource will be updated or deleted only if the etag you
2080
+ provide matches the resource's current etag value.
2081
+
2082
+ :param str opc_retry_token: (optional)
2083
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
2084
+ server error without risk of executing that same action again. Retry tokens expire after 24
2085
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
2086
+ has been deleted and purged from the system, then a retry of the original creation request
2087
+ might be rejected.
2088
+
2089
+ :param obj retry_strategy: (optional)
2090
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2091
+
2092
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
2093
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2094
+
2095
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2096
+
2097
+ :param bool allow_control_chars: (optional)
2098
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2099
+ By default, the response will not allow control characters in strings
2100
+
2101
+ :return: A :class:`~oci.response.Response` object with data of type None
2102
+ :rtype: :class:`~oci.response.Response`
2103
+
2104
+ :example:
2105
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/upload_distributed_autonomous_database_signed_certificate_and_generate_wallet.py.html>`__ to see an example of how to use upload_distributed_autonomous_database_signed_certificate_and_generate_wallet API.
2106
+ """
2107
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2108
+ required_arguments = ['distributedAutonomousDatabaseId']
2109
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/uploadSignedCertificateAndGenerateWallet"
2110
+ method = "POST"
2111
+ operation_name = "upload_distributed_autonomous_database_signed_certificate_and_generate_wallet"
2112
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/UploadDistributedAutonomousDatabaseSignedCertificateAndGenerateWallet"
2113
+
2114
+ # Don't accept unknown kwargs
2115
+ expected_kwargs = [
2116
+ "allow_control_chars",
2117
+ "retry_strategy",
2118
+ "opc_request_id",
2119
+ "if_match",
2120
+ "opc_retry_token"
2121
+ ]
2122
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2123
+ if extra_kwargs:
2124
+ raise ValueError(
2125
+ f"upload_distributed_autonomous_database_signed_certificate_and_generate_wallet got unknown kwargs: {extra_kwargs!r}")
2126
+
2127
+ path_params = {
2128
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
2129
+ }
2130
+
2131
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2132
+
2133
+ for (k, v) in six.iteritems(path_params):
2134
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2135
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2136
+
2137
+ header_params = {
2138
+ "accept": "application/json",
2139
+ "content-type": "application/json",
2140
+ "opc-request-id": kwargs.get("opc_request_id", missing),
2141
+ "if-match": kwargs.get("if_match", missing),
2142
+ "opc-retry-token": kwargs.get("opc_retry_token", missing)
2143
+ }
2144
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2145
+
2146
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2147
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2148
+ client_retry_strategy=self.retry_strategy
2149
+ )
2150
+ if retry_strategy is None:
2151
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2152
+
2153
+ if retry_strategy:
2154
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2155
+ self.base_client.add_opc_retry_token_if_needed(header_params)
2156
+ self.base_client.add_opc_client_retries_header(header_params)
2157
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2158
+ return retry_strategy.make_retrying_call(
2159
+ self.base_client.call_api,
2160
+ resource_path=resource_path,
2161
+ method=method,
2162
+ path_params=path_params,
2163
+ header_params=header_params,
2164
+ body=upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details,
2165
+ allow_control_chars=kwargs.get('allow_control_chars'),
2166
+ operation_name=operation_name,
2167
+ api_reference_link=api_reference_link,
2168
+ required_arguments=required_arguments)
2169
+ else:
2170
+ return self.base_client.call_api(
2171
+ resource_path=resource_path,
2172
+ method=method,
2173
+ path_params=path_params,
2174
+ header_params=header_params,
2175
+ body=upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details,
2176
+ allow_control_chars=kwargs.get('allow_control_chars'),
2177
+ operation_name=operation_name,
2178
+ api_reference_link=api_reference_link,
2179
+ required_arguments=required_arguments)
2180
+
2181
+ def validate_distributed_autonomous_database_network(self, distributed_autonomous_database_id, **kwargs):
2182
+ """
2183
+ Validate the network connectivity between components of the globally distributed autonomous database.
2184
+
2185
+
2186
+ :param str distributed_autonomous_database_id: (required)
2187
+ Globally distributed autonomous database identifier
2188
+
2189
+ :param bool is_surrogate: (optional)
2190
+ Determines the surrogates check. Default is true.
2191
+
2192
+ :param str resource_name: (optional)
2193
+ Specify the name of shard or catalog.
2194
+
2195
+ :param str shard_group: (optional)
2196
+ The shardGroup name example ShardGroupA, ShardGroupB.
2197
+
2198
+ :param str if_match: (optional)
2199
+ For optimistic concurrency control. In the PUT or DELETE call
2200
+ for a resource, set the `if-match` parameter to the value of the
2201
+ etag from a previous GET or POST response for that resource.
2202
+ The resource will be updated or deleted only if the etag you
2203
+ provide matches the resource's current etag value.
2204
+
2205
+ :param str opc_retry_token: (optional)
2206
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
2207
+ server error without risk of executing that same action again. Retry tokens expire after 24
2208
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
2209
+ has been deleted and purged from the system, then a retry of the original creation request
2210
+ might be rejected.
2211
+
2212
+ :param str opc_request_id: (optional)
2213
+ The client request ID for tracing.
2214
+
2215
+ :param obj retry_strategy: (optional)
2216
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2217
+
2218
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
2219
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2220
+
2221
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2222
+
2223
+ :param bool allow_control_chars: (optional)
2224
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2225
+ By default, the response will not allow control characters in strings
2226
+
2227
+ :return: A :class:`~oci.response.Response` object with data of type None
2228
+ :rtype: :class:`~oci.response.Response`
2229
+
2230
+ :example:
2231
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.1/distributeddatabase/validate_distributed_autonomous_database_network.py.html>`__ to see an example of how to use validate_distributed_autonomous_database_network API.
2232
+ """
2233
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2234
+ required_arguments = ['distributedAutonomousDatabaseId']
2235
+ resource_path = "/distributedAutonomousDatabases/{distributedAutonomousDatabaseId}/actions/validateNetwork"
2236
+ method = "POST"
2237
+ operation_name = "validate_distributed_autonomous_database_network"
2238
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/20250101/DistributedAutonomousDatabase/ValidateDistributedAutonomousDatabaseNetwork"
2239
+
2240
+ # Don't accept unknown kwargs
2241
+ expected_kwargs = [
2242
+ "allow_control_chars",
2243
+ "retry_strategy",
2244
+ "is_surrogate",
2245
+ "resource_name",
2246
+ "shard_group",
2247
+ "if_match",
2248
+ "opc_retry_token",
2249
+ "opc_request_id"
2250
+ ]
2251
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2252
+ if extra_kwargs:
2253
+ raise ValueError(
2254
+ f"validate_distributed_autonomous_database_network got unknown kwargs: {extra_kwargs!r}")
2255
+
2256
+ path_params = {
2257
+ "distributedAutonomousDatabaseId": distributed_autonomous_database_id
2258
+ }
2259
+
2260
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2261
+
2262
+ for (k, v) in six.iteritems(path_params):
2263
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2264
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2265
+
2266
+ query_params = {
2267
+ "isSurrogate": kwargs.get("is_surrogate", missing),
2268
+ "resourceName": kwargs.get("resource_name", missing),
2269
+ "shardGroup": kwargs.get("shard_group", missing)
2270
+ }
2271
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2272
+
2273
+ header_params = {
2274
+ "accept": "application/json",
2275
+ "content-type": "application/json",
2276
+ "if-match": kwargs.get("if_match", missing),
2277
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
2278
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2279
+ }
2280
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2281
+
2282
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2283
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2284
+ client_retry_strategy=self.retry_strategy
2285
+ )
2286
+ if retry_strategy is None:
2287
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2288
+
2289
+ if retry_strategy:
2290
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2291
+ self.base_client.add_opc_retry_token_if_needed(header_params)
2292
+ self.base_client.add_opc_client_retries_header(header_params)
2293
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2294
+ return retry_strategy.make_retrying_call(
2295
+ self.base_client.call_api,
2296
+ resource_path=resource_path,
2297
+ method=method,
2298
+ path_params=path_params,
2299
+ query_params=query_params,
2300
+ header_params=header_params,
2301
+ allow_control_chars=kwargs.get('allow_control_chars'),
2302
+ operation_name=operation_name,
2303
+ api_reference_link=api_reference_link,
2304
+ required_arguments=required_arguments)
2305
+ else:
2306
+ return self.base_client.call_api(
2307
+ resource_path=resource_path,
2308
+ method=method,
2309
+ path_params=path_params,
2310
+ query_params=query_params,
2311
+ header_params=header_params,
2312
+ allow_control_chars=kwargs.get('allow_control_chars'),
2313
+ operation_name=operation_name,
2314
+ api_reference_link=api_reference_link,
2315
+ required_arguments=required_arguments)