pub struct CloudAccountsHandler { /* private fields */ }Expand description
Handler for cloud provider account operations
Manages integration with AWS, GCP, and Azure accounts, including credential management and provider-specific configurations.
Implementations§
Source§impl CloudAccountsHandler
impl CloudAccountsHandler
Sourcepub fn new(client: CloudClient) -> Self
pub fn new(client: CloudClient) -> Self
Create a new handler
Sourcepub async fn get_cloud_accounts(&self) -> Result<CloudAccounts>
pub async fn get_cloud_accounts(&self) -> Result<CloudAccounts>
Get cloud accounts
Gets a list of all configured cloud accounts.
§API Endpoint
GET /cloud-accounts
See OpenAPI Spec - getCloudAccounts
Sourcepub async fn create_cloud_account(
&self,
request: &CloudAccountCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn create_cloud_account( &self, request: &CloudAccountCreateRequest, ) -> Result<TaskStateUpdate>
Create cloud account
Creates a cloud account.
§API Endpoint
POST /cloud-accounts
See OpenAPI Spec - createCloudAccount
Sourcepub async fn delete_cloud_account(
&self,
cloud_account_id: i32,
) -> Result<TaskStateUpdate>
pub async fn delete_cloud_account( &self, cloud_account_id: i32, ) -> Result<TaskStateUpdate>
Delete cloud account
Deletes a cloud account.
§API Endpoint
DELETE /cloud-accounts/{cloudAccountId}
See OpenAPI Spec - deleteCloudAccount
Sourcepub async fn get_cloud_account_by_id(
&self,
cloud_account_id: i32,
) -> Result<CloudAccount>
pub async fn get_cloud_account_by_id( &self, cloud_account_id: i32, ) -> Result<CloudAccount>
Get a single cloud account
Gets details on a single cloud account.
§API Endpoint
GET /cloud-accounts/{cloudAccountId}
See OpenAPI Spec - getCloudAccountById
Sourcepub async fn update_cloud_account(
&self,
cloud_account_id: i32,
request: &CloudAccountUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update_cloud_account( &self, cloud_account_id: i32, request: &CloudAccountUpdateRequest, ) -> Result<TaskStateUpdate>
Update cloud account
Updates cloud account details.
§API Endpoint
PUT /cloud-accounts/{cloudAccountId}
See OpenAPI Spec - updateCloudAccount
Sourcepub async fn list(&self) -> Result<CloudAccounts>
pub async fn list(&self) -> Result<CloudAccounts>
List cloud accounts (simplified)
Alias for get_cloud_accounts.
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let accounts = client.cloud_accounts().list().await?;Sourcepub async fn create(
&self,
request: &CloudAccountCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn create( &self, request: &CloudAccountCreateRequest, ) -> Result<TaskStateUpdate>
Create a cloud account (simplified)
Alias for create_cloud_account.
§Arguments
request- The cloud account creation request
§Example
use redis_cloud::CloudClient;
use redis_cloud::cloud_accounts::CloudAccountCreateRequest;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let request = CloudAccountCreateRequest {
name: "my-aws-account".to_string(),
provider: Some("AWS".to_string()),
access_key_id: "key".to_string(),
access_secret_key: "secret".to_string(),
console_username: "user".to_string(),
console_password: "pass".to_string(),
sign_in_login_url: "https://console.aws.amazon.com".to_string(),
command_type: None,
};
let task = client.cloud_accounts().create(&request).await?;Sourcepub async fn delete(&self, cloud_account_id: i32) -> Result<TaskStateUpdate>
pub async fn delete(&self, cloud_account_id: i32) -> Result<TaskStateUpdate>
Delete a cloud account (simplified)
Alias for delete_cloud_account.
§Arguments
cloud_account_id- The cloud account ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let task = client.cloud_accounts().delete(123).await?;Sourcepub async fn get(&self, cloud_account_id: i32) -> Result<CloudAccount>
pub async fn get(&self, cloud_account_id: i32) -> Result<CloudAccount>
Get a cloud account by ID (simplified)
Alias for get_cloud_account_by_id.
§Arguments
cloud_account_id- The cloud account ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let account = client.cloud_accounts().get(123).await?;Sourcepub async fn update(
&self,
cloud_account_id: i32,
request: &CloudAccountUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update( &self, cloud_account_id: i32, request: &CloudAccountUpdateRequest, ) -> Result<TaskStateUpdate>
Update a cloud account (simplified)
Alias for update_cloud_account.
§Arguments
cloud_account_id- The cloud account IDrequest- The cloud account update request
§Example
use redis_cloud::CloudClient;
use redis_cloud::cloud_accounts::CloudAccountUpdateRequest;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let request = CloudAccountUpdateRequest {
name: Some("renamed-account".to_string()),
cloud_account_id: None,
access_key_id: "key".to_string(),
access_secret_key: "secret".to_string(),
console_username: "user".to_string(),
console_password: "pass".to_string(),
sign_in_login_url: None,
command_type: None,
};
let task = client.cloud_accounts().update(123, &request).await?;