diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-06-16 17:47:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-16 17:47:50 +0200 |
commit | ebc26b9d91a5c5727339d5aaed75aa5060baa951 (patch) | |
tree | ab752bdbc5c9e402eba173105cba1e913f9c226f | |
parent | 8c614740a8c017135a70a7f16a21054df1bbbb59 (diff) | |
parent | b90433f7dca3a8f0f2c4736d3c0a329b3d622907 (diff) |
Merge pull request #299 from matthiasbeyer/nicer-doc
Nicer doc
-rw-r--r-- | src/container.rs | 56 | ||||
-rw-r--r-- | src/exec.rs | 10 | ||||
-rw-r--r-- | src/image.rs | 24 |
3 files changed, 46 insertions, 44 deletions
diff --git a/src/container.rs b/src/container.rs index 24c41d6..83b5475 100644 --- a/src/container.rs +++ b/src/container.rs @@ -32,7 +32,7 @@ use chrono::{DateTime, Utc}; /// Interface for accessing and manipulating a docker container /// -/// Api Reference: <https://docs.docker.com/engine/api/v1.41/#tag/Container> +/// [Api Reference](https://docs.docker.com/engine/api/v1.41/#tag/Container) pub struct Container<'docker> { docker: &'docker Docker, id: String, @@ -60,7 +60,7 @@ impl<'docker> Container<'docker> { /// Inspects the current docker container instance's details /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerInspect> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerInspect) pub async fn inspect(&self) -> Result<ContainerDetails> { self.docker .get_json::<ContainerDetails>(&format!("/containers/{}/json", self.id)[..]) @@ -69,7 +69,7 @@ impl<'docker> Container<'docker> { /// Returns a `top` view of information about the container process /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerTop> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerTop) pub async fn top( &self, psargs: Option<&str>, @@ -86,7 +86,7 @@ impl<'docker> Container<'docker> { /// Returns a stream of logs emitted but the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerLogs> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerLogs) pub fn logs( &self, opts: &LogsOptions, @@ -114,13 +114,15 @@ impl<'docker> Container<'docker> { .await } - /// Attaches a `[TtyMultiplexer]` to the container. + /// Attaches a [Multiplexer](crate::tty::Multiplexer) to the container. /// - /// The `[TtyMultiplexer]` implements Stream for returning Stdout and Stderr chunks. It also implements `[AsyncWrite]` for writing to Stdin. + /// The [Multiplexer](crate::tty::Multiplexer) implements Stream for returning Stdout and + /// Stderr chunks. It also implements `[AsyncWrite]` for writing to Stdin. /// - /// The multiplexer can be split into its read and write halves with the `[split](TtyMultiplexer::split)` method + /// The multiplexer can be split into its read and write halves with the + /// [split](crate::tty::Multiplexer::split) method /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerAttach> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerAttach) pub async fn attach(&self) -> Result<TtyMultiPlexer<'docker>> { let tcp_stream = self.attach_raw().await?; @@ -129,7 +131,7 @@ impl<'docker> Container<'docker> { /// Returns a set of changes made to the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerChanges> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerChanges) pub async fn changes(&self) -> Result<Vec<Change>> { self.docker .get_json::<Vec<Change>>(&format!("/containers/{}/changes", self.id)[..]) @@ -138,7 +140,7 @@ impl<'docker> Container<'docker> { /// Exports the current docker container into a tarball /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerExport> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerExport) pub fn export(&self) -> impl Stream<Item = Result<Vec<u8>>> + 'docker { self.docker .stream_get(format!("/containers/{}/export", self.id)) @@ -147,7 +149,7 @@ impl<'docker> Container<'docker> { /// Returns a stream of stats specific to this container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerStats> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerStats) pub fn stats(&self) -> impl Stream<Item = Result<Stats>> + Unpin + 'docker { let codec = futures_codec::LinesCodec {}; @@ -169,7 +171,7 @@ impl<'docker> Container<'docker> { /// Start the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerStart> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerStart) pub async fn start(&self) -> Result<()> { self.docker .post(&format!("/containers/{}/start", self.id)[..], None) @@ -179,7 +181,7 @@ impl<'docker> Container<'docker> { /// Stop the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerStop> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerStop) pub async fn stop( &self, wait: Option<Duration>, @@ -198,7 +200,7 @@ impl<'docker> Container<'docker> { /// Restart the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerRestart> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerRestart) pub async fn restart( &self, wait: Option<Duration>, @@ -216,7 +218,7 @@ impl<'docker> Container<'docker> { /// Kill the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerKill> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerKill) pub async fn kill( &self, signal: Option<&str>, @@ -234,7 +236,7 @@ impl<'docker> Container<'docker> { /// Rename the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerRename> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerRename) pub async fn rename( &self, name: &str, @@ -253,7 +255,7 @@ impl<'docker> Container<'docker> { /// Pause the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerPause> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerPause) pub async fn pause(&self) -> Result<()> { self.docker .post(&format!("/containers/{}/pause", self.id)[..], None) @@ -263,7 +265,7 @@ impl<'docker> Container<'docker> { /// Unpause the container instance /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerUnpause> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerUnpause) pub async fn unpause(&self) -> Result<()> { self.docker .post(&format!("/containers/{}/unpause", self.id)[..], None) @@ -273,7 +275,7 @@ impl<'docker> Container<'docker> { /// Wait until the container stops /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerWait> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerWait) pub async fn wait(&self) -> Result<Exit> { self.docker .post_json(format!("/containers/{}/wait", self.id), Payload::None) @@ -284,7 +286,7 @@ impl<'docker> Container<'docker> { /// /// Use remove instead to use the force/v options. /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerDelete> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerDelete) pub async fn delete(&self) -> Result<()> { self.docker .delete(&format!("/containers/{}", self.id)[..]) @@ -294,7 +296,7 @@ impl<'docker> Container<'docker> { /// Delete the container instance (todo: force/v) /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerRemove> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerRemove) pub async fn remove( &self, opts: RmContainerOptions, @@ -309,7 +311,7 @@ impl<'docker> Container<'docker> { /// Execute a command in this container /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#tag/Exec> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#tag/Exec) pub fn exec( &self, opts: &ExecContainerOptions, @@ -326,7 +328,7 @@ impl<'docker> Container<'docker> { /// ends in `/.` then this indicates that only the contents of the path directory should be /// copied. A symlink is always resolved to its target. /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerArchive> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerArchive) pub fn copy_from( &self, path: &Path, @@ -344,7 +346,7 @@ impl<'docker> Container<'docker> { /// The file will be copied at the given location (see `path`) and will be owned by root /// with access mask 644. /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/PutContainerArchive> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/PutContainerArchive) pub async fn copy_file_into<P: AsRef<Path>>( &self, path: P, @@ -375,7 +377,7 @@ impl<'docker> Container<'docker> { /// /// The tarball will be copied to the container and extracted at the given location (see `path`). /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/PutContainerArchive> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/PutContainerArchive) pub async fn copy_to( &self, path: &Path, @@ -399,7 +401,7 @@ impl<'docker> Container<'docker> { /// Interface for docker containers /// -/// Api Reference: <https://docs.docker.com/engine/api/v1.41/#tag/Containers> +/// [Api Reference](https://docs.docker.com/engine/api/v1.41/#tag/Containers) pub struct Containers<'docker> { docker: &'docker Docker, } @@ -412,7 +414,7 @@ impl<'docker> Containers<'docker> { /// Lists the container instances on the docker host /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerList> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerList) pub async fn list( &self, opts: &ContainerListOptions, diff --git a/src/exec.rs b/src/exec.rs index 2f512a9..2eedb7b 100644 --- a/src/exec.rs +++ b/src/exec.rs @@ -20,7 +20,7 @@ use crate::{ /// Interface for docker exec instance /// -/// Api Reference: <https://docs.docker.com/engine/api/v1.41/#tag/Exec> +/// [Api Reference](https://docs.docker.com/engine/api/v1.41/#tag/Exec) pub struct Exec<'docker> { docker: &'docker Docker, id: String, @@ -42,7 +42,7 @@ impl<'docker> Exec<'docker> { /// Creates a new exec instance that will be executed in a container with id == container_id /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ContainerExec> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ContainerExec) pub async fn create( docker: &'docker Docker, container_id: &str, @@ -137,7 +137,7 @@ impl<'docker> Exec<'docker> { /// Starts this exec instance returning a multiplexed tty stream /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ExecStart> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ExecStart) pub fn start(&self) -> impl Stream<Item = Result<tty::TtyChunk>> + 'docker { // We must take ownership of the docker reference to not needlessly tie the stream to the // lifetime of `self`. @@ -161,7 +161,7 @@ impl<'docker> Exec<'docker> { /// Inspect this exec instance to aquire detailed information /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ExecInpsect> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ExecInpsect) pub async fn inspect(&self) -> Result<ExecDetails> { self.docker .get_json(&format!("/exec/{}/json", &self.id)[..]) @@ -171,7 +171,7 @@ impl<'docker> Exec<'docker> { /// Resize the TTY session used by an exec instance. This only works if the exec was created /// with `tty` enabled. /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ExecResize> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ExecResize) pub async fn resize( &self, opts: &ExecResizeOptions, diff --git a/src/image.rs b/src/image.rs index e69f85a..addf4ee 100644 --- a/src/image.rs +++ b/src/image.rs @@ -19,7 +19,7 @@ use chrono::{DateTime, Utc}; /// Interface for accessing and manipulating a named docker image /// -/// Api Reference: <https://docs.docker.com/engine/api/v1.41/#tag/Image> +/// [Api Reference](https://docs.docker.com/engine/api/v1.41/#tag/Image) pub struct Image<'docker> { docker: &'docker Docker, name: String, @@ -42,7 +42,7 @@ impl<'docker> Image<'docker> { /// Inspects a named image's details /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageInspect> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageInspect) pub async fn inspect(&self) -> Result<ImageDetails> { self.docker .get_json(&format!("/images/{}/json", self.name)[..]) @@ -51,7 +51,7 @@ impl<'docker> Image<'docker> { /// Lists the history of the images set of changes /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageHistory> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageHistory) pub async fn history(&self) -> Result<Vec<History>> { self.docker .get_json(&format!("/images/{}/history", self.name)[..]) @@ -60,7 +60,7 @@ impl<'docker> Image<'docker> { /// Deletes an image /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImagePrune> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImagePrune) pub async fn delete(&self) -> Result<Vec<Status>> { self.docker .delete_json::<Vec<Status>>(&format!("/images/{}", self.name)[..]) @@ -69,7 +69,7 @@ impl<'docker> Image<'docker> { /// Export this image to a tarball /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageGet> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageGet) pub fn export(&self) -> impl Stream<Item = Result<Vec<u8>>> + Unpin + 'docker { Box::pin( self.docker @@ -80,7 +80,7 @@ impl<'docker> Image<'docker> { /// Adds a tag to an image /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageTag> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageTag) pub async fn tag( &self, opts: &TagOptions, @@ -107,7 +107,7 @@ impl<'docker> Images<'docker> { /// Builds a new image build by reading a Dockerfile in a target directory /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageBuild> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageBuild) pub fn build( &self, opts: &BuildOptions, @@ -145,7 +145,7 @@ impl<'docker> Images<'docker> { /// Lists the docker images on the current docker host /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageList> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageList) pub async fn list( &self, opts: &ImageListOptions, @@ -172,7 +172,7 @@ impl<'docker> Images<'docker> { /// Search for docker images by term /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageSearch> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageSearch) pub async fn search( &self, term: &str, @@ -187,7 +187,7 @@ impl<'docker> Images<'docker> { /// Pull and create a new docker images from an existing image /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImagePull> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImagePull) pub fn pull( &self, opts: &PullOptions, @@ -209,7 +209,7 @@ impl<'docker> Images<'docker> { /// exports a collection of named images, /// either by name, name:tag, or image id, into a tarball /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageGetAll> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageGetAll) pub fn export( &self, names: Vec<&str>, @@ -226,7 +226,7 @@ impl<'docker> Images<'docker> { /// imports an image or set of images from a given tarball source /// source can be uncompressed on compressed via gzip, bzip2 or xz /// - /// Api Reference: <https://docs.docker.com/engine/api/v1.41/#operation/ImageLoad> + /// [Api Reference](https://docs.docker.com/engine/api/v1.41/#operation/ImageLoad) pub fn import<R>( self, mut tarball: R, |