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.
- oci/_vendor/jwt/__init__.py +65 -26
- oci/_vendor/jwt/algorithms.py +404 -130
- oci/_vendor/jwt/api_jwk.py +108 -0
- oci/_vendor/jwt/api_jws.py +153 -106
- oci/_vendor/jwt/api_jwt.py +146 -137
- oci/_vendor/jwt/exceptions.py +13 -6
- oci/_vendor/jwt/help.py +16 -15
- oci/_vendor/jwt/jwks_client.py +64 -0
- oci/_vendor/jwt/utils.py +101 -54
- oci/access_governance_cp/access_governance_cp_client.py +8 -8
- oci/adm/application_dependency_management_client.py +36 -36
- oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
- oci/ai_document/ai_service_document_client.py +26 -26
- oci/ai_language/ai_service_language_client.py +44 -44
- oci/ai_speech/ai_service_speech_client.py +19 -19
- oci/ai_vision/ai_service_vision_client.py +25 -25
- oci/analytics/analytics_client.py +24 -24
- oci/announcements_service/announcement_client.py +5 -5
- oci/announcements_service/announcement_subscription_client.py +9 -9
- oci/announcements_service/announcements_preferences_client.py +4 -4
- oci/announcements_service/service_client.py +1 -1
- oci/apigateway/api_gateway_client.py +21 -21
- oci/apigateway/deployment_client.py +6 -6
- oci/apigateway/gateway_client.py +6 -6
- oci/apigateway/subscribers_client.py +6 -6
- oci/apigateway/usage_plans_client.py +6 -6
- oci/apigateway/work_requests_client.py +5 -5
- oci/apm_config/config_client.py +9 -9
- oci/apm_control_plane/apm_domain_client.py +14 -14
- oci/apm_synthetics/apm_synthetic_client.py +28 -28
- oci/apm_traces/attributes_client.py +8 -8
- oci/apm_traces/query_client.py +2 -2
- oci/apm_traces/trace_client.py +4 -4
- oci/appmgmt_control/appmgmt_control_client.py +8 -8
- oci/artifacts/artifacts_client.py +32 -32
- oci/audit/audit_client.py +3 -3
- oci/auth/security_token_container.py +1 -1
- oci/autoscaling/auto_scaling_client.py +11 -11
- oci/bastion/bastion_client.py +15 -15
- oci/bds/bds_client.py +72 -72
- oci/blockchain/blockchain_platform_client.py +27 -27
- oci/budget/budget_client.py +10 -10
- oci/capacity_management/capacity_management_client.py +32 -32
- oci/certificates/certificates_client.py +5 -5
- oci/certificates_management/certificates_management_client.py +32 -32
- oci/cims/incident_client.py +8 -8
- oci/cloud_bridge/common_client.py +5 -5
- oci/cloud_bridge/discovery_client.py +160 -14
- oci/cloud_bridge/inventory_client.py +20 -20
- oci/cloud_bridge/models/__init__.py +48 -2
- oci/cloud_bridge/models/asset.py +19 -3
- oci/cloud_bridge/models/asset_source.py +11 -3
- oci/cloud_bridge/models/asset_source_credentials.py +17 -7
- oci/cloud_bridge/models/asset_source_summary.py +11 -3
- oci/cloud_bridge/models/asset_summary.py +11 -3
- oci/cloud_bridge/models/aws_asset_source.py +359 -0
- oci/cloud_bridge/models/aws_asset_source_summary.py +205 -0
- oci/cloud_bridge/models/aws_ebs_asset.py +170 -0
- oci/cloud_bridge/models/aws_ebs_properties.py +382 -0
- oci/cloud_bridge/models/aws_ec2_asset.py +278 -0
- oci/cloud_bridge/models/aws_ec2_properties.py +1056 -0
- oci/cloud_bridge/models/create_asset_details.py +19 -3
- oci/cloud_bridge/models/create_asset_source_details.py +11 -3
- oci/cloud_bridge/models/create_aws_asset_source_details.py +323 -0
- oci/cloud_bridge/models/create_aws_ebs_asset_details.py +134 -0
- oci/cloud_bridge/models/create_aws_ec2_asset_details.py +242 -0
- oci/cloud_bridge/models/create_vm_ware_asset_source_details.py +2 -2
- oci/cloud_bridge/models/create_vmware_vm_asset_details.py +5 -5
- oci/cloud_bridge/models/group_identifier.py +103 -0
- oci/cloud_bridge/models/import_inventory_via_assets_details.py +13 -5
- oci/cloud_bridge/models/instance_network_interface.py +498 -0
- oci/cloud_bridge/models/instance_network_interface_association.py +196 -0
- oci/cloud_bridge/models/instance_network_interface_attachment.py +227 -0
- oci/cloud_bridge/models/instance_private_ip_address.py +161 -0
- oci/cloud_bridge/models/instance_state.py +103 -0
- oci/cloud_bridge/models/monthly_cost_summary.py +103 -0
- oci/cloud_bridge/models/placement.py +289 -0
- oci/{ocvp/models/supported_sku_summary_collection.py → cloud_bridge/models/supported_cloud_region_collection.py} +15 -15
- oci/cloud_bridge/models/supported_cloud_region_summary.py +244 -0
- oci/cloud_bridge/models/tag.py +103 -0
- oci/cloud_bridge/models/update_asset_details.py +19 -3
- oci/cloud_bridge/models/update_asset_source_details.py +47 -4
- oci/cloud_bridge/models/update_aws_asset_source_details.py +240 -0
- oci/cloud_bridge/models/update_aws_ebs_asset_details.py +106 -0
- oci/cloud_bridge/models/update_aws_ec2_asset_details.py +214 -0
- oci/cloud_bridge/models/update_vm_asset_details.py +1 -1
- oci/cloud_bridge/models/update_vm_ware_asset_source_details.py +11 -39
- oci/cloud_bridge/models/update_vmware_vm_asset_details.py +1 -1
- oci/cloud_bridge/models/vm_asset.py +3 -3
- oci/cloud_bridge/models/vm_ware_asset_source.py +2 -2
- oci/cloud_bridge/models/vm_ware_asset_source_summary.py +2 -2
- oci/cloud_bridge/models/vmware_vm_asset.py +5 -5
- oci/cloud_bridge/models/volume_attachment.py +196 -0
- oci/cloud_bridge/models/work_request.py +15 -3
- oci/cloud_bridge/models/work_request_summary.py +15 -3
- oci/cloud_bridge/ocb_agent_svc_client.py +22 -138
- oci/cloud_bridge/ocb_agent_svc_client_composite_operations.py +0 -48
- oci/cloud_guard/cloud_guard_client.py +155 -155
- oci/cloud_migrations/migration_client.py +43 -43
- oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
- oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
- oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
- oci/compute_instance_agent/plugin_client.py +2 -2
- oci/compute_instance_agent/pluginconfig_client.py +1 -1
- oci/container_engine/container_engine_client.py +88 -88
- oci/container_engine/models/__init__.py +4 -0
- oci/container_engine/models/cluster.py +33 -2
- oci/container_engine/models/cluster_create_options.py +56 -2
- oci/container_engine/models/open_id_connect_discovery.py +72 -0
- oci/container_engine/models/open_id_connect_token_authentication_config.py +370 -0
- oci/container_engine/models/update_cluster_options_details.py +56 -2
- oci/container_instances/container_instance_client.py +18 -18
- oci/core/blockstorage_client.py +60 -60
- oci/core/compute_client.py +102 -102
- oci/core/compute_management_client.py +32 -32
- oci/core/models/__init__.py +6 -0
- oci/core/models/block_volume_replica.py +43 -2
- oci/core/models/block_volume_replica_details.py +45 -2
- oci/core/models/block_volume_replica_info.py +43 -2
- oci/core/models/boot_volume_replica.py +43 -2
- oci/core/models/boot_volume_replica_details.py +45 -2
- oci/core/models/boot_volume_replica_info.py +43 -2
- oci/core/models/boot_volume_source_details.py +4 -0
- oci/core/models/boot_volume_source_from_boot_volume_backup_delta_details.py +143 -0
- oci/core/models/create_boot_volume_details.py +45 -2
- oci/core/models/create_volume_backup_policy_assignment_details.py +45 -2
- oci/core/models/create_volume_details.py +45 -2
- oci/core/models/create_volume_group_details.py +45 -2
- oci/core/models/instance_configuration_create_volume_details.py +45 -2
- oci/core/models/virtual_circuit.py +29 -2
- oci/core/models/virtual_circuit_redundancy_metadata.py +202 -0
- oci/core/models/volume_backup_policy_assignment.py +45 -2
- oci/core/models/volume_group_replica_details.py +45 -2
- oci/core/models/volume_group_replica_info.py +43 -2
- oci/core/models/volume_source_details.py +4 -0
- oci/core/models/volume_source_from_volume_backup_delta_details.py +143 -0
- oci/core/virtual_network_client.py +247 -247
- oci/dashboard_service/dashboard_client.py +6 -6
- oci/dashboard_service/dashboard_group_client.py +6 -6
- oci/data_catalog/data_catalog_client.py +149 -149
- oci/data_flow/data_flow_client.py +42 -42
- oci/data_integration/data_integration_client.py +163 -163
- oci/data_labeling_service/data_labeling_management_client.py +17 -17
- oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
- oci/data_safe/data_safe_client.py +292 -292
- oci/data_science/data_science_client.py +217 -93
- oci/data_science/data_science_client_composite_operations.py +41 -0
- oci/data_science/models/__init__.py +8 -0
- oci/data_science/models/backup_operation_details.py +154 -0
- oci/data_science/models/backup_setting.py +158 -0
- oci/data_science/models/create_model_details.py +56 -2
- oci/data_science/models/model.py +141 -2
- oci/data_science/models/model_summary.py +31 -0
- oci/data_science/models/retention_operation_details.py +267 -0
- oci/data_science/models/retention_setting.py +158 -0
- oci/data_science/models/update_model_details.py +56 -2
- oci/data_science/models/work_request.py +7 -3
- oci/data_science/models/work_request_summary.py +7 -3
- oci/database/database_client.py +396 -396
- oci/database/models/__init__.py +14 -0
- oci/database/models/autonomous_database.py +58 -0
- oci/database/models/autonomous_database_encryption_key_details.py +133 -0
- oci/database/models/autonomous_database_encryption_key_history_entry.py +99 -0
- oci/database/models/autonomous_database_summary.py +58 -0
- oci/database/models/aws_key_details.py +175 -0
- oci/database/models/azure_key_details.py +113 -0
- oci/database/models/create_autonomous_database_base.py +27 -0
- oci/database/models/create_autonomous_database_clone_details.py +7 -0
- oci/database/models/create_autonomous_database_details.py +7 -0
- oci/database/models/create_autonomous_database_from_backup_details.py +7 -0
- oci/database/models/create_autonomous_database_from_backup_timestamp_details.py +7 -0
- oci/database/models/create_cross_region_autonomous_database_data_guard_details.py +7 -0
- oci/database/models/create_cross_region_disaster_recovery_details.py +7 -0
- oci/database/models/create_cross_tenancy_disaster_recovery_details.py +7 -0
- oci/database/models/create_refreshable_autonomous_database_clone_details.py +7 -0
- oci/database/models/oci_key_details.py +119 -0
- oci/database/models/okv_key_details.py +206 -0
- oci/{log_analytics/models/agent_upload.py → database/models/oracle_managed_key_details.py} +14 -33
- oci/database/models/undelete_autonomous_database_details.py +7 -0
- oci/database/models/update_autonomous_database_details.py +29 -2
- oci/database_management/db_management_client.py +211 -211
- oci/database_management/diagnosability_client.py +4 -4
- oci/database_management/managed_my_sql_databases_client.py +7 -7
- oci/database_management/perfhub_client.py +1 -1
- oci/database_management/sql_tuning_client.py +17 -17
- oci/database_migration/database_migration_client.py +42 -42
- oci/database_tools/database_tools_client.py +23 -23
- oci/delegate_access_control/delegate_access_control_client.py +26 -26
- oci/delegate_access_control/work_request_client.py +4 -4
- oci/demand_signal/occ_demand_signal_client.py +7 -7
- oci/desktops/desktop_service_client.py +21 -21
- oci/devops/devops_client.py +141 -141
- oci/disaster_recovery/disaster_recovery_client.py +29 -29
- oci/dns/dns_client.py +389 -54
- oci/dns/dns_client_composite_operations.py +886 -193
- oci/dns/models/__init__.py +13 -1
- oci/dns/models/create_zone_details.py +101 -2
- oci/dns/models/dnssec_config.py +105 -0
- oci/dns/models/dnssec_key_version_ds_data.py +121 -0
- oci/dns/models/ksk_dnssec_key_version.py +550 -0
- oci/dns/models/promote_zone_dnssec_key_version_details.py +72 -0
- oci/dns/models/stage_zone_dnssec_key_version_details.py +72 -0
- oci/dns/models/update_zone_details.py +99 -0
- oci/dns/models/zone.py +126 -0
- oci/dns/models/zone_summary.py +128 -2
- oci/dns/models/zsk_dnssec_key_version.py +517 -0
- oci/dts/appliance_export_job_client.py +6 -6
- oci/dts/shipping_vendors_client.py +1 -1
- oci/dts/transfer_appliance_client.py +8 -8
- oci/dts/transfer_appliance_entitlement_client.py +3 -3
- oci/dts/transfer_device_client.py +5 -5
- oci/dts/transfer_job_client.py +6 -6
- oci/dts/transfer_package_client.py +7 -7
- oci/em_warehouse/em_warehouse_client.py +13 -13
- oci/email/email_client.py +31 -31
- oci/email_data_plane/email_dp_client.py +1 -1
- oci/events/events_client.py +6 -6
- oci/file_storage/file_storage_client.py +3599 -1776
- oci/file_storage/file_storage_client_composite_operations.py +881 -223
- oci/file_storage/models/__init__.py +2 -0
- oci/file_storage/models/create_export_details.py +31 -0
- oci/file_storage/models/create_file_system_details.py +31 -0
- oci/file_storage/models/create_filesystem_snapshot_policy_details.py +33 -2
- oci/file_storage/models/create_ldap_bind_account_details.py +7 -0
- oci/file_storage/models/create_mount_target_details.py +31 -0
- oci/file_storage/models/create_outbound_connector_details.py +33 -2
- oci/file_storage/models/create_replication_details.py +33 -2
- oci/file_storage/models/create_snapshot_details.py +33 -2
- oci/file_storage/models/export.py +33 -2
- oci/file_storage/models/export_summary.py +33 -2
- oci/file_storage/models/file_system.py +31 -0
- oci/file_storage/models/file_system_summary.py +31 -0
- oci/file_storage/models/filesystem_snapshot_policy.py +31 -0
- oci/file_storage/models/filesystem_snapshot_policy_summary.py +31 -0
- oci/file_storage/models/ldap_bind_account.py +7 -0
- oci/file_storage/models/ldap_bind_account_summary.py +7 -0
- oci/file_storage/models/mount_target.py +31 -0
- oci/file_storage/models/mount_target_summary.py +31 -0
- oci/file_storage/models/outbound_connector.py +31 -0
- oci/file_storage/models/outbound_connector_summary.py +31 -0
- oci/file_storage/models/replication.py +31 -0
- oci/file_storage/models/replication_summary.py +31 -0
- oci/file_storage/models/resource_lock.py +185 -0
- oci/file_storage/models/snapshot.py +31 -0
- oci/file_storage/models/snapshot_summary.py +31 -0
- oci/fleet_apps_management/fleet_apps_management_admin_client.py +2261 -294
- oci/fleet_apps_management/fleet_apps_management_admin_client_composite_operations.py +349 -1
- oci/fleet_apps_management/fleet_apps_management_client.py +141 -127
- oci/fleet_apps_management/fleet_apps_management_client_composite_operations.py +19 -19
- oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +19 -15
- oci/fleet_apps_management/fleet_apps_management_maintenance_window_client_composite_operations.py +1 -1
- oci/fleet_apps_management/fleet_apps_management_operations_client.py +2058 -363
- oci/fleet_apps_management/fleet_apps_management_operations_client_composite_operations.py +173 -0
- oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +1097 -260
- oci/fleet_apps_management/fleet_apps_management_runbooks_client_composite_operations.py +298 -0
- oci/fleet_apps_management/models/__init__.py +168 -0
- oci/fleet_apps_management/models/action_group.py +2 -2
- oci/fleet_apps_management/models/action_group_based_user_action_details.py +90 -0
- oci/fleet_apps_management/models/action_group_details.py +20 -16
- oci/fleet_apps_management/models/activity_resource_target.py +44 -7
- oci/fleet_apps_management/models/announcement_collection.py +1 -1
- oci/fleet_apps_management/models/announcement_summary.py +13 -13
- oci/fleet_apps_management/models/api_based_execution_details.py +1 -1
- oci/fleet_apps_management/models/artifact_details.py +109 -0
- oci/fleet_apps_management/models/associated_fleet_credential_details.py +1 -1
- oci/fleet_apps_management/models/associated_fleet_property_details.py +5 -5
- oci/fleet_apps_management/models/associated_fleet_resource_details.py +6 -6
- oci/fleet_apps_management/models/associated_local_task_details.py +64 -1
- oci/fleet_apps_management/models/associated_scheduler_definition.py +3 -3
- oci/fleet_apps_management/models/associated_shared_task_details.py +2 -1
- oci/fleet_apps_management/models/associations.py +32 -5
- oci/fleet_apps_management/models/check_resource_tagging_details.py +5 -5
- oci/fleet_apps_management/models/compliance_detail_policy.py +223 -0
- oci/fleet_apps_management/models/compliance_detail_product.py +134 -0
- oci/fleet_apps_management/models/compliance_detail_resource.py +196 -0
- oci/fleet_apps_management/models/compliance_detail_target.py +134 -0
- oci/fleet_apps_management/models/compliance_patch_detail.py +278 -0
- oci/{database_migration/models/agent.py → fleet_apps_management/models/compliance_policy.py} +120 -167
- oci/fleet_apps_management/models/compliance_policy_collection.py +72 -0
- oci/fleet_apps_management/models/compliance_policy_rule.py +618 -0
- oci/{media_services/models/media_workflow_job_fact_collection.py → fleet_apps_management/models/compliance_policy_rule_collection.py} +15 -15
- oci/fleet_apps_management/models/compliance_policy_rule_summary.py +585 -0
- oci/{database_migration/models/agent_summary.py → fleet_apps_management/models/compliance_policy_summary.py} +110 -159
- oci/fleet_apps_management/models/compliance_record.py +457 -0
- oci/fleet_apps_management/models/compliance_record_aggregation.py +99 -0
- oci/fleet_apps_management/models/compliance_record_aggregation_collection.py +72 -0
- oci/fleet_apps_management/models/compliance_record_collection.py +72 -0
- oci/fleet_apps_management/models/compliance_record_dimension.py +143 -0
- oci/fleet_apps_management/models/compliance_record_summary.py +437 -0
- oci/fleet_apps_management/models/compliance_report.py +5 -5
- oci/fleet_apps_management/models/compliance_report_patch_detail.py +9 -9
- oci/fleet_apps_management/models/compliance_report_product.py +3 -3
- oci/fleet_apps_management/models/compliance_report_resource.py +8 -6
- oci/fleet_apps_management/models/compliance_report_target.py +7 -7
- oci/fleet_apps_management/models/component_properties.py +69 -9
- oci/fleet_apps_management/models/condition.py +12 -6
- oci/{os_management/models/managed_instance_update_details.py → fleet_apps_management/models/config_association_details.py} +43 -35
- oci/fleet_apps_management/models/config_category_details.py +133 -0
- oci/fleet_apps_management/models/confirm_targets_details.py +1 -1
- oci/fleet_apps_management/models/content_details.py +3 -3
- oci/fleet_apps_management/models/create_compliance_policy_rule_details.py +382 -0
- oci/fleet_apps_management/models/create_fleet_details.py +63 -16
- oci/fleet_apps_management/models/create_fleet_property_details.py +5 -5
- oci/fleet_apps_management/models/create_fleet_resource_details.py +1 -1
- oci/fleet_apps_management/models/create_maintenance_window_details.py +19 -11
- oci/fleet_apps_management/models/create_onboarding_details.py +8 -4
- oci/fleet_apps_management/models/create_patch_details.py +402 -0
- oci/fleet_apps_management/models/create_platform_configuration_details.py +169 -0
- oci/fleet_apps_management/models/create_property_details.py +6 -6
- oci/fleet_apps_management/models/create_runbook_details.py +441 -0
- oci/{database_migration/models/create_agent_details.py → fleet_apps_management/models/create_task_record_details.py} +81 -106
- oci/fleet_apps_management/models/credential_config_category_details.py +52 -0
- oci/fleet_apps_management/models/credential_details.py +3 -3
- oci/fleet_apps_management/models/credential_entity_specific_details.py +22 -6
- oci/{log_analytics/models/log_analytics_collection_warning.py → fleet_apps_management/models/dependent_patch_details.py} +12 -10
- oci/fleet_apps_management/models/details.py +67 -3
- oci/fleet_apps_management/models/discovered_target.py +6 -6
- oci/fleet_apps_management/models/enable_latest_policy_details.py +72 -0
- oci/fleet_apps_management/models/entity_execution_details.py +22 -16
- oci/fleet_apps_management/models/environment_config_category_details.py +53 -0
- oci/fleet_apps_management/models/execution.py +122 -21
- oci/fleet_apps_management/models/execution_collection.py +1 -1
- oci/fleet_apps_management/models/execution_details.py +1 -1
- oci/fleet_apps_management/models/execution_summary.py +123 -22
- oci/fleet_apps_management/models/execution_workflow_details.py +1 -1
- oci/fleet_apps_management/models/export_compliance_report_details.py +251 -0
- oci/fleet_apps_management/models/fleet.py +37 -19
- oci/fleet_apps_management/models/fleet_credential.py +1 -1
- oci/fleet_apps_management/models/fleet_credential_entity_specific_details.py +82 -0
- oci/fleet_apps_management/models/fleet_product_summary.py +3 -3
- oci/fleet_apps_management/models/fleet_property.py +11 -11
- oci/fleet_apps_management/models/fleet_property_collection.py +3 -3
- oci/fleet_apps_management/models/fleet_property_summary.py +6 -6
- oci/fleet_apps_management/models/fleet_resource.py +21 -15
- oci/fleet_apps_management/models/fleet_resource_collection.py +1 -1
- oci/fleet_apps_management/models/fleet_resource_summary.py +20 -14
- oci/fleet_apps_management/models/fleet_summary.py +15 -5
- oci/fleet_apps_management/models/fleet_target.py +98 -5
- oci/fleet_apps_management/models/fleet_target_summary.py +98 -5
- oci/fleet_apps_management/models/generate_compliance_report_details.py +5 -3
- oci/fleet_apps_management/models/generic_artifact.py +68 -0
- oci/fleet_apps_management/models/generic_artifact_details.py +78 -0
- oci/fleet_apps_management/models/group.py +11 -5
- oci/fleet_apps_management/models/input_argument.py +2 -2
- oci/fleet_apps_management/models/inventory_resource_summary.py +6 -6
- oci/fleet_apps_management/models/job_activity.py +57 -18
- oci/fleet_apps_management/models/key_encryption_credential_details.py +5 -5
- oci/fleet_apps_management/models/maintenance_window.py +19 -11
- oci/fleet_apps_management/models/maintenance_window_collection.py +1 -1
- oci/fleet_apps_management/models/maintenance_window_summary.py +18 -10
- oci/fleet_apps_management/models/manage_job_execution_details.py +68 -0
- oci/{database_migration/models/change_agent_compartment_details.py → fleet_apps_management/models/manage_settings_details.py} +21 -21
- oci/fleet_apps_management/models/managed_entity_aggregation.py +99 -0
- oci/fleet_apps_management/models/managed_entity_aggregation_collection.py +72 -0
- oci/fleet_apps_management/models/managed_entity_dimension.py +88 -0
- oci/fleet_apps_management/models/model_property.py +9 -9
- oci/fleet_apps_management/models/notification_preferences.py +7 -5
- oci/fleet_apps_management/models/object_storage_bucket_content_details.py +3 -3
- oci/fleet_apps_management/models/onboarding.py +70 -7
- oci/fleet_apps_management/models/onboarding_collection.py +3 -3
- oci/fleet_apps_management/models/onboarding_policy_collection.py +3 -3
- oci/fleet_apps_management/models/onboarding_policy_summary.py +1 -1
- oci/fleet_apps_management/models/onboarding_summary.py +69 -7
- oci/fleet_apps_management/models/outcome.py +7 -7
- oci/fleet_apps_management/models/output_variable_details.py +2 -2
- oci/fleet_apps_management/models/output_variable_input_argument.py +1 -1
- oci/fleet_apps_management/models/output_variable_mapping.py +4 -3
- oci/fleet_apps_management/models/patch.py +704 -0
- oci/{logging/models/log_included_search_summary_collection.py → fleet_apps_management/models/patch_collection.py} +16 -14
- oci/fleet_apps_management/models/patch_level_selection_details.py +106 -0
- oci/fleet_apps_management/models/patch_name_selection_details.py +83 -0
- oci/{database_migration/models/agent_image_summary.py → fleet_apps_management/models/patch_product.py} +36 -36
- oci/fleet_apps_management/models/patch_release_date_selection_details.py +83 -0
- oci/fleet_apps_management/models/patch_selection_details.py +117 -0
- oci/fleet_apps_management/models/patch_summary.py +625 -0
- oci/fleet_apps_management/models/patch_type.py +72 -0
- oci/fleet_apps_management/models/patch_type_config_category_details.py +52 -0
- oci/fleet_apps_management/models/pause_details.py +109 -0
- oci/fleet_apps_management/models/plain_text_credential_details.py +2 -2
- oci/fleet_apps_management/models/platform_configuration.py +529 -0
- oci/fleet_apps_management/models/platform_configuration_collection.py +72 -0
- oci/fleet_apps_management/models/platform_configuration_summary.py +485 -0
- oci/fleet_apps_management/models/platform_specific_artifact.py +162 -0
- oci/fleet_apps_management/models/platform_specific_artifact_details.py +82 -0
- oci/fleet_apps_management/models/preferences.py +3 -3
- oci/fleet_apps_management/models/product_config_category_details.py +215 -0
- oci/fleet_apps_management/models/product_stack_as_product_sub_category_details.py +182 -0
- oci/fleet_apps_management/models/product_stack_config_category_details.py +112 -0
- oci/{database_migration/models/par_link.py → fleet_apps_management/models/product_stack_generic_sub_category_details.py} +14 -33
- oci/fleet_apps_management/models/product_stack_sub_category_details.py +109 -0
- oci/fleet_apps_management/models/product_version_details.py +105 -0
- oci/fleet_apps_management/models/property_collection.py +3 -3
- oci/fleet_apps_management/models/property_summary.py +8 -8
- oci/{cloud_bridge/models/update_plugin_details.py → fleet_apps_management/models/publish_runbook_details.py} +21 -21
- oci/fleet_apps_management/models/request_resource_validation_details.py +5 -5
- oci/fleet_apps_management/models/request_target_discovery_details.py +5 -5
- oci/{database_migration/models/agent_image_collection.py → fleet_apps_management/models/resource_collection.py} +15 -15
- oci/fleet_apps_management/models/resource_credential_entity_specific_details.py +82 -0
- oci/fleet_apps_management/models/resource_summary.py +347 -0
- oci/fleet_apps_management/models/resource_tag_check_details.py +3 -3
- oci/fleet_apps_management/models/resource_tag_enablement_info.py +3 -3
- oci/fleet_apps_management/models/rollback_workflow_details.py +119 -0
- oci/fleet_apps_management/models/rule.py +15 -7
- oci/fleet_apps_management/models/runbook.py +28 -9
- oci/fleet_apps_management/models/runbook_collection.py +1 -1
- oci/fleet_apps_management/models/runbook_summary.py +6 -4
- oci/fleet_apps_management/models/scheduler_definition.py +16 -16
- oci/fleet_apps_management/models/scheduler_job.py +24 -20
- oci/fleet_apps_management/models/scheduler_job_aggregation.py +99 -0
- oci/{usage_api/models/schedule_report_collection.py → fleet_apps_management/models/scheduler_job_aggregation_collection.py} +16 -14
- oci/fleet_apps_management/models/scheduler_job_collection.py +1 -1
- oci/fleet_apps_management/models/scheduler_job_dimension.py +72 -0
- oci/fleet_apps_management/models/scheduler_job_summary.py +20 -16
- oci/fleet_apps_management/models/script_based_execution_details.py +38 -5
- oci/fleet_apps_management/models/selection_criteria.py +6 -3
- oci/{log_analytics/models/query_work_request_resource.py → fleet_apps_management/models/set_default_runbook_details.py} +22 -20
- oci/fleet_apps_management/models/step_based_user_action_details.py +183 -0
- oci/{database_migration/models/agent_collection.py → fleet_apps_management/models/step_collection.py} +15 -15
- oci/fleet_apps_management/models/step_summary.py +378 -0
- oci/fleet_apps_management/models/target_credential_entity_specific_details.py +6 -6
- oci/fleet_apps_management/models/target_resource.py +1 -1
- oci/fleet_apps_management/models/task_notification_preferences.py +134 -0
- oci/fleet_apps_management/models/task_record.py +1 -1
- oci/fleet_apps_management/models/task_variable.py +2 -1
- oci/fleet_apps_management/models/time_based_pause_details.py +82 -0
- oci/fleet_apps_management/models/update_compliance_policy_rule_details.py +283 -0
- oci/fleet_apps_management/models/update_fleet_details.py +4 -2
- oci/fleet_apps_management/models/update_fleet_property_details.py +3 -3
- oci/fleet_apps_management/models/update_fleet_resource_details.py +1 -1
- oci/fleet_apps_management/models/update_maintenance_window_details.py +18 -10
- oci/fleet_apps_management/models/update_onboarding_details.py +103 -0
- oci/fleet_apps_management/models/update_patch_details.py +369 -0
- oci/fleet_apps_management/models/update_platform_configuration_details.py +138 -0
- oci/fleet_apps_management/models/update_property_details.py +6 -6
- oci/fleet_apps_management/models/update_runbook_details.py +410 -0
- oci/fleet_apps_management/models/update_scheduler_job_details.py +3 -3
- oci/{database_migration/models/update_agent_details.py → fleet_apps_management/models/update_task_record_details.py} +63 -90
- oci/{log_analytics/models/string_list_details.py → fleet_apps_management/models/user_action_based_pause_details.py} +14 -33
- oci/fleet_apps_management/models/user_action_details.py +157 -0
- oci/{os_management/models/errata_id.py → fleet_apps_management/models/variable.py} +29 -27
- oci/fleet_apps_management/models/work_request.py +67 -3
- oci/fleet_apps_management/models/work_request_summary.py +67 -3
- oci/fleet_apps_management/models/workflow_group.py +2 -2
- oci/fleet_apps_management/models/workflow_group_component.py +4 -4
- oci/fleet_software_update/fleet_software_update_client.py +46 -46
- oci/functions/functions_invoke_client.py +1 -1
- oci/functions/functions_management_client.py +16 -16
- oci/fusion_apps/fusion_applications_client.py +41 -41
- oci/generative_ai/generative_ai_client.py +22 -22
- oci/generative_ai_agent/generative_ai_agent_client.py +33 -33
- oci/generative_ai_agent_runtime/generative_ai_agent_runtime_client.py +5 -5
- oci/generative_ai_inference/generative_ai_inference_client.py +4 -4
- oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
- oci/globally_distributed_database/sharded_database_service_client.py +30 -30
- oci/golden_gate/golden_gate_client.py +211 -70
- oci/golden_gate/models/__init__.py +8 -0
- oci/golden_gate/models/create_database_registration_details.py +4 -4
- oci/golden_gate/models/create_deployment_details.py +47 -0
- oci/golden_gate/models/create_ogg_deployment_details.py +29 -2
- oci/golden_gate/models/create_oracle_connection_details.py +4 -4
- oci/golden_gate/models/deployment.py +102 -0
- oci/golden_gate/models/deployment_environment_collection.py +72 -0
- oci/golden_gate/models/deployment_environment_summary.py +389 -0
- oci/golden_gate/models/deployment_summary.py +103 -1
- oci/golden_gate/models/deployment_type_summary.py +3 -0
- oci/golden_gate/models/group_to_roles_mapping_details.py +197 -0
- oci/golden_gate/models/ogg_deployment.py +29 -2
- oci/golden_gate/models/test_connection_assignment_result.py +34 -2
- oci/golden_gate/models/update_database_registration_details.py +4 -4
- oci/golden_gate/models/update_deployment_details.py +47 -0
- oci/golden_gate/models/update_group_to_roles_mapping_details.py +197 -0
- oci/golden_gate/models/update_ogg_deployment_details.py +29 -2
- oci/golden_gate/models/update_oracle_connection_details.py +4 -4
- oci/governance_rules_control_plane/governance_rule_client.py +15 -15
- oci/governance_rules_control_plane/work_request_client.py +5 -5
- oci/healthchecks/health_checks_client.py +17 -17
- oci/identity/identity_client.py +145 -145
- oci/identity_data_plane/dataplane_client.py +2 -2
- oci/identity_domains/identity_domains_client.py +307 -307
- oci/identity_domains/models/auth_token.py +51 -0
- oci/identity_domains/models/customer_secret_key.py +45 -0
- oci/identity_domains/models/o_auth2_client_credential.py +49 -0
- oci/identity_domains/models/smtp_credential.py +47 -0
- oci/integration/integration_instance_client.py +19 -19
- oci/jms/java_management_service_client.py +75 -75
- oci/jms_java_downloads/java_download_client.py +25 -25
- oci/key_management/ekm_client.py +5 -5
- oci/key_management/kms_crypto_client.py +6 -6
- oci/key_management/kms_hsm_cluster_client.py +12 -12
- oci/key_management/kms_management_client.py +21 -21
- oci/key_management/kms_vault_client.py +14 -14
- oci/license_manager/license_manager_client.py +18 -18
- oci/limits/limits_client.py +4 -4
- oci/limits/quotas_client.py +7 -7
- oci/load_balancer/load_balancer_client.py +61 -61
- oci/lockbox/lockbox_client.py +24 -24
- oci/log_analytics/log_analytics_client.py +193 -193
- oci/logging/logging_management_client.py +30 -30
- oci/loggingingestion/logging_client.py +1 -1
- oci/loggingsearch/log_search_client.py +1 -1
- oci/management_agent/management_agent_client.py +28 -28
- oci/management_dashboard/dashx_apis_client.py +14 -14
- oci/marketplace/account_client.py +2 -2
- oci/marketplace/marketplace_client.py +30 -30
- oci/marketplace_private_offer/attachment_client.py +5 -5
- oci/marketplace_private_offer/offer_client.py +6 -6
- oci/marketplace_publisher/attachment_client.py +5 -5
- oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
- oci/marketplace_publisher/offer_client.py +6 -6
- oci/media_services/media_services_client.py +60 -60
- oci/media_services/media_stream_client.py +2 -2
- oci/monitoring/monitoring_client.py +18 -18
- oci/mysql/channels_client.py +7 -7
- oci/mysql/db_backups_client.py +7 -7
- oci/mysql/db_system_client.py +17 -17
- oci/mysql/mysqlaas_client.py +7 -7
- oci/mysql/replicas_client.py +5 -5
- oci/mysql/work_requests_client.py +4 -4
- oci/network_firewall/network_firewall_client.py +86 -86
- oci/network_load_balancer/network_load_balancer_client.py +34 -34
- oci/nosql/nosql_client.py +24 -24
- oci/object_storage/object_storage_client.py +55 -55
- oci/oce/oce_instance_client.py +10 -10
- oci/oci_control_center/occ_metrics_client.py +3 -3
- oci/ocvp/cluster_client.py +5 -5
- oci/ocvp/esxi_host_client.py +8 -8
- oci/ocvp/sddc_client.py +14 -14
- oci/ocvp/work_request_client.py +4 -4
- oci/oda/management_client.py +59 -59
- oci/oda/oda_client.py +17 -17
- oci/oda/odapackage_client.py +7 -7
- oci/onesubscription/billing_schedule_client.py +1 -1
- oci/onesubscription/commitment_client.py +2 -2
- oci/onesubscription/computed_usage_client.py +3 -3
- oci/onesubscription/invoice_summary_client.py +2 -2
- oci/onesubscription/organization_subscription_client.py +1 -1
- oci/onesubscription/ratecard_client.py +1 -1
- oci/onesubscription/subscribed_service_client.py +2 -2
- oci/onesubscription/subscription_client.py +1 -1
- oci/ons/notification_control_plane_client.py +6 -6
- oci/ons/notification_data_plane_client.py +10 -10
- oci/opa/opa_instance_client.py +13 -13
- oci/opensearch/opensearch_cluster_backup_client.py +4 -4
- oci/opensearch/opensearch_cluster_client.py +14 -14
- oci/operator_access_control/access_requests_client.py +10 -10
- oci/operator_access_control/operator_actions_client.py +2 -2
- oci/operator_access_control/operator_control_assignment_client.py +8 -8
- oci/operator_access_control/operator_control_client.py +6 -6
- oci/opsi/models/__init__.py +8 -0
- oci/opsi/models/host_configuration_metric_group.py +11 -3
- oci/opsi/models/host_containers.py +65 -3
- oci/opsi/models/host_cpu_hardware_configuration.py +1 -1
- oci/opsi/models/host_cpu_statistics.py +1 -1
- oci/opsi/models/host_cpu_usage.py +1 -1
- oci/opsi/models/host_entities.py +1 -1
- oci/opsi/models/host_filesystem_configuration.py +1 -1
- oci/opsi/models/host_filesystem_usage.py +1 -1
- oci/opsi/models/host_gpu_configuration.py +1 -1
- oci/opsi/models/host_gpu_processes.py +1 -1
- oci/opsi/models/host_gpu_usage.py +1 -1
- oci/opsi/models/host_hardware_configuration.py +1 -1
- oci/opsi/models/host_io_statistics.py +160 -0
- oci/opsi/models/host_io_usage.py +1 -1
- oci/opsi/models/host_memory_configuration.py +1 -1
- oci/opsi/models/host_memory_statistics.py +1 -1
- oci/opsi/models/host_memory_usage.py +1 -1
- oci/opsi/models/host_network_activity_summary.py +1 -1
- oci/opsi/models/host_network_configuration.py +1 -1
- oci/opsi/models/host_network_statistics.py +1 -1
- oci/opsi/models/host_performance_metric_group.py +3 -11
- oci/opsi/models/host_product.py +1 -1
- oci/opsi/models/host_resource_allocation.py +1 -1
- oci/opsi/models/host_resource_statistics.py +11 -3
- oci/opsi/models/host_storage_statistics.py +1 -1
- oci/opsi/models/host_top_processes.py +1 -1
- oci/opsi/models/io_usage_trend.py +227 -0
- oci/opsi/models/io_usage_trend_aggregation.py +103 -0
- oci/opsi/models/summarize_host_insight_host_recommendation_aggregation.py +7 -3
- oci/opsi/models/summarize_host_insight_io_usage_trend_aggregation_collection.py +165 -0
- oci/opsi/models/summarize_host_insight_resource_capacity_trend_aggregation_collection.py +7 -3
- oci/opsi/models/summarize_host_insight_resource_forecast_trend_aggregation.py +7 -3
- oci/opsi/models/summarize_host_insight_resource_statistics_aggregation_collection.py +7 -3
- oci/opsi/models/summarize_host_insight_resource_usage_aggregation.py +7 -3
- oci/opsi/models/summarize_host_insight_resource_usage_trend_aggregation_collection.py +7 -3
- oci/opsi/models/summarize_host_insight_resource_utilization_insight_aggregation.py +7 -3
- oci/opsi/operations_insights_client.py +362 -179
- oci/optimizer/optimizer_client.py +26 -26
- oci/os_management/event_client.py +8 -8
- oci/os_management/os_management_client.py +69 -69
- oci/os_management_hub/event_client.py +8 -8
- oci/os_management_hub/lifecycle_environment_client.py +12 -12
- oci/os_management_hub/managed_instance_client.py +31 -31
- oci/os_management_hub/managed_instance_group_client.py +25 -25
- oci/os_management_hub/management_station_client.py +10 -10
- oci/os_management_hub/onboarding_client.py +6 -6
- oci/os_management_hub/reporting_managed_instance_client.py +3 -3
- oci/os_management_hub/scheduled_job_client.py +7 -7
- oci/os_management_hub/software_source_client.py +27 -27
- oci/os_management_hub/work_request_client.py +4 -4
- oci/osp_gateway/address_rule_service_client.py +1 -1
- oci/osp_gateway/address_service_client.py +2 -2
- oci/osp_gateway/invoice_service_client.py +5 -5
- oci/osp_gateway/subscription_service_client.py +5 -5
- oci/osub_billing_schedule/billing_schedule_client.py +1 -1
- oci/osub_organization_subscription/organization_subscription_client.py +1 -1
- oci/osub_subscription/commitment_client.py +2 -2
- oci/osub_subscription/ratecard_client.py +1 -1
- oci/osub_subscription/subscription_client.py +1 -1
- oci/osub_usage/computed_usage_client.py +3 -3
- oci/psql/postgresql_client.py +33 -33
- oci/queue/queue_admin_client.py +11 -11
- oci/queue/queue_client.py +8 -8
- oci/recovery/database_recovery_client.py +26 -26
- oci/redis/redis_cluster_client.py +12 -12
- oci/resource_manager/resource_manager_client.py +52 -52
- oci/resource_scheduler/schedule_client.py +13 -13
- oci/resource_search/resource_search_client.py +3 -3
- oci/rover/rover_bundle_client.py +8 -8
- oci/rover/rover_cluster_client.py +8 -8
- oci/rover/rover_entitlement_client.py +6 -6
- oci/rover/rover_node_client.py +15 -15
- oci/rover/shape_client.py +1 -1
- oci/rover/work_requests_client.py +5 -5
- oci/sch/connector_plugins_client.py +2 -2
- oci/sch/service_connector_client.py +12 -12
- oci/secrets/secrets_client.py +3 -3
- oci/security_attribute/security_attribute_client.py +36 -36
- oci/service_catalog/service_catalog_client.py +26 -26
- oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
- oci/service_mesh/service_mesh_client.py +48 -48
- oci/stack_monitoring/stack_monitoring_client.py +71 -71
- oci/streaming/stream_admin_client.py +18 -18
- oci/streaming/stream_client.py +8 -8
- oci/tenant_manager_control_plane/domain_client.py +5 -5
- oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
- oci/tenant_manager_control_plane/governance_client.py +2 -2
- oci/tenant_manager_control_plane/link_client.py +3 -3
- oci/tenant_manager_control_plane/orders_client.py +2 -2
- oci/tenant_manager_control_plane/organization_client.py +10 -10
- oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
- oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
- oci/tenant_manager_control_plane/subscription_client.py +11 -11
- oci/tenant_manager_control_plane/work_request_client.py +4 -4
- oci/threat_intelligence/threatintel_client.py +5 -5
- oci/usage/resources_client.py +2 -2
- oci/usage/rewards_client.py +6 -6
- oci/usage/usagelimits_client.py +1 -1
- oci/usage_api/usageapi_client.py +33 -33
- oci/util.py +2 -1
- oci/vault/vaults_client.py +13 -13
- oci/vbs_inst/vbs_instance_client.py +10 -10
- oci/version.py +1 -1
- oci/visual_builder/vb_instance_client.py +13 -13
- oci/vn_monitoring/vn_monitoring_client.py +12 -12
- oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
- oci/waa/waa_client.py +13 -13
- oci/waa/work_request_client.py +4 -4
- oci/waas/redirect_client.py +6 -6
- oci/waas/waas_client.py +66 -66
- oci/waf/waf_client.py +24 -24
- oci/work_requests/work_request_client.py +4 -4
- oci/zpr/zpr_client.py +30 -30
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/METADATA +1 -1
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/RECORD +668 -686
- oci/_vendor/jwt/__main__.py +0 -173
- oci/_vendor/jwt/compat.py +0 -73
- oci/_vendor/jwt/contrib/__init__.py +0 -0
- oci/_vendor/jwt/contrib/algorithms/__init__.py +0 -0
- oci/_vendor/jwt/contrib/algorithms/py_ecdsa.py +0 -60
- oci/_vendor/jwt/contrib/algorithms/pycrypto.py +0 -46
- oci/ai_language/models/entity_document.py +0 -136
- oci/ai_language/models/key_phrase_document.py +0 -136
- oci/ai_language/models/pre_trained_phi_model_details.py +0 -91
- oci/ai_language/models/sentiments_document.py +0 -136
- oci/ai_language/models/text_classification_document.py +0 -136
- oci/capacity_management/models/occ_capacity_request_compute_details.py +0 -148
- oci/cims/user_client.py +0 -207
- oci/cims/user_client_composite_operations.py +0 -26
- oci/compute_instance_agent/models/instance_agent_command_content_info.py +0 -252
- oci/data_integration/models/connection_from_lakehouse.py +0 -140
- oci/data_integration/models/connection_from_lakehouse_details.py +0 -133
- oci/data_integration/models/connection_summary_from_lakehouse.py +0 -140
- oci/data_integration/models/create_connection_from_lakehouse.py +0 -112
- oci/data_integration/models/create_data_asset_from_lakehouse.py +0 -232
- oci/data_integration/models/data_asset_from_lakehouse_details.py +0 -260
- oci/data_integration/models/data_asset_summary_from_lakehouse.py +0 -253
- oci/data_integration/models/update_connection_from_lakehouse.py +0 -119
- oci/data_integration/models/update_data_asset_from_lakehouse.py +0 -239
- oci/database_migration/models/advisor_settings.py +0 -103
- oci/database_migration/models/aws_s3_data_transfer_medium_details.py +0 -211
- oci/database_migration/models/aws_s3_details.py +0 -108
- oci/database_migration/models/connect_descriptor.py +0 -165
- oci/database_migration/models/create_advisor_settings.py +0 -103
- oci/database_migration/models/create_aws_s3_details.py +0 -174
- oci/database_migration/models/create_connect_descriptor.py +0 -174
- oci/database_migration/models/create_data_pump_settings.py +0 -251
- oci/database_migration/models/create_data_transfer_medium_details.py +0 -124
- oci/database_migration/models/create_database_link_details.py +0 -99
- oci/database_migration/models/create_dump_transfer_details.py +0 -126
- oci/database_migration/models/create_golden_gate_details.py +0 -95
- oci/database_migration/models/create_golden_gate_hub.py +0 -275
- oci/database_migration/models/create_golden_gate_service_details.py +0 -149
- oci/database_migration/models/create_golden_gate_settings.py +0 -126
- oci/database_migration/models/create_private_endpoint.py +0 -151
- oci/database_migration/models/create_ssh_details.py +0 -166
- oci/database_migration/models/create_vault_details.py +0 -134
- oci/database_migration/models/data_pump_settings.py +0 -251
- oci/database_migration/models/data_transfer_medium_details.py +0 -122
- oci/database_migration/models/data_transfer_medium_details_v2.py +0 -125
- oci/database_migration/models/database_credentials.py +0 -103
- oci/database_migration/models/database_link_details.py +0 -99
- oci/database_migration/models/database_object.py +0 -167
- oci/database_migration/models/db_link_data_transfer_medium_details.py +0 -109
- oci/database_migration/models/dump_transfer_details.py +0 -126
- oci/database_migration/models/generate_token.py +0 -70
- oci/database_migration/models/golden_gate_details.py +0 -95
- oci/database_migration/models/golden_gate_hub.py +0 -275
- oci/database_migration/models/golden_gate_service_details.py +0 -95
- oci/database_migration/models/golden_gate_settings.py +0 -126
- oci/database_migration/models/migration_object_summary.py +0 -214
- oci/database_migration/models/nfs_data_transfer_medium_details.py +0 -78
- oci/database_migration/models/object_storage_data_transfer_medium_details.py +0 -78
- oci/database_migration/models/private_endpoint_details.py +0 -185
- oci/database_migration/models/ssh_details.py +0 -134
- oci/database_migration/models/update_advisor_settings.py +0 -103
- oci/database_migration/models/update_aws_s3_details.py +0 -174
- oci/database_migration/models/update_connect_descriptor.py +0 -173
- oci/database_migration/models/update_data_pump_settings.py +0 -253
- oci/database_migration/models/update_data_transfer_medium_details.py +0 -125
- oci/database_migration/models/update_database_link_details.py +0 -99
- oci/database_migration/models/update_dump_transfer_details.py +0 -126
- oci/database_migration/models/update_golden_gate_details.py +0 -95
- oci/database_migration/models/update_golden_gate_hub.py +0 -275
- oci/database_migration/models/update_golden_gate_service_details.py +0 -149
- oci/database_migration/models/update_golden_gate_settings.py +0 -127
- oci/database_migration/models/update_private_endpoint.py +0 -151
- oci/database_migration/models/update_ssh_details.py +0 -165
- oci/database_migration/models/update_vault_details.py +0 -134
- oci/database_migration/models/vault_details.py +0 -134
- oci/database_tools/models/database_tools_allowed_network_sources.py +0 -107
- oci/database_tools/models/database_tools_virtual_source.py +0 -107
- oci/devops/models/run_pipeline_deploy_stage_execution_progress.py +0 -98
- oci/devops/models/run_validation_test_on_compute_instance_deploy_stage_execution_progress.py +0 -98
- oci/em_warehouse/em_data_lake_client.py +0 -1610
- oci/em_warehouse/em_data_lake_client_composite_operations.py +0 -190
- oci/fusion_apps/data_masking_activity_client.py +0 -456
- oci/fusion_apps/data_masking_activity_client_composite_operations.py +0 -65
- oci/fusion_apps/fusion_environment_client.py +0 -1772
- oci/fusion_apps/fusion_environment_client_composite_operations.py +0 -324
- oci/fusion_apps/fusion_environment_family_client.py +0 -943
- oci/fusion_apps/fusion_environment_family_client_composite_operations.py +0 -190
- oci/fusion_apps/models/attach_existing_instance_details.py +0 -194
- oci/fusion_apps/models/create_new_instance_details.py +0 -142
- oci/fusion_apps/models/create_oax_service_instance_details.py +0 -152
- oci/fusion_apps/models/create_oic_service_instance_details.py +0 -142
- oci/fusion_apps/models/create_service_instance_details.py +0 -170
- oci/fusion_apps/models/faw_admin_info_details.py +0 -132
- oci/fusion_apps/refresh_activity_client.py +0 -607
- oci/fusion_apps/refresh_activity_client_composite_operations.py +0 -65
- oci/fusion_apps/scheduled_activity_client.py +0 -380
- oci/fusion_apps/scheduled_activity_client_composite_operations.py +0 -24
- oci/fusion_apps/service_attachment_client.py +0 -370
- oci/fusion_apps/service_attachment_client_composite_operations.py +0 -24
- oci/jms/models/request_summarized_application_usage_details.py +0 -504
- oci/jms/models/request_summarized_installation_usage_details.py +0 -448
- oci/jms/models/request_summarized_jre_usage_details.py +0 -421
- oci/jms/models/request_summarized_managed_instance_usage_details.py +0 -480
- oci/log_analytics/models/attribute.py +0 -602
- oci/log_analytics/models/create_namespace_details.py +0 -70
- oci/log_analytics/models/field_map.py +0 -101
- oci/log_analytics/models/generate_agent_object_name_details.py +0 -163
- oci/log_analytics/models/log_analytics.py +0 -370
- oci/log_analytics/models/log_analytics_summary.py +0 -304
- oci/log_analytics/models/out_of_box_entity_type_details.py +0 -211
- oci/log_analytics/models/query.py +0 -70
- oci/log_analytics/models/register_entity_types_details.py +0 -70
- oci/log_analytics/models/service_tenancy.py +0 -70
- oci/logging/models/log_included_search.py +0 -307
- oci/logging/models/log_included_search_summary.py +0 -165
- oci/media_services/models/media_workflow_job_fact.py +0 -198
- oci/media_services/models/media_workflow_job_fact_summary.py +0 -165
- oci/mysql/models/add_analytics_cluster_details.py +0 -108
- oci/mysql/models/analytics_cluster.py +0 -338
- oci/mysql/models/analytics_cluster_memory_estimate.py +0 -241
- oci/mysql/models/analytics_cluster_node.py +0 -210
- oci/mysql/models/analytics_cluster_schema_memory_estimate.py +0 -107
- oci/mysql/models/analytics_cluster_summary.py +0 -209
- oci/mysql/models/analytics_cluster_table_memory_estimate.py +0 -239
- oci/mysql/models/update_analytics_cluster_details.py +0 -120
- oci/network_firewall/models/tcp_application.py +0 -112
- oci/network_firewall/models/udp_application.py +0 -112
- oci/oce/models/delete_oce_instance_details.py +0 -70
- oci/ocvp/models/datastore_summary.py +0 -154
- oci/ocvp/models/supported_sku_summary.py +0 -96
- oci/os_management/models/updatable_package_summary.py +0 -287
- oci/osp_gateway/models/billing_address.py +0 -382
- oci/service_mesh/models/create_ingress_gateway_mutual_transport_layer_security_details.py +0 -76
- oci/service_mesh/models/create_mutual_transport_layer_security_details.py +0 -111
- oci/usage_api/models/create_schedule_report_details.py +0 -128
- oci/usage_api/models/saved_schedule_report.py +0 -145
- oci/usage_api/models/schedule_report.py +0 -159
- oci/usage_api/models/schedule_report_summary.py +0 -97
- oci/usage_api/models/update_schedule_report_details.py +0 -66
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/LICENSE.txt +0 -0
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/WHEEL +0 -0
- {oci-2.135.2.dist-info → oci-2.137.0.dist-info}/top_level.txt +0 -0
oci/_vendor/jwt/api_jwt.py
CHANGED
@@ -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
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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,
|
21
|
-
|
22
|
-
|
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
|
28
|
-
|
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
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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(
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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(
|
55
|
-
|
53
|
+
raise TypeError(
|
54
|
+
"Expecting a mapping object, as JWT only supports "
|
55
|
+
"JSON objects as payloads."
|
56
|
+
)
|
56
57
|
|
57
58
|
# Payload
|
58
|
-
|
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())
|
63
|
+
payload[time_claim] = timegm(payload[time_claim].utctimetuple())
|
62
64
|
|
63
65
|
json_payload = json.dumps(
|
64
|
-
payload,
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
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
|
-
|
84
|
-
|
85
|
-
|
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
|
-
|
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
|
92
|
-
|
93
|
-
|
94
|
-
|
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 =
|
97
|
-
jwt,
|
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
|
114
|
+
payload = json.loads(decoded["payload"])
|
102
115
|
except ValueError as e:
|
103
|
-
raise DecodeError(
|
104
|
-
if not isinstance(payload,
|
105
|
-
raise DecodeError(
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
return
|
112
|
-
|
113
|
-
def
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
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, (
|
126
|
-
raise TypeError(
|
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.
|
148
|
+
now = timegm(datetime.now(tz=timezone.utc).utctimetuple())
|
131
149
|
|
132
|
-
if
|
150
|
+
if "iat" in payload and options["verify_iat"]:
|
133
151
|
self._validate_iat(payload, now, leeway)
|
134
152
|
|
135
|
-
if
|
153
|
+
if "nbf" in payload and options["verify_nbf"]:
|
136
154
|
self._validate_nbf(payload, now, leeway)
|
137
155
|
|
138
|
-
if
|
156
|
+
if "exp" in payload and options["verify_exp"]:
|
139
157
|
self._validate_exp(payload, now, leeway)
|
140
158
|
|
141
|
-
if options
|
159
|
+
if options["verify_iss"]:
|
142
160
|
self._validate_iss(payload, issuer)
|
143
161
|
|
144
|
-
if options
|
162
|
+
if options["verify_aud"]:
|
145
163
|
self._validate_aud(payload, audience)
|
146
164
|
|
147
165
|
def _validate_required_claims(self, payload, options):
|
148
|
-
|
149
|
-
|
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[
|
172
|
+
int(payload["iat"])
|
160
173
|
except ValueError:
|
161
|
-
raise InvalidIssuedAtError(
|
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[
|
178
|
+
nbf = int(payload["nbf"])
|
166
179
|
except ValueError:
|
167
|
-
raise DecodeError(
|
180
|
+
raise DecodeError("Not Before claim (nbf) must be an integer.")
|
168
181
|
|
169
182
|
if nbf > (now + leeway):
|
170
|
-
raise ImmatureSignatureError(
|
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[
|
187
|
+
exp = int(payload["exp"])
|
175
188
|
except ValueError:
|
176
|
-
raise DecodeError(
|
177
|
-
' integer.')
|
189
|
+
raise DecodeError("Expiration Time claim (exp) must be an" " integer.")
|
178
190
|
|
179
191
|
if exp < (now - leeway):
|
180
|
-
raise ExpiredSignatureError(
|
192
|
+
raise ExpiredSignatureError("Signature has expired")
|
181
193
|
|
182
194
|
def _validate_aud(self, payload, audience):
|
183
|
-
if audience is None
|
184
|
-
|
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
|
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(
|
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[
|
207
|
+
audience_claims = payload["aud"]
|
197
208
|
|
198
|
-
if isinstance(audience_claims,
|
209
|
+
if isinstance(audience_claims, str):
|
199
210
|
audience_claims = [audience_claims]
|
200
211
|
if not isinstance(audience_claims, list):
|
201
|
-
raise InvalidAudienceError(
|
202
|
-
if any(not isinstance(c,
|
203
|
-
raise InvalidAudienceError(
|
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,
|
216
|
+
if isinstance(audience, str):
|
206
217
|
audience = [audience]
|
207
218
|
|
208
|
-
if
|
209
|
-
raise InvalidAudienceError(
|
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
|
216
|
-
raise MissingRequiredClaimError(
|
226
|
+
if "iss" not in payload:
|
227
|
+
raise MissingRequiredClaimError("iss")
|
217
228
|
|
218
|
-
if payload[
|
219
|
-
raise InvalidIssuerError(
|
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
|
oci/_vendor/jwt/exceptions.py
CHANGED
@@ -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 "
|
59
|
+
return f'Token is missing the "{self.claim}" claim'
|
60
|
+
|
61
|
+
|
62
|
+
class PyJWKError(PyJWTError):
|
63
|
+
pass
|
59
64
|
|
60
65
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
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
|
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 = {
|
32
|
-
|
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 =
|
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": {
|
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"))
|