oci 2.135.2__py3-none-any.whl → 2.137.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 (807) hide show
  1. oci/_vendor/jwt/__init__.py +65 -26
  2. oci/_vendor/jwt/algorithms.py +404 -130
  3. oci/_vendor/jwt/api_jwk.py +108 -0
  4. oci/_vendor/jwt/api_jws.py +153 -106
  5. oci/_vendor/jwt/api_jwt.py +146 -137
  6. oci/_vendor/jwt/exceptions.py +13 -6
  7. oci/_vendor/jwt/help.py +16 -15
  8. oci/_vendor/jwt/jwks_client.py +64 -0
  9. oci/_vendor/jwt/utils.py +101 -54
  10. oci/access_governance_cp/access_governance_cp_client.py +8 -8
  11. oci/adm/application_dependency_management_client.py +36 -36
  12. oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
  13. oci/ai_document/ai_service_document_client.py +26 -26
  14. oci/ai_language/ai_service_language_client.py +44 -44
  15. oci/ai_speech/ai_service_speech_client.py +19 -19
  16. oci/ai_vision/ai_service_vision_client.py +25 -25
  17. oci/analytics/analytics_client.py +24 -24
  18. oci/announcements_service/announcement_client.py +5 -5
  19. oci/announcements_service/announcement_subscription_client.py +9 -9
  20. oci/announcements_service/announcements_preferences_client.py +4 -4
  21. oci/announcements_service/service_client.py +1 -1
  22. oci/apigateway/api_gateway_client.py +21 -21
  23. oci/apigateway/deployment_client.py +6 -6
  24. oci/apigateway/gateway_client.py +6 -6
  25. oci/apigateway/subscribers_client.py +6 -6
  26. oci/apigateway/usage_plans_client.py +6 -6
  27. oci/apigateway/work_requests_client.py +5 -5
  28. oci/apm_config/config_client.py +9 -9
  29. oci/apm_control_plane/apm_domain_client.py +14 -14
  30. oci/apm_synthetics/apm_synthetic_client.py +28 -28
  31. oci/apm_traces/attributes_client.py +8 -8
  32. oci/apm_traces/query_client.py +2 -2
  33. oci/apm_traces/trace_client.py +4 -4
  34. oci/appmgmt_control/appmgmt_control_client.py +8 -8
  35. oci/artifacts/artifacts_client.py +32 -32
  36. oci/audit/audit_client.py +3 -3
  37. oci/auth/security_token_container.py +1 -1
  38. oci/autoscaling/auto_scaling_client.py +11 -11
  39. oci/bastion/bastion_client.py +15 -15
  40. oci/bds/bds_client.py +72 -72
  41. oci/blockchain/blockchain_platform_client.py +27 -27
  42. oci/budget/budget_client.py +10 -10
  43. oci/capacity_management/capacity_management_client.py +32 -32
  44. oci/certificates/certificates_client.py +5 -5
  45. oci/certificates_management/certificates_management_client.py +32 -32
  46. oci/cims/incident_client.py +8 -8
  47. oci/cloud_bridge/common_client.py +5 -5
  48. oci/cloud_bridge/discovery_client.py +160 -14
  49. oci/cloud_bridge/inventory_client.py +20 -20
  50. oci/cloud_bridge/models/__init__.py +48 -2
  51. oci/cloud_bridge/models/asset.py +19 -3
  52. oci/cloud_bridge/models/asset_source.py +11 -3
  53. oci/cloud_bridge/models/asset_source_credentials.py +17 -7
  54. oci/cloud_bridge/models/asset_source_summary.py +11 -3
  55. oci/cloud_bridge/models/asset_summary.py +11 -3
  56. oci/cloud_bridge/models/aws_asset_source.py +359 -0
  57. oci/cloud_bridge/models/aws_asset_source_summary.py +205 -0
  58. oci/cloud_bridge/models/aws_ebs_asset.py +170 -0
  59. oci/cloud_bridge/models/aws_ebs_properties.py +382 -0
  60. oci/cloud_bridge/models/aws_ec2_asset.py +278 -0
  61. oci/cloud_bridge/models/aws_ec2_properties.py +1056 -0
  62. oci/cloud_bridge/models/create_asset_details.py +19 -3
  63. oci/cloud_bridge/models/create_asset_source_details.py +11 -3
  64. oci/cloud_bridge/models/create_aws_asset_source_details.py +323 -0
  65. oci/cloud_bridge/models/create_aws_ebs_asset_details.py +134 -0
  66. oci/cloud_bridge/models/create_aws_ec2_asset_details.py +242 -0
  67. oci/cloud_bridge/models/create_vm_ware_asset_source_details.py +2 -2
  68. oci/cloud_bridge/models/create_vmware_vm_asset_details.py +5 -5
  69. oci/cloud_bridge/models/group_identifier.py +103 -0
  70. oci/cloud_bridge/models/import_inventory_via_assets_details.py +13 -5
  71. oci/cloud_bridge/models/instance_network_interface.py +498 -0
  72. oci/cloud_bridge/models/instance_network_interface_association.py +196 -0
  73. oci/cloud_bridge/models/instance_network_interface_attachment.py +227 -0
  74. oci/cloud_bridge/models/instance_private_ip_address.py +161 -0
  75. oci/cloud_bridge/models/instance_state.py +103 -0
  76. oci/cloud_bridge/models/monthly_cost_summary.py +103 -0
  77. oci/cloud_bridge/models/placement.py +289 -0
  78. oci/{ocvp/models/supported_sku_summary_collection.py → cloud_bridge/models/supported_cloud_region_collection.py} +15 -15
  79. oci/cloud_bridge/models/supported_cloud_region_summary.py +244 -0
  80. oci/cloud_bridge/models/tag.py +103 -0
  81. oci/cloud_bridge/models/update_asset_details.py +19 -3
  82. oci/cloud_bridge/models/update_asset_source_details.py +47 -4
  83. oci/cloud_bridge/models/update_aws_asset_source_details.py +240 -0
  84. oci/cloud_bridge/models/update_aws_ebs_asset_details.py +106 -0
  85. oci/cloud_bridge/models/update_aws_ec2_asset_details.py +214 -0
  86. oci/cloud_bridge/models/update_vm_asset_details.py +1 -1
  87. oci/cloud_bridge/models/update_vm_ware_asset_source_details.py +11 -39
  88. oci/cloud_bridge/models/update_vmware_vm_asset_details.py +1 -1
  89. oci/cloud_bridge/models/vm_asset.py +3 -3
  90. oci/cloud_bridge/models/vm_ware_asset_source.py +2 -2
  91. oci/cloud_bridge/models/vm_ware_asset_source_summary.py +2 -2
  92. oci/cloud_bridge/models/vmware_vm_asset.py +5 -5
  93. oci/cloud_bridge/models/volume_attachment.py +196 -0
  94. oci/cloud_bridge/models/work_request.py +15 -3
  95. oci/cloud_bridge/models/work_request_summary.py +15 -3
  96. oci/cloud_bridge/ocb_agent_svc_client.py +22 -138
  97. oci/cloud_bridge/ocb_agent_svc_client_composite_operations.py +0 -48
  98. oci/cloud_guard/cloud_guard_client.py +155 -155
  99. oci/cloud_migrations/migration_client.py +43 -43
  100. oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
  101. oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
  102. oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
  103. oci/compute_instance_agent/plugin_client.py +2 -2
  104. oci/compute_instance_agent/pluginconfig_client.py +1 -1
  105. oci/container_engine/container_engine_client.py +88 -88
  106. oci/container_engine/models/__init__.py +4 -0
  107. oci/container_engine/models/cluster.py +33 -2
  108. oci/container_engine/models/cluster_create_options.py +56 -2
  109. oci/container_engine/models/open_id_connect_discovery.py +72 -0
  110. oci/container_engine/models/open_id_connect_token_authentication_config.py +370 -0
  111. oci/container_engine/models/update_cluster_options_details.py +56 -2
  112. oci/container_instances/container_instance_client.py +18 -18
  113. oci/core/blockstorage_client.py +60 -60
  114. oci/core/compute_client.py +102 -102
  115. oci/core/compute_management_client.py +32 -32
  116. oci/core/models/__init__.py +6 -0
  117. oci/core/models/block_volume_replica.py +43 -2
  118. oci/core/models/block_volume_replica_details.py +45 -2
  119. oci/core/models/block_volume_replica_info.py +43 -2
  120. oci/core/models/boot_volume_replica.py +43 -2
  121. oci/core/models/boot_volume_replica_details.py +45 -2
  122. oci/core/models/boot_volume_replica_info.py +43 -2
  123. oci/core/models/boot_volume_source_details.py +4 -0
  124. oci/core/models/boot_volume_source_from_boot_volume_backup_delta_details.py +143 -0
  125. oci/core/models/create_boot_volume_details.py +45 -2
  126. oci/core/models/create_volume_backup_policy_assignment_details.py +45 -2
  127. oci/core/models/create_volume_details.py +45 -2
  128. oci/core/models/create_volume_group_details.py +45 -2
  129. oci/core/models/instance_configuration_create_volume_details.py +45 -2
  130. oci/core/models/virtual_circuit.py +29 -2
  131. oci/core/models/virtual_circuit_redundancy_metadata.py +202 -0
  132. oci/core/models/volume_backup_policy_assignment.py +45 -2
  133. oci/core/models/volume_group_replica_details.py +45 -2
  134. oci/core/models/volume_group_replica_info.py +43 -2
  135. oci/core/models/volume_source_details.py +4 -0
  136. oci/core/models/volume_source_from_volume_backup_delta_details.py +143 -0
  137. oci/core/virtual_network_client.py +247 -247
  138. oci/dashboard_service/dashboard_client.py +6 -6
  139. oci/dashboard_service/dashboard_group_client.py +6 -6
  140. oci/data_catalog/data_catalog_client.py +149 -149
  141. oci/data_flow/data_flow_client.py +42 -42
  142. oci/data_integration/data_integration_client.py +163 -163
  143. oci/data_labeling_service/data_labeling_management_client.py +17 -17
  144. oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
  145. oci/data_safe/data_safe_client.py +292 -292
  146. oci/data_science/data_science_client.py +217 -93
  147. oci/data_science/data_science_client_composite_operations.py +41 -0
  148. oci/data_science/models/__init__.py +8 -0
  149. oci/data_science/models/backup_operation_details.py +154 -0
  150. oci/data_science/models/backup_setting.py +158 -0
  151. oci/data_science/models/create_model_details.py +56 -2
  152. oci/data_science/models/model.py +141 -2
  153. oci/data_science/models/model_summary.py +31 -0
  154. oci/data_science/models/retention_operation_details.py +267 -0
  155. oci/data_science/models/retention_setting.py +158 -0
  156. oci/data_science/models/update_model_details.py +56 -2
  157. oci/data_science/models/work_request.py +7 -3
  158. oci/data_science/models/work_request_summary.py +7 -3
  159. oci/database/database_client.py +396 -396
  160. oci/database/models/__init__.py +14 -0
  161. oci/database/models/autonomous_database.py +58 -0
  162. oci/database/models/autonomous_database_encryption_key_details.py +133 -0
  163. oci/database/models/autonomous_database_encryption_key_history_entry.py +99 -0
  164. oci/database/models/autonomous_database_summary.py +58 -0
  165. oci/database/models/aws_key_details.py +175 -0
  166. oci/database/models/azure_key_details.py +113 -0
  167. oci/database/models/create_autonomous_database_base.py +27 -0
  168. oci/database/models/create_autonomous_database_clone_details.py +7 -0
  169. oci/database/models/create_autonomous_database_details.py +7 -0
  170. oci/database/models/create_autonomous_database_from_backup_details.py +7 -0
  171. oci/database/models/create_autonomous_database_from_backup_timestamp_details.py +7 -0
  172. oci/database/models/create_cross_region_autonomous_database_data_guard_details.py +7 -0
  173. oci/database/models/create_cross_region_disaster_recovery_details.py +7 -0
  174. oci/database/models/create_cross_tenancy_disaster_recovery_details.py +7 -0
  175. oci/database/models/create_refreshable_autonomous_database_clone_details.py +7 -0
  176. oci/database/models/oci_key_details.py +119 -0
  177. oci/database/models/okv_key_details.py +206 -0
  178. oci/{log_analytics/models/agent_upload.py → database/models/oracle_managed_key_details.py} +14 -33
  179. oci/database/models/undelete_autonomous_database_details.py +7 -0
  180. oci/database/models/update_autonomous_database_details.py +29 -2
  181. oci/database_management/db_management_client.py +211 -211
  182. oci/database_management/diagnosability_client.py +4 -4
  183. oci/database_management/managed_my_sql_databases_client.py +7 -7
  184. oci/database_management/perfhub_client.py +1 -1
  185. oci/database_management/sql_tuning_client.py +17 -17
  186. oci/database_migration/database_migration_client.py +42 -42
  187. oci/database_tools/database_tools_client.py +23 -23
  188. oci/delegate_access_control/delegate_access_control_client.py +26 -26
  189. oci/delegate_access_control/work_request_client.py +4 -4
  190. oci/demand_signal/occ_demand_signal_client.py +7 -7
  191. oci/desktops/desktop_service_client.py +21 -21
  192. oci/devops/devops_client.py +141 -141
  193. oci/disaster_recovery/disaster_recovery_client.py +29 -29
  194. oci/dns/dns_client.py +389 -54
  195. oci/dns/dns_client_composite_operations.py +886 -193
  196. oci/dns/models/__init__.py +13 -1
  197. oci/dns/models/create_zone_details.py +101 -2
  198. oci/dns/models/dnssec_config.py +105 -0
  199. oci/dns/models/dnssec_key_version_ds_data.py +121 -0
  200. oci/dns/models/ksk_dnssec_key_version.py +550 -0
  201. oci/dns/models/promote_zone_dnssec_key_version_details.py +72 -0
  202. oci/dns/models/stage_zone_dnssec_key_version_details.py +72 -0
  203. oci/dns/models/update_zone_details.py +99 -0
  204. oci/dns/models/zone.py +126 -0
  205. oci/dns/models/zone_summary.py +128 -2
  206. oci/dns/models/zsk_dnssec_key_version.py +517 -0
  207. oci/dts/appliance_export_job_client.py +6 -6
  208. oci/dts/shipping_vendors_client.py +1 -1
  209. oci/dts/transfer_appliance_client.py +8 -8
  210. oci/dts/transfer_appliance_entitlement_client.py +3 -3
  211. oci/dts/transfer_device_client.py +5 -5
  212. oci/dts/transfer_job_client.py +6 -6
  213. oci/dts/transfer_package_client.py +7 -7
  214. oci/em_warehouse/em_warehouse_client.py +13 -13
  215. oci/email/email_client.py +31 -31
  216. oci/email_data_plane/email_dp_client.py +1 -1
  217. oci/events/events_client.py +6 -6
  218. oci/file_storage/file_storage_client.py +3599 -1776
  219. oci/file_storage/file_storage_client_composite_operations.py +881 -223
  220. oci/file_storage/models/__init__.py +2 -0
  221. oci/file_storage/models/create_export_details.py +31 -0
  222. oci/file_storage/models/create_file_system_details.py +31 -0
  223. oci/file_storage/models/create_filesystem_snapshot_policy_details.py +33 -2
  224. oci/file_storage/models/create_ldap_bind_account_details.py +7 -0
  225. oci/file_storage/models/create_mount_target_details.py +31 -0
  226. oci/file_storage/models/create_outbound_connector_details.py +33 -2
  227. oci/file_storage/models/create_replication_details.py +33 -2
  228. oci/file_storage/models/create_snapshot_details.py +33 -2
  229. oci/file_storage/models/export.py +33 -2
  230. oci/file_storage/models/export_summary.py +33 -2
  231. oci/file_storage/models/file_system.py +31 -0
  232. oci/file_storage/models/file_system_summary.py +31 -0
  233. oci/file_storage/models/filesystem_snapshot_policy.py +31 -0
  234. oci/file_storage/models/filesystem_snapshot_policy_summary.py +31 -0
  235. oci/file_storage/models/ldap_bind_account.py +7 -0
  236. oci/file_storage/models/ldap_bind_account_summary.py +7 -0
  237. oci/file_storage/models/mount_target.py +31 -0
  238. oci/file_storage/models/mount_target_summary.py +31 -0
  239. oci/file_storage/models/outbound_connector.py +31 -0
  240. oci/file_storage/models/outbound_connector_summary.py +31 -0
  241. oci/file_storage/models/replication.py +31 -0
  242. oci/file_storage/models/replication_summary.py +31 -0
  243. oci/file_storage/models/resource_lock.py +185 -0
  244. oci/file_storage/models/snapshot.py +31 -0
  245. oci/file_storage/models/snapshot_summary.py +31 -0
  246. oci/fleet_apps_management/fleet_apps_management_admin_client.py +2261 -294
  247. oci/fleet_apps_management/fleet_apps_management_admin_client_composite_operations.py +349 -1
  248. oci/fleet_apps_management/fleet_apps_management_client.py +141 -127
  249. oci/fleet_apps_management/fleet_apps_management_client_composite_operations.py +19 -19
  250. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +19 -15
  251. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client_composite_operations.py +1 -1
  252. oci/fleet_apps_management/fleet_apps_management_operations_client.py +2058 -363
  253. oci/fleet_apps_management/fleet_apps_management_operations_client_composite_operations.py +173 -0
  254. oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +1097 -260
  255. oci/fleet_apps_management/fleet_apps_management_runbooks_client_composite_operations.py +298 -0
  256. oci/fleet_apps_management/models/__init__.py +168 -0
  257. oci/fleet_apps_management/models/action_group.py +2 -2
  258. oci/fleet_apps_management/models/action_group_based_user_action_details.py +90 -0
  259. oci/fleet_apps_management/models/action_group_details.py +20 -16
  260. oci/fleet_apps_management/models/activity_resource_target.py +44 -7
  261. oci/fleet_apps_management/models/announcement_collection.py +1 -1
  262. oci/fleet_apps_management/models/announcement_summary.py +13 -13
  263. oci/fleet_apps_management/models/api_based_execution_details.py +1 -1
  264. oci/fleet_apps_management/models/artifact_details.py +109 -0
  265. oci/fleet_apps_management/models/associated_fleet_credential_details.py +1 -1
  266. oci/fleet_apps_management/models/associated_fleet_property_details.py +5 -5
  267. oci/fleet_apps_management/models/associated_fleet_resource_details.py +6 -6
  268. oci/fleet_apps_management/models/associated_local_task_details.py +64 -1
  269. oci/fleet_apps_management/models/associated_scheduler_definition.py +3 -3
  270. oci/fleet_apps_management/models/associated_shared_task_details.py +2 -1
  271. oci/fleet_apps_management/models/associations.py +32 -5
  272. oci/fleet_apps_management/models/check_resource_tagging_details.py +5 -5
  273. oci/fleet_apps_management/models/compliance_detail_policy.py +223 -0
  274. oci/fleet_apps_management/models/compliance_detail_product.py +134 -0
  275. oci/fleet_apps_management/models/compliance_detail_resource.py +196 -0
  276. oci/fleet_apps_management/models/compliance_detail_target.py +134 -0
  277. oci/fleet_apps_management/models/compliance_patch_detail.py +278 -0
  278. oci/{database_migration/models/agent.py → fleet_apps_management/models/compliance_policy.py} +120 -167
  279. oci/fleet_apps_management/models/compliance_policy_collection.py +72 -0
  280. oci/fleet_apps_management/models/compliance_policy_rule.py +618 -0
  281. oci/{media_services/models/media_workflow_job_fact_collection.py → fleet_apps_management/models/compliance_policy_rule_collection.py} +15 -15
  282. oci/fleet_apps_management/models/compliance_policy_rule_summary.py +585 -0
  283. oci/{database_migration/models/agent_summary.py → fleet_apps_management/models/compliance_policy_summary.py} +110 -159
  284. oci/fleet_apps_management/models/compliance_record.py +457 -0
  285. oci/fleet_apps_management/models/compliance_record_aggregation.py +99 -0
  286. oci/fleet_apps_management/models/compliance_record_aggregation_collection.py +72 -0
  287. oci/fleet_apps_management/models/compliance_record_collection.py +72 -0
  288. oci/fleet_apps_management/models/compliance_record_dimension.py +143 -0
  289. oci/fleet_apps_management/models/compliance_record_summary.py +437 -0
  290. oci/fleet_apps_management/models/compliance_report.py +5 -5
  291. oci/fleet_apps_management/models/compliance_report_patch_detail.py +9 -9
  292. oci/fleet_apps_management/models/compliance_report_product.py +3 -3
  293. oci/fleet_apps_management/models/compliance_report_resource.py +8 -6
  294. oci/fleet_apps_management/models/compliance_report_target.py +7 -7
  295. oci/fleet_apps_management/models/component_properties.py +69 -9
  296. oci/fleet_apps_management/models/condition.py +12 -6
  297. oci/{os_management/models/managed_instance_update_details.py → fleet_apps_management/models/config_association_details.py} +43 -35
  298. oci/fleet_apps_management/models/config_category_details.py +133 -0
  299. oci/fleet_apps_management/models/confirm_targets_details.py +1 -1
  300. oci/fleet_apps_management/models/content_details.py +3 -3
  301. oci/fleet_apps_management/models/create_compliance_policy_rule_details.py +382 -0
  302. oci/fleet_apps_management/models/create_fleet_details.py +63 -16
  303. oci/fleet_apps_management/models/create_fleet_property_details.py +5 -5
  304. oci/fleet_apps_management/models/create_fleet_resource_details.py +1 -1
  305. oci/fleet_apps_management/models/create_maintenance_window_details.py +19 -11
  306. oci/fleet_apps_management/models/create_onboarding_details.py +8 -4
  307. oci/fleet_apps_management/models/create_patch_details.py +402 -0
  308. oci/fleet_apps_management/models/create_platform_configuration_details.py +169 -0
  309. oci/fleet_apps_management/models/create_property_details.py +6 -6
  310. oci/fleet_apps_management/models/create_runbook_details.py +441 -0
  311. oci/{database_migration/models/create_agent_details.py → fleet_apps_management/models/create_task_record_details.py} +81 -106
  312. oci/fleet_apps_management/models/credential_config_category_details.py +52 -0
  313. oci/fleet_apps_management/models/credential_details.py +3 -3
  314. oci/fleet_apps_management/models/credential_entity_specific_details.py +22 -6
  315. oci/{log_analytics/models/log_analytics_collection_warning.py → fleet_apps_management/models/dependent_patch_details.py} +12 -10
  316. oci/fleet_apps_management/models/details.py +67 -3
  317. oci/fleet_apps_management/models/discovered_target.py +6 -6
  318. oci/fleet_apps_management/models/enable_latest_policy_details.py +72 -0
  319. oci/fleet_apps_management/models/entity_execution_details.py +22 -16
  320. oci/fleet_apps_management/models/environment_config_category_details.py +53 -0
  321. oci/fleet_apps_management/models/execution.py +122 -21
  322. oci/fleet_apps_management/models/execution_collection.py +1 -1
  323. oci/fleet_apps_management/models/execution_details.py +1 -1
  324. oci/fleet_apps_management/models/execution_summary.py +123 -22
  325. oci/fleet_apps_management/models/execution_workflow_details.py +1 -1
  326. oci/fleet_apps_management/models/export_compliance_report_details.py +251 -0
  327. oci/fleet_apps_management/models/fleet.py +37 -19
  328. oci/fleet_apps_management/models/fleet_credential.py +1 -1
  329. oci/fleet_apps_management/models/fleet_credential_entity_specific_details.py +82 -0
  330. oci/fleet_apps_management/models/fleet_product_summary.py +3 -3
  331. oci/fleet_apps_management/models/fleet_property.py +11 -11
  332. oci/fleet_apps_management/models/fleet_property_collection.py +3 -3
  333. oci/fleet_apps_management/models/fleet_property_summary.py +6 -6
  334. oci/fleet_apps_management/models/fleet_resource.py +21 -15
  335. oci/fleet_apps_management/models/fleet_resource_collection.py +1 -1
  336. oci/fleet_apps_management/models/fleet_resource_summary.py +20 -14
  337. oci/fleet_apps_management/models/fleet_summary.py +15 -5
  338. oci/fleet_apps_management/models/fleet_target.py +98 -5
  339. oci/fleet_apps_management/models/fleet_target_summary.py +98 -5
  340. oci/fleet_apps_management/models/generate_compliance_report_details.py +5 -3
  341. oci/fleet_apps_management/models/generic_artifact.py +68 -0
  342. oci/fleet_apps_management/models/generic_artifact_details.py +78 -0
  343. oci/fleet_apps_management/models/group.py +11 -5
  344. oci/fleet_apps_management/models/input_argument.py +2 -2
  345. oci/fleet_apps_management/models/inventory_resource_summary.py +6 -6
  346. oci/fleet_apps_management/models/job_activity.py +57 -18
  347. oci/fleet_apps_management/models/key_encryption_credential_details.py +5 -5
  348. oci/fleet_apps_management/models/maintenance_window.py +19 -11
  349. oci/fleet_apps_management/models/maintenance_window_collection.py +1 -1
  350. oci/fleet_apps_management/models/maintenance_window_summary.py +18 -10
  351. oci/fleet_apps_management/models/manage_job_execution_details.py +68 -0
  352. oci/{database_migration/models/change_agent_compartment_details.py → fleet_apps_management/models/manage_settings_details.py} +21 -21
  353. oci/fleet_apps_management/models/managed_entity_aggregation.py +99 -0
  354. oci/fleet_apps_management/models/managed_entity_aggregation_collection.py +72 -0
  355. oci/fleet_apps_management/models/managed_entity_dimension.py +88 -0
  356. oci/fleet_apps_management/models/model_property.py +9 -9
  357. oci/fleet_apps_management/models/notification_preferences.py +7 -5
  358. oci/fleet_apps_management/models/object_storage_bucket_content_details.py +3 -3
  359. oci/fleet_apps_management/models/onboarding.py +70 -7
  360. oci/fleet_apps_management/models/onboarding_collection.py +3 -3
  361. oci/fleet_apps_management/models/onboarding_policy_collection.py +3 -3
  362. oci/fleet_apps_management/models/onboarding_policy_summary.py +1 -1
  363. oci/fleet_apps_management/models/onboarding_summary.py +69 -7
  364. oci/fleet_apps_management/models/outcome.py +7 -7
  365. oci/fleet_apps_management/models/output_variable_details.py +2 -2
  366. oci/fleet_apps_management/models/output_variable_input_argument.py +1 -1
  367. oci/fleet_apps_management/models/output_variable_mapping.py +4 -3
  368. oci/fleet_apps_management/models/patch.py +704 -0
  369. oci/{logging/models/log_included_search_summary_collection.py → fleet_apps_management/models/patch_collection.py} +16 -14
  370. oci/fleet_apps_management/models/patch_level_selection_details.py +106 -0
  371. oci/fleet_apps_management/models/patch_name_selection_details.py +83 -0
  372. oci/{database_migration/models/agent_image_summary.py → fleet_apps_management/models/patch_product.py} +36 -36
  373. oci/fleet_apps_management/models/patch_release_date_selection_details.py +83 -0
  374. oci/fleet_apps_management/models/patch_selection_details.py +117 -0
  375. oci/fleet_apps_management/models/patch_summary.py +625 -0
  376. oci/fleet_apps_management/models/patch_type.py +72 -0
  377. oci/fleet_apps_management/models/patch_type_config_category_details.py +52 -0
  378. oci/fleet_apps_management/models/pause_details.py +109 -0
  379. oci/fleet_apps_management/models/plain_text_credential_details.py +2 -2
  380. oci/fleet_apps_management/models/platform_configuration.py +529 -0
  381. oci/fleet_apps_management/models/platform_configuration_collection.py +72 -0
  382. oci/fleet_apps_management/models/platform_configuration_summary.py +485 -0
  383. oci/fleet_apps_management/models/platform_specific_artifact.py +162 -0
  384. oci/fleet_apps_management/models/platform_specific_artifact_details.py +82 -0
  385. oci/fleet_apps_management/models/preferences.py +3 -3
  386. oci/fleet_apps_management/models/product_config_category_details.py +215 -0
  387. oci/fleet_apps_management/models/product_stack_as_product_sub_category_details.py +182 -0
  388. oci/fleet_apps_management/models/product_stack_config_category_details.py +112 -0
  389. oci/{database_migration/models/par_link.py → fleet_apps_management/models/product_stack_generic_sub_category_details.py} +14 -33
  390. oci/fleet_apps_management/models/product_stack_sub_category_details.py +109 -0
  391. oci/fleet_apps_management/models/product_version_details.py +105 -0
  392. oci/fleet_apps_management/models/property_collection.py +3 -3
  393. oci/fleet_apps_management/models/property_summary.py +8 -8
  394. oci/{cloud_bridge/models/update_plugin_details.py → fleet_apps_management/models/publish_runbook_details.py} +21 -21
  395. oci/fleet_apps_management/models/request_resource_validation_details.py +5 -5
  396. oci/fleet_apps_management/models/request_target_discovery_details.py +5 -5
  397. oci/{database_migration/models/agent_image_collection.py → fleet_apps_management/models/resource_collection.py} +15 -15
  398. oci/fleet_apps_management/models/resource_credential_entity_specific_details.py +82 -0
  399. oci/fleet_apps_management/models/resource_summary.py +347 -0
  400. oci/fleet_apps_management/models/resource_tag_check_details.py +3 -3
  401. oci/fleet_apps_management/models/resource_tag_enablement_info.py +3 -3
  402. oci/fleet_apps_management/models/rollback_workflow_details.py +119 -0
  403. oci/fleet_apps_management/models/rule.py +15 -7
  404. oci/fleet_apps_management/models/runbook.py +28 -9
  405. oci/fleet_apps_management/models/runbook_collection.py +1 -1
  406. oci/fleet_apps_management/models/runbook_summary.py +6 -4
  407. oci/fleet_apps_management/models/scheduler_definition.py +16 -16
  408. oci/fleet_apps_management/models/scheduler_job.py +24 -20
  409. oci/fleet_apps_management/models/scheduler_job_aggregation.py +99 -0
  410. oci/{usage_api/models/schedule_report_collection.py → fleet_apps_management/models/scheduler_job_aggregation_collection.py} +16 -14
  411. oci/fleet_apps_management/models/scheduler_job_collection.py +1 -1
  412. oci/fleet_apps_management/models/scheduler_job_dimension.py +72 -0
  413. oci/fleet_apps_management/models/scheduler_job_summary.py +20 -16
  414. oci/fleet_apps_management/models/script_based_execution_details.py +38 -5
  415. oci/fleet_apps_management/models/selection_criteria.py +6 -3
  416. oci/{log_analytics/models/query_work_request_resource.py → fleet_apps_management/models/set_default_runbook_details.py} +22 -20
  417. oci/fleet_apps_management/models/step_based_user_action_details.py +183 -0
  418. oci/{database_migration/models/agent_collection.py → fleet_apps_management/models/step_collection.py} +15 -15
  419. oci/fleet_apps_management/models/step_summary.py +378 -0
  420. oci/fleet_apps_management/models/target_credential_entity_specific_details.py +6 -6
  421. oci/fleet_apps_management/models/target_resource.py +1 -1
  422. oci/fleet_apps_management/models/task_notification_preferences.py +134 -0
  423. oci/fleet_apps_management/models/task_record.py +1 -1
  424. oci/fleet_apps_management/models/task_variable.py +2 -1
  425. oci/fleet_apps_management/models/time_based_pause_details.py +82 -0
  426. oci/fleet_apps_management/models/update_compliance_policy_rule_details.py +283 -0
  427. oci/fleet_apps_management/models/update_fleet_details.py +4 -2
  428. oci/fleet_apps_management/models/update_fleet_property_details.py +3 -3
  429. oci/fleet_apps_management/models/update_fleet_resource_details.py +1 -1
  430. oci/fleet_apps_management/models/update_maintenance_window_details.py +18 -10
  431. oci/fleet_apps_management/models/update_onboarding_details.py +103 -0
  432. oci/fleet_apps_management/models/update_patch_details.py +369 -0
  433. oci/fleet_apps_management/models/update_platform_configuration_details.py +138 -0
  434. oci/fleet_apps_management/models/update_property_details.py +6 -6
  435. oci/fleet_apps_management/models/update_runbook_details.py +410 -0
  436. oci/fleet_apps_management/models/update_scheduler_job_details.py +3 -3
  437. oci/{database_migration/models/update_agent_details.py → fleet_apps_management/models/update_task_record_details.py} +63 -90
  438. oci/{log_analytics/models/string_list_details.py → fleet_apps_management/models/user_action_based_pause_details.py} +14 -33
  439. oci/fleet_apps_management/models/user_action_details.py +157 -0
  440. oci/{os_management/models/errata_id.py → fleet_apps_management/models/variable.py} +29 -27
  441. oci/fleet_apps_management/models/work_request.py +67 -3
  442. oci/fleet_apps_management/models/work_request_summary.py +67 -3
  443. oci/fleet_apps_management/models/workflow_group.py +2 -2
  444. oci/fleet_apps_management/models/workflow_group_component.py +4 -4
  445. oci/fleet_software_update/fleet_software_update_client.py +46 -46
  446. oci/functions/functions_invoke_client.py +1 -1
  447. oci/functions/functions_management_client.py +16 -16
  448. oci/fusion_apps/fusion_applications_client.py +41 -41
  449. oci/generative_ai/generative_ai_client.py +22 -22
  450. oci/generative_ai_agent/generative_ai_agent_client.py +33 -33
  451. oci/generative_ai_agent_runtime/generative_ai_agent_runtime_client.py +5 -5
  452. oci/generative_ai_inference/generative_ai_inference_client.py +4 -4
  453. oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
  454. oci/globally_distributed_database/sharded_database_service_client.py +30 -30
  455. oci/golden_gate/golden_gate_client.py +211 -70
  456. oci/golden_gate/models/__init__.py +8 -0
  457. oci/golden_gate/models/create_database_registration_details.py +4 -4
  458. oci/golden_gate/models/create_deployment_details.py +47 -0
  459. oci/golden_gate/models/create_ogg_deployment_details.py +29 -2
  460. oci/golden_gate/models/create_oracle_connection_details.py +4 -4
  461. oci/golden_gate/models/deployment.py +102 -0
  462. oci/golden_gate/models/deployment_environment_collection.py +72 -0
  463. oci/golden_gate/models/deployment_environment_summary.py +389 -0
  464. oci/golden_gate/models/deployment_summary.py +103 -1
  465. oci/golden_gate/models/deployment_type_summary.py +3 -0
  466. oci/golden_gate/models/group_to_roles_mapping_details.py +197 -0
  467. oci/golden_gate/models/ogg_deployment.py +29 -2
  468. oci/golden_gate/models/test_connection_assignment_result.py +34 -2
  469. oci/golden_gate/models/update_database_registration_details.py +4 -4
  470. oci/golden_gate/models/update_deployment_details.py +47 -0
  471. oci/golden_gate/models/update_group_to_roles_mapping_details.py +197 -0
  472. oci/golden_gate/models/update_ogg_deployment_details.py +29 -2
  473. oci/golden_gate/models/update_oracle_connection_details.py +4 -4
  474. oci/governance_rules_control_plane/governance_rule_client.py +15 -15
  475. oci/governance_rules_control_plane/work_request_client.py +5 -5
  476. oci/healthchecks/health_checks_client.py +17 -17
  477. oci/identity/identity_client.py +145 -145
  478. oci/identity_data_plane/dataplane_client.py +2 -2
  479. oci/identity_domains/identity_domains_client.py +307 -307
  480. oci/identity_domains/models/auth_token.py +51 -0
  481. oci/identity_domains/models/customer_secret_key.py +45 -0
  482. oci/identity_domains/models/o_auth2_client_credential.py +49 -0
  483. oci/identity_domains/models/smtp_credential.py +47 -0
  484. oci/integration/integration_instance_client.py +19 -19
  485. oci/jms/java_management_service_client.py +75 -75
  486. oci/jms_java_downloads/java_download_client.py +25 -25
  487. oci/key_management/ekm_client.py +5 -5
  488. oci/key_management/kms_crypto_client.py +6 -6
  489. oci/key_management/kms_hsm_cluster_client.py +12 -12
  490. oci/key_management/kms_management_client.py +21 -21
  491. oci/key_management/kms_vault_client.py +14 -14
  492. oci/license_manager/license_manager_client.py +18 -18
  493. oci/limits/limits_client.py +4 -4
  494. oci/limits/quotas_client.py +7 -7
  495. oci/load_balancer/load_balancer_client.py +61 -61
  496. oci/lockbox/lockbox_client.py +24 -24
  497. oci/log_analytics/log_analytics_client.py +193 -193
  498. oci/logging/logging_management_client.py +30 -30
  499. oci/loggingingestion/logging_client.py +1 -1
  500. oci/loggingsearch/log_search_client.py +1 -1
  501. oci/management_agent/management_agent_client.py +28 -28
  502. oci/management_dashboard/dashx_apis_client.py +14 -14
  503. oci/marketplace/account_client.py +2 -2
  504. oci/marketplace/marketplace_client.py +30 -30
  505. oci/marketplace_private_offer/attachment_client.py +5 -5
  506. oci/marketplace_private_offer/offer_client.py +6 -6
  507. oci/marketplace_publisher/attachment_client.py +5 -5
  508. oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
  509. oci/marketplace_publisher/offer_client.py +6 -6
  510. oci/media_services/media_services_client.py +60 -60
  511. oci/media_services/media_stream_client.py +2 -2
  512. oci/monitoring/monitoring_client.py +18 -18
  513. oci/mysql/channels_client.py +7 -7
  514. oci/mysql/db_backups_client.py +7 -7
  515. oci/mysql/db_system_client.py +17 -17
  516. oci/mysql/mysqlaas_client.py +7 -7
  517. oci/mysql/replicas_client.py +5 -5
  518. oci/mysql/work_requests_client.py +4 -4
  519. oci/network_firewall/network_firewall_client.py +86 -86
  520. oci/network_load_balancer/network_load_balancer_client.py +34 -34
  521. oci/nosql/nosql_client.py +24 -24
  522. oci/object_storage/object_storage_client.py +55 -55
  523. oci/oce/oce_instance_client.py +10 -10
  524. oci/oci_control_center/occ_metrics_client.py +3 -3
  525. oci/ocvp/cluster_client.py +5 -5
  526. oci/ocvp/esxi_host_client.py +8 -8
  527. oci/ocvp/sddc_client.py +14 -14
  528. oci/ocvp/work_request_client.py +4 -4
  529. oci/oda/management_client.py +59 -59
  530. oci/oda/oda_client.py +17 -17
  531. oci/oda/odapackage_client.py +7 -7
  532. oci/onesubscription/billing_schedule_client.py +1 -1
  533. oci/onesubscription/commitment_client.py +2 -2
  534. oci/onesubscription/computed_usage_client.py +3 -3
  535. oci/onesubscription/invoice_summary_client.py +2 -2
  536. oci/onesubscription/organization_subscription_client.py +1 -1
  537. oci/onesubscription/ratecard_client.py +1 -1
  538. oci/onesubscription/subscribed_service_client.py +2 -2
  539. oci/onesubscription/subscription_client.py +1 -1
  540. oci/ons/notification_control_plane_client.py +6 -6
  541. oci/ons/notification_data_plane_client.py +10 -10
  542. oci/opa/opa_instance_client.py +13 -13
  543. oci/opensearch/opensearch_cluster_backup_client.py +4 -4
  544. oci/opensearch/opensearch_cluster_client.py +14 -14
  545. oci/operator_access_control/access_requests_client.py +10 -10
  546. oci/operator_access_control/operator_actions_client.py +2 -2
  547. oci/operator_access_control/operator_control_assignment_client.py +8 -8
  548. oci/operator_access_control/operator_control_client.py +6 -6
  549. oci/opsi/models/__init__.py +8 -0
  550. oci/opsi/models/host_configuration_metric_group.py +11 -3
  551. oci/opsi/models/host_containers.py +65 -3
  552. oci/opsi/models/host_cpu_hardware_configuration.py +1 -1
  553. oci/opsi/models/host_cpu_statistics.py +1 -1
  554. oci/opsi/models/host_cpu_usage.py +1 -1
  555. oci/opsi/models/host_entities.py +1 -1
  556. oci/opsi/models/host_filesystem_configuration.py +1 -1
  557. oci/opsi/models/host_filesystem_usage.py +1 -1
  558. oci/opsi/models/host_gpu_configuration.py +1 -1
  559. oci/opsi/models/host_gpu_processes.py +1 -1
  560. oci/opsi/models/host_gpu_usage.py +1 -1
  561. oci/opsi/models/host_hardware_configuration.py +1 -1
  562. oci/opsi/models/host_io_statistics.py +160 -0
  563. oci/opsi/models/host_io_usage.py +1 -1
  564. oci/opsi/models/host_memory_configuration.py +1 -1
  565. oci/opsi/models/host_memory_statistics.py +1 -1
  566. oci/opsi/models/host_memory_usage.py +1 -1
  567. oci/opsi/models/host_network_activity_summary.py +1 -1
  568. oci/opsi/models/host_network_configuration.py +1 -1
  569. oci/opsi/models/host_network_statistics.py +1 -1
  570. oci/opsi/models/host_performance_metric_group.py +3 -11
  571. oci/opsi/models/host_product.py +1 -1
  572. oci/opsi/models/host_resource_allocation.py +1 -1
  573. oci/opsi/models/host_resource_statistics.py +11 -3
  574. oci/opsi/models/host_storage_statistics.py +1 -1
  575. oci/opsi/models/host_top_processes.py +1 -1
  576. oci/opsi/models/io_usage_trend.py +227 -0
  577. oci/opsi/models/io_usage_trend_aggregation.py +103 -0
  578. oci/opsi/models/summarize_host_insight_host_recommendation_aggregation.py +7 -3
  579. oci/opsi/models/summarize_host_insight_io_usage_trend_aggregation_collection.py +165 -0
  580. oci/opsi/models/summarize_host_insight_resource_capacity_trend_aggregation_collection.py +7 -3
  581. oci/opsi/models/summarize_host_insight_resource_forecast_trend_aggregation.py +7 -3
  582. oci/opsi/models/summarize_host_insight_resource_statistics_aggregation_collection.py +7 -3
  583. oci/opsi/models/summarize_host_insight_resource_usage_aggregation.py +7 -3
  584. oci/opsi/models/summarize_host_insight_resource_usage_trend_aggregation_collection.py +7 -3
  585. oci/opsi/models/summarize_host_insight_resource_utilization_insight_aggregation.py +7 -3
  586. oci/opsi/operations_insights_client.py +362 -179
  587. oci/optimizer/optimizer_client.py +26 -26
  588. oci/os_management/event_client.py +8 -8
  589. oci/os_management/os_management_client.py +69 -69
  590. oci/os_management_hub/event_client.py +8 -8
  591. oci/os_management_hub/lifecycle_environment_client.py +12 -12
  592. oci/os_management_hub/managed_instance_client.py +31 -31
  593. oci/os_management_hub/managed_instance_group_client.py +25 -25
  594. oci/os_management_hub/management_station_client.py +10 -10
  595. oci/os_management_hub/onboarding_client.py +6 -6
  596. oci/os_management_hub/reporting_managed_instance_client.py +3 -3
  597. oci/os_management_hub/scheduled_job_client.py +7 -7
  598. oci/os_management_hub/software_source_client.py +27 -27
  599. oci/os_management_hub/work_request_client.py +4 -4
  600. oci/osp_gateway/address_rule_service_client.py +1 -1
  601. oci/osp_gateway/address_service_client.py +2 -2
  602. oci/osp_gateway/invoice_service_client.py +5 -5
  603. oci/osp_gateway/subscription_service_client.py +5 -5
  604. oci/osub_billing_schedule/billing_schedule_client.py +1 -1
  605. oci/osub_organization_subscription/organization_subscription_client.py +1 -1
  606. oci/osub_subscription/commitment_client.py +2 -2
  607. oci/osub_subscription/ratecard_client.py +1 -1
  608. oci/osub_subscription/subscription_client.py +1 -1
  609. oci/osub_usage/computed_usage_client.py +3 -3
  610. oci/psql/postgresql_client.py +33 -33
  611. oci/queue/queue_admin_client.py +11 -11
  612. oci/queue/queue_client.py +8 -8
  613. oci/recovery/database_recovery_client.py +26 -26
  614. oci/redis/redis_cluster_client.py +12 -12
  615. oci/resource_manager/resource_manager_client.py +52 -52
  616. oci/resource_scheduler/schedule_client.py +13 -13
  617. oci/resource_search/resource_search_client.py +3 -3
  618. oci/rover/rover_bundle_client.py +8 -8
  619. oci/rover/rover_cluster_client.py +8 -8
  620. oci/rover/rover_entitlement_client.py +6 -6
  621. oci/rover/rover_node_client.py +15 -15
  622. oci/rover/shape_client.py +1 -1
  623. oci/rover/work_requests_client.py +5 -5
  624. oci/sch/connector_plugins_client.py +2 -2
  625. oci/sch/service_connector_client.py +12 -12
  626. oci/secrets/secrets_client.py +3 -3
  627. oci/security_attribute/security_attribute_client.py +36 -36
  628. oci/service_catalog/service_catalog_client.py +26 -26
  629. oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
  630. oci/service_mesh/service_mesh_client.py +48 -48
  631. oci/stack_monitoring/stack_monitoring_client.py +71 -71
  632. oci/streaming/stream_admin_client.py +18 -18
  633. oci/streaming/stream_client.py +8 -8
  634. oci/tenant_manager_control_plane/domain_client.py +5 -5
  635. oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
  636. oci/tenant_manager_control_plane/governance_client.py +2 -2
  637. oci/tenant_manager_control_plane/link_client.py +3 -3
  638. oci/tenant_manager_control_plane/orders_client.py +2 -2
  639. oci/tenant_manager_control_plane/organization_client.py +10 -10
  640. oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
  641. oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
  642. oci/tenant_manager_control_plane/subscription_client.py +11 -11
  643. oci/tenant_manager_control_plane/work_request_client.py +4 -4
  644. oci/threat_intelligence/threatintel_client.py +5 -5
  645. oci/usage/resources_client.py +2 -2
  646. oci/usage/rewards_client.py +6 -6
  647. oci/usage/usagelimits_client.py +1 -1
  648. oci/usage_api/usageapi_client.py +33 -33
  649. oci/util.py +2 -1
  650. oci/vault/vaults_client.py +13 -13
  651. oci/vbs_inst/vbs_instance_client.py +10 -10
  652. oci/version.py +1 -1
  653. oci/visual_builder/vb_instance_client.py +13 -13
  654. oci/vn_monitoring/vn_monitoring_client.py +12 -12
  655. oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
  656. oci/waa/waa_client.py +13 -13
  657. oci/waa/work_request_client.py +4 -4
  658. oci/waas/redirect_client.py +6 -6
  659. oci/waas/waas_client.py +66 -66
  660. oci/waf/waf_client.py +24 -24
  661. oci/work_requests/work_request_client.py +4 -4
  662. oci/zpr/zpr_client.py +30 -30
  663. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/METADATA +1 -1
  664. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/RECORD +668 -686
  665. oci/_vendor/jwt/__main__.py +0 -173
  666. oci/_vendor/jwt/compat.py +0 -73
  667. oci/_vendor/jwt/contrib/__init__.py +0 -0
  668. oci/_vendor/jwt/contrib/algorithms/__init__.py +0 -0
  669. oci/_vendor/jwt/contrib/algorithms/py_ecdsa.py +0 -60
  670. oci/_vendor/jwt/contrib/algorithms/pycrypto.py +0 -46
  671. oci/ai_language/models/entity_document.py +0 -136
  672. oci/ai_language/models/key_phrase_document.py +0 -136
  673. oci/ai_language/models/pre_trained_phi_model_details.py +0 -91
  674. oci/ai_language/models/sentiments_document.py +0 -136
  675. oci/ai_language/models/text_classification_document.py +0 -136
  676. oci/capacity_management/models/occ_capacity_request_compute_details.py +0 -148
  677. oci/cims/user_client.py +0 -207
  678. oci/cims/user_client_composite_operations.py +0 -26
  679. oci/compute_instance_agent/models/instance_agent_command_content_info.py +0 -252
  680. oci/data_integration/models/connection_from_lakehouse.py +0 -140
  681. oci/data_integration/models/connection_from_lakehouse_details.py +0 -133
  682. oci/data_integration/models/connection_summary_from_lakehouse.py +0 -140
  683. oci/data_integration/models/create_connection_from_lakehouse.py +0 -112
  684. oci/data_integration/models/create_data_asset_from_lakehouse.py +0 -232
  685. oci/data_integration/models/data_asset_from_lakehouse_details.py +0 -260
  686. oci/data_integration/models/data_asset_summary_from_lakehouse.py +0 -253
  687. oci/data_integration/models/update_connection_from_lakehouse.py +0 -119
  688. oci/data_integration/models/update_data_asset_from_lakehouse.py +0 -239
  689. oci/database_migration/models/advisor_settings.py +0 -103
  690. oci/database_migration/models/aws_s3_data_transfer_medium_details.py +0 -211
  691. oci/database_migration/models/aws_s3_details.py +0 -108
  692. oci/database_migration/models/connect_descriptor.py +0 -165
  693. oci/database_migration/models/create_advisor_settings.py +0 -103
  694. oci/database_migration/models/create_aws_s3_details.py +0 -174
  695. oci/database_migration/models/create_connect_descriptor.py +0 -174
  696. oci/database_migration/models/create_data_pump_settings.py +0 -251
  697. oci/database_migration/models/create_data_transfer_medium_details.py +0 -124
  698. oci/database_migration/models/create_database_link_details.py +0 -99
  699. oci/database_migration/models/create_dump_transfer_details.py +0 -126
  700. oci/database_migration/models/create_golden_gate_details.py +0 -95
  701. oci/database_migration/models/create_golden_gate_hub.py +0 -275
  702. oci/database_migration/models/create_golden_gate_service_details.py +0 -149
  703. oci/database_migration/models/create_golden_gate_settings.py +0 -126
  704. oci/database_migration/models/create_private_endpoint.py +0 -151
  705. oci/database_migration/models/create_ssh_details.py +0 -166
  706. oci/database_migration/models/create_vault_details.py +0 -134
  707. oci/database_migration/models/data_pump_settings.py +0 -251
  708. oci/database_migration/models/data_transfer_medium_details.py +0 -122
  709. oci/database_migration/models/data_transfer_medium_details_v2.py +0 -125
  710. oci/database_migration/models/database_credentials.py +0 -103
  711. oci/database_migration/models/database_link_details.py +0 -99
  712. oci/database_migration/models/database_object.py +0 -167
  713. oci/database_migration/models/db_link_data_transfer_medium_details.py +0 -109
  714. oci/database_migration/models/dump_transfer_details.py +0 -126
  715. oci/database_migration/models/generate_token.py +0 -70
  716. oci/database_migration/models/golden_gate_details.py +0 -95
  717. oci/database_migration/models/golden_gate_hub.py +0 -275
  718. oci/database_migration/models/golden_gate_service_details.py +0 -95
  719. oci/database_migration/models/golden_gate_settings.py +0 -126
  720. oci/database_migration/models/migration_object_summary.py +0 -214
  721. oci/database_migration/models/nfs_data_transfer_medium_details.py +0 -78
  722. oci/database_migration/models/object_storage_data_transfer_medium_details.py +0 -78
  723. oci/database_migration/models/private_endpoint_details.py +0 -185
  724. oci/database_migration/models/ssh_details.py +0 -134
  725. oci/database_migration/models/update_advisor_settings.py +0 -103
  726. oci/database_migration/models/update_aws_s3_details.py +0 -174
  727. oci/database_migration/models/update_connect_descriptor.py +0 -173
  728. oci/database_migration/models/update_data_pump_settings.py +0 -253
  729. oci/database_migration/models/update_data_transfer_medium_details.py +0 -125
  730. oci/database_migration/models/update_database_link_details.py +0 -99
  731. oci/database_migration/models/update_dump_transfer_details.py +0 -126
  732. oci/database_migration/models/update_golden_gate_details.py +0 -95
  733. oci/database_migration/models/update_golden_gate_hub.py +0 -275
  734. oci/database_migration/models/update_golden_gate_service_details.py +0 -149
  735. oci/database_migration/models/update_golden_gate_settings.py +0 -127
  736. oci/database_migration/models/update_private_endpoint.py +0 -151
  737. oci/database_migration/models/update_ssh_details.py +0 -165
  738. oci/database_migration/models/update_vault_details.py +0 -134
  739. oci/database_migration/models/vault_details.py +0 -134
  740. oci/database_tools/models/database_tools_allowed_network_sources.py +0 -107
  741. oci/database_tools/models/database_tools_virtual_source.py +0 -107
  742. oci/devops/models/run_pipeline_deploy_stage_execution_progress.py +0 -98
  743. oci/devops/models/run_validation_test_on_compute_instance_deploy_stage_execution_progress.py +0 -98
  744. oci/em_warehouse/em_data_lake_client.py +0 -1610
  745. oci/em_warehouse/em_data_lake_client_composite_operations.py +0 -190
  746. oci/fusion_apps/data_masking_activity_client.py +0 -456
  747. oci/fusion_apps/data_masking_activity_client_composite_operations.py +0 -65
  748. oci/fusion_apps/fusion_environment_client.py +0 -1772
  749. oci/fusion_apps/fusion_environment_client_composite_operations.py +0 -324
  750. oci/fusion_apps/fusion_environment_family_client.py +0 -943
  751. oci/fusion_apps/fusion_environment_family_client_composite_operations.py +0 -190
  752. oci/fusion_apps/models/attach_existing_instance_details.py +0 -194
  753. oci/fusion_apps/models/create_new_instance_details.py +0 -142
  754. oci/fusion_apps/models/create_oax_service_instance_details.py +0 -152
  755. oci/fusion_apps/models/create_oic_service_instance_details.py +0 -142
  756. oci/fusion_apps/models/create_service_instance_details.py +0 -170
  757. oci/fusion_apps/models/faw_admin_info_details.py +0 -132
  758. oci/fusion_apps/refresh_activity_client.py +0 -607
  759. oci/fusion_apps/refresh_activity_client_composite_operations.py +0 -65
  760. oci/fusion_apps/scheduled_activity_client.py +0 -380
  761. oci/fusion_apps/scheduled_activity_client_composite_operations.py +0 -24
  762. oci/fusion_apps/service_attachment_client.py +0 -370
  763. oci/fusion_apps/service_attachment_client_composite_operations.py +0 -24
  764. oci/jms/models/request_summarized_application_usage_details.py +0 -504
  765. oci/jms/models/request_summarized_installation_usage_details.py +0 -448
  766. oci/jms/models/request_summarized_jre_usage_details.py +0 -421
  767. oci/jms/models/request_summarized_managed_instance_usage_details.py +0 -480
  768. oci/log_analytics/models/attribute.py +0 -602
  769. oci/log_analytics/models/create_namespace_details.py +0 -70
  770. oci/log_analytics/models/field_map.py +0 -101
  771. oci/log_analytics/models/generate_agent_object_name_details.py +0 -163
  772. oci/log_analytics/models/log_analytics.py +0 -370
  773. oci/log_analytics/models/log_analytics_summary.py +0 -304
  774. oci/log_analytics/models/out_of_box_entity_type_details.py +0 -211
  775. oci/log_analytics/models/query.py +0 -70
  776. oci/log_analytics/models/register_entity_types_details.py +0 -70
  777. oci/log_analytics/models/service_tenancy.py +0 -70
  778. oci/logging/models/log_included_search.py +0 -307
  779. oci/logging/models/log_included_search_summary.py +0 -165
  780. oci/media_services/models/media_workflow_job_fact.py +0 -198
  781. oci/media_services/models/media_workflow_job_fact_summary.py +0 -165
  782. oci/mysql/models/add_analytics_cluster_details.py +0 -108
  783. oci/mysql/models/analytics_cluster.py +0 -338
  784. oci/mysql/models/analytics_cluster_memory_estimate.py +0 -241
  785. oci/mysql/models/analytics_cluster_node.py +0 -210
  786. oci/mysql/models/analytics_cluster_schema_memory_estimate.py +0 -107
  787. oci/mysql/models/analytics_cluster_summary.py +0 -209
  788. oci/mysql/models/analytics_cluster_table_memory_estimate.py +0 -239
  789. oci/mysql/models/update_analytics_cluster_details.py +0 -120
  790. oci/network_firewall/models/tcp_application.py +0 -112
  791. oci/network_firewall/models/udp_application.py +0 -112
  792. oci/oce/models/delete_oce_instance_details.py +0 -70
  793. oci/ocvp/models/datastore_summary.py +0 -154
  794. oci/ocvp/models/supported_sku_summary.py +0 -96
  795. oci/os_management/models/updatable_package_summary.py +0 -287
  796. oci/osp_gateway/models/billing_address.py +0 -382
  797. oci/service_mesh/models/create_ingress_gateway_mutual_transport_layer_security_details.py +0 -76
  798. oci/service_mesh/models/create_mutual_transport_layer_security_details.py +0 -111
  799. oci/usage_api/models/create_schedule_report_details.py +0 -128
  800. oci/usage_api/models/saved_schedule_report.py +0 -145
  801. oci/usage_api/models/schedule_report.py +0 -159
  802. oci/usage_api/models/schedule_report_summary.py +0 -97
  803. oci/usage_api/models/update_schedule_report_details.py +0 -66
  804. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/LICENSE.txt +0 -0
  805. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  806. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/WHEEL +0 -0
  807. {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/top_level.txt +0 -0
@@ -1,227 +1,236 @@
1
1
  # coding: utf-8
2
2
  # Modified Work: Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
3
3
  # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
- # Original Work: Copyright (c) 2015 José Padilla
4
+ # Original Work: Copyright (c) 2015-2022 José Padilla
5
5
 
6
6
  import json
7
7
  import warnings
8
8
  from calendar import timegm
9
- from datetime import datetime, timedelta
10
- try:
11
- # import required by mypy to perform type checking, not used for normal execution
12
- from typing import Callable, Dict, List, Optional, Union # NOQA
13
- except ImportError:
14
- pass
15
-
16
- from .api_jws import PyJWS
17
- from .algorithms import Algorithm, get_default_algorithms # NOQA
18
- from .compat import Iterable, Mapping, string_types
9
+ from collections.abc import Iterable, Mapping
10
+ from datetime import datetime, timedelta, timezone
11
+ from typing import Any, Dict, List, Optional, Type, Union
12
+
13
+ from . import api_jws
19
14
  from .exceptions import (
20
- DecodeError, ExpiredSignatureError, ImmatureSignatureError,
21
- InvalidAudienceError, InvalidIssuedAtError,
22
- InvalidIssuerError, MissingRequiredClaimError
15
+ DecodeError,
16
+ ExpiredSignatureError,
17
+ ImmatureSignatureError,
18
+ InvalidAudienceError,
19
+ InvalidIssuedAtError,
20
+ InvalidIssuerError,
21
+ MissingRequiredClaimError,
23
22
  )
24
- from .utils import merge_dict
25
23
 
26
24
 
27
- class PyJWT(PyJWS):
28
- header_type = 'JWT'
25
+ class PyJWT:
26
+ def __init__(self, options=None):
27
+ if options is None:
28
+ options = {}
29
+ self.options = {**self._get_default_options(), **options}
29
30
 
30
31
  @staticmethod
31
- def _get_default_options():
32
- # type: () -> Dict[str, bool]
32
+ def _get_default_options() -> Dict[str, Union[bool, List[str]]]:
33
33
  return {
34
- 'verify_signature': True,
35
- 'verify_exp': True,
36
- 'verify_nbf': True,
37
- 'verify_iat': True,
38
- 'verify_aud': True,
39
- 'verify_iss': True,
40
- 'require_exp': False,
41
- 'require_iat': False,
42
- 'require_nbf': False
34
+ "verify_signature": True,
35
+ "verify_exp": True,
36
+ "verify_nbf": True,
37
+ "verify_iat": True,
38
+ "verify_aud": True,
39
+ "verify_iss": True,
40
+ "require": [],
43
41
  }
44
42
 
45
- def encode(self,
46
- payload, # type: Union[Dict, bytes]
47
- key, # type: str
48
- algorithm='HS256', # type: str
49
- headers=None, # type: Optional[Dict]
50
- json_encoder=None # type: Optional[Callable]
51
- ):
43
+ def encode(
44
+ self,
45
+ payload: Dict[str, Any],
46
+ key: str,
47
+ algorithm: Optional[str] = "HS256",
48
+ headers: Optional[Dict] = None,
49
+ json_encoder: Optional[Type[json.JSONEncoder]] = None,
50
+ ) -> str:
52
51
  # Check that we get a mapping
53
52
  if not isinstance(payload, Mapping):
54
- raise TypeError('Expecting a mapping object, as JWT only supports '
55
- 'JSON objects as payloads.')
53
+ raise TypeError(
54
+ "Expecting a mapping object, as JWT only supports "
55
+ "JSON objects as payloads."
56
+ )
56
57
 
57
58
  # Payload
58
- for time_claim in ['exp', 'iat', 'nbf']:
59
+ payload = payload.copy()
60
+ for time_claim in ["exp", "iat", "nbf"]:
59
61
  # Convert datetime to a intDate value in known time-format claims
60
62
  if isinstance(payload.get(time_claim), datetime):
61
- payload[time_claim] = timegm(payload[time_claim].utctimetuple()) # type: ignore
63
+ payload[time_claim] = timegm(payload[time_claim].utctimetuple())
62
64
 
63
65
  json_payload = json.dumps(
64
- payload,
65
- separators=(',', ':'),
66
- cls=json_encoder
67
- ).encode('utf-8')
68
-
69
- return super(PyJWT, self).encode(
70
- json_payload, key, algorithm, headers, json_encoder
71
- )
72
-
73
- def decode(self,
74
- jwt, # type: str
75
- key='', # type: str
76
- verify=True, # type: bool
77
- algorithms=None, # type: List[str]
78
- options=None, # type: Dict
79
- **kwargs):
80
-
81
- if verify and not algorithms:
66
+ payload, separators=(",", ":"), cls=json_encoder
67
+ ).encode("utf-8")
68
+
69
+ return api_jws.encode(json_payload, key, algorithm, headers, json_encoder)
70
+
71
+ def decode_complete(
72
+ self,
73
+ jwt: str,
74
+ key: str = "",
75
+ algorithms: Optional[List[str]] = None,
76
+ options: Optional[Dict] = None,
77
+ **kwargs,
78
+ ) -> Dict[str, Any]:
79
+ options = dict(options or {}) # shallow-copy or initialize an empty dict
80
+ options.setdefault("verify_signature", True)
81
+
82
+ # If the user has set the legacy `verify` argument, and it doesn't match
83
+ # what the relevant `options` entry for the argument is, inform the user
84
+ # that they're likely making a mistake.
85
+ if "verify" in kwargs and kwargs["verify"] != options["verify_signature"]:
82
86
  warnings.warn(
83
- 'It is strongly recommended that you pass in a ' +
84
- 'value for the "algorithms" argument when calling decode(). ' +
85
- 'This argument will be mandatory in a future version.',
86
- DeprecationWarning
87
+ "The `verify` argument to `decode` does nothing in PyJWT 2.0 and newer. "
88
+ "The equivalent is setting `verify_signature` to False in the `options` dictionary. "
89
+ "This invocation has a mismatch between the kwarg and the option entry.",
90
+ category=DeprecationWarning,
87
91
  )
88
92
 
89
- payload, _, _, _ = self._load(jwt)
93
+ if not options["verify_signature"]:
94
+ options.setdefault("verify_exp", False)
95
+ options.setdefault("verify_nbf", False)
96
+ options.setdefault("verify_iat", False)
97
+ options.setdefault("verify_aud", False)
98
+ options.setdefault("verify_iss", False)
90
99
 
91
- if options is None:
92
- options = {'verify_signature': verify}
93
- else:
94
- options.setdefault('verify_signature', verify)
100
+ if options["verify_signature"] and not algorithms:
101
+ raise DecodeError(
102
+ 'It is required that you pass in a value for the "algorithms" argument when calling decode().'
103
+ )
95
104
 
96
- decoded = super(PyJWT, self).decode(
97
- jwt, key=key, algorithms=algorithms, options=options, **kwargs
105
+ decoded = api_jws.decode_complete(
106
+ jwt,
107
+ key=key,
108
+ algorithms=algorithms,
109
+ options=options,
110
+ **kwargs,
98
111
  )
99
112
 
100
113
  try:
101
- payload = json.loads(decoded.decode('utf-8'))
114
+ payload = json.loads(decoded["payload"])
102
115
  except ValueError as e:
103
- raise DecodeError('Invalid payload string: %s' % e)
104
- if not isinstance(payload, Mapping):
105
- raise DecodeError('Invalid payload string: must be a json object')
106
-
107
- if verify:
108
- merged_options = merge_dict(self.options, options)
109
- self._validate_claims(payload, merged_options, **kwargs)
110
-
111
- return payload
112
-
113
- def _validate_claims(self, payload, options, audience=None, issuer=None,
114
- leeway=0, **kwargs):
115
-
116
- if 'verify_expiration' in kwargs:
117
- options['verify_exp'] = kwargs.get('verify_expiration', True)
118
- warnings.warn('The verify_expiration parameter is deprecated. '
119
- 'Please use verify_exp in options instead.',
120
- DeprecationWarning)
121
-
116
+ raise DecodeError(f"Invalid payload string: {e}")
117
+ if not isinstance(payload, dict):
118
+ raise DecodeError("Invalid payload string: must be a json object")
119
+
120
+ merged_options = {**self.options, **options}
121
+ self._validate_claims(payload, merged_options, **kwargs)
122
+
123
+ decoded["payload"] = payload
124
+ return decoded
125
+
126
+ def decode(
127
+ self,
128
+ jwt: str,
129
+ key: str = "",
130
+ algorithms: Optional[List[str]] = None,
131
+ options: Optional[Dict] = None,
132
+ **kwargs,
133
+ ) -> Dict[str, Any]:
134
+ decoded = self.decode_complete(jwt, key, algorithms, options, **kwargs)
135
+ return decoded["payload"]
136
+
137
+ def _validate_claims(
138
+ self, payload, options, audience=None, issuer=None, leeway=0, **kwargs
139
+ ):
122
140
  if isinstance(leeway, timedelta):
123
141
  leeway = leeway.total_seconds()
124
142
 
125
- if not isinstance(audience, (string_types, type(None), Iterable)):
126
- raise TypeError('audience must be a string, iterable, or None')
143
+ if not isinstance(audience, (bytes, str, type(None), Iterable)):
144
+ raise TypeError("audience must be a string, iterable, or None")
127
145
 
128
146
  self._validate_required_claims(payload, options)
129
147
 
130
- now = timegm(datetime.utcnow().utctimetuple())
148
+ now = timegm(datetime.now(tz=timezone.utc).utctimetuple())
131
149
 
132
- if 'iat' in payload and options.get('verify_iat'):
150
+ if "iat" in payload and options["verify_iat"]:
133
151
  self._validate_iat(payload, now, leeway)
134
152
 
135
- if 'nbf' in payload and options.get('verify_nbf'):
153
+ if "nbf" in payload and options["verify_nbf"]:
136
154
  self._validate_nbf(payload, now, leeway)
137
155
 
138
- if 'exp' in payload and options.get('verify_exp'):
156
+ if "exp" in payload and options["verify_exp"]:
139
157
  self._validate_exp(payload, now, leeway)
140
158
 
141
- if options.get('verify_iss'):
159
+ if options["verify_iss"]:
142
160
  self._validate_iss(payload, issuer)
143
161
 
144
- if options.get('verify_aud'):
162
+ if options["verify_aud"]:
145
163
  self._validate_aud(payload, audience)
146
164
 
147
165
  def _validate_required_claims(self, payload, options):
148
- if options.get('require_exp') and payload.get('exp') is None:
149
- raise MissingRequiredClaimError('exp')
150
-
151
- if options.get('require_iat') and payload.get('iat') is None:
152
- raise MissingRequiredClaimError('iat')
153
-
154
- if options.get('require_nbf') and payload.get('nbf') is None:
155
- raise MissingRequiredClaimError('nbf')
166
+ for claim in options["require"]:
167
+ if payload.get(claim) is None:
168
+ raise MissingRequiredClaimError(claim)
156
169
 
157
170
  def _validate_iat(self, payload, now, leeway):
158
171
  try:
159
- int(payload['iat'])
172
+ int(payload["iat"])
160
173
  except ValueError:
161
- raise InvalidIssuedAtError('Issued At claim (iat) must be an integer.')
174
+ raise InvalidIssuedAtError("Issued At claim (iat) must be an integer.")
162
175
 
163
176
  def _validate_nbf(self, payload, now, leeway):
164
177
  try:
165
- nbf = int(payload['nbf'])
178
+ nbf = int(payload["nbf"])
166
179
  except ValueError:
167
- raise DecodeError('Not Before claim (nbf) must be an integer.')
180
+ raise DecodeError("Not Before claim (nbf) must be an integer.")
168
181
 
169
182
  if nbf > (now + leeway):
170
- raise ImmatureSignatureError('The token is not yet valid (nbf)')
183
+ raise ImmatureSignatureError("The token is not yet valid (nbf)")
171
184
 
172
185
  def _validate_exp(self, payload, now, leeway):
173
186
  try:
174
- exp = int(payload['exp'])
187
+ exp = int(payload["exp"])
175
188
  except ValueError:
176
- raise DecodeError('Expiration Time claim (exp) must be an'
177
- ' integer.')
189
+ raise DecodeError("Expiration Time claim (exp) must be an" " integer.")
178
190
 
179
191
  if exp < (now - leeway):
180
- raise ExpiredSignatureError('Signature has expired')
192
+ raise ExpiredSignatureError("Signature has expired")
181
193
 
182
194
  def _validate_aud(self, payload, audience):
183
- if audience is None and 'aud' not in payload:
184
- return
195
+ if audience is None:
196
+ if "aud" not in payload or not payload["aud"]:
197
+ return
198
+ # Application did not specify an audience, but
199
+ # the token has the 'aud' claim
200
+ raise InvalidAudienceError("Invalid audience")
185
201
 
186
- if audience is not None and 'aud' not in payload:
202
+ if "aud" not in payload or not payload["aud"]:
187
203
  # Application specified an audience, but it could not be
188
204
  # verified since the token does not contain a claim.
189
- raise MissingRequiredClaimError('aud')
190
-
191
- if audience is None and 'aud' in payload:
192
- # Application did not specify an audience, but
193
- # the token has the 'aud' claim
194
- raise InvalidAudienceError('Invalid audience')
205
+ raise MissingRequiredClaimError("aud")
195
206
 
196
- audience_claims = payload['aud']
207
+ audience_claims = payload["aud"]
197
208
 
198
- if isinstance(audience_claims, string_types):
209
+ if isinstance(audience_claims, str):
199
210
  audience_claims = [audience_claims]
200
211
  if not isinstance(audience_claims, list):
201
- raise InvalidAudienceError('Invalid claim format in token')
202
- if any(not isinstance(c, string_types) for c in audience_claims):
203
- raise InvalidAudienceError('Invalid claim format in token')
212
+ raise InvalidAudienceError("Invalid claim format in token")
213
+ if any(not isinstance(c, str) for c in audience_claims):
214
+ raise InvalidAudienceError("Invalid claim format in token")
204
215
 
205
- if isinstance(audience, string_types):
216
+ if isinstance(audience, str):
206
217
  audience = [audience]
207
218
 
208
- if not any(aud in audience_claims for aud in audience):
209
- raise InvalidAudienceError('Invalid audience')
219
+ if all(aud not in audience_claims for aud in audience):
220
+ raise InvalidAudienceError("Invalid audience")
210
221
 
211
222
  def _validate_iss(self, payload, issuer):
212
223
  if issuer is None:
213
224
  return
214
225
 
215
- if 'iss' not in payload:
216
- raise MissingRequiredClaimError('iss')
226
+ if "iss" not in payload:
227
+ raise MissingRequiredClaimError("iss")
217
228
 
218
- if payload['iss'] != issuer:
219
- raise InvalidIssuerError('Invalid issuer')
229
+ if payload["iss"] != issuer:
230
+ raise InvalidIssuerError("Invalid issuer")
220
231
 
221
232
 
222
233
  _jwt_global_obj = PyJWT()
223
234
  encode = _jwt_global_obj.encode
235
+ decode_complete = _jwt_global_obj.decode_complete
224
236
  decode = _jwt_global_obj.decode
225
- register_algorithm = _jwt_global_obj.register_algorithm
226
- unregister_algorithm = _jwt_global_obj.unregister_algorithm
227
- get_unverified_header = _jwt_global_obj.get_unverified_header
@@ -1,12 +1,13 @@
1
1
  # coding: utf-8
2
2
  # Modified Work: Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
3
3
  # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
- # Original Work: Copyright (c) 2015 José Padilla
4
+ # Original Work: Copyright (c) 2015-2022 José Padilla
5
5
 
6
6
  class PyJWTError(Exception):
7
7
  """
8
8
  Base class for all exceptions
9
9
  """
10
+
10
11
  pass
11
12
 
12
13
 
@@ -55,10 +56,16 @@ class MissingRequiredClaimError(InvalidTokenError):
55
56
  self.claim = claim
56
57
 
57
58
  def __str__(self):
58
- return 'Token is missing the "%s" claim' % self.claim
59
+ return f'Token is missing the "{self.claim}" claim'
60
+
61
+
62
+ class PyJWKError(PyJWTError):
63
+ pass
59
64
 
60
65
 
61
- # Compatibility aliases (deprecated)
62
- ExpiredSignature = ExpiredSignatureError
63
- InvalidAudience = InvalidAudienceError
64
- InvalidIssuer = InvalidIssuerError
66
+ class PyJWKSetError(PyJWTError):
67
+ pass
68
+
69
+
70
+ class PyJWKClientError(PyJWTError):
71
+ pass
oci/_vendor/jwt/help.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  # Modified Work: Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
3
3
  # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
- # Original Work: Copyright (c) 2015 José Padilla
4
+ # Original Work: Copyright (c) 2015-2022 José Padilla
5
5
 
6
6
  from __future__ import print_function
7
7
 
@@ -13,13 +13,8 @@ from . import __version__ as pyjwt_version
13
13
 
14
14
  try:
15
15
  import cryptography
16
- except ImportError:
17
- cryptography = None
18
-
19
- try:
20
- import ecdsa
21
- except ImportError:
22
- ecdsa = None
16
+ except ModuleNotFoundError:
17
+ cryptography = None # type: ignore
23
18
 
24
19
 
25
20
  def info():
@@ -28,8 +23,11 @@ def info():
28
23
  Based on the requests package help utility module.
29
24
  """
30
25
  try:
31
- platform_info = {"system": platform.system(), "release": platform.release()}
32
- except IOError:
26
+ platform_info = {
27
+ "system": platform.system(),
28
+ "release": platform.release(),
29
+ }
30
+ except OSError:
33
31
  platform_info = {"system": "Unknown", "release": "Unknown"}
34
32
 
35
33
  implementation = platform.python_implementation()
@@ -37,10 +35,10 @@ def info():
37
35
  if implementation == "CPython":
38
36
  implementation_version = platform.python_version()
39
37
  elif implementation == "PyPy":
40
- implementation_version = "%s.%s.%s" % (
41
- sys.pypy_version_info.major,
42
- sys.pypy_version_info.minor,
43
- sys.pypy_version_info.micro,
38
+ implementation_version = (
39
+ f"{sys.pypy_version_info.major}."
40
+ f"{sys.pypy_version_info.minor}."
41
+ f"{sys.pypy_version_info.micro}"
44
42
  )
45
43
  if sys.pypy_version_info.releaselevel != "final":
46
44
  implementation_version = "".join(
@@ -51,7 +49,10 @@ def info():
51
49
 
52
50
  return {
53
51
  "platform": platform_info,
54
- "implementation": {"name": implementation, "version": implementation_version},
52
+ "implementation": {
53
+ "name": implementation,
54
+ "version": implementation_version,
55
+ },
55
56
  "cryptography": {"version": getattr(cryptography, "__version__", "")},
56
57
  "pyjwt": {"version": pyjwt_version},
57
58
  }
@@ -0,0 +1,64 @@
1
+ # coding: utf-8
2
+ # Modified Work: Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
3
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
+ # Original Work: Copyright (c) 2015-2022 José Padilla
5
+
6
+ import json
7
+ import urllib.request
8
+ from functools import lru_cache
9
+ from typing import Any, List
10
+
11
+ from .api_jwk import PyJWK, PyJWKSet
12
+ from .api_jwt import decode_complete as decode_token
13
+ from .exceptions import PyJWKClientError
14
+
15
+
16
+ class PyJWKClient:
17
+ def __init__(self, uri: str, cache_keys: bool = True, max_cached_keys: int = 16):
18
+ self.uri = uri
19
+ if cache_keys:
20
+ # Cache signing keys
21
+ # Ignore mypy (https://github.com/python/mypy/issues/2427)
22
+ self.get_signing_key = lru_cache(maxsize=max_cached_keys)(self.get_signing_key) # type: ignore
23
+
24
+ def fetch_data(self) -> Any:
25
+ with urllib.request.urlopen(self.uri) as response:
26
+ return json.load(response)
27
+
28
+ def get_jwk_set(self) -> PyJWKSet:
29
+ data = self.fetch_data()
30
+ return PyJWKSet.from_dict(data)
31
+
32
+ def get_signing_keys(self) -> List[PyJWK]:
33
+ jwk_set = self.get_jwk_set()
34
+ signing_keys = [
35
+ jwk_set_key
36
+ for jwk_set_key in jwk_set.keys
37
+ if jwk_set_key.public_key_use in ["sig", None] and jwk_set_key.key_id
38
+ ]
39
+
40
+ if not signing_keys:
41
+ raise PyJWKClientError("The JWKS endpoint did not contain any signing keys")
42
+
43
+ return signing_keys
44
+
45
+ def get_signing_key(self, kid: str) -> PyJWK:
46
+ signing_keys = self.get_signing_keys()
47
+ signing_key = None
48
+
49
+ for key in signing_keys:
50
+ if key.key_id == kid:
51
+ signing_key = key
52
+ break
53
+
54
+ if not signing_key:
55
+ raise PyJWKClientError(
56
+ f'Unable to find a signing key that matches: "{kid}"'
57
+ )
58
+
59
+ return signing_key
60
+
61
+ def get_signing_key_from_jwt(self, token: str) -> PyJWK:
62
+ unverified = decode_token(token, options={"verify_signature": False})
63
+ header = unverified["header"]
64
+ return self.get_signing_key(header.get("kid"))