[][src]Struct dockerfile_parser::ImageRef

pub struct ImageRef {
    pub registry: Option<String>,
    pub image: String,
    pub tag: Option<String>,
    pub hash: Option<String>,
}

A parsed docker image reference

The Display impl may be used to convert a parsed image back to a plain string:

use dockerfile_parser::ImageRef;

let image = ImageRef::parse("alpine:3.11");
assert_eq!(image.registry, None);
assert_eq!(image.image, "alpine");
assert_eq!(image.tag, Some("3.11".to_string()));
assert_eq!(format!("{}", image), "alpine:3.11");

Fields

registry: Option<String>

an optional registry, generally Docker Hub if unset

image: String

an image string, possibly including a user or organization name

tag: Option<String>

An optional image tag (after the colon, e.g. :1.2.3), generally inferred to mean :latest if unset

hash: Option<String>

An optional embedded image hash, e.g. sha256:.... Conflicts with tag.

Implementations

impl ImageRef[src]

pub fn parse(s: &str) -> ImageRef[src]

Parses an ImageRef from a string.

This is not fallible, however malformed image strings may return unexpected results.

pub fn resolve_vars_with_context<'a>(
    &self,
    dockerfile: &'a Dockerfile
) -> Option<(ImageRef, HashSet<String>)>
[src]

Given a Dockerfile (and its global ARGs), perform any necessary variable substitution to resolve any variable references in this ImageRef and returns a list of variables included in the end result.

If this ImageRef contains any unknown variables or if any references are excessively recursive, returns None; otherwise, returns the fully-substituted string.

pub fn resolve_vars(&self, dockerfile: &Dockerfile) -> Option<ImageRef>[src]

Given a Dockerfile (and its global ARGs), perform any necessary variable substitution to resolve any variable references in this ImageRef.

If this ImageRef contains any unknown variables or if any references are excessively recursive, returns None; otherwise, returns the fully-substituted string.

Trait Implementations

impl Clone for ImageRef[src]

impl Debug for ImageRef[src]

impl Display for ImageRef[src]

impl Eq for ImageRef[src]

impl PartialEq<ImageRef> for ImageRef[src]

impl StructuralEq for ImageRef[src]

impl StructuralPartialEq for ImageRef[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.