Struct ocipkg::distribution::Client

source ·
pub struct Client { /* private fields */ }
Expand description

A client for /v2/<name>/ API endpoint

Implementations§

source§

impl Client

source

pub fn new(url: Url, name: Name) -> Result<Self>

source

pub fn from_image_name(image: &ImageName) -> Result<Self>

source

pub fn get_tags(&mut self) -> Result<Vec<String>>

Get tags of <name> repository.

GET /v2/<name>/tags/list

See corresponding OCI distribution spec document for detail.

source

pub fn get_manifest(&mut self, reference: &Reference) -> Result<ImageManifest>

Get manifest for given repository

GET /v2/<name>/manifests/<reference>

See corresponding OCI distribution spec document for detail.

source

pub fn push_manifest( &self, reference: &Reference, manifest: &ImageManifest ) -> Result<Url>

Push manifest to registry

PUT /v2/<name>/manifests/<reference>

Manifest must be pushed after blobs are updated.

See corresponding OCI distribution spec document for detail.

source

pub fn get_blob(&mut self, digest: &Digest) -> Result<Vec<u8>>

Get blob for given digest

GET /v2/<name>/blobs/<digest>

See corresponding OCI distribution spec document for detail.

source

pub fn push_blob(&mut self, blob: &[u8]) -> Result<(Digest, Url)>

Push blob to registry

POST /v2/<name>/blobs/uploads/

and following PUT to URL obtained by POST.

See corresponding OCI distribution spec document for detail.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.