[][src]Struct dockerfile_parser::Dockerfile

pub struct Dockerfile {
    pub content: String,
    pub global_args: Vec<ArgInstruction>,
    pub instructions: Vec<Instruction>,
}

A parsed Dockerfile.

An ordered list of all instructions is available via instructions, and individual stages in a multi-stage build may be iterated over using Dockerfile::iter_stages().

Example

use dockerfile_parser::Dockerfile;
use std::io::Read;

let s = r#"
  FROM alpine:3.11
  RUN echo "hello world"
"#;

assert_eq!(
  Dockerfile::parse(&s).unwrap(),
  s.parse::<Dockerfile>().unwrap()
);
assert_eq!(
  Dockerfile::parse(&s).unwrap(),
  Dockerfile::from_reader(s.as_bytes()).unwrap()
);

Fields

content: String

The raw content of the Dockerfile

global_args: Vec<ArgInstruction>

An ordered list of parsed ARG instructions preceding the first FROM

instructions: Vec<Instruction>

An ordered list of all parsed instructions, including global_args

Methods

impl Dockerfile[src]

pub fn parse(input: &str) -> Result<Dockerfile>[src]

Parses a Dockerfile from a string.

pub fn from_reader<R>(reader: R) -> Result<Dockerfile> where
    R: Read
[src]

Parses a Dockerfile from a reader.

pub fn iter_stages(&self) -> StageIterator[src]

Creates an iterator over stages within this Dockerfile.

pub fn splicer(&self) -> Splicer[src]

Creates a Splicer for this Dockerfile.

Note that the original input string is needed to actually perform any splicing.

Trait Implementations

impl Clone for Dockerfile[src]

impl Debug for Dockerfile[src]

impl FromStr for Dockerfile[src]

type Err = Error

The associated error which can be returned from parsing.

impl PartialEq<Dockerfile> for Dockerfile[src]

impl StructuralPartialEq for Dockerfile[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, 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.