use hyper::StatusCode;
use crate::DockerEngineClient;
use crate::errors::DecUseError;
use crate::requests::InspectNetworkArgs;
use crate::responses::InspectNetworkResponse;
pub struct DecNetwork<'a> {
pub(super) client: &'a DockerEngineClient,
pub(super) network_id: String
}
impl <'a> DecNetwork<'a> {
pub async fn inspect(&self) -> Result<InspectNetworkResponse, DecUseError> {
self.inspect_with(InspectNetworkArgs::default()).await
}
pub async fn inspect_with(&self, args: InspectNetworkArgs) -> Result<InspectNetworkResponse, DecUseError> {
let uri = self.client.url.networks().inspect(&self.network_id, args.scope, args.verbose);
let response = self.client.http.get(uri)?.execute().await?;
response
.assert_item_status(StatusCode::OK)?
.parse()
}
pub async fn remove(&self) -> Result<(), DecUseError> {
let uri = self.client.url.networks().remove(&self.network_id);
let response = self.client.http.delete(uri)?.execute().await?;
response
.assert_unit_status(StatusCode::NO_CONTENT)
}
}