2 releases
new 0.1.1 | Feb 16, 2025 |
---|---|
0.1.0 | Feb 16, 2025 |
#460 in Cryptography
175 downloads per month
45KB
463 lines
Table of Contents↗️
aliyun-sdk-rust
📦 Aliyun API SDK written in Rust
This project is an Aliyun API SDK written in Rust, designed to help developers integrate Aliyun Cloud services easily. The SDK leverages asynchronous programming (via Tokio) and encapsulates functionalities such as request signing (HMAC-SHA1), unified request handling, and modular service interfaces (e.g., ECS, Billing).
Features
- Asynchronous Support: Built on Tokio for high concurrency.
- Request Signing: Implements Aliyun's API signature mechanism using HMAC-SHA1.
- Modular Design: The project is organized into multiple modules (e.g., ECS, Billing) with clear separation of concerns.
- Detailed Documentation: Each interface is documented with detailed input/output parameter tables.
- Comprehensive Testing: Each service interface includes test cases to ensure correct functionality.
Implemented Interfaces
-
ECS Module
- DescribeRegions
- DescribeZones
- DescribeAvailableResource
- DescribeAccountAttributes
- DescribeResourcesModification
- DescribeRecommendInstanceType
- RunInstances
- StartInstances
- StopInstances
- RebootInstance
- DeleteInstance
- DescribeInstanceStatus
- DescribeInstances
-
Billing Module
- QueryAccountBalance
Usage
Add this crate to your Cargo.toml
:
[dependencies]
alibabacloud = "0.1.0"
Then import and use the interfaces:
use alibabacloud::client::AliyunClient;
use alibabacloud::services::ecs::*;
#[tokio::main]
async fn main() {
let client = AliyunClient::new("YourAccessKeyId".into(), "YourAccessKeySecret".into());
// Query available regions
let regions = describe_regions(&client, None).await.unwrap();
println!("Available regions: {:?}", regions);
}
Dependencies
~8–20MB
~265K SLoC