Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrEncodingNotSupported = errors.New("encoding not supported") ErrDecodingNotSupported = errors.New("decoding not supported") ErrValidationNotSupported = errors.New("validation not supported") )
var AllOptions = []Option{ JSONOption, TextOption, TableOption, CycloneDxXMLOption, CycloneDxJSONOption, SPDXTagValueOption, SPDXJSONOption, }
Functions ¶
This section is empty.
Types ¶
type Decoder ¶
Decoder is a function that can convert an SBOM document of a specific format from a reader into Syft native objects.
type Encoder ¶
Encoder is a function that can transform Syft native objects into an SBOM document of a specific format written to the given writer.
type Format ¶
type Format struct { Option Option // contains filtered or unexported fields }
type Option ¶
type Option string
const ( UnknownFormatOption Option = "UnknownFormatOption" JSONOption Option = "json" TextOption Option = "text" TableOption Option = "table" CycloneDxXMLOption Option = "cyclonedx" CycloneDxJSONOption Option = "cyclonedx-json" SPDXTagValueOption Option = "spdx-tag-value" SPDXJSONOption Option = "spdx-json" )
func ParseOption ¶
type Validator ¶
Validator reads the SBOM from the given reader and assesses whether the document conforms to the specific SBOM format. The validator should positively confirm if the SBOM is not only the format but also has the minimal set of values that the format requires. For example, all syftjson formatted documents have a schema section which should have "anchore/syft" within the version --if this isn't found then the validator should raise an error. These active assertions protect against "simple" format decoding validations that may lead to false positives (e.g. I decoded json successfully therefore this must be the target format, however, all values are their default zero-value and really represent a different format that also uses json)