oci 2.152.0__py3-none-any.whl → 2.153.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. oci/__init__.py +2 -2
  2. oci/access_governance_cp/access_governance_cp_client.py +8 -8
  3. oci/addons/adk/auth/__init__.py +2 -0
  4. oci/addons/adk/auth/oci/__init__.py +2 -0
  5. oci/addons/adk/run/__init__.py +2 -0
  6. oci/addons/adk/tool/function_tool.py +2 -1
  7. oci/adm/application_dependency_management_client.py +38 -38
  8. oci/adm/models/application_dependency.py +4 -3
  9. oci/adm/models/application_dependency_recommendation_summary.py +4 -4
  10. oci/adm/models/application_dependency_vulnerability_summary.py +57 -6
  11. oci/adm/models/detect_configuration.py +7 -7
  12. oci/adm/models/network_configuration.py +1 -2
  13. oci/adm/models/vulnerability.py +8 -4
  14. oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
  15. oci/ai_document/ai_service_document_client.py +26 -26
  16. oci/ai_language/ai_service_language_client.py +44 -44
  17. oci/ai_speech/ai_service_speech_client.py +19 -19
  18. oci/ai_vision/ai_service_vision_client.py +28 -28
  19. oci/analytics/analytics_client.py +24 -24
  20. oci/announcements_service/announcement_client.py +5 -5
  21. oci/announcements_service/announcement_subscription_client.py +9 -9
  22. oci/announcements_service/announcements_preferences_client.py +4 -4
  23. oci/announcements_service/service_client.py +1 -1
  24. oci/apigateway/api_gateway_client.py +21 -21
  25. oci/apigateway/deployment_client.py +6 -6
  26. oci/apigateway/gateway_client.py +6 -6
  27. oci/apigateway/subscribers_client.py +6 -6
  28. oci/apigateway/usage_plans_client.py +6 -6
  29. oci/apigateway/work_requests_client.py +5 -5
  30. oci/apm_config/config_client.py +12 -12
  31. oci/apm_control_plane/apm_domain_client.py +14 -14
  32. oci/apm_synthetics/apm_synthetic_client.py +30 -30
  33. oci/apm_synthetics/models/create_script_details.py +10 -6
  34. oci/apm_synthetics/models/monitor.py +51 -0
  35. oci/apm_synthetics/models/monitor_result.py +2 -2
  36. oci/apm_synthetics/models/script.py +9 -5
  37. oci/apm_synthetics/models/script_summary.py +7 -3
  38. oci/apm_synthetics/models/update_script_details.py +10 -6
  39. oci/apm_traces/attributes_client.py +8 -8
  40. oci/apm_traces/query_client.py +2 -2
  41. oci/apm_traces/trace_client.py +4 -4
  42. oci/appmgmt_control/appmgmt_control_client.py +8 -8
  43. oci/artifacts/artifacts_client.py +32 -32
  44. oci/audit/audit_client.py +3 -3
  45. oci/autoscaling/auto_scaling_client.py +11 -11
  46. oci/bastion/bastion_client.py +15 -15
  47. oci/bds/bds_client.py +578 -86
  48. oci/bds/bds_client_composite_operations.py +42 -0
  49. oci/bds/models/__init__.py +26 -0
  50. oci/bds/models/bds_capacity_report.py +132 -0
  51. oci/bds/models/bds_software_update.py +109 -0
  52. oci/bds/models/capacity_availability.py +121 -0
  53. oci/bds/models/capacity_report_shape_availability.py +128 -0
  54. oci/bds/models/create_bds_capacity_report_details.py +101 -0
  55. oci/bds/models/create_capacity_report_shape_availability_details.py +97 -0
  56. oci/bds/models/domain_type_capacity_report.py +107 -0
  57. oci/bds/models/install_os_patch_details.py +33 -2
  58. oci/bds/models/install_software_updates_details.py +70 -0
  59. oci/bds/models/multi_ad_capacity_report.py +107 -0
  60. oci/bds/models/os_patch_package_summary.py +57 -2
  61. oci/bds/models/patch_history_summary.py +13 -7
  62. oci/bds/models/single_ad_capacity_report.py +107 -0
  63. oci/bds/models/software_update.py +253 -0
  64. oci/bds/models/software_update_collection.py +70 -0
  65. oci/bds/models/software_update_summary.py +194 -0
  66. oci/bds/models/work_request.py +7 -3
  67. oci/blockchain/blockchain_platform_client.py +27 -27
  68. oci/budget/budget_client.py +10 -10
  69. oci/capacity_management/__init__.py +5 -1
  70. oci/capacity_management/capacity_management_client.py +32 -32
  71. oci/capacity_management/demand_signal_client.py +1645 -0
  72. oci/capacity_management/demand_signal_client_composite_operations.py +318 -0
  73. oci/capacity_management/internal_demand_signal_client.py +1605 -0
  74. oci/capacity_management/internal_demand_signal_client_composite_operations.py +172 -0
  75. oci/capacity_management/models/__init__.py +79 -1
  76. oci/capacity_management/models/bulk_create_occm_demand_signal_item.py +400 -0
  77. oci/capacity_management/models/bulk_create_occm_demand_signal_item_details.py +101 -0
  78. oci/capacity_management/models/create_internal_occm_demand_signal_delivery_details.py +322 -0
  79. oci/capacity_management/models/create_occm_demand_signal_details.py +198 -0
  80. oci/capacity_management/models/create_occm_demand_signal_item_details.py +462 -0
  81. oci/capacity_management/models/internal_occm_demand_signal.py +431 -0
  82. oci/capacity_management/models/internal_occm_demand_signal_catalog_resource.py +620 -0
  83. oci/capacity_management/models/internal_occm_demand_signal_catalog_resource_collection.py +70 -0
  84. oci/capacity_management/models/internal_occm_demand_signal_catalog_resource_summary.py +588 -0
  85. oci/capacity_management/models/internal_occm_demand_signal_collection.py +70 -0
  86. oci/capacity_management/models/internal_occm_demand_signal_delivery.py +555 -0
  87. oci/capacity_management/models/internal_occm_demand_signal_delivery_collection.py +70 -0
  88. oci/capacity_management/models/internal_occm_demand_signal_delivery_summary.py +495 -0
  89. oci/capacity_management/models/internal_occm_demand_signal_item_collection.py +70 -0
  90. oci/capacity_management/models/internal_occm_demand_signal_item_summary.py +674 -0
  91. oci/capacity_management/models/internal_occm_demand_signal_summary.py +431 -0
  92. oci/capacity_management/models/occm_demand_signal.py +464 -0
  93. oci/capacity_management/models/occm_demand_signal_catalog.py +418 -0
  94. oci/capacity_management/models/occm_demand_signal_catalog_collection.py +70 -0
  95. oci/capacity_management/models/occm_demand_signal_catalog_resource.py +558 -0
  96. oci/capacity_management/models/occm_demand_signal_catalog_resource_collection.py +70 -0
  97. oci/capacity_management/models/occm_demand_signal_catalog_resource_summary.py +526 -0
  98. oci/capacity_management/models/occm_demand_signal_catalog_summary.py +386 -0
  99. oci/capacity_management/models/occm_demand_signal_collection.py +70 -0
  100. oci/capacity_management/models/occm_demand_signal_delivery_collection.py +70 -0
  101. oci/capacity_management/models/occm_demand_signal_delivery_summary.py +481 -0
  102. oci/capacity_management/models/occm_demand_signal_item.py +675 -0
  103. oci/capacity_management/models/occm_demand_signal_item_collection.py +70 -0
  104. oci/capacity_management/models/occm_demand_signal_item_summary.py +643 -0
  105. oci/capacity_management/models/occm_demand_signal_resource_properties_collection.py +70 -0
  106. oci/capacity_management/models/occm_demand_signal_resource_properties_summary.py +256 -0
  107. oci/capacity_management/models/occm_demand_signal_resource_property_constraints_collection.py +70 -0
  108. oci/capacity_management/models/occm_demand_signal_resource_property_constraints_summary.py +101 -0
  109. oci/capacity_management/models/occm_demand_signal_resource_property_option_summary.py +101 -0
  110. oci/capacity_management/models/occm_demand_signal_summary.py +400 -0
  111. oci/capacity_management/models/update_internal_occm_demand_signal_delivery_details.py +260 -0
  112. oci/capacity_management/models/update_internal_occm_demand_signal_details.py +98 -0
  113. oci/capacity_management/models/update_occm_demand_signal_details.py +210 -0
  114. oci/capacity_management/models/update_occm_demand_signal_item_details.py +326 -0
  115. oci/certificates/certificates_client.py +5 -5
  116. oci/certificates_management/certificates_management_client.py +32 -32
  117. oci/cims/incident_client.py +6 -6
  118. oci/cloud_bridge/common_client.py +5 -5
  119. oci/cloud_bridge/discovery_client.py +15 -15
  120. oci/cloud_bridge/inventory_client.py +16 -16
  121. oci/cloud_bridge/ocb_agent_svc_client.py +23 -23
  122. oci/cloud_guard/cloud_guard_client.py +155 -155
  123. oci/cloud_migrations/migration_client.py +43 -43
  124. oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
  125. oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
  126. oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
  127. oci/compute_instance_agent/plugin_client.py +2 -2
  128. oci/compute_instance_agent/pluginconfig_client.py +1 -1
  129. oci/container_engine/container_engine_client.py +46 -46
  130. oci/container_engine/models/cluster.py +33 -2
  131. oci/container_instances/container_instance_client.py +18 -18
  132. oci/core/blockstorage_client.py +60 -60
  133. oci/core/compute_client.py +1095 -163
  134. oci/core/compute_client_composite_operations.py +403 -0
  135. oci/core/compute_management_client.py +32 -32
  136. oci/core/models/__init__.py +30 -0
  137. oci/core/models/attach_compute_host_group_host_details.py +74 -0
  138. oci/core/models/change_compute_host_group_compartment_details.py +76 -0
  139. oci/core/models/compute_bare_metal_host_placement_constraint_details.py +79 -0
  140. oci/core/models/compute_host.py +191 -0
  141. oci/core/models/compute_host_configuration_check_details.py +243 -0
  142. oci/core/models/compute_host_configuration_data.py +97 -0
  143. oci/core/models/compute_host_group.py +483 -0
  144. oci/core/models/compute_host_group_collection.py +70 -0
  145. oci/core/models/compute_host_group_summary.py +428 -0
  146. oci/core/models/compute_host_summary.py +62 -0
  147. oci/core/models/create_compute_host_group_details.py +282 -0
  148. oci/core/models/create_dedicated_vm_host_details.py +29 -2
  149. oci/core/models/create_ipv6_details.py +4 -4
  150. oci/core/models/create_local_peering_gateway_details.py +45 -0
  151. oci/core/models/create_private_ip_details.py +4 -4
  152. oci/core/models/create_vcn_details.py +33 -2
  153. oci/core/models/create_volume_details.py +8 -2
  154. oci/core/models/dedicated_vm_host.py +27 -0
  155. oci/core/models/detach_compute_host_group_host_details.py +74 -0
  156. oci/core/models/host_group_configuration.py +152 -0
  157. oci/core/models/host_group_placement_constraint_details.py +79 -0
  158. oci/core/models/instance.py +64 -2
  159. oci/core/models/instance_configuration_create_volume_details.py +8 -2
  160. oci/core/models/ipv6.py +4 -4
  161. oci/core/models/launch_instance_details.py +58 -0
  162. oci/core/models/local_peering_gateway.py +45 -0
  163. oci/core/models/placement_constraint_details.py +91 -0
  164. oci/core/models/private_ip.py +4 -4
  165. oci/core/models/recycle_details.py +125 -0
  166. oci/core/models/update_compute_host_group_details.py +216 -0
  167. oci/core/models/update_ipv6_details.py +4 -4
  168. oci/core/models/update_local_peering_gateway_details.py +45 -0
  169. oci/core/models/update_private_ip_details.py +4 -4
  170. oci/core/models/update_vcn_details.py +33 -2
  171. oci/core/models/update_vnic_details.py +2 -2
  172. oci/core/models/update_volume_details.py +8 -2
  173. oci/core/models/vcn.py +33 -2
  174. oci/core/models/vnic.py +2 -2
  175. oci/core/models/volume.py +8 -2
  176. oci/core/virtual_network_client.py +260 -260
  177. oci/dashboard_service/dashboard_client.py +6 -6
  178. oci/dashboard_service/dashboard_group_client.py +6 -6
  179. oci/data_catalog/data_catalog_client.py +149 -149
  180. oci/data_flow/data_flow_client.py +45 -45
  181. oci/data_integration/data_integration_client.py +163 -163
  182. oci/data_labeling_service/data_labeling_management_client.py +17 -17
  183. oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
  184. oci/data_safe/data_safe_client.py +317 -317
  185. oci/data_science/data_science_client.py +145 -145
  186. oci/database/database_client.py +795 -508
  187. oci/database/models/__init__.py +2 -0
  188. oci/database/models/autonomous_container_database.py +2 -2
  189. oci/database/models/autonomous_container_database_summary.py +2 -2
  190. oci/database/models/autonomous_db_version_summary.py +31 -0
  191. oci/database/models/backup.py +11 -5
  192. oci/database/models/backup_summary.py +11 -5
  193. oci/database/models/create_database_base.py +1 -1
  194. oci/database/models/create_external_backup_job_details.py +11 -7
  195. oci/database/models/db_system.py +11 -5
  196. oci/database/models/db_system_summary.py +11 -5
  197. oci/database/models/db_system_upgrade_summary.py +152 -0
  198. oci/database/models/external_container_database.py +11 -5
  199. oci/database/models/external_container_database_summary.py +11 -5
  200. oci/database/models/external_database_base.py +11 -5
  201. oci/database/models/external_non_container_database.py +11 -5
  202. oci/database/models/external_non_container_database_summary.py +11 -5
  203. oci/database/models/external_pluggable_database.py +11 -5
  204. oci/database/models/external_pluggable_database_summary.py +11 -5
  205. oci/database/models/launch_db_system_details.py +7 -3
  206. oci/database/models/launch_db_system_from_backup_details.py +7 -3
  207. oci/database/models/launch_db_system_from_database_details.py +7 -3
  208. oci/database_management/db_management_client.py +229 -229
  209. oci/database_management/diagnosability_client.py +4 -4
  210. oci/database_management/managed_my_sql_databases_client.py +7 -7
  211. oci/database_management/perfhub_client.py +1 -1
  212. oci/database_management/sql_tuning_client.py +17 -17
  213. oci/database_migration/database_migration_client.py +42 -42
  214. oci/database_tools/database_tools_client.py +23 -23
  215. oci/dblm/db_life_cycle_management_client.py +14 -14
  216. oci/delegate_access_control/delegate_access_control_client.py +26 -26
  217. oci/delegate_access_control/work_request_client.py +4 -4
  218. oci/demand_signal/occ_demand_signal_client.py +7 -7
  219. oci/desktops/desktop_service_client.py +21 -21
  220. oci/devops/devops_client.py +141 -141
  221. oci/disaster_recovery/disaster_recovery_client.py +31 -31
  222. oci/distributed_database/__init__.py +20 -0
  223. oci/distributed_database/distributed_autonomous_db_service_client.py +2315 -0
  224. oci/distributed_database/distributed_autonomous_db_service_client_composite_operations.py +605 -0
  225. oci/distributed_database/distributed_db_private_endpoint_service_client.py +944 -0
  226. oci/distributed_database/distributed_db_private_endpoint_service_client_composite_operations.py +238 -0
  227. oci/distributed_database/distributed_db_service_client.py +2435 -0
  228. oci/distributed_database/distributed_db_service_client_composite_operations.py +647 -0
  229. oci/distributed_database/distributed_db_work_request_service_client.py +654 -0
  230. oci/distributed_database/distributed_db_work_request_service_client_composite_operations.py +26 -0
  231. oci/distributed_database/models/__init__.py +158 -0
  232. oci/distributed_database/models/add_distributed_autonomous_database_gds_control_node_details.py +105 -0
  233. oci/distributed_database/models/add_distributed_database_gds_control_node_details.py +105 -0
  234. oci/distributed_database/models/catalog_peer_with_dedicated_infra.py +331 -0
  235. oci/distributed_database/models/catalog_peer_with_exadb_xs.py +331 -0
  236. oci/distributed_database/models/change_distributed_autonomous_database_compartment_details.py +74 -0
  237. oci/distributed_database/models/change_distributed_database_compartment_details.py +74 -0
  238. oci/distributed_database/models/change_distributed_database_private_endpoint_compartment_details.py +74 -0
  239. oci/distributed_database/models/change_distributed_db_backup_config_details.py +66 -0
  240. oci/distributed_database/models/configure_distributed_autonomous_database_gsms_details.py +103 -0
  241. oci/distributed_database/models/configure_distributed_database_gsms_details.py +103 -0
  242. oci/distributed_database/models/create_distributed_autonomous_database_catalog_details.py +101 -0
  243. oci/distributed_database/models/create_distributed_autonomous_database_catalog_with_dedicated_infra_details.py +342 -0
  244. oci/distributed_database/models/create_distributed_autonomous_database_details.py +799 -0
  245. oci/distributed_database/models/create_distributed_autonomous_database_shard_details.py +101 -0
  246. oci/distributed_database/models/create_distributed_autonomous_database_shard_with_dedicated_infra_details.py +377 -0
  247. oci/distributed_database/models/create_distributed_database_catalog_details.py +99 -0
  248. oci/distributed_database/models/create_distributed_database_catalog_with_exadb_xs_details.py +282 -0
  249. oci/distributed_database/models/create_distributed_database_details.py +810 -0
  250. oci/distributed_database/models/create_distributed_database_private_endpoint_details.py +260 -0
  251. oci/distributed_database/models/create_distributed_database_shard_details.py +99 -0
  252. oci/distributed_database/models/create_distributed_database_shard_with_exadb_xs_details.py +282 -0
  253. oci/distributed_database/models/distributed_autonomous_database.py +1143 -0
  254. oci/distributed_database/models/distributed_autonomous_database_associated_with_private_endpoint.py +105 -0
  255. oci/distributed_database/models/distributed_autonomous_database_catalog.py +194 -0
  256. oci/distributed_database/models/distributed_autonomous_database_catalog_with_dedicated_infra.py +559 -0
  257. oci/distributed_database/models/distributed_autonomous_database_collection.py +70 -0
  258. oci/distributed_database/models/distributed_autonomous_database_connection_string.py +70 -0
  259. oci/distributed_database/models/distributed_autonomous_database_gsm.py +385 -0
  260. oci/distributed_database/models/distributed_autonomous_database_gsm_image.py +105 -0
  261. oci/distributed_database/models/distributed_autonomous_database_shard.py +194 -0
  262. oci/distributed_database/models/distributed_autonomous_database_shard_with_dedicated_infra.py +592 -0
  263. oci/distributed_database/models/distributed_autonomous_database_summary.py +935 -0
  264. oci/distributed_database/models/distributed_autonomous_db_metadata.py +70 -0
  265. oci/distributed_database/models/distributed_database.py +1154 -0
  266. oci/distributed_database/models/distributed_database_associated_with_private_endpoint.py +105 -0
  267. oci/distributed_database/models/distributed_database_catalog.py +192 -0
  268. oci/distributed_database/models/distributed_database_catalog_with_exadb_xs.py +466 -0
  269. oci/distributed_database/models/distributed_database_collection.py +70 -0
  270. oci/distributed_database/models/distributed_database_gsm.py +385 -0
  271. oci/distributed_database/models/distributed_database_private_endpoint.py +639 -0
  272. oci/distributed_database/models/distributed_database_private_endpoint_collection.py +70 -0
  273. oci/distributed_database/models/distributed_database_private_endpoint_summary.py +479 -0
  274. oci/distributed_database/models/distributed_database_shard.py +192 -0
  275. oci/distributed_database/models/distributed_database_shard_with_exadb_xs.py +499 -0
  276. oci/distributed_database/models/distributed_database_summary.py +904 -0
  277. oci/distributed_database/models/distributed_db_backup_config.py +536 -0
  278. oci/distributed_database/models/distributed_db_backup_destination.py +362 -0
  279. oci/distributed_database/models/distributed_db_connection_string.py +70 -0
  280. oci/distributed_database/models/distributed_db_gsm_image.py +105 -0
  281. oci/distributed_database/models/distributed_db_metadata.py +70 -0
  282. oci/distributed_database/models/generate_distributed_autonomous_database_wallet_details.py +70 -0
  283. oci/distributed_database/models/generate_distributed_database_wallet_details.py +70 -0
  284. oci/distributed_database/models/patch_distributed_autonomous_database_details.py +73 -0
  285. oci/distributed_database/models/patch_distributed_database_details.py +73 -0
  286. oci/distributed_database/models/patch_insert_instruction.py +87 -0
  287. oci/distributed_database/models/patch_instruction.py +154 -0
  288. oci/distributed_database/models/patch_merge_instruction.py +95 -0
  289. oci/distributed_database/models/patch_remove_instruction.py +57 -0
  290. oci/distributed_database/models/shard_peer_with_dedicated_infra.py +331 -0
  291. oci/distributed_database/models/shard_peer_with_exadb_xs.py +331 -0
  292. oci/distributed_database/models/update_distributed_autonomous_database_details.py +136 -0
  293. oci/distributed_database/models/update_distributed_database_details.py +136 -0
  294. oci/distributed_database/models/update_distributed_database_private_endpoint_details.py +198 -0
  295. oci/distributed_database/models/upload_distributed_autonomous_database_signed_certificate_and_generate_wallet_details.py +71 -0
  296. oci/distributed_database/models/upload_distributed_database_signed_certificate_and_generate_wallet_details.py +71 -0
  297. oci/distributed_database/models/work_request.py +516 -0
  298. oci/distributed_database/models/work_request_error.py +134 -0
  299. oci/distributed_database/models/work_request_error_collection.py +70 -0
  300. oci/distributed_database/models/work_request_log_entry.py +101 -0
  301. oci/distributed_database/models/work_request_log_entry_collection.py +70 -0
  302. oci/distributed_database/models/work_request_resource.py +232 -0
  303. oci/distributed_database/models/work_request_summary.py +516 -0
  304. oci/distributed_database/models/work_request_summary_collection.py +70 -0
  305. oci/dns/dns_client.py +54 -54
  306. oci/dts/appliance_export_job_client.py +6 -6
  307. oci/dts/shipping_vendors_client.py +1 -1
  308. oci/dts/transfer_appliance_client.py +8 -8
  309. oci/dts/transfer_appliance_entitlement_client.py +3 -3
  310. oci/dts/transfer_device_client.py +5 -5
  311. oci/dts/transfer_job_client.py +6 -6
  312. oci/dts/transfer_package_client.py +7 -7
  313. oci/em_warehouse/em_warehouse_client.py +13 -13
  314. oci/email/email_client.py +31 -31
  315. oci/email_data_plane/email_dp_client.py +1 -1
  316. oci/events/events_client.py +6 -6
  317. oci/file_storage/file_storage_client.py +74 -74
  318. oci/fleet_apps_management/fleet_apps_management_admin_client.py +27 -27
  319. oci/fleet_apps_management/fleet_apps_management_catalog_client.py +7 -7
  320. oci/fleet_apps_management/fleet_apps_management_client.py +32 -32
  321. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +5 -5
  322. oci/fleet_apps_management/fleet_apps_management_operations_client.py +29 -29
  323. oci/fleet_apps_management/fleet_apps_management_provision_client.py +6 -6
  324. oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +19 -19
  325. oci/fleet_apps_management/fleet_apps_management_work_request_client.py +4 -4
  326. oci/fleet_software_update/fleet_software_update_client.py +46 -46
  327. oci/functions/functions_invoke_client.py +1 -1
  328. oci/functions/functions_management_client.py +16 -16
  329. oci/fusion_apps/fusion_applications_client.py +41 -41
  330. oci/generative_ai/generative_ai_client.py +22 -22
  331. oci/generative_ai_agent/generative_ai_agent_client.py +38 -38
  332. oci/generative_ai_agent_runtime/generative_ai_agent_runtime_client.py +6 -6
  333. oci/generative_ai_inference/generative_ai_inference_client.py +6 -6
  334. oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
  335. oci/globally_distributed_database/sharded_database_service_client.py +30 -30
  336. oci/golden_gate/golden_gate_client.py +89 -89
  337. oci/governance_rules_control_plane/governance_rule_client.py +15 -15
  338. oci/governance_rules_control_plane/work_request_client.py +5 -5
  339. oci/healthchecks/health_checks_client.py +17 -17
  340. oci/identity/identity_client.py +145 -145
  341. oci/identity_data_plane/dataplane_client.py +2 -2
  342. oci/identity_domains/identity_domains_client.py +311 -311
  343. oci/integration/integration_instance_client.py +19 -19
  344. oci/jms/java_management_service_client.py +79 -79
  345. oci/jms_java_downloads/java_download_client.py +25 -25
  346. oci/key_management/ekm_client.py +5 -5
  347. oci/key_management/kms_crypto_client.py +6 -6
  348. oci/key_management/kms_hsm_cluster_client.py +12 -12
  349. oci/key_management/kms_management_client.py +21 -21
  350. oci/key_management/kms_vault_client.py +14 -14
  351. oci/license_manager/license_manager_client.py +18 -18
  352. oci/limits/limits_client.py +4 -4
  353. oci/limits/quotas_client.py +7 -7
  354. oci/load_balancer/load_balancer_client.py +61 -61
  355. oci/lockbox/lockbox_client.py +24 -24
  356. oci/log_analytics/log_analytics_client.py +200 -200
  357. oci/logging/logging_management_client.py +30 -30
  358. oci/loggingingestion/logging_client.py +1 -1
  359. oci/loggingsearch/log_search_client.py +1 -1
  360. oci/lustre_file_storage/lustre_file_storage_client.py +11 -11
  361. oci/management_agent/management_agent_client.py +28 -28
  362. oci/management_dashboard/dashx_apis_client.py +474 -14
  363. oci/management_dashboard/models/management_dashboard_tile_details.py +33 -2
  364. oci/marketplace/account_client.py +2 -2
  365. oci/marketplace/marketplace_client.py +30 -30
  366. oci/marketplace_private_offer/attachment_client.py +5 -5
  367. oci/marketplace_private_offer/offer_client.py +6 -6
  368. oci/marketplace_publisher/attachment_client.py +5 -5
  369. oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
  370. oci/marketplace_publisher/offer_client.py +6 -6
  371. oci/media_services/media_services_client.py +60 -60
  372. oci/media_services/media_stream_client.py +2 -2
  373. oci/mngdmac/mac_device_client.py +3 -3
  374. oci/mngdmac/mac_order_client.py +11 -11
  375. oci/model_deployment/model_deployment_client.py +2 -2
  376. oci/monitoring/monitoring_client.py +18 -18
  377. oci/mysql/channels_client.py +7 -7
  378. oci/mysql/db_backups_client.py +7 -7
  379. oci/mysql/db_system_client.py +17 -17
  380. oci/mysql/models/__init__.py +6 -0
  381. oci/mysql/models/create_db_system_details.py +58 -0
  382. oci/mysql/models/create_rest_details.py +117 -0
  383. oci/mysql/models/db_system.py +58 -0
  384. oci/mysql/models/db_system_snapshot.py +58 -0
  385. oci/mysql/models/db_system_summary.py +27 -0
  386. oci/mysql/models/replica.py +31 -0
  387. oci/mysql/models/replica_overrides.py +33 -2
  388. oci/mysql/models/replica_summary.py +31 -0
  389. oci/mysql/models/rest_details.py +117 -0
  390. oci/mysql/models/update_db_system_details.py +58 -0
  391. oci/mysql/models/update_rest_details.py +117 -0
  392. oci/mysql/mysqlaas_client.py +7 -7
  393. oci/mysql/replicas_client.py +5 -5
  394. oci/mysql/work_requests_client.py +4 -4
  395. oci/network_firewall/models/__init__.py +24 -0
  396. oci/network_firewall/models/create_nat_rule_details.py +193 -0
  397. oci/network_firewall/models/create_nat_v4_rule_details.py +144 -0
  398. oci/network_firewall/models/create_network_firewall_details.py +27 -0
  399. oci/network_firewall/models/nat_configuration_request.py +70 -0
  400. oci/network_firewall/models/nat_configuration_response.py +101 -0
  401. oci/network_firewall/models/nat_rule.py +254 -0
  402. oci/network_firewall/models/nat_rule_collection.py +70 -0
  403. oci/network_firewall/models/nat_rule_match_criteria.py +132 -0
  404. oci/network_firewall/models/nat_rule_summary.py +228 -0
  405. oci/network_firewall/models/nat_v4_nat_rule.py +159 -0
  406. oci/network_firewall/models/nat_v4_nat_summary.py +152 -0
  407. oci/network_firewall/models/network_firewall.py +30 -11
  408. oci/network_firewall/models/network_firewall_policy.py +3 -11
  409. oci/network_firewall/models/network_firewall_policy_summary.py +3 -11
  410. oci/network_firewall/models/network_firewall_summary.py +30 -11
  411. oci/network_firewall/models/update_nat_rule_details.py +162 -0
  412. oci/network_firewall/models/update_nat_v4_rule_details.py +137 -0
  413. oci/network_firewall/models/update_network_firewall_details.py +27 -0
  414. oci/network_firewall/network_firewall_client.py +848 -108
  415. oci/network_firewall/network_firewall_client_composite_operations.py +42 -0
  416. oci/network_load_balancer/network_load_balancer_client.py +35 -35
  417. oci/nosql/nosql_client.py +24 -24
  418. oci/object_storage/object_storage_client.py +55 -55
  419. oci/oce/oce_instance_client.py +10 -10
  420. oci/oci_control_center/occ_metrics_client.py +3 -3
  421. oci/ocvp/cluster_client.py +5 -5
  422. oci/ocvp/esxi_host_client.py +8 -8
  423. oci/ocvp/sddc_client.py +14 -14
  424. oci/ocvp/work_request_client.py +4 -4
  425. oci/oda/management_client.py +59 -59
  426. oci/oda/oda_client.py +17 -17
  427. oci/oda/odapackage_client.py +7 -7
  428. oci/onesubscription/billing_schedule_client.py +1 -1
  429. oci/onesubscription/commitment_client.py +2 -2
  430. oci/onesubscription/computed_usage_client.py +3 -3
  431. oci/onesubscription/invoice_summary_client.py +2 -2
  432. oci/onesubscription/organization_subscription_client.py +1 -1
  433. oci/onesubscription/ratecard_client.py +1 -1
  434. oci/onesubscription/subscribed_service_client.py +2 -2
  435. oci/onesubscription/subscription_client.py +1 -1
  436. oci/ons/notification_control_plane_client.py +6 -6
  437. oci/ons/notification_data_plane_client.py +10 -10
  438. oci/opa/opa_instance_client.py +13 -13
  439. oci/opensearch/opensearch_cluster_backup_client.py +4 -4
  440. oci/opensearch/opensearch_cluster_client.py +17 -17
  441. oci/opensearch/opensearch_cluster_pipeline_client.py +5 -5
  442. oci/operator_access_control/access_requests_client.py +10 -10
  443. oci/operator_access_control/operator_actions_client.py +2 -2
  444. oci/operator_access_control/operator_control_assignment_client.py +8 -8
  445. oci/operator_access_control/operator_control_client.py +6 -6
  446. oci/opsi/operations_insights_client.py +181 -181
  447. oci/optimizer/optimizer_client.py +26 -26
  448. oci/os_management/event_client.py +8 -8
  449. oci/os_management/os_management_client.py +69 -69
  450. oci/os_management_hub/event_client.py +8 -8
  451. oci/os_management_hub/lifecycle_environment_client.py +13 -13
  452. oci/os_management_hub/managed_instance_client.py +33 -33
  453. oci/os_management_hub/managed_instance_group_client.py +26 -26
  454. oci/os_management_hub/management_station_client.py +10 -10
  455. oci/os_management_hub/onboarding_client.py +13 -13
  456. oci/os_management_hub/reporting_managed_instance_client.py +3 -3
  457. oci/os_management_hub/scheduled_job_client.py +7 -7
  458. oci/os_management_hub/software_source_client.py +33 -33
  459. oci/os_management_hub/work_request_client.py +5 -5
  460. oci/osp_gateway/address_rule_service_client.py +1 -1
  461. oci/osp_gateway/address_service_client.py +2 -2
  462. oci/osp_gateway/invoice_service_client.py +5 -5
  463. oci/osp_gateway/subscription_service_client.py +5 -5
  464. oci/osub_billing_schedule/billing_schedule_client.py +1 -1
  465. oci/osub_organization_subscription/organization_subscription_client.py +1 -1
  466. oci/osub_subscription/commitment_client.py +2 -2
  467. oci/osub_subscription/ratecard_client.py +1 -1
  468. oci/osub_subscription/subscription_client.py +1 -1
  469. oci/osub_usage/computed_usage_client.py +3 -3
  470. oci/psql/postgresql_client.py +34 -34
  471. oci/queue/queue_admin_client.py +11 -11
  472. oci/queue/queue_client.py +8 -8
  473. oci/recovery/database_recovery_client.py +26 -26
  474. oci/redis/redis_cluster_client.py +12 -12
  475. oci/resource_manager/resource_manager_client.py +52 -52
  476. oci/resource_scheduler/schedule_client.py +14 -14
  477. oci/resource_search/resource_search_client.py +3 -3
  478. oci/rover/rover_bundle_client.py +8 -8
  479. oci/rover/rover_cluster_client.py +8 -8
  480. oci/rover/rover_entitlement_client.py +6 -6
  481. oci/rover/rover_node_client.py +15 -15
  482. oci/rover/shape_client.py +1 -1
  483. oci/rover/work_requests_client.py +5 -5
  484. oci/sch/connector_plugins_client.py +2 -2
  485. oci/sch/service_connector_client.py +12 -12
  486. oci/secrets/secrets_client.py +3 -3
  487. oci/security_attribute/security_attribute_client.py +18 -18
  488. oci/service_catalog/service_catalog_client.py +26 -26
  489. oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
  490. oci/service_mesh/service_mesh_client.py +48 -48
  491. oci/stack_monitoring/stack_monitoring_client.py +87 -87
  492. oci/streaming/stream_admin_client.py +18 -18
  493. oci/streaming/stream_client.py +8 -8
  494. oci/tenant_manager_control_plane/domain_client.py +5 -5
  495. oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
  496. oci/tenant_manager_control_plane/governance_client.py +2 -2
  497. oci/tenant_manager_control_plane/link_client.py +3 -3
  498. oci/tenant_manager_control_plane/orders_client.py +2 -2
  499. oci/tenant_manager_control_plane/organization_client.py +10 -10
  500. oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
  501. oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
  502. oci/tenant_manager_control_plane/subscription_client.py +11 -11
  503. oci/tenant_manager_control_plane/work_request_client.py +4 -4
  504. oci/threat_intelligence/threatintel_client.py +5 -5
  505. oci/usage/resources_client.py +2 -2
  506. oci/usage/rewards_client.py +6 -6
  507. oci/usage/usagelimits_client.py +1 -1
  508. oci/usage_api/models/average_carbon_emission.py +3 -3
  509. oci/usage_api/models/create_email_recipients_group_details.py +3 -3
  510. oci/usage_api/models/email_recipient.py +6 -6
  511. oci/usage_api/models/email_recipients_group.py +5 -5
  512. oci/usage_api/models/email_recipients_group_collection.py +3 -3
  513. oci/usage_api/models/email_recipients_group_summary.py +5 -5
  514. oci/usage_api/models/forecast.py +5 -3
  515. oci/usage_api/models/report_query.py +16 -16
  516. oci/usage_api/models/request_summarized_usages_details.py +4 -4
  517. oci/usage_api/models/request_usage_carbon_emissions_details.py +143 -2
  518. oci/usage_api/models/saved_custom_table.py +4 -4
  519. oci/usage_api/models/scheduled_run.py +12 -12
  520. oci/usage_api/models/scheduled_run_summary.py +12 -12
  521. oci/usage_api/models/update_email_recipients_group_details.py +3 -3
  522. oci/usage_api/models/usage_carbon_emission_aggregation.py +5 -5
  523. oci/usage_api/models/usage_carbon_emission_summary.py +36 -5
  524. oci/usage_api/models/usage_carbon_emissions_query.py +1 -1
  525. oci/usage_api/models/usage_carbon_emissions_query_collection.py +1 -1
  526. oci/usage_api/models/usage_carbon_emissions_query_summary.py +1 -1
  527. oci/usage_api/models/usage_carbon_emissions_report_query.py +98 -5
  528. oci/usage_api/usageapi_client.py +69 -69
  529. oci/usage_api/usageapi_client_composite_operations.py +4 -4
  530. oci/vault/vaults_client.py +13 -13
  531. oci/vbs_inst/vbs_instance_client.py +10 -10
  532. oci/version.py +1 -1
  533. oci/visual_builder/vb_instance_client.py +14 -14
  534. oci/vn_monitoring/vn_monitoring_client.py +12 -12
  535. oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
  536. oci/waa/waa_client.py +13 -13
  537. oci/waa/work_request_client.py +4 -4
  538. oci/waas/redirect_client.py +6 -6
  539. oci/waas/waas_client.py +66 -66
  540. oci/waf/waf_client.py +24 -24
  541. oci/work_requests/work_request_client.py +4 -4
  542. oci/zpr/zpr_client.py +15 -15
  543. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/METADATA +1 -1
  544. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/RECORD +548 -378
  545. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/LICENSE.txt +0 -0
  546. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  547. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/WHEEL +0 -0
  548. {oci-2.152.0.dist-info → oci-2.153.0.dist-info}/top_level.txt +0 -0
@@ -161,7 +161,7 @@ class NetworkFirewallClient(object):
161
161
  :rtype: :class:`~oci.response.Response`
162
162
 
163
163
  :example:
164
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/apply_network_firewall_policy.py.html>`__ to see an example of how to use apply_network_firewall_policy API.
164
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/apply_network_firewall_policy.py.html>`__ to see an example of how to use apply_network_firewall_policy API.
165
165
  """
166
166
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
167
167
  required_arguments = ['networkFirewallPolicyId']
@@ -290,7 +290,7 @@ class NetworkFirewallClient(object):
290
290
  :rtype: :class:`~oci.response.Response`
291
291
 
292
292
  :example:
293
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_address_lists.py.html>`__ to see an example of how to use bulk_upload_address_lists API.
293
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_address_lists.py.html>`__ to see an example of how to use bulk_upload_address_lists API.
294
294
  """
295
295
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
296
296
  required_arguments = ['networkFirewallPolicyId']
@@ -438,7 +438,7 @@ class NetworkFirewallClient(object):
438
438
  :rtype: :class:`~oci.response.Response`
439
439
 
440
440
  :example:
441
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_application_groups.py.html>`__ to see an example of how to use bulk_upload_application_groups API.
441
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_application_groups.py.html>`__ to see an example of how to use bulk_upload_application_groups API.
442
442
  """
443
443
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
444
444
  required_arguments = ['networkFirewallPolicyId']
@@ -586,7 +586,7 @@ class NetworkFirewallClient(object):
586
586
  :rtype: :class:`~oci.response.Response`
587
587
 
588
588
  :example:
589
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_applications.py.html>`__ to see an example of how to use bulk_upload_applications API.
589
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_applications.py.html>`__ to see an example of how to use bulk_upload_applications API.
590
590
  """
591
591
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
592
592
  required_arguments = ['networkFirewallPolicyId']
@@ -734,7 +734,7 @@ class NetworkFirewallClient(object):
734
734
  :rtype: :class:`~oci.response.Response`
735
735
 
736
736
  :example:
737
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_decryption_profiles.py.html>`__ to see an example of how to use bulk_upload_decryption_profiles API.
737
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_decryption_profiles.py.html>`__ to see an example of how to use bulk_upload_decryption_profiles API.
738
738
  """
739
739
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
740
740
  required_arguments = ['networkFirewallPolicyId']
@@ -882,7 +882,7 @@ class NetworkFirewallClient(object):
882
882
  :rtype: :class:`~oci.response.Response`
883
883
 
884
884
  :example:
885
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_decryption_rules.py.html>`__ to see an example of how to use bulk_upload_decryption_rules API.
885
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_decryption_rules.py.html>`__ to see an example of how to use bulk_upload_decryption_rules API.
886
886
  """
887
887
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
888
888
  required_arguments = ['networkFirewallPolicyId']
@@ -1030,7 +1030,7 @@ class NetworkFirewallClient(object):
1030
1030
  :rtype: :class:`~oci.response.Response`
1031
1031
 
1032
1032
  :example:
1033
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_mapped_secrets.py.html>`__ to see an example of how to use bulk_upload_mapped_secrets API.
1033
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_mapped_secrets.py.html>`__ to see an example of how to use bulk_upload_mapped_secrets API.
1034
1034
  """
1035
1035
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1036
1036
  required_arguments = ['networkFirewallPolicyId']
@@ -1127,6 +1127,154 @@ class NetworkFirewallClient(object):
1127
1127
  api_reference_link=api_reference_link,
1128
1128
  required_arguments=required_arguments)
1129
1129
 
1130
+ def bulk_upload_nat_rules(self, network_firewall_policy_id, bulk_upload_nat_rules_details, **kwargs):
1131
+ """
1132
+ Creates a new NAT Rule at bulk for the Network Firewall Policy.
1133
+
1134
+
1135
+ :param str network_firewall_policy_id: (required)
1136
+ Unique Network Firewall Policy identifier
1137
+
1138
+ :param stream bulk_upload_nat_rules_details: (required)
1139
+ Request Details to create the NAT Rule for the Network Firewall Policy Resource.
1140
+
1141
+ :param str opc_retry_token: (optional)
1142
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
1143
+ server error without risk of executing that same action again. Retry tokens expire after 24
1144
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
1145
+ has been deleted and purged from the system, then a retry of the original creation request
1146
+ might be rejected.
1147
+
1148
+ :param str opc_request_id: (optional)
1149
+ The client request ID for tracing.
1150
+
1151
+ :param str if_match: (optional)
1152
+ For optimistic concurrency control. In the PUT or DELETE call
1153
+ for a resource, set the `if-match` parameter to the value of the
1154
+ etag from a previous GET or POST response for that resource.
1155
+ The resource will be updated or deleted only if the etag you
1156
+ provide matches the resource's current etag value.
1157
+
1158
+ :param obj retry_strategy: (optional)
1159
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
1160
+
1161
+ 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.
1162
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
1163
+
1164
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
1165
+
1166
+ :param bool allow_control_chars: (optional)
1167
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
1168
+ By default, the response will not allow control characters in strings
1169
+ :param int buffer_limit: (optional)
1170
+ A buffer limit for the stream to be buffered. buffer_limit is used to set the buffer size capacity. Streams will be read until the size of the buffer reaches the buffer_limit.
1171
+ If the stream size is greater than the buffer_limit, a BufferError exception will be thrown.
1172
+
1173
+ The buffer_limit parameter is used when the stream object does not have a `seek`, `tell`, or `fileno` property for the Python Request library to calculate out the content length.
1174
+ If buffer_limit is not passed, then the buffer_limit will be defaulted to 100MB.
1175
+ Large streams can cause the process to freeze, consider passing in content-length for large streams instead.
1176
+
1177
+ :return: A :class:`~oci.response.Response` object with data of type None
1178
+ :rtype: :class:`~oci.response.Response`
1179
+
1180
+ :example:
1181
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_nat_rules.py.html>`__ to see an example of how to use bulk_upload_nat_rules API.
1182
+ """
1183
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1184
+ required_arguments = ['networkFirewallPolicyId']
1185
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules/actions/bulkUpload"
1186
+ method = "POST"
1187
+ operation_name = "bulk_upload_nat_rules"
1188
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/natRule/BulkUploadNatRules"
1189
+
1190
+ # Don't accept unknown kwargs
1191
+ expected_kwargs = [
1192
+ "allow_control_chars",
1193
+ "retry_strategy",
1194
+ "buffer_limit",
1195
+ "opc_retry_token",
1196
+ "opc_request_id",
1197
+ "if_match"
1198
+ ]
1199
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
1200
+ if extra_kwargs:
1201
+ raise ValueError(
1202
+ f"bulk_upload_nat_rules got unknown kwargs: {extra_kwargs!r}")
1203
+
1204
+ path_params = {
1205
+ "networkFirewallPolicyId": network_firewall_policy_id
1206
+ }
1207
+
1208
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
1209
+
1210
+ for (k, v) in six.iteritems(path_params):
1211
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
1212
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
1213
+
1214
+ header_params = {
1215
+ "accept": "application/json",
1216
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
1217
+ "opc-request-id": kwargs.get("opc_request_id", missing),
1218
+ "if-match": kwargs.get("if_match", missing)
1219
+ }
1220
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
1221
+
1222
+ # If the body parameter is optional we need to assign it to a variable so additional type checking can be performed.
1223
+ try:
1224
+ bulk_upload_nat_rules_details
1225
+ except NameError:
1226
+ bulk_upload_nat_rules_details = kwargs.get("bulk_upload_nat_rules_details", missing)
1227
+
1228
+ if bulk_upload_nat_rules_details is not missing and bulk_upload_nat_rules_details is not None:
1229
+ if (not isinstance(bulk_upload_nat_rules_details, (six.binary_type, six.string_types)) and
1230
+ not hasattr(bulk_upload_nat_rules_details, "read")):
1231
+ raise TypeError('The body must be a string, bytes, or provide a read() method.')
1232
+
1233
+ if hasattr(bulk_upload_nat_rules_details, 'fileno') and hasattr(bulk_upload_nat_rules_details, 'name') and bulk_upload_nat_rules_details.name != '<stdin>':
1234
+ if requests.utils.super_len(bulk_upload_nat_rules_details) == 0:
1235
+ header_params['Content-Length'] = '0'
1236
+
1237
+ # If content length is not given and stream object have no 'fileno' and is not a string or bytes, try to calculate content length
1238
+ elif 'Content-Length' not in header_params and not is_content_length_calculable_by_req_util(bulk_upload_nat_rules_details):
1239
+ calculated_obj = back_up_body_calculate_stream_content_length(bulk_upload_nat_rules_details, kwargs.get("buffer_limit"))
1240
+ header_params['Content-Length'] = calculated_obj["content_length"]
1241
+ bulk_upload_nat_rules_details = calculated_obj["byte_content"]
1242
+
1243
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
1244
+ operation_retry_strategy=kwargs.get('retry_strategy'),
1245
+ client_retry_strategy=self.retry_strategy
1246
+ )
1247
+ if retry_strategy is None:
1248
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
1249
+
1250
+ if retry_strategy:
1251
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
1252
+ self.base_client.add_opc_retry_token_if_needed(header_params)
1253
+ self.base_client.add_opc_client_retries_header(header_params)
1254
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
1255
+ return retry_strategy.make_retrying_call(
1256
+ self.base_client.call_api,
1257
+ resource_path=resource_path,
1258
+ method=method,
1259
+ path_params=path_params,
1260
+ header_params=header_params,
1261
+ body=bulk_upload_nat_rules_details,
1262
+ allow_control_chars=kwargs.get('allow_control_chars'),
1263
+ operation_name=operation_name,
1264
+ api_reference_link=api_reference_link,
1265
+ required_arguments=required_arguments)
1266
+ else:
1267
+ return self.base_client.call_api(
1268
+ resource_path=resource_path,
1269
+ method=method,
1270
+ path_params=path_params,
1271
+ header_params=header_params,
1272
+ body=bulk_upload_nat_rules_details,
1273
+ allow_control_chars=kwargs.get('allow_control_chars'),
1274
+ operation_name=operation_name,
1275
+ api_reference_link=api_reference_link,
1276
+ required_arguments=required_arguments)
1277
+
1130
1278
  def bulk_upload_security_rules(self, network_firewall_policy_id, bulk_upload_security_rules_details, **kwargs):
1131
1279
  """
1132
1280
  Creates a new Security Rule at bulk for the Network Firewall Policy.
@@ -1178,7 +1326,7 @@ class NetworkFirewallClient(object):
1178
1326
  :rtype: :class:`~oci.response.Response`
1179
1327
 
1180
1328
  :example:
1181
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_security_rules.py.html>`__ to see an example of how to use bulk_upload_security_rules API.
1329
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_security_rules.py.html>`__ to see an example of how to use bulk_upload_security_rules API.
1182
1330
  """
1183
1331
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1184
1332
  required_arguments = ['networkFirewallPolicyId']
@@ -1326,7 +1474,7 @@ class NetworkFirewallClient(object):
1326
1474
  :rtype: :class:`~oci.response.Response`
1327
1475
 
1328
1476
  :example:
1329
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_service_lists.py.html>`__ to see an example of how to use bulk_upload_service_lists API.
1477
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_service_lists.py.html>`__ to see an example of how to use bulk_upload_service_lists API.
1330
1478
  """
1331
1479
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1332
1480
  required_arguments = ['networkFirewallPolicyId']
@@ -1474,7 +1622,7 @@ class NetworkFirewallClient(object):
1474
1622
  :rtype: :class:`~oci.response.Response`
1475
1623
 
1476
1624
  :example:
1477
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_services.py.html>`__ to see an example of how to use bulk_upload_services API.
1625
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_services.py.html>`__ to see an example of how to use bulk_upload_services API.
1478
1626
  """
1479
1627
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1480
1628
  required_arguments = ['networkFirewallPolicyId']
@@ -1622,7 +1770,7 @@ class NetworkFirewallClient(object):
1622
1770
  :rtype: :class:`~oci.response.Response`
1623
1771
 
1624
1772
  :example:
1625
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_tunnel_inspection_rules.py.html>`__ to see an example of how to use bulk_upload_tunnel_inspection_rules API.
1773
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_tunnel_inspection_rules.py.html>`__ to see an example of how to use bulk_upload_tunnel_inspection_rules API.
1626
1774
  """
1627
1775
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1628
1776
  required_arguments = ['networkFirewallPolicyId']
@@ -1770,7 +1918,7 @@ class NetworkFirewallClient(object):
1770
1918
  :rtype: :class:`~oci.response.Response`
1771
1919
 
1772
1920
  :example:
1773
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/bulk_upload_url_lists.py.html>`__ to see an example of how to use bulk_upload_url_lists API.
1921
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/bulk_upload_url_lists.py.html>`__ to see an example of how to use bulk_upload_url_lists API.
1774
1922
  """
1775
1923
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1776
1924
  required_arguments = ['networkFirewallPolicyId']
@@ -1901,7 +2049,7 @@ class NetworkFirewallClient(object):
1901
2049
  :rtype: :class:`~oci.response.Response`
1902
2050
 
1903
2051
  :example:
1904
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/cancel_work_request.py.html>`__ to see an example of how to use cancel_work_request API.
2052
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/cancel_work_request.py.html>`__ to see an example of how to use cancel_work_request API.
1905
2053
  """
1906
2054
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
1907
2055
  required_arguments = ['workRequestId']
@@ -2018,7 +2166,7 @@ class NetworkFirewallClient(object):
2018
2166
  :rtype: :class:`~oci.response.Response`
2019
2167
 
2020
2168
  :example:
2021
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/change_network_firewall_compartment.py.html>`__ to see an example of how to use change_network_firewall_compartment API.
2169
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/change_network_firewall_compartment.py.html>`__ to see an example of how to use change_network_firewall_compartment API.
2022
2170
  """
2023
2171
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2024
2172
  required_arguments = ['networkFirewallId']
@@ -2138,7 +2286,7 @@ class NetworkFirewallClient(object):
2138
2286
  :rtype: :class:`~oci.response.Response`
2139
2287
 
2140
2288
  :example:
2141
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/change_network_firewall_policy_compartment.py.html>`__ to see an example of how to use change_network_firewall_policy_compartment API.
2289
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/change_network_firewall_policy_compartment.py.html>`__ to see an example of how to use change_network_firewall_policy_compartment API.
2142
2290
  """
2143
2291
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2144
2292
  required_arguments = ['networkFirewallPolicyId']
@@ -2216,7 +2364,7 @@ class NetworkFirewallClient(object):
2216
2364
 
2217
2365
  def clone_network_firewall_policy(self, network_firewall_policy_id, clone_network_firewall_policy_details, **kwargs):
2218
2366
  """
2219
- Moves a NetworkFirewallPolicy resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource.
2367
+ Clones a NetworkFirewallPolicy resource from an existing Network Firewall Policy. When provided, If-Match is checked against ETag values of the resource.
2220
2368
 
2221
2369
 
2222
2370
  :param str network_firewall_policy_id: (required)
@@ -2258,7 +2406,7 @@ class NetworkFirewallClient(object):
2258
2406
  :rtype: :class:`~oci.response.Response`
2259
2407
 
2260
2408
  :example:
2261
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/clone_network_firewall_policy.py.html>`__ to see an example of how to use clone_network_firewall_policy API.
2409
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/clone_network_firewall_policy.py.html>`__ to see an example of how to use clone_network_firewall_policy API.
2262
2410
  """
2263
2411
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2264
2412
  required_arguments = ['networkFirewallPolicyId']
@@ -2373,7 +2521,7 @@ class NetworkFirewallClient(object):
2373
2521
  :rtype: :class:`~oci.response.Response`
2374
2522
 
2375
2523
  :example:
2376
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_address_list.py.html>`__ to see an example of how to use create_address_list API.
2524
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_address_list.py.html>`__ to see an example of how to use create_address_list API.
2377
2525
  """
2378
2526
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2379
2527
  required_arguments = ['networkFirewallPolicyId']
@@ -2486,7 +2634,7 @@ class NetworkFirewallClient(object):
2486
2634
  :rtype: :class:`~oci.response.Response`
2487
2635
 
2488
2636
  :example:
2489
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_application.py.html>`__ to see an example of how to use create_application API.
2637
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_application.py.html>`__ to see an example of how to use create_application API.
2490
2638
  """
2491
2639
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2492
2640
  required_arguments = ['networkFirewallPolicyId']
@@ -2599,7 +2747,7 @@ class NetworkFirewallClient(object):
2599
2747
  :rtype: :class:`~oci.response.Response`
2600
2748
 
2601
2749
  :example:
2602
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_application_group.py.html>`__ to see an example of how to use create_application_group API.
2750
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_application_group.py.html>`__ to see an example of how to use create_application_group API.
2603
2751
  """
2604
2752
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2605
2753
  required_arguments = ['networkFirewallPolicyId']
@@ -2712,7 +2860,7 @@ class NetworkFirewallClient(object):
2712
2860
  :rtype: :class:`~oci.response.Response`
2713
2861
 
2714
2862
  :example:
2715
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_decryption_profile.py.html>`__ to see an example of how to use create_decryption_profile API.
2863
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_decryption_profile.py.html>`__ to see an example of how to use create_decryption_profile API.
2716
2864
  """
2717
2865
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2718
2866
  required_arguments = ['networkFirewallPolicyId']
@@ -2825,7 +2973,7 @@ class NetworkFirewallClient(object):
2825
2973
  :rtype: :class:`~oci.response.Response`
2826
2974
 
2827
2975
  :example:
2828
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_decryption_rule.py.html>`__ to see an example of how to use create_decryption_rule API.
2976
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_decryption_rule.py.html>`__ to see an example of how to use create_decryption_rule API.
2829
2977
  """
2830
2978
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2831
2979
  required_arguments = ['networkFirewallPolicyId']
@@ -2938,7 +3086,7 @@ class NetworkFirewallClient(object):
2938
3086
  :rtype: :class:`~oci.response.Response`
2939
3087
 
2940
3088
  :example:
2941
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_mapped_secret.py.html>`__ to see an example of how to use create_mapped_secret API.
3089
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_mapped_secret.py.html>`__ to see an example of how to use create_mapped_secret API.
2942
3090
  """
2943
3091
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
2944
3092
  required_arguments = ['networkFirewallPolicyId']
@@ -3014,6 +3162,119 @@ class NetworkFirewallClient(object):
3014
3162
  api_reference_link=api_reference_link,
3015
3163
  required_arguments=required_arguments)
3016
3164
 
3165
+ def create_nat_rule(self, network_firewall_policy_id, create_nat_rule_details, **kwargs):
3166
+ """
3167
+ Creates a new NAT Rule for the Network Firewall Policy.
3168
+
3169
+
3170
+ :param str network_firewall_policy_id: (required)
3171
+ Unique Network Firewall Policy identifier
3172
+
3173
+ :param oci.network_firewall.models.CreateNatRuleDetails create_nat_rule_details: (required)
3174
+ Request Details to create NAT rule under a Network Firewall Policy Resource.
3175
+
3176
+ :param str opc_retry_token: (optional)
3177
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
3178
+ server error without risk of executing that same action again. Retry tokens expire after 24
3179
+ hours, but can be invalidated before then due to conflicting operations. For example, if a resource
3180
+ has been deleted and purged from the system, then a retry of the original creation request
3181
+ might be rejected.
3182
+
3183
+ :param str opc_request_id: (optional)
3184
+ The client request ID for tracing.
3185
+
3186
+ :param obj retry_strategy: (optional)
3187
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
3188
+
3189
+ 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.
3190
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
3191
+
3192
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
3193
+
3194
+ :param bool allow_control_chars: (optional)
3195
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
3196
+ By default, the response will not allow control characters in strings
3197
+
3198
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.network_firewall.models.NatRule`
3199
+ :rtype: :class:`~oci.response.Response`
3200
+
3201
+ :example:
3202
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_nat_rule.py.html>`__ to see an example of how to use create_nat_rule API.
3203
+ """
3204
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3205
+ required_arguments = ['networkFirewallPolicyId']
3206
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules"
3207
+ method = "POST"
3208
+ operation_name = "create_nat_rule"
3209
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/NatRule/CreateNatRule"
3210
+
3211
+ # Don't accept unknown kwargs
3212
+ expected_kwargs = [
3213
+ "allow_control_chars",
3214
+ "retry_strategy",
3215
+ "opc_retry_token",
3216
+ "opc_request_id"
3217
+ ]
3218
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
3219
+ if extra_kwargs:
3220
+ raise ValueError(
3221
+ f"create_nat_rule got unknown kwargs: {extra_kwargs!r}")
3222
+
3223
+ path_params = {
3224
+ "networkFirewallPolicyId": network_firewall_policy_id
3225
+ }
3226
+
3227
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
3228
+
3229
+ for (k, v) in six.iteritems(path_params):
3230
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
3231
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
3232
+
3233
+ header_params = {
3234
+ "accept": "application/json",
3235
+ "content-type": "application/json",
3236
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
3237
+ "opc-request-id": kwargs.get("opc_request_id", missing)
3238
+ }
3239
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
3240
+
3241
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
3242
+ operation_retry_strategy=kwargs.get('retry_strategy'),
3243
+ client_retry_strategy=self.retry_strategy
3244
+ )
3245
+ if retry_strategy is None:
3246
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
3247
+
3248
+ if retry_strategy:
3249
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
3250
+ self.base_client.add_opc_retry_token_if_needed(header_params)
3251
+ self.base_client.add_opc_client_retries_header(header_params)
3252
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
3253
+ return retry_strategy.make_retrying_call(
3254
+ self.base_client.call_api,
3255
+ resource_path=resource_path,
3256
+ method=method,
3257
+ path_params=path_params,
3258
+ header_params=header_params,
3259
+ body=create_nat_rule_details,
3260
+ response_type="NatRule",
3261
+ allow_control_chars=kwargs.get('allow_control_chars'),
3262
+ operation_name=operation_name,
3263
+ api_reference_link=api_reference_link,
3264
+ required_arguments=required_arguments)
3265
+ else:
3266
+ return self.base_client.call_api(
3267
+ resource_path=resource_path,
3268
+ method=method,
3269
+ path_params=path_params,
3270
+ header_params=header_params,
3271
+ body=create_nat_rule_details,
3272
+ response_type="NatRule",
3273
+ allow_control_chars=kwargs.get('allow_control_chars'),
3274
+ operation_name=operation_name,
3275
+ api_reference_link=api_reference_link,
3276
+ required_arguments=required_arguments)
3277
+
3017
3278
  def create_network_firewall(self, create_network_firewall_details, **kwargs):
3018
3279
  """
3019
3280
  Creates a new NetworkFirewall.
@@ -3048,7 +3309,7 @@ class NetworkFirewallClient(object):
3048
3309
  :rtype: :class:`~oci.response.Response`
3049
3310
 
3050
3311
  :example:
3051
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_network_firewall.py.html>`__ to see an example of how to use create_network_firewall API.
3312
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_network_firewall.py.html>`__ to see an example of how to use create_network_firewall API.
3052
3313
  """
3053
3314
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3054
3315
  required_arguments = []
@@ -3146,7 +3407,7 @@ class NetworkFirewallClient(object):
3146
3407
  :rtype: :class:`~oci.response.Response`
3147
3408
 
3148
3409
  :example:
3149
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_network_firewall_policy.py.html>`__ to see an example of how to use create_network_firewall_policy API.
3410
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_network_firewall_policy.py.html>`__ to see an example of how to use create_network_firewall_policy API.
3150
3411
  """
3151
3412
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3152
3413
  required_arguments = []
@@ -3247,7 +3508,7 @@ class NetworkFirewallClient(object):
3247
3508
  :rtype: :class:`~oci.response.Response`
3248
3509
 
3249
3510
  :example:
3250
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_security_rule.py.html>`__ to see an example of how to use create_security_rule API.
3511
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_security_rule.py.html>`__ to see an example of how to use create_security_rule API.
3251
3512
  """
3252
3513
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3253
3514
  required_arguments = ['networkFirewallPolicyId']
@@ -3360,7 +3621,7 @@ class NetworkFirewallClient(object):
3360
3621
  :rtype: :class:`~oci.response.Response`
3361
3622
 
3362
3623
  :example:
3363
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_service.py.html>`__ to see an example of how to use create_service API.
3624
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_service.py.html>`__ to see an example of how to use create_service API.
3364
3625
  """
3365
3626
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3366
3627
  required_arguments = ['networkFirewallPolicyId']
@@ -3473,7 +3734,7 @@ class NetworkFirewallClient(object):
3473
3734
  :rtype: :class:`~oci.response.Response`
3474
3735
 
3475
3736
  :example:
3476
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_service_list.py.html>`__ to see an example of how to use create_service_list API.
3737
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_service_list.py.html>`__ to see an example of how to use create_service_list API.
3477
3738
  """
3478
3739
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3479
3740
  required_arguments = ['networkFirewallPolicyId']
@@ -3586,7 +3847,7 @@ class NetworkFirewallClient(object):
3586
3847
  :rtype: :class:`~oci.response.Response`
3587
3848
 
3588
3849
  :example:
3589
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_tunnel_inspection_rule.py.html>`__ to see an example of how to use create_tunnel_inspection_rule API.
3850
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_tunnel_inspection_rule.py.html>`__ to see an example of how to use create_tunnel_inspection_rule API.
3590
3851
  """
3591
3852
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3592
3853
  required_arguments = ['networkFirewallPolicyId']
@@ -3699,7 +3960,7 @@ class NetworkFirewallClient(object):
3699
3960
  :rtype: :class:`~oci.response.Response`
3700
3961
 
3701
3962
  :example:
3702
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/create_url_list.py.html>`__ to see an example of how to use create_url_list API.
3963
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/create_url_list.py.html>`__ to see an example of how to use create_url_list API.
3703
3964
  """
3704
3965
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3705
3966
  required_arguments = ['networkFirewallPolicyId']
@@ -3812,7 +4073,7 @@ class NetworkFirewallClient(object):
3812
4073
  :rtype: :class:`~oci.response.Response`
3813
4074
 
3814
4075
  :example:
3815
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_address_list.py.html>`__ to see an example of how to use delete_address_list API.
4076
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_address_list.py.html>`__ to see an example of how to use delete_address_list API.
3816
4077
  """
3817
4078
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3818
4079
  required_arguments = ['networkFirewallPolicyId', 'addressListName']
@@ -3921,7 +4182,7 @@ class NetworkFirewallClient(object):
3921
4182
  :rtype: :class:`~oci.response.Response`
3922
4183
 
3923
4184
  :example:
3924
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_application.py.html>`__ to see an example of how to use delete_application API.
4185
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_application.py.html>`__ to see an example of how to use delete_application API.
3925
4186
  """
3926
4187
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
3927
4188
  required_arguments = ['networkFirewallPolicyId', 'applicationName']
@@ -4030,7 +4291,7 @@ class NetworkFirewallClient(object):
4030
4291
  :rtype: :class:`~oci.response.Response`
4031
4292
 
4032
4293
  :example:
4033
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_application_group.py.html>`__ to see an example of how to use delete_application_group API.
4294
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_application_group.py.html>`__ to see an example of how to use delete_application_group API.
4034
4295
  """
4035
4296
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4036
4297
  required_arguments = ['networkFirewallPolicyId', 'applicationGroupName']
@@ -4139,7 +4400,7 @@ class NetworkFirewallClient(object):
4139
4400
  :rtype: :class:`~oci.response.Response`
4140
4401
 
4141
4402
  :example:
4142
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_decryption_profile.py.html>`__ to see an example of how to use delete_decryption_profile API.
4403
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_decryption_profile.py.html>`__ to see an example of how to use delete_decryption_profile API.
4143
4404
  """
4144
4405
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4145
4406
  required_arguments = ['networkFirewallPolicyId', 'decryptionProfileName']
@@ -4248,7 +4509,7 @@ class NetworkFirewallClient(object):
4248
4509
  :rtype: :class:`~oci.response.Response`
4249
4510
 
4250
4511
  :example:
4251
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_decryption_rule.py.html>`__ to see an example of how to use delete_decryption_rule API.
4512
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_decryption_rule.py.html>`__ to see an example of how to use delete_decryption_rule API.
4252
4513
  """
4253
4514
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4254
4515
  required_arguments = ['networkFirewallPolicyId', 'decryptionRuleName']
@@ -4357,7 +4618,7 @@ class NetworkFirewallClient(object):
4357
4618
  :rtype: :class:`~oci.response.Response`
4358
4619
 
4359
4620
  :example:
4360
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_mapped_secret.py.html>`__ to see an example of how to use delete_mapped_secret API.
4621
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_mapped_secret.py.html>`__ to see an example of how to use delete_mapped_secret API.
4361
4622
  """
4362
4623
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4363
4624
  required_arguments = ['networkFirewallPolicyId', 'mappedSecretName']
@@ -4429,6 +4690,115 @@ class NetworkFirewallClient(object):
4429
4690
  api_reference_link=api_reference_link,
4430
4691
  required_arguments=required_arguments)
4431
4692
 
4693
+ def delete_nat_rule(self, network_firewall_policy_id, nat_rule_name, **kwargs):
4694
+ """
4695
+ Deletes a NAT Rule resource with the given identifier.
4696
+
4697
+
4698
+ :param str network_firewall_policy_id: (required)
4699
+ Unique Network Firewall Policy identifier
4700
+
4701
+ :param str nat_rule_name: (required)
4702
+ Unique identifier for NAT Rules in the network firewall policy.
4703
+
4704
+ :param str if_match: (optional)
4705
+ For optimistic concurrency control. In the PUT or DELETE call
4706
+ for a resource, set the `if-match` parameter to the value of the
4707
+ etag from a previous GET or POST response for that resource.
4708
+ The resource will be updated or deleted only if the etag you
4709
+ provide matches the resource's current etag value.
4710
+
4711
+ :param str opc_request_id: (optional)
4712
+ The client request ID for tracing.
4713
+
4714
+ :param obj retry_strategy: (optional)
4715
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
4716
+
4717
+ 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.
4718
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
4719
+
4720
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
4721
+
4722
+ :param bool allow_control_chars: (optional)
4723
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
4724
+ By default, the response will not allow control characters in strings
4725
+
4726
+ :return: A :class:`~oci.response.Response` object with data of type None
4727
+ :rtype: :class:`~oci.response.Response`
4728
+
4729
+ :example:
4730
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_nat_rule.py.html>`__ to see an example of how to use delete_nat_rule API.
4731
+ """
4732
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4733
+ required_arguments = ['networkFirewallPolicyId', 'natRuleName']
4734
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules/{natRuleName}"
4735
+ method = "DELETE"
4736
+ operation_name = "delete_nat_rule"
4737
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/NatRule/DeleteNatRule"
4738
+
4739
+ # Don't accept unknown kwargs
4740
+ expected_kwargs = [
4741
+ "allow_control_chars",
4742
+ "retry_strategy",
4743
+ "if_match",
4744
+ "opc_request_id"
4745
+ ]
4746
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
4747
+ if extra_kwargs:
4748
+ raise ValueError(
4749
+ f"delete_nat_rule got unknown kwargs: {extra_kwargs!r}")
4750
+
4751
+ path_params = {
4752
+ "networkFirewallPolicyId": network_firewall_policy_id,
4753
+ "natRuleName": nat_rule_name
4754
+ }
4755
+
4756
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
4757
+
4758
+ for (k, v) in six.iteritems(path_params):
4759
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
4760
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
4761
+
4762
+ header_params = {
4763
+ "accept": "application/json",
4764
+ "content-type": "application/json",
4765
+ "if-match": kwargs.get("if_match", missing),
4766
+ "opc-request-id": kwargs.get("opc_request_id", missing)
4767
+ }
4768
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
4769
+
4770
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
4771
+ operation_retry_strategy=kwargs.get('retry_strategy'),
4772
+ client_retry_strategy=self.retry_strategy
4773
+ )
4774
+ if retry_strategy is None:
4775
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
4776
+
4777
+ if retry_strategy:
4778
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
4779
+ self.base_client.add_opc_client_retries_header(header_params)
4780
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
4781
+ return retry_strategy.make_retrying_call(
4782
+ self.base_client.call_api,
4783
+ resource_path=resource_path,
4784
+ method=method,
4785
+ path_params=path_params,
4786
+ header_params=header_params,
4787
+ allow_control_chars=kwargs.get('allow_control_chars'),
4788
+ operation_name=operation_name,
4789
+ api_reference_link=api_reference_link,
4790
+ required_arguments=required_arguments)
4791
+ else:
4792
+ return self.base_client.call_api(
4793
+ resource_path=resource_path,
4794
+ method=method,
4795
+ path_params=path_params,
4796
+ header_params=header_params,
4797
+ allow_control_chars=kwargs.get('allow_control_chars'),
4798
+ operation_name=operation_name,
4799
+ api_reference_link=api_reference_link,
4800
+ required_arguments=required_arguments)
4801
+
4432
4802
  def delete_network_firewall(self, network_firewall_id, **kwargs):
4433
4803
  """
4434
4804
  Deletes a NetworkFirewall resource by identifier
@@ -4465,7 +4835,7 @@ class NetworkFirewallClient(object):
4465
4835
  :rtype: :class:`~oci.response.Response`
4466
4836
 
4467
4837
  :example:
4468
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_network_firewall.py.html>`__ to see an example of how to use delete_network_firewall API.
4838
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_network_firewall.py.html>`__ to see an example of how to use delete_network_firewall API.
4469
4839
  """
4470
4840
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4471
4841
  required_arguments = ['networkFirewallId']
@@ -4570,7 +4940,7 @@ class NetworkFirewallClient(object):
4570
4940
  :rtype: :class:`~oci.response.Response`
4571
4941
 
4572
4942
  :example:
4573
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_network_firewall_policy.py.html>`__ to see an example of how to use delete_network_firewall_policy API.
4943
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_network_firewall_policy.py.html>`__ to see an example of how to use delete_network_firewall_policy API.
4574
4944
  """
4575
4945
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4576
4946
  required_arguments = ['networkFirewallPolicyId']
@@ -4678,7 +5048,7 @@ class NetworkFirewallClient(object):
4678
5048
  :rtype: :class:`~oci.response.Response`
4679
5049
 
4680
5050
  :example:
4681
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_security_rule.py.html>`__ to see an example of how to use delete_security_rule API.
5051
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_security_rule.py.html>`__ to see an example of how to use delete_security_rule API.
4682
5052
  """
4683
5053
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4684
5054
  required_arguments = ['networkFirewallPolicyId', 'securityRuleName']
@@ -4787,7 +5157,7 @@ class NetworkFirewallClient(object):
4787
5157
  :rtype: :class:`~oci.response.Response`
4788
5158
 
4789
5159
  :example:
4790
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_service.py.html>`__ to see an example of how to use delete_service API.
5160
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_service.py.html>`__ to see an example of how to use delete_service API.
4791
5161
  """
4792
5162
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4793
5163
  required_arguments = ['networkFirewallPolicyId', 'serviceName']
@@ -4896,7 +5266,7 @@ class NetworkFirewallClient(object):
4896
5266
  :rtype: :class:`~oci.response.Response`
4897
5267
 
4898
5268
  :example:
4899
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_service_list.py.html>`__ to see an example of how to use delete_service_list API.
5269
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_service_list.py.html>`__ to see an example of how to use delete_service_list API.
4900
5270
  """
4901
5271
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
4902
5272
  required_arguments = ['networkFirewallPolicyId', 'serviceListName']
@@ -5005,7 +5375,7 @@ class NetworkFirewallClient(object):
5005
5375
  :rtype: :class:`~oci.response.Response`
5006
5376
 
5007
5377
  :example:
5008
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_tunnel_inspection_rule.py.html>`__ to see an example of how to use delete_tunnel_inspection_rule API.
5378
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_tunnel_inspection_rule.py.html>`__ to see an example of how to use delete_tunnel_inspection_rule API.
5009
5379
  """
5010
5380
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5011
5381
  required_arguments = ['networkFirewallPolicyId', 'tunnelInspectionRuleName']
@@ -5114,7 +5484,7 @@ class NetworkFirewallClient(object):
5114
5484
  :rtype: :class:`~oci.response.Response`
5115
5485
 
5116
5486
  :example:
5117
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/delete_url_list.py.html>`__ to see an example of how to use delete_url_list API.
5487
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/delete_url_list.py.html>`__ to see an example of how to use delete_url_list API.
5118
5488
  """
5119
5489
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5120
5490
  required_arguments = ['networkFirewallPolicyId', 'urlListName']
@@ -5216,7 +5586,7 @@ class NetworkFirewallClient(object):
5216
5586
  :rtype: :class:`~oci.response.Response`
5217
5587
 
5218
5588
  :example:
5219
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_address_list.py.html>`__ to see an example of how to use get_address_list API.
5589
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_address_list.py.html>`__ to see an example of how to use get_address_list API.
5220
5590
  """
5221
5591
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5222
5592
  required_arguments = ['networkFirewallPolicyId', 'addressListName']
@@ -5324,7 +5694,7 @@ class NetworkFirewallClient(object):
5324
5694
  :rtype: :class:`~oci.response.Response`
5325
5695
 
5326
5696
  :example:
5327
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_application.py.html>`__ to see an example of how to use get_application API.
5697
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_application.py.html>`__ to see an example of how to use get_application API.
5328
5698
  """
5329
5699
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5330
5700
  required_arguments = ['networkFirewallPolicyId', 'applicationName']
@@ -5436,7 +5806,7 @@ class NetworkFirewallClient(object):
5436
5806
  :rtype: :class:`~oci.response.Response`
5437
5807
 
5438
5808
  :example:
5439
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_application_group.py.html>`__ to see an example of how to use get_application_group API.
5809
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_application_group.py.html>`__ to see an example of how to use get_application_group API.
5440
5810
  """
5441
5811
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5442
5812
  required_arguments = ['networkFirewallPolicyId', 'applicationGroupName']
@@ -5538,7 +5908,7 @@ class NetworkFirewallClient(object):
5538
5908
  :rtype: :class:`~oci.response.Response`
5539
5909
 
5540
5910
  :example:
5541
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_decryption_profile.py.html>`__ to see an example of how to use get_decryption_profile API.
5911
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_decryption_profile.py.html>`__ to see an example of how to use get_decryption_profile API.
5542
5912
  """
5543
5913
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5544
5914
  required_arguments = ['networkFirewallPolicyId', 'decryptionProfileName']
@@ -5646,7 +6016,7 @@ class NetworkFirewallClient(object):
5646
6016
  :rtype: :class:`~oci.response.Response`
5647
6017
 
5648
6018
  :example:
5649
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_decryption_rule.py.html>`__ to see an example of how to use get_decryption_rule API.
6019
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_decryption_rule.py.html>`__ to see an example of how to use get_decryption_rule API.
5650
6020
  """
5651
6021
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5652
6022
  required_arguments = ['networkFirewallPolicyId', 'decryptionRuleName']
@@ -5764,31 +6134,141 @@ class NetworkFirewallClient(object):
5764
6134
  :rtype: :class:`~oci.response.Response`
5765
6135
 
5766
6136
  :example:
5767
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_mapped_secret.py.html>`__ to see an example of how to use get_mapped_secret API.
6137
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_mapped_secret.py.html>`__ to see an example of how to use get_mapped_secret API.
5768
6138
  """
5769
6139
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5770
6140
  required_arguments = ['networkFirewallPolicyId', 'mappedSecretName']
5771
6141
  resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/mappedSecrets/{mappedSecretName}"
5772
6142
  method = "GET"
5773
- operation_name = "get_mapped_secret"
5774
- api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/MappedSecret/GetMappedSecret"
6143
+ operation_name = "get_mapped_secret"
6144
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/MappedSecret/GetMappedSecret"
6145
+
6146
+ # Don't accept unknown kwargs
6147
+ expected_kwargs = [
6148
+ "allow_control_chars",
6149
+ "retry_strategy",
6150
+ "opc_request_id",
6151
+ "limit",
6152
+ "page"
6153
+ ]
6154
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
6155
+ if extra_kwargs:
6156
+ raise ValueError(
6157
+ f"get_mapped_secret got unknown kwargs: {extra_kwargs!r}")
6158
+
6159
+ path_params = {
6160
+ "networkFirewallPolicyId": network_firewall_policy_id,
6161
+ "mappedSecretName": mapped_secret_name
6162
+ }
6163
+
6164
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
6165
+
6166
+ for (k, v) in six.iteritems(path_params):
6167
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
6168
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
6169
+
6170
+ query_params = {
6171
+ "limit": kwargs.get("limit", missing),
6172
+ "page": kwargs.get("page", missing)
6173
+ }
6174
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
6175
+
6176
+ header_params = {
6177
+ "accept": "application/json",
6178
+ "content-type": "application/json",
6179
+ "opc-request-id": kwargs.get("opc_request_id", missing)
6180
+ }
6181
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
6182
+
6183
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
6184
+ operation_retry_strategy=kwargs.get('retry_strategy'),
6185
+ client_retry_strategy=self.retry_strategy
6186
+ )
6187
+ if retry_strategy is None:
6188
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
6189
+
6190
+ if retry_strategy:
6191
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
6192
+ self.base_client.add_opc_client_retries_header(header_params)
6193
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
6194
+ return retry_strategy.make_retrying_call(
6195
+ self.base_client.call_api,
6196
+ resource_path=resource_path,
6197
+ method=method,
6198
+ path_params=path_params,
6199
+ query_params=query_params,
6200
+ header_params=header_params,
6201
+ response_type="MappedSecret",
6202
+ allow_control_chars=kwargs.get('allow_control_chars'),
6203
+ operation_name=operation_name,
6204
+ api_reference_link=api_reference_link,
6205
+ required_arguments=required_arguments)
6206
+ else:
6207
+ return self.base_client.call_api(
6208
+ resource_path=resource_path,
6209
+ method=method,
6210
+ path_params=path_params,
6211
+ query_params=query_params,
6212
+ header_params=header_params,
6213
+ response_type="MappedSecret",
6214
+ allow_control_chars=kwargs.get('allow_control_chars'),
6215
+ operation_name=operation_name,
6216
+ api_reference_link=api_reference_link,
6217
+ required_arguments=required_arguments)
6218
+
6219
+ def get_nat_rule(self, network_firewall_policy_id, nat_rule_name, **kwargs):
6220
+ """
6221
+ Get NAT Rule by the given name in the context of network firewall policy.
6222
+
6223
+
6224
+ :param str network_firewall_policy_id: (required)
6225
+ Unique Network Firewall Policy identifier
6226
+
6227
+ :param str nat_rule_name: (required)
6228
+ Unique identifier for NAT Rules in the network firewall policy.
6229
+
6230
+ :param str opc_request_id: (optional)
6231
+ The client request ID for tracing.
6232
+
6233
+ :param obj retry_strategy: (optional)
6234
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
6235
+
6236
+ 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.
6237
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
6238
+
6239
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
6240
+
6241
+ :param bool allow_control_chars: (optional)
6242
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
6243
+ By default, the response will not allow control characters in strings
6244
+
6245
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.network_firewall.models.NatRule`
6246
+ :rtype: :class:`~oci.response.Response`
6247
+
6248
+ :example:
6249
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_nat_rule.py.html>`__ to see an example of how to use get_nat_rule API.
6250
+ """
6251
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6252
+ required_arguments = ['networkFirewallPolicyId', 'natRuleName']
6253
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules/{natRuleName}"
6254
+ method = "GET"
6255
+ operation_name = "get_nat_rule"
6256
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/NatRule/GetNatRule"
5775
6257
 
5776
6258
  # Don't accept unknown kwargs
5777
6259
  expected_kwargs = [
5778
6260
  "allow_control_chars",
5779
6261
  "retry_strategy",
5780
- "opc_request_id",
5781
- "limit",
5782
- "page"
6262
+ "opc_request_id"
5783
6263
  ]
5784
6264
  extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
5785
6265
  if extra_kwargs:
5786
6266
  raise ValueError(
5787
- f"get_mapped_secret got unknown kwargs: {extra_kwargs!r}")
6267
+ f"get_nat_rule got unknown kwargs: {extra_kwargs!r}")
5788
6268
 
5789
6269
  path_params = {
5790
6270
  "networkFirewallPolicyId": network_firewall_policy_id,
5791
- "mappedSecretName": mapped_secret_name
6271
+ "natRuleName": nat_rule_name
5792
6272
  }
5793
6273
 
5794
6274
  path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
@@ -5797,12 +6277,6 @@ class NetworkFirewallClient(object):
5797
6277
  if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
5798
6278
  raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
5799
6279
 
5800
- query_params = {
5801
- "limit": kwargs.get("limit", missing),
5802
- "page": kwargs.get("page", missing)
5803
- }
5804
- query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
5805
-
5806
6280
  header_params = {
5807
6281
  "accept": "application/json",
5808
6282
  "content-type": "application/json",
@@ -5826,9 +6300,8 @@ class NetworkFirewallClient(object):
5826
6300
  resource_path=resource_path,
5827
6301
  method=method,
5828
6302
  path_params=path_params,
5829
- query_params=query_params,
5830
6303
  header_params=header_params,
5831
- response_type="MappedSecret",
6304
+ response_type="NatRule",
5832
6305
  allow_control_chars=kwargs.get('allow_control_chars'),
5833
6306
  operation_name=operation_name,
5834
6307
  api_reference_link=api_reference_link,
@@ -5838,9 +6311,8 @@ class NetworkFirewallClient(object):
5838
6311
  resource_path=resource_path,
5839
6312
  method=method,
5840
6313
  path_params=path_params,
5841
- query_params=query_params,
5842
6314
  header_params=header_params,
5843
- response_type="MappedSecret",
6315
+ response_type="NatRule",
5844
6316
  allow_control_chars=kwargs.get('allow_control_chars'),
5845
6317
  operation_name=operation_name,
5846
6318
  api_reference_link=api_reference_link,
@@ -5875,7 +6347,7 @@ class NetworkFirewallClient(object):
5875
6347
  :rtype: :class:`~oci.response.Response`
5876
6348
 
5877
6349
  :example:
5878
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_network_firewall.py.html>`__ to see an example of how to use get_network_firewall API.
6350
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_network_firewall.py.html>`__ to see an example of how to use get_network_firewall API.
5879
6351
  """
5880
6352
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5881
6353
  required_arguments = ['networkFirewallId']
@@ -5973,7 +6445,7 @@ class NetworkFirewallClient(object):
5973
6445
  :rtype: :class:`~oci.response.Response`
5974
6446
 
5975
6447
  :example:
5976
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_network_firewall_policy.py.html>`__ to see an example of how to use get_network_firewall_policy API.
6448
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_network_firewall_policy.py.html>`__ to see an example of how to use get_network_firewall_policy API.
5977
6449
  """
5978
6450
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
5979
6451
  required_arguments = ['networkFirewallPolicyId']
@@ -6074,7 +6546,7 @@ class NetworkFirewallClient(object):
6074
6546
  :rtype: :class:`~oci.response.Response`
6075
6547
 
6076
6548
  :example:
6077
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_security_rule.py.html>`__ to see an example of how to use get_security_rule API.
6549
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_security_rule.py.html>`__ to see an example of how to use get_security_rule API.
6078
6550
  """
6079
6551
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6080
6552
  required_arguments = ['networkFirewallPolicyId', 'securityRuleName']
@@ -6182,7 +6654,7 @@ class NetworkFirewallClient(object):
6182
6654
  :rtype: :class:`~oci.response.Response`
6183
6655
 
6184
6656
  :example:
6185
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_service.py.html>`__ to see an example of how to use get_service API.
6657
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_service.py.html>`__ to see an example of how to use get_service API.
6186
6658
  """
6187
6659
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6188
6660
  required_arguments = ['networkFirewallPolicyId', 'serviceName']
@@ -6294,7 +6766,7 @@ class NetworkFirewallClient(object):
6294
6766
  :rtype: :class:`~oci.response.Response`
6295
6767
 
6296
6768
  :example:
6297
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_service_list.py.html>`__ to see an example of how to use get_service_list API.
6769
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_service_list.py.html>`__ to see an example of how to use get_service_list API.
6298
6770
  """
6299
6771
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6300
6772
  required_arguments = ['networkFirewallPolicyId', 'serviceListName']
@@ -6396,7 +6868,7 @@ class NetworkFirewallClient(object):
6396
6868
  :rtype: :class:`~oci.response.Response`
6397
6869
 
6398
6870
  :example:
6399
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_tunnel_inspection_rule.py.html>`__ to see an example of how to use get_tunnel_inspection_rule API.
6871
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_tunnel_inspection_rule.py.html>`__ to see an example of how to use get_tunnel_inspection_rule API.
6400
6872
  """
6401
6873
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6402
6874
  required_arguments = ['networkFirewallPolicyId', 'tunnelInspectionRuleName']
@@ -6498,7 +6970,7 @@ class NetworkFirewallClient(object):
6498
6970
  :rtype: :class:`~oci.response.Response`
6499
6971
 
6500
6972
  :example:
6501
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_url_list.py.html>`__ to see an example of how to use get_url_list API.
6973
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_url_list.py.html>`__ to see an example of how to use get_url_list API.
6502
6974
  """
6503
6975
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6504
6976
  required_arguments = ['networkFirewallPolicyId', 'urlListName']
@@ -6597,7 +7069,7 @@ class NetworkFirewallClient(object):
6597
7069
  :rtype: :class:`~oci.response.Response`
6598
7070
 
6599
7071
  :example:
6600
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/get_work_request.py.html>`__ to see an example of how to use get_work_request API.
7072
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/get_work_request.py.html>`__ to see an example of how to use get_work_request API.
6601
7073
  """
6602
7074
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6603
7075
  required_arguments = ['workRequestId']
@@ -6714,7 +7186,7 @@ class NetworkFirewallClient(object):
6714
7186
  :rtype: :class:`~oci.response.Response`
6715
7187
 
6716
7188
  :example:
6717
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_address_lists.py.html>`__ to see an example of how to use list_address_lists API.
7189
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_address_lists.py.html>`__ to see an example of how to use list_address_lists API.
6718
7190
  """
6719
7191
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6720
7192
  required_arguments = ['networkFirewallPolicyId']
@@ -6861,7 +7333,7 @@ class NetworkFirewallClient(object):
6861
7333
  :rtype: :class:`~oci.response.Response`
6862
7334
 
6863
7335
  :example:
6864
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_application_groups.py.html>`__ to see an example of how to use list_application_groups API.
7336
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_application_groups.py.html>`__ to see an example of how to use list_application_groups API.
6865
7337
  """
6866
7338
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
6867
7339
  required_arguments = ['networkFirewallPolicyId']
@@ -7008,7 +7480,7 @@ class NetworkFirewallClient(object):
7008
7480
  :rtype: :class:`~oci.response.Response`
7009
7481
 
7010
7482
  :example:
7011
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_applications.py.html>`__ to see an example of how to use list_applications API.
7483
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_applications.py.html>`__ to see an example of how to use list_applications API.
7012
7484
  """
7013
7485
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7014
7486
  required_arguments = ['networkFirewallPolicyId']
@@ -7155,7 +7627,7 @@ class NetworkFirewallClient(object):
7155
7627
  :rtype: :class:`~oci.response.Response`
7156
7628
 
7157
7629
  :example:
7158
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_decryption_profiles.py.html>`__ to see an example of how to use list_decryption_profiles API.
7630
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_decryption_profiles.py.html>`__ to see an example of how to use list_decryption_profiles API.
7159
7631
  """
7160
7632
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7161
7633
  required_arguments = ['networkFirewallPolicyId']
@@ -7305,7 +7777,7 @@ class NetworkFirewallClient(object):
7305
7777
  :rtype: :class:`~oci.response.Response`
7306
7778
 
7307
7779
  :example:
7308
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_decryption_rules.py.html>`__ to see an example of how to use list_decryption_rules API.
7780
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_decryption_rules.py.html>`__ to see an example of how to use list_decryption_rules API.
7309
7781
  """
7310
7782
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7311
7783
  required_arguments = ['networkFirewallPolicyId']
@@ -7454,7 +7926,7 @@ class NetworkFirewallClient(object):
7454
7926
  :rtype: :class:`~oci.response.Response`
7455
7927
 
7456
7928
  :example:
7457
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_mapped_secrets.py.html>`__ to see an example of how to use list_mapped_secrets API.
7929
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_mapped_secrets.py.html>`__ to see an example of how to use list_mapped_secrets API.
7458
7930
  """
7459
7931
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7460
7932
  required_arguments = ['networkFirewallPolicyId']
@@ -7555,6 +8027,158 @@ class NetworkFirewallClient(object):
7555
8027
  api_reference_link=api_reference_link,
7556
8028
  required_arguments=required_arguments)
7557
8029
 
8030
+ def list_nat_rules(self, network_firewall_policy_id, **kwargs):
8031
+ """
8032
+ Returns a list of NAT Rules for the Network Firewall Policy.
8033
+
8034
+
8035
+ :param str network_firewall_policy_id: (required)
8036
+ Unique Network Firewall Policy identifier
8037
+
8038
+ :param int limit: (optional)
8039
+ The maximum number of items to return.
8040
+
8041
+ :param str page: (optional)
8042
+ A token representing the position at which to start retrieving results. This must come from the `opc-next-page` or `opc-prev-page` header field of a previous response.
8043
+
8044
+ :param str sort_order: (optional)
8045
+ The sort order to use, either 'ASC' or 'DESC'.
8046
+
8047
+ Allowed values are: "ASC", "DESC"
8048
+
8049
+ :param str sort_by: (optional)
8050
+ The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending.
8051
+
8052
+ Allowed values are: "timeCreated", "displayName"
8053
+
8054
+ :param str opc_request_id: (optional)
8055
+ The client request ID for tracing.
8056
+
8057
+ :param str display_name: (optional)
8058
+ A filter to return only resources that match the entire display name given.
8059
+
8060
+ :param int nat_rule_priority_order: (optional)
8061
+ Unique priority order for NAT Rules in the network firewall policy.
8062
+
8063
+ :param obj retry_strategy: (optional)
8064
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
8065
+
8066
+ 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.
8067
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
8068
+
8069
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
8070
+
8071
+ :param bool allow_control_chars: (optional)
8072
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
8073
+ By default, the response will not allow control characters in strings
8074
+
8075
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.network_firewall.models.NatRuleCollection`
8076
+ :rtype: :class:`~oci.response.Response`
8077
+
8078
+ :example:
8079
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_nat_rules.py.html>`__ to see an example of how to use list_nat_rules API.
8080
+ """
8081
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8082
+ required_arguments = ['networkFirewallPolicyId']
8083
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules"
8084
+ method = "GET"
8085
+ operation_name = "list_nat_rules"
8086
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/NatRule/ListNatRules"
8087
+
8088
+ # Don't accept unknown kwargs
8089
+ expected_kwargs = [
8090
+ "allow_control_chars",
8091
+ "retry_strategy",
8092
+ "limit",
8093
+ "page",
8094
+ "sort_order",
8095
+ "sort_by",
8096
+ "opc_request_id",
8097
+ "display_name",
8098
+ "nat_rule_priority_order"
8099
+ ]
8100
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
8101
+ if extra_kwargs:
8102
+ raise ValueError(
8103
+ f"list_nat_rules got unknown kwargs: {extra_kwargs!r}")
8104
+
8105
+ path_params = {
8106
+ "networkFirewallPolicyId": network_firewall_policy_id
8107
+ }
8108
+
8109
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
8110
+
8111
+ for (k, v) in six.iteritems(path_params):
8112
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
8113
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
8114
+
8115
+ if 'sort_order' in kwargs:
8116
+ sort_order_allowed_values = ["ASC", "DESC"]
8117
+ if kwargs['sort_order'] not in sort_order_allowed_values:
8118
+ raise ValueError(
8119
+ f"Invalid value for `sort_order`, must be one of { sort_order_allowed_values }"
8120
+ )
8121
+
8122
+ if 'sort_by' in kwargs:
8123
+ sort_by_allowed_values = ["timeCreated", "displayName"]
8124
+ if kwargs['sort_by'] not in sort_by_allowed_values:
8125
+ raise ValueError(
8126
+ f"Invalid value for `sort_by`, must be one of { sort_by_allowed_values }"
8127
+ )
8128
+
8129
+ query_params = {
8130
+ "limit": kwargs.get("limit", missing),
8131
+ "page": kwargs.get("page", missing),
8132
+ "sortOrder": kwargs.get("sort_order", missing),
8133
+ "sortBy": kwargs.get("sort_by", missing),
8134
+ "displayName": kwargs.get("display_name", missing),
8135
+ "natRulePriorityOrder": kwargs.get("nat_rule_priority_order", missing)
8136
+ }
8137
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
8138
+
8139
+ header_params = {
8140
+ "accept": "application/json",
8141
+ "content-type": "application/json",
8142
+ "opc-request-id": kwargs.get("opc_request_id", missing)
8143
+ }
8144
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
8145
+
8146
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
8147
+ operation_retry_strategy=kwargs.get('retry_strategy'),
8148
+ client_retry_strategy=self.retry_strategy
8149
+ )
8150
+ if retry_strategy is None:
8151
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
8152
+
8153
+ if retry_strategy:
8154
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
8155
+ self.base_client.add_opc_client_retries_header(header_params)
8156
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
8157
+ return retry_strategy.make_retrying_call(
8158
+ self.base_client.call_api,
8159
+ resource_path=resource_path,
8160
+ method=method,
8161
+ path_params=path_params,
8162
+ query_params=query_params,
8163
+ header_params=header_params,
8164
+ response_type="NatRuleCollection",
8165
+ allow_control_chars=kwargs.get('allow_control_chars'),
8166
+ operation_name=operation_name,
8167
+ api_reference_link=api_reference_link,
8168
+ required_arguments=required_arguments)
8169
+ else:
8170
+ return self.base_client.call_api(
8171
+ resource_path=resource_path,
8172
+ method=method,
8173
+ path_params=path_params,
8174
+ query_params=query_params,
8175
+ header_params=header_params,
8176
+ response_type="NatRuleCollection",
8177
+ allow_control_chars=kwargs.get('allow_control_chars'),
8178
+ operation_name=operation_name,
8179
+ api_reference_link=api_reference_link,
8180
+ required_arguments=required_arguments)
8181
+
7558
8182
  def list_network_firewall_policies(self, compartment_id, **kwargs):
7559
8183
  """
7560
8184
  Returns a list of Network Firewall Policies.
@@ -7578,7 +8202,7 @@ class NetworkFirewallClient(object):
7578
8202
  :param str lifecycle_state: (optional)
7579
8203
  A filter to return only resources with a lifecycleState matching the given value.
7580
8204
 
7581
- Allowed values are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "ATTACHING", "DETACHING"
8205
+ Allowed values are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"
7582
8206
 
7583
8207
  :param str sort_order: (optional)
7584
8208
  The sort order to use, either 'ASC' or 'DESC'.
@@ -7609,7 +8233,7 @@ class NetworkFirewallClient(object):
7609
8233
  :rtype: :class:`~oci.response.Response`
7610
8234
 
7611
8235
  :example:
7612
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_network_firewall_policies.py.html>`__ to see an example of how to use list_network_firewall_policies API.
8236
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_network_firewall_policies.py.html>`__ to see an example of how to use list_network_firewall_policies API.
7613
8237
  """
7614
8238
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7615
8239
  required_arguments = ['compartmentId']
@@ -7637,7 +8261,7 @@ class NetworkFirewallClient(object):
7637
8261
  f"list_network_firewall_policies got unknown kwargs: {extra_kwargs!r}")
7638
8262
 
7639
8263
  if 'lifecycle_state' in kwargs:
7640
- lifecycle_state_allowed_values = ["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "ATTACHING", "DETACHING"]
8264
+ lifecycle_state_allowed_values = ["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]
7641
8265
  if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
7642
8266
  raise ValueError(
7643
8267
  f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
@@ -7743,7 +8367,7 @@ class NetworkFirewallClient(object):
7743
8367
  :param str lifecycle_state: (optional)
7744
8368
  A filter to return only resources with a lifecycleState matching the given value.
7745
8369
 
7746
- Allowed values are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "ATTACHING", "DETACHING"
8370
+ Allowed values are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"
7747
8371
 
7748
8372
  :param str sort_order: (optional)
7749
8373
  The sort order to use, either 'ASC' or 'DESC'.
@@ -7774,7 +8398,7 @@ class NetworkFirewallClient(object):
7774
8398
  :rtype: :class:`~oci.response.Response`
7775
8399
 
7776
8400
  :example:
7777
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_network_firewalls.py.html>`__ to see an example of how to use list_network_firewalls API.
8401
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_network_firewalls.py.html>`__ to see an example of how to use list_network_firewalls API.
7778
8402
  """
7779
8403
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7780
8404
  required_arguments = ['compartmentId']
@@ -7804,7 +8428,7 @@ class NetworkFirewallClient(object):
7804
8428
  f"list_network_firewalls got unknown kwargs: {extra_kwargs!r}")
7805
8429
 
7806
8430
  if 'lifecycle_state' in kwargs:
7807
- lifecycle_state_allowed_values = ["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "ATTACHING", "DETACHING"]
8431
+ lifecycle_state_allowed_values = ["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]
7808
8432
  if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
7809
8433
  raise ValueError(
7810
8434
  f"Invalid value for `lifecycle_state`, must be one of { lifecycle_state_allowed_values }"
@@ -7928,7 +8552,7 @@ class NetworkFirewallClient(object):
7928
8552
  :rtype: :class:`~oci.response.Response`
7929
8553
 
7930
8554
  :example:
7931
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_security_rules.py.html>`__ to see an example of how to use list_security_rules API.
8555
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_security_rules.py.html>`__ to see an example of how to use list_security_rules API.
7932
8556
  """
7933
8557
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
7934
8558
  required_arguments = ['networkFirewallPolicyId']
@@ -8077,7 +8701,7 @@ class NetworkFirewallClient(object):
8077
8701
  :rtype: :class:`~oci.response.Response`
8078
8702
 
8079
8703
  :example:
8080
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_service_lists.py.html>`__ to see an example of how to use list_service_lists API.
8704
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_service_lists.py.html>`__ to see an example of how to use list_service_lists API.
8081
8705
  """
8082
8706
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8083
8707
  required_arguments = ['networkFirewallPolicyId']
@@ -8224,7 +8848,7 @@ class NetworkFirewallClient(object):
8224
8848
  :rtype: :class:`~oci.response.Response`
8225
8849
 
8226
8850
  :example:
8227
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_services.py.html>`__ to see an example of how to use list_services API.
8851
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_services.py.html>`__ to see an example of how to use list_services API.
8228
8852
  """
8229
8853
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8230
8854
  required_arguments = ['networkFirewallPolicyId']
@@ -8374,7 +8998,7 @@ class NetworkFirewallClient(object):
8374
8998
  :rtype: :class:`~oci.response.Response`
8375
8999
 
8376
9000
  :example:
8377
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_tunnel_inspection_rules.py.html>`__ to see an example of how to use list_tunnel_inspection_rules API.
9001
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_tunnel_inspection_rules.py.html>`__ to see an example of how to use list_tunnel_inspection_rules API.
8378
9002
  """
8379
9003
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8380
9004
  required_arguments = ['networkFirewallPolicyId']
@@ -8523,7 +9147,7 @@ class NetworkFirewallClient(object):
8523
9147
  :rtype: :class:`~oci.response.Response`
8524
9148
 
8525
9149
  :example:
8526
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_url_lists.py.html>`__ to see an example of how to use list_url_lists API.
9150
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_url_lists.py.html>`__ to see an example of how to use list_url_lists API.
8527
9151
  """
8528
9152
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8529
9153
  required_arguments = ['networkFirewallPolicyId']
@@ -8667,7 +9291,7 @@ class NetworkFirewallClient(object):
8667
9291
  :rtype: :class:`~oci.response.Response`
8668
9292
 
8669
9293
  :example:
8670
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_work_request_errors.py.html>`__ to see an example of how to use list_work_request_errors API.
9294
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_work_request_errors.py.html>`__ to see an example of how to use list_work_request_errors API.
8671
9295
  """
8672
9296
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8673
9297
  required_arguments = ['workRequestId']
@@ -8809,7 +9433,7 @@ class NetworkFirewallClient(object):
8809
9433
  :rtype: :class:`~oci.response.Response`
8810
9434
 
8811
9435
  :example:
8812
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_work_request_logs.py.html>`__ to see an example of how to use list_work_request_logs API.
9436
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_work_request_logs.py.html>`__ to see an example of how to use list_work_request_logs API.
8813
9437
  """
8814
9438
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8815
9439
  required_arguments = ['workRequestId']
@@ -8962,7 +9586,7 @@ class NetworkFirewallClient(object):
8962
9586
  :rtype: :class:`~oci.response.Response`
8963
9587
 
8964
9588
  :example:
8965
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/list_work_requests.py.html>`__ to see an example of how to use list_work_requests API.
9589
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/list_work_requests.py.html>`__ to see an example of how to use list_work_requests API.
8966
9590
  """
8967
9591
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
8968
9592
  required_arguments = ['compartmentId']
@@ -9104,7 +9728,7 @@ class NetworkFirewallClient(object):
9104
9728
  :rtype: :class:`~oci.response.Response`
9105
9729
 
9106
9730
  :example:
9107
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/migrate_network_firewall_policy.py.html>`__ to see an example of how to use migrate_network_firewall_policy API.
9731
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/migrate_network_firewall_policy.py.html>`__ to see an example of how to use migrate_network_firewall_policy API.
9108
9732
  """
9109
9733
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9110
9734
  required_arguments = ['networkFirewallPolicyId']
@@ -9218,7 +9842,7 @@ class NetworkFirewallClient(object):
9218
9842
  :rtype: :class:`~oci.response.Response`
9219
9843
 
9220
9844
  :example:
9221
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_address_list.py.html>`__ to see an example of how to use update_address_list API.
9845
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_address_list.py.html>`__ to see an example of how to use update_address_list API.
9222
9846
  """
9223
9847
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9224
9848
  required_arguments = ['networkFirewallPolicyId', 'addressListName']
@@ -9334,7 +9958,7 @@ class NetworkFirewallClient(object):
9334
9958
  :rtype: :class:`~oci.response.Response`
9335
9959
 
9336
9960
  :example:
9337
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_application.py.html>`__ to see an example of how to use update_application API.
9961
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_application.py.html>`__ to see an example of how to use update_application API.
9338
9962
  """
9339
9963
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9340
9964
  required_arguments = ['networkFirewallPolicyId', 'applicationName']
@@ -9450,7 +10074,7 @@ class NetworkFirewallClient(object):
9450
10074
  :rtype: :class:`~oci.response.Response`
9451
10075
 
9452
10076
  :example:
9453
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_application_group.py.html>`__ to see an example of how to use update_application_group API.
10077
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_application_group.py.html>`__ to see an example of how to use update_application_group API.
9454
10078
  """
9455
10079
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9456
10080
  required_arguments = ['networkFirewallPolicyId', 'applicationGroupName']
@@ -9566,7 +10190,7 @@ class NetworkFirewallClient(object):
9566
10190
  :rtype: :class:`~oci.response.Response`
9567
10191
 
9568
10192
  :example:
9569
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_decryption_profile.py.html>`__ to see an example of how to use update_decryption_profile API.
10193
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_decryption_profile.py.html>`__ to see an example of how to use update_decryption_profile API.
9570
10194
  """
9571
10195
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9572
10196
  required_arguments = ['networkFirewallPolicyId', 'decryptionProfileName']
@@ -9682,7 +10306,7 @@ class NetworkFirewallClient(object):
9682
10306
  :rtype: :class:`~oci.response.Response`
9683
10307
 
9684
10308
  :example:
9685
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_decryption_rule.py.html>`__ to see an example of how to use update_decryption_rule API.
10309
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_decryption_rule.py.html>`__ to see an example of how to use update_decryption_rule API.
9686
10310
  """
9687
10311
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9688
10312
  required_arguments = ['networkFirewallPolicyId', 'decryptionRuleName']
@@ -9798,7 +10422,7 @@ class NetworkFirewallClient(object):
9798
10422
  :rtype: :class:`~oci.response.Response`
9799
10423
 
9800
10424
  :example:
9801
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_mapped_secret.py.html>`__ to see an example of how to use update_mapped_secret API.
10425
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_mapped_secret.py.html>`__ to see an example of how to use update_mapped_secret API.
9802
10426
  """
9803
10427
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9804
10428
  required_arguments = ['networkFirewallPolicyId', 'mappedSecretName']
@@ -9874,6 +10498,122 @@ class NetworkFirewallClient(object):
9874
10498
  api_reference_link=api_reference_link,
9875
10499
  required_arguments=required_arguments)
9876
10500
 
10501
+ def update_nat_rule(self, network_firewall_policy_id, nat_rule_name, update_nat_rule_details, **kwargs):
10502
+ """
10503
+ Updates the NAT Rule with the given name in the network firewall policy.
10504
+
10505
+
10506
+ :param str network_firewall_policy_id: (required)
10507
+ Unique Network Firewall Policy identifier
10508
+
10509
+ :param str nat_rule_name: (required)
10510
+ Unique identifier for NAT Rules in the network firewall policy.
10511
+
10512
+ :param oci.network_firewall.models.UpdateNatRuleDetails update_nat_rule_details: (required)
10513
+ The information to be updated.
10514
+
10515
+ :param str if_match: (optional)
10516
+ For optimistic concurrency control. In the PUT or DELETE call
10517
+ for a resource, set the `if-match` parameter to the value of the
10518
+ etag from a previous GET or POST response for that resource.
10519
+ The resource will be updated or deleted only if the etag you
10520
+ provide matches the resource's current etag value.
10521
+
10522
+ :param str opc_request_id: (optional)
10523
+ The client request ID for tracing.
10524
+
10525
+ :param obj retry_strategy: (optional)
10526
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
10527
+
10528
+ 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.
10529
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
10530
+
10531
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
10532
+
10533
+ :param bool allow_control_chars: (optional)
10534
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
10535
+ By default, the response will not allow control characters in strings
10536
+
10537
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.network_firewall.models.NatRule`
10538
+ :rtype: :class:`~oci.response.Response`
10539
+
10540
+ :example:
10541
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_nat_rule.py.html>`__ to see an example of how to use update_nat_rule API.
10542
+ """
10543
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10544
+ required_arguments = ['networkFirewallPolicyId', 'natRuleName']
10545
+ resource_path = "/networkFirewallPolicies/{networkFirewallPolicyId}/natRules/{natRuleName}"
10546
+ method = "PUT"
10547
+ operation_name = "update_nat_rule"
10548
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/network-firewall/20230501/NatRule/UpdateNatRule"
10549
+
10550
+ # Don't accept unknown kwargs
10551
+ expected_kwargs = [
10552
+ "allow_control_chars",
10553
+ "retry_strategy",
10554
+ "if_match",
10555
+ "opc_request_id"
10556
+ ]
10557
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
10558
+ if extra_kwargs:
10559
+ raise ValueError(
10560
+ f"update_nat_rule got unknown kwargs: {extra_kwargs!r}")
10561
+
10562
+ path_params = {
10563
+ "networkFirewallPolicyId": network_firewall_policy_id,
10564
+ "natRuleName": nat_rule_name
10565
+ }
10566
+
10567
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
10568
+
10569
+ for (k, v) in six.iteritems(path_params):
10570
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
10571
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
10572
+
10573
+ header_params = {
10574
+ "accept": "application/json",
10575
+ "content-type": "application/json",
10576
+ "if-match": kwargs.get("if_match", missing),
10577
+ "opc-request-id": kwargs.get("opc_request_id", missing)
10578
+ }
10579
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
10580
+
10581
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
10582
+ operation_retry_strategy=kwargs.get('retry_strategy'),
10583
+ client_retry_strategy=self.retry_strategy
10584
+ )
10585
+ if retry_strategy is None:
10586
+ retry_strategy = retry.DEFAULT_RETRY_STRATEGY
10587
+
10588
+ if retry_strategy:
10589
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
10590
+ self.base_client.add_opc_client_retries_header(header_params)
10591
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
10592
+ return retry_strategy.make_retrying_call(
10593
+ self.base_client.call_api,
10594
+ resource_path=resource_path,
10595
+ method=method,
10596
+ path_params=path_params,
10597
+ header_params=header_params,
10598
+ body=update_nat_rule_details,
10599
+ response_type="NatRule",
10600
+ allow_control_chars=kwargs.get('allow_control_chars'),
10601
+ operation_name=operation_name,
10602
+ api_reference_link=api_reference_link,
10603
+ required_arguments=required_arguments)
10604
+ else:
10605
+ return self.base_client.call_api(
10606
+ resource_path=resource_path,
10607
+ method=method,
10608
+ path_params=path_params,
10609
+ header_params=header_params,
10610
+ body=update_nat_rule_details,
10611
+ response_type="NatRule",
10612
+ allow_control_chars=kwargs.get('allow_control_chars'),
10613
+ operation_name=operation_name,
10614
+ api_reference_link=api_reference_link,
10615
+ required_arguments=required_arguments)
10616
+
9877
10617
  def update_network_firewall(self, network_firewall_id, update_network_firewall_details, **kwargs):
9878
10618
  """
9879
10619
  Updates the NetworkFirewall
@@ -9913,7 +10653,7 @@ class NetworkFirewallClient(object):
9913
10653
  :rtype: :class:`~oci.response.Response`
9914
10654
 
9915
10655
  :example:
9916
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_network_firewall.py.html>`__ to see an example of how to use update_network_firewall API.
10656
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_network_firewall.py.html>`__ to see an example of how to use update_network_firewall API.
9917
10657
  """
9918
10658
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
9919
10659
  required_arguments = ['networkFirewallId']
@@ -10023,7 +10763,7 @@ class NetworkFirewallClient(object):
10023
10763
  :rtype: :class:`~oci.response.Response`
10024
10764
 
10025
10765
  :example:
10026
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_network_firewall_policy.py.html>`__ to see an example of how to use update_network_firewall_policy API.
10766
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_network_firewall_policy.py.html>`__ to see an example of how to use update_network_firewall_policy API.
10027
10767
  """
10028
10768
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10029
10769
  required_arguments = ['networkFirewallPolicyId']
@@ -10136,7 +10876,7 @@ class NetworkFirewallClient(object):
10136
10876
  :rtype: :class:`~oci.response.Response`
10137
10877
 
10138
10878
  :example:
10139
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_security_rule.py.html>`__ to see an example of how to use update_security_rule API.
10879
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_security_rule.py.html>`__ to see an example of how to use update_security_rule API.
10140
10880
  """
10141
10881
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10142
10882
  required_arguments = ['networkFirewallPolicyId', 'securityRuleName']
@@ -10252,7 +10992,7 @@ class NetworkFirewallClient(object):
10252
10992
  :rtype: :class:`~oci.response.Response`
10253
10993
 
10254
10994
  :example:
10255
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_service.py.html>`__ to see an example of how to use update_service API.
10995
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_service.py.html>`__ to see an example of how to use update_service API.
10256
10996
  """
10257
10997
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10258
10998
  required_arguments = ['networkFirewallPolicyId', 'serviceName']
@@ -10368,7 +11108,7 @@ class NetworkFirewallClient(object):
10368
11108
  :rtype: :class:`~oci.response.Response`
10369
11109
 
10370
11110
  :example:
10371
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_service_list.py.html>`__ to see an example of how to use update_service_list API.
11111
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_service_list.py.html>`__ to see an example of how to use update_service_list API.
10372
11112
  """
10373
11113
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10374
11114
  required_arguments = ['networkFirewallPolicyId', 'serviceListName']
@@ -10484,7 +11224,7 @@ class NetworkFirewallClient(object):
10484
11224
  :rtype: :class:`~oci.response.Response`
10485
11225
 
10486
11226
  :example:
10487
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_tunnel_inspection_rule.py.html>`__ to see an example of how to use update_tunnel_inspection_rule API.
11227
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_tunnel_inspection_rule.py.html>`__ to see an example of how to use update_tunnel_inspection_rule API.
10488
11228
  """
10489
11229
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10490
11230
  required_arguments = ['networkFirewallPolicyId', 'tunnelInspectionRuleName']
@@ -10600,7 +11340,7 @@ class NetworkFirewallClient(object):
10600
11340
  :rtype: :class:`~oci.response.Response`
10601
11341
 
10602
11342
  :example:
10603
- Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.152.0/networkfirewall/update_url_list.py.html>`__ to see an example of how to use update_url_list API.
11343
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/2.153.0/networkfirewall/update_url_list.py.html>`__ to see an example of how to use update_url_list API.
10604
11344
  """
10605
11345
  # Required path and query arguments. These are in camelCase to replace values in service endpoints.
10606
11346
  required_arguments = ['networkFirewallPolicyId', 'urlListName']