A rust client and structures to interact with the Clever-Cloud API.

Overview

Clever-Cloud Software Development Kit - Rust edition

This crate provides structures and client to interact with the Clever-Cloud API.

Status

This crate is under development, you can use it, but it may have bugs or unimplemented features.

Installation

To install this dependency, just add the following line to your Cargo.toml manifest.

clevercloud-sdk = { version = "^0.5.0", features = ["metrics", "jsonschemas"] }

Usage

Below, you will find an example of executing a request to get information about myself.

use std::error::Error;

use clevercloud_sdk::{Client, v2::myself::{self, Myself}};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
    let client = Client::from(Credentials {
        token: "".to_string(),
        secret: "".to_string(),
        consumer_key: "".to_string(),
        consumer_secret: "".to_string(),
    });

    let _myself: Myself = myself::get(&client).await?;

    Ok(())
}

Features

name description
trace Use tracing crate to expose traces
tokio Use tokio crate as back-end for tracing crate
jsonschemas Use schemars to add a derive instruction to generate json schemas representation of structures
logging Use the log facility crate to print logs. Implies oauth10a/logging feature
metrics Use lazy_static and prometheus crates to register metrics. Implies oauth10a/metrics feature

Metrics

Below, the exposed metrics gathered by prometheus:

name labels kind description
oauth10a_client_request endpoint: String, method: String, status: Integer Counter number of request on api
oauth10a_client_request_duration endpoint: String, method: String, status: Integer, unit: String Counter duration of request on api

License

See the license.

Getting in touch

Comments
  • Update dependencies

    Update dependencies

    • Bump oauth10a to 1.3.6
    • Bump log to 0.4.17
    • Bump schemars to 0.8.10
    • Bump serde to 1.0.137
    • Bump serde_repr to 0.1.8
    • Bump thiserror to 1.0.31
    • Bump tracing to 0.1.34
    • Bump uuid to 1.0.0

    Signed-off-by: Florentin Dubois [email protected]

    opened by FlorentinDUBOIS 2
  • Update cleverctl example's dependencies

    Update cleverctl example's dependencies

    • Bump clap to 3.2.12
    • Bump serde to 1.0.139
    • Bump serde_yaml to 0.8.26
    • Bump tokio to 1.20.0

    Signed-off-by: Florentin Dubois [email protected]

    opened by FlorentinDUBOIS 0
  • Update cleverctl example dependencies

    Update cleverctl example dependencies

    • Add clap to 3.1.18
    • Bump config to 0.13.1
    • Bump serde to 1.0.137
    • Bump serde_json to 1.0.81
    • Bump serde_yaml to 0.8.24
    • Remove structopt in favor of clap
    • Bump thiserror to 1.0.31
    • Bump tokio to 1.18.2

    Signed-off-by: Florentin Dubois [email protected]

    opened by FlorentinDUBOIS 0
  • Update command line example dependencies

    Update command line example dependencies

    • Bump config to 0.12.0
    • Bump serde to 1.0.136
    • Bump serde_json to 1.0.79
    • Bump slog-term to 2.9.0
    • Bump tokio to 1.17.0

    Signed-off-by: Florentin Dubois [email protected]

    opened by FlorentinDUBOIS 0
  • Query deployment status

    Query deployment status

    After a new version is published, the old version is still running for some minutes. My application needs to know, if it is the old version, so it can stop making requests to other services.

    question 
    opened by EdorianDark 1
Releases(v0.10.8)
  • v0.10.8(Sep 9, 2022)

    What's Changed

    • Devel/fdubois/chore/update deps by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/45

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.7...v0.10.8

    Source code(tar.gz)
    Source code(zip)
  • v0.10.7(Aug 10, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/44

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.6...v0.10.7

    Source code(tar.gz)
    Source code(zip)
  • v0.10.6(Jul 18, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/42
    • Update cleverctl example's dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/43

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.5...v0.10.6

    Source code(tar.gz)
    Source code(zip)
  • v0.10.5(Jul 1, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/41

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.4...v0.10.5

    Source code(tar.gz)
    Source code(zip)
  • v0.10.4(Jun 20, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/40

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.3...v0.10.4

    Source code(tar.gz)
    Source code(zip)
  • v0.10.3(Jun 2, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/39

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.2...v0.10.3

    Source code(tar.gz)
    Source code(zip)
  • v0.10.2(May 27, 2022)

  • v0.10.1(May 18, 2022)

    What's Changed

    • Update minimum supported rust version by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/36
    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/37
    • Update cleverctl example dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/38

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.10.0...v0.10.1

    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Apr 8, 2022)

    What's Changed

    • Rename structure to avoid redundancy by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/33
    • Use environment variable from config-provider addon by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/34
    • Add support of elasticsearch addon-provider by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/35

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.9.0...v0.10.0

    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Apr 7, 2022)

    What's Changed

    • Add config-provider support and add environment helpers by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/32

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.8.0...v0.9.0

    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Mar 30, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/29
    • Remove support of postgresql 9.6 and redis 6.0.10 by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/30
    • Devel/fdubois/feat/config by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/31

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.7.2...v0.8.0

    Source code(tar.gz)
    Source code(zip)
  • v0.7.2(Feb 28, 2022)

    What's Changed

    • Update command line example dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/27
    • Update oauth10a dependency by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/28

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.7.1...v0.7.2

    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Feb 21, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/26

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.7.0...v0.7.1

    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Feb 11, 2022)

    What's Changed

    • Update README.md to add badges and link to cli example by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/22
    • Add PostgreSql version 14 and Redis version 6.2.6 to supported version by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/23
    • Update oauth 1.0a to 1.3.0 which add http proxy server capabilities by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/24
    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/25

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.6.0...v0.7.0

    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Feb 3, 2022)

    What's Changed

    • Update command line example dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/18
    • Add the ability to list available zones by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/19
    • Use thiserror crate to handle errors by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/20
    • Add helpers to query applications and hds zones by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/21

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.5.4...v0.6.0

    Source code(tar.gz)
    Source code(zip)
  • v0.5.4(Feb 1, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/17

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.5.3...v0.5.4

    Source code(tar.gz)
    Source code(zip)
  • v0.5.3(Jan 12, 2022)

    What's Changed

    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/16

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.5.2...v0.5.3

    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Dec 13, 2021)

    What's Changed

    • Create an example of command line interface using clevercloud-sdk by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/12
    • Add a readme to the command line interface example by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/13
    • chore: update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/14
    • examples(cli): update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/15

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.5.1...v0.5.2

    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Nov 22, 2021)

    What's Changed

    • Add link to repository and minimal Rust version to Cargo.toml by @EdorianDark in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/6
    • Update dependencies by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/9
    • Update license to MIT by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/10

    New Contributors

    • @EdorianDark made their first contribution in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/6

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.5.0...v0.5.1

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Oct 26, 2021)

    What's Changed

    • Add pulsar as supported addon and update AddonOpts struct accordingly by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/5

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.4.0...v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Oct 25, 2021)

    What's Changed

    • Feat/edition by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/4

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Oct 21, 2021)

    What's Changed

    • Add redis addon provider by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/2
    • Implements mysql, redis and mongodb addon provider by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/3

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Oct 14, 2021)

    What's Changed

    • Feat/tracing by @FlorentinDUBOIS in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/1

    New Contributors

    • @FlorentinDUBOIS made their first contribution in https://github.com/CleverCloud/clevercloud-sdk-rust/pull/1

    Full Changelog: https://github.com/CleverCloud/clevercloud-sdk-rust/compare/v0.1.1...v0.2.0

    Source code(tar.gz)
    Source code(zip)
Owner
Clever Cloud
Industrialization & automation of your software factory. Empowering developers since 2010.
Clever Cloud
Rust client for NATS, the cloud native messaging system.

A Rust client for the NATS messaging system. Status Motivation Rust may be the most interesting new language the NATS ecosystem has seen. We believe t

NATS - The Cloud Native Messaging System 651 Jan 3, 2023
A library-first, lightweight, high-performance, cloud-native supported API gateway🪐 by RUST

Preview version, will not guarantee the stability of the API! Do NOT use in production environment! A library-first, lightweight, high-performance, cl

Ideal World 4 May 7, 2023
Filen.io is a cloud storage provider with an open-source desktop client.

Library to call Filen.io API from Rust Filen.io is a cloud storage provider with an open-source desktop client. My goal is to write a library which ca

Konstantin Zakharov 5 Nov 15, 2022
A wrapper for the Google Cloud DNS API

cloud-dns is a crate providing a client to interact with Google Cloud DNS v1

Embark 5 May 24, 2022
📊 Collect cloud usage data, so that it can be combined with impact data of Boavizta API.

cloud-scanner Collect aws cloud usage data, so that it can be combined with impact data of Boavizta API. ⚠ Very early Work in progress ! At the moment

Boavizta 10 Dec 7, 2022
The Safe Network Core. API message definitions, routing and nodes, client core api.

safe_network The Safe Network Core. API message definitions, routing and nodes, client core api. License This Safe Network repository is licensed unde

MaidSafe 101 Dec 19, 2022
Cloud Native high performance security and privacy SQL proxy.

Fern proxy With the advent of Cloud Native applications, architecture patterns evolved and emerged to take advantage of cloud computing, and build mor

Fern 12 Nov 7, 2022
A CLI test program for HNU Cloud Computing Lab 2, built with Rust.

HTTP Server Tester This is a CLI test program for HNU Cloud Computing Lab 2. Install For most student, you don't neet to rebuild this project. We prov

null 5 Apr 21, 2022
Acts as an IRC server and a nostr client. Connect with your IRC client using your nostr private key as the password.

nostr-irc Acts as an IRC server and a nostr client. Connect with your IRC client using your nostr private key as the password. Experimental code, use

null 11 Dec 26, 2022
Modrinth API is a simple library for using Modrinth's API in Rust projects

Ferinth is a simple library for using the Modrinth API in Rust projects. It uses reqwest as its HTTP(S) client and deserialises responses to typed structs using serde.

null 20 Dec 8, 2022
Client library for the Challonge REST API

Client library for the Challonge REST API

Victor Polevoy 2 Jul 5, 2022
Proxy copilot api to openai's gpt-4 api

Proxying Copilot API to OpenAI's GPT-4 API Usage Start the Server export GHU_TOKEN=ghu_xxxx; ./copilot2chat Or sh start.sh start # start the server th

Smark 3 Dec 6, 2023
RDE1 (Rusty Data Exfiltrator) is client and server tool allowing auditor to extract files from DNS and HTTPS protocols written in Rust. 🦀

Information: RDE1 is an old personal project (end 2022) that I didn't continue development on. It's part of a list of projects that helped me to learn

Quentin Texier (g0h4n) 32 Oct 6, 2023
Simple project to test grpc between ruby (client) and rust (server)

grpc-example Simple project to test grpc between ruby (client) and rust (server). Usage To simplify a lot this project uses docker and docker compose

Bruno Arueira 2 Oct 14, 2021
A Rust based DNS client, server, and resolver

Trust-DNS A Rust based DNS client, server, and Resolver, built to be safe and secure from the ground up. This repo consists of multiple crates: Librar

Benjamin Fry 2.7k Dec 30, 2022
An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client.

Four in a Row - Server An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client. Downl

Filippo Orrù 8 Sep 16, 2022
A simple API gateway written in Rust, using the Hyper and Reqwest libraries.

API Gateway A simple API gateway written in Rust, using the Hyper and Reqwest libraries. This gateway can be used to forward requests to different bac

Adão Raul 3 Apr 24, 2023
Command-line DNS client using bitvec, nom and RFC 1035

Dingo Domain INformation Gatherer, Obviously. Installation Install cargo, see instructions on the Rust website Run ./install.sh (it just does cargo bu

Adam Chalmers 94 Oct 18, 2022
A multi-connection TCP reverse proxy server and client.

tprox A multi-connection TCP reverse proxy. The tprox server is able to proxy multiple incoming connections to the tprox client over a single TCP conn

Mohammed Ajmal Siddiqui 4 Sep 21, 2022