pub struct SubscriptionHandler { /* private fields */ }Expand description
Handler for Pro subscription operations
Manages flexible subscriptions with auto-scaling, multi-region support, Active-Active configurations, and advanced networking features.
Implementations§
Source§impl SubscriptionHandler
impl SubscriptionHandler
Sourcepub fn new(client: CloudClient) -> Self
pub fn new(client: CloudClient) -> Self
Create a new handler
Sourcepub async fn get_all_subscriptions(&self) -> Result<AccountSubscriptions>
pub async fn get_all_subscriptions(&self) -> Result<AccountSubscriptions>
Get Pro subscriptions
Gets a list of all Pro subscriptions in the current account.
GET /subscriptions
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let subscriptions = client.subscriptions().get_all_subscriptions().await?;
// Access subscription data
if let Some(subs) = &subscriptions.subscriptions {
println!("Found {} subscriptions", subs.len());
}Sourcepub async fn create_subscription(
&self,
request: &SubscriptionCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn create_subscription( &self, request: &SubscriptionCreateRequest, ) -> Result<TaskStateUpdate>
Create Pro subscription Creates a new Redis Cloud Pro subscription.
POST /subscriptions
Sourcepub async fn get_redis_versions(
&self,
subscription_id: Option<i32>,
) -> Result<RedisVersions>
pub async fn get_redis_versions( &self, subscription_id: Option<i32>, ) -> Result<RedisVersions>
Get available Redis database versions Gets a list of all available Redis database versions for Pro subscriptions.
GET /subscriptions/redis-versions
Sourcepub async fn delete_subscription_by_id(
&self,
subscription_id: i32,
) -> Result<TaskStateUpdate>
pub async fn delete_subscription_by_id( &self, subscription_id: i32, ) -> Result<TaskStateUpdate>
Delete Pro subscription Delete the specified Pro subscription. All databases in the subscription must be deleted before deleting it.
DELETE /subscriptions/{subscriptionId}
Sourcepub async fn get_subscription_by_id(
&self,
subscription_id: i32,
) -> Result<Subscription>
pub async fn get_subscription_by_id( &self, subscription_id: i32, ) -> Result<Subscription>
Get a single Pro subscription
Gets information on the specified Pro subscription.
GET /subscriptions/{subscriptionId}
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let subscription = client.subscriptions().get_subscription_by_id(123).await?;
println!("Subscription: {} (status: {:?})",
subscription.name.unwrap_or_default(),
subscription.status);Sourcepub async fn update_subscription(
&self,
subscription_id: i32,
request: &BaseSubscriptionUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update_subscription( &self, subscription_id: i32, request: &BaseSubscriptionUpdateRequest, ) -> Result<TaskStateUpdate>
Update Pro subscription Updates the specified Pro subscription.
PUT /subscriptions/{subscriptionId}
Sourcepub async fn get_cidr_allowlist(
&self,
subscription_id: i32,
) -> Result<TaskStateUpdate>
pub async fn get_cidr_allowlist( &self, subscription_id: i32, ) -> Result<TaskStateUpdate>
Get Pro subscription CIDR allowlist (Self-hosted AWS subscriptions only) Gets a Pro subscription’s CIDR allowlist.
GET /subscriptions/{subscriptionId}/cidr
Sourcepub async fn update_subscription_cidr_allowlist(
&self,
subscription_id: i32,
request: &CidrAllowlistUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update_subscription_cidr_allowlist( &self, subscription_id: i32, request: &CidrAllowlistUpdateRequest, ) -> Result<TaskStateUpdate>
Update Pro subscription CIDR allowlist (Self-hosted AWS subscriptions only) Updates a Pro subscription’s CIDR allowlist.
PUT /subscriptions/{subscriptionId}/cidr
Sourcepub async fn get_subscription_maintenance_windows(
&self,
subscription_id: i32,
) -> Result<SubscriptionMaintenanceWindows>
pub async fn get_subscription_maintenance_windows( &self, subscription_id: i32, ) -> Result<SubscriptionMaintenanceWindows>
Get Pro subscription maintenance windows Gets maintenance windows for the specified Pro subscription.
GET /subscriptions/{subscriptionId}/maintenance-windows
Sourcepub async fn update_subscription_maintenance_windows(
&self,
subscription_id: i32,
request: &SubscriptionMaintenanceWindowsSpec,
) -> Result<TaskStateUpdate>
pub async fn update_subscription_maintenance_windows( &self, subscription_id: i32, request: &SubscriptionMaintenanceWindowsSpec, ) -> Result<TaskStateUpdate>
Update Pro subscription maintenance windows Updates maintenance windows for the specified Pro subscription.
PUT /subscriptions/{subscriptionId}/maintenance-windows
Sourcepub async fn get_subscription_pricing(
&self,
subscription_id: i32,
) -> Result<SubscriptionPricings>
pub async fn get_subscription_pricing( &self, subscription_id: i32, ) -> Result<SubscriptionPricings>
Get Pro subscription pricing Gets pricing details for the specified Pro subscription.
GET /subscriptions/{subscriptionId}/pricing
Sourcepub async fn delete_regions_from_active_active_subscription(
&self,
subscription_id: i32,
request: &ActiveActiveRegionDeleteRequest,
) -> Result<TaskStateUpdate>
pub async fn delete_regions_from_active_active_subscription( &self, subscription_id: i32, request: &ActiveActiveRegionDeleteRequest, ) -> Result<TaskStateUpdate>
Delete regions from an Active-Active subscription (Active-Active subscriptions only) Deletes one or more regions from the specified Active-Active subscription.
DELETE /subscriptions/{subscriptionId}/regions
Sourcepub async fn get_regions_from_active_active_subscription(
&self,
subscription_id: i32,
) -> Result<ActiveActiveSubscriptionRegions>
pub async fn get_regions_from_active_active_subscription( &self, subscription_id: i32, ) -> Result<ActiveActiveSubscriptionRegions>
Get regions in an Active-Active subscription (Active-Active subscriptions only) Gets a list of regions in the specified Active-Active subscription.
GET /subscriptions/{subscriptionId}/regions
Sourcepub async fn add_new_region_to_active_active_subscription(
&self,
subscription_id: i32,
request: &ActiveActiveRegionCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn add_new_region_to_active_active_subscription( &self, subscription_id: i32, request: &ActiveActiveRegionCreateRequest, ) -> Result<TaskStateUpdate>
Add region to Active-Active subscription Adds a new region to an Active-Active subscription.
POST /subscriptions/{subscriptionId}/regions
Update Pro subscription resource tags Replaces all resource tags on the specified Pro subscription with the supplied set.
PUT /subscriptions/{subscriptionId}/resource-tags
Sourcepub async fn list(&self) -> Result<AccountSubscriptions>
pub async fn list(&self) -> Result<AccountSubscriptions>
List Pro subscriptions (simplified)
Alias for get_all_subscriptions.
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let subscriptions = client.subscriptions().list().await?;Sourcepub async fn create(
&self,
request: &SubscriptionCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn create( &self, request: &SubscriptionCreateRequest, ) -> Result<TaskStateUpdate>
Create a Pro subscription (simplified)
Alias for create_subscription.
§Arguments
request- The subscription creation request
Sourcepub async fn delete(&self, subscription_id: i32) -> Result<TaskStateUpdate>
pub async fn delete(&self, subscription_id: i32) -> Result<TaskStateUpdate>
Delete a Pro subscription (simplified)
Alias for delete_subscription_by_id.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let task = client.subscriptions().delete(123).await?;Sourcepub async fn get(&self, subscription_id: i32) -> Result<Subscription>
pub async fn get(&self, subscription_id: i32) -> Result<Subscription>
Get a Pro subscription by ID (simplified)
Alias for get_subscription_by_id.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let subscription = client.subscriptions().get(123).await?;Sourcepub async fn update(
&self,
subscription_id: i32,
request: &BaseSubscriptionUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update( &self, subscription_id: i32, request: &BaseSubscriptionUpdateRequest, ) -> Result<TaskStateUpdate>
Update a Pro subscription (simplified)
Alias for update_subscription.
§Arguments
subscription_id- The subscription IDrequest- The subscription update request
Sourcepub async fn cidr_allowlist(
&self,
subscription_id: i32,
) -> Result<TaskStateUpdate>
pub async fn cidr_allowlist( &self, subscription_id: i32, ) -> Result<TaskStateUpdate>
Get a Pro subscription’s CIDR allowlist (simplified)
Alias for get_cidr_allowlist.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let allowlist = client.subscriptions().cidr_allowlist(123).await?;Sourcepub async fn update_cidr_allowlist(
&self,
subscription_id: i32,
request: &CidrAllowlistUpdateRequest,
) -> Result<TaskStateUpdate>
pub async fn update_cidr_allowlist( &self, subscription_id: i32, request: &CidrAllowlistUpdateRequest, ) -> Result<TaskStateUpdate>
Update a Pro subscription’s CIDR allowlist (simplified)
Alias for
update_subscription_cidr_allowlist.
§Arguments
subscription_id- The subscription IDrequest- The CIDR allowlist update request
Sourcepub async fn maintenance_windows(
&self,
subscription_id: i32,
) -> Result<SubscriptionMaintenanceWindows>
pub async fn maintenance_windows( &self, subscription_id: i32, ) -> Result<SubscriptionMaintenanceWindows>
Get a Pro subscription’s maintenance windows (simplified)
Alias for
get_subscription_maintenance_windows.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let windows = client.subscriptions().maintenance_windows(123).await?;Sourcepub async fn update_maintenance_windows(
&self,
subscription_id: i32,
request: &SubscriptionMaintenanceWindowsSpec,
) -> Result<TaskStateUpdate>
pub async fn update_maintenance_windows( &self, subscription_id: i32, request: &SubscriptionMaintenanceWindowsSpec, ) -> Result<TaskStateUpdate>
Update a Pro subscription’s maintenance windows (simplified)
Alias for
update_subscription_maintenance_windows.
§Arguments
subscription_id- The subscription IDrequest- The maintenance windows specification
Sourcepub async fn pricing(
&self,
subscription_id: i32,
) -> Result<SubscriptionPricings>
pub async fn pricing( &self, subscription_id: i32, ) -> Result<SubscriptionPricings>
Get a Pro subscription’s pricing (simplified)
Alias for get_subscription_pricing.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let pricing = client.subscriptions().pricing(123).await?;Sourcepub async fn active_active_regions(
&self,
subscription_id: i32,
) -> Result<ActiveActiveSubscriptionRegions>
pub async fn active_active_regions( &self, subscription_id: i32, ) -> Result<ActiveActiveSubscriptionRegions>
Get the regions of an Active-Active subscription (simplified)
Alias for
get_regions_from_active_active_subscription.
§Arguments
subscription_id- The subscription ID
§Example
use redis_cloud::CloudClient;
let client = CloudClient::builder()
.api_key("your-api-key")
.api_secret("your-api-secret")
.build()?;
let regions = client.subscriptions().active_active_regions(123).await?;Sourcepub async fn add_active_active_region(
&self,
subscription_id: i32,
request: &ActiveActiveRegionCreateRequest,
) -> Result<TaskStateUpdate>
pub async fn add_active_active_region( &self, subscription_id: i32, request: &ActiveActiveRegionCreateRequest, ) -> Result<TaskStateUpdate>
Add a region to an Active-Active subscription (simplified)
Alias for
add_new_region_to_active_active_subscription.
§Arguments
subscription_id- The subscription IDrequest- The region creation request
Sourcepub async fn delete_active_active_regions(
&self,
subscription_id: i32,
request: &ActiveActiveRegionDeleteRequest,
) -> Result<TaskStateUpdate>
pub async fn delete_active_active_regions( &self, subscription_id: i32, request: &ActiveActiveRegionDeleteRequest, ) -> Result<TaskStateUpdate>
Delete regions from an Active-Active subscription (simplified)
Alias for
delete_regions_from_active_active_subscription.
§Arguments
subscription_id- The subscription IDrequest- The region deletion request
Update a Pro subscription’s resource tags (simplified)
Alias for update_resource_tags.
§Arguments
subscription_id- The subscription IDrequest- The resource tags update request