apisix_admin_client/
lib.rsuse serde_json::Value;
mod models;
use crate::config::ApisixConfig;
pub mod client;
pub mod error;
pub mod config;
pub use models::*;
use crate::admin_route_requests::RouteRequest;
use crate::admin_route_responses::ApisixRoute;
use crate::admin_service_requests::ServiceRequest;
use crate::admin_service_responses::ApisixService;
pub mod client_admin_impl;
pub mod client_ctrl_impl;
type Result<T> = std::result::Result<T, crate::error::ApisixClientError>;
use crate::client_admin_impl::{api_admin_check_version, api_admin_get_services, api_admin_get_upstreams};
use crate::client_ctrl_impl::api_ctrl_schema;
use crate::common::{ListResponse, TypedItem};
use crate::consumer_group_requests::ConsumerGroupRequest;
use crate::consumer_group_responses::ApisixConsumerGroup;
use crate::consumer_requests::ConsumerRequest;
use crate::consumer_responses::ApisixConsumer;
use crate::models::admin_upstream_responses::ApisixUpstream;
use crate::models::ctrl_responses::CtrlHealthCheckResponse;
pub async fn get_config_from_env() -> ApisixConfig {
ApisixConfig::from_env()
}
pub async fn get_config_default() -> ApisixConfig {
ApisixConfig::default()
}
pub async fn admin_check(cfg: &ApisixConfig) -> Result<()> {
api_admin_check_version(cfg).await
}
pub async fn admin_get_upstreams(cfg: &ApisixConfig) -> Result<ListResponse<TypedItem<ApisixUpstream>>> {
api_admin_get_upstreams(cfg).await
}
pub async fn admin_get_upstream(cfg: &ApisixConfig, id: &str) -> Result<TypedItem<ApisixUpstream>> {
client_admin_impl::api_admin_get_upstream(cfg, id).await
}
pub async fn admin_create_upstream_with_id(cfg: &ApisixConfig, id: &str, req: &UpstreamRequest) -> Result<TypedItem<ApisixUpstream>> {
client_admin_impl::api_admin_create_upstream_with_id(cfg, id, req).await
}
pub async fn admin_delete_upstream(cfg: &ApisixConfig, id: &str) -> Result<()> {
client_admin_impl::api_admin_delete_upstream(cfg, id).await
}
pub async fn admin_get_services(cfg: &ApisixConfig) -> Result<ListResponse<TypedItem<ApisixService>>> {
api_admin_get_services(cfg).await
}
pub async fn admin_get_service(cfg: &ApisixConfig, id: &str) -> Result<TypedItem<ApisixService>> {
client_admin_impl::api_admin_get_service(cfg, id).await
}
pub async fn admin_create_service_with_id(cfg: &ApisixConfig, id: &str, req: &ServiceRequest) -> Result<TypedItem<ApisixService>> {
client_admin_impl::api_admin_create_service_with_id(cfg, id, req).await
}
pub async fn admin_delete_service(cfg: &ApisixConfig, id: &str) -> Result<()> {
client_admin_impl::api_admin_delete_service(cfg, id).await
}
pub async fn admin_get_routes(cfg: &ApisixConfig) -> Result<ListResponse<TypedItem<ApisixRoute>>>
{
client_admin_impl::api_admin_get_routes(cfg).await
}
pub async fn admin_get_route(cfg: &ApisixConfig, id: &str) -> Result<TypedItem<ApisixRoute>> {
client_admin_impl::api_admin_get_route(cfg, id).await
}
pub async fn admin_create_route_with_id(cfg: &ApisixConfig, id: &str, req: &RouteRequest) -> Result<TypedItem<ApisixRoute>> {
client_admin_impl::api_admin_create_route_with_id(cfg, id, req).await
}
pub async fn admin_delete_route(cfg: &ApisixConfig, id: &str) -> Result<()> {
client_admin_impl::api_admin_delete_route(cfg, id).await
}
pub async fn admin_get_consumer_groups(cfg: &ApisixConfig) -> Result<ListResponse<TypedItem<ApisixConsumerGroup>>> {
client_admin_impl::api_admin_get_consumer_groups(cfg).await
}
pub async fn admin_get_consumer_group(cfg: &ApisixConfig, id: &str) -> Result<TypedItem<ApisixConsumerGroup>> {
client_admin_impl::api_admin_get_consumer_group(cfg, id).await
}
pub async fn admin_create_consumer_group_with_id(cfg: &ApisixConfig, id: &str, req: &ConsumerGroupRequest) -> Result<TypedItem<ApisixConsumerGroup>> {
client_admin_impl::api_admin_create_consumer_group_with_id(cfg, id, req).await
}
pub async fn admin_delete_consumer_group(cfg: &ApisixConfig, id: &str) -> Result<()> {
client_admin_impl::api_admin_delete_consumer_group(cfg, id).await
}
pub async fn admin_get_consumers(cfg: &ApisixConfig) -> Result<ListResponse<TypedItem<ApisixConsumer>>> {
client_admin_impl::api_admin_get_consumers(cfg).await
}
pub async fn admin_get_consumer(cfg: &ApisixConfig, username: &str) -> Result<TypedItem<ApisixConsumer>> {
client_admin_impl::api_admin_get_consumer(cfg, username).await
}
pub async fn admin_create_consumer_with_name(cfg: &ApisixConfig, id: &str, req: &ConsumerRequest) -> Result<TypedItem<ApisixConsumer>> {
client_admin_impl::api_admin_create_consumer(cfg, id, req).await
}
pub async fn admin_delete_consumer(cfg: &ApisixConfig, username: &str) -> Result<()> {
client_admin_impl::api_admin_delete_consumer(cfg, username).await
}
pub async fn ctrl_schema(cfg: &ApisixConfig) -> Result<Value> {
api_ctrl_schema(cfg).await
}
pub async fn ctrl_health_check(cfg: &ApisixConfig) -> Result<CtrlHealthCheckResponse> {
client_ctrl_impl::api_ctrl_health_check(cfg).await
}
pub async fn ctrl_garbage_collect(cfg: &ApisixConfig) -> Result<()> {
client_ctrl_impl::api_ctrl_garbage_collect(cfg).await
}