api_v1_storage - OmniCloudOrg/OmniOrchestrator GitHub Wiki

storage (src/api/v1)

Path: src/api/v1/storage.rs

Table of Contents

Public Items

struct StorageClassQuery

Definition

pub struct StorageClassQuery {
    pub storage_type: Option<String>,
    pub volume_binding_mode: Option<String>,
    pub allow_volume_expansion: Option<bool>,
}

Documentation

Query parameters for storage class listing

struct StorageVolumeQuery

Definition

pub struct StorageVolumeQuery {
    pub app_id: Option<i64>,
    pub storage_class_id: Option<i64>,
    pub status: Option<String>,
    pub node_id: Option<i64>,
    pub persistence_level: Option<String>,
    pub write_concern: Option<String>,
    pub page: Option<i64>,
    pub per_page: Option<i64>,
}

Documentation

Query parameters for storage volume listing

async fn list_storage_classes

Definition

pub async fn list_storage_classes(
    pool: &State<sqlx::Pool<MySql>>,
    query: StorageClassQuery,
) -> Json<Value> {
    // ... function body
}

Documentation

List all storage classes with optional filtering

async fn get_storage_class

Definition

pub async fn get_storage_class(
    pool: &State<sqlx::Pool<MySql>>,
    id: i64,
) -> Result<Json<Value>, Status> {
    // ... function body
}

Documentation

Get a specific storage class by ID

async fn list_storage_volumes

Definition

pub async fn list_storage_volumes(
    pool: &State<sqlx::Pool<MySql>>,
    query: StorageVolumeQuery,
) -> Json<Value> {
    // ... function body
}

Documentation

List storage volumes with comprehensive filtering

async fn get_volumes_by_storage_class

Definition

pub async fn get_volumes_by_storage_class(
    pool: &State<sqlx::Pool<MySql>>,
    id: i64,
    page: Option<i64>,
    per_page: Option<i64>,
) -> Result<Json<Value>, Status> {
    // ... function body
}

Documentation

Get volumes by storage class

async fn list_qos_policies

Definition

pub async fn list_qos_policies(
    pool: &State<sqlx::Pool<MySql>>,
) -> Json<Value> {
    // ... function body
}

Documentation

Get QoS policies

async fn list_volumes_by_write_concern

Definition

pub async fn list_volumes_by_write_concern(
    pool: &State<sqlx::Pool<MySql>>,
    write_concern: String,
    page: Option<i64>,
    per_page: Option<i64>,
) -> Json<Value> {
    // ... function body
}

Documentation

List volumes by write concern level

async fn list_volumes_by_persistence_level

Definition

pub async fn list_volumes_by_persistence_level(
    pool: &State<sqlx::Pool<MySql>>,
    persistence_level: String,
    page: Option<i64>,
    per_page: Option<i64>,
) -> Json<Value> {
    // ... function body
}

Documentation

List volumes by persistence level

async fn get_volumes_for_region_route

Definition

pub async fn get_volumes_for_region_route(
    pool: &State<sqlx::Pool<MySql>>,
    region_id: i64,
    page: Option<i64>,
    per_page: Option<i64>,
) -> Result<Json<Value>, Status> {
    // ... function body
}

Documentation

Get storage volumes for a specific region, grouped by region, with pagination

async fn get_storage_volumes_for_provider

Definition

pub async fn get_storage_volumes_for_provider(
    pool: &State<sqlx::Pool<MySql>>,
    provider_id: i64,
    page: Option<i64>,
    per_page: Option<i64>,
) -> Result<Json<Value>, Status> {
    // ... function body
}

Documentation

Get storage volumes for a specific provider, with pagination

⚠️ **GitHub.com Fallback** ⚠️