usestd::sync::Arc;/// Authentication provider trait for OCI SDK
////// Implementations of this trait provide the necessary credentials
/// to sign HTTP requests to OCI services.
pubtraitAuthProvider: Send + Sync {/// Get the key ID (e.g., "ocid1.tenancy.oc1..xxxxx/ocid1.user.oc1..xxxxx/fingerprint")
fnget_key_id(&self)-> String;/// Get the private key in PEM format
fnget_private_key(&self)->&str;/// Get the passphrase for the private key (if any)
fnget_passphrase(&self)->Option<&str>;}/// Type alias for Arc-wrapped AuthProvider
pubtypeAuthProviderRef=Arc<dyn AuthProvider>;