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