#ibm #cloud #abstraction #de #docs #token #referenced

ibmcloud-core

This crate for IBM Cloud is an abstraction from de api referenced in docs

1 unstable release

0.1.3 Apr 27, 2021
0.1.2 Apr 27, 2021
0.1.1 Apr 27, 2021
0.1.0 Apr 27, 2021
0.0.1 May 8, 2021

#15 in #ibm

MIT/Apache

15KB
262 lines

IBM Cloud Core SDK

Rust

This crate is an abstraction from de api referenced in docs.

The first abstraction is about the Identity Manager: https://cloud.ibm.com/apidocs/iam-identity-token-api.json

Single implementation of Authenticate with Token and API key:

Dependencies

#Cargo.toml
[dependencies]
tokio = { version = "1", features = ["full"] }
ibmcloud-core = "0.1.2"

Main.rs

//src/main.rs
use ibmcloud_core::authenticators::token_api::{
    AuthenticatorApiClient, ResponseType, TokenResponse,
};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // You Atuhenticator Client
    // Need change your api-key
    let mut auth = AuthenticatorApiClient::new("<YOUR-API-key>".to_string());

    // This turn your client authenticated
    auth.authenticate().await?;
    println!("{:?}", auth.clone());
    
    // If you need to get token, this is the best choice. 
    // This feature manages the life cycle of your token.
    let token = auth.get_token();
    Ok(())
}

Dependencies

~8–25MB
~307K SLoC