oci 2.132.0__py3-none-any.whl → 2.133.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 (489) hide show
  1. oci/__init__.py +2 -2
  2. oci/access_governance_cp/access_governance_cp_client.py +8 -8
  3. oci/adm/application_dependency_management_client.py +36 -36
  4. oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
  5. oci/ai_document/ai_service_document_client.py +626 -28
  6. oci/ai_document/ai_service_document_client_composite_operations.py +180 -0
  7. oci/ai_document/models/__init__.py +10 -0
  8. oci/ai_document/models/add_model_lock_details.py +150 -0
  9. oci/ai_document/models/add_project_lock_details.py +150 -0
  10. oci/ai_document/models/analyze_document_details.py +5 -5
  11. oci/ai_document/models/detected_document_type.py +0 -35
  12. oci/ai_document/models/document_classification_feature.py +2 -33
  13. oci/ai_document/models/document_key_value_extraction_feature.py +2 -33
  14. oci/ai_document/models/general_processor_config.py +5 -5
  15. oci/ai_document/models/model.py +33 -2
  16. oci/ai_document/models/model_summary.py +33 -2
  17. oci/ai_document/models/output_location.py +1 -1
  18. oci/ai_document/models/project.py +33 -2
  19. oci/ai_document/models/remove_model_lock_details.py +88 -0
  20. oci/ai_document/models/remove_project_lock_details.py +88 -0
  21. oci/ai_document/models/resource_lock.py +216 -0
  22. oci/ai_language/ai_service_language_client.py +44 -44
  23. oci/ai_speech/ai_service_speech_client.py +17 -17
  24. oci/ai_vision/ai_service_vision_client.py +25 -25
  25. oci/analytics/analytics_client.py +24 -24
  26. oci/announcements_service/__init__.py +3 -1
  27. oci/announcements_service/announcement_client.py +103 -6
  28. oci/announcements_service/announcement_subscription_client.py +9 -9
  29. oci/announcements_service/announcements_preferences_client.py +4 -4
  30. oci/announcements_service/models/__init__.py +12 -0
  31. oci/announcements_service/models/announcement.py +1 -1
  32. oci/announcements_service/models/announcement_compartment.py +72 -0
  33. oci/announcements_service/models/announcement_summary.py +1 -1
  34. oci/announcements_service/models/base_announcement.py +7 -3
  35. oci/announcements_service/models/base_service.py +498 -0
  36. oci/announcements_service/models/notifications_summary.py +130 -0
  37. oci/announcements_service/models/service.py +130 -0
  38. oci/announcements_service/models/service_summary.py +133 -0
  39. oci/announcements_service/models/services_collection.py +72 -0
  40. oci/announcements_service/service_client.py +275 -0
  41. oci/announcements_service/service_client_composite_operations.py +26 -0
  42. oci/apigateway/api_gateway_client.py +21 -21
  43. oci/apigateway/deployment_client.py +6 -6
  44. oci/apigateway/gateway_client.py +6 -6
  45. oci/apigateway/subscribers_client.py +6 -6
  46. oci/apigateway/usage_plans_client.py +6 -6
  47. oci/apigateway/work_requests_client.py +5 -5
  48. oci/apm_config/config_client.py +9 -9
  49. oci/apm_control_plane/apm_domain_client.py +14 -14
  50. oci/apm_synthetics/apm_synthetic_client.py +28 -28
  51. oci/apm_traces/attributes_client.py +8 -8
  52. oci/apm_traces/query_client.py +2 -2
  53. oci/apm_traces/trace_client.py +4 -4
  54. oci/appmgmt_control/appmgmt_control_client.py +8 -8
  55. oci/artifacts/artifacts_client.py +32 -32
  56. oci/audit/audit_client.py +3 -3
  57. oci/autoscaling/auto_scaling_client.py +11 -11
  58. oci/bastion/bastion_client.py +15 -15
  59. oci/bds/bds_client.py +72 -72
  60. oci/blockchain/blockchain_platform_client.py +27 -27
  61. oci/budget/budget_client.py +10 -10
  62. oci/capacity_management/capacity_management_client.py +22 -22
  63. oci/certificates/certificates_client.py +5 -5
  64. oci/certificates_management/certificates_management_client.py +32 -32
  65. oci/cims/incident_client.py +8 -8
  66. oci/cims/user_client.py +1 -1
  67. oci/cloud_bridge/common_client.py +5 -5
  68. oci/cloud_bridge/discovery_client.py +14 -14
  69. oci/cloud_bridge/inventory_client.py +16 -16
  70. oci/cloud_bridge/ocb_agent_svc_client.py +23 -23
  71. oci/cloud_guard/cloud_guard_client.py +155 -155
  72. oci/cloud_migrations/migration_client.py +43 -43
  73. oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
  74. oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
  75. oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
  76. oci/compute_instance_agent/plugin_client.py +2 -2
  77. oci/compute_instance_agent/pluginconfig_client.py +1 -1
  78. oci/container_engine/container_engine_client.py +44 -44
  79. oci/container_instances/container_instance_client.py +18 -18
  80. oci/core/blockstorage_client.py +60 -60
  81. oci/core/compute_client.py +102 -102
  82. oci/core/compute_management_client.py +32 -32
  83. oci/core/virtual_network_client.py +247 -247
  84. oci/dashboard_service/dashboard_client.py +6 -6
  85. oci/dashboard_service/dashboard_group_client.py +6 -6
  86. oci/data_catalog/data_catalog_client.py +149 -149
  87. oci/data_flow/data_flow_client.py +42 -42
  88. oci/data_integration/data_integration_client.py +163 -163
  89. oci/data_labeling_service/data_labeling_management_client.py +17 -17
  90. oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
  91. oci/data_safe/data_safe_client.py +287 -287
  92. oci/data_science/data_science_client.py +91 -91
  93. oci/database/database_client.py +13862 -9467
  94. oci/database/database_client_composite_operations.py +1868 -232
  95. oci/database/models/__init__.py +80 -0
  96. oci/database/models/action_member.py +134 -0
  97. oci/database/models/action_order_details.py +107 -0
  98. oci/database/models/action_param_values_collection.py +72 -0
  99. oci/database/models/action_param_values_summary.py +216 -0
  100. oci/database/models/autonomous_database.py +33 -6
  101. oci/database/models/autonomous_database_standby_summary.py +33 -2
  102. oci/database/models/autonomous_database_summary.py +33 -6
  103. oci/database/models/cancel_execution_window_details.py +134 -0
  104. oci/database/models/change_scheduling_plan_compartment_details.py +76 -0
  105. oci/database/models/change_scheduling_policy_compartment_details.py +76 -0
  106. oci/database/models/cloud_exadata_infrastructure.py +33 -2
  107. oci/database/models/cloud_exadata_infrastructure_summary.py +33 -2
  108. oci/database/models/create_autonomous_database_base.py +2 -6
  109. oci/database/models/create_data_guard_association_with_new_db_system_details.py +35 -0
  110. oci/database/models/create_exadb_vm_cluster_details.py +12 -2
  111. oci/database/models/create_execution_action_details.py +304 -0
  112. oci/database/models/create_execution_window_details.py +282 -0
  113. oci/database/models/create_pluggable_database_creation_type_details.py +0 -2
  114. oci/database/models/create_scheduled_action_details.py +339 -0
  115. oci/database/models/create_scheduling_plan_details.py +306 -0
  116. oci/database/models/create_scheduling_policy_details.py +267 -0
  117. oci/database/models/create_scheduling_window_details.py +181 -0
  118. oci/database/models/exadata_infrastructure.py +33 -2
  119. oci/database/models/exadata_infrastructure_summary.py +33 -2
  120. oci/database/models/exadb_vm_cluster.py +12 -2
  121. oci/database/models/exadb_vm_cluster_summary.py +12 -2
  122. oci/database/models/execution_action.py +715 -0
  123. oci/database/models/execution_action_member.py +216 -0
  124. oci/database/models/execution_action_summary.py +715 -0
  125. oci/database/models/execution_window.py +783 -0
  126. oci/database/models/execution_window_summary.py +783 -0
  127. oci/database/models/granular_maintenance_history_details.py +99 -0
  128. oci/database/models/maintenance_run.py +62 -0
  129. oci/database/models/maintenance_run_history.py +64 -2
  130. oci/database/models/maintenance_run_history_summary.py +64 -2
  131. oci/database/models/maintenance_run_summary.py +62 -0
  132. oci/database/models/move_execution_action_member_details.py +220 -0
  133. oci/database/models/recommended_scheduled_action_summary.py +280 -0
  134. oci/database/models/recommended_scheduled_actions_collection.py +72 -0
  135. oci/database/models/reorder_execution_action_details.py +152 -0
  136. oci/database/models/reorder_scheduled_actions_details.py +109 -0
  137. oci/database/models/scheduled_action.py +633 -0
  138. oci/database/models/scheduled_action_collection.py +72 -0
  139. oci/database/models/scheduled_action_summary.py +633 -0
  140. oci/database/models/scheduling_plan.py +643 -0
  141. oci/database/models/scheduling_plan_collection.py +72 -0
  142. oci/database/models/scheduling_plan_summary.py +643 -0
  143. oci/database/models/scheduling_policy.py +493 -0
  144. oci/database/models/scheduling_policy_summary.py +493 -0
  145. oci/database/models/scheduling_window.py +469 -0
  146. oci/database/models/scheduling_window_summary.py +469 -0
  147. oci/database/models/update_autonomous_database_details.py +2 -6
  148. oci/database/models/update_exadb_vm_cluster_details.py +12 -2
  149. oci/database/models/update_execution_action_details.py +218 -0
  150. oci/database/models/update_execution_window_details.py +212 -0
  151. oci/database/models/update_scheduled_action_details.py +140 -0
  152. oci/database/models/update_scheduling_policy_details.py +232 -0
  153. oci/database/models/update_scheduling_window_details.py +146 -0
  154. oci/database/models/window_preference_detail.py +231 -0
  155. oci/database_management/db_management_client.py +580 -208
  156. oci/database_management/db_management_client_composite_operations.py +132 -0
  157. oci/database_management/diagnosability_client.py +4 -4
  158. oci/database_management/managed_my_sql_databases_client.py +7 -7
  159. oci/database_management/models/__init__.py +14 -0
  160. oci/database_management/models/autonomous_database_diagnostics_and_management_feature_details.py +65 -0
  161. oci/database_management/models/autonomous_database_feature_details.py +167 -0
  162. oci/database_management/models/autonomous_database_sql_watch_feature_details.py +65 -0
  163. oci/database_management/models/connector_details.py +15 -3
  164. oci/database_management/models/create_db_management_private_endpoint_details.py +31 -0
  165. oci/database_management/models/db_management_private_endpoint.py +31 -0
  166. oci/database_management/models/direct_connector_details.py +51 -0
  167. oci/database_management/models/disable_autonomous_database_management_feature_details.py +92 -0
  168. oci/database_management/models/enable_autonomous_database_management_feature_details.py +68 -0
  169. oci/database_management/models/external_connector_details.py +1 -1
  170. oci/database_management/models/macs_connector_details.py +1 -1
  171. oci/database_management/models/modify_autonomous_database_management_feature_details.py +68 -0
  172. oci/database_management/models/optimizer_statistics_collection_operation.py +7 -3
  173. oci/database_management/models/optimizer_statistics_collection_operation_summary.py +7 -3
  174. oci/database_management/models/private_end_point_connector_details.py +1 -1
  175. oci/database_management/perfhub_client.py +1 -1
  176. oci/database_management/sql_tuning_client.py +17 -17
  177. oci/database_migration/database_migration_client.py +42 -42
  178. oci/database_tools/database_tools_client.py +23 -23
  179. oci/delegate_access_control/__init__.py +16 -0
  180. oci/delegate_access_control/delegate_access_control_client.py +3324 -0
  181. oci/delegate_access_control/delegate_access_control_client_composite_operations.py +492 -0
  182. oci/delegate_access_control/models/__init__.py +96 -0
  183. oci/delegate_access_control/models/approve_delegated_resource_access_request_details.py +138 -0
  184. oci/delegate_access_control/models/change_delegation_control_compartment_details.py +72 -0
  185. oci/delegate_access_control/models/change_delegation_subscription_compartment_details.py +72 -0
  186. oci/delegate_access_control/models/create_delegation_control_details.py +548 -0
  187. oci/delegate_access_control/models/create_delegation_subscription_details.py +263 -0
  188. oci/delegate_access_control/models/delegated_resource_access_request.py +1373 -0
  189. oci/delegate_access_control/models/delegated_resource_access_request_approval_details.py +263 -0
  190. oci/delegate_access_control/models/delegated_resource_access_request_audit_log_report.py +193 -0
  191. oci/delegate_access_control/models/delegated_resource_access_request_history_collection.py +72 -0
  192. oci/delegate_access_control/models/delegated_resource_access_request_history_summary.py +300 -0
  193. oci/delegate_access_control/models/delegated_resource_access_request_summary.py +981 -0
  194. oci/delegate_access_control/models/delegated_resource_access_request_summary_collection.py +72 -0
  195. oci/delegate_access_control/models/delegation_control.py +833 -0
  196. oci/delegate_access_control/models/delegation_control_resource_collection.py +72 -0
  197. oci/delegate_access_control/models/delegation_control_resource_summary.py +147 -0
  198. oci/delegate_access_control/models/delegation_control_summary.py +465 -0
  199. oci/delegate_access_control/models/delegation_control_summary_collection.py +72 -0
  200. oci/delegate_access_control/models/delegation_subscription.py +524 -0
  201. oci/delegate_access_control/models/delegation_subscription_summary.py +461 -0
  202. oci/delegate_access_control/models/delegation_subscription_summary_collection.py +72 -0
  203. oci/delegate_access_control/models/reject_delegated_resource_access_request_details.py +72 -0
  204. oci/delegate_access_control/models/revoke_delegated_resource_access_request_details.py +72 -0
  205. oci/delegate_access_control/models/service_provider.py +583 -0
  206. oci/delegate_access_control/models/service_provider_action.py +371 -0
  207. oci/delegate_access_control/models/service_provider_action_properties.py +103 -0
  208. oci/delegate_access_control/models/service_provider_action_summary.py +323 -0
  209. oci/delegate_access_control/models/service_provider_action_summary_collection.py +72 -0
  210. oci/delegate_access_control/models/service_provider_interaction_collection.py +72 -0
  211. oci/delegate_access_control/models/service_provider_interaction_request_details.py +72 -0
  212. oci/delegate_access_control/models/service_provider_interaction_summary.py +247 -0
  213. oci/delegate_access_control/models/service_provider_summary.py +508 -0
  214. oci/delegate_access_control/models/service_provider_summary_collection.py +72 -0
  215. oci/delegate_access_control/models/update_delegation_control_details.py +404 -0
  216. oci/delegate_access_control/models/update_delegation_subscription_details.py +154 -0
  217. oci/delegate_access_control/models/work_request.py +438 -0
  218. oci/delegate_access_control/models/work_request_error.py +136 -0
  219. oci/delegate_access_control/models/work_request_error_collection.py +72 -0
  220. oci/delegate_access_control/models/work_request_log_entry.py +103 -0
  221. oci/delegate_access_control/models/work_request_log_entry_collection.py +72 -0
  222. oci/delegate_access_control/models/work_request_resource.py +234 -0
  223. oci/delegate_access_control/models/work_request_summary.py +438 -0
  224. oci/delegate_access_control/models/work_request_summary_collection.py +72 -0
  225. oci/delegate_access_control/work_request_client.py +660 -0
  226. oci/delegate_access_control/work_request_client_composite_operations.py +26 -0
  227. oci/demand_signal/occ_demand_signal_client.py +7 -7
  228. oci/desktops/desktop_service_client.py +21 -21
  229. oci/devops/devops_client.py +141 -141
  230. oci/disaster_recovery/disaster_recovery_client.py +29 -29
  231. oci/dns/dns_client.py +52 -52
  232. oci/dts/appliance_export_job_client.py +6 -6
  233. oci/dts/shipping_vendors_client.py +1 -1
  234. oci/dts/transfer_appliance_client.py +8 -8
  235. oci/dts/transfer_appliance_entitlement_client.py +3 -3
  236. oci/dts/transfer_device_client.py +5 -5
  237. oci/dts/transfer_job_client.py +6 -6
  238. oci/dts/transfer_package_client.py +7 -7
  239. oci/em_warehouse/em_data_lake_client.py +13 -13
  240. oci/em_warehouse/em_warehouse_client.py +13 -13
  241. oci/email/email_client.py +31 -31
  242. oci/email_data_plane/email_dp_client.py +1 -1
  243. oci/events/events_client.py +6 -6
  244. oci/file_storage/file_storage_client.py +393 -59
  245. oci/file_storage/file_storage_client_composite_operations.py +138 -0
  246. oci/file_storage/models/__init__.py +4 -0
  247. oci/file_storage/models/create_mount_target_details.py +39 -26
  248. oci/file_storage/models/mount_target.py +153 -3
  249. oci/file_storage/models/mount_target_summary.py +155 -3
  250. oci/file_storage/models/schedule_downgrade_shape_mount_target_details.py +78 -0
  251. oci/file_storage/models/upgrade_shape_mount_target_details.py +78 -0
  252. oci/fleet_apps_management/fleet_apps_management_admin_client.py +8 -8
  253. oci/fleet_apps_management/fleet_apps_management_client.py +35 -35
  254. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +5 -5
  255. oci/fleet_apps_management/fleet_apps_management_operations_client.py +13 -13
  256. oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +4 -4
  257. oci/fleet_software_update/fleet_software_update_client.py +46 -46
  258. oci/functions/functions_invoke_client.py +1 -1
  259. oci/functions/functions_management_client.py +16 -16
  260. oci/fusion_apps/data_masking_activity_client.py +3 -3
  261. oci/fusion_apps/fusion_applications_client.py +41 -41
  262. oci/fusion_apps/fusion_environment_client.py +15 -15
  263. oci/fusion_apps/fusion_environment_family_client.py +8 -8
  264. oci/fusion_apps/models/fusion_environment_family.py +33 -2
  265. oci/fusion_apps/refresh_activity_client.py +4 -4
  266. oci/fusion_apps/scheduled_activity_client.py +2 -2
  267. oci/fusion_apps/service_attachment_client.py +2 -2
  268. oci/generative_ai/generative_ai_client.py +22 -22
  269. oci/generative_ai_inference/generative_ai_inference_client.py +4 -4
  270. oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
  271. oci/globally_distributed_database/sharded_database_service_client.py +30 -30
  272. oci/golden_gate/golden_gate_client.py +68 -68
  273. oci/governance_rules_control_plane/governance_rule_client.py +15 -15
  274. oci/governance_rules_control_plane/work_request_client.py +5 -5
  275. oci/healthchecks/health_checks_client.py +17 -17
  276. oci/identity/identity_client.py +145 -145
  277. oci/identity_data_plane/dataplane_client.py +2 -2
  278. oci/identity_domains/identity_domains_client.py +307 -307
  279. oci/integration/integration_instance_client.py +16 -16
  280. oci/jms/java_management_service_client.py +75 -75
  281. oci/jms_java_downloads/java_download_client.py +25 -25
  282. oci/key_management/ekm_client.py +5 -5
  283. oci/key_management/kms_crypto_client.py +6 -6
  284. oci/key_management/kms_hsm_cluster_client.py +25 -25
  285. oci/key_management/kms_hsm_cluster_client_composite_operations.py +3 -3
  286. oci/key_management/kms_management_client.py +21 -21
  287. oci/key_management/kms_vault_client.py +14 -14
  288. oci/key_management/models/auto_key_rotation_details.py +10 -10
  289. oci/key_management/models/change_hsm_cluster_compartment_details.py +3 -3
  290. oci/key_management/models/create_hsm_cluster_details.py +5 -5
  291. oci/key_management/models/hsm_cluster.py +4 -4
  292. oci/key_management/models/hsm_cluster_collection.py +2 -2
  293. oci/key_management/models/hsm_cluster_summary.py +3 -3
  294. oci/key_management/models/hsm_partition.py +29 -9
  295. oci/key_management/models/hsm_partition_collection.py +1 -1
  296. oci/key_management/models/hsm_partition_summary.py +11 -7
  297. oci/key_management/models/port_information.py +5 -5
  298. oci/key_management/models/pre_co_user_credentials.py +2 -2
  299. oci/key_management/models/upload_partition_certificates_details.py +5 -5
  300. oci/key_management/models/vault.py +31 -0
  301. oci/license_manager/license_manager_client.py +18 -18
  302. oci/limits/limits_client.py +4 -4
  303. oci/limits/quotas_client.py +7 -7
  304. oci/load_balancer/load_balancer_client.py +61 -61
  305. oci/load_balancer/models/backend.py +4 -0
  306. oci/load_balancer/models/backend_details.py +4 -0
  307. oci/load_balancer/models/backend_set.py +6 -2
  308. oci/load_balancer/models/backend_set_details.py +6 -2
  309. oci/load_balancer/models/create_backend_details.py +4 -0
  310. oci/load_balancer/models/create_backend_set_details.py +6 -2
  311. oci/load_balancer/models/create_load_balancer_details.py +116 -0
  312. oci/load_balancer/models/ip_max_connections.py +8 -2
  313. oci/load_balancer/models/load_balancer.py +100 -0
  314. oci/load_balancer/models/update_backend_details.py +4 -0
  315. oci/load_balancer/models/update_backend_set_details.py +6 -2
  316. oci/load_balancer/models/update_load_balancer_details.py +112 -0
  317. oci/lockbox/lockbox_client.py +24 -24
  318. oci/log_analytics/log_analytics_client.py +193 -193
  319. oci/logging/logging_management_client.py +30 -30
  320. oci/loggingingestion/logging_client.py +1 -1
  321. oci/loggingsearch/log_search_client.py +1 -1
  322. oci/management_agent/management_agent_client.py +28 -28
  323. oci/management_dashboard/dashx_apis_client.py +14 -14
  324. oci/marketplace/account_client.py +2 -2
  325. oci/marketplace/marketplace_client.py +30 -30
  326. oci/marketplace_private_offer/attachment_client.py +5 -5
  327. oci/marketplace_private_offer/offer_client.py +6 -6
  328. oci/marketplace_publisher/attachment_client.py +5 -5
  329. oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
  330. oci/marketplace_publisher/offer_client.py +6 -6
  331. oci/media_services/media_services_client.py +60 -60
  332. oci/media_services/media_stream_client.py +2 -2
  333. oci/monitoring/monitoring_client.py +18 -18
  334. oci/mysql/channels_client.py +7 -7
  335. oci/mysql/db_backups_client.py +7 -7
  336. oci/mysql/db_system_client.py +17 -17
  337. oci/mysql/models/__init__.py +2 -0
  338. oci/mysql/models/create_db_system_details.py +37 -2
  339. oci/mysql/models/customer_contact.py +72 -0
  340. oci/mysql/models/db_system.py +37 -2
  341. oci/mysql/models/update_db_system_details.py +37 -2
  342. oci/mysql/mysqlaas_client.py +7 -7
  343. oci/mysql/replicas_client.py +5 -5
  344. oci/mysql/work_requests_client.py +4 -4
  345. oci/network_firewall/network_firewall_client.py +86 -86
  346. oci/network_load_balancer/network_load_balancer_client.py +34 -34
  347. oci/nosql/nosql_client.py +24 -24
  348. oci/object_storage/models/__init__.py +14 -0
  349. oci/object_storage/models/access_target_details.py +136 -0
  350. oci/object_storage/models/create_private_endpoint_details.py +389 -0
  351. oci/object_storage/models/fqdns.py +99 -0
  352. oci/object_storage/models/prefix_fqdns.py +134 -0
  353. oci/object_storage/models/private_endpoint.py +685 -0
  354. oci/object_storage/models/private_endpoint_summary.py +369 -0
  355. oci/object_storage/models/update_private_endpoint_details.py +216 -0
  356. oci/object_storage/models/work_request.py +15 -3
  357. oci/object_storage/models/work_request_summary.py +15 -3
  358. oci/object_storage/object_storage_client.py +686 -71
  359. oci/object_storage/object_storage_client_composite_operations.py +139 -0
  360. oci/oce/oce_instance_client.py +10 -10
  361. oci/oci_control_center/occ_metrics_client.py +3 -3
  362. oci/ocvp/cluster_client.py +8 -8
  363. oci/ocvp/cluster_client_composite_operations.py +2 -2
  364. oci/ocvp/esxi_host_client.py +9 -9
  365. oci/ocvp/models/cluster.py +35 -2
  366. oci/ocvp/models/cluster_summary.py +35 -2
  367. oci/ocvp/models/datastore_details.py +1 -1
  368. oci/ocvp/models/esxi_host.py +35 -2
  369. oci/ocvp/models/esxi_host_summary.py +35 -2
  370. oci/ocvp/models/sddc.py +35 -2
  371. oci/ocvp/models/sddc_summary.py +35 -2
  372. oci/ocvp/models/supported_host_shape_summary.py +55 -3
  373. oci/ocvp/models/work_request.py +55 -3
  374. oci/ocvp/sddc_client.py +21 -16
  375. oci/ocvp/work_request_client.py +4 -4
  376. oci/oda/management_client.py +59 -59
  377. oci/oda/oda_client.py +17 -17
  378. oci/oda/odapackage_client.py +7 -7
  379. oci/onesubscription/billing_schedule_client.py +1 -1
  380. oci/onesubscription/commitment_client.py +2 -2
  381. oci/onesubscription/computed_usage_client.py +3 -3
  382. oci/onesubscription/invoice_summary_client.py +2 -2
  383. oci/onesubscription/organization_subscription_client.py +1 -1
  384. oci/onesubscription/ratecard_client.py +1 -1
  385. oci/onesubscription/subscribed_service_client.py +2 -2
  386. oci/onesubscription/subscription_client.py +1 -1
  387. oci/ons/notification_control_plane_client.py +6 -6
  388. oci/ons/notification_data_plane_client.py +10 -10
  389. oci/opa/opa_instance_client.py +13 -13
  390. oci/opensearch/opensearch_cluster_backup_client.py +4 -4
  391. oci/opensearch/opensearch_cluster_client.py +14 -14
  392. oci/operator_access_control/access_requests_client.py +10 -10
  393. oci/operator_access_control/operator_actions_client.py +2 -2
  394. oci/operator_access_control/operator_control_assignment_client.py +8 -8
  395. oci/operator_access_control/operator_control_client.py +6 -6
  396. oci/opsi/operations_insights_client.py +177 -177
  397. oci/optimizer/optimizer_client.py +26 -26
  398. oci/os_management/event_client.py +8 -8
  399. oci/os_management/os_management_client.py +69 -69
  400. oci/os_management_hub/event_client.py +8 -8
  401. oci/os_management_hub/lifecycle_environment_client.py +12 -12
  402. oci/os_management_hub/managed_instance_client.py +31 -31
  403. oci/os_management_hub/managed_instance_group_client.py +25 -25
  404. oci/os_management_hub/management_station_client.py +10 -10
  405. oci/os_management_hub/onboarding_client.py +6 -6
  406. oci/os_management_hub/reporting_managed_instance_client.py +3 -3
  407. oci/os_management_hub/scheduled_job_client.py +7 -7
  408. oci/os_management_hub/software_source_client.py +27 -27
  409. oci/os_management_hub/work_request_client.py +4 -4
  410. oci/osp_gateway/address_rule_service_client.py +1 -1
  411. oci/osp_gateway/address_service_client.py +2 -2
  412. oci/osp_gateway/invoice_service_client.py +5 -5
  413. oci/osp_gateway/subscription_service_client.py +5 -5
  414. oci/osub_billing_schedule/billing_schedule_client.py +1 -1
  415. oci/osub_organization_subscription/organization_subscription_client.py +1 -1
  416. oci/osub_subscription/commitment_client.py +2 -2
  417. oci/osub_subscription/ratecard_client.py +1 -1
  418. oci/osub_subscription/subscription_client.py +1 -1
  419. oci/osub_usage/computed_usage_client.py +3 -3
  420. oci/psql/postgresql_client.py +33 -33
  421. oci/queue/queue_admin_client.py +11 -11
  422. oci/queue/queue_client.py +8 -8
  423. oci/recovery/database_recovery_client.py +135 -25
  424. oci/recovery/database_recovery_client_composite_operations.py +42 -0
  425. oci/recovery/models/__init__.py +2 -0
  426. oci/recovery/models/change_protected_database_subscription_details.py +103 -0
  427. oci/recovery/models/create_protected_database_details.py +33 -0
  428. oci/recovery/models/create_protection_policy_details.py +39 -0
  429. oci/recovery/models/protected_database.py +31 -0
  430. oci/recovery/models/protected_database_summary.py +31 -0
  431. oci/recovery/models/protection_policy.py +31 -0
  432. oci/recovery/models/protection_policy_summary.py +31 -0
  433. oci/redis/redis_cluster_client.py +12 -12
  434. oci/resource_manager/resource_manager_client.py +52 -52
  435. oci/resource_scheduler/schedule_client.py +13 -13
  436. oci/resource_search/resource_search_client.py +3 -3
  437. oci/rover/rover_bundle_client.py +8 -8
  438. oci/rover/rover_cluster_client.py +8 -8
  439. oci/rover/rover_entitlement_client.py +6 -6
  440. oci/rover/rover_node_client.py +15 -15
  441. oci/rover/shape_client.py +1 -1
  442. oci/rover/work_requests_client.py +5 -5
  443. oci/sch/connector_plugins_client.py +2 -2
  444. oci/sch/service_connector_client.py +12 -12
  445. oci/secrets/secrets_client.py +3 -3
  446. oci/service_catalog/service_catalog_client.py +26 -26
  447. oci/service_endpoints.py +1 -0
  448. oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
  449. oci/service_mesh/service_mesh_client.py +48 -48
  450. oci/stack_monitoring/stack_monitoring_client.py +64 -64
  451. oci/streaming/stream_admin_client.py +18 -18
  452. oci/streaming/stream_client.py +8 -8
  453. oci/tenant_manager_control_plane/domain_client.py +5 -5
  454. oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
  455. oci/tenant_manager_control_plane/governance_client.py +2 -2
  456. oci/tenant_manager_control_plane/link_client.py +3 -3
  457. oci/tenant_manager_control_plane/orders_client.py +2 -2
  458. oci/tenant_manager_control_plane/organization_client.py +10 -10
  459. oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
  460. oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
  461. oci/tenant_manager_control_plane/subscription_client.py +11 -11
  462. oci/tenant_manager_control_plane/work_request_client.py +4 -4
  463. oci/threat_intelligence/threatintel_client.py +5 -5
  464. oci/usage/resources_client.py +2 -2
  465. oci/usage/rewards_client.py +6 -6
  466. oci/usage/usagelimits_client.py +1 -1
  467. oci/usage_api/usageapi_client.py +33 -33
  468. oci/vault/vaults_client.py +13 -13
  469. oci/vbs_inst/vbs_instance_client.py +10 -10
  470. oci/version.py +1 -1
  471. oci/visual_builder/vb_instance_client.py +13 -13
  472. oci/vn_monitoring/vn_monitoring_client.py +12 -12
  473. oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
  474. oci/waa/waa_client.py +13 -13
  475. oci/waa/work_request_client.py +4 -4
  476. oci/waas/redirect_client.py +6 -6
  477. oci/waas/waas_client.py +66 -66
  478. oci/waf/models/__init__.py +2 -0
  479. oci/waf/models/dynamic_http_response_body.py +104 -0
  480. oci/waf/models/http_response_body.py +11 -3
  481. oci/waf/models/static_text_http_response_body.py +1 -1
  482. oci/waf/waf_client.py +24 -24
  483. oci/work_requests/work_request_client.py +4 -4
  484. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/METADATA +1 -1
  485. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/RECORD +489 -369
  486. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/LICENSE.txt +0 -0
  487. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  488. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/WHEEL +0 -0
  489. {oci-2.132.0.dist-info → oci-2.133.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3324 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2024, 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: 20230801
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 delegate_access_control_type_mapping
20
+ missing = Sentinel("Missing")
21
+
22
+
23
+ class DelegateAccessControlClient(object):
24
+ """
25
+ Oracle Delegate Access Control allows ExaCC and ExaCS customers to delegate management of their Exadata resources operators outside their tenancies.
26
+ With Delegate Access Control, Support Providers can deliver managed services using comprehensive and robust tooling built on the OCI platform.
27
+ Customers maintain control over who has access to the delegated resources in their tenancy and what actions can be taken.
28
+ Enterprises managing resources across multiple tenants can use Delegate Access Control to streamline management tasks.
29
+ Using logging service, customers can view a near real-time audit report of all actions performed by a Service Provider operator.
30
+ """
31
+
32
+ def __init__(self, config, **kwargs):
33
+ """
34
+ Creates a new service client
35
+
36
+ :param dict config:
37
+ Configuration keys and values as per `SDK and Tool Configuration <https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm>`__.
38
+ 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
39
+ the dict using :py:meth:`~oci.config.validate_config`
40
+
41
+ :param str service_endpoint: (optional)
42
+ The endpoint of the service to call using this client. For example ``https://iaas.us-ashburn-1.oraclecloud.com``. If this keyword argument is
43
+ 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
44
+ need to specify a service endpoint.
45
+
46
+ :param timeout: (optional)
47
+ 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
48
+ 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
49
+ a tuple is provided then the first value is used as the connection timeout and the second value as the read timeout.
50
+ :type timeout: float or tuple(float, float)
51
+
52
+ :param signer: (optional)
53
+ 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
54
+ provided in the config parameter.
55
+
56
+ One use case for this parameter is for `Instance Principals authentication <https://docs.cloud.oracle.com/Content/Identity/Tasks/callingservicesfrominstances.htm>`__
57
+ by passing an instance of :py:class:`~oci.auth.signers.InstancePrincipalsSecurityTokenSigner` as the value for this keyword argument
58
+ :type signer: :py:class:`~oci.signer.AbstractBaseSigner`
59
+
60
+ :param obj retry_strategy: (optional)
61
+ 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.
62
+ Retry strategies can also be applied at the operation level by passing a ``retry_strategy`` keyword argument as part of calling the operation.
63
+ Any value provided at the operation level will override whatever is specified at the client level.
64
+
65
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
66
+ 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>`__.
67
+
68
+ :param obj circuit_breaker_strategy: (optional)
69
+ A circuit breaker strategy to apply to all calls made by this service client (i.e. at the client level).
70
+ This client uses :py:data:`~oci.circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY` as default if no circuit breaker strategy is provided.
71
+ The specifics of circuit breaker strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/circuit_breakers.html>`__.
72
+
73
+ :param function circuit_breaker_callback: (optional)
74
+ Callback function to receive any exceptions triggerred by the circuit breaker.
75
+
76
+ :param bool client_level_realm_specific_endpoint_template_enabled: (optional)
77
+ 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.
78
+
79
+ :param allow_control_chars: (optional)
80
+ 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
81
+ allow control characters to be in the response object.
82
+ """
83
+ if not OCI_SDK_ENABLED_SERVICES_SET.is_service_enabled("delegate_access_control"):
84
+ 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")
85
+
86
+ validate_config(config, signer=kwargs.get('signer'))
87
+ if 'signer' in kwargs:
88
+ signer = kwargs['signer']
89
+
90
+ elif AUTHENTICATION_TYPE_FIELD_NAME in config:
91
+ signer = get_signer_from_authentication_type(config)
92
+
93
+ else:
94
+ signer = Signer(
95
+ tenancy=config["tenancy"],
96
+ user=config["user"],
97
+ fingerprint=config["fingerprint"],
98
+ private_key_file_location=config.get("key_file"),
99
+ pass_phrase=get_config_value_or_default(config, "pass_phrase"),
100
+ private_key_content=config.get("key_content")
101
+ )
102
+
103
+ base_client_init_kwargs = {
104
+ 'regional_client': True,
105
+ 'service_endpoint': kwargs.get('service_endpoint'),
106
+ 'base_path': '/20230801',
107
+ 'service_endpoint_template': 'https://delegate-access-control.{region}.oci.{secondLevelDomain}',
108
+ 'service_endpoint_template_per_realm': { }, # noqa: E201 E202
109
+ 'skip_deserialization': kwargs.get('skip_deserialization', False),
110
+ 'circuit_breaker_strategy': kwargs.get('circuit_breaker_strategy', circuit_breaker.GLOBAL_CIRCUIT_BREAKER_STRATEGY),
111
+ 'client_level_realm_specific_endpoint_template_enabled': kwargs.get('client_level_realm_specific_endpoint_template_enabled')
112
+ }
113
+ if 'timeout' in kwargs:
114
+ base_client_init_kwargs['timeout'] = kwargs.get('timeout')
115
+ if base_client_init_kwargs.get('circuit_breaker_strategy') is None:
116
+ base_client_init_kwargs['circuit_breaker_strategy'] = circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY
117
+ if 'allow_control_chars' in kwargs:
118
+ base_client_init_kwargs['allow_control_chars'] = kwargs.get('allow_control_chars')
119
+ self.base_client = BaseClient("delegate_access_control", config, signer, delegate_access_control_type_mapping, **base_client_init_kwargs)
120
+ self.retry_strategy = kwargs.get('retry_strategy')
121
+ self.circuit_breaker_callback = kwargs.get('circuit_breaker_callback')
122
+
123
+ def approve_delegated_resource_access_request(self, delegated_resource_access_request_id, approve_delegated_resource_access_request_details, **kwargs):
124
+ """
125
+ Approves a Delegated Resource Access Request.
126
+
127
+
128
+ :param str delegated_resource_access_request_id: (required)
129
+ Unique Delegated Resource Access Request identifier
130
+
131
+ :param oci.delegate_access_control.models.ApproveDelegatedResourceAccessRequestDetails approve_delegated_resource_access_request_details: (required)
132
+ Details regarding the approval of a Delegated Resource Access Request created by the support operator.
133
+
134
+ :param str opc_retry_token: (optional)
135
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
136
+ server error without risk of executing that same action again. Retry tokens expire after 24
137
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
138
+ has been deleted and purged from the system, then a retry of the original creation request
139
+ might be rejected.
140
+
141
+ :param str if_match: (optional)
142
+ For optimistic concurrency control. In the PUT or DELETE call
143
+ for a resource, set the `if-match` parameter to the value of the
144
+ etag from a previous GET or POST response for that resource.
145
+ The resource will be updated or deleted only if the etag you
146
+ provide matches the resource's current etag value.
147
+
148
+ :param str opc_request_id: (optional)
149
+ The client request ID for tracing.
150
+
151
+ :param obj retry_strategy: (optional)
152
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
153
+
154
+ 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.
155
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
156
+
157
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
158
+
159
+ :param bool allow_control_chars: (optional)
160
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
161
+ By default, the response will not allow control characters in strings
162
+
163
+ :return: A :class:`~oci.response.Response` object with data of type None
164
+ :rtype: :class:`~oci.response.Response`
165
+
166
+ :example:
167
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/approve_delegated_resource_access_request.py.html>`__ to see an example of how to use approve_delegated_resource_access_request API.
168
+ """
169
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
170
+ required_arguments = ['delegatedResourceAccessRequestId']
171
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/actions/approve"
172
+ method = "POST"
173
+ operation_name = "approve_delegated_resource_access_request"
174
+ api_reference_link = ""
175
+
176
+ # Don't accept unknown kwargs
177
+ expected_kwargs = [
178
+ "allow_control_chars",
179
+ "retry_strategy",
180
+ "opc_retry_token",
181
+ "if_match",
182
+ "opc_request_id"
183
+ ]
184
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
185
+ if extra_kwargs:
186
+ raise ValueError(
187
+ f"approve_delegated_resource_access_request got unknown kwargs: {extra_kwargs!r}")
188
+
189
+ path_params = {
190
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
191
+ }
192
+
193
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
194
+
195
+ for (k, v) in six.iteritems(path_params):
196
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
197
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
198
+
199
+ header_params = {
200
+ "accept": "application/json",
201
+ "content-type": "application/json",
202
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
203
+ "if-match": kwargs.get("if_match", missing),
204
+ "opc-request-id": kwargs.get("opc_request_id", missing)
205
+ }
206
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
207
+
208
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
209
+ operation_retry_strategy=kwargs.get('retry_strategy'),
210
+ client_retry_strategy=self.retry_strategy
211
+ )
212
+ if retry_strategy is None:
213
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
214
+
215
+ if retry_strategy:
216
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
217
+ self.base_client.add_opc_retry_token_if_needed(header_params)
218
+ self.base_client.add_opc_client_retries_header(header_params)
219
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
220
+ return retry_strategy.make_retrying_call(
221
+ self.base_client.call_api,
222
+ resource_path=resource_path,
223
+ method=method,
224
+ path_params=path_params,
225
+ header_params=header_params,
226
+ body=approve_delegated_resource_access_request_details,
227
+ allow_control_chars=kwargs.get('allow_control_chars'),
228
+ operation_name=operation_name,
229
+ api_reference_link=api_reference_link,
230
+ required_arguments=required_arguments)
231
+ else:
232
+ return self.base_client.call_api(
233
+ resource_path=resource_path,
234
+ method=method,
235
+ path_params=path_params,
236
+ header_params=header_params,
237
+ body=approve_delegated_resource_access_request_details,
238
+ allow_control_chars=kwargs.get('allow_control_chars'),
239
+ operation_name=operation_name,
240
+ api_reference_link=api_reference_link,
241
+ required_arguments=required_arguments)
242
+
243
+ def change_delegation_control_compartment(self, delegation_control_id, change_delegation_control_compartment_details, **kwargs):
244
+ """
245
+ Moves the Delegation Control resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource.
246
+
247
+
248
+ :param str delegation_control_id: (required)
249
+ unique Delegation Control identifier
250
+
251
+ :param oci.delegate_access_control.models.ChangeDelegationControlCompartmentDetails change_delegation_control_compartment_details: (required)
252
+ Moves the Delegation Control resource into a different compartment.
253
+
254
+ :param str opc_retry_token: (optional)
255
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
256
+ server error without risk of executing that same action again. Retry tokens expire after 24
257
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
258
+ has been deleted and purged from the system, then a retry of the original creation request
259
+ might be rejected.
260
+
261
+ :param str if_match: (optional)
262
+ For optimistic concurrency control. In the PUT or DELETE call
263
+ for a resource, set the `if-match` parameter to the value of the
264
+ etag from a previous GET or POST response for that resource.
265
+ The resource will be updated or deleted only if the etag you
266
+ provide matches the resource's current etag value.
267
+
268
+ :param str opc_request_id: (optional)
269
+ The client request ID for tracing.
270
+
271
+ :param obj retry_strategy: (optional)
272
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
273
+
274
+ 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.
275
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
276
+
277
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
278
+
279
+ :param bool allow_control_chars: (optional)
280
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
281
+ By default, the response will not allow control characters in strings
282
+
283
+ :return: A :class:`~oci.response.Response` object with data of type None
284
+ :rtype: :class:`~oci.response.Response`
285
+
286
+ :example:
287
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/change_delegation_control_compartment.py.html>`__ to see an example of how to use change_delegation_control_compartment API.
288
+ """
289
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
290
+ required_arguments = ['delegationControlId']
291
+ resource_path = "/delegationControls/{delegationControlId}/actions/changeCompartment"
292
+ method = "POST"
293
+ operation_name = "change_delegation_control_compartment"
294
+ api_reference_link = ""
295
+
296
+ # Don't accept unknown kwargs
297
+ expected_kwargs = [
298
+ "allow_control_chars",
299
+ "retry_strategy",
300
+ "opc_retry_token",
301
+ "if_match",
302
+ "opc_request_id"
303
+ ]
304
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
305
+ if extra_kwargs:
306
+ raise ValueError(
307
+ f"change_delegation_control_compartment got unknown kwargs: {extra_kwargs!r}")
308
+
309
+ path_params = {
310
+ "delegationControlId": delegation_control_id
311
+ }
312
+
313
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
314
+
315
+ for (k, v) in six.iteritems(path_params):
316
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
317
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
318
+
319
+ header_params = {
320
+ "accept": "application/json",
321
+ "content-type": "application/json",
322
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
323
+ "if-match": kwargs.get("if_match", missing),
324
+ "opc-request-id": kwargs.get("opc_request_id", missing)
325
+ }
326
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
327
+
328
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
329
+ operation_retry_strategy=kwargs.get('retry_strategy'),
330
+ client_retry_strategy=self.retry_strategy
331
+ )
332
+ if retry_strategy is None:
333
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
334
+
335
+ if retry_strategy:
336
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
337
+ self.base_client.add_opc_retry_token_if_needed(header_params)
338
+ self.base_client.add_opc_client_retries_header(header_params)
339
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
340
+ return retry_strategy.make_retrying_call(
341
+ self.base_client.call_api,
342
+ resource_path=resource_path,
343
+ method=method,
344
+ path_params=path_params,
345
+ header_params=header_params,
346
+ body=change_delegation_control_compartment_details,
347
+ allow_control_chars=kwargs.get('allow_control_chars'),
348
+ operation_name=operation_name,
349
+ api_reference_link=api_reference_link,
350
+ required_arguments=required_arguments)
351
+ else:
352
+ return self.base_client.call_api(
353
+ resource_path=resource_path,
354
+ method=method,
355
+ path_params=path_params,
356
+ header_params=header_params,
357
+ body=change_delegation_control_compartment_details,
358
+ allow_control_chars=kwargs.get('allow_control_chars'),
359
+ operation_name=operation_name,
360
+ api_reference_link=api_reference_link,
361
+ required_arguments=required_arguments)
362
+
363
+ def change_delegation_subscription_compartment(self, delegation_subscription_id, change_delegation_subscription_compartment_details, **kwargs):
364
+ """
365
+ Moves the Delegation Subscription resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource.
366
+
367
+
368
+ :param str delegation_subscription_id: (required)
369
+ unique Delegation Subscription identifier
370
+
371
+ :param oci.delegate_access_control.models.ChangeDelegationSubscriptionCompartmentDetails change_delegation_subscription_compartment_details: (required)
372
+ Moves the Delegation Subscription resource into a different compartment.
373
+
374
+ :param str opc_retry_token: (optional)
375
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
376
+ server error without risk of executing that same action again. Retry tokens expire after 24
377
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
378
+ has been deleted and purged from the system, then a retry of the original creation request
379
+ might be rejected.
380
+
381
+ :param str if_match: (optional)
382
+ For optimistic concurrency control. In the PUT or DELETE call
383
+ for a resource, set the `if-match` parameter to the value of the
384
+ etag from a previous GET or POST response for that resource.
385
+ The resource will be updated or deleted only if the etag you
386
+ provide matches the resource's current etag value.
387
+
388
+ :param str opc_request_id: (optional)
389
+ The client request ID for tracing.
390
+
391
+ :param obj retry_strategy: (optional)
392
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
393
+
394
+ 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.
395
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
396
+
397
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
398
+
399
+ :param bool allow_control_chars: (optional)
400
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
401
+ By default, the response will not allow control characters in strings
402
+
403
+ :return: A :class:`~oci.response.Response` object with data of type None
404
+ :rtype: :class:`~oci.response.Response`
405
+
406
+ :example:
407
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/change_delegation_subscription_compartment.py.html>`__ to see an example of how to use change_delegation_subscription_compartment API.
408
+ """
409
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
410
+ required_arguments = ['delegationSubscriptionId']
411
+ resource_path = "/delegationSubscriptions/{delegationSubscriptionId}/actions/changeCompartment"
412
+ method = "POST"
413
+ operation_name = "change_delegation_subscription_compartment"
414
+ api_reference_link = ""
415
+
416
+ # Don't accept unknown kwargs
417
+ expected_kwargs = [
418
+ "allow_control_chars",
419
+ "retry_strategy",
420
+ "opc_retry_token",
421
+ "if_match",
422
+ "opc_request_id"
423
+ ]
424
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
425
+ if extra_kwargs:
426
+ raise ValueError(
427
+ f"change_delegation_subscription_compartment got unknown kwargs: {extra_kwargs!r}")
428
+
429
+ path_params = {
430
+ "delegationSubscriptionId": delegation_subscription_id
431
+ }
432
+
433
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
434
+
435
+ for (k, v) in six.iteritems(path_params):
436
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
437
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
438
+
439
+ header_params = {
440
+ "accept": "application/json",
441
+ "content-type": "application/json",
442
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
443
+ "if-match": kwargs.get("if_match", missing),
444
+ "opc-request-id": kwargs.get("opc_request_id", missing)
445
+ }
446
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
447
+
448
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
449
+ operation_retry_strategy=kwargs.get('retry_strategy'),
450
+ client_retry_strategy=self.retry_strategy
451
+ )
452
+ if retry_strategy is None:
453
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
454
+
455
+ if retry_strategy:
456
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
457
+ self.base_client.add_opc_retry_token_if_needed(header_params)
458
+ self.base_client.add_opc_client_retries_header(header_params)
459
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
460
+ return retry_strategy.make_retrying_call(
461
+ self.base_client.call_api,
462
+ resource_path=resource_path,
463
+ method=method,
464
+ path_params=path_params,
465
+ header_params=header_params,
466
+ body=change_delegation_subscription_compartment_details,
467
+ allow_control_chars=kwargs.get('allow_control_chars'),
468
+ operation_name=operation_name,
469
+ api_reference_link=api_reference_link,
470
+ required_arguments=required_arguments)
471
+ else:
472
+ return self.base_client.call_api(
473
+ resource_path=resource_path,
474
+ method=method,
475
+ path_params=path_params,
476
+ header_params=header_params,
477
+ body=change_delegation_subscription_compartment_details,
478
+ allow_control_chars=kwargs.get('allow_control_chars'),
479
+ operation_name=operation_name,
480
+ api_reference_link=api_reference_link,
481
+ required_arguments=required_arguments)
482
+
483
+ def create_delegation_control(self, create_delegation_control_details, **kwargs):
484
+ """
485
+ Creates a Delegation Control.
486
+
487
+
488
+ :param oci.delegate_access_control.models.CreateDelegationControlDetails create_delegation_control_details: (required)
489
+ Details for the new Delegation Control.
490
+
491
+ :param str opc_retry_token: (optional)
492
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
493
+ server error without risk of executing that same action again. Retry tokens expire after 24
494
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
495
+ has been deleted and purged from the system, then a retry of the original creation request
496
+ might be rejected.
497
+
498
+ :param str opc_request_id: (optional)
499
+ The client request ID for tracing.
500
+
501
+ :param obj retry_strategy: (optional)
502
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
503
+
504
+ 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.
505
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
506
+
507
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
508
+
509
+ :param bool allow_control_chars: (optional)
510
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
511
+ By default, the response will not allow control characters in strings
512
+
513
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationControl`
514
+ :rtype: :class:`~oci.response.Response`
515
+
516
+ :example:
517
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/create_delegation_control.py.html>`__ to see an example of how to use create_delegation_control API.
518
+ """
519
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
520
+ required_arguments = []
521
+ resource_path = "/delegationControls"
522
+ method = "POST"
523
+ operation_name = "create_delegation_control"
524
+ api_reference_link = ""
525
+
526
+ # Don't accept unknown kwargs
527
+ expected_kwargs = [
528
+ "allow_control_chars",
529
+ "retry_strategy",
530
+ "opc_retry_token",
531
+ "opc_request_id"
532
+ ]
533
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
534
+ if extra_kwargs:
535
+ raise ValueError(
536
+ f"create_delegation_control got unknown kwargs: {extra_kwargs!r}")
537
+
538
+ header_params = {
539
+ "accept": "application/json",
540
+ "content-type": "application/json",
541
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
542
+ "opc-request-id": kwargs.get("opc_request_id", missing)
543
+ }
544
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
545
+
546
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
547
+ operation_retry_strategy=kwargs.get('retry_strategy'),
548
+ client_retry_strategy=self.retry_strategy
549
+ )
550
+ if retry_strategy is None:
551
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
552
+
553
+ if retry_strategy:
554
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
555
+ self.base_client.add_opc_retry_token_if_needed(header_params)
556
+ self.base_client.add_opc_client_retries_header(header_params)
557
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
558
+ return retry_strategy.make_retrying_call(
559
+ self.base_client.call_api,
560
+ resource_path=resource_path,
561
+ method=method,
562
+ header_params=header_params,
563
+ body=create_delegation_control_details,
564
+ response_type="DelegationControl",
565
+ allow_control_chars=kwargs.get('allow_control_chars'),
566
+ operation_name=operation_name,
567
+ api_reference_link=api_reference_link,
568
+ required_arguments=required_arguments)
569
+ else:
570
+ return self.base_client.call_api(
571
+ resource_path=resource_path,
572
+ method=method,
573
+ header_params=header_params,
574
+ body=create_delegation_control_details,
575
+ response_type="DelegationControl",
576
+ allow_control_chars=kwargs.get('allow_control_chars'),
577
+ operation_name=operation_name,
578
+ api_reference_link=api_reference_link,
579
+ required_arguments=required_arguments)
580
+
581
+ def create_delegation_subscription(self, create_delegation_subscription_details, **kwargs):
582
+ """
583
+ Creates Delegation Subscription in Delegation Control.
584
+
585
+
586
+ :param oci.delegate_access_control.models.CreateDelegationSubscriptionDetails create_delegation_subscription_details: (required)
587
+ Details for creating Delegation Subscription in Delegation Control.
588
+
589
+ :param str opc_retry_token: (optional)
590
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
591
+ server error without risk of executing that same action again. Retry tokens expire after 24
592
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
593
+ has been deleted and purged from the system, then a retry of the original creation request
594
+ might be rejected.
595
+
596
+ :param str opc_request_id: (optional)
597
+ The client request ID for tracing.
598
+
599
+ :param obj retry_strategy: (optional)
600
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
601
+
602
+ 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.
603
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
604
+
605
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
606
+
607
+ :param bool allow_control_chars: (optional)
608
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
609
+ By default, the response will not allow control characters in strings
610
+
611
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationSubscription`
612
+ :rtype: :class:`~oci.response.Response`
613
+
614
+ :example:
615
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/create_delegation_subscription.py.html>`__ to see an example of how to use create_delegation_subscription API.
616
+ """
617
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
618
+ required_arguments = []
619
+ resource_path = "/delegationSubscriptions"
620
+ method = "POST"
621
+ operation_name = "create_delegation_subscription"
622
+ api_reference_link = ""
623
+
624
+ # Don't accept unknown kwargs
625
+ expected_kwargs = [
626
+ "allow_control_chars",
627
+ "retry_strategy",
628
+ "opc_retry_token",
629
+ "opc_request_id"
630
+ ]
631
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
632
+ if extra_kwargs:
633
+ raise ValueError(
634
+ f"create_delegation_subscription got unknown kwargs: {extra_kwargs!r}")
635
+
636
+ header_params = {
637
+ "accept": "application/json",
638
+ "content-type": "application/json",
639
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
640
+ "opc-request-id": kwargs.get("opc_request_id", missing)
641
+ }
642
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
643
+
644
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
645
+ operation_retry_strategy=kwargs.get('retry_strategy'),
646
+ client_retry_strategy=self.retry_strategy
647
+ )
648
+ if retry_strategy is None:
649
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
650
+
651
+ if retry_strategy:
652
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
653
+ self.base_client.add_opc_retry_token_if_needed(header_params)
654
+ self.base_client.add_opc_client_retries_header(header_params)
655
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
656
+ return retry_strategy.make_retrying_call(
657
+ self.base_client.call_api,
658
+ resource_path=resource_path,
659
+ method=method,
660
+ header_params=header_params,
661
+ body=create_delegation_subscription_details,
662
+ response_type="DelegationSubscription",
663
+ allow_control_chars=kwargs.get('allow_control_chars'),
664
+ operation_name=operation_name,
665
+ api_reference_link=api_reference_link,
666
+ required_arguments=required_arguments)
667
+ else:
668
+ return self.base_client.call_api(
669
+ resource_path=resource_path,
670
+ method=method,
671
+ header_params=header_params,
672
+ body=create_delegation_subscription_details,
673
+ response_type="DelegationSubscription",
674
+ allow_control_chars=kwargs.get('allow_control_chars'),
675
+ operation_name=operation_name,
676
+ api_reference_link=api_reference_link,
677
+ required_arguments=required_arguments)
678
+
679
+ def delete_delegation_control(self, delegation_control_id, **kwargs):
680
+ """
681
+ Deletes a Delegation Control. You cannot delete a Delegation Control if it is assigned to govern any target resource currently or in the future.
682
+ In that case, first, delete all of the current and future assignments before deleting the Delegation Control. A Delegation Control that was previously assigned to a target
683
+ resource is marked as DELETED following a successful deletion. However, it is not completely deleted from the system. This is to ensure auditing information for the accesses
684
+ done under the Delegation Control is preserved for future needs. The system purges the deleted Delegation Control only when all of the audit data associated with the
685
+ Delegation Control are also deleted. Therefore, you cannot reuse the name of the deleted Delegation Control until the system purges the Delegation Control.
686
+
687
+
688
+ :param str delegation_control_id: (required)
689
+ unique Delegation Control identifier
690
+
691
+ :param str description: (optional)
692
+ Reason why this Delegation Control is deleted.
693
+
694
+ :param str if_match: (optional)
695
+ For optimistic concurrency control. In the PUT or DELETE call
696
+ for a resource, set the `if-match` parameter to the value of the
697
+ etag from a previous GET or POST response for that resource.
698
+ The resource will be updated or deleted only if the etag you
699
+ provide matches the resource's current etag value.
700
+
701
+ :param str opc_request_id: (optional)
702
+ The client request ID for tracing.
703
+
704
+ :param obj retry_strategy: (optional)
705
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
706
+
707
+ 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.
708
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
709
+
710
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
711
+
712
+ :param bool allow_control_chars: (optional)
713
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
714
+ By default, the response will not allow control characters in strings
715
+
716
+ :return: A :class:`~oci.response.Response` object with data of type None
717
+ :rtype: :class:`~oci.response.Response`
718
+
719
+ :example:
720
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/delete_delegation_control.py.html>`__ to see an example of how to use delete_delegation_control API.
721
+ """
722
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
723
+ required_arguments = ['delegationControlId']
724
+ resource_path = "/delegationControls/{delegationControlId}"
725
+ method = "DELETE"
726
+ operation_name = "delete_delegation_control"
727
+ api_reference_link = ""
728
+
729
+ # Don't accept unknown kwargs
730
+ expected_kwargs = [
731
+ "allow_control_chars",
732
+ "retry_strategy",
733
+ "description",
734
+ "if_match",
735
+ "opc_request_id"
736
+ ]
737
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
738
+ if extra_kwargs:
739
+ raise ValueError(
740
+ f"delete_delegation_control got unknown kwargs: {extra_kwargs!r}")
741
+
742
+ path_params = {
743
+ "delegationControlId": delegation_control_id
744
+ }
745
+
746
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
747
+
748
+ for (k, v) in six.iteritems(path_params):
749
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
750
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
751
+
752
+ query_params = {
753
+ "description": kwargs.get("description", missing)
754
+ }
755
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
756
+
757
+ header_params = {
758
+ "accept": "application/json",
759
+ "content-type": "application/json",
760
+ "if-match": kwargs.get("if_match", missing),
761
+ "opc-request-id": kwargs.get("opc_request_id", missing)
762
+ }
763
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
764
+
765
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
766
+ operation_retry_strategy=kwargs.get('retry_strategy'),
767
+ client_retry_strategy=self.retry_strategy
768
+ )
769
+ if retry_strategy is None:
770
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
771
+
772
+ if retry_strategy:
773
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
774
+ self.base_client.add_opc_client_retries_header(header_params)
775
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
776
+ return retry_strategy.make_retrying_call(
777
+ self.base_client.call_api,
778
+ resource_path=resource_path,
779
+ method=method,
780
+ path_params=path_params,
781
+ query_params=query_params,
782
+ header_params=header_params,
783
+ allow_control_chars=kwargs.get('allow_control_chars'),
784
+ operation_name=operation_name,
785
+ api_reference_link=api_reference_link,
786
+ required_arguments=required_arguments)
787
+ else:
788
+ return self.base_client.call_api(
789
+ resource_path=resource_path,
790
+ method=method,
791
+ path_params=path_params,
792
+ query_params=query_params,
793
+ header_params=header_params,
794
+ allow_control_chars=kwargs.get('allow_control_chars'),
795
+ operation_name=operation_name,
796
+ api_reference_link=api_reference_link,
797
+ required_arguments=required_arguments)
798
+
799
+ def delete_delegation_subscription(self, delegation_subscription_id, **kwargs):
800
+ """
801
+ eletes an Delegation Subscription in Delegation Control.
802
+
803
+
804
+ :param str delegation_subscription_id: (required)
805
+ unique Delegation Subscription identifier
806
+
807
+ :param str if_match: (optional)
808
+ For optimistic concurrency control. In the PUT or DELETE call
809
+ for a resource, set the `if-match` parameter to the value of the
810
+ etag from a previous GET or POST response for that resource.
811
+ The resource will be updated or deleted only if the etag you
812
+ provide matches the resource's current etag value.
813
+
814
+ :param str opc_request_id: (optional)
815
+ The client request ID for tracing.
816
+
817
+ :param obj retry_strategy: (optional)
818
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
819
+
820
+ 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.
821
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
822
+
823
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
824
+
825
+ :param bool allow_control_chars: (optional)
826
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
827
+ By default, the response will not allow control characters in strings
828
+
829
+ :return: A :class:`~oci.response.Response` object with data of type None
830
+ :rtype: :class:`~oci.response.Response`
831
+
832
+ :example:
833
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/delete_delegation_subscription.py.html>`__ to see an example of how to use delete_delegation_subscription API.
834
+ """
835
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
836
+ required_arguments = ['delegationSubscriptionId']
837
+ resource_path = "/delegationSubscriptions/{delegationSubscriptionId}"
838
+ method = "DELETE"
839
+ operation_name = "delete_delegation_subscription"
840
+ api_reference_link = ""
841
+
842
+ # Don't accept unknown kwargs
843
+ expected_kwargs = [
844
+ "allow_control_chars",
845
+ "retry_strategy",
846
+ "if_match",
847
+ "opc_request_id"
848
+ ]
849
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
850
+ if extra_kwargs:
851
+ raise ValueError(
852
+ f"delete_delegation_subscription got unknown kwargs: {extra_kwargs!r}")
853
+
854
+ path_params = {
855
+ "delegationSubscriptionId": delegation_subscription_id
856
+ }
857
+
858
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
859
+
860
+ for (k, v) in six.iteritems(path_params):
861
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
862
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
863
+
864
+ header_params = {
865
+ "accept": "application/json",
866
+ "content-type": "application/json",
867
+ "if-match": kwargs.get("if_match", missing),
868
+ "opc-request-id": kwargs.get("opc_request_id", missing)
869
+ }
870
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
871
+
872
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
873
+ operation_retry_strategy=kwargs.get('retry_strategy'),
874
+ client_retry_strategy=self.retry_strategy
875
+ )
876
+ if retry_strategy is None:
877
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
878
+
879
+ if retry_strategy:
880
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
881
+ self.base_client.add_opc_client_retries_header(header_params)
882
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
883
+ return retry_strategy.make_retrying_call(
884
+ self.base_client.call_api,
885
+ resource_path=resource_path,
886
+ method=method,
887
+ path_params=path_params,
888
+ header_params=header_params,
889
+ allow_control_chars=kwargs.get('allow_control_chars'),
890
+ operation_name=operation_name,
891
+ api_reference_link=api_reference_link,
892
+ required_arguments=required_arguments)
893
+ else:
894
+ return self.base_client.call_api(
895
+ resource_path=resource_path,
896
+ method=method,
897
+ path_params=path_params,
898
+ header_params=header_params,
899
+ allow_control_chars=kwargs.get('allow_control_chars'),
900
+ operation_name=operation_name,
901
+ api_reference_link=api_reference_link,
902
+ required_arguments=required_arguments)
903
+
904
+ def get_delegated_resource_access_request(self, delegated_resource_access_request_id, **kwargs):
905
+ """
906
+ Gets details of a Delegated Resource Access Request.
907
+
908
+
909
+ :param str delegated_resource_access_request_id: (required)
910
+ Unique Delegated Resource Access Request identifier
911
+
912
+ :param str opc_request_id: (optional)
913
+ The client request ID for tracing.
914
+
915
+ :param obj retry_strategy: (optional)
916
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
917
+
918
+ 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.
919
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
920
+
921
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
922
+
923
+ :param bool allow_control_chars: (optional)
924
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
925
+ By default, the response will not allow control characters in strings
926
+
927
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegatedResourceAccessRequest`
928
+ :rtype: :class:`~oci.response.Response`
929
+
930
+ :example:
931
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_delegated_resource_access_request.py.html>`__ to see an example of how to use get_delegated_resource_access_request API.
932
+ """
933
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
934
+ required_arguments = ['delegatedResourceAccessRequestId']
935
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}"
936
+ method = "GET"
937
+ operation_name = "get_delegated_resource_access_request"
938
+ api_reference_link = ""
939
+
940
+ # Don't accept unknown kwargs
941
+ expected_kwargs = [
942
+ "allow_control_chars",
943
+ "retry_strategy",
944
+ "opc_request_id"
945
+ ]
946
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
947
+ if extra_kwargs:
948
+ raise ValueError(
949
+ f"get_delegated_resource_access_request got unknown kwargs: {extra_kwargs!r}")
950
+
951
+ path_params = {
952
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
953
+ }
954
+
955
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
956
+
957
+ for (k, v) in six.iteritems(path_params):
958
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
959
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
960
+
961
+ header_params = {
962
+ "accept": "application/json",
963
+ "content-type": "application/json",
964
+ "opc-request-id": kwargs.get("opc_request_id", missing)
965
+ }
966
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
967
+
968
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
969
+ operation_retry_strategy=kwargs.get('retry_strategy'),
970
+ client_retry_strategy=self.retry_strategy
971
+ )
972
+ if retry_strategy is None:
973
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
974
+
975
+ if retry_strategy:
976
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
977
+ self.base_client.add_opc_client_retries_header(header_params)
978
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
979
+ return retry_strategy.make_retrying_call(
980
+ self.base_client.call_api,
981
+ resource_path=resource_path,
982
+ method=method,
983
+ path_params=path_params,
984
+ header_params=header_params,
985
+ response_type="DelegatedResourceAccessRequest",
986
+ allow_control_chars=kwargs.get('allow_control_chars'),
987
+ operation_name=operation_name,
988
+ api_reference_link=api_reference_link,
989
+ required_arguments=required_arguments)
990
+ else:
991
+ return self.base_client.call_api(
992
+ resource_path=resource_path,
993
+ method=method,
994
+ path_params=path_params,
995
+ header_params=header_params,
996
+ response_type="DelegatedResourceAccessRequest",
997
+ allow_control_chars=kwargs.get('allow_control_chars'),
998
+ operation_name=operation_name,
999
+ api_reference_link=api_reference_link,
1000
+ required_arguments=required_arguments)
1001
+
1002
+ def get_delegated_resource_access_request_audit_log_report(self, delegated_resource_access_request_id, **kwargs):
1003
+ """
1004
+ Gets the audit log report for the given Delegated Resource Access Request.
1005
+
1006
+
1007
+ :param str delegated_resource_access_request_id: (required)
1008
+ Unique Delegated Resource Access Request identifier
1009
+
1010
+ :param bool is_process_tree_enabled: (optional)
1011
+ Set to true to enable process tree computation in audit report
1012
+
1013
+ :param str opc_request_id: (optional)
1014
+ The client request ID for tracing.
1015
+
1016
+ :param obj retry_strategy: (optional)
1017
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1018
+
1019
+ 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.
1020
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1021
+
1022
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1023
+
1024
+ :param bool allow_control_chars: (optional)
1025
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1026
+ By default, the response will not allow control characters in strings
1027
+
1028
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegatedResourceAccessRequestAuditLogReport`
1029
+ :rtype: :class:`~oci.response.Response`
1030
+
1031
+ :example:
1032
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_delegated_resource_access_request_audit_log_report.py.html>`__ to see an example of how to use get_delegated_resource_access_request_audit_log_report API.
1033
+ """
1034
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1035
+ required_arguments = ['delegatedResourceAccessRequestId']
1036
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/delegatedResourceAccessRequestAuditLogReport"
1037
+ method = "GET"
1038
+ operation_name = "get_delegated_resource_access_request_audit_log_report"
1039
+ api_reference_link = ""
1040
+
1041
+ # Don't accept unknown kwargs
1042
+ expected_kwargs = [
1043
+ "allow_control_chars",
1044
+ "retry_strategy",
1045
+ "is_process_tree_enabled",
1046
+ "opc_request_id"
1047
+ ]
1048
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1049
+ if extra_kwargs:
1050
+ raise ValueError(
1051
+ f"get_delegated_resource_access_request_audit_log_report got unknown kwargs: {extra_kwargs!r}")
1052
+
1053
+ path_params = {
1054
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
1055
+ }
1056
+
1057
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1058
+
1059
+ for (k, v) in six.iteritems(path_params):
1060
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1061
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1062
+
1063
+ query_params = {
1064
+ "isProcessTreeEnabled": kwargs.get("is_process_tree_enabled", missing)
1065
+ }
1066
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1067
+
1068
+ header_params = {
1069
+ "accept": "application/json",
1070
+ "content-type": "application/json",
1071
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1072
+ }
1073
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1074
+
1075
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1076
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1077
+ client_retry_strategy=self.retry_strategy
1078
+ )
1079
+ if retry_strategy is None:
1080
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1081
+
1082
+ if retry_strategy:
1083
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1084
+ self.base_client.add_opc_client_retries_header(header_params)
1085
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1086
+ return retry_strategy.make_retrying_call(
1087
+ self.base_client.call_api,
1088
+ resource_path=resource_path,
1089
+ method=method,
1090
+ path_params=path_params,
1091
+ query_params=query_params,
1092
+ header_params=header_params,
1093
+ response_type="DelegatedResourceAccessRequestAuditLogReport",
1094
+ allow_control_chars=kwargs.get('allow_control_chars'),
1095
+ operation_name=operation_name,
1096
+ api_reference_link=api_reference_link,
1097
+ required_arguments=required_arguments)
1098
+ else:
1099
+ return self.base_client.call_api(
1100
+ resource_path=resource_path,
1101
+ method=method,
1102
+ path_params=path_params,
1103
+ query_params=query_params,
1104
+ header_params=header_params,
1105
+ response_type="DelegatedResourceAccessRequestAuditLogReport",
1106
+ allow_control_chars=kwargs.get('allow_control_chars'),
1107
+ operation_name=operation_name,
1108
+ api_reference_link=api_reference_link,
1109
+ required_arguments=required_arguments)
1110
+
1111
+ def get_delegation_control(self, delegation_control_id, **kwargs):
1112
+ """
1113
+ Gets the Delegation Control associated with the specified Delegation Control ID.
1114
+
1115
+
1116
+ :param str delegation_control_id: (required)
1117
+ unique Delegation Control identifier
1118
+
1119
+ :param str opc_request_id: (optional)
1120
+ The client request ID for tracing.
1121
+
1122
+ :param obj retry_strategy: (optional)
1123
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1124
+
1125
+ 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.
1126
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1127
+
1128
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1129
+
1130
+ :param bool allow_control_chars: (optional)
1131
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1132
+ By default, the response will not allow control characters in strings
1133
+
1134
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationControl`
1135
+ :rtype: :class:`~oci.response.Response`
1136
+
1137
+ :example:
1138
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_delegation_control.py.html>`__ to see an example of how to use get_delegation_control API.
1139
+ """
1140
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1141
+ required_arguments = ['delegationControlId']
1142
+ resource_path = "/delegationControls/{delegationControlId}"
1143
+ method = "GET"
1144
+ operation_name = "get_delegation_control"
1145
+ api_reference_link = ""
1146
+
1147
+ # Don't accept unknown kwargs
1148
+ expected_kwargs = [
1149
+ "allow_control_chars",
1150
+ "retry_strategy",
1151
+ "opc_request_id"
1152
+ ]
1153
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1154
+ if extra_kwargs:
1155
+ raise ValueError(
1156
+ f"get_delegation_control got unknown kwargs: {extra_kwargs!r}")
1157
+
1158
+ path_params = {
1159
+ "delegationControlId": delegation_control_id
1160
+ }
1161
+
1162
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1163
+
1164
+ for (k, v) in six.iteritems(path_params):
1165
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1166
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1167
+
1168
+ header_params = {
1169
+ "accept": "application/json",
1170
+ "content-type": "application/json",
1171
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1172
+ }
1173
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1174
+
1175
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1176
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1177
+ client_retry_strategy=self.retry_strategy
1178
+ )
1179
+ if retry_strategy is None:
1180
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1181
+
1182
+ if retry_strategy:
1183
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1184
+ self.base_client.add_opc_client_retries_header(header_params)
1185
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1186
+ return retry_strategy.make_retrying_call(
1187
+ self.base_client.call_api,
1188
+ resource_path=resource_path,
1189
+ method=method,
1190
+ path_params=path_params,
1191
+ header_params=header_params,
1192
+ response_type="DelegationControl",
1193
+ allow_control_chars=kwargs.get('allow_control_chars'),
1194
+ operation_name=operation_name,
1195
+ api_reference_link=api_reference_link,
1196
+ required_arguments=required_arguments)
1197
+ else:
1198
+ return self.base_client.call_api(
1199
+ resource_path=resource_path,
1200
+ method=method,
1201
+ path_params=path_params,
1202
+ header_params=header_params,
1203
+ response_type="DelegationControl",
1204
+ allow_control_chars=kwargs.get('allow_control_chars'),
1205
+ operation_name=operation_name,
1206
+ api_reference_link=api_reference_link,
1207
+ required_arguments=required_arguments)
1208
+
1209
+ def get_delegation_subscription(self, delegation_subscription_id, **kwargs):
1210
+ """
1211
+ Gets a DelegationSubscription by identifier
1212
+
1213
+
1214
+ :param str delegation_subscription_id: (required)
1215
+ unique Delegation Subscription identifier
1216
+
1217
+ :param str opc_request_id: (optional)
1218
+ The client request ID for tracing.
1219
+
1220
+ :param obj retry_strategy: (optional)
1221
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1222
+
1223
+ 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.
1224
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1225
+
1226
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1227
+
1228
+ :param bool allow_control_chars: (optional)
1229
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1230
+ By default, the response will not allow control characters in strings
1231
+
1232
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationSubscription`
1233
+ :rtype: :class:`~oci.response.Response`
1234
+
1235
+ :example:
1236
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_delegation_subscription.py.html>`__ to see an example of how to use get_delegation_subscription API.
1237
+ """
1238
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1239
+ required_arguments = ['delegationSubscriptionId']
1240
+ resource_path = "/delegationSubscriptions/{delegationSubscriptionId}"
1241
+ method = "GET"
1242
+ operation_name = "get_delegation_subscription"
1243
+ api_reference_link = ""
1244
+
1245
+ # Don't accept unknown kwargs
1246
+ expected_kwargs = [
1247
+ "allow_control_chars",
1248
+ "retry_strategy",
1249
+ "opc_request_id"
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"get_delegation_subscription got unknown kwargs: {extra_kwargs!r}")
1255
+
1256
+ path_params = {
1257
+ "delegationSubscriptionId": delegation_subscription_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/json",
1268
+ "content-type": "application/json",
1269
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1270
+ }
1271
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1272
+
1273
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1274
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1275
+ client_retry_strategy=self.retry_strategy
1276
+ )
1277
+ if retry_strategy is None:
1278
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1279
+
1280
+ if retry_strategy:
1281
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1282
+ self.base_client.add_opc_client_retries_header(header_params)
1283
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1284
+ return retry_strategy.make_retrying_call(
1285
+ self.base_client.call_api,
1286
+ resource_path=resource_path,
1287
+ method=method,
1288
+ path_params=path_params,
1289
+ header_params=header_params,
1290
+ response_type="DelegationSubscription",
1291
+ allow_control_chars=kwargs.get('allow_control_chars'),
1292
+ operation_name=operation_name,
1293
+ api_reference_link=api_reference_link,
1294
+ required_arguments=required_arguments)
1295
+ else:
1296
+ return self.base_client.call_api(
1297
+ resource_path=resource_path,
1298
+ method=method,
1299
+ path_params=path_params,
1300
+ header_params=header_params,
1301
+ response_type="DelegationSubscription",
1302
+ allow_control_chars=kwargs.get('allow_control_chars'),
1303
+ operation_name=operation_name,
1304
+ api_reference_link=api_reference_link,
1305
+ required_arguments=required_arguments)
1306
+
1307
+ def get_service_provider(self, service_provider_id, **kwargs):
1308
+ """
1309
+ Gets a ServiceProvider by identifier
1310
+
1311
+
1312
+ :param str service_provider_id: (required)
1313
+ unique Service Provider identifier
1314
+
1315
+ :param str opc_request_id: (optional)
1316
+ The client request ID for tracing.
1317
+
1318
+ :param obj retry_strategy: (optional)
1319
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1320
+
1321
+ 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.
1322
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1323
+
1324
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1325
+
1326
+ :param bool allow_control_chars: (optional)
1327
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1328
+ By default, the response will not allow control characters in strings
1329
+
1330
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.ServiceProvider`
1331
+ :rtype: :class:`~oci.response.Response`
1332
+
1333
+ :example:
1334
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_service_provider.py.html>`__ to see an example of how to use get_service_provider API.
1335
+ """
1336
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1337
+ required_arguments = ['serviceProviderId']
1338
+ resource_path = "/serviceProviders/{serviceProviderId}"
1339
+ method = "GET"
1340
+ operation_name = "get_service_provider"
1341
+ api_reference_link = ""
1342
+
1343
+ # Don't accept unknown kwargs
1344
+ expected_kwargs = [
1345
+ "allow_control_chars",
1346
+ "retry_strategy",
1347
+ "opc_request_id"
1348
+ ]
1349
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1350
+ if extra_kwargs:
1351
+ raise ValueError(
1352
+ f"get_service_provider got unknown kwargs: {extra_kwargs!r}")
1353
+
1354
+ path_params = {
1355
+ "serviceProviderId": service_provider_id
1356
+ }
1357
+
1358
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1359
+
1360
+ for (k, v) in six.iteritems(path_params):
1361
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1362
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1363
+
1364
+ header_params = {
1365
+ "accept": "application/json",
1366
+ "content-type": "application/json",
1367
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1368
+ }
1369
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1370
+
1371
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1372
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1373
+ client_retry_strategy=self.retry_strategy
1374
+ )
1375
+ if retry_strategy is None:
1376
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1377
+
1378
+ if retry_strategy:
1379
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1380
+ self.base_client.add_opc_client_retries_header(header_params)
1381
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1382
+ return retry_strategy.make_retrying_call(
1383
+ self.base_client.call_api,
1384
+ resource_path=resource_path,
1385
+ method=method,
1386
+ path_params=path_params,
1387
+ header_params=header_params,
1388
+ response_type="ServiceProvider",
1389
+ allow_control_chars=kwargs.get('allow_control_chars'),
1390
+ operation_name=operation_name,
1391
+ api_reference_link=api_reference_link,
1392
+ required_arguments=required_arguments)
1393
+ else:
1394
+ return self.base_client.call_api(
1395
+ resource_path=resource_path,
1396
+ method=method,
1397
+ path_params=path_params,
1398
+ header_params=header_params,
1399
+ response_type="ServiceProvider",
1400
+ allow_control_chars=kwargs.get('allow_control_chars'),
1401
+ operation_name=operation_name,
1402
+ api_reference_link=api_reference_link,
1403
+ required_arguments=required_arguments)
1404
+
1405
+ def get_service_provider_action(self, service_provider_action_id, **kwargs):
1406
+ """
1407
+ Gets the Service Provider Action associated with the specified Service Provider Action ID.
1408
+
1409
+
1410
+ :param str service_provider_action_id: (required)
1411
+ Unique Oracle supplied identifier associated with the Service Provider Action.
1412
+
1413
+ :param str opc_request_id: (optional)
1414
+ The client request ID for tracing.
1415
+
1416
+ :param obj retry_strategy: (optional)
1417
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1418
+
1419
+ 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.
1420
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1421
+
1422
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1423
+
1424
+ :param bool allow_control_chars: (optional)
1425
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1426
+ By default, the response will not allow control characters in strings
1427
+
1428
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.ServiceProviderAction`
1429
+ :rtype: :class:`~oci.response.Response`
1430
+
1431
+ :example:
1432
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/get_service_provider_action.py.html>`__ to see an example of how to use get_service_provider_action API.
1433
+ """
1434
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1435
+ required_arguments = ['serviceProviderActionId']
1436
+ resource_path = "/serviceProviderActions/{serviceProviderActionId}"
1437
+ method = "GET"
1438
+ operation_name = "get_service_provider_action"
1439
+ api_reference_link = ""
1440
+
1441
+ # Don't accept unknown kwargs
1442
+ expected_kwargs = [
1443
+ "allow_control_chars",
1444
+ "retry_strategy",
1445
+ "opc_request_id"
1446
+ ]
1447
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1448
+ if extra_kwargs:
1449
+ raise ValueError(
1450
+ f"get_service_provider_action got unknown kwargs: {extra_kwargs!r}")
1451
+
1452
+ path_params = {
1453
+ "serviceProviderActionId": service_provider_action_id
1454
+ }
1455
+
1456
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1457
+
1458
+ for (k, v) in six.iteritems(path_params):
1459
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1460
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1461
+
1462
+ header_params = {
1463
+ "accept": "application/json",
1464
+ "content-type": "application/json",
1465
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1466
+ }
1467
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1468
+
1469
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1470
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1471
+ client_retry_strategy=self.retry_strategy
1472
+ )
1473
+ if retry_strategy is None:
1474
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1475
+
1476
+ if retry_strategy:
1477
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1478
+ self.base_client.add_opc_client_retries_header(header_params)
1479
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1480
+ return retry_strategy.make_retrying_call(
1481
+ self.base_client.call_api,
1482
+ resource_path=resource_path,
1483
+ method=method,
1484
+ path_params=path_params,
1485
+ header_params=header_params,
1486
+ response_type="ServiceProviderAction",
1487
+ allow_control_chars=kwargs.get('allow_control_chars'),
1488
+ operation_name=operation_name,
1489
+ api_reference_link=api_reference_link,
1490
+ required_arguments=required_arguments)
1491
+ else:
1492
+ return self.base_client.call_api(
1493
+ resource_path=resource_path,
1494
+ method=method,
1495
+ path_params=path_params,
1496
+ header_params=header_params,
1497
+ response_type="ServiceProviderAction",
1498
+ allow_control_chars=kwargs.get('allow_control_chars'),
1499
+ operation_name=operation_name,
1500
+ api_reference_link=api_reference_link,
1501
+ required_arguments=required_arguments)
1502
+
1503
+ def list_delegated_resource_access_request_histories(self, delegated_resource_access_request_id, **kwargs):
1504
+ """
1505
+ Returns a history of all status associated with the Delegated Resource Access RequestId.
1506
+
1507
+
1508
+ :param str delegated_resource_access_request_id: (required)
1509
+ Unique Delegated Resource Access Request identifier
1510
+
1511
+ :param int limit: (optional)
1512
+ The maximum number of items to return.
1513
+
1514
+ :param str page: (optional)
1515
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
1516
+
1517
+ :param str sort_order: (optional)
1518
+ The sort order to use, either 'asc' or 'desc'.
1519
+
1520
+ Allowed values are: "ASC", "DESC"
1521
+
1522
+ :param str sort_by: (optional)
1523
+ The field to sort by. Only one sort order may be provided. Default order for timestamp is descending. If no value is specified, timestamp is default.
1524
+
1525
+ Allowed values are: "timestamp"
1526
+
1527
+ :param str opc_request_id: (optional)
1528
+ The client request ID for tracing.
1529
+
1530
+ :param obj retry_strategy: (optional)
1531
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1532
+
1533
+ 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.
1534
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1535
+
1536
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1537
+
1538
+ :param bool allow_control_chars: (optional)
1539
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1540
+ By default, the response will not allow control characters in strings
1541
+
1542
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegatedResourceAccessRequestHistoryCollection`
1543
+ :rtype: :class:`~oci.response.Response`
1544
+
1545
+ :example:
1546
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_delegated_resource_access_request_histories.py.html>`__ to see an example of how to use list_delegated_resource_access_request_histories API.
1547
+ """
1548
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1549
+ required_arguments = ['delegatedResourceAccessRequestId']
1550
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/history"
1551
+ method = "GET"
1552
+ operation_name = "list_delegated_resource_access_request_histories"
1553
+ api_reference_link = ""
1554
+
1555
+ # Don't accept unknown kwargs
1556
+ expected_kwargs = [
1557
+ "allow_control_chars",
1558
+ "retry_strategy",
1559
+ "limit",
1560
+ "page",
1561
+ "sort_order",
1562
+ "sort_by",
1563
+ "opc_request_id"
1564
+ ]
1565
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1566
+ if extra_kwargs:
1567
+ raise ValueError(
1568
+ f"list_delegated_resource_access_request_histories got unknown kwargs: {extra_kwargs!r}")
1569
+
1570
+ path_params = {
1571
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
1572
+ }
1573
+
1574
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1575
+
1576
+ for (k, v) in six.iteritems(path_params):
1577
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1578
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1579
+
1580
+ if 'sort_order' in kwargs:
1581
+ sort_order_allowed_values = ["ASC", "DESC"]
1582
+ if kwargs['sort_order'] not in sort_order_allowed_values:
1583
+ raise ValueError(
1584
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
1585
+ )
1586
+
1587
+ if 'sort_by' in kwargs:
1588
+ sort_by_allowed_values = ["timestamp"]
1589
+ if kwargs['sort_by'] not in sort_by_allowed_values:
1590
+ raise ValueError(
1591
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
1592
+ )
1593
+
1594
+ query_params = {
1595
+ "limit": kwargs.get("limit", missing),
1596
+ "page": kwargs.get("page", missing),
1597
+ "sortOrder": kwargs.get("sort_order", missing),
1598
+ "sortBy": kwargs.get("sort_by", missing)
1599
+ }
1600
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1601
+
1602
+ header_params = {
1603
+ "accept": "application/json",
1604
+ "content-type": "application/json",
1605
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1606
+ }
1607
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1608
+
1609
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1610
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1611
+ client_retry_strategy=self.retry_strategy
1612
+ )
1613
+ if retry_strategy is None:
1614
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1615
+
1616
+ if retry_strategy:
1617
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1618
+ self.base_client.add_opc_client_retries_header(header_params)
1619
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1620
+ return retry_strategy.make_retrying_call(
1621
+ self.base_client.call_api,
1622
+ resource_path=resource_path,
1623
+ method=method,
1624
+ path_params=path_params,
1625
+ query_params=query_params,
1626
+ header_params=header_params,
1627
+ response_type="DelegatedResourceAccessRequestHistoryCollection",
1628
+ allow_control_chars=kwargs.get('allow_control_chars'),
1629
+ operation_name=operation_name,
1630
+ api_reference_link=api_reference_link,
1631
+ required_arguments=required_arguments)
1632
+ else:
1633
+ return self.base_client.call_api(
1634
+ resource_path=resource_path,
1635
+ method=method,
1636
+ path_params=path_params,
1637
+ query_params=query_params,
1638
+ header_params=header_params,
1639
+ response_type="DelegatedResourceAccessRequestHistoryCollection",
1640
+ allow_control_chars=kwargs.get('allow_control_chars'),
1641
+ operation_name=operation_name,
1642
+ api_reference_link=api_reference_link,
1643
+ required_arguments=required_arguments)
1644
+
1645
+ def list_delegated_resource_access_requests(self, compartment_id, **kwargs):
1646
+ """
1647
+ Lists all Delegated Resource Access Requests in the compartment. Note that only one of lifecycleState or requestStatus query parameter can be used.
1648
+
1649
+
1650
+ :param str compartment_id: (required)
1651
+ The `OCID`__ of the compartment.
1652
+
1653
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
1654
+
1655
+ :param str delegation_control_id: (optional)
1656
+ unique Delegation Control identifier
1657
+
1658
+ :param str resource_id: (optional)
1659
+ A filter to return only Delegated Resource Access Requests for the given resource identifier.
1660
+
1661
+ :param str lifecycle_state: (optional)
1662
+ A filter to return only Delegated Resource Access Requests whose lifecycleState matches the given Delegated Resource Access Request lifecycleState.
1663
+
1664
+ Allowed values are: "ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"
1665
+
1666
+ :param str request_status: (optional)
1667
+ A filter to return only Delegated Resource Access Requests whose status matches the given Delegated Resource Access Request status.
1668
+
1669
+ Allowed values are: "CREATED", "APPROVAL_WAITING", "OPERATOR_ASSIGNMENT_WAITING", "PREAPPROVED", "APPROVED", "APPROVED_FOR_FUTURE", "REJECTED", "DEPLOYED", "DEPLOY_FAILED", "UNDEPLOYED", "UNDEPLOY_FAILED", "CLOSE_FAILED", "REVOKE_FAILED", "EXPIRY_FAILED", "REVOKING", "REVOKED", "EXTENDING", "EXTENDED", "EXTENSION_REJECTED", "EXTENSION_FAILED", "COMPLETING", "COMPLETED", "EXPIRED"
1670
+
1671
+ :param datetime time_start: (optional)
1672
+ Query start time in UTC in ISO 8601 format(inclusive).
1673
+ Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ).
1674
+ timeIntervalStart and timeIntervalEnd parameters cannot be used together.
1675
+
1676
+ :param datetime time_end: (optional)
1677
+ Query end time in UTC in ISO 8601 format(inclusive).
1678
+ Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ).
1679
+ timeIntervalStart and timeIntervalEnd parameters cannot be used together.
1680
+
1681
+ :param int limit: (optional)
1682
+ The maximum number of items to return.
1683
+
1684
+ :param str page: (optional)
1685
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
1686
+
1687
+ :param str sort_order: (optional)
1688
+ The sort order to use, either 'asc' or 'desc'.
1689
+
1690
+ Allowed values are: "ASC", "DESC"
1691
+
1692
+ :param str sort_by: (optional)
1693
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified, default is timeCreated.
1694
+
1695
+ Allowed values are: "timeCreated", "displayName"
1696
+
1697
+ :param str opc_request_id: (optional)
1698
+ The client request ID for tracing.
1699
+
1700
+ :param obj retry_strategy: (optional)
1701
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1702
+
1703
+ 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.
1704
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1705
+
1706
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1707
+
1708
+ :param bool allow_control_chars: (optional)
1709
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1710
+ By default, the response will not allow control characters in strings
1711
+
1712
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegatedResourceAccessRequestSummaryCollection`
1713
+ :rtype: :class:`~oci.response.Response`
1714
+
1715
+ :example:
1716
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_delegated_resource_access_requests.py.html>`__ to see an example of how to use list_delegated_resource_access_requests API.
1717
+ """
1718
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1719
+ required_arguments = ['compartmentId']
1720
+ resource_path = "/delegatedResourceAccessRequests"
1721
+ method = "GET"
1722
+ operation_name = "list_delegated_resource_access_requests"
1723
+ api_reference_link = ""
1724
+
1725
+ # Don't accept unknown kwargs
1726
+ expected_kwargs = [
1727
+ "allow_control_chars",
1728
+ "retry_strategy",
1729
+ "delegation_control_id",
1730
+ "resource_id",
1731
+ "lifecycle_state",
1732
+ "request_status",
1733
+ "time_start",
1734
+ "time_end",
1735
+ "limit",
1736
+ "page",
1737
+ "sort_order",
1738
+ "sort_by",
1739
+ "opc_request_id"
1740
+ ]
1741
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1742
+ if extra_kwargs:
1743
+ raise ValueError(
1744
+ f"list_delegated_resource_access_requests got unknown kwargs: {extra_kwargs!r}")
1745
+
1746
+ if 'lifecycle_state' in kwargs:
1747
+ lifecycle_state_allowed_values = ["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]
1748
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
1749
+ raise ValueError(
1750
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
1751
+ )
1752
+
1753
+ if 'request_status' in kwargs:
1754
+ request_status_allowed_values = ["CREATED", "APPROVAL_WAITING", "OPERATOR_ASSIGNMENT_WAITING", "PREAPPROVED", "APPROVED", "APPROVED_FOR_FUTURE", "REJECTED", "DEPLOYED", "DEPLOY_FAILED", "UNDEPLOYED", "UNDEPLOY_FAILED", "CLOSE_FAILED", "REVOKE_FAILED", "EXPIRY_FAILED", "REVOKING", "REVOKED", "EXTENDING", "EXTENDED", "EXTENSION_REJECTED", "EXTENSION_FAILED", "COMPLETING", "COMPLETED", "EXPIRED"]
1755
+ if kwargs['request_status'] not in request_status_allowed_values:
1756
+ raise ValueError(
1757
+ f"Invalid value for `request_status`, must be one of { request_status_allowed_values }"
1758
+ )
1759
+
1760
+ if 'sort_order' in kwargs:
1761
+ sort_order_allowed_values = ["ASC", "DESC"]
1762
+ if kwargs['sort_order'] not in sort_order_allowed_values:
1763
+ raise ValueError(
1764
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
1765
+ )
1766
+
1767
+ if 'sort_by' in kwargs:
1768
+ sort_by_allowed_values = ["timeCreated", "displayName"]
1769
+ if kwargs['sort_by'] not in sort_by_allowed_values:
1770
+ raise ValueError(
1771
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
1772
+ )
1773
+
1774
+ query_params = {
1775
+ "compartmentId": compartment_id,
1776
+ "delegationControlId": kwargs.get("delegation_control_id", missing),
1777
+ "resourceId": kwargs.get("resource_id", missing),
1778
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
1779
+ "requestStatus": kwargs.get("request_status", missing),
1780
+ "timeStart": kwargs.get("time_start", missing),
1781
+ "timeEnd": kwargs.get("time_end", missing),
1782
+ "limit": kwargs.get("limit", missing),
1783
+ "page": kwargs.get("page", missing),
1784
+ "sortOrder": kwargs.get("sort_order", missing),
1785
+ "sortBy": kwargs.get("sort_by", missing)
1786
+ }
1787
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1788
+
1789
+ header_params = {
1790
+ "accept": "application/json",
1791
+ "content-type": "application/json",
1792
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1793
+ }
1794
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1795
+
1796
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1797
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1798
+ client_retry_strategy=self.retry_strategy
1799
+ )
1800
+ if retry_strategy is None:
1801
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1802
+
1803
+ if retry_strategy:
1804
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1805
+ self.base_client.add_opc_client_retries_header(header_params)
1806
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1807
+ return retry_strategy.make_retrying_call(
1808
+ self.base_client.call_api,
1809
+ resource_path=resource_path,
1810
+ method=method,
1811
+ query_params=query_params,
1812
+ header_params=header_params,
1813
+ response_type="DelegatedResourceAccessRequestSummaryCollection",
1814
+ allow_control_chars=kwargs.get('allow_control_chars'),
1815
+ operation_name=operation_name,
1816
+ api_reference_link=api_reference_link,
1817
+ required_arguments=required_arguments)
1818
+ else:
1819
+ return self.base_client.call_api(
1820
+ resource_path=resource_path,
1821
+ method=method,
1822
+ query_params=query_params,
1823
+ header_params=header_params,
1824
+ response_type="DelegatedResourceAccessRequestSummaryCollection",
1825
+ allow_control_chars=kwargs.get('allow_control_chars'),
1826
+ operation_name=operation_name,
1827
+ api_reference_link=api_reference_link,
1828
+ required_arguments=required_arguments)
1829
+
1830
+ def list_delegation_control_resources(self, delegation_control_id, **kwargs):
1831
+ """
1832
+ Returns a list of resources associated with the Delegation Control.
1833
+
1834
+
1835
+ :param str delegation_control_id: (required)
1836
+ unique Delegation Control identifier
1837
+
1838
+ :param int limit: (optional)
1839
+ The maximum number of items to return.
1840
+
1841
+ :param str page: (optional)
1842
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
1843
+
1844
+ :param str opc_request_id: (optional)
1845
+ The client request ID for tracing.
1846
+
1847
+ :param obj retry_strategy: (optional)
1848
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1849
+
1850
+ 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.
1851
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1852
+
1853
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1854
+
1855
+ :param bool allow_control_chars: (optional)
1856
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1857
+ By default, the response will not allow control characters in strings
1858
+
1859
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationControlResourceCollection`
1860
+ :rtype: :class:`~oci.response.Response`
1861
+
1862
+ :example:
1863
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_delegation_control_resources.py.html>`__ to see an example of how to use list_delegation_control_resources API.
1864
+ """
1865
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1866
+ required_arguments = ['delegationControlId']
1867
+ resource_path = "/delegationControls/{delegationControlId}/resources"
1868
+ method = "GET"
1869
+ operation_name = "list_delegation_control_resources"
1870
+ api_reference_link = ""
1871
+
1872
+ # Don't accept unknown kwargs
1873
+ expected_kwargs = [
1874
+ "allow_control_chars",
1875
+ "retry_strategy",
1876
+ "limit",
1877
+ "page",
1878
+ "opc_request_id"
1879
+ ]
1880
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1881
+ if extra_kwargs:
1882
+ raise ValueError(
1883
+ f"list_delegation_control_resources got unknown kwargs: {extra_kwargs!r}")
1884
+
1885
+ path_params = {
1886
+ "delegationControlId": delegation_control_id
1887
+ }
1888
+
1889
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1890
+
1891
+ for (k, v) in six.iteritems(path_params):
1892
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1893
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1894
+
1895
+ query_params = {
1896
+ "limit": kwargs.get("limit", missing),
1897
+ "page": kwargs.get("page", missing)
1898
+ }
1899
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
1900
+
1901
+ header_params = {
1902
+ "accept": "application/json",
1903
+ "content-type": "application/json",
1904
+ "opc-request-id": kwargs.get("opc_request_id", missing)
1905
+ }
1906
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1907
+
1908
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1909
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1910
+ client_retry_strategy=self.retry_strategy
1911
+ )
1912
+ if retry_strategy is None:
1913
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1914
+
1915
+ if retry_strategy:
1916
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1917
+ self.base_client.add_opc_client_retries_header(header_params)
1918
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1919
+ return retry_strategy.make_retrying_call(
1920
+ self.base_client.call_api,
1921
+ resource_path=resource_path,
1922
+ method=method,
1923
+ path_params=path_params,
1924
+ query_params=query_params,
1925
+ header_params=header_params,
1926
+ response_type="DelegationControlResourceCollection",
1927
+ allow_control_chars=kwargs.get('allow_control_chars'),
1928
+ operation_name=operation_name,
1929
+ api_reference_link=api_reference_link,
1930
+ required_arguments=required_arguments)
1931
+ else:
1932
+ return self.base_client.call_api(
1933
+ resource_path=resource_path,
1934
+ method=method,
1935
+ path_params=path_params,
1936
+ query_params=query_params,
1937
+ header_params=header_params,
1938
+ response_type="DelegationControlResourceCollection",
1939
+ allow_control_chars=kwargs.get('allow_control_chars'),
1940
+ operation_name=operation_name,
1941
+ api_reference_link=api_reference_link,
1942
+ required_arguments=required_arguments)
1943
+
1944
+ def list_delegation_controls(self, compartment_id, **kwargs):
1945
+ """
1946
+ Lists the Delegation Controls in the compartment.
1947
+
1948
+
1949
+ :param str compartment_id: (required)
1950
+ The `OCID`__ of the compartment.
1951
+
1952
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
1953
+
1954
+ :param str lifecycle_state: (optional)
1955
+ A filter to return only Delegation Control resources whose lifecycleState matches the given Delegation Control lifecycle state.
1956
+
1957
+ Allowed values are: "CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"
1958
+
1959
+ :param str display_name: (optional)
1960
+ A filter to return Delegation Control resources that match the given display name.
1961
+
1962
+ :param str resource_type: (optional)
1963
+ A filter to return only resources that match the given resource type.
1964
+
1965
+ Allowed values are: "VMCLUSTER", "CLOUDVMCLUSTER"
1966
+
1967
+ :param str resource_id: (optional)
1968
+ A filter to return Delegation Control resources that match the given resource ID.
1969
+
1970
+ :param int limit: (optional)
1971
+ The maximum number of items to return.
1972
+
1973
+ :param str page: (optional)
1974
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
1975
+
1976
+ :param str sort_order: (optional)
1977
+ The sort order to use, either 'asc' or 'desc'.
1978
+
1979
+ Allowed values are: "ASC", "DESC"
1980
+
1981
+ :param str sort_by: (optional)
1982
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified, default is timeCreated.
1983
+
1984
+ Allowed values are: "timeCreated", "displayName"
1985
+
1986
+ :param str opc_request_id: (optional)
1987
+ The client request ID for tracing.
1988
+
1989
+ :param obj retry_strategy: (optional)
1990
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1991
+
1992
+ 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.
1993
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1994
+
1995
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1996
+
1997
+ :param bool allow_control_chars: (optional)
1998
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1999
+ By default, the response will not allow control characters in strings
2000
+
2001
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationControlSummaryCollection`
2002
+ :rtype: :class:`~oci.response.Response`
2003
+
2004
+ :example:
2005
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_delegation_controls.py.html>`__ to see an example of how to use list_delegation_controls API.
2006
+ """
2007
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2008
+ required_arguments = ['compartmentId']
2009
+ resource_path = "/delegationControls"
2010
+ method = "GET"
2011
+ operation_name = "list_delegation_controls"
2012
+ api_reference_link = ""
2013
+
2014
+ # Don't accept unknown kwargs
2015
+ expected_kwargs = [
2016
+ "allow_control_chars",
2017
+ "retry_strategy",
2018
+ "lifecycle_state",
2019
+ "display_name",
2020
+ "resource_type",
2021
+ "resource_id",
2022
+ "limit",
2023
+ "page",
2024
+ "sort_order",
2025
+ "sort_by",
2026
+ "opc_request_id"
2027
+ ]
2028
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2029
+ if extra_kwargs:
2030
+ raise ValueError(
2031
+ f"list_delegation_controls got unknown kwargs: {extra_kwargs!r}")
2032
+
2033
+ if 'lifecycle_state' in kwargs:
2034
+ lifecycle_state_allowed_values = ["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]
2035
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
2036
+ raise ValueError(
2037
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
2038
+ )
2039
+
2040
+ if 'resource_type' in kwargs:
2041
+ resource_type_allowed_values = ["VMCLUSTER", "CLOUDVMCLUSTER"]
2042
+ if kwargs['resource_type'] not in resource_type_allowed_values:
2043
+ raise ValueError(
2044
+ f"Invalid value for `resource_type`, must be one of { resource_type_allowed_values }"
2045
+ )
2046
+
2047
+ if 'sort_order' in kwargs:
2048
+ sort_order_allowed_values = ["ASC", "DESC"]
2049
+ if kwargs['sort_order'] not in sort_order_allowed_values:
2050
+ raise ValueError(
2051
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
2052
+ )
2053
+
2054
+ if 'sort_by' in kwargs:
2055
+ sort_by_allowed_values = ["timeCreated", "displayName"]
2056
+ if kwargs['sort_by'] not in sort_by_allowed_values:
2057
+ raise ValueError(
2058
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
2059
+ )
2060
+
2061
+ query_params = {
2062
+ "compartmentId": compartment_id,
2063
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
2064
+ "displayName": kwargs.get("display_name", missing),
2065
+ "resourceType": kwargs.get("resource_type", missing),
2066
+ "resourceId": kwargs.get("resource_id", missing),
2067
+ "limit": kwargs.get("limit", missing),
2068
+ "page": kwargs.get("page", missing),
2069
+ "sortOrder": kwargs.get("sort_order", missing),
2070
+ "sortBy": kwargs.get("sort_by", missing)
2071
+ }
2072
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2073
+
2074
+ header_params = {
2075
+ "accept": "application/json",
2076
+ "content-type": "application/json",
2077
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2078
+ }
2079
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2080
+
2081
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2082
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2083
+ client_retry_strategy=self.retry_strategy
2084
+ )
2085
+ if retry_strategy is None:
2086
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2087
+
2088
+ if retry_strategy:
2089
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2090
+ self.base_client.add_opc_client_retries_header(header_params)
2091
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2092
+ return retry_strategy.make_retrying_call(
2093
+ self.base_client.call_api,
2094
+ resource_path=resource_path,
2095
+ method=method,
2096
+ query_params=query_params,
2097
+ header_params=header_params,
2098
+ response_type="DelegationControlSummaryCollection",
2099
+ allow_control_chars=kwargs.get('allow_control_chars'),
2100
+ operation_name=operation_name,
2101
+ api_reference_link=api_reference_link,
2102
+ required_arguments=required_arguments)
2103
+ else:
2104
+ return self.base_client.call_api(
2105
+ resource_path=resource_path,
2106
+ method=method,
2107
+ query_params=query_params,
2108
+ header_params=header_params,
2109
+ response_type="DelegationControlSummaryCollection",
2110
+ allow_control_chars=kwargs.get('allow_control_chars'),
2111
+ operation_name=operation_name,
2112
+ api_reference_link=api_reference_link,
2113
+ required_arguments=required_arguments)
2114
+
2115
+ def list_delegation_subscriptions(self, compartment_id, **kwargs):
2116
+ """
2117
+ Lists the Delegation Subscriptions in Delegation Control.
2118
+
2119
+
2120
+ :param str compartment_id: (required)
2121
+ The `OCID`__ of the compartment.
2122
+
2123
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
2124
+
2125
+ :param str lifecycle_state: (optional)
2126
+ A filter to return only Delegation Subscription resources whose lifecycleState matches the given Delegation Subscription lifecycle state.
2127
+
2128
+ Allowed values are: "CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"
2129
+
2130
+ :param str display_name: (optional)
2131
+ A filter to return Delegation Subscription resources that match the given display name.
2132
+
2133
+ :param int limit: (optional)
2134
+ The maximum number of items to return.
2135
+
2136
+ :param str page: (optional)
2137
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
2138
+
2139
+ :param str sort_order: (optional)
2140
+ The sort order to use, either 'asc' or 'desc'.
2141
+
2142
+ Allowed values are: "ASC", "DESC"
2143
+
2144
+ :param str sort_by: (optional)
2145
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified, timeCreated is default.
2146
+
2147
+ Allowed values are: "timeCreated", "displayName"
2148
+
2149
+ :param str opc_request_id: (optional)
2150
+ The client request ID for tracing.
2151
+
2152
+ :param obj retry_strategy: (optional)
2153
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2154
+
2155
+ 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.
2156
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2157
+
2158
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2159
+
2160
+ :param bool allow_control_chars: (optional)
2161
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2162
+ By default, the response will not allow control characters in strings
2163
+
2164
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationSubscriptionSummaryCollection`
2165
+ :rtype: :class:`~oci.response.Response`
2166
+
2167
+ :example:
2168
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_delegation_subscriptions.py.html>`__ to see an example of how to use list_delegation_subscriptions API.
2169
+ """
2170
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2171
+ required_arguments = ['compartmentId']
2172
+ resource_path = "/delegationSubscriptions"
2173
+ method = "GET"
2174
+ operation_name = "list_delegation_subscriptions"
2175
+ api_reference_link = ""
2176
+
2177
+ # Don't accept unknown kwargs
2178
+ expected_kwargs = [
2179
+ "allow_control_chars",
2180
+ "retry_strategy",
2181
+ "lifecycle_state",
2182
+ "display_name",
2183
+ "limit",
2184
+ "page",
2185
+ "sort_order",
2186
+ "sort_by",
2187
+ "opc_request_id"
2188
+ ]
2189
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2190
+ if extra_kwargs:
2191
+ raise ValueError(
2192
+ f"list_delegation_subscriptions got unknown kwargs: {extra_kwargs!r}")
2193
+
2194
+ if 'lifecycle_state' in kwargs:
2195
+ lifecycle_state_allowed_values = ["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]
2196
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
2197
+ raise ValueError(
2198
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
2199
+ )
2200
+
2201
+ if 'sort_order' in kwargs:
2202
+ sort_order_allowed_values = ["ASC", "DESC"]
2203
+ if kwargs['sort_order'] not in sort_order_allowed_values:
2204
+ raise ValueError(
2205
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
2206
+ )
2207
+
2208
+ if 'sort_by' in kwargs:
2209
+ sort_by_allowed_values = ["timeCreated", "displayName"]
2210
+ if kwargs['sort_by'] not in sort_by_allowed_values:
2211
+ raise ValueError(
2212
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
2213
+ )
2214
+
2215
+ query_params = {
2216
+ "compartmentId": compartment_id,
2217
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
2218
+ "displayName": kwargs.get("display_name", missing),
2219
+ "limit": kwargs.get("limit", missing),
2220
+ "page": kwargs.get("page", missing),
2221
+ "sortOrder": kwargs.get("sort_order", missing),
2222
+ "sortBy": kwargs.get("sort_by", missing)
2223
+ }
2224
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2225
+
2226
+ header_params = {
2227
+ "accept": "application/json",
2228
+ "content-type": "application/json",
2229
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2230
+ }
2231
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2232
+
2233
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2234
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2235
+ client_retry_strategy=self.retry_strategy
2236
+ )
2237
+ if retry_strategy is None:
2238
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2239
+
2240
+ if retry_strategy:
2241
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2242
+ self.base_client.add_opc_client_retries_header(header_params)
2243
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2244
+ return retry_strategy.make_retrying_call(
2245
+ self.base_client.call_api,
2246
+ resource_path=resource_path,
2247
+ method=method,
2248
+ query_params=query_params,
2249
+ header_params=header_params,
2250
+ response_type="DelegationSubscriptionSummaryCollection",
2251
+ allow_control_chars=kwargs.get('allow_control_chars'),
2252
+ operation_name=operation_name,
2253
+ api_reference_link=api_reference_link,
2254
+ required_arguments=required_arguments)
2255
+ else:
2256
+ return self.base_client.call_api(
2257
+ resource_path=resource_path,
2258
+ method=method,
2259
+ query_params=query_params,
2260
+ header_params=header_params,
2261
+ response_type="DelegationSubscriptionSummaryCollection",
2262
+ allow_control_chars=kwargs.get('allow_control_chars'),
2263
+ operation_name=operation_name,
2264
+ api_reference_link=api_reference_link,
2265
+ required_arguments=required_arguments)
2266
+
2267
+ def list_service_provider_actions(self, compartment_id, **kwargs):
2268
+ """
2269
+ Lists all the ServiceProviderActions available in the system.
2270
+
2271
+
2272
+ :param str compartment_id: (required)
2273
+ The `OCID`__ of the compartment.
2274
+
2275
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
2276
+
2277
+ :param str name: (optional)
2278
+ A filter to return only resources that match the entire name given.
2279
+
2280
+ :param str resource_type: (optional)
2281
+ A filter to return only resources that match the given resource type.
2282
+
2283
+ Allowed values are: "VMCLUSTER", "CLOUDVMCLUSTER"
2284
+
2285
+ :param list[str] service_provider_service_type: (optional)
2286
+ A filter to return only resources that match the given Service Provider service type.
2287
+
2288
+ Allowed values are: "TROUBLESHOOTING", "ASSISTED_PATCHING"
2289
+
2290
+ :param str lifecycle_state: (optional)
2291
+ A filter to return only resources whose lifecycleState matches the given Service Provider Action lifecycleState.
2292
+
2293
+ Allowed values are: "ACTIVE", "INACTIVE"
2294
+
2295
+ :param int limit: (optional)
2296
+ The maximum number of items to return.
2297
+
2298
+ :param str page: (optional)
2299
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
2300
+
2301
+ :param str sort_order: (optional)
2302
+ The sort order to use, either 'asc' or 'desc'.
2303
+
2304
+ Allowed values are: "ASC", "DESC"
2305
+
2306
+ :param str sort_by: (optional)
2307
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for name is ascending. If no value is specified, default is timeCreated.
2308
+
2309
+ Allowed values are: "timeCreated", "name"
2310
+
2311
+ :param str opc_request_id: (optional)
2312
+ The client request ID for tracing.
2313
+
2314
+ :param obj retry_strategy: (optional)
2315
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2316
+
2317
+ 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.
2318
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2319
+
2320
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2321
+
2322
+ :param bool allow_control_chars: (optional)
2323
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2324
+ By default, the response will not allow control characters in strings
2325
+
2326
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.ServiceProviderActionSummaryCollection`
2327
+ :rtype: :class:`~oci.response.Response`
2328
+
2329
+ :example:
2330
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_service_provider_actions.py.html>`__ to see an example of how to use list_service_provider_actions API.
2331
+ """
2332
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2333
+ required_arguments = ['compartmentId']
2334
+ resource_path = "/serviceProviderActions"
2335
+ method = "GET"
2336
+ operation_name = "list_service_provider_actions"
2337
+ api_reference_link = ""
2338
+
2339
+ # Don't accept unknown kwargs
2340
+ expected_kwargs = [
2341
+ "allow_control_chars",
2342
+ "retry_strategy",
2343
+ "name",
2344
+ "resource_type",
2345
+ "service_provider_service_type",
2346
+ "lifecycle_state",
2347
+ "limit",
2348
+ "page",
2349
+ "sort_order",
2350
+ "sort_by",
2351
+ "opc_request_id"
2352
+ ]
2353
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2354
+ if extra_kwargs:
2355
+ raise ValueError(
2356
+ f"list_service_provider_actions got unknown kwargs: {extra_kwargs!r}")
2357
+
2358
+ if 'resource_type' in kwargs:
2359
+ resource_type_allowed_values = ["VMCLUSTER", "CLOUDVMCLUSTER"]
2360
+ if kwargs['resource_type'] not in resource_type_allowed_values:
2361
+ raise ValueError(
2362
+ f"Invalid value for `resource_type`, must be one of { resource_type_allowed_values }"
2363
+ )
2364
+
2365
+ if 'service_provider_service_type' in kwargs:
2366
+ service_provider_service_type_allowed_values = ["TROUBLESHOOTING", "ASSISTED_PATCHING"]
2367
+ for service_provider_service_type_item in kwargs['service_provider_service_type']:
2368
+ if service_provider_service_type_item not in service_provider_service_type_allowed_values:
2369
+ raise ValueError(
2370
+ f"Invalid value for `service_provider_service_type`, must be one of { service_provider_service_type_allowed_values }"
2371
+ )
2372
+
2373
+ if 'lifecycle_state' in kwargs:
2374
+ lifecycle_state_allowed_values = ["ACTIVE", "INACTIVE"]
2375
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
2376
+ raise ValueError(
2377
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
2378
+ )
2379
+
2380
+ if 'sort_order' in kwargs:
2381
+ sort_order_allowed_values = ["ASC", "DESC"]
2382
+ if kwargs['sort_order'] not in sort_order_allowed_values:
2383
+ raise ValueError(
2384
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
2385
+ )
2386
+
2387
+ if 'sort_by' in kwargs:
2388
+ sort_by_allowed_values = ["timeCreated", "name"]
2389
+ if kwargs['sort_by'] not in sort_by_allowed_values:
2390
+ raise ValueError(
2391
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
2392
+ )
2393
+
2394
+ query_params = {
2395
+ "name": kwargs.get("name", missing),
2396
+ "resourceType": kwargs.get("resource_type", missing),
2397
+ "serviceProviderServiceType": self.base_client.generate_collection_format_param(kwargs.get("service_provider_service_type", missing), 'multi'),
2398
+ "compartmentId": compartment_id,
2399
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
2400
+ "limit": kwargs.get("limit", missing),
2401
+ "page": kwargs.get("page", missing),
2402
+ "sortOrder": kwargs.get("sort_order", missing),
2403
+ "sortBy": kwargs.get("sort_by", missing)
2404
+ }
2405
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2406
+
2407
+ header_params = {
2408
+ "accept": "application/json",
2409
+ "content-type": "application/json",
2410
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2411
+ }
2412
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2413
+
2414
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2415
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2416
+ client_retry_strategy=self.retry_strategy
2417
+ )
2418
+ if retry_strategy is None:
2419
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2420
+
2421
+ if retry_strategy:
2422
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2423
+ self.base_client.add_opc_client_retries_header(header_params)
2424
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2425
+ return retry_strategy.make_retrying_call(
2426
+ self.base_client.call_api,
2427
+ resource_path=resource_path,
2428
+ method=method,
2429
+ query_params=query_params,
2430
+ header_params=header_params,
2431
+ response_type="ServiceProviderActionSummaryCollection",
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)
2436
+ else:
2437
+ return self.base_client.call_api(
2438
+ resource_path=resource_path,
2439
+ method=method,
2440
+ query_params=query_params,
2441
+ header_params=header_params,
2442
+ response_type="ServiceProviderActionSummaryCollection",
2443
+ allow_control_chars=kwargs.get('allow_control_chars'),
2444
+ operation_name=operation_name,
2445
+ api_reference_link=api_reference_link,
2446
+ required_arguments=required_arguments)
2447
+
2448
+ def list_service_provider_interactions(self, delegated_resource_access_request_id, **kwargs):
2449
+ """
2450
+ Lists the MoreInformation interaction between customer and support operators.
2451
+
2452
+
2453
+ :param str delegated_resource_access_request_id: (required)
2454
+ Unique Delegated Resource Access Request identifier
2455
+
2456
+ :param int limit: (optional)
2457
+ The maximum number of items to return.
2458
+
2459
+ :param str page: (optional)
2460
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
2461
+
2462
+ :param str opc_request_id: (optional)
2463
+ The client request ID for tracing.
2464
+
2465
+ :param obj retry_strategy: (optional)
2466
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2467
+
2468
+ 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.
2469
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2470
+
2471
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2472
+
2473
+ :param bool allow_control_chars: (optional)
2474
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2475
+ By default, the response will not allow control characters in strings
2476
+
2477
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.ServiceProviderInteractionCollection`
2478
+ :rtype: :class:`~oci.response.Response`
2479
+
2480
+ :example:
2481
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_service_provider_interactions.py.html>`__ to see an example of how to use list_service_provider_interactions API.
2482
+ """
2483
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2484
+ required_arguments = ['delegatedResourceAccessRequestId']
2485
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/serviceProviderInteractions"
2486
+ method = "GET"
2487
+ operation_name = "list_service_provider_interactions"
2488
+ api_reference_link = ""
2489
+
2490
+ # Don't accept unknown kwargs
2491
+ expected_kwargs = [
2492
+ "allow_control_chars",
2493
+ "retry_strategy",
2494
+ "limit",
2495
+ "page",
2496
+ "opc_request_id"
2497
+ ]
2498
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2499
+ if extra_kwargs:
2500
+ raise ValueError(
2501
+ f"list_service_provider_interactions got unknown kwargs: {extra_kwargs!r}")
2502
+
2503
+ path_params = {
2504
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
2505
+ }
2506
+
2507
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2508
+
2509
+ for (k, v) in six.iteritems(path_params):
2510
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2511
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2512
+
2513
+ query_params = {
2514
+ "limit": kwargs.get("limit", missing),
2515
+ "page": kwargs.get("page", missing)
2516
+ }
2517
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2518
+
2519
+ header_params = {
2520
+ "accept": "application/json",
2521
+ "content-type": "application/json",
2522
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2523
+ }
2524
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2525
+
2526
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2527
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2528
+ client_retry_strategy=self.retry_strategy
2529
+ )
2530
+ if retry_strategy is None:
2531
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2532
+
2533
+ if retry_strategy:
2534
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2535
+ self.base_client.add_opc_client_retries_header(header_params)
2536
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2537
+ return retry_strategy.make_retrying_call(
2538
+ self.base_client.call_api,
2539
+ resource_path=resource_path,
2540
+ method=method,
2541
+ path_params=path_params,
2542
+ query_params=query_params,
2543
+ header_params=header_params,
2544
+ response_type="ServiceProviderInteractionCollection",
2545
+ allow_control_chars=kwargs.get('allow_control_chars'),
2546
+ operation_name=operation_name,
2547
+ api_reference_link=api_reference_link,
2548
+ required_arguments=required_arguments)
2549
+ else:
2550
+ return self.base_client.call_api(
2551
+ resource_path=resource_path,
2552
+ method=method,
2553
+ path_params=path_params,
2554
+ query_params=query_params,
2555
+ header_params=header_params,
2556
+ response_type="ServiceProviderInteractionCollection",
2557
+ allow_control_chars=kwargs.get('allow_control_chars'),
2558
+ operation_name=operation_name,
2559
+ api_reference_link=api_reference_link,
2560
+ required_arguments=required_arguments)
2561
+
2562
+ def list_service_providers(self, compartment_id, **kwargs):
2563
+ """
2564
+ Lists the Service Providers.
2565
+
2566
+
2567
+ :param str compartment_id: (required)
2568
+ The `OCID`__ of the compartment.
2569
+
2570
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
2571
+
2572
+ :param str lifecycle_state: (optional)
2573
+ A filter to return only Service Provider resources whose lifecycleState matches the given Service Provider lifecycle state.
2574
+
2575
+ Allowed values are: "CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"
2576
+
2577
+ :param str name: (optional)
2578
+ A filter to return Service Provider resources that match the given name.
2579
+
2580
+ :param str supported_resource_type: (optional)
2581
+ A filter to return only Service Provider resources whose supported resource type matches the given resource type.
2582
+
2583
+ Allowed values are: "VMCLUSTER", "CLOUDVMCLUSTER"
2584
+
2585
+ :param str service_provider_type: (optional)
2586
+ A filter to return only Service Provider resources whose provider type matches the given provider type.
2587
+
2588
+ Allowed values are: "ORACLE_PROVIDED"
2589
+
2590
+ :param int limit: (optional)
2591
+ The maximum number of items to return.
2592
+
2593
+ :param str page: (optional)
2594
+ The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.
2595
+
2596
+ :param str sort_order: (optional)
2597
+ The sort order to use, either 'asc' or 'desc'.
2598
+
2599
+ Allowed values are: "ASC", "DESC"
2600
+
2601
+ :param str sort_by: (optional)
2602
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for name is ascending. If no value is specified, timeCreated is default.
2603
+
2604
+ Allowed values are: "timeCreated", "displayName"
2605
+
2606
+ :param str opc_request_id: (optional)
2607
+ The client request ID for tracing.
2608
+
2609
+ :param obj retry_strategy: (optional)
2610
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2611
+
2612
+ 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.
2613
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2614
+
2615
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2616
+
2617
+ :param bool allow_control_chars: (optional)
2618
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2619
+ By default, the response will not allow control characters in strings
2620
+
2621
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.ServiceProviderSummaryCollection`
2622
+ :rtype: :class:`~oci.response.Response`
2623
+
2624
+ :example:
2625
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/list_service_providers.py.html>`__ to see an example of how to use list_service_providers API.
2626
+ """
2627
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2628
+ required_arguments = ['compartmentId']
2629
+ resource_path = "/serviceProviders"
2630
+ method = "GET"
2631
+ operation_name = "list_service_providers"
2632
+ api_reference_link = ""
2633
+
2634
+ # Don't accept unknown kwargs
2635
+ expected_kwargs = [
2636
+ "allow_control_chars",
2637
+ "retry_strategy",
2638
+ "lifecycle_state",
2639
+ "name",
2640
+ "supported_resource_type",
2641
+ "service_provider_type",
2642
+ "limit",
2643
+ "page",
2644
+ "sort_order",
2645
+ "sort_by",
2646
+ "opc_request_id"
2647
+ ]
2648
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2649
+ if extra_kwargs:
2650
+ raise ValueError(
2651
+ f"list_service_providers got unknown kwargs: {extra_kwargs!r}")
2652
+
2653
+ if 'lifecycle_state' in kwargs:
2654
+ lifecycle_state_allowed_values = ["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]
2655
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
2656
+ raise ValueError(
2657
+ f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
2658
+ )
2659
+
2660
+ if 'supported_resource_type' in kwargs:
2661
+ supported_resource_type_allowed_values = ["VMCLUSTER", "CLOUDVMCLUSTER"]
2662
+ if kwargs['supported_resource_type'] not in supported_resource_type_allowed_values:
2663
+ raise ValueError(
2664
+ f"Invalid value for `supported_resource_type`, must be one of { supported_resource_type_allowed_values }"
2665
+ )
2666
+
2667
+ if 'service_provider_type' in kwargs:
2668
+ service_provider_type_allowed_values = ["ORACLE_PROVIDED"]
2669
+ if kwargs['service_provider_type'] not in service_provider_type_allowed_values:
2670
+ raise ValueError(
2671
+ f"Invalid value for `service_provider_type`, must be one of { service_provider_type_allowed_values }"
2672
+ )
2673
+
2674
+ if 'sort_order' in kwargs:
2675
+ sort_order_allowed_values = ["ASC", "DESC"]
2676
+ if kwargs['sort_order'] not in sort_order_allowed_values:
2677
+ raise ValueError(
2678
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
2679
+ )
2680
+
2681
+ if 'sort_by' in kwargs:
2682
+ sort_by_allowed_values = ["timeCreated", "displayName"]
2683
+ if kwargs['sort_by'] not in sort_by_allowed_values:
2684
+ raise ValueError(
2685
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
2686
+ )
2687
+
2688
+ query_params = {
2689
+ "compartmentId": compartment_id,
2690
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
2691
+ "name": kwargs.get("name", missing),
2692
+ "supportedResourceType": kwargs.get("supported_resource_type", missing),
2693
+ "serviceProviderType": kwargs.get("service_provider_type", missing),
2694
+ "limit": kwargs.get("limit", missing),
2695
+ "page": kwargs.get("page", missing),
2696
+ "sortOrder": kwargs.get("sort_order", missing),
2697
+ "sortBy": kwargs.get("sort_by", missing)
2698
+ }
2699
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
2700
+
2701
+ header_params = {
2702
+ "accept": "application/json",
2703
+ "content-type": "application/json",
2704
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2705
+ }
2706
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2707
+
2708
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2709
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2710
+ client_retry_strategy=self.retry_strategy
2711
+ )
2712
+ if retry_strategy is None:
2713
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2714
+
2715
+ if retry_strategy:
2716
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2717
+ self.base_client.add_opc_client_retries_header(header_params)
2718
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2719
+ return retry_strategy.make_retrying_call(
2720
+ self.base_client.call_api,
2721
+ resource_path=resource_path,
2722
+ method=method,
2723
+ query_params=query_params,
2724
+ header_params=header_params,
2725
+ response_type="ServiceProviderSummaryCollection",
2726
+ allow_control_chars=kwargs.get('allow_control_chars'),
2727
+ operation_name=operation_name,
2728
+ api_reference_link=api_reference_link,
2729
+ required_arguments=required_arguments)
2730
+ else:
2731
+ return self.base_client.call_api(
2732
+ resource_path=resource_path,
2733
+ method=method,
2734
+ query_params=query_params,
2735
+ header_params=header_params,
2736
+ response_type="ServiceProviderSummaryCollection",
2737
+ allow_control_chars=kwargs.get('allow_control_chars'),
2738
+ operation_name=operation_name,
2739
+ api_reference_link=api_reference_link,
2740
+ required_arguments=required_arguments)
2741
+
2742
+ def reject_delegated_resource_access_request(self, delegated_resource_access_request_id, reject_delegated_resource_access_request_details, **kwargs):
2743
+ """
2744
+ Rejects a Delegated Resource Access Request.
2745
+
2746
+
2747
+ :param str delegated_resource_access_request_id: (required)
2748
+ Unique Delegated Resource Access Request identifier
2749
+
2750
+ :param oci.delegate_access_control.models.RejectDelegatedResourceAccessRequestDetails reject_delegated_resource_access_request_details: (required)
2751
+ Details regarding the rejection of a Delegated Resource Access Request created by the support operator.
2752
+
2753
+ :param str opc_retry_token: (optional)
2754
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
2755
+ server error without risk of executing that same action again. Retry tokens expire after 24
2756
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
2757
+ has been deleted and purged from the system, then a retry of the original creation request
2758
+ might be rejected.
2759
+
2760
+ :param str if_match: (optional)
2761
+ For optimistic concurrency control. In the PUT or DELETE call
2762
+ for a resource, set the `if-match` parameter to the value of the
2763
+ etag from a previous GET or POST response for that resource.
2764
+ The resource will be updated or deleted only if the etag you
2765
+ provide matches the resource's current etag value.
2766
+
2767
+ :param str opc_request_id: (optional)
2768
+ The client request ID for tracing.
2769
+
2770
+ :param obj retry_strategy: (optional)
2771
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2772
+
2773
+ 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.
2774
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2775
+
2776
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2777
+
2778
+ :param bool allow_control_chars: (optional)
2779
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2780
+ By default, the response will not allow control characters in strings
2781
+
2782
+ :return: A :class:`~oci.response.Response` object with data of type None
2783
+ :rtype: :class:`~oci.response.Response`
2784
+
2785
+ :example:
2786
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/reject_delegated_resource_access_request.py.html>`__ to see an example of how to use reject_delegated_resource_access_request API.
2787
+ """
2788
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2789
+ required_arguments = ['delegatedResourceAccessRequestId']
2790
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/actions/reject"
2791
+ method = "POST"
2792
+ operation_name = "reject_delegated_resource_access_request"
2793
+ api_reference_link = ""
2794
+
2795
+ # Don't accept unknown kwargs
2796
+ expected_kwargs = [
2797
+ "allow_control_chars",
2798
+ "retry_strategy",
2799
+ "opc_retry_token",
2800
+ "if_match",
2801
+ "opc_request_id"
2802
+ ]
2803
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2804
+ if extra_kwargs:
2805
+ raise ValueError(
2806
+ f"reject_delegated_resource_access_request got unknown kwargs: {extra_kwargs!r}")
2807
+
2808
+ path_params = {
2809
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
2810
+ }
2811
+
2812
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2813
+
2814
+ for (k, v) in six.iteritems(path_params):
2815
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2816
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2817
+
2818
+ header_params = {
2819
+ "accept": "application/json",
2820
+ "content-type": "application/json",
2821
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
2822
+ "if-match": kwargs.get("if_match", missing),
2823
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2824
+ }
2825
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2826
+
2827
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2828
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2829
+ client_retry_strategy=self.retry_strategy
2830
+ )
2831
+ if retry_strategy is None:
2832
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2833
+
2834
+ if retry_strategy:
2835
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2836
+ self.base_client.add_opc_retry_token_if_needed(header_params)
2837
+ self.base_client.add_opc_client_retries_header(header_params)
2838
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2839
+ return retry_strategy.make_retrying_call(
2840
+ self.base_client.call_api,
2841
+ resource_path=resource_path,
2842
+ method=method,
2843
+ path_params=path_params,
2844
+ header_params=header_params,
2845
+ body=reject_delegated_resource_access_request_details,
2846
+ allow_control_chars=kwargs.get('allow_control_chars'),
2847
+ operation_name=operation_name,
2848
+ api_reference_link=api_reference_link,
2849
+ required_arguments=required_arguments)
2850
+ else:
2851
+ return self.base_client.call_api(
2852
+ resource_path=resource_path,
2853
+ method=method,
2854
+ path_params=path_params,
2855
+ header_params=header_params,
2856
+ body=reject_delegated_resource_access_request_details,
2857
+ allow_control_chars=kwargs.get('allow_control_chars'),
2858
+ operation_name=operation_name,
2859
+ api_reference_link=api_reference_link,
2860
+ required_arguments=required_arguments)
2861
+
2862
+ def revoke_delegated_resource_access_request(self, delegated_resource_access_request_id, revoke_delegated_resource_access_request_details, **kwargs):
2863
+ """
2864
+ Revokes an already approved Delegated Resource Access Request.
2865
+
2866
+
2867
+ :param str delegated_resource_access_request_id: (required)
2868
+ Unique Delegated Resource Access Request identifier
2869
+
2870
+ :param oci.delegate_access_control.models.RevokeDelegatedResourceAccessRequestDetails revoke_delegated_resource_access_request_details: (required)
2871
+ Details regarding the revocation of a Delegated Resource Access Request created by the support operator.
2872
+
2873
+ :param str opc_retry_token: (optional)
2874
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
2875
+ server error without risk of executing that same action again. Retry tokens expire after 24
2876
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
2877
+ has been deleted and purged from the system, then a retry of the original creation request
2878
+ might be rejected.
2879
+
2880
+ :param str if_match: (optional)
2881
+ For optimistic concurrency control. In the PUT or DELETE call
2882
+ for a resource, set the `if-match` parameter to the value of the
2883
+ etag from a previous GET or POST response for that resource.
2884
+ The resource will be updated or deleted only if the etag you
2885
+ provide matches the resource's current etag value.
2886
+
2887
+ :param str opc_request_id: (optional)
2888
+ The client request ID for tracing.
2889
+
2890
+ :param obj retry_strategy: (optional)
2891
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
2892
+
2893
+ 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.
2894
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
2895
+
2896
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
2897
+
2898
+ :param bool allow_control_chars: (optional)
2899
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
2900
+ By default, the response will not allow control characters in strings
2901
+
2902
+ :return: A :class:`~oci.response.Response` object with data of type None
2903
+ :rtype: :class:`~oci.response.Response`
2904
+
2905
+ :example:
2906
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/revoke_delegated_resource_access_request.py.html>`__ to see an example of how to use revoke_delegated_resource_access_request API.
2907
+ """
2908
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2909
+ required_arguments = ['delegatedResourceAccessRequestId']
2910
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/actions/revoke"
2911
+ method = "POST"
2912
+ operation_name = "revoke_delegated_resource_access_request"
2913
+ api_reference_link = ""
2914
+
2915
+ # Don't accept unknown kwargs
2916
+ expected_kwargs = [
2917
+ "allow_control_chars",
2918
+ "retry_strategy",
2919
+ "opc_retry_token",
2920
+ "if_match",
2921
+ "opc_request_id"
2922
+ ]
2923
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
2924
+ if extra_kwargs:
2925
+ raise ValueError(
2926
+ f"revoke_delegated_resource_access_request got unknown kwargs: {extra_kwargs!r}")
2927
+
2928
+ path_params = {
2929
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
2930
+ }
2931
+
2932
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
2933
+
2934
+ for (k, v) in six.iteritems(path_params):
2935
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
2936
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
2937
+
2938
+ header_params = {
2939
+ "accept": "application/json",
2940
+ "content-type": "application/json",
2941
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
2942
+ "if-match": kwargs.get("if_match", missing),
2943
+ "opc-request-id": kwargs.get("opc_request_id", missing)
2944
+ }
2945
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
2946
+
2947
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
2948
+ operation_retry_strategy=kwargs.get('retry_strategy'),
2949
+ client_retry_strategy=self.retry_strategy
2950
+ )
2951
+ if retry_strategy is None:
2952
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
2953
+
2954
+ if retry_strategy:
2955
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
2956
+ self.base_client.add_opc_retry_token_if_needed(header_params)
2957
+ self.base_client.add_opc_client_retries_header(header_params)
2958
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
2959
+ return retry_strategy.make_retrying_call(
2960
+ self.base_client.call_api,
2961
+ resource_path=resource_path,
2962
+ method=method,
2963
+ path_params=path_params,
2964
+ header_params=header_params,
2965
+ body=revoke_delegated_resource_access_request_details,
2966
+ allow_control_chars=kwargs.get('allow_control_chars'),
2967
+ operation_name=operation_name,
2968
+ api_reference_link=api_reference_link,
2969
+ required_arguments=required_arguments)
2970
+ else:
2971
+ return self.base_client.call_api(
2972
+ resource_path=resource_path,
2973
+ method=method,
2974
+ path_params=path_params,
2975
+ header_params=header_params,
2976
+ body=revoke_delegated_resource_access_request_details,
2977
+ allow_control_chars=kwargs.get('allow_control_chars'),
2978
+ operation_name=operation_name,
2979
+ api_reference_link=api_reference_link,
2980
+ required_arguments=required_arguments)
2981
+
2982
+ def service_provider_interaction_request(self, delegated_resource_access_request_id, service_provider_interaction_request_details, **kwargs):
2983
+ """
2984
+ Posts query for additional information for the given Delegated Resource Access Request.
2985
+
2986
+
2987
+ :param str delegated_resource_access_request_id: (required)
2988
+ Unique Delegated Resource Access Request identifier
2989
+
2990
+ :param oci.delegate_access_control.models.ServiceProviderInteractionRequestDetails service_provider_interaction_request_details: (required)
2991
+ Details containing Query for additional information provided by Customer.
2992
+
2993
+ :param str opc_retry_token: (optional)
2994
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
2995
+ server error without risk of executing that same action again. Retry tokens expire after 24
2996
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
2997
+ has been deleted and purged from the system, then a retry of the original creation request
2998
+ might be rejected.
2999
+
3000
+ :param str if_match: (optional)
3001
+ For optimistic concurrency control. In the PUT or DELETE call
3002
+ for a resource, set the `if-match` parameter to the value of the
3003
+ etag from a previous GET or POST response for that resource.
3004
+ The resource will be updated or deleted only if the etag you
3005
+ provide matches the resource's current etag value.
3006
+
3007
+ :param str opc_request_id: (optional)
3008
+ The client request ID for tracing.
3009
+
3010
+ :param obj retry_strategy: (optional)
3011
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
3012
+
3013
+ 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.
3014
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
3015
+
3016
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
3017
+
3018
+ :param bool allow_control_chars: (optional)
3019
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
3020
+ By default, the response will not allow control characters in strings
3021
+
3022
+ :return: A :class:`~oci.response.Response` object with data of type None
3023
+ :rtype: :class:`~oci.response.Response`
3024
+
3025
+ :example:
3026
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/service_provider_interaction_request.py.html>`__ to see an example of how to use service_provider_interaction_request API.
3027
+ """
3028
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3029
+ required_arguments = ['delegatedResourceAccessRequestId']
3030
+ resource_path = "/delegatedResourceAccessRequests/{delegatedResourceAccessRequestId}/actions/serviceProviderInteractionRequest"
3031
+ method = "POST"
3032
+ operation_name = "service_provider_interaction_request"
3033
+ api_reference_link = ""
3034
+
3035
+ # Don't accept unknown kwargs
3036
+ expected_kwargs = [
3037
+ "allow_control_chars",
3038
+ "retry_strategy",
3039
+ "opc_retry_token",
3040
+ "if_match",
3041
+ "opc_request_id"
3042
+ ]
3043
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
3044
+ if extra_kwargs:
3045
+ raise ValueError(
3046
+ f"service_provider_interaction_request got unknown kwargs: {extra_kwargs!r}")
3047
+
3048
+ path_params = {
3049
+ "delegatedResourceAccessRequestId": delegated_resource_access_request_id
3050
+ }
3051
+
3052
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
3053
+
3054
+ for (k, v) in six.iteritems(path_params):
3055
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
3056
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
3057
+
3058
+ header_params = {
3059
+ "accept": "application/json",
3060
+ "content-type": "application/json",
3061
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
3062
+ "if-match": kwargs.get("if_match", missing),
3063
+ "opc-request-id": kwargs.get("opc_request_id", missing)
3064
+ }
3065
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
3066
+
3067
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
3068
+ operation_retry_strategy=kwargs.get('retry_strategy'),
3069
+ client_retry_strategy=self.retry_strategy
3070
+ )
3071
+ if retry_strategy is None:
3072
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
3073
+
3074
+ if retry_strategy:
3075
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
3076
+ self.base_client.add_opc_retry_token_if_needed(header_params)
3077
+ self.base_client.add_opc_client_retries_header(header_params)
3078
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
3079
+ return retry_strategy.make_retrying_call(
3080
+ self.base_client.call_api,
3081
+ resource_path=resource_path,
3082
+ method=method,
3083
+ path_params=path_params,
3084
+ header_params=header_params,
3085
+ body=service_provider_interaction_request_details,
3086
+ allow_control_chars=kwargs.get('allow_control_chars'),
3087
+ operation_name=operation_name,
3088
+ api_reference_link=api_reference_link,
3089
+ required_arguments=required_arguments)
3090
+ else:
3091
+ return self.base_client.call_api(
3092
+ resource_path=resource_path,
3093
+ method=method,
3094
+ path_params=path_params,
3095
+ header_params=header_params,
3096
+ body=service_provider_interaction_request_details,
3097
+ allow_control_chars=kwargs.get('allow_control_chars'),
3098
+ operation_name=operation_name,
3099
+ api_reference_link=api_reference_link,
3100
+ required_arguments=required_arguments)
3101
+
3102
+ def update_delegation_control(self, delegation_control_id, update_delegation_control_details, **kwargs):
3103
+ """
3104
+ Updates the existing DelegationControl for a given Delegation Control ID.
3105
+
3106
+
3107
+ :param str delegation_control_id: (required)
3108
+ unique Delegation Control identifier
3109
+
3110
+ :param oci.delegate_access_control.models.UpdateDelegationControlDetails update_delegation_control_details: (required)
3111
+ Details for the new DelegationControl.
3112
+
3113
+ :param str if_match: (optional)
3114
+ For optimistic concurrency control. In the PUT or DELETE call
3115
+ for a resource, set the `if-match` parameter to the value of the
3116
+ etag from a previous GET or POST response for that resource.
3117
+ The resource will be updated or deleted only if the etag you
3118
+ provide matches the resource's current etag value.
3119
+
3120
+ :param str opc_request_id: (optional)
3121
+ The client request ID for tracing.
3122
+
3123
+ :param obj retry_strategy: (optional)
3124
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
3125
+
3126
+ 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.
3127
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
3128
+
3129
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
3130
+
3131
+ :param bool allow_control_chars: (optional)
3132
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
3133
+ By default, the response will not allow control characters in strings
3134
+
3135
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationControl`
3136
+ :rtype: :class:`~oci.response.Response`
3137
+
3138
+ :example:
3139
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/update_delegation_control.py.html>`__ to see an example of how to use update_delegation_control API.
3140
+ """
3141
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3142
+ required_arguments = ['delegationControlId']
3143
+ resource_path = "/delegationControls/{delegationControlId}"
3144
+ method = "PUT"
3145
+ operation_name = "update_delegation_control"
3146
+ api_reference_link = ""
3147
+
3148
+ # Don't accept unknown kwargs
3149
+ expected_kwargs = [
3150
+ "allow_control_chars",
3151
+ "retry_strategy",
3152
+ "if_match",
3153
+ "opc_request_id"
3154
+ ]
3155
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
3156
+ if extra_kwargs:
3157
+ raise ValueError(
3158
+ f"update_delegation_control got unknown kwargs: {extra_kwargs!r}")
3159
+
3160
+ path_params = {
3161
+ "delegationControlId": delegation_control_id
3162
+ }
3163
+
3164
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
3165
+
3166
+ for (k, v) in six.iteritems(path_params):
3167
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
3168
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
3169
+
3170
+ header_params = {
3171
+ "accept": "application/json",
3172
+ "content-type": "application/json",
3173
+ "if-match": kwargs.get("if_match", missing),
3174
+ "opc-request-id": kwargs.get("opc_request_id", missing)
3175
+ }
3176
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
3177
+
3178
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
3179
+ operation_retry_strategy=kwargs.get('retry_strategy'),
3180
+ client_retry_strategy=self.retry_strategy
3181
+ )
3182
+ if retry_strategy is None:
3183
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
3184
+
3185
+ if retry_strategy:
3186
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
3187
+ self.base_client.add_opc_client_retries_header(header_params)
3188
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
3189
+ return retry_strategy.make_retrying_call(
3190
+ self.base_client.call_api,
3191
+ resource_path=resource_path,
3192
+ method=method,
3193
+ path_params=path_params,
3194
+ header_params=header_params,
3195
+ body=update_delegation_control_details,
3196
+ response_type="DelegationControl",
3197
+ allow_control_chars=kwargs.get('allow_control_chars'),
3198
+ operation_name=operation_name,
3199
+ api_reference_link=api_reference_link,
3200
+ required_arguments=required_arguments)
3201
+ else:
3202
+ return self.base_client.call_api(
3203
+ resource_path=resource_path,
3204
+ method=method,
3205
+ path_params=path_params,
3206
+ header_params=header_params,
3207
+ body=update_delegation_control_details,
3208
+ response_type="DelegationControl",
3209
+ allow_control_chars=kwargs.get('allow_control_chars'),
3210
+ operation_name=operation_name,
3211
+ api_reference_link=api_reference_link,
3212
+ required_arguments=required_arguments)
3213
+
3214
+ def update_delegation_subscription(self, delegation_subscription_id, update_delegation_subscription_details, **kwargs):
3215
+ """
3216
+ Updates the existing DelegationSubscription for a given Delegation Subscription ID.
3217
+
3218
+
3219
+ :param str delegation_subscription_id: (required)
3220
+ unique Delegation Subscription identifier
3221
+
3222
+ :param oci.delegate_access_control.models.UpdateDelegationSubscriptionDetails update_delegation_subscription_details: (required)
3223
+ Details for the DelegationSubscription to be updated.
3224
+
3225
+ :param str if_match: (optional)
3226
+ For optimistic concurrency control. In the PUT or DELETE call
3227
+ for a resource, set the `if-match` parameter to the value of the
3228
+ etag from a previous GET or POST response for that resource.
3229
+ The resource will be updated or deleted only if the etag you
3230
+ provide matches the resource's current etag value.
3231
+
3232
+ :param str opc_request_id: (optional)
3233
+ The client request ID for tracing.
3234
+
3235
+ :param obj retry_strategy: (optional)
3236
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
3237
+
3238
+ 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.
3239
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
3240
+
3241
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
3242
+
3243
+ :param bool allow_control_chars: (optional)
3244
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
3245
+ By default, the response will not allow control characters in strings
3246
+
3247
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.delegate_access_control.models.DelegationSubscription`
3248
+ :rtype: :class:`~oci.response.Response`
3249
+
3250
+ :example:
3251
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.133.0/delegateaccesscontrol/update_delegation_subscription.py.html>`__ to see an example of how to use update_delegation_subscription API.
3252
+ """
3253
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3254
+ required_arguments = ['delegationSubscriptionId']
3255
+ resource_path = "/delegationSubscriptions/{delegationSubscriptionId}"
3256
+ method = "PUT"
3257
+ operation_name = "update_delegation_subscription"
3258
+ api_reference_link = ""
3259
+
3260
+ # Don't accept unknown kwargs
3261
+ expected_kwargs = [
3262
+ "allow_control_chars",
3263
+ "retry_strategy",
3264
+ "if_match",
3265
+ "opc_request_id"
3266
+ ]
3267
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
3268
+ if extra_kwargs:
3269
+ raise ValueError(
3270
+ f"update_delegation_subscription got unknown kwargs: {extra_kwargs!r}")
3271
+
3272
+ path_params = {
3273
+ "delegationSubscriptionId": delegation_subscription_id
3274
+ }
3275
+
3276
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
3277
+
3278
+ for (k, v) in six.iteritems(path_params):
3279
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
3280
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
3281
+
3282
+ header_params = {
3283
+ "accept": "application/json",
3284
+ "content-type": "application/json",
3285
+ "if-match": kwargs.get("if_match", missing),
3286
+ "opc-request-id": kwargs.get("opc_request_id", missing)
3287
+ }
3288
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
3289
+
3290
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
3291
+ operation_retry_strategy=kwargs.get('retry_strategy'),
3292
+ client_retry_strategy=self.retry_strategy
3293
+ )
3294
+ if retry_strategy is None:
3295
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
3296
+
3297
+ if retry_strategy:
3298
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
3299
+ self.base_client.add_opc_client_retries_header(header_params)
3300
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
3301
+ return retry_strategy.make_retrying_call(
3302
+ self.base_client.call_api,
3303
+ resource_path=resource_path,
3304
+ method=method,
3305
+ path_params=path_params,
3306
+ header_params=header_params,
3307
+ body=update_delegation_subscription_details,
3308
+ response_type="DelegationSubscription",
3309
+ allow_control_chars=kwargs.get('allow_control_chars'),
3310
+ operation_name=operation_name,
3311
+ api_reference_link=api_reference_link,
3312
+ required_arguments=required_arguments)
3313
+ else:
3314
+ return self.base_client.call_api(
3315
+ resource_path=resource_path,
3316
+ method=method,
3317
+ path_params=path_params,
3318
+ header_params=header_params,
3319
+ body=update_delegation_subscription_details,
3320
+ response_type="DelegationSubscription",
3321
+ allow_control_chars=kwargs.get('allow_control_chars'),
3322
+ operation_name=operation_name,
3323
+ api_reference_link=api_reference_link,
3324
+ required_arguments=required_arguments)